diff --git a/src/Controller/PagesController.php b/src/Controller/PagesController.php
index c052c77..e7f2e4b 100644
--- a/src/Controller/PagesController.php
+++ b/src/Controller/PagesController.php
@@ -19,6 +19,7 @@ class PagesController extends AbstractController
public function index(): Response
{
return $this->render('pages.twig',[
+ 'cosplayers' => []
]);
}
diff --git a/src/EventSubscriber/SitemapSubscriber.php b/src/EventSubscriber/SitemapSubscriber.php
index f92efd9..2467892 100644
--- a/src/EventSubscriber/SitemapSubscriber.php
+++ b/src/EventSubscriber/SitemapSubscriber.php
@@ -172,7 +172,7 @@ class SitemapSubscriber
$decoratedUrlMembers->addImage(new GoogleImage($this->cacheManager->resolve('assets/images/logo.jpg','webp')));
$decoratedUrlMembers = new GoogleMultilangUrlDecorator($decoratedUrlMembers);
foreach ($langs as $lang) {
- $decoratedUrlMembers->addLink($urlGenerator->generate('app_ruless',['lang'=>$lang], UrlGeneratorInterface::ABSOLUTE_URL), $lang);
+ $decoratedUrlMembers->addLink($urlGenerator->generate('app_rules',['lang'=>$lang], UrlGeneratorInterface::ABSOLUTE_URL), $lang);
}
$urlContainer->addUrl($decoratedUrlMembers, 'default');
$cites =[
diff --git a/templates/about.twig b/templates/about.twig
index f1cec2d..ca24fd7 100644
--- a/templates/about.twig
+++ b/templates/about.twig
@@ -3,8 +3,7 @@
{% block title %}{{'about_title'|trans}}{% endblock %}
{% block meta_description %}{{'about_description'|trans}}{% endblock %}
-{% block canonical_url %}
-{% endblock %}
+{% block canonical_url %}{% endblock %}
{% block breadcrumb_schema %}
+ {# Les schémas d'images restent identiques pour le SEO #}
-
{% endblock %}
{% block body %}
+
+
+ {# --- HEADER HERO --- #}
+
+
+
+ {{'about_title'|trans}}
+ {{ 'brand_name'|trans }}
+
+
+
+ {# Filigrane de fond #}
+
+ PASSION
+
+
+
+ {# --- SECTION PASSION --- #}
+
+
+
+ #01
+ {{'about_section_passion_title'|trans}}
+
+
+
+ {{ 'about_passion_p1'|trans({
+ '%association%': '' ~ 'about_passion_association_details'|trans ~ '',
+ '%mission%': '' ~ 'about_passion_mission_details'|trans ~ ''
+ })|raw }}
+
+
+
+ {{ 'about_passion_p2'|trans({
+ '%fait_main%': '' ~ 'about_passion_costume_handmade'|trans ~ '',
+ '%egalite%': '' ~ 'about_passion_equality'|trans ~ ''
+ })|raw }}
+
+
+
+
+
+
+ {# --- LES FONDATEURS (CHARACTER SELECT STYLE) --- #}
+
+
+
+ {{'about_founders_title'|trans}}
+
+
+
+ {# Desktop View #}
+
+ {# Shoko #}
+
+
 | imagine_filter('webp') }})
+
+
+
+
FOUNDER_01
+
ShokoCosplay
+
{{'about_founder_shoko_role_short'|trans}}
+
+
+
+
+ {# Marta #}
+
+
 | imagine_filter('webp') }})
+
+
+
+
FOUNDER_02
+
Marta Gator
+
{{'about_founder_marta_role_short'|trans}}
+
+
+
+
+
+ {# Mobile View Cards #}
+
+ {% for founder in [
+ {name: 'ShokoCosplay', role: 'about_founder_shoko_role', img: 'shoko.jpg', color: 'indigo-600'},
+ {name: 'Marta Gator', role: 'about_founder_marta_role', img: 'marta.jpg', color: 'yellow-500'}
+ ] %}
+
+
+
 | imagine_filter('webp') }})
+
+
+
{{ founder.name }}
+
{{ founder.role|trans }}
+
+
+
+ {% endfor %}
+
+
+
+ {# --- OBJECTIFS (NEUBRUTALIST GRID) --- #}
+
+
+ {{'about_goals_title'|trans}}
+
+
+ {% set goals = [
+ {'icon': '🎨', 'title': 'about_goal1_title', 'text': 'about_goal1_text', 'color': 'bg-indigo-600'},
+ {'icon': '🤝', 'title': 'about_goal2_title', 'text': 'about_goal2_text', 'color': 'bg-yellow-500'},
+ {'icon': '🎭', 'title': 'about_goal3_title', 'text': 'about_goal3_text', 'color': 'bg-indigo-600'},
+ {'icon': '❤️🔥', 'title': 'about_goal4_title', 'text': 'about_goal4_text', 'color': 'bg-red-600'}
+ ] %}
+ {% for goal in goals %}
+
+
+ {{ goal.icon }}
+
+
{{ goal.title|trans }}
+
+ {% if loop.last %}
+ {{ 'about_goal4_text'|trans({
+ '%ouverte%': '' ~ 'about_goal4_open_details'|trans ~ '',
+ '%friendly%': '' ~ 'about_goal4_friendly_details'|trans ~ ''
+ })|raw }}
+ {% else %}
+ {{ goal.text|trans }}
+ {% endif %}
+
+
+ {% endfor %}
+
+
+
+ {# --- TIMELINE (STREET / BRUTALIST STYLE) --- #}
+
+
+
+ {{'timeline_title'|trans}}
+
+
+
+ {# Ligne centrale Esport #}
+
+
+
+ {% set events = [
+ {'date': 'event_creation_date', 'title': 'event_creation_text_title', 'text': 'event_creation_text', 'pos': 'left'},
+ {'date': 'event_partnership_date', 'title': 'event_partnership_text_title', 'text': 'event_partnership_text', 'pos': 'right'},
+ {'date': 'event_first_show_date', 'title': 'event_first_show_title', 'text': 'event_first_show_text', 'pos': 'left'},
+ {'date': 'event_miss_tergnier_date', 'title': 'event_miss_tergnier_title', 'text': 'event_miss_tergnier_text', 'pos': 'right'},
+ {'date': 'event_website_launch_date', 'title': 'event_website_launch_title', 'text': 'event_website_launch_text', 'pos': 'left'}
+ ] %}
+
+ {% for event in events %}
+
+
+
+ {{ event.date|trans }}
+
+
+
{{ event.title|trans }}
+
{{ event.text|trans }}
+
+
+
+
+
+ {% endfor %}
+
+
+
+ {# Texture technique de fond #}
+
+
+
+ {# --- ACTIVITÉS (RANKING STYLE) --- #}
+
+
+ {{'about_activities_title'|trans}}
+
+
+
+ {% for activity in [
+ {'icon': '🏆', 'title': 'about_activity1_title', 'text': 'about_activity1_text', 'tags': ['%concours%', '%ouverts%', '%craftsmanship%', '%acting%']},
+ {'icon': '🛠️', 'title': 'about_activity2_title', 'text': 'about_activity2_text', 'tags': ['%ateliers%']},
+ {'icon': '🩹', 'title': 'about_activity3_title', 'text': 'about_activity3_text', 'tags': ['%coshopital%', '%reparation%']}
+ ] %}
+
+
{{ activity.icon }}
+
+
{{ activity.title|trans }}
+
+ {% set text = activity.text|trans %}
+ {% for tag in activity.tags %}
+ {% set tag_val = tag|replace({'%': ''}) ~ '_detail' %}
+ {% set text = text|replace({ (tag): '' ~ (tag|replace({'%': ''})|trans) ~ '' }) %}
+ {% endfor %}
+ {{ text|raw }}
+
+
+
+ {% endfor %}
+
+
+
+ {# --- FINAL CALL TO ACTION --- #}
+
+
+
+
-
-
-
-
-
- {{'about_section_passion_title'|trans}}
-
- {{ 'about_passion_p1'|trans({
- '%association%': '' ~ 'about_passion_association_details'|trans ~ '',
- '%mission%': '' ~ 'about_passion_mission_details'|trans ~ ''
- })|raw }}
-
- {{ 'about_passion_p2'|trans({
- '%fait_main%': '' ~ 'about_passion_costume_handmade'|trans ~ '',
- '%egalite%': '' ~ 'about_passion_equality'|trans ~ ''
- })|raw }}
-
-
-
-
- {{'about_founders_title'|trans}}
-
-
-
-
-
-
-
-
Marta Gator
-
{{'about_founder_marta_role_short'|trans}}
-
{{'about_email_label'|trans}}: marta_gator@e-cosplay.fr
-
-
-
-
-
-
- {{'about_goals_title'|trans}}
-
-
-
- {# --- NEW TIMELINE SECTION --- #}
-
- {{'timeline_title'|trans}}
-
-
-
- {# Event 1: Creation #}
-
-
- {{'event_creation_date'|trans}}
-
-
-
-
{{'event_creation_text_title'|trans}}
-
- {{'event_creation_text'|trans}}
-
-
-
-
- {# Event 2: Partnership #}
-
-
-
{{'event_partnership_text_title'|trans}}
-
- {{'event_partnership_text'|trans}}
-
-
-
-
- {{'event_partnership_date'|trans}}
-
-
-
- {# Event 3: First Event #}
-
-
- {{'event_first_show_date'|trans}}
-
-
-
-
{{'event_first_show_title'|trans}}
-
- {{'event_first_show_text'|trans}}
-
-
-
-
- {# Event 4: Miss Tergnier 2025 #}
-
-
-
{{'event_miss_tergnier_title'|trans}}
-
- {{'event_miss_tergnier_text'|trans}}
-
-
-
-
- {{'event_miss_tergnier_date'|trans}}
-
-
-
- {# Event 5: Website Launch #}
-
-
- {{'event_website_launch_date'|trans}}
-
-
-
-
{{'event_website_launch_title'|trans}}
-
- {{'event_website_launch_text'|trans}}
-
-
-
-
-
-
- {# --- END NEW TIMELINE SECTION --- #}
-
-
- {{'about_activities_title'|trans}}
-
-
-
-
🏆
-
-
{{'about_activity1_title'|trans}}
-
- {{ 'about_activity1_text'|trans({
- '%concours%': '' ~ 'about_activity1_comp_detail'|trans ~ '',
- '%ouverts%': '' ~ 'about_activity1_open_detail'|trans ~ '',
- '%craftsmanship%': '' ~ 'about_activity1_craft_detail'|trans ~ '',
- '%acting%': '' ~ 'about_activity1_acting_detail'|trans ~ ''
- })|raw }}
-
-
-
-
-
-
🛠️
-
-
{{'about_activity2_title'|trans}}
-
- {{ 'about_activity2_text'|trans({
- '%ateliers%': '' ~ 'about_activity2_workshop_detail'|trans ~ ''
- })|raw }}
-
-
-
-
-
-
🩹
-
-
{{'about_activity3_title'|trans}}
-
- {{ 'about_activity3_text'|trans({
- '%coshopital%': '' ~ 'about_activity3_coshospital_detail'|trans ~ '',
- '%reparation%': '' ~ 'about_activity3_repair_detail'|trans ~ ''
- })|raw }}
-
-
-
-
-
-
-
-
- {{'about_call_to_action_text'|trans}}
-
-
- {{'about_call_to_action_button'|trans}}
-
-
-
{% endblock %}
diff --git a/templates/base.twig b/templates/base.twig
index a3fecae..21a936b 100644
--- a/templates/base.twig
+++ b/templates/base.twig
@@ -4,144 +4,60 @@
- {# --- LOGIQUE DE NOËL (15 Déc au 05 Jan) --- #}
+ {# --- LOGIQUE DE NOËL (Adaptée au style Brutaliste) --- #}
{% set current_date = "now"|date("m-d") %}
{% set is_christmas = (current_date >= "12-15" or current_date <= "01-05") %}
E-Cosplay | {% block title %}Accueil{% endblock %}
- {# OPEN GRAPH / TWITTER CARD / SEO META #}
+ {# SEO & Open Graph (Conservés) #}
-
+
-
-
-
-
-
-
-
-
-
-
- {% if no_index is defined %}
-
- {% endif %}
- {# FAVICONS & Manifest #}
+ {# FAVICONS #}
-
-
-
-
+
-
-
{% block canonical_url %}{% endblock %}
- {# STYLES SPÉCIFIQUES NOËL #}
- {% if is_christmas %}
-
- {% endif %}
+ {# CONFIGURATION DES COULEURS NEUBRUTALISTES #}
+
+
+ {# SCHÉMAS JSON-LD (Conservés) #}
{% block breadcrumb_schema %}{% endblock %}
- {% block stylesheets %}{% endblock %}
-
+
{{ vite_asset('app.js', []) }}
- {% if app.environment == "prod" %}
-
-
-
- {% endif %}
-
+
+
{% set menu_links = [
{ 'name': 'Accueil'|trans, 'route': 'app_home' },
@@ -156,104 +72,83 @@
{ 'name': 'Contact'|trans, 'route': 'app_contact' }
] %}
-