# ADR 0005 — Le kréyòl est la langue principale, norme gwadloupéyenne - **Statut :** accepté ; orthographe en attente de relecture humaine - **Date :** 2026-07-27 - **Session :** 0 — cadre et données ## Contexte Le jeu vise à restituer une connaissance qui se transmettait en kréyòl. Traiter le kréyòl comme une traduction du français inverserait le rapport que le projet cherche précisément à rétablir. Par ailleurs, les orthographes gwadloupéyenne et matinitjée diffèrent sur plusieurs entrées du jeu de données. Les mélanger produirait un contenu que personne ne reconnaît tout à fait comme le sien. ## Décision ### Le nom kréyòl est le nom de l'entrée Dans les données, `noms.gcf` est le **nom principal**. `noms.fr`, `noms.en` et `noms.es` en sont les traductions. Le schéma rend `gcf` obligatoire et les autres facultatives — pas l'inverse. C'est un choix politique, pas cosmétique, et il ne s'inverse pas au motif que le français serait « plus pratique » pour l'interface. ### Routes `/` sert le kréyòl, `/fr/` le français, `/en/` l'anglais. Routeur par dossiers avec catalogues JSON, pas de middleware (playbook §5b.7) : les URLs et le prérendu restent sous contrôle total, ce qui est la condition du statique et du hors-ligne. Attribut `lang="gcf"` correct partout, y compris sur les fragments kréyòl insérés dans une page française — un nom de fruit prononcé par un lecteur d'écran avec la phonétique française n'est pas le nom du fruit. ### Norme orthographique : gwadloupéyenne Une seule norme pour tout le projet, décidée par le porteur en session 0. Le champ `orthographe.norme` vaut `"gwadloupeyen"` sur chaque entrée, et le schéma n'accepte pas d'autre valeur : il est impossible de mélanger les deux normes sans modifier le schéma, donc sans que la décision soit revue. ### L'orthographe elle-même n'est pas du ressort de l'agent Aucune graphie n'est tranchée par un agent de code. Chaque entrée porte : ```json "orthographe": { "norme": "gwadloupeyen", "statut": "a_relire", "relu_par": null } ``` `statut` ne passe à `"relu"` que par décision d'un locuteur humain nommé. Le validateur refuse toute entrée déclarée publiable dont l'orthographe n'est pas relue, et toute entrée `relu` sans nom de relecteur. Les incertitudes constatées sont consignées dans `docs/kreyol-a-relire.md` — signalées, pas corrigées. ## Conséquences - Les 13 graphies issues de `fruits.seed.json` sont **toutes non vérifiées** à ce stade. La graine elle-même le déclare. Trois incohérences internes ont été relevées entre l'identifiant technique et le nom kréyòl (voir `docs/kreyol-a-relire.md`) : elles ne sont pas corrigées ici. - Les identifiants techniques (`id`) restent en ASCII sans diacritique — ils servent de nom de fichier et de segment d'URL. Ils ne sont **pas** une graphie et ne doivent jamais être affichés à l'utilisateur. `kowosol` est un identifiant ; `kowosòl` est un nom. - Un identifiant ne se renomme jamais après publication : il est dans les URLs, dans la progression stockée en local et dans les liens partagés. Une correction d'orthographe change `noms.gcf`, jamais `id`. - Chaque entrée doit recevoir un enregistrement audio du nom prononcé par une voix humaine locale. Pas de synthèse vocale : les enfants visés lisent mal le kréyòl écrit, dont l'orthographe leur est peu familière — un jeu qui enseigne les noms kréyòl sans les faire entendre rate sa cible. `npm run check:audio` tient la liste de ce qui manque. ## Point ouvert Le relecteur n'est pas encore désigné. Tant qu'il ne l'est pas, aucune entrée ne peut être publiée : c'est le validateur qui l'impose, pas une note de bas de page.