Session 0 du plan — aucun code applicatif. Cadre - 5 ADR : licences, Phaser 4 hors budget initial, frontière Svelte/Phaser, filières A/B des assets, kréyòl langue principale (norme gwadloupéyenne). - LICENSE (AGPL-3.0-or-later, texte canonique gnu.org), LICENSE-CONTENT (CC BY-SA 4.0). Le jeu est une œuvre collective : aucun compositing sur un média SA ou NC, contrainte vérifiée par script. - Audit des 7 sources avec endpoints réellement appelés. TRAMIL vérifié en direct : « all rights reserved » et page de mentions légales en 404. iNaturalist mesuré à 93 % de CC BY-NC sur un échantillon de 305 photos. Outillage (tools/data/, hors bundle, zéro appel réseau au runtime) - verify:taxa, ingest:commons, build:dataset, validate:data, test:porte, build:credits, check:audio. - validate.mjs est la porte exigée par le brief §2 : le build échoue si une épreuve s'appuie sur un média non validé, non photographique ou de filière B, sur une attribution sans auteur, sur un compositing SA/NC, ou sur une entrée publiée sans relecture kréyòl. test:porte prouve les 9 refus + 1 témoin. Données - 13 entrées (8 fruits + 5 plantes du module Pa touché) vérifiées contre Wikidata ET GBIF : 13/13 ACCEPTED, 0 divergence avec la graine. - 130 candidats Commons sous licence libre, 39 pré-inscrits, 0 validé — aucun agent ne peut valider un média. Écarts signalés, non corrigés en silence - Le champ danger de la graine a deux formes (note vs resume) : normalisé. - 3 identifiants divergent du nom kréyòl au-delà des accents : non tranchés. - comestible:false sur akée et pomme-cajou : sous-estimation prudente assumée. - Le mancenillier n'a aucune photographie moderne dans ses 3 premiers candidats — l'entrée la plus critique est la moins bien servie. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
73 lines
3.4 KiB
Markdown
73 lines
3.4 KiB
Markdown
# KI FWI SA YÉ ?
|
|
|
|
Jeu éducatif libre qui apprend aux enfants des Antilles à reconnaître les fruits, les arbres
|
|
et les plantes de leurs îles. Le kréyòl est la langue principale ; le français en est la
|
|
traduction.
|
|
|
|
Porté par **ORGANISATION KA INTERNATIONALE** — [o-k-i.net](https://o-k-i.net).
|
|
|
|
> **État : session 0 terminée.** Cadre juridique, outillage de données et dataset vérifié.
|
|
> Aucun code applicatif n'est encore écrit. Voir [`docs/plan.md`](docs/plan.md).
|
|
|
|
## Le principe
|
|
|
|
Le jeu enseigne la reconnaissance du **réel**. Deux filières d'assets, jamais mélangées :
|
|
|
|
- **Filière A — vérité.** Photographies réelles. Seule filière autorisée pour tout ce qui
|
|
sert à identifier : épreuves, indices, fiches.
|
|
- **Filière B — décor.** Images générées. Fonds, sprites, badges. Jamais une épreuve.
|
|
|
|
Les modèles de diffusion connaissent mal le corossol, à peine la quenette, presque pas le
|
|
zikak. Ils produisent des fruits *plausibles et faux*. Un jeu d'identification bâti sur des
|
|
assets générés apprend l'erreur.
|
|
|
|
Cette règle n'est pas une consigne : c'est un script. `npm run validate:data` fait échouer
|
|
le build si une épreuve s'appuie sur un média non validé, et `npm run test:porte` prouve que
|
|
ce refus se produit.
|
|
|
|
## Commandes
|
|
|
|
```bash
|
|
npm install
|
|
npm run verify:taxa # vérifie la taxonomie contre Wikidata et GBIF
|
|
npm run ingest:commons # remonte les photos candidates sous licence libre
|
|
npm run build:dataset # compose les entrées (--force pour écraser)
|
|
npm run validate:data # la porte : schéma + règles métier
|
|
npm run test:porte # prouve que la porte refuse ce qu'elle doit refuser
|
|
npm run build:credits # régénère CREDITS.md depuis les données
|
|
npm run check:audio # liste les enregistrements kréyòl manquants
|
|
```
|
|
|
|
Ces scripts vivent dans `tools/data/`, hors du bundle. **Aucun appel réseau ne subsistera au
|
|
runtime du jeu** : tout est cuit au build.
|
|
|
|
## Où regarder
|
|
|
|
| Fichier | Contenu |
|
|
|---|---|
|
|
| [`docs/plan.md`](docs/plan.md) | les 7 sessions et leurs portes de sortie mesurables |
|
|
| [`docs/adr/`](docs/adr/) | les cinq décisions d'architecture et leurs motifs |
|
|
| [`docs/audit-sources.md`](docs/audit-sources.md) | ce qu'on prend à chaque source, sous quelle licence |
|
|
| [`docs/a-arbitrer.md`](docs/a-arbitrer.md) | ce qu'un humain doit trancher avant publication |
|
|
| [`docs/kreyol-a-relire.md`](docs/kreyol-a-relire.md) | les incertitudes orthographiques, signalées non corrigées |
|
|
| [`docs/planche-relecture-medias.md`](docs/planche-relecture-medias.md) | les 130 photos candidates à valider |
|
|
| [`fruits.schema.json`](fruits.schema.json) | le contrat des données |
|
|
| [`CREDITS.md`](CREDITS.md) | attributions, généré — ne pas éditer |
|
|
|
|
## Licences
|
|
|
|
- **Code :** [AGPL-3.0-or-later](LICENSE)
|
|
- **Contenu OKI :** [CC BY-SA 4.0](LICENSE-CONTENT)
|
|
- **Médias tiers :** licence d'origine conservée, listée média par média dans
|
|
[`CREDITS.md`](CREDITS.md). Le jeu est une œuvre **collective**, pas dérivée — d'où
|
|
l'interdiction absolue de compositing, vérifiée par script.
|
|
|
|
Rien n'est « libre de droit ». Voir [`SOURCES.md`](SOURCES.md) et
|
|
[`docs/adr/0001-licences.md`](docs/adr/0001-licences.md).
|
|
|
|
## Ce que le code ne fera jamais
|
|
|
|
Aucun compte, aucune publicité, aucun traceur, aucune requête vers un domaine tiers au
|
|
runtime, aucune collecte de données sur les enfants. Le jeu est entièrement jouable hors
|
|
ligne après une première visite.
|