From 421ae4c2bf1562e8b201e233411997f0f20f8b8d Mon Sep 17 00:00:00 2001 From: "gauthier.chombart" Date: Mon, 20 Jul 2026 20:30:16 +0200 Subject: [PATCH] Unifie la correction des exercices en une page unique MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit La page de correction ne réagissait pas au dépôt d'un PDF : elle encodait le fichier en base64 dans localStorage puis redirigeait vers une page dédiée censée le relire. Ce relais échoue en file://, qui est le mode d'ouverture habituel des pages. corriger-exercice.html devient autonome : sélection de l'exercice, dépôt du PDF et affichage des réponses se font sur place, sans localStorage ni redirection. Les trois parseurs (BioCID, FDS, TP Nuisibles) sont regroupés derrière un format commun avec carrousel exercice par exercice, bandeau participants, correction chiffrée pour la partie FDS et annexe TP3. Ajoute un garde-fou signalant un PDF ne correspondant pas à l'exercice sélectionné, repointe les boutons « Corriger » de Exo_FDS et TP_Nuisibles vers la page unifiée, et supprime les trois pages de correction dédiées devenues sans référence. --- exercices/Exo_FDS.html | 2 +- exercices/TP_Nuisibles.html | 4 +- exercices/correction-biocid.html | 525 --------------- exercices/correction-fds.html | 622 ----------------- exercices/correction-tp-nuisibles.html | 668 ------------------- exercices/corriger-exercice.html | 889 ++++++++++++++++++++++--- 6 files changed, 794 insertions(+), 1916 deletions(-) delete mode 100644 exercices/correction-biocid.html delete mode 100644 exercices/correction-fds.html delete mode 100644 exercices/correction-tp-nuisibles.html 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
- ✔ Corriger un rendu + ✔ Corriger un rendu
diff --git a/exercices/TP_Nuisibles.html b/exercices/TP_Nuisibles.html index f216556..ef4c76d 100644 --- a/exercices/TP_Nuisibles.html +++ b/exercices/TP_Nuisibles.html @@ -707,7 +707,7 @@
- Corriger + Corriger
@@ -1160,7 +1160,7 @@
- Corriger + Corriger
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 -
- - -
-
- -
-

© 2026 Gauthier Chombart & Nathan Chauwin
Tous droits réservés — Formations Certibiocide & Techniques — Formateurs indépendants

-

Tous droits réservés — Gauthier Chombart & Nathan Chauwin — Formateurs indépendants

-
- - - - - 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

- -
-
- -
-
- - -
- -
- - -
-
- -
-

© 2026 Gauthier Chombart & Nathan Chauwin
Tous droits réservés — Formations Certibiocide & Techniques — Formateurs indépendants

-

Tous droits réservés — Gauthier Chombart & Nathan Chauwin — Formateurs indépendants

-
- - - - - 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

-
- -

-
-
- -
-

© 2026 Gauthier Chombart & Nathan Chauwin
Tous droits réservés — Formations Certibiocide & Techniques — Formateurs indépendants

-

Tous droits réservés — Gauthier Chombart & Nathan Chauwin — Formateurs indépendants

-
- - - - - 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

- -
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

+