Pa touché est une consultation, pas un mode de jeu : cinq plantes triées par gravité, dépliables, sans chrono, sans score, sans épreuve. Le module affiche lui-même qu'il n'a pas encore été relu par une personne compétente et dit que cette relecture est la contribution la plus utile au projet. Ranmasé : import dynamique, game.destroy(true) au démontage, communication par événements — la scène ne touche aucun état Svelte et n'émet que sur changement, jamais par frame. Miroir DOM sémantique, canvas aria-hidden, jouable au clavier. Écran de chargement designé. Game design guidé par la pédagogie : laisser passer une plante dangereuse ne coûte rien (c'est le bon geste), ramasser le mauvais fruit coûte 2 points et pas une vie (il n'y a pas d'erreur à cueillir), une plante dangereuse sur cinq. Budgets mesurés et consignés dans l'ADR 0002 - shell hors Phaser : 78 Ko gzip (budget 170) - Phaser seul : 348 Ko gzip, sous le seuil de réexamen de 450 - absent du chemin critique de l'accueil, vérifié sur le HTML prérendu - build total 1,4 Mo Une prescription de l'ADR 0002 était fausse : l'option `resolution` n'existe pas dans Phaser 4 (pixelRatio y est en lecture seule). Le plafonnement passe par un tampon de rendu fixe 480×640 étiré en CSS — plafond dur plutôt que relatif. L'ADR est corrigé, pas contourné. Reste non mesuré : les 30 fps sur Mali-G52, qui demandent un appareil réel. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
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.
É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.
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.
Un projet participatif — le manque est publié, pas masqué
Les fonds libres documentent mal la flore antillaise, et le kréyòl en est presque absent : Wikidata enregistre 124 noms vernaculaires pour les 13 espèces du projet — en chinois, en anglais, en portugais, en slovène — et aucun en kréyòl.
Plutôt que de contourner ces trous, le projet les mesure et les publie. Une fiche sans photo
d'écorce le dit et explique comment le combler. npm run rapport:manques régénère
l'inventaire ; docs/contribuer.md explique les six gestes possibles,
de l'ajout d'un nom sur Wikidata — cinq minutes, aucun matériel — jusqu'à l'enregistrement
d'une voix kréyòl.
Contribuer se fait sur Wikimedia Commons, Wikidata, iNaturalist, Pl@ntNet ou Lingua Libre, jamais dans le jeu : les contributions doivent servir à tout le monde, pas seulement à ce projet. Le jeu se contente de liens ordinaires — il ne contacte aucun service pendant qu'on y joue.
La langue aussi se demande. Le projet écrit des noms en kréyòl sans avoir autorité pour
le faire. Quatre questions sont donc posées publiquement dans les fiches — aki ou ake ?
qu'appelez-vous pòm-dlo ? — et le validateur refuse qu'une entrée soit publiée sans qu'un
locuteur nommé ait tranché. Les variantes proposées sont conservées avec leur source : une
variante est un usage, pas une erreur. Voir
docs/kreyol-participatif.md.
Commandes
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
npm run rapport:manques # mesure ce qui manque, dans le projet et dans les fonds publics
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/contribuer.md |
comment enrichir la connaissance — six gestes, du plus rapide au plus engageant |
docs/kreyol-participatif.md |
corriger notre kréyòl — les questions ouvertes, et comment y répondre |
docs/manques.md |
ce qui manque, mesuré et daté — régénéré par script |
docs/plan.md |
les 7 sessions et leurs portes de sortie mesurables |
docs/adr/ |
les six décisions d'architecture et leurs motifs |
docs/audit-sources.md |
ce qu'on prend à chaque source, sous quelle licence |
docs/a-arbitrer.md |
ce qu'un humain doit trancher avant publication |
docs/kreyol-a-relire.md |
les incertitudes orthographiques, signalées non corrigées |
docs/planche-relecture-medias.md |
les 130 photos candidates à valider |
fruits.schema.json |
le contrat des données |
CREDITS.md |
attributions, généré — ne pas éditer |
Licences
- Code : AGPL-3.0-or-later
- Contenu OKI : CC BY-SA 4.0
- Médias tiers : licence d'origine conservée, listée média par média dans
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 et
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.