diff --git a/exercices/Exo_FDS.html b/exercices/Exo_FDS.html
index 8975baa..9a336da 100644
--- a/exercices/Exo_FDS.html
+++ b/exercices/Exo_FDS.html
@@ -962,7 +962,7 @@ span.hotspot { display: inline; padding: 0 2px; -webkit-box-decoration-break: cl
Merci de renseigner au moins le nom du groupe.
diff --git a/exercices/correction-biocid.html b/exercices/correction-biocid.html
deleted file mode 100644
index 9b3f242..0000000
--- a/exercices/correction-biocid.html
+++ /dev/null
@@ -1,525 +0,0 @@
-
-
-
-
-
-
Correction BioCID — Certibiocide
-
-
-
-
-
-
-
-
-
-
Certibiocide — Correction d'exercice
-
Plateforme BioCID — Lecture du rendu
-
-
-
📄
-
Déposez le PDF du groupe ici
-
ou cliquez pour sélectionner le fichier exporté depuis l'exercice BioCID
-
-
-
-
-
-
-
-
-
-
-
-
-
questions renseignées
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/exercices/correction-fds.html b/exercices/correction-fds.html
deleted file mode 100644
index 68b90c7..0000000
--- a/exercices/correction-fds.html
+++ /dev/null
@@ -1,622 +0,0 @@
-
-
-
-
-
-
Correction FDS, FT & Étiquettes — Certibiocide
-
-
-
-
-
-
-
-
-
-
Certibiocide — Correction de TD
-
FDS, FT & Étiquettes — Correction du rendu
-
-
-
📄
-
Déposez le PDF du groupe ici
-
ou cliquez pour sélectionner le fichier exporté depuis le TD FDS, FT & Étiquettes
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/exercices/correction-tp-nuisibles.html b/exercices/correction-tp-nuisibles.html
deleted file mode 100644
index 1034bd1..0000000
--- a/exercices/correction-tp-nuisibles.html
+++ /dev/null
@@ -1,668 +0,0 @@
-
-
-
-
-
-
Correction TP Nuisibles — Certibiocide
-
-
-
-
-
-
-
-
-
-
Certibiocide — Correction de TP
-
TP Nuisibles — Lecture du rendu
-
-
-
📄
-
Déposez le PDF du stagiaire ici
-
ou cliquez pour sélectionner le fichier exporté depuis le TP
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
questions répondues
-
-
-
-
-
Analyse de risques
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/exercices/corriger-exercice.html b/exercices/corriger-exercice.html
index cd004d7..2cff3ad 100644
--- a/exercices/corriger-exercice.html
+++ b/exercices/corriger-exercice.html
@@ -10,7 +10,7 @@
body {
padding: calc(36px + 70px) 20px 80px;
}
-.wrap { max-width: 820px; margin: 0 auto; }
+.wrap { max-width: 860px; margin: 0 auto; }
.eyebrow {
font-family: 'Syne', sans-serif;
font-size: 12px;
@@ -142,6 +142,183 @@ h1 {
#status.hint { color: var(--text-muted); }
#status.loading { color: var(--amber); }
#status.error { color: var(--coral); }
+
+/* ======================= RÉSULTAT ======================= */
+#result { display: none; }
+#setup.hidden { display: none; }
+
+.toprow {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ gap: 14px;
+ margin-bottom: 18px;
+ flex-wrap: wrap;
+}
+#fileName { font-size: 12.5px; color: var(--text-muted); }
+.btn-reset {
+ font-family: 'Syne', sans-serif;
+ background: transparent;
+ border: 1px solid var(--border);
+ border-radius: 20px;
+ padding: 6px 16px;
+ font-size: 12px;
+ font-weight: 600;
+ cursor: pointer;
+ color: var(--text-muted);
+}
+.btn-reset:hover { border-color: var(--amber); color: var(--amber); }
+
+/* BANDEAU PARTICIPANTS */
+#participantsBanner {
+ background: linear-gradient(135deg, var(--amber) 0%, #D8923A 100%);
+ border-radius: 16px;
+ padding: 20px 26px;
+ margin-bottom: 24px;
+ display: flex;
+ align-items: center;
+ gap: 16px;
+ color: #fff;
+ flex-wrap: wrap;
+}
+#participantsBanner .pb-icon {
+ width: 48px; height: 48px;
+ border-radius: 12px;
+ background: rgba(255,255,255,0.2);
+ display: flex; align-items: center; justify-content: center;
+ font-size: 24px;
+ flex-shrink: 0;
+}
+#participantsBanner .pb-group {
+ font-family: 'Syne', sans-serif;
+ font-size: 11px;
+ font-weight: 700;
+ letter-spacing: 0.06em;
+ text-transform: uppercase;
+ opacity: 0.85;
+ margin-bottom: 4px;
+}
+#participantsBanner .pb-names {
+ font-family: 'Syne', sans-serif;
+ font-size: 18px;
+ font-weight: 700;
+}
+#participantsBanner .pb-meta {
+ margin-left: auto;
+ font-size: 12.5px;
+ text-align: right;
+ opacity: 0.92;
+ line-height: 1.5;
+}
+
+.progress-row { display: flex; align-items: center; gap: 10px; margin-bottom: 30px; font-size: 13px; color: var(--text-muted); }
+.progress-track { flex: 1; height: 7px; background: rgba(0,0,0,0.08); border-radius: 6px; overflow: hidden; }
+.progress-fill { height: 100%; background: var(--amber); transition: width 0.4s ease; }
+.progress-row strong { font-family: 'Syne', sans-serif; color: var(--text); }
+
+/* CARROUSEL */
+.carousel-wrap { margin-bottom: 36px; }
+.carousel-nav {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ margin-bottom: 16px;
+}
+.nav-btn {
+ width: 38px; height: 38px;
+ border-radius: 50%;
+ border: 1px solid var(--border);
+ background: #fff;
+ font-size: 16px;
+ cursor: pointer;
+ display: flex; align-items: center; justify-content: center;
+ transition: background 0.15s, border-color 0.15s;
+}
+.nav-btn:hover { background: var(--amber-light); border-color: var(--amber); }
+.nav-btn:disabled { opacity: 0.3; cursor: default; }
+.nav-btn:disabled:hover { background: #fff; border-color: var(--border); }
+.dots { display: flex; gap: 7px; }
+.dot { width: 8px; height: 8px; border-radius: 50%; background: rgba(0,0,0,0.15); cursor: pointer; transition: background 0.15s, transform 0.15s; }
+.dot.active { background: var(--amber); transform: scale(1.3); }
+
+.theme-panel {
+ background: #fff;
+ border: 1px solid var(--border);
+ border-radius: 18px;
+ padding: 26px 28px;
+ min-height: 360px;
+}
+.theme-head {
+ display: flex;
+ align-items: center;
+ gap: 12px;
+ margin-bottom: 18px;
+}
+.theme-icon {
+ width: 44px; height: 44px;
+ border-radius: 12px;
+ display: flex; align-items: center; justify-content: center;
+ font-size: 22px;
+ flex-shrink: 0;
+}
+.theme-title { font-family: 'Syne', sans-serif; font-weight: 800; font-size: 17px; }
+.theme-count { font-size: 12.5px; color: var(--text-muted); margin-left: auto; white-space: nowrap; }
+
+.cards { display: flex; flex-direction: column; gap: 10px; }
+.qcard {
+ background: var(--bg);
+ border: 1px solid var(--border);
+ border-radius: 12px;
+ padding: 14px 18px;
+ display: flex;
+ gap: 12px;
+ align-items: flex-start;
+ transition: box-shadow 0.2s;
+}
+.qcard:hover { box-shadow: 0 4px 16px rgba(0,0,0,0.06); }
+.qcard .badge {
+ width: 22px; height: 22px;
+ border-radius: 50%;
+ display: flex; align-items: center; justify-content: center;
+ font-size: 12px;
+ flex-shrink: 0;
+ margin-top: 1px;
+}
+.qcard .badge.ok { background: var(--teal-light); color: var(--teal); }
+.qcard .badge.ko { background: var(--coral-light); color: var(--coral); }
+.qcard .badge.miss { background: rgba(0,0,0,0.06); color: var(--text-muted); }
+.qcard .qtext { flex: 1; min-width: 0; }
+.qcard .qlabel { font-weight: 600; font-size: 13.5px; margin-bottom: 4px; }
+.qcard .qanswer { font-size: 13.5px; white-space: pre-wrap; overflow-wrap: anywhere; }
+.qcard .qanswer.empty { color: var(--text-muted); font-style: italic; }
+.qcard .qexpected { font-size: 12.5px; color: var(--text-muted); margin-top: 4px; }
+.qcard .qexpected strong { color: var(--teal); }
+
+/* ANNEXES (TP3 …) */
+.annex {
+ background: #fff;
+ border: 1px solid var(--border);
+ border-radius: 18px;
+ padding: 24px 28px;
+ margin-bottom: 24px;
+}
+.annex h2 {
+ font-family: 'Syne', sans-serif;
+ font-size: 15px;
+ font-weight: 800;
+ margin-bottom: 14px;
+}
+.annex .kv { font-size: 13.5px; margin-bottom: 6px; }
+.annex .kv span { color: var(--text-muted); }
+.table-scroll { overflow-x: auto; margin-top: 14px; }
+.annex table { width: 100%; border-collapse: collapse; font-size: 13px; min-width: 520px; }
+.annex th, .annex td {
+ border: 1px solid var(--border);
+ padding: 8px 10px;
+ text-align: left;
+ vertical-align: top;
+}
+.annex th { background: var(--amber-light); font-family: 'Syne', sans-serif; font-size: 12px; }
@@ -158,56 +335,85 @@ h1 {
-
Certibiocide — Correction des rendus
-
Corriger un exercice
-
Sélectionnez l'exercice concerné, puis déposez le fichier PDF exporté par le groupe. La lecture du rendu s'ouvre automatiquement.
+
+
Certibiocide — Correction des rendus
+
Corriger un exercice
+
Sélectionnez l'exercice concerné, puis déposez le fichier PDF exporté par le groupe. Les réponses s'affichent directement ici, exercice par exercice.
-
1 Choisissez l'exercice à corriger
-
-
-
-
+
1 Choisissez l'exercice à corriger
+
-
-
-
-
-
-
-
-
2 Déposez le rendu PDF
-
-
📄
-
Déposez le PDF du groupe ici
-
ou cliquez pour sélectionner le fichier exporté depuis l'exercice
-
Choisir un fichier
-
-
-
Sélectionnez d'abord un exercice ci-dessus.
+
+
+
Certibiocide — Correction d'exercice
+
+
+
+
+
+
+
+
+
+
+
+
@@ -216,16 +422,481 @@ h1 {
Tous droits réservés — Gauthier Chombart & Nathan Chauwin — Formateurs indépendants
+