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
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:
co-authored by
Claude Sonnet 5
parent
b2292de122
commit
c04a81cfec
@@ -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>"
|
||||
|
||||
@@ -102,14 +102,19 @@ regroupement à chaque appel.
|
||||
scénarios) — sanitizée (`sanitize_scenario_config`) avant lecture. Si
|
||||
au moins un scénario existe, s'y ajoute (fonction privée
|
||||
`_render_scenario_player`) la mise en situation RÉELLE et interactive :
|
||||
l'apprenant lit la situation, choisit une option, découvre la
|
||||
conséquence de SON choix et si c'était le bon, puis passe au scénario
|
||||
suivant. Les scénarios gardent l'ORDRE d'écriture du créateur (jamais
|
||||
mélangés, contrairement à Association/Memory/Mots mêlés — ce sont des
|
||||
mises en situation séquentielles, pas des éléments à faire
|
||||
correspondre/retrouver). Réutilise les classes visuelles du Quiz
|
||||
(`.docQuizOptions`/`.docQuizFeedback`/`.docQuizNextBar`/
|
||||
`.docQuizQuestionText`) plutôt que de dupliquer ces règles. Embarqué en
|
||||
l'apprenant lit la situation, choisit une option, puis la conséquence
|
||||
de SON choix REMPLACE l'affichage de la situation (les boutons de
|
||||
choix disparaissent avec elle) avant de passer au scénario suivant —
|
||||
volontairement PAS le comportement du Quiz, où la question resterait
|
||||
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"). Les scénarios gardent l'ORDRE
|
||||
d'écriture du créateur (jamais mélangés, contrairement à
|
||||
Association/Memory/Mots mêlés — ce sont des mises en situation
|
||||
séquentielles, pas des éléments à faire correspondre/retrouver).
|
||||
Réutilise les classes visuelles du Quiz (`.docQuizOptions`/
|
||||
`.docQuizFeedback`/`.docQuizNextBar`/`.docQuizQuestionText`) plutôt que
|
||||
de dupliquer ces règles. Embarqué en
|
||||
JSON dans un attribut `data-scenario-config`, échappé pour l'HTML —
|
||||
même principe que les autres mini-jeux, aucun aller-retour serveur
|
||||
pendant qu'on joue. Comme l'Association/Memory/Mots mêlés (mais
|
||||
|
||||
Reference in New Issue
Block a user