Files
Ustagammon/docs/adr/0004-outils-de-developpement-dans-docker.md

2.5 KiB

0004. Outils de développement dans Docker

  • Statut : accepté
  • Date : 2026-11-02
  • Décideurs : Claude Code

Contexte

La machine de développement est ancienne et doit rester légère. Le cadrage prévoit déjà que les chaînes d'outils lourdes (NDK, Emscripten, gnubg de référence) tournent dans Docker. La question s'est posée dès le premier outil de vérification, ShellCheck, absent du PC.

Décision

Rien n'est installé sur le PC en dehors de git, make, Docker et adb. Chaque outil tourne dans une image Docker de version figée, récupérée ou construite par make setup. Premier cas : ShellCheck (GPLv3), image koalaman/shellcheck-alpine:v0.10.0.

Alternatives écartées

  • Installer les outils avec apt : versions qui varient d'une machine à l'autre, et pollution du système.

Conséquences

  • make lint demande d'avoir lancé make setup une fois ; il le dit explicitement sinon.
  • Chaque nouvelle image est signalée avec sa licence dans CREDITS.md.

Amendements

2026-11-02 — Outils validés pour l'étape 0

Validé par Pierre. Tous tournent dans Docker et servent seulement à construire ou tester ; rien n'est embarqué dans l'application.

Outil Licence Image Usage
ShellCheck GPLv3 koalaman/shellcheck-alpine:v0.10.0 Lint des scripts shell
Node.js, @cucumber/gherkin MIT ustagammon/gherkin (docker/gherkin/) Validation des scénarios
Debian trixie, GNU Backgammon logiciels libres, GPLv3+ ustagammon/gnubg-reference gnubg de bureau de référence
gcc, make GPLv3 ustagammon/build-c (docker/build-c/) Compilation du moteur
GLib LGPL 2.1+ ustagammon/build-c Outils officiels de génération des données (makeweights, makebearoff)
Python 3 PSF ustagammon/build-c Comparateur des références
jq MIT ustagammon/build-c Lecture du JSON dans les tests
Emscripten MIT / NCSA emscripten/emsdk:3.1.64 Compilation du moteur en WebAssembly (étape 0b)

2026-11-02 — Outils de l'application web (étape 0d)

Validés par Pierre avec l'ADR 0009, dans Docker, jamais embarqués : TypeScript (tsc, Apache-2.0), Biome (MIT ou Apache-2.0), @cucumber/cucumber (MIT), dependency-cruiser (MIT).

2026-11-03 — Playwright pour les tests dans le navigateur

Validé par Pierre : Playwright 1.48.2 (Apache-2.0), image mcr.microsoft.com/playwright:v1.48.2-noble, utilisé seulement par make test-browser (Chromium et Firefox sans écran). Rien n'est embarqué.