Files
Ustagammon/CREDITS.md
T
Pierre MARTINandClaude Opus 5.5 a8636b3f83 Plateau jouable en PWA : interface, Web Worker, stockage, service worker
L'application est à la racine du site : plateau en SVG, saisie au toucher
(pion puis case d'arrivée, proposées à partir du moteur), boutons du jet,
du videau et de nouvelle partie, coup de l'ordinateur affiché avec son
temps, fin de partie, reprise depuis localStorage, aide lue dans les
copies de docs/. Le moteur tourne dans le Web Worker existant ; main.ts
est le seul assembleur (nouvelles règles dependency-cruiser). Le service
worker met tout le site en cache, avec une empreinte du contenu comme
version. Les pages de test du moteur passent sous /moteur/. Politique de
sécurité du contenu dans le Caddyfile ; make test-browser joue une partie
dans Chromium et Firefox sans écran (Playwright, hors de make test).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-02 21:47:12 +01:00

4.0 KiB

Crédits

Ustagammon est un logiciel libre sous licence GPLv3 (voir LICENSE). Les contenus pédagogiques (leçons, textes) sont sous licence CC BY-SA 4.0.

Moteur

  • GNU Backgammon — https://www.gnu.org/software/gnubg/ Copyright © les auteurs de GNU Backgammon. Licence GPLv3 ou ultérieure. Ustagammon s'appuie entièrement sur son moteur pour les règles, les coups, le videau et les évaluations. Copie non modifiée de son cœur dans engine/gnubg/ (commit 14b6798 ; liste dans engine/gnubg/PROVENANCE.md), avec ses poids gnubg.weights dans engine/data/.
  • Table d'équité de match Kazaross-XG2 (engine/data/Kazaross-XG2.xml), Copyright © 2011 Neil Kazaross, transcrite pour gnubg par Michael Petch ; distribuée avec gnubg, copie libre sous réserve de garder sa notice.

Étudié comme référence de lecture, sans reprise de code :

Outils de développement

  • ShellCheck (GPLv3), analyse des scripts shell, utilisé via Docker.
  • Node.js (MIT), image node:22.11.0-alpine3.20, et @cucumber/gherkin (MIT), analyseur Gherkin qui valide les scénarios de docs/scenarios/.
  • Debian (image Docker debian:trixie, logiciels libres sous leurs licences respectives), base de l'image du gnubg de référence.
  • GNU Backgammon (GPLv3 ou ultérieure), compilé dans Docker au commit 14b67984737ded0f6de43d63dcb789f729d9b06b depuis https://git.savannah.gnu.org/git/gnubg.git, sert de référence aux tests (docker/gnubg-reference/, tests/reference/). Les résultats de tests/reference/results/ et les données gnubg.wd, gnubg_os0.bd, gnubg_ts0.bd sont produits par ce programme.
  • Image ustagammon/build-c (docker/build-c/Dockerfile), construite sur Debian trixie : gcc (GPLv3 avec exception d'exécution), make (GPLv3), GLib (LGPL 2.1 ou ultérieure, uniquement pour les outils makeweights et makebearoff lancés au build ; le moteur embarqué n'en contient rien), Python 3 (licence PSF, compatible GPL), qui exécute le comparateur tests/reference/compare.py, et jq (licence MIT), qui lit les JSON dans tests/test_reference.sh. Aucun des deux n'est utilisé sur le PC. Le serveur HTTP de Python sert aussi le site sur le réseau local (make deploy).
  • Emscripten (licence MIT et University of Illinois/NCSA), image Docker emscripten/emsdk:3.1.64, compile le moteur en WebAssembly (make engine-wasm). Le code JavaScript qu'il génère (build/wasm/engine.mjs) et sa bibliothèque C (musl, licence MIT) sont inclus dans le moteur WebAssembly, licences compatibles GPLv3. L'image fournit aussi Node.js (MIT), qui rejoue la suite de contrat sur le moteur WebAssembly et lance make bench.
  • Image ustagammon/web (docker/web/Dockerfile), construite sur node:22.11.0-alpine3.20 : TypeScript 6.0.3 (Apache-2.0), qui compile app/ ; @types/node 22.20.5 (MIT), types de Node pour les tests ; Biome 2.5.15 (MIT ou Apache-2.0), lint et formatage ; @cucumber/cucumber 12.9.0 (MIT), qui exécute les scénarios de docs/scenarios/ ; dependency-cruiser 18.6.0 (MIT), qui vérifie les règles d'architecture. Ces outils et leurs dépendances servent seulement à compiler et tester : rien n'est embarqué dans l'application.
  • Playwright 1.48.2 (Apache-2.0), image Docker mcr.microsoft.com/playwright:v1.48.2-noble (Chromium, Firefox, WebKit, sous leurs licences libres) et paquet npm playwright, installé dans build/browser-tools/ : joue une partie dans des navigateurs sans écran (make test-browser). Outil de test seulement, hors de make test.

Serveur de production

  • Caddy (Apache-2.0), image caddy:2.8.4-alpine, serveur statique du site publié sur CapRover (deploy/).

Remerciements

À l'Atelier du Huit, café associatif de Cugnaux, et à Philippe, qui y transmet le jeu.