Le manque devient une information de première classe : mesuré, daté, affiché, et accompagné de la marche à suivre pour le combler (ADR 0006). Mesure - rapport:manques : couverture des 5 vues pédagogiques dans les fonds publics, présence du kréyòl sur Wikidata, observations GBIF par île, manques internes du dataset → docs/manques.md. - Le kréyòl est absent des communs : Wikidata enregistre 124 noms vernaculaires pour ces 13 espèces (zh, en, pt, sl) et aucun en kréyòl ; 0 étiquette gcf sur 13 items. - L'écorce est la vue manquante : 3 trous sur 65, tous des écorces — mansiniyé 0 fichier, aki 0, kénèt 1. - Pl@ntNet publie en CC BY-SA là où iNaturalist est à ~93 % CC BY-NC : meilleur canal de contribution à effort égal. Correction d'une mesure fausse avant publication - Le premier rapport annonçait 28 vues manquantes sur 65. Le groupement OR de la recherche Commons ne se comporte pas comme attendu : « section » seul remonte 17 fichiers là où « (section OR sliced OR cut OR coupe) » en remonte 0. Un mot, une requête, avec gestion du débit — le chiffre réel est 3 sur 65. Publier les 28 aurait envoyé des bénévoles photographier ce qui existait déjà. Documents - docs/contribuer.md : six gestes, du nom kréyòl sur Wikidata (5 min) à l'enregistrement d'une voix, avec le tableau de choix de licence et la consigne de sécurité pour photographier le mancenillier. - docs/adr/0006-projet-participatif.md : aucun dépôt interne, aucune requête tierce au runtime, la porte de validation reste inchangée. - docs/courriers/appel-liberation-tramil.md : brouillon d'appel public, à n'envisager qu'après la demande privée. Publication au porteur. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
11 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.
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.
-
Le champ
dangerde la graine a deux formes. Les niveaux « vigilance » (kénèt, pòm-kannèl) portent leur texte dansnote, les niveaux « élevé » et « critique » dansresume. Le schéma impose un champ unique : la composition normalise versresume, sans réécrire un mot. C'est la porte de validation qui a levé l'incohérence, pas une relecture. -
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. -
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.
-
comestible: falsesur 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. -
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.