feat(trajectoire): intégration complète de la page Construire sa trajectoire

- Implémentation des composants React (8 trajectoires, Human Employment Model, méthodologie 6 étapes, Learning by Doing, exemples de projets, compétences)
- Rendu dynamique des cartes via .map()
- Configuration du routage SPA dans Symfony (route catch-all) et React Router (Header Link)
- Ajustements graphiques et CSS conformes au Figma (#F4F1EA, vert olive)
This commit is contained in:
MohamedLoum1001
2026-09-24 21:20:18 +02:00
parent d3b9318dee
commit cd6a66893a
31 changed files with 1582 additions and 146 deletions

View File

@ -0,0 +1,107 @@
/* ==========================================================================
SECTION EXEMPLES DE PROJETS (FIGMA)
========================================================================== */
.projets-section {
width: 100%;
background-color: #ffffff;
padding: 1rem 2rem 5rem 2rem;
box-sizing: border-box;
}
.projets-container {
max-width: 1140px;
margin: 0 auto;
}
/* Surtitre vert olive */
.projets-tag-top {
display: block;
font-size: 0.95rem;
font-weight: 600;
color: #7b8337;
margin-bottom: 2rem;
}
/* Grille 3 colonnes x 2 lignes */
.projets-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 1.5rem;
margin-bottom: 2.5rem;
}
/* Carte blanche avec bordure grise douce */
.projet-card {
background-color: #ffffff;
border: 1px solid #d1d5db;
border-radius: 14px;
padding: 1.75rem 1.5rem;
min-height: 125px;
display: flex;
flex-direction: column;
justify-content: flex-start;
box-sizing: border-box;
transition: transform 0.2s ease, border-color 0.2s ease;
}
.projet-card:hover {
transform: translateY(-2px);
border-color: #8c8f3e;
}
.projet-card-title {
font-size: 1rem;
font-weight: 700;
color: #0f172a;
margin: 0 0 0.75rem 0;
line-height: 1.3;
}
.projet-card-desc {
font-size: 0.82rem;
line-height: 1.5;
color: #4b5563;
margin: 0;
}
/* Alignement du bouton à gauche comme sur la maquette */
.projets-action {
display: flex;
justify-content: flex-start;
}
.btn-decouvrir-projets {
background-color: #7b8337;
color: #ffffff;
font-size: 0.85rem;
font-weight: 600;
padding: 0.55rem 1.6rem;
border-radius: 9999px;
text-decoration: none;
display: inline-block;
transition: background-color 0.2s ease, transform 0.15s ease;
}
.btn-decouvrir-projets:hover {
background-color: #6a712f;
transform: translateY(-1px);
}
/* Responsive */
@media (max-width: 900px) {
.projets-grid {
grid-template-columns: repeat(2, 1fr);
}
}
@media (max-width: 600px) {
.projets-grid {
grid-template-columns: 1fr;
gap: 1rem;
}
.projets-section {
padding: 1rem 1.25rem 3.5rem 1.25rem;
}
}