Files
ki-fwi/docs/sessions/00-cadre-et-donnees.md
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

13 KiB

Session 0 — Cadre et données

Date : 2026-07-27 · Type de mission : B (création ex nihilo) · Code applicatif écrit : aucun.


Ce qui a été fait

Gouvernance. git init et commit de protection des documents de cadrage avant toute autre action (playbook §5b.1 — atlas-fediverse avait été perdu faute de ce réflexe). Le pack de référence doc2sveltekit-transition/ reste local et non versionné, conformément au playbook §0. Branche main.

Cadre. Cinq ADR, LICENSE (AGPL-3.0-or-later, texte canonique récupéré depuis gnu.org), LICENSE-CONTENT, audit des sept sources, SOURCES.md, deux lettres-types.

Outillage. Six scripts dans tools/data/, tous hors bundle :

Commande Rôle
npm run verify:taxa vérifie 13 taxons contre Wikidata (SPARQL) et GBIF
npm run ingest:commons remonte les photos candidates sous licence libre
npm run build:dataset compose les entrées ; refuse d'écraser sans --force
npm run validate:data la porte — schéma + règles métier, sortie non nulle = build refusé
npm run test:porte prouve que la porte refuse les 9 cas interdits
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 les manques, dans le projet et dans les fonds publics

Données. 13 entrées dans src/lib/data/fruits/, 39 médias candidats, 0 validé.


Ce que la vérification a appris

La graine était bonne sur la taxonomie

13 taxons sur 13 trouvés dans Wikidata par correspondance exacte sur P225, et 13 sur 13 acceptés par GBIF en matchType: EXACT, status: ACCEPTED. Zéro divergence sur les familles annoncées dans fruits.seed.json.

Y compris Cascabela thevetia pour le laurier-jaune, alors que le synonyme Thevetia peruviana circule largement. Le contrôle du statut GBIF était écrit pour attraper exactement ce cas ; il n'a rien trouvé à corriger. C'est le bon résultat, et il est maintenant vérifié plutôt que supposédocs/verification-taxons.md.

Aucune machine ne peut valider une photo

La recherche Commons sur Melicoccus bijugatus (kénèt) remonte en deuxième position une photographie de singe capucin mangeant le fruit. Le moteur de recherche classe par pertinence textuelle, pas par contenu botanique.

Cette observation a produit une décision de conception : le schéma distingue désormais photo, planche_botanique et image_generee. Les fonds Commons contiennent beaucoup de planches anciennes du domaine public — Blanco, Merian — exactes mais stylisées. Une planche documente une fiche ; elle ne peut pas porter une épreuve de reconnaissance du réel.

Sur 39 médias candidats retenus : 25 photographies, 14 planches botaniques.

Le mancenillier n'a aucune photographie dans le haut de sa pile

Trois entrées comptent moins de deux photographies parmi leurs trois premiers candidats :

entrée photos sur 3 candidats ce que Commons remonte en tête
mansiniye (mancenillier) 0 trois planches gravées — Jacquin 1780, Green 1816-20, Hocquart 1821
pom-site (pòm-sitè) 0 planches, dont deux Blanco
medisinye (medsinyé) 1

C'est l'entrée la plus critique du module « Pa touché » qui est la moins bien servie. Un enfant doit reconnaître un mancenillier sur une plage, pas sur une gravure de 1780. Il faudra descendre plus bas dans les dix candidats de docs/planche-relecture-medias.md, ou photographier l'arbre sur le littoral — il est signalé par une bande de peinture rouge, ce qui rend la séance de terrain praticable et sans risque de confusion.

Le pré-tri qui produit cette classification a lui-même été corrigé en cours de session : la planche de Jacquin ressortait d'abord en « photo » parce que ni son titre ni son auteur ne disent son siècle. La date de prise de vue est désormais examinée, et toute date antérieure à 1900 classe le média en planche. Ce pré-tri reste un tri, pas un verdict : c'est le relecteur humain qui corrige le champ.

TRAMIL : la situation est pire que ce que le brief supposait

Vérification directe le 2026-07-27 : le pied de page de tramil.net affiche « © Copyright 2017 TRAMIL all rights reserved », et le lien « Legal notice » du site renvoie une 404. Les conditions d'usage ne sont donc même pas consultables. La demande écrite n'est pas une précaution, c'est la seule voie.

iNaturalist : 93 % de non commercial, mesuré

Échantillon de 305 photographies de qualité recherche sur Chrysobalanus icaco : 280 en CC BY-NC, 12 en CC0, 8 en CC BY, 5 en CC BY-NC-SA. Se limiter au non-NC réduirait iNaturalist à un appoint marginal — ce qui donne son poids réel à la décision du porteur.


Ajout en cours de session — la dimension participative

Décision du porteur : les manques ne se masquent pas, ils se publient. ADR 0006, guide contribuer.md, inventaire mesuré manques.md, et appel public à la libération des données TRAMIL en brouillon.

Ce que la mesure a révélé

Le kréyòl est absent des communs numériques. Wikidata enregistre 124 noms vernaculaires pour les 13 espèces — 33 pour le fruit à pain, 22 pour la pomme d'eau, 12 pour la goyave, en chinois, anglais, portugais, slovène. Zéro en kréyòl, et aucune étiquette de langue gcf sur aucun des 13 items. C'est la contribution la moins coûteuse du projet — cinq minutes par entrée, aucun matériel — et l'une des plus durables. Elle suppose en revanche une orthographe relue : à faire après la relecture kréyòl, jamais avant.

L'écorce est la vue qui manque. Après correction de la mesure, il reste 3 trous sur 65 dans les fonds libres, et les trois sont des écorces : mansiniyé (0 fichier), aki (0), kénèt (1). Trois autres sont tout juste au seuil. C'est cohérent avec la pratique — on photographie un fruit, rarement un tronc — et c'est fâcheux, parce que l'écorce est l'indice le plus fiable sur le terrain : un tronc est visible toute l'année, un fruit quelques mois.

Pl@ntNet est un meilleur canal de contribution que iNaturalist. Mesuré sur le zikak en Guadeloupe : les images iNaturalist sont à ~93 % en CC BY-NC, celles de Pl@ntNet apparaissent en CC BY-SA (jeu de données GBIF sous CC BY 4.0). À effort égal pour le contributeur, la seconde voie produit des images pleinement réutilisables. D'où le conseil mis en avant dans le guide : régler sa licence par défaut sur iNaturalist une fois pour toutes.

La langue devient participative — et la communauté existait déjà

Second ajout du porteur : demander aux locuteurs, sur l'orthographe comme sur la prononciation, plutôt que d'attendre un relecteur unique. ADR 0005 amendé, protocole dans kreyol-participatif.md.

Découverte en interrogeant Lingua Libre, l'atelier d'enregistrement de Wikimedia : 456 enregistrements en kréyòl gwadloupéyen y sont déjà publiés sous licence libre, versés pour l'essentiel par un contributeur nommé « Palé Kréyol ». Et trois de nos treize noms s'y trouvaient déjàgouyav, kénèt, zikak — en CC BY-SA 4.0, avec exactement notre graphie.

Trois entrées sortent donc du doute par corroboration externe, sans que le projet ait rien décidé, et trois enregistrements sont immédiatement utilisables. La leçon dépasse le cas : la question n'était pas de savoir qui trancherait, mais d'aller regarder si quelqu'un l'avait déjà fait.

En regard, le kréyòl reste absent des données structurées : 0 lexème Wikidata en kréyòl gwadloupéyen, 0 étiquette gcf sur les treize items.

Ce que le modèle de données gagne. Trois états d'orthographe au lieu de deux — a_relire, en_discussion, relu — avec obligation de poser la question quand un doute est signalé ; un champ variantes_gcf qui conserve les usages proposés avec leur source et leur île, sans en effacer aucun ; un bloc audio qui porte source, licence, page d'origine et locuteur crédité. Quatre entrées passent en en_discussion : ake, medisinye, lorye-jonn, pom-dlo.

Un pis-aller assumé. Les quatre questions sont rédigées en français. Demander en français à des locuteurs kréyòl de corriger du kréyòl est un contresens — mais 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.

Une mesure fausse, attrapée avant publication

Le premier rapport annonçait 28 vues manquantes sur 65. C'était faux. Le groupement OR de la recherche Commons ne se comporte pas comme attendu : sur Annona muricata, section seul remonte 17 fichiers là où (section OR sliced OR cut OR coupe) en remonte 0. Le signal d'alerte était que coupe ressortait à zéro pour les treize espèces — Commons contient évidemment des photos de corossol coupé.

Après correction — un mot, une requête, avec gestion du débit des API —, le chiffre réel est 3 sur 65.

Publier les 28 aurait envoyé des bénévoles photographier ce qui existait déjà. La leçon est consignée dans l'ADR 0006 : une mesure qui produit un résultat extrême se suspecte avant de se publier, et une réponse d'API illisible ne se compte jamais comme un zéro.

Écarts constatés et signalés, non corrigés en silence

Le brief §9 impose de signaler les écarts plutôt que de les corriger discrètement.

  1. Le champ danger de la graine a deux formes. Les niveaux « vigilance » (kénèt, pòm-kannèl) portent leur texte dans note, les niveaux « élevé » et « critique » dans resume. Le schéma impose un champ unique : la composition normalise vers resume, sans réécrire un mot. C'est la porte de validation qui a levé l'incohérence, pas une relecture.

  2. Trois identifiants divergent du nom kréyòl au-delà des accents : ake/aki, medisinye/medsinyé, lorye-jonn/lorié-jòn. Non tranchés — docs/kreyol-a-relire.md.

  3. Deux planches Blanco produisaient le même identifiant de média une fois tronquées à 60 caractères. Désambiguïsées par suffixe plutôt que perdues.

  4. comestible: false sur l'akée et la pomme-cajou est une sous-estimation assumée : les deux se mangent sous conditions strictes. Le choix prudent était le seul défendable sans arbitrage humain — docs/a-arbitrer.md §1.

  5. Le brief demandait 8 fruits ; 13 entrées ont été produites (les 5 plantes du module « Pa touché » incluses, sur décision du porteur). La vérification coûtait le même effort et le contenu de sécurité demande le plus long délai de relecture.


La porte de validation

Le brief §2 exigeait que le contrôle soit « un script de build, pas une consigne ». tools/data/validate.mjs refuse :

  • une épreuve ou un indice s'appuyant sur un média non validé, non photographique, de filière B, ou dont la vue n'est pas renseignée ;
  • un média à attribution dont l'auteur est absent ;
  • un compositing sur un média en partage à l'identique ou sous clause non commerciale ;
  • une validation sans nom de validateur ;
  • une épreuve portée par une plante dangereuse ;
  • une entrée publiée avec moins de deux photos validées, ou dont l'orthographe kréyòl n'est pas relue par un humain nommé.

npm run test:porte fabrique ces neuf cas et vérifie que le refus se produit, plus un cas témoin conforme qui doit passer. 10/10. Une règle de sécurité qu'on n'a jamais vue refuser quelque chose est une intention, pas une règle.


Ce qui bloque la suite

Blocage Bloque Qui peut le lever
0 média validé Rekonèt sur données réelles (session 2) le porteur, docs/planche-relecture-medias.md
Aucun relecteur kréyòl désigné toute publication le porteur
13 enregistrements manquants le moment de révélation une après-midi d'enregistrement
Saisonnalité non sourcée publication du mode Sézon CIRAD, lettre prête
6 points non arbitrés publication le porteur, docs/a-arbitrer.md

Le premier travail non délégable est la planche de relecture des médias. La session 1 ne l'exige pas — les fiches affichent texte, taxonomie et crédits sans photo. La session 2, si.


Vérifications de fin de session

npm run verify:taxa      → 13 taxons, 0 divergence
npm run ingest:commons   → 130 candidats, 0 taxon sous le seuil de 2
npm run validate:data    → 13 entrées, 39 médias, 0 validé, 0 erreur
npm run test:porte       → 10/10
npm run build:credits    → 13 entrées, 39 médias, 0 sous clause NC
npm run check:audio      → 13 enregistrements à réaliser
npm run rapport:manques  → 3 vues manquantes sur 65, 0 nom kréyòl sur Wikidata

Dépendances installées : ajv et ajv-formats uniquement, toutes deux importées et utilisées (playbook §2.2 — aucune dépendance installée sans être utilisée).

Prochaine session : 1 — Socle. Ne pas la démarrer sans avoir relu ce document et docs/plan.md.