web/ : le moteur tourne dans un Web Worker (module ES) ; la page de test donne le meilleur coup d'une position et son temps de calcul ; la page de mesure chronomètre les positions de référence, mesure la taille téléchargée et la mémoire, compare aux seuils de l'étape 0b et produit un rapport à copier. make bench fait la même mesure sous Node, make deploy-web sert les pages sur le réseau local. Guide de test pour le Fairphone 4 dans docs/guide-test-etape-0.md. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
3.0 KiB
3.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 dansengine/gnubg/PROVENANCE.md), avec ses poidsgnubg.weightsdansengine/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 :
- CBG, portage Android de GNU Backgammon (GPLv3) —
https://github.com/clavierhaus/gnubg-android ; son fichier
jni-bridge/src/stubs.ca servi de repère pour isoler le cœur de gnubg.
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 dedocs/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 detests/reference/results/et les donnéesgnubg.wd,gnubg_os0.bd,gnubg_ts0.bdsont 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 outilsmakeweightsetmakebearofflancés au build ; le moteur embarqué n'en contient rien), Python 3 (licence PSF, compatible GPL), qui exécute le comparateurtests/reference/compare.py, et jq (licence MIT), qui lit les JSON danstests/test_reference.sh. Aucun des deux n'est utilisé sur le PC. Le serveur HTTP de Python sert aussi la page de test (make deploy-web). - 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 lancemake bench.
Remerciements
À l'Atelier du Huit, café associatif de Cugnaux, et à Philippe, qui y transmet le jeu.