Wire up Linux and Windows exports

export_presets.cfg is hand-written (no editor GUI available here): a
minimal preset per platform (name, platform, path, x86_64
architecture) is enough, since Godot fills every other option from
its platform defaults. tools/setup.sh now also fetches the matching
export templates (~1.2GB, cached outside the repo like the Godot
binary itself) -- note the directory it unpacks into uses a dot
before "stable" while .godot-version and the download URLs use a
hyphen, two different spellings of the same version that are easy to
conflate.

Both make export-linux and make export-windows now actually run and
produce a working package; tests/ and addons/gut/ are excluded from
the exported .pck (124KB vs 1.5MB before -- a dev-only dependency has
no business shipping to a child's machine). The Linux binary was
smoke-tested headless and boots cleanly; the Windows .exe could only
be confirmed as a valid PE32+ binary, since no Windows machine or
Wine is available in this environment -- flagged in
docs/testing/manual-checklist.md rather than claimed as verified.

This closes out every step in the launch prompt's "Ordre de
construction." README status lines updated to reflect the first
playable prototype rather than a bare skeleton.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
Denis Defolie
2026-10-11 17:46:34 +02:00
parent 493a8617d7
commit 19831807b0
7 changed files with 88 additions and 10 deletions
+8
View File
@@ -128,3 +128,11 @@ Ajouts à l'arborescence proposée :
- **Pas de verrouillage de région** pour cette version : les trois missions sont accessibles d'emblée (correspond à « une carte avec trois lieux accessibles » du §15). Le champ `unlocked_regions` existe toujours dans la sauvegarde mais n'est pas encore lu par la carte.
- **Audio des dictées** : `AudioManager.play_dictation()` existe et cherche `assets/audio/dictations/<audio_id>.ogg`, mais aucun fichier n'a encore été généré (étape « Graphismes et audio provisoires », à venir) ; l'absence de fichier produit un avertissement, jamais un plantage.
- **Non vérifié visuellement** : voir `docs/testing/manual-checklist.md`. Un test headless instancie `exercise_host.tscn` et simule les signaux (sans jamais déclencher le changement de scène final, qui casserait le processus de test), mais aucun rendu, tactile, clavier virtuel ou audio n'a été vérifié à l'écran.
## 15. Étape « Exports » : précisions prises en cours d'implémentation
- **`export_presets.cfg` écrit à la main**, pas via l'éditeur Godot (pas d'interface graphique disponible dans cet environnement). Un preset minimal — nom, plateforme, chemin d'export, architecture `x86_64` — suffit : Godot complète les options absentes avec ses valeurs par défaut pour la plateforme. Les deux exports (`make export-linux`, `make export-windows`) ont réellement été lancés et produisent un binaire qui démarre (vérifié en headless pour Linux ; pour Windows, seul le format du binaire a pu être vérifié — `file` confirme un PE32+ valide, mais aucun moyen de l'exécuter dans cet environnement : pas de Wine installé, pas de machine Windows).
- **Modèles d'export** : dossier nommé avec un point avant `stable` (`4.6.3.stable`), alors que `.godot-version` et les URLs de téléchargement utilisent un tiret (`4.6.3-stable`) — deux formats distincts à ne pas confondre. Téléchargés par `tools/setup.sh` (~1,2 Go), jamais commités (voir `.gitignore`, déjà configuré pour exclure `export_templates` implicitement via le chemin hors dépôt `~/.local/share/godot/`).
- **Exclusion de `tests/` et `addons/gut/` de l'export** (`exclude_filter` des deux presets) : ce sont des dépendances de développement, elles n'ont rien à faire dans un exécutable livré à un enfant. Vérifié par la taille du `.pck` (124 Ko après exclusion contre 1,5 Mo avant).
- **`export_presets.cfg` vérifié avant commit** : aucun champ de signature, de clé ou de chemin d'identifiants (ces champs n'existent que pour Android/iOS/macOS, hors périmètre). Rien à nettoyer.
- **Non vérifié** : exécution réelle du binaire Windows (pas d'environnement Windows ni Wine disponible ici) ; comportement sur une distribution Linux différente de celle de cet environnement (cahier des charges §13 : « tester sur les distributions cibles et leurs dépendances graphiques ») ; macOS, Android, iOS restent hors périmètre de cette version.