mirror of
https://github.com/deunix-educ/aventuriers-des-mots.git
synced 2026-10-13 02:11:58 +02:00
ebabe91821b39b9cb039c1bdd56fddae4b64b95b
scripts/profiles/: SaveIO handles real file I/O in user://saves (one file per profile_id, atomic write via temp-file-then-rename, backup copy before each overwrite, corrupted-main falls back to backup, schema-invalid content is rejected like corruption). SaveMigration and SaveFactory are pure; SaveMigration refuses a schema_version it doesn't recognize (older or newer) rather than guessing. ProgressUpdates is pure and wires ReviewScheduler/DifficultyManager onto a save's skills dict, including per-session overdue-review marking. The three autoloads (SaveManager, ProfileManager, ProgressManager) stay thin: in-memory current-profile state and orchestration only, no logic of their own, so the actual behavior lives in the tested pure/file-IO modules above rather than in untestable glue. 26 new headless tests, including the failure modes called out in the launch prompt: a truncated .tmp file never corrupts the readable save, a corrupted main file falls back to its backup, two profiles never mix (down through the real autoload layer, not just SaveIO), and an unknown future schema_version is rejected outright. 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 : squelette technique (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/ (à partir de l'étape export) |
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%