feat(trajectoire): intégration complète de la page et des sous-composants Figma

This commit is contained in:
MohamedLoum1001
2026-09-25 20:04:07 +02:00
parent cd6a66893a
commit f66e39ab09
20 changed files with 894 additions and 292 deletions

View File

@ -0,0 +1,83 @@
/* =========================================
SECTION : Communauté / Alumni (Fin de trajectoire)
========================================= */
.alumni-section {
width: 100%;
background-color: #f7f5f0;
padding: 2rem 2rem 5rem 2rem;
box-sizing: border-box;
}
.alumni-container {
max-width: 1080px;
margin: 0 auto;
}
/* Image principale */
.alumni-media {
width: 100%;
margin-bottom: 2.5rem;
}
.alumni-image {
width: 100%;
height: 420px;
object-fit: cover;
border-radius: 20px;
box-shadow: 0 6px 24px rgba(0, 0, 0, 0.07);
display: block;
}
/* Contenu texte et listes */
.alumni-content {
max-width: 900px;
}
.alumni-intro-title {
font-size: 0.95rem;
font-weight: 700;
color: #111827;
margin: 0 0 1.5rem 0;
}
.alumni-columns-grid {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 3rem;
}
.alumni-list {
list-style: none;
padding: 0;
margin: 0;
}
.alumni-list li {
font-size: 0.85rem;
color: #4b5563;
line-height: 1.5;
margin-bottom: 0.75rem;
position: relative;
padding-left: 1.25rem;
}
.alumni-list li::before {
content: '•';
position: absolute;
left: 0;
color: #111827;
font-size: 1rem;
line-height: 1;
}
/* Responsive */
@media (max-width: 768px) {
.alumni-image {
height: 260px;
}
.alumni-columns-grid {
grid-template-columns: 1fr;
gap: 0.5rem;
}
}

View File

@ -1,107 +1,161 @@
/* ==========================================================================
SECTION EXEMPLES DE PROJETS (FIGMA)
========================================================================== */
/* =========================================
SECTION : Quelques exemples de projets
========================================= */
.projets-section {
width: 100%;
background-color: #ffffff;
padding: 1rem 2rem 5rem 2rem;
background-color: #f7f5f0;
padding: 4.5rem 2rem 3.5rem 2rem;
box-sizing: border-box;
}
.projets-container {
max-width: 1140px;
max-width: 1180px;
margin: 0 auto;
}
/* Surtitre vert olive */
.projets-tag-top {
.projets-uptitle {
display: block;
font-size: 0.95rem;
font-size: 0.85rem;
font-weight: 600;
color: #7b8337;
margin-bottom: 2rem;
}
/* Grille 3 colonnes x 2 lignes */
.projets-grid {
.projets-cards-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 1.5rem;
margin-bottom: 2.5rem;
margin-bottom: 2rem;
}
/* Carte blanche avec bordure grise douce */
.projet-card {
background-color: #ffffff;
border: 1px solid #d1d5db;
border-radius: 14px;
border: 1px solid #e5e2da;
border-radius: 10px;
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;
min-height: 140px;
}
.projet-card-title {
font-size: 1rem;
font-weight: 700;
color: #0f172a;
color: #111827;
margin: 0 0 0.75rem 0;
line-height: 1.3;
}
.projet-card-desc {
font-size: 0.82rem;
line-height: 1.5;
color: #4b5563;
line-height: 1.5;
margin: 0;
}
/* Alignement du bouton à gauche comme sur la maquette */
.projets-action {
display: flex;
justify-content: flex-start;
.projets-action-wrap {
margin-top: 1rem;
}
.btn-decouvrir-projets {
.btn-projets-decouvrir {
display: inline-block;
background-color: #7b8337;
color: #ffffff;
font-size: 0.85rem;
font-size: 0.8rem;
font-weight: 600;
padding: 0.55rem 1.6rem;
padding: 0.55rem 1.4rem;
border-radius: 9999px;
text-decoration: none;
display: inline-block;
transition: background-color 0.2s ease, transform 0.15s ease;
transition: background-color 0.2s ease;
}
.btn-decouvrir-projets:hover {
background-color: #6a712f;
transform: translateY(-1px);
.btn-projets-decouvrir:hover {
background-color: #636b2b;
}
/* =========================================
SECTION : Des compétences pour évoluer
========================================= */
.competences-section {
width: 100%;
background-color: #ede9e1;
padding: 5rem 2rem;
box-sizing: border-box;
}
.competences-container {
max-width: 1180px;
margin: 0 auto;
}
.competences-header {
margin-bottom: 2.5rem;
}
.competences-line {
display: block;
width: 44px;
height: 4px;
background-color: #436034;
margin-bottom: 1.25rem;
}
.competences-uptitle {
display: block;
font-size: 0.85rem;
font-weight: 600;
color: #6b7280;
margin-bottom: 0.4rem;
}
.competences-main-title {
font-size: 2rem;
font-weight: 700;
color: #111827;
margin: 0;
}
.competences-cards-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 1.5rem;
}
.competence-card {
background-color: #ffffff;
border-radius: 12px;
padding: 2rem 1.75rem;
min-height: 220px;
display: flex;
flex-direction: column;
}
.competence-card-title {
font-size: 1.05rem;
font-weight: 700;
color: #111827;
margin: 0 0 1rem 0;
}
.competence-card-desc {
font-size: 0.82rem;
color: #4b5563;
line-height: 1.55;
margin: 0;
}
/* Responsive */
@media (max-width: 900px) {
.projets-grid {
@media (max-width: 992px) {
.projets-cards-grid,
.competences-cards-grid {
grid-template-columns: repeat(2, 1fr);
}
}
@media (max-width: 600px) {
.projets-grid {
grid-template-columns: 1fr;
gap: 1rem;
}
@media (max-width: 640px) {
.projets-section {
padding: 1rem 1.25rem 3.5rem 1.25rem;
.projets-cards-grid,
.competences-cards-grid {
grid-template-columns: 1fr;
}
}

View File

@ -159,7 +159,7 @@
========================================================================== */
.footer-newsletter-fullwidth {
width: 100%;
background-color: #D8DCAB;
background-color: #e0dfb6;
/* Teinte officielle verte amande/kaki clair du Figma */
padding: 28px 0;
box-sizing: border-box;
@ -253,10 +253,10 @@
}
/* Bouton vert olive (#A4AC56 / #98984B) */
.newsletter-btn {
#newsletter-btn {
height: 44px;
padding: 0 28px;
background-color: #A4AC56;
background-color: #b9b664;
color: #ffffff;
font-size: 13px;
font-weight: 600;

View File

@ -0,0 +1,148 @@
/* --- Section 8 Trajectoires --- */
.trajectoires-section {
width: 100%;
background-color: white;
padding: 5rem 2rem;
box-sizing: border-box;
}
.trajectoires-wrapper {
max-width: 1180px;
margin: 0 auto;
}
.trajectoires-header {
margin-bottom: 3rem;
}
.trajectoires-line {
display: block;
width: 48px;
height: 4px;
background-color: #111827;
border-radius: 2px;
margin-bottom: 0.75rem;
/* margin-bottom: 1.25rem; */
}
.trajectoires-uptitle {
display: block;
font-size: 0.9rem;
font-weight: 600;
color: #1f2937;
margin-bottom: 0.5rem;
}
.trajectoires-main-title {
font-size: 2rem;
font-weight: 700;
color: #111827;
margin: 0;
}
/* Grille 3 colonnes Figma */
.trajectoires-cards-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 1.5rem;
}
/* Carte individuelle */
.trajectoire-block-card {
background-color: #ede9e1;
border-radius: 12px;
padding: 2rem 1.75rem;
display: flex;
flex-direction: column;
justify-content: space-between;
min-height: 380px;
}
.trajectoire-card-top {
display: flex;
align-items: center;
gap: 0.75rem;
margin-bottom: 1rem;
}
.trajectoire-indicator-badge {
width: 16px;
height: 16px;
border-radius: 3px;
flex-shrink: 0;
}
.trajectoire-tagline {
font-size: 0.75rem;
color: #6b7280;
margin: 0;
line-height: 1.3;
}
.trajectoire-item-title {
font-size: 1.05rem;
font-weight: 700;
color: #111827;
margin: 0 0 1.25rem 0;
min-height: 2.6rem;
line-height: 1.35;
}
/* Liste des points */
.trajectoire-points-list {
list-style: none;
padding: 0;
margin: 0 0 2rem 0;
flex-grow: 1;
}
.trajectoire-points-list li {
font-size: 0.8rem;
color: #4b5563;
line-height: 1.45;
margin-bottom: 0.75rem;
position: relative;
padding-left: 1rem;
}
.trajectoire-points-list li::before {
content: '•';
position: absolute;
left: 0;
color: #4b5563;
}
/* Bouton Découvrir */
.trajectoire-card-footer {
margin-top: auto;
}
.btn-trajectoire-decouvrir {
display: inline-block;
background-color: #7b8337;
color: #ffffff;
font-size: 0.8rem;
font-weight: 600;
padding: 0.45rem 1.25rem;
border-radius: 9999px;
text-decoration: none;
transition: background-color 0.2s ease;
}
.btn-trajectoire-decouvrir:hover {
background-color: #636b2b;
}
/* Responsive */
@media (max-width: 1024px) {
.trajectoires-cards-grid {
grid-template-columns: repeat(2, 1fr);
}
}
@media (max-width: 640px) {
.trajectoires-cards-grid {
grid-template-columns: 1fr;
}
}

View File

@ -1,113 +1,130 @@
/* ==========================================================================
SECTION HUMAN EMPLOYMENT MODEL (FIGMA)
========================================================================== */
.hem-wrapper {
/* --- Human Employment Model --- */
.hem-section {
width: 100%;
background-color: #ffffff;
padding: 1rem 2rem 5rem 2rem;
background-color: white;
padding: 5rem 2rem;
box-sizing: border-box;
}
.hem-inner {
max-width: 1240px;
.hem-container {
max-width: 1180px;
margin: 0 auto;
}
.hem-header {
margin-bottom: 2.5rem;
}
.hem-line {
display: block;
width: 48px;
height: 4px;
background-color: #436034;
margin-bottom: 1.5rem;
}
.hem-uptitle {
display: block;
font-size: 0.95rem;
font-weight: 600;
color: #111827;
margin-bottom: 0.5rem;
}
.hem-banner-wrapper {
width: 100%;
margin-top: 3.5rem;
display: flex;
flex-direction: column;
justify-content: center;
}
/* Texte d'intro gris */
.hem-description {
.hem-banner-image {
width: 100%;
max-width: 1080px;
height: 380px;
object-fit: cover;
border-radius: 20px;
box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
display: block;
}
@media (max-width: 768px) {
.hem-banner-image {
height: 220px;
border-radius: 12px;
}
}
.hem-main-title {
font-size: 2rem;
font-weight: 700;
color: #111827;
margin: 0 0 1rem 0;
}
.hem-intro-text {
font-size: 0.85rem;
line-height: 1.55;
color: #6b7280;
max-width: 780px;
margin: 0 0 2.5rem 0;
line-height: 1.6;
color: #4b5563;
margin: 0;
max-width: 800px;
}
/* Grille 4 colonnes alignées */
/* Grille 4 colonnes */
.hem-cards-grid {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 1.5rem;
width: 100%;
margin-bottom: 3.5rem;
box-sizing: border-box;
margin-bottom: 3rem;
}
/* Chaque carte beige */
.hem-card {
background-color: #F4F1EA;
background-color: #ede9e1;
border-radius: 12px;
padding: 1.75rem 1.4rem;
box-sizing: border-box;
min-height: 160px;
padding: 2rem 1.5rem;
min-height: 220px;
display: flex;
flex-direction: column;
}
.hem-card-title {
font-size: 0.95rem;
font-weight: 700;
color: #4B6A4A;
margin: 0 0 1rem 0;
font-size: 1.05rem;
font-weight: 600;
color: #436034;
margin: 0 0 1.25rem 0;
}
.hem-card-list {
list-style: none;
padding: 0;
margin: 0;
display: flex;
flex-direction: column;
gap: 0.35rem;
.hem-card-content p {
font-size: 0.85rem;
line-height: 1.5;
color: #6b7280;
margin: 0 0 0.35rem 0;
}
.hem-card-list li {
font-size: 0.8rem;
color: #9A9595;
line-height: 1.45;
}
/* Phrase centrale */
.hem-phrase {
/* Phrase finale */
.hem-footer {
text-align: center;
font-size: 0.95rem;
}
.hem-footer-text {
font-size: 1rem;
color: #111827;
margin: 0 0 2rem 0;
margin: 0;
}
.hem-phrase strong {
font-weight: 700;
.hem-footer-text strong {
color: #436034;
font-weight: 600;
}
/* Image arrondie */
.hem-banner-container {
width: 100%;
max-width: 1000px;
margin: 0 auto;
border-radius: 20px;
overflow: hidden;
box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
}
.hem-banner-img {
width: 100%;
height: 480px;
object-fit: cover;
display: block;
}
/* Responsive : passage en 2 colonnes uniquement sur smartphone / écran très étroit */
@media (max-width: 720px) {
/* Responsive */
@media (max-width: 992px) {
.hem-cards-grid {
grid-template-columns: repeat(2, 1fr);
gap: 1rem;
}
.hem-banner-img {
height: 280px;
}
}
@media (max-width: 480px) {
@media (max-width: 600px) {
.hem-cards-grid {
grid-template-columns: 1fr;
}

View File

@ -0,0 +1,110 @@
/* =========================================
SECTION : Une trajectoire n'est jamais figée
========================================= */
.trajectoire-figee-section {
width: 100%;
background-color: white;
padding: 5rem 2rem;
box-sizing: border-box;
}
.trajectoire-figee-container {
max-width: 1180px;
margin: 0 auto;
display: flex;
align-items: center;
justify-content: space-between;
gap: 4rem;
}
/* Colonne Gauche : Textes */
.trajectoire-figee-content {
flex: 1;
max-width: 600px;
}
.trajectoire-figee-header {
margin-bottom: 2rem;
}
.trajectoire-figee-line {
display: block;
width: 44px;
height: 4px;
background-color: #436034;
margin-bottom: 1.25rem;
}
.trajectoire-figee-uptitle {
display: block;
font-size: 0.85rem;
font-weight: 600;
color: #7b8337;
margin-bottom: 0.4rem;
}
.trajectoire-figee-title {
font-size: 2rem;
font-weight: 700;
color: #111827;
margin: 0;
line-height: 1.25;
}
/* Liste des transitions */
.trajectoire-figee-list {
margin-bottom: 2rem;
}
.trajectoire-figee-step {
font-size: 0.85rem;
color: #374151;
margin: 0 0 0.6rem 0;
line-height: 1.5;
}
/* Bloc conclusion */
.trajectoire-figee-conclusion p {
font-size: 0.85rem;
color: #6b7280;
line-height: 1.6;
margin: 0;
}
/* Colonne Droite : Image */
.trajectoire-figee-media {
flex: 1;
display: flex;
justify-content: flex-end;
}
.trajectoire-figee-image {
width: 100%;
max-width: 500px;
height: 340px;
object-fit: cover;
border-radius: 16px;
box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
}
/* Responsive */
@media (max-width: 960px) {
.trajectoire-figee-container {
flex-direction: column;
gap: 2.5rem;
}
.trajectoire-figee-content {
max-width: 100%;
}
.trajectoire-figee-media {
justify-content: center;
width: 100%;
}
.trajectoire-figee-image {
max-width: 100%;
height: auto;
}
}