Denis Defolie b0d11eb831 Add regression tests for the sentence-correction tap-and-retype flow
Investigating a manual bug report ("typing petits as the correction
for petit doesn't validate"): both a direct test of
sentence_correction.tscn and a full exercise_host integration test
(mission_02_pont_des_phrases) tap the faulty token, type its exact
expected correction, and submit -- both pass, confirming the
validator and the scene wiring correctly accept "petits" when the
word is tapped once and the correction is typed before pressing
Valider.

Caught along the way: a first draft of the direct-scene test used a
lambda connected to answer_submitted to capture its parameters into
outer local variables -- GDScript closures capture locals by value
at creation time, so reassigning them inside the lambda never
reaches the outer scope. Switched to GUT's
assert_signal_emitted_with_parameters, the supported way to inspect
signal arguments in a test.

No fix applied yet: these tests confirm the intended interaction
works, but don't rule out a real fragility noticed while reading the
code -- toggling a token off deletes its LineEdit (and whatever was
typed in it) immediately, so an accidental second tap on the same
word silently discards the correction. Needs the user's exact click
sequence to confirm before changing behavior.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-10-11 18:08:54 +02:00
2026-10-11 17:46:34 +02:00
2026-10-11 17:46:34 +02:00
2026-10-11 17:46:34 +02:00
2026-10-11 17:46:34 +02:00
2026-10-11 17:46:34 +02:00

Les Aventuriers des mots

Jeu éducatif de français pour les CE1-CE2 (7-9 ans) : une aventure 2D hors ligne, avec une carte à explorer, un personnage guide, et des exercices de grammaire, d'orthographe et de dictées.

Projet open source, en développement. Statut actuel : premier prototype jouable (périmètre du §15 du cahier des charges) — démarrage, profils, carte à trois lieux, trois types d'exercices, sauvegardes, exports Linux/Windows. Contenu pédagogique encore minimal (voir docs/specs/decisions.md pour les décisions de cadrage et docs/specs/cahier-des-charges.md pour la spécification complète).

Pile technique

  • Godot 4.6 (GDScript typé)
  • Exercices et contenu pédagogique en données JSON, validées au chargement
  • Tests headless (GUT), lint/format GDScript (gdtoolkit)

Démarrer

make setup   # installe Godot (pinné), GUT et gdtoolkit en local, rien n'est commité
make run     # lance le jeu

Commandes

Commande Effet
make setup installe l'outillage (lint, tests, modèles d'export)
make run lance le jeu
make lint / make format analyse statique et formatage GDScript
make validate-data valide les JSON de data/
make test tests headless
make check lint + validate-data + test, à passer avant chaque commit
make export-linux / make export-windows exports dans build/

Structure

  • autoload/ : modules globaux (gestion du jeu, profils, progression, exercices, sauvegardes, audio, réglages)
  • scenes/ : scènes Godot, autonomes et communiquant par signaux
  • scripts/ : logique pure (correction, pédagogie) et chargement des données
  • data/ : contenu pédagogique en JSON, validé contre des schémas
  • assets/ : graphismes et audio (provisoires à ce stade, voir assets/CREDITS.md)
  • tests/ : tests headless (GUT)
  • docs/specs/ : cahier des charges et décisions de cadrage

Licence

Code et contenu sous GNU Affero General Public License v3.

S
Description
Les Aventuriers des mots Jeu éducatif de français du CE1 au CM2 (7-11 ans) : une aventure 2D hors ligne, avec une carte à explorer, un personnage guide, et des exercices de grammaire, d'orthographe et de dictées. Projet open source, en développement. Statut actuel : version 0.9.2, jouable hors ligne sur Linux, Android et dans un navigateur (versions testées à la main), avec des exports Windows, macOS et ChromeOS non encore testés sur matériel — profils, sauvegardes (avec export et restauration dans l'espace adulte), étoiles et collection d'objets, sons et musique, réglages (volumes, taille du texte, animations), tableau de progrès pour l'adulte, trois types d'exercices (choix multiple, correction de phrase, dictée), CE1, CE2, CM1 et CM2 en trois tableaux chacun (homophones, verbes, orthographe des mots), 111 missions. Contenu pédagogique entièrement en brouillon (draft, à valider) et voix des dictées provisoires (voir assets/CREDITS.md ; voir docs/specs/decisions.md pour les décisions de cadrage et docs/specs/cahier-des-charges.md pour la spécification complète).
Readme AGPL-3.0 3.1 MiB
Languages
GDScript 86.9%
Python 7.3%
Shell 4.3%
Makefile 1.5%