mirror of
https://github.com/deunix-educ/aventuriers-des-mots.git
synced 2026-10-13 02:11:58 +02:00
91dcd7e07a216e353212e14f075987a366dd7fc2
AnswerValidator.validate_sentence_correction compared the typed correction to the expected word with raw string equality, with none of the tolerance already built for dictations: no case folding, no typographic-apostrophe or whitespace normalization, no decomposed- accent handling. Tapping "petit" and typing "petits" could fail for reasons having nothing to do with the grammar point being tested (e.g. a stray capital from autocapitalization), which violates the "an ambiguous answer is never auto-marked wrong" invariant. Found this while chasing a manual bug report: an automated test reproducing the user's exact click sequence (tap once, type, submit) did NOT reproduce the failure, which actually pointed at the real gap -- the logic worked for byte-identical input, but had zero tolerance for anything else. Now reuses TextNormalizer (built for dictation analysis) before comparing, case-insensitively, while still showing the child's raw typed text in the feedback. Three new tests cover case, incidental whitespace, and decomposed accents. Rebuilt both exports so the shipped binaries include the fix. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
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 signauxscripts/: logique pure (correction, pédagogie) et chargement des donnéesdata/: contenu pédagogique en JSON, validé contre des schémasassets/: graphismes et audio (provisoires à ce stade, voirassets/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.
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).
Languages
GDScript
86.9%
Python
7.3%
Shell
4.3%
Makefile
1.5%