OKIandClaude Opus 5 3c660c776b feat(session-4): module Pa touché et scène arcade Ranmasé en Phaser 4
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>
2026-07-27 12:07:48 -04:00

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 INTERNATIONALEo-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.

S
Description
No description provided
Readme AGPL-3.0
487 KiB
Languages
JavaScript 39.6%
Svelte 34.8%
TypeScript 14.8%
Python 5.4%
CSS 4.2%
Other 1.2%