- découpage du css par composant (navbar, hero, footer, global) - ajustement pixel-perfect du footer (newsletter full-bleed, alignements, typographies) - documentation et commentaires détaillés du code react et css
300 lines
16 KiB
JavaScript
300 lines
16 KiB
JavaScript
import React from 'react';
|
||
import carreerBg from '../img/carreer.png';
|
||
|
||
export default function CareersSection() {
|
||
const parcours = [
|
||
{
|
||
label: 'Insertion professionnelle',
|
||
icon: (
|
||
<svg className="w-4 h-4 text-[#88ACE3]" fill="currentColor" viewBox="0 0 24 24">
|
||
<path d="M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z" />
|
||
</svg>
|
||
),
|
||
},
|
||
{
|
||
label: 'Développement de compétences',
|
||
icon: (
|
||
<svg className="w-4 h-4 text-[#88ACE3]" fill="currentColor" viewBox="0 0 24 24">
|
||
<path d="M4 6H2v14c0 1.1.9 2 2 2h14v-2H4V6zm16-4H8c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm0 14H8V4h12v12z" />
|
||
</svg>
|
||
),
|
||
},
|
||
{
|
||
label: 'Leadership & coordination',
|
||
icon: (
|
||
<svg className="w-4 h-4 text-[#88ACE3]" fill="currentColor" viewBox="0 0 24 24">
|
||
<path d="M16 11c1.66 0 2.99-1.34 2.99-3S17.66 5 16 5c-1.66 0-3 1.34-3 3s1.34 3 3 3zm-8 0c1.66 0 2.99-1.34 2.99-3S9.66 5 8 5C6.34 5 5 6.34 5 8s1.34 3 3 3zm0 2c-2.33 0-7 1.17-7 3.5V19h14v-2.5c0-2.33-4.67-3.5-7-3.5zm8 0c-.29 0-.62.02-.97.05 1.16.84 1.97 1.97 1.97 3.45V19h6v-2.5c0-2.33-4.67-3.5-7-3.5z" />
|
||
</svg>
|
||
),
|
||
},
|
||
{
|
||
label: 'Entrepreneuriat & innovation',
|
||
icon: (
|
||
<svg className="w-4 h-4 text-[#88ACE3]" fill="currentColor" viewBox="0 0 24 24">
|
||
<path d="M9 21c0 .55.45 1 1 1h4c.55 0 1-.45 1-1v-1H9v1zm3-19C8.14 2 5 5.14 5 9c0 2.38 1.19 4.47 3 5.74V17c0 .55.45 1 1 1h6c.55 0 1-.45 1-1v-2.26c1.81-1.27 3-3.36 3-5.74 0-3.86-3.14-7-7-7z" />
|
||
</svg>
|
||
),
|
||
},
|
||
{
|
||
label: 'Recherche appliquée',
|
||
icon: (
|
||
<svg className="w-4 h-4 text-[#88ACE3]" fill="none" stroke="currentColor" strokeWidth="2.2" viewBox="0 0 24 24">
|
||
<circle cx="11" cy="11" r="7" />
|
||
<path strokeLinecap="round" strokeLinejoin="round" d="m20 20-3.5-3.5" />
|
||
</svg>
|
||
),
|
||
},
|
||
{
|
||
label: 'Alumni & réseau',
|
||
icon: (
|
||
<svg className="w-4 h-4 text-[#88ACE3]" fill="currentColor" viewBox="0 0 24 24">
|
||
<path d="M12 3 1 9l11 6 9-4.91V17h2V9L12 3z M5 13.18v4L12 21l7-3.82v-4L12 17l-7-3.82z" />
|
||
</svg>
|
||
),
|
||
},
|
||
];
|
||
|
||
const competencesCol1 = [
|
||
{
|
||
label: 'Autonomie',
|
||
icon: (
|
||
<svg className="w-4 h-4 text-[#88ACE3]" fill="currentColor" viewBox="0 0 24 24">
|
||
<path d="M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z" />
|
||
</svg>
|
||
),
|
||
},
|
||
{
|
||
label: 'Gestion de projet',
|
||
icon: (
|
||
<svg className="w-4 h-4 text-[#88ACE3]" fill="currentColor" viewBox="0 0 24 24">
|
||
<path d="M19.14 12.94c.04-.3.06-.61.06-.94 0-.32-.02-.64-.07-.94l2.03-1.58c.18-.14.23-.41.12-.61l-1.92-3.32c-.12-.22-.37-.29-.59-.22l-2.39.96c-.5-.38-1.03-.7-1.62-.94l-.36-2.54c-.04-.24-.24-.41-.48-.41h-3.84c-.24 0-.43.17-.47.41l-.36 2.54c-.59.24-1.13.57-1.62.94l-2.39-.96c-.22-.08-.47 0-.59.22L2.74 8.87c-.12.21-.08.47.12.61l2.03 1.58c-.05.3-.09.63-.09.94s.02.64.07.94l-2.03 1.58c-.18.14-.23.41-.12.61l1.92 3.32c.12.22.37.29.59.22l2.39-.96c.5.38 1.03.7 1.62.94l.36 2.54c.05.24.24.41.48.41h3.84c.24 0 .44-.17.47-.41l.36-2.54c.59-.24 1.13-.56 1.62-.94l2.39.96c.22.08.47 0 .59-.22l1.92-3.32c.12-.22.07-.47-.12-.61l-2.01-1.58zM12 15.6c-1.98 0-3.6-1.62-3.6-3.6s1.62-3.6 3.6-3.6 3.6 1.62 3.6 3.6-1.62 3.6-3.6 3.6z" />
|
||
</svg>
|
||
),
|
||
},
|
||
{
|
||
label: 'Coordination',
|
||
icon: (
|
||
<svg className="w-4 h-4 text-[#88ACE3]" fill="currentColor" viewBox="0 0 24 24">
|
||
<circle cx="9" cy="9" r="4" />
|
||
<path d="M9 15c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4zm7.76-9.64-1.41 1.41 1.41 1.41-1.41 1.42 1.41 1.41 1.42-1.41 1.41 1.41 1.41-1.41-1.41-1.42 1.41-1.41-1.41-1.41-1.42 1.41z" />
|
||
</svg>
|
||
),
|
||
},
|
||
{
|
||
label: 'Communication',
|
||
icon: (
|
||
<svg className="w-4 h-4 text-[#88ACE3]" fill="currentColor" viewBox="0 0 24 24">
|
||
<path d="M20 2H4c-1.1 0-2 .9-2 2v18l4-4h14c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm-2 12H6v-2h12v2zm0-3H6V9h12v2zm0-3H6V6h12v2z" />
|
||
</svg>
|
||
),
|
||
},
|
||
{
|
||
label: 'Stratégie',
|
||
icon: (
|
||
<svg className="w-4 h-4 text-[#88ACE3]" fill="none" stroke="currentColor" strokeWidth="2.2" viewBox="0 0 24 24">
|
||
<circle cx="12" cy="12" r="9" />
|
||
<circle cx="12" cy="12" r="5" />
|
||
<circle cx="12" cy="12" r="1" />
|
||
</svg>
|
||
),
|
||
},
|
||
];
|
||
|
||
const competencesCol2 = [
|
||
{
|
||
label: 'Leadership',
|
||
icon: (
|
||
<svg className="w-4 h-4 text-[#88ACE3]" fill="currentColor" viewBox="0 0 24 24">
|
||
<path d="M12 17.27 18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z" />
|
||
</svg>
|
||
),
|
||
},
|
||
{
|
||
label: 'Compétences opérationnelles',
|
||
icon: (
|
||
<svg className="w-4 h-4 text-[#88ACE3]" fill="none" stroke="currentColor" strokeWidth="2.2" viewBox="0 0 24 24">
|
||
<path strokeLinecap="round" strokeLinejoin="round" d="m14.7 6.3 3 3-9.4 9.4H5.3v-3l9.4-9.4z" />
|
||
</svg>
|
||
),
|
||
},
|
||
{
|
||
label: 'Stabilité professionnelle',
|
||
icon: (
|
||
<svg className="w-4 h-4 text-[#88ACE3]" fill="currentColor" viewBox="0 0 24 24">
|
||
<path d="M12 1 3 5v6c0 5.55 3.84 10.74 9 12 5.16-1.26 9-6.45 9-12V5l-9-4z" />
|
||
</svg>
|
||
),
|
||
},
|
||
{
|
||
label: 'Capacité d’adaptation',
|
||
icon: (
|
||
<svg className="w-4 h-4 text-[#88ACE3]" fill="currentColor" viewBox="0 0 24 24">
|
||
<path d="M12 4V1L8 5l4 4V6c3.31 0 6 2.69 6 6 0 1.01-.25 1.97-.7 2.8l1.46 1.46C19.54 15.03 20 13.57 20 12c0-4.42-3.58-8-8-8zm0 14c-3.31 0-6-2.69-6-6 0-1.01.25-1.97.7-2.8L5.24 7.74C4.46 8.97 4 10.43 4 12c0 4.42 3.58 8 8 8v3l4-4-4-4v3z" />
|
||
</svg>
|
||
),
|
||
},
|
||
{
|
||
label: 'Intelligence systémique',
|
||
icon: (
|
||
<svg className="w-4 h-4 text-[#88ACE3]" fill="currentColor" viewBox="0 0 24 24">
|
||
<path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-1 17.93c-3.95-.49-7-3.85-7-7.93 0-.62.08-1.21.21-1.79L9 15v1c0 1.1.9 2 2 2v1.93zm6.9-2.54c-.26-.81-1-1.39-1.9-1.39h-1v-3c0-.55-.45-1-1-1H8v-2h2c.55 0 1-.45 1-1V7h2c1.1 0 2-.9 2-2v-.41c2.93 1.19 5 4.06 5 7.41 0 2.08-.8 3.97-2.1 5.39z" />
|
||
</svg>
|
||
),
|
||
},
|
||
];
|
||
|
||
const opportunites = [
|
||
{
|
||
label: 'Stages',
|
||
icon: (
|
||
<svg className="w-4 h-4 text-[#88ACE3]" fill="currentColor" viewBox="0 0 24 24">
|
||
<path d="M20 6h-4V4c0-1.11-.89-2-2-2h-4c-1.11 0-2 .89-2 2v2H4c-1.11 0-1.99.89-1.99 2L2 19c0 1.11.89 2 2 2h16c1.11 0 2-.89 2-2V8c0-1.11-.89-2-2-2zm-6 0h-4V4h4v2z" />
|
||
</svg>
|
||
),
|
||
},
|
||
{
|
||
label: 'Mandats',
|
||
icon: (
|
||
<svg className="w-4 h-4 text-[#88ACE3]" fill="currentColor" viewBox="0 0 24 24">
|
||
<path d="M14 2H6c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8l-6-6zm2 16H8v-2h8v2zm0-4H8v-2h8v2zm-3-5V3.5L18.5 9H13z" />
|
||
</svg>
|
||
),
|
||
},
|
||
{
|
||
label: 'Bénévolats',
|
||
icon: (
|
||
<svg className="w-4 h-4 text-[#88ACE3]" fill="currentColor" viewBox="0 0 24 24">
|
||
<path d="m12 21.35-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35z" />
|
||
</svg>
|
||
),
|
||
},
|
||
{
|
||
label: 'Collaborations',
|
||
icon: (
|
||
<svg className="w-4 h-4 text-[#88ACE3]" fill="currentColor" viewBox="0 0 24 24">
|
||
<path d="M16 11c1.66 0 2.99-1.34 2.99-3S17.66 5 16 5c-1.66 0-3 1.34-3 3s1.34 3 3 3zm-8 0c1.66 0 2.99-1.34 2.99-3S9.66 5 8 5C6.34 5 5 6.34 5 8s1.34 3 3 3zm0 2c-2.33 0-7 1.17-7 3.5V19h14v-2.5c0-2.33-4.67-3.5-7-3.5zm8 0c-.29 0-.62.02-.97.05 1.16.84 1.97 1.97 1.97 3.45V19h6v-2.5c0-2.33-4.67-3.5-7-3.5z" />
|
||
</svg>
|
||
),
|
||
},
|
||
{
|
||
label: 'Projets entrepreneuriaux',
|
||
icon: (
|
||
<svg className="w-4 h-4 text-[#88ACE3]" fill="currentColor" viewBox="0 0 24 24">
|
||
<path d="M13.13 2.51c.37-.47.96-.71 1.57-.64.81.1 1.41.81 1.35 1.63L15.6 9h4.4c.73 0 1.35.52 1.48 1.24.13.72-.25 1.44-.9 1.74l-9 4.15c-.48.22-1.04.14-1.45-.2-.41-.34-.58-.88-.44-1.39L10.8 11H6.5c-.71 0-1.33-.5-1.47-1.2-.14-.7.22-1.41.86-1.72l7.24-5.57z" />
|
||
</svg>
|
||
),
|
||
},
|
||
];
|
||
|
||
return (
|
||
<section className="w-full bg-white pb-20">
|
||
{/* 1. BANNIÈRE SUPÉRIEURE PLEINE LARGEUR */}
|
||
<div
|
||
className="relative w-full min-h-[460px] lg:min-h-[500px] bg-cover bg-right bg-no-repeat flex items-center overflow-hidden"
|
||
style={{ backgroundImage: `url("${carreerBg}")` }}
|
||
>
|
||
{/* Dégradé Figma : Sombre à gauche avec fondu vers les personnes à droite */}
|
||
<div
|
||
className="absolute inset-0 pointer-events-none"
|
||
style={{
|
||
background:
|
||
'linear-gradient(90deg, #000000 0%, rgba(0,0,0,0.92) 34%, rgba(0,0,0,0.68) 52%, rgba(0,0,0,0) 75%)',
|
||
}}
|
||
/>
|
||
|
||
<div className="relative z-10 max-w-[1440px] w-full mx-auto px-6 sm:px-12 lg:px-16 py-12">
|
||
<div className="max-w-xl text-white">
|
||
<span className="text-[0.72rem] font-bold tracking-[0.2em] text-[#C3A569] uppercase block mb-3">
|
||
CAREERS & DEVELOPMENT
|
||
</span>
|
||
|
||
<h2 className="text-3xl sm:text-4xl lg:text-[2.65rem] font-extrabold leading-[1.15] tracking-tight mb-4">
|
||
Construire des trajectoires, <br />
|
||
pas seuement des emplois
|
||
</h2>
|
||
|
||
<p className="text-xs sm:text-sm text-slate-300 mb-2 max-w-lg leading-relaxed font-light">
|
||
Chez gaea21, les participants développent des compétences réelles à travers des projets réels, dans un environnement structuré, collaboratif et évolutif.
|
||
</p>
|
||
<p className="text-xs sm:text-sm text-slate-300 mb-8 max-w-lg leading-relaxed font-light">
|
||
L'objectif n'est pas un simple recrutement, mais la construction de trajectoires humaines et professionnelles durables.
|
||
</p>
|
||
|
||
<a
|
||
href="#parcours"
|
||
className="inline-flex items-center gap-2 bg-[#98984B] hover:bg-[#868641] text-white text-xs sm:text-sm font-semibold px-6 py-2.5 rounded-full transition-colors shadow-sm"
|
||
>
|
||
<span>Explorer les parcours</span>
|
||
<svg className="w-4 h-4" fill="none" stroke="currentColor" strokeWidth="2.5" viewBox="0 0 24 24">
|
||
<line x1="5" y1="12" x2="19" y2="12"></line>
|
||
<polyline points="12 5 19 12 12 19"></polyline>
|
||
</svg>
|
||
</a>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
{/* 2. GRILLE DES 3 CARTES DU BAS (BEIGE #F1F0E0) */}
|
||
<div className="max-w-[1440px] mx-auto px-6 sm:px-12 lg:px-16 pt-10">
|
||
<div className="grid grid-cols-1 lg:grid-cols-12 gap-6 items-stretch">
|
||
|
||
{/* CARTE 1 : Parcours disponibles */}
|
||
<div className="lg:col-span-4 bg-[#F1F0E0] rounded-2xl p-6 sm:p-8 flex flex-col justify-start">
|
||
<h3 className="text-xs font-semibold text-slate-700 mb-5">
|
||
Parcours disponibles
|
||
</h3>
|
||
<ul className="space-y-3.5">
|
||
{parcours.map((item, idx) => (
|
||
<li key={idx} className="flex items-center gap-3 text-xs sm:text-[0.82rem] text-slate-800 font-medium">
|
||
<span className="shrink-0">{item.icon}</span>
|
||
<span>{item.label}</span>
|
||
</li>
|
||
))}
|
||
</ul>
|
||
</div>
|
||
|
||
{/* CARTE 2 : Ce que les participants développent */}
|
||
<div className="lg:col-span-5 bg-[#F1F0E0] rounded-2xl p-6 sm:p-8 flex flex-col justify-start">
|
||
<h3 className="text-xs font-semibold text-slate-700 mb-5">
|
||
Ce que les participants développent
|
||
</h3>
|
||
<div className="grid grid-cols-1 sm:grid-cols-2 gap-x-4 gap-y-3.5">
|
||
<ul className="space-y-3.5">
|
||
{competencesCol1.map((item, idx) => (
|
||
<li key={idx} className="flex items-center gap-3 text-xs sm:text-[0.82rem] text-slate-800 font-medium">
|
||
<span className="shrink-0">{item.icon}</span>
|
||
<span>{item.label}</span>
|
||
</li>
|
||
))}
|
||
</ul>
|
||
<ul className="space-y-3.5">
|
||
{competencesCol2.map((item, idx) => (
|
||
<li key={idx} className="flex items-center gap-3 text-xs sm:text-[0.82rem] text-slate-800 font-medium">
|
||
<span className="shrink-0">{item.icon}</span>
|
||
<span>{item.label}</span>
|
||
</li>
|
||
))}
|
||
</ul>
|
||
</div>
|
||
</div>
|
||
|
||
{/* CARTE 3 : Opportunités */}
|
||
<div className="lg:col-span-3 bg-[#F1F0E0] rounded-2xl p-6 sm:p-8 flex flex-col justify-start">
|
||
<h3 className="text-xs font-semibold text-slate-700 mb-5">
|
||
Opportunités
|
||
</h3>
|
||
<ul className="space-y-3.5">
|
||
{opportunites.map((item, idx) => (
|
||
<li key={idx} className="flex items-center gap-3 text-xs sm:text-[0.82rem] text-slate-800 font-medium">
|
||
<span className="shrink-0">{item.icon}</span>
|
||
<span>{item.label}</span>
|
||
</li>
|
||
))}
|
||
</ul>
|
||
</div>
|
||
|
||
</div>
|
||
</div>
|
||
</section>
|
||
);
|
||
} |