Files
Site_web/index.html
gauthier.chombart 20baa91611 Commit initial
Chargement des données en local
2026-06-01 11:17:21 +02:00

1591 lines
50 KiB
HTML

<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>NextGN Formation - Formations Certibiocide & Techniques</title>
<link href="https://fonts.googleapis.com/css2?family=Syne:wght@400;600;700;800&family=DM+Sans:ital,wght@0,300;0,400;0,500;1,300&display=swap" rel="stylesheet">
<style>
:root {
--teal: #0F6E56;
--teal-mid: #1D9E75;
--teal-light: #E1F5EE;
--teal-dark: #085041;
--amber: #BA7517;
--amber-mid: #BA7517;
--amber-light: #FAEEDA;
--amber-dark: #633806;
--coral: #993C1D;
--coral-mid: #D85A30;
--coral-light: #FAECE7;
--purple: #534AB7;
--purple-light: #EEEDFE;
--purple-dark: #3C3489;
--blue: #185FA5;
--blue-light: #E6F1FB;
--bg: #F7F6F2;
--white: #FFFFFF;
--text: #1a1a18;
--text-muted: #6b6a65;
--border: rgba(0,0,0,0.1);
}
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
html, body {
height: 100%;
}
body {
font-family: 'DM Sans', sans-serif;
background: var(--bg);
color: var(--text);
line-height: 1.6;
overflow-x: hidden;
}
/* HEADER & NAVIGATION */
header {
position: fixed;
top: 0;
left: 0;
right: 0;
height: 70px;
background: var(--amber-light);
border-bottom: 2px solid var(--amber);
display: flex;
align-items: center;
justify-content: space-between;
padding: 0 40px;
z-index: 1000;
backdrop-filter: blur(10px);
background: rgba(250, 238, 218, 0.98);
}
.logo {
font-family: 'Syne', sans-serif;
font-size: 20px;
font-weight: 700;
letter-spacing: -0.5px;
background: linear-gradient(135deg, var(--amber), var(--coral-mid));
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
}
nav {
display: flex;
gap: 40px;
}
nav a {
font-family: 'Syne', sans-serif;
font-size: 12px;
font-weight: 700;
letter-spacing: 0.08em;
text-transform: uppercase;
color: var(--text-muted);
text-decoration: none;
transition: color 0.3s ease;
position: relative;
}
nav a:hover {
color: var(--amber);
}
nav a::after {
content: '';
position: absolute;
bottom: -4px;
left: 0;
width: 0;
height: 2px;
background: var(--amber);
transition: width 0.3s ease;
}
nav a:hover::after {
width: 100%;
}
/* PROGRESS BAR */
.progress-bar {
position: fixed;
top: 70px;
left: 0;
right: 0;
height: 3px;
background: rgba(0, 0, 0, 0.1);
z-index: 999;
}
.progress-fill {
height: 100%;
background: var(--amber);
width: 0%;
transition: width 0.1s ease;
}
/* MAIN CONTENT */
main {
margin-top: 70px;
min-height: calc(100vh - 70px);
}
/* HERO SECTION */
.hero {
position: relative;
padding: 80px 40px 100px;
background: linear-gradient(135deg, rgba(186, 117, 23, 0.05) 0%, rgba(250, 238, 218, 0.3) 100%);
overflow: hidden;
}
.hero::before {
content: '';
position: absolute;
top: -50%;
right: -10%;
width: 600px;
height: 600px;
background: radial-gradient(circle, var(--amber-light) 0%, transparent 70%);
opacity: 0.4;
border-radius: 50%;
animation: float 20s ease-in-out infinite;
}
.hero::after {
content: '';
position: absolute;
bottom: -30%;
left: -5%;
width: 400px;
height: 400px;
background: radial-gradient(circle, var(--coral-light) 0%, transparent 70%);
opacity: 0.3;
border-radius: 50%;
animation: float-reverse 25s ease-in-out infinite;
}
@keyframes float {
0%, 100% { transform: translateY(0px); }
50% { transform: translateY(-30px); }
}
@keyframes float-reverse {
0%, 100% { transform: translateY(0px); }
50% { transform: translateY(30px); }
}
.hero-content {
max-width: 900px;
margin: 0 auto;
position: relative;
z-index: 1;
animation: slideUp 0.8s ease forwards;
opacity: 0;
}
@keyframes slideUp {
from {
opacity: 0;
transform: translateY(30px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
h1 {
font-family: 'Syne', sans-serif;
font-size: 56px;
font-weight: 800;
line-height: 1.1;
margin-bottom: 20px;
letter-spacing: -1px;
}
h1 .accent {
background: linear-gradient(135deg, var(--amber), var(--coral-mid));
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
}
.hero p {
font-size: 18px;
color: var(--text-muted);
margin-bottom: 30px;
max-width: 600px;
}
.cta-group {
display: flex;
gap: 20px;
flex-wrap: wrap;
animation: slideUp 0.8s ease forwards 0.2s;
opacity: 0;
}
.btn {
font-family: 'Syne', sans-serif;
font-size: 13px;
font-weight: 700;
letter-spacing: 0.08em;
text-transform: uppercase;
padding: 14px 32px;
border: none;
border-radius: 8px;
cursor: pointer;
transition: all 0.3s ease;
text-decoration: none;
display: inline-block;
position: relative;
overflow: hidden;
}
.btn-primary {
background: var(--amber);
color: var(--white);
}
.btn-primary:hover {
background: var(--amber-dark);
transform: translateY(-2px);
box-shadow: 0 12px 24px rgba(186, 117, 23, 0.25);
}
.btn-secondary {
background: var(--white);
color: var(--amber);
border: 2px solid var(--amber);
}
.btn-secondary:hover {
background: var(--amber-light);
transform: translateY(-2px);
}
/* STATS SECTION */
.stats {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 30px;
margin-top: 60px;
position: relative;
z-index: 1;
}
.stat-card {
background: var(--white);
padding: 30px;
border-radius: 12px;
border: 1px solid var(--border);
text-align: center;
animation: slideUp 0.8s ease forwards;
opacity: 0;
overflow: hidden;
cursor: pointer;
position: relative;
transition: all 0.3s ease;
}
.stat-card:hover {
transform: translateY(-10px) scale(1.02);
box-shadow: 0 20px 50px rgba(0, 0, 0, 0.15);
border-color: var(--amber);
}
.stat-card::before {
content: '';
position: absolute;
top: -100%;
left: 0;
right: 0;
height: 300%;
background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,0.02) 50%, transparent 100%);
pointer-events: none;
z-index: 1;
opacity: 0;
transition: opacity 0.4s ease;
}
.stat-card:hover::before {
opacity: 1;
}
.stat-subtitle {
font-family: 'Syne', sans-serif;
font-size: 12px;
font-weight: 700;
letter-spacing: 0.08em;
text-transform: uppercase;
color: var(--text-muted);
margin-bottom: 12px;
position: relative;
z-index: 2;
}
.stat-card:nth-child(1) {
animation-delay: 0s;
}
.stat-card:nth-child(2) {
animation-delay: 0.1s;
}
.stat-card:nth-child(3) {
animation-delay: 0.2s;
}
.stat-number {
font-family: 'Syne', sans-serif;
font-size: 48px;
font-weight: 800;
margin-bottom: 8px;
margin-top: 8px;
position: relative;
z-index: 2;
font-variant-numeric: tabular-nums;
background: linear-gradient(135deg, var(--amber) 0%, var(--coral-mid) 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
}
.stat-card:nth-child(3) .stat-number {
font-size: 24px;
}
.stat-label {
font-size: 14px;
color: var(--text-muted);
text-transform: uppercase;
letter-spacing: 0.05em;
font-weight: 600;
position: relative;
z-index: 2;
}
/* FORMATIONS SECTION */
.formations-section {
padding: 100px 40px;
background: var(--white);
border-top: 1px solid var(--border);
}
.section-header {
max-width: 900px;
margin: 0 auto 60px;
}
h2 {
font-family: 'Syne', sans-serif;
font-size: 42px;
font-weight: 800;
margin-bottom: 15px;
letter-spacing: -0.5px;
border-bottom: 3px solid var(--amber);
padding-bottom: 15px;
display: inline-block;
}
.section-header p {
font-size: 16px;
color: var(--text-muted);
max-width: 600px;
}
/* FORMATIONS GRID - 3 COLONNES RESPONSIVE */
.formations-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 30px;
max-width: 1200px;
margin: 0 auto;
}
.formation-card {
background: var(--white);
border: 1px solid var(--border);
border-radius: 12px;
overflow: hidden;
transition: all 0.4s ease;
cursor: pointer;
position: relative;
animation: slideUp 0.8s ease forwards;
opacity: 0;
display: flex;
flex-direction: column;
}
.formation-card:nth-child(1) { animation-delay: 0s; }
.formation-card:nth-child(2) { animation-delay: 0.1s; }
.formation-card:nth-child(3) { animation-delay: 0.2s; }
.formation-card:hover {
transform: translateY(-8px);
box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
border-color: var(--amber);
}
.formation-header {
padding: 30px;
position: relative;
overflow: hidden;
flex-shrink: 0;
background: linear-gradient(135deg, var(--amber-light) 0%, rgba(186, 117, 23, 0.1) 100%);
border-bottom: 3px solid var(--amber);
}
.formation-icon {
font-size: 40px;
margin-bottom: 12px;
display: inline-block;
}
.formation-title {
font-family: 'Syne', sans-serif;
font-size: 20px;
font-weight: 700;
margin-bottom: 8px;
color: var(--text);
}
.formation-subtitle {
font-size: 13px;
color: var(--text-muted);
text-transform: uppercase;
letter-spacing: 0.05em;
font-weight: 600;
}
.formation-body {
padding: 30px;
background: var(--white);
flex-grow: 1;
display: flex;
flex-direction: column;
}
.formation-description {
font-size: 14px;
color: var(--text-muted);
margin-bottom: 20px;
line-height: 1.6;
}
.formation-link {
display: inline-block;
margin-top: auto;
padding: 10px 20px;
background: var(--amber);
color: var(--white);
text-decoration: none;
border-radius: 6px;
font-family: 'Syne', sans-serif;
font-size: 12px;
font-weight: 700;
letter-spacing: 0.08em;
text-transform: uppercase;
transition: all 0.3s ease;
}
.formation-link:hover {
background: var(--amber-dark);
transform: translateX(4px);
}
.formation-link::after {
content: ' →';
margin-left: 4px;
}
/* DOCUMENTATION SECTION */
.documentation-section {
padding: 80px 40px;
background: linear-gradient(135deg, rgba(186, 117, 23, 0.02) 0%, rgba(250, 238, 218, 0.1) 100%);
}
.documentation-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 30px;
margin-top: 50px;
max-width: 1200px;
margin-left: auto;
margin-right: auto;
}
.doc-card {
background: var(--white);
border: 1px solid var(--border);
border-radius: 12px;
overflow: hidden;
transition: all 0.3s ease;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
}
.doc-card:hover {
transform: translateY(-8px);
box-shadow: 0 12px 32px rgba(0, 0, 0, 0.1);
border-color: var(--amber);
}
.doc-header {
padding: 32px;
background: linear-gradient(135deg, var(--amber-light) 0%, rgba(186, 117, 23, 0.1) 100%);
border-bottom: 2px solid var(--amber);
}
.doc-icon {
font-size: 48px;
margin-bottom: 16px;
display: block;
}
.doc-title {
font-family: 'Syne', sans-serif;
font-size: 20px;
font-weight: 700;
color: var(--text);
margin: 0;
margin-bottom: 8px;
}
.doc-subtitle {
font-size: 13px;
color: var(--text-muted);
margin: 0;
font-style: italic;
}
.doc-body {
padding: 28px 32px;
}
.doc-description {
font-size: 14px;
color: var(--text-muted);
line-height: 1.6;
margin-bottom: 20px;
}
.doc-features {
list-style: none;
padding: 0;
margin: 16px 0;
display: flex;
flex-direction: column;
gap: 8px;
}
.doc-features li {
font-size: 13px;
color: var(--text);
padding-left: 0;
}
.doc-link {
display: inline-block;
margin-top: 16px;
padding: 10px 20px;
background: var(--amber);
color: var(--white);
text-decoration: none;
border-radius: 6px;
font-family: 'Syne', sans-serif;
font-size: 12px;
font-weight: 700;
letter-spacing: 0.08em;
text-transform: uppercase;
transition: all 0.3s ease;
}
.doc-link:hover {
background: var(--amber-dark);
transform: translateX(4px);
}
/* VOIR TOUS LES ARTICLES */
.see-all-documentation {
margin-top: 60px;
max-width: 900px;
margin-left: auto;
margin-right: auto;
}
.see-all-content {
background: linear-gradient(135deg, var(--amber-light) 0%, rgba(250, 238, 218, 0.5) 100%);
border: 2px solid var(--amber);
border-radius: 12px;
padding: 40px;
display: flex;
align-items: center;
gap: 30px;
animation: slideUp 0.6s ease forwards;
opacity: 0;
animation-delay: 0.3s;
}
.see-all-icon {
font-size: 52px;
flex-shrink: 0;
}
.see-all-text {
flex: 1;
}
.see-all-text h3 {
font-family: 'Syne', sans-serif;
font-size: 24px;
font-weight: 800;
color: var(--text);
margin-bottom: 12px;
}
.see-all-text p {
font-size: 15px;
color: var(--text-muted);
line-height: 1.7;
margin: 0;
}
.see-all-link {
flex-shrink: 0;
padding: 14px 28px;
background: var(--amber);
color: var(--white);
text-decoration: none;
border-radius: 8px;
font-family: 'Syne', sans-serif;
font-size: 12px;
font-weight: 700;
letter-spacing: 0.08em;
text-transform: uppercase;
transition: all 0.3s ease;
white-space: nowrap;
}
.see-all-link:hover {
background: var(--amber-dark);
transform: translateY(-2px);
box-shadow: 0 8px 16px rgba(186, 117, 23, 0.25);
}
/* RAPPORTS SECTION */
.rapports-section {
padding: 100px 40px;
background: var(--white);
}
.rapports-intro {
background: var(--amber-light);
border-left: 4px solid var(--amber);
border-radius: 8px;
padding: 20px;
margin: 30px auto;
display: flex;
gap: 15px;
align-items: flex-start;
max-width: 1200px;
}
.rapports-intro-icon {
font-size: 32px;
flex-shrink: 0;
}
.rapports-intro-content h3 {
font-family: 'Syne', sans-serif;
font-size: 16px;
font-weight: 700;
color: var(--amber-dark);
margin: 0;
}
.rapports-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 25px;
margin-top: 40px;
max-width: 1200px;
margin-left: auto;
margin-right: auto;
}
.rapport-card {
background: var(--white);
border: 1px solid var(--border);
border-radius: 8px;
padding: 25px;
transition: all 0.3s ease;
display: flex;
flex-direction: column;
height: 100%;
}
.rapport-card:hover {
border-color: var(--amber);
box-shadow: 0 12px 32px rgba(186, 117, 23, 0.15);
transform: translateY(-4px);
}
.rapport-header {
margin-bottom: 15px;
padding-bottom: 12px;
border-bottom: 2px solid var(--amber-light);
}
.rapport-semaine {
font-family: 'Syne', sans-serif;
font-size: 18px;
font-weight: 700;
color: var(--amber);
margin-bottom: 4px;
}
.rapport-date {
font-size: 12px;
color: var(--text-muted);
font-weight: 500;
}
.rapport-body {
flex-grow: 1;
margin-bottom: 15px;
}
.rapport-highlight {
font-size: 13px;
color: var(--text);
margin-bottom: 8px;
font-weight: 600;
}
.rapport-list {
list-style: none;
padding: 0;
margin: 0;
}
.rapport-list li {
font-size: 13px;
color: var(--text-muted);
margin-bottom: 6px;
padding-left: 18px;
position: relative;
}
.rapport-list li::before {
content: '▸';
position: absolute;
left: 0;
color: var(--amber);
font-weight: bold;
}
.rapport-link {
display: inline-block;
font-family: 'Syne', sans-serif;
font-size: 13px;
font-weight: 700;
letter-spacing: 0.05em;
color: var(--amber);
text-decoration: none;
transition: all 0.3s ease;
margin-top: 10px;
padding-bottom: 2px;
border-bottom: 1px solid transparent;
}
.rapport-link:hover {
border-bottom-color: var(--amber);
}
/* ABOUT SECTION */
.about-section {
padding: 100px 40px;
background: linear-gradient(135deg, rgba(186, 117, 23, 0.05) 0%, rgba(250, 238, 218, 0.2) 100%);
}
.about-content {
max-width: 900px;
margin: 0 auto;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 60px;
align-items: center;
}
.about-text h3 {
font-family: 'Syne', sans-serif;
font-size: 32px;
font-weight: 800;
margin-bottom: 20px;
letter-spacing: -0.5px;
color: var(--text);
}
.about-text p {
font-size: 15px;
color: var(--text-muted);
margin-bottom: 15px;
line-height: 1.8;
}
.about-features {
display: flex;
flex-direction: column;
gap: 15px;
margin-top: 30px;
}
.feature-item {
display: flex;
gap: 12px;
align-items: flex-start;
}
.feature-icon {
font-size: 20px;
margin-top: 3px;
flex-shrink: 0;
color: var(--amber);
}
.feature-text {
font-size: 14px;
color: var(--text-muted);
}
/* PROFILS CIRCULAIRES */
.profile-circle {
width: 140px;
height: 140px;
border-radius: 50%;
background: var(--white);
border: 3px solid var(--amber);
overflow: hidden;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
transition: all 0.3s ease;
position: relative;
}
.profile-circle:hover {
transform: scale(1.05);
box-shadow: 0 12px 32px rgba(0, 0, 0, 0.2);
}
.profile-circle.inline {
width: 280px;
height: 280px;
position: relative;
}
.profile-name {
position: absolute;
bottom: 10px;
right: 10px;
font-family: 'Syne', sans-serif;
font-size: 13px;
font-weight: 700;
color: var(--white);
background: rgba(0, 0, 0, 0.7);
padding: 6px 12px;
border-radius: 4px;
z-index: 10;
}
.about-profiles {
display: flex;
justify-content: center;
align-items: flex-start;
gap: 0;
position: relative;
height: 340px;
}
.about-image {
background: transparent !important;
min-height: auto;
}
.profile-link {
text-decoration: none;
display: inline-block;
transition: all 0.3s ease;
position: relative;
}
.profile-link:first-child {
position: absolute;
left: 50%;
top: 0;
transform: translateX(-10%);
z-index: 2;
}
.profile-link:last-child {
position: absolute;
right: 50%;
top: 80px;
transform: translateX(20%);
z-index: 1;
}
.profile-link:hover .profile-circle {
transform: scale(1.08);
box-shadow: 0 16px 40px rgba(0, 0, 0, 0.25);
}
.profile-image {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
}
/* CONTACT FORM SECTION */
.contact-section {
padding: 100px 40px;
background: var(--white);
}
.contact-container {
max-width: 700px;
margin: 0 auto;
}
.contact-section h2 {
text-align: center;
color: var(--text);
margin-bottom: 15px;
background: linear-gradient(135deg, var(--amber) 0%, var(--coral-mid) 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
border: none;
padding: 0;
}
.contact-section > p {
text-align: center;
color: var(--text-muted);
margin-bottom: 40px;
font-size: 16px;
max-width: 500px;
margin-left: auto;
margin-right: auto;
}
.contact-form {
background: var(--white);
padding: 40px;
border-radius: 12px;
box-shadow: 0 10px 40px rgba(0, 0, 0, 0.08);
animation: slideUp 0.8s ease forwards;
opacity: 0;
}
.form-group {
margin-bottom: 24px;
}
.form-group label {
display: block;
font-family: 'Syne', sans-serif;
font-size: 13px;
font-weight: 700;
letter-spacing: 0.08em;
text-transform: uppercase;
color: var(--text);
margin-bottom: 8px;
}
.form-group input,
.form-group textarea {
width: 100%;
padding: 12px 16px;
border: 1px solid var(--border);
border-radius: 8px;
font-family: 'DM Sans', sans-serif;
font-size: 14px;
color: var(--text);
transition: all 0.3s ease;
background: var(--white);
}
.form-group input:focus,
.form-group textarea:focus {
outline: none;
border-color: var(--amber);
box-shadow: 0 0 0 3px rgba(186, 117, 23, 0.1);
}
.form-group textarea {
resize: vertical;
min-height: 120px;
font-family: 'DM Sans', sans-serif;
}
.contact-submit {
font-family: 'Syne', sans-serif;
font-size: 13px;
font-weight: 700;
letter-spacing: 0.08em;
text-transform: uppercase;
padding: 14px 32px;
background: linear-gradient(135deg, var(--amber) 0%, var(--coral-mid) 100%);
color: var(--white);
border: none;
border-radius: 8px;
cursor: pointer;
transition: all 0.3s ease;
width: 100%;
}
.contact-submit:hover {
transform: translateY(-2px);
box-shadow: 0 12px 24px rgba(186, 117, 23, 0.3);
}
.contact-submit:active {
transform: translateY(0px);
}
.form-message {
text-align: center;
margin-top: 20px;
padding: 12px;
border-radius: 8px;
display: none;
font-size: 14px;
}
.form-message.success {
background: var(--amber-light);
color: var(--amber-dark);
display: block;
}
.form-message.error {
background: var(--coral-light);
color: var(--coral-mid);
display: block;
}
/* FOOTER */
footer {
background: var(--text);
color: var(--white);
padding: 40px;
text-align: center;
border-top: 2px solid var(--amber);
}
footer p {
font-size: 13px;
opacity: 0.8;
}
/* RESPONSIVE */
@media (max-width: 768px) {
header {
padding: 0 20px;
flex-direction: column;
height: auto;
gap: 15px;
}
.logo {
font-size: 16px;
}
nav {
gap: 20px;
flex-wrap: wrap;
justify-content: center;
}
nav a {
font-size: 10px;
}
.hero {
padding: 50px 20px 60px;
}
h1 {
font-size: 36px;
}
h2 {
font-size: 28px;
}
.cta-group {
flex-direction: column;
}
.btn {
width: 100%;
text-align: center;
}
.stats {
grid-template-columns: 1fr;
margin-top: 40px;
}
.formations-section {
padding: 60px 20px;
}
.formations-grid {
grid-template-columns: 1fr;
gap: 20px;
}
.documentation-section {
padding: 60px 20px;
}
.rapports-section {
padding: 60px 20px;
}
.rapports-grid {
grid-template-columns: 1fr;
gap: 20px;
}
.rapports-intro {
flex-direction: column;
align-items: flex-start;
}
.about-content {
grid-template-columns: 1fr;
gap: 30px;
}
.about-profiles {
min-height: 200px;
font-size: 60px;
}
.contact-section {
padding: 60px 20px;
}
.see-all-content {
flex-direction: column;
text-align: center;
}
.see-all-link {
width: 100%;
white-space: normal;
}
}
</style>
</head>
<body>
<header>
<div class="logo">NextGN Formation</div>
<nav>
<a href="#formations">Exercices interactifs</a>
<a href="#documentation">Documentation</a>
<a href="#rapports">Rapports de veille</a>
<a href="#about">À propos</a>
<a href="#contact">Contact</a>
</nav>
</header>
<!-- PROGRESS BAR -->
<div class="progress-bar">
<div class="progress-fill"></div>
</div>
<main>
<!-- HERO SECTION -->
<section class="hero">
<div class="hero-content">
<h1>Formateurs <span class="accent">Certibiocide</span><br>indépendants</h1>
<p>Maîtrisez les compétences essentielles en hygiène, biocides et sécurité. Formations pratiques, interactives et certifiantes pour les professionnels.</p>
<div class="cta-group">
<a href="#formations" class="btn btn-primary">Suivre les exercices interactifs</a>
<a href="#documentation" class="btn btn-secondary">Documentation</a>
<a href="#rapports" class="btn btn-secondary">Rapports de veille</a>
<a href="#about" class="btn btn-secondary">En savoir plus</a>
</div>
<div class="stats">
<div class="stat-card">
<div class="stat-label">En 2026</div>
<div class="stat-number">309</div>
<div class="stat-label">Stagiaires certifiés</div>
</div>
<div class="stat-card">
<div class="stat-label">Exercices</div>
<div class="stat-number">100%</div>
<div class="stat-label">Pratiques & Interactifs</div>
</div>
<div class="stat-card">
<div class="stat-label">Formateurs</div>
<div class="stat-number">Experts</div>
<div class="stat-label">Certifiés</div>
</div>
</div>
</div>
</section>
<!-- FORMATIONS SECTION -->
<section id="formations" class="formations-section">
<div class="section-header">
<h2>Nos Exercices</h2>
<p>Explorez nos exercices ludiques et détaillés, conçus pour répondre à vos besoins en matière de connaissances théoriques et compétences techniques.</p>
</div>
<div class="formations-grid">
<!-- Formation 1: BioCID Exercises -->
<div class="formation-card">
<div class="formation-header">
<div class="formation-icon">🧪</div>
<h3 class="formation-title">Plateforme BioCID</h3>
<p class="formation-subtitle">Premiers pas</p>
</div>
<div class="formation-body">
<p class="formation-description">Exercices interactifs spécialisés dans les biocides et leurs applications. Pratique approfondie et validation des connaissances.</p>
<a href="exercices/Exo_BioCID.html" class="formation-link">Accéder</a>
</div>
</div>
<!-- Formation 2: FDS, FT et Étiquettes -->
<div class="formation-card">
<div class="formation-header">
<div class="formation-icon">📋</div>
<h3 class="formation-title">FDS & Étiquettes</h3>
<p class="formation-subtitle">Aller plus loin</p>
</div>
<div class="formation-body">
<p class="formation-description">Maîtrisez les Fiches de Données de Sécurité, fiches techniques et étiquetage. Formation complète et pratique.</p>
<a href="exercices/Exo_FDS.html" class="formation-link">Accéder</a>
</div>
</div>
<!-- Formation 3: TP Nuisibles final -->
<div class="formation-card">
<div class="formation-header">
<div class="formation-icon">📚</div>
<h3 class="formation-title">TP Nuisibles final</h3>
<p class="formation-subtitle">Étude de cas</p>
</div>
<div class="formation-body">
<p class="formation-description">Exercices pratiques et complets pour maîtriser la certification Certibiocide. Contenu détaillé et progressif.</p>
<a href="exercices/TP_Nuisibles_final.html" class="formation-link">Accéder</a>
</div>
</div>
<!-- Formation 4: Pictogrammes de danger -->
<div class="formation-card">
<div class="formation-header">
<div class="formation-icon">⚠️</div>
<h3 class="formation-title">Pictogrammes de danger</h3>
<p class="formation-subtitle">Jeu interactif</p>
</div>
<div class="formation-body">
<p class="formation-description">Identifiez et mémorisez les pictogrammes de danger des substances chimiques. Jeu ludique pour maîtriser la classification GHS.</p>
<a href="formations/memory-pictogrammes/index.html" class="formation-link">Jouer</a>
</div>
</div>
</div>
</section>
<!-- DOCUMENTATION TECHNIQUE SECTION -->
<section id="documentation" class="documentation-section">
<div class="section-header">
<h2>Documentation technique et biologie des espèces</h2>
<p>Accédez à notre base de connaissances : études détaillées, analyses scientifiques et rapports techniques sur les nuisibles, les biocides et les enjeux réglementaires.</p>
</div>
<div class="documentation-grid">
<!-- Frelon Asiatique -->
<div class="doc-card">
<div class="doc-header">
<div class="doc-icon">🐝</div>
<h3 class="doc-title">Frelon asiatique (Vespa velutina nigrithorax) — Invasion de France</h3>
<p class="doc-subtitle">Date de rédaction : 25 mai 2026</p>
</div>
<div class="doc-body">
<p class="doc-description">Étude complète de l'invasion du frelon asiatique en France. Données scientifiques, cartographie de l'expansion, impacts écologiques et stratégies de lutte validées par le MNHN et le CNRS.</p>
<a href="articles/frelon_asiatique_evolution.html" class="doc-link">Consulter l'étude →</a>
</div>
</div>
</div>
<!-- Encadré "Voir tous les articles" -->
<div class="see-all-documentation">
<div class="see-all-content">
<div class="see-all-icon">📚</div>
<div class="see-all-text">
<h3>Voir tous les articles</h3>
<p>Explorez l'intégralité de notre base de connaissances avec recherche par mot-clé et filtrage par tags. Retrouvez toutes les pages de documentation technique et biologique.</p>
</div>
<a href="articles/documentation-index.html" class="see-all-link">
Accéder à l'index complet →
</a>
</div>
</div>
</section>
<!-- RAPPORTS DE VEILLE HEBDOMADAIRES -->
<section id="rapports" class="rapports-section">
<div class="section-header">
<h2>Rapports de veille hebdomadaires</h2>
<p>Suivez chaque semaine l'actualité réglementaire, les opportunités de marché et les tendances du secteur Certibiocide en France et en Europe.</p>
</div>
<div class="rapports-intro">
<div class="rapports-intro-icon">📊</div>
<div class="rapports-intro-content">
<h3>8 rubriques thématiques couvrant l'écosystème Certibiocide</h3>
<p style="margin-top: 8px; font-size: 14px;">Réglementation • Marché formation • Nuisibles & ESOD • Désinfection • Opportunités • Innovation • Veille européenne • RH & Concurrence</p>
</div>
</div>
<div class="rapports-grid">
<!-- Semaine 21 -->
<div class="rapport-card">
<div class="rapport-header">
<div class="rapport-semaine">Semaine 21</div>
<div class="rapport-date">18-24 mai 2026</div>
</div>
<div class="rapport-body">
<p class="rapport-highlight">⚠️ <strong>Faits clés :</strong></p>
<ul class="rapport-list">
<li>Loi anti-fraude formation définitivement adoptée (13 mai)</li>
<li>Non-renouvellement cyperméthrine en Europe</li>
<li>4 appels d'offres BOAMP 3D actifs</li>
<li>125+ offres d'emploi techniciens 3D</li>
</ul>
</div>
<a href="veille/rapport-semaine-21.html" class="rapport-link">Consulter le rapport complet →</a>
</div>
<!-- Semaine 20 -->
<div class="rapport-card">
<div class="rapport-header">
<div class="rapport-semaine">Semaine 20</div>
<div class="rapport-date">11-17 mai 2026</div>
</div>
<div class="rapport-body">
<p class="rapport-highlight">⚠️ <strong>Faits clés :</strong></p>
<ul class="rapport-list">
<li>Actualisation réglementaire continue</li>
<li>Évolutions du marché formation</li>
<li>Surveillance nuisibles invasifs</li>
<li>Opportunités secteur 3D</li>
</ul>
</div>
<a href="veille/rapport-semaine-20.html" class="rapport-link">Consulter le rapport complet →</a>
</div>
<!-- Archive -->
<div class="rapport-card">
<div class="rapport-header">
<div class="rapport-semaine">Archives</div>
<div class="rapport-date">Accès historique</div>
</div>
<div class="rapport-body">
<p class="rapport-highlight">📚 <strong>Consultez l'index complet :</strong></p>
<p style="font-size: 14px; margin-top: 10px;">Accédez à tous les rapports de veille précédents, classés par semaine et par rubrique thématique pour un suivi approfondi de l'évolution du secteur.</p>
</div>
<a href="veille/veille-index.html" class="rapport-link">Voir tous les rapports →</a>
</div>
</div>
</section>
<!-- ABOUT SECTION -->
<section id="about" class="about-section">
<div class="about-content">
<div class="about-text">
<h3>Qui sommes-nous ?</h3>
<p>Formateurs indépendants spécialisés dans les formations Certibiocide et les domaines techniques. Avec une expertise pointue en hygiène, biocides et sécurité, nous accompagnons les professionnels pour maîtriser les compétences essentielles.</p>
<div class="about-features">
<div class="feature-item">
<div class="feature-icon"></div>
<div class="feature-text">Formations conformes au programme du Ministère de la Transition écologique</div>
</div>
<div class="feature-item">
<div class="feature-icon"></div>
<div class="feature-text">Approche pratique et interactive</div>
</div>
<div class="feature-item">
<div class="feature-icon"></div>
<div class="feature-text">Contenus à jour avec la réglementation</div>
</div>
</div>
</div>
<div class="about-image">
<div class="about-profiles">
<a href="https://www.linkedin.com/in/nathan-chauwin-88a717183/" target="_blank" rel="noopener" class="profile-link">
<div class="profile-circle user inline">
<img src="data/Nathan.jpeg" alt="Profil Nathan" class="profile-image">
</div>
</a>
<a href="https://www.linkedin.com/in/gauthier-chombart-553606343/" target="_blank" rel="noopener" class="profile-link">
<div class="profile-circle user inline">
<img src="data/Gauthier.jpeg" alt="Profil Gauthier" class="profile-image">
</div>
</a>
</div>
</div>
</div>
</section>
<!-- CONTACT SECTION - DIRECTEMENT APRÈS ABOUT (SANS ESPACE) -->
<section class="contact-section" id="contact">
<div class="contact-container">
<h2>Nous contacter</h2>
<p>Une question sur nos formations ? Envoyez-nous un message et nous vous répondrons au plus vite.</p>
<form class="contact-form" id="contactForm">
<div class="form-group">
<label for="name">Nom complet</label>
<input type="text" id="name" name="name" required>
</div>
<div class="form-group">
<label for="email">Adresse email</label>
<input type="email" id="email" name="email" required>
</div>
<div class="form-group">
<label for="subject">Sujet</label>
<input type="text" id="subject" name="subject" required>
</div>
<div class="form-group">
<label for="message">Message</label>
<textarea id="message" name="message" required></textarea>
</div>
<button type="submit" class="contact-submit">Envoyer</button>
<div class="form-message" id="formMessage"></div>
</form>
</div>
</section>
</main>
<footer>
<p>&copy; 2026 NextGN Formation - Formations Certibiocide & Techniques</p>
<p style="margin-top: 10px; opacity: 0.6;">Tous droits réservés — Gauthier Chombart & Nathan Chauwin — Formateurs indépendants</p>
</footer>
<script>
// Animation du compteur pour 309 stagiaires
document.addEventListener('DOMContentLoaded', function() {
const counterElement = document.querySelector('.stat-card:first-child .stat-number');
if (counterElement) {
const target = 309;
const duration = 2000; // 2 secondes
const startTime = Date.now();
function updateCounter() {
const now = Date.now();
const progress = Math.min((now - startTime) / duration, 1);
const currentNumber = Math.floor(progress * target);
counterElement.textContent = currentNumber;
if (progress < 1) {
requestAnimationFrame(updateCounter);
} else {
counterElement.textContent = target;
}
}
updateCounter();
}
});
// Progress bar au scroll
window.addEventListener('scroll', function() {
const scrollTop = window.scrollY;
const docHeight = document.documentElement.scrollHeight - window.innerHeight;
const scrollPercent = (scrollTop / docHeight) * 100;
const progressFill = document.querySelector('.progress-fill');
if (progressFill) {
progressFill.style.width = scrollPercent + '%';
}
});
// Gestion du formulaire de contact
const contactForm = document.getElementById('contactForm');
const formMessage = document.getElementById('formMessage');
if (contactForm) {
contactForm.addEventListener('submit', function(e) {
e.preventDefault();
const name = document.getElementById('name').value.trim();
const email = document.getElementById('email').value.trim();
const subject = document.getElementById('subject').value.trim();
const message = document.getElementById('message').value.trim();
// Validation
if (!name || !email || !subject || !message) {
showMessage('Tous les champs sont requis.', 'error');
return;
}
// Validation email
const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
if (!emailRegex.test(email)) {
showMessage('Veuillez entrer une adresse email valide.', 'error');
return;
}
// Construction du corps du message
const body = encodeURIComponent(
`Demande de contact\n\n` +
`Nom: ${name}\n` +
`Email: ${email}\n` +
`Sujet: ${subject}\n\n` +
`Message:\n${message}`
);
// Ouverture du client email
const mailtoLink = `mailto:gauthier.chombart@gmail.com?subject=${encodeURIComponent(subject)}&body=${body}`;
window.location.href = mailtoLink;
// Message de succès
showMessage('Votre message a été ouvert dans votre client email. Veuillez cliquer sur Envoyer pour confirmer.', 'success');
// Réinitialisation après 3 secondes
setTimeout(() => {
contactForm.reset();
formMessage.style.display = 'none';
}, 3000);
});
function showMessage(text, type) {
formMessage.textContent = text;
formMessage.className = `form-message ${type}`;
formMessage.style.display = 'block';
}
}
</script>
</body>
</html>