Fusion du travail du sous-agent (branche plateau-domaine-travail) ; plan supprimé à la clôture, son résultat est repris dans la merge request. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
69 lines
3.7 KiB
Markdown
69 lines
3.7 KiB
Markdown
# 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 :
|
|
|
|
- **CBG**, portage Android de GNU Backgammon (GPLv3) —
|
|
https://github.com/clavierhaus/gnubg-android ; son fichier
|
|
`jni-bridge/src/stubs.c` a 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 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 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 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.
|
|
|
|
## 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.
|