Files
ki-fwi/docs/adr/0005-kreyol-langue-principale.md
T
OKIandClaude Opus 5 4f78321195 feat(kreyol): ouvrir la relecture et la prononciation aux locuteurs
Amendement de l'ADR 0005 : la relecture ne repose plus sur un relecteur
unique. La porte ne s'abaisse pas — l'ouverture porte sur qui peut
proposer, jamais sur qui peut valider.

La communauté existait déjà
- Lingua Libre compte 456 enregistrements en kréyòl gwadloupéyen, versés
  sur Commons sous licence libre.
- Trois de nos treize noms y figuraient déjà — gouyav, kénèt, zikak — en
  CC BY-SA 4.0 et AVEC EXACTEMENT NOTRE GRAPHIE. Trois entrées sortent du
  doute par corroboration externe, sans que le projet décide quoi que ce
  soit. La question n'était pas qui trancherait, mais d'aller regarder.
- En regard : 0 lexème Wikidata en gcf, 0 étiquette gcf sur les 13 items.

Modèle de données
- orthographe.statut : a_relire | en_discussion | relu. Un doute signalé
  sans question posée est refusé par le validateur — on ne décourage pas
  le lecteur, on l'appelle. 4 entrées en discussion : ake, medisinye,
  lorye-jonn, pom-dlo.
- noms.variantes_gcf : les usages proposés sont conservés avec leur source
  et leur île, jamais écrasés. Une graphie identique au nom principal est
  refusée comme variante : c'est une corroboration, pas un désaccord.
- audio : source, licence, url_description, locuteur crédité, valide.
  check:audio interroge Lingua Libre et trouve seul les prises existantes.

Porte : 14/14 (5 cas ajoutés sur la langue et la prononciation).

Pis-aller assumé : les 4 questions sont rédigées en français. Les écrire
en kréyòl reviendrait à produire du kréyòl non relu au moment même où l'on
reconnaît ne pas savoir le faire. Leur traduction est la première
contribution demandée.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-27 10:40:23 -04:00

138 lines
6.6 KiB
Markdown

# 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.
## Amendement du 2026-07-27 — la relecture est ouverte, pas confiée à une seule personne
La rédaction initiale supposait **un** relecteur qui tranche. C'est une mauvaise façon de
traiter une langue vivante : elle transforme un usage collectif en décision individuelle, et
elle bloque tout le projet sur la disponibilité d'une personne.
Décision du porteur : la relecture devient **participative**, sans que la porte ne s'abaisse.
### Trois états, pas deux
`orthographe.statut` accepte désormais :
- `a_relire` — personne ne s'est prononcé ;
- `en_discussion` — un doute est identifié **et posé publiquement**, avec sa question ;
- `relu` — un locuteur humain nommé a tranché.
Le validateur refuse un statut `en_discussion` sans `question_ouverte` renseignée : **on ne
signale pas un doute sans dire lequel**. Un doute sans question décourage le lecteur au lieu
de l'appeler. Quatre entrées sont aujourd'hui dans cet état — `ake`, `medisinye`,
`lorye-jonn`, `pom-dlo`.
### Les variantes sont conservées, pas arbitrées
Le champ `noms.variantes_gcf` recueille les formes proposées par des locuteurs, chacune avec
sa source et son île. Une variante n'est pas une erreur en attente de correction : c'est un
usage attesté. La norme gwadloupéyenne détermine ce qui s'affiche en premier ; elle n'efface
pas ce que les gens disent.
Le validateur refuse en revanche qu'une graphie identique au nom principal soit enregistrée
comme variante : une confirmation est une corroboration, et gonfler la liste des doutes
découragerait ceux qui la lisent.
### La prononciation passe par les communs
`audio` porte désormais `source`, `licence`, `url_description` et `valide`, et le validateur
exige un locuteur crédité, une licence, et une page d'origine pour toute source externe.
**Lingua Libre est le canal recommandé**, avant l'enregistrement maison : les prises y sont
versées sur Commons sous licence libre et servent au Wiktionnaire et aux lexiques, pas
seulement à ce jeu. `npm run check:audio` interroge Lingua Libre automatiquement.
### Ce que la mesure a montré
Cet amendement n'est pas théorique. Lingua Libre compte **456 enregistrements en kréyòl
gwadloupéyen**, et **trois de nos treize noms y figurent déjà**`gouyav`, `kénèt`, `zikak`
en CC BY-SA 4.0, avec exactement notre graphie. Trois entrées sortent du doute par
corroboration externe, sans que le projet ait rien décidé.
Autrement dit : la communauté existait avant nous. La question n'était pas de savoir qui
trancherait, mais d'aller regarder.
### Ce qui ne change pas
La porte. Une entrée n'est publiable que `relu`, avec un relecteur nommé. L'ouverture porte
sur **qui peut proposer**, jamais sur qui peut valider.
## Point ouvert
Le relecteur de référence n'est pas encore désigné, et les quatre questions ouvertes sont
rédigées **en français** — pis-aller assumé, puisque les rédiger en kréyòl reviendrait à
produire du kréyòl non relu au moment même où l'on reconnaît ne pas savoir le faire. Leur
traduction est la première contribution demandée dans
[`kreyol-participatif.md`](../kreyol-participatif.md).