La consequence du Scenario remplace la situation, pas un feedback Quiz
Build and deploy / test-python (push) Failing after 1m2s
Build and deploy / test-js (push) Successful in 51s
Build and deploy / lint-python (push) Failing after 58s
Build and deploy / lint-js (push) Failing after 51s
Build and deploy / build-and-push (push) Skipped
Build and deploy / deploy (push) Skipped
Build and deploy / sonarqube (push) Failing after 1m1s

Retour utilisateur : "ce n'est pas un quiz, la consequence s'affiche a
la place de la situation precedente". L'ancien design affichait la
situation ET les choix en permanence avec un encart de feedback separe
en dessous (calque sur le Quiz). Desormais un seul bloc de texte
(.docScenarioSituation) sert successivement a la situation PUIS, une
fois un choix fait, a la consequence a sa place ; les boutons de choix
disparaissent avec elle. Supprime l'element .docScenarioConsequence
devenu inutile.

Verifie via simulation DOM reelle (jsdom) : la consequence remplace bien
le texte de la situation (jamais affichee a cote), les choix
disparaissent, le retour a une situation neutre au scenario suivant/au
redemarrage fonctionne.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
william
2026-09-20 17:10:56 +02:00
co-authored by Claude Sonnet 5
parent b2292de122
commit c04a81cfec
3 changed files with 43 additions and 30 deletions
@@ -467,10 +467,17 @@ def _render_scenario_player(config: dict[str, Any]) -> str:
scénarios gardent l'ORDRE d'écriture du créateur (contrairement à
l'Association/Memory/Mots mêlés, jamais mélangés) : ce sont des mises
en situation séquentielles, pas des éléments à faire correspondre ou
retrouver — un mélange n'aurait ici aucun sens pédagogique. Réutilise
les classes visuelles du Quiz (.docQuizOptions/.docQuizFeedback/
.docQuizNextBar/.docQuizQuestionText) plutôt que de dupliquer ces
règles, même esprit que .docAssocCard/.docMinigameRestartBar."""
retrouver — un mélange n'aurait ici aucun sens pédagogique. Un seul
bloc de texte (.docScenarioSituation) sert successivement à afficher
la situation PUIS, une fois un choix fait, la conséquence à sa place
(les boutons de choix disparaissent aussi) — volontairement PAS le
comportement du Quiz, où la question reste affichée à côté d'un
encart de feedback séparé (retour utilisateur du 20/09/2026 : "ce
n'est pas un quiz, la conséquence s'affiche à la place de la
situation précédente"). Réutilise les classes visuelles du Quiz
(.docQuizOptions/.docQuizFeedback/.docQuizNextBar/
.docQuizQuestionText) plutôt que de dupliquer ces règles, même esprit
que .docAssocCard/.docMinigameRestartBar."""
config_json = html_lib.escape(json.dumps({"scenarios": config["scenarios"]}), quote=True)
return (
f'<div class="docScenarioPlayer" data-scenario-config="{config_json}">'
@@ -479,7 +486,6 @@ def _render_scenario_player(config: dict[str, Any]) -> str:
f'<div class="docAssocMeta"><span class="docScenarioProg"></span></div>'
f'<div class="docScenarioSituation docQuizQuestionText"></div>'
f'<div class="docScenarioChoices docQuizOptions"></div>'
f'<div class="docScenarioConsequence docQuizFeedback"></div>'
f'<div class="docQuizNextBar">'
f'<button type="button" class="docQuizNextBtn docScenarioNextBtn">Scénario suivant</button>'
f"</div>"