Files
ki-fwi/docs/sessions/05-06-contenu-et-finition.md
T
OKIandClaude Opus 5 bd29770bd2 feat(sessions-5-6): candidats vérifiés et audit de livraison
Session 5 — bloquée sur ce qu'aucun agent ne peut produire : les noms
kréyòl. Le nom kréyòl est le nom principal de chaque entrée (ADR 0005) ;
inventer seize noms aurait été exactement ce que le projet s'interdit.

Livré à la place : verify:candidats vérifie 16 espèces candidates contre
Wikidata et GBIF et produit un tableau complet — nom accepté, famille,
Q-id, clé GBIF, français — avec une colonne vide. Il ne manque que ce
qu'une machine ne peut pas produire.

15 candidats sur 16 sans écart. Le seizième a attrapé mon erreur :
j'avais proposé Citrus sinensis pour l'orange, GBIF le renvoie en
SYNONYM. C'est le rôle du contrôle.

Session 6 — npm run audit vérifie la DoD sur le build réel, pas sur les
intentions. Sortie non nulle = livraison refusée. 14 points au vert :
zéro chargement tiers, zéro emoji, zéro lien interne mort sur 74 pages,
shell JS à 86 Ko gzip, aucun chunk lourd sur le chemin critique, SEO
complet, fichiers de service présents, polices self-hébergées.

Restent ouverts et annoncés comme tels : Lighthouse, 30 fps sur Mali-G52,
hors ligne en mode avion, prefers-reduced-motion à la main, et le test en
classe. Ce sont des mesures qu'un agent ne peut pas prendre ; les
annoncer comme faites aurait été le seul vrai échec.

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

3.1 KiB
Raw Blame History

Sessions 5 et 6 — Contenu et finition

Date : 2026-07-27

Session 5 — Contenu : ce qui a pu être fait, et ce qui ne le pouvait pas

La session 5 devait porter le dataset de 8 à 24 fruits. Elle est bloquée sur une chose qu'aucun agent ne peut produire : les noms kréyòl.

Le nom kréyòl est le nom principal de chaque entrée (ADR 0005), pas une traduction d'appoint. Ajouter seize fruits suppose donc seize noms que je n'ai pas le droit d'écrire — et les inventer aurait été exactement ce que le projet s'interdit.

Ce qui a été livré à la place

npm run verify:candidats vérifie la taxonomie de 16 espèces candidates contre Wikidata et GBIF, et produit docs/candidats-24-fruits.md : un tableau complet — nom scientifique accepté, famille, Q-id, clé GBIF, nom français — avec une colonne vide.

Il ne manque que ce qu'une machine ne peut pas produire. C'est le document le plus honnête que cette session pouvait rendre.

15 candidats sur 16 sans écart. Le seizième est instructif : j'avais proposé Citrus sinensis pour l'orange, et GBIF l'a renvoyé en SYNONYM. Le contrôle a attrapé mon erreur, ce qui est précisément son rôle.

Le reste de la session 5 est du terrain

Enregistrements kréyòl (10 sur 13 manquants), relecture orthographique, arbitrage des six points de docs/a-arbitrer.md, relecture du module « Pa touché » par une personne compétente. Aucun de ces points ne se code.

Session 6 — Finition

npm run audit — la DoD vérifiée sur le build réel

Le playbook §5 leçon 8 appelle cela le « grep de vérité » : on inspecte ce qui a été produit, pas ce qu'on croit avoir écrit. Sortie non nulle = livraison refusée.

14 points vérifiés, 14 au vert :

Point Résultat
Chargements tiers dans le build 0
Emoji dans le HTML livré 0 (charte §1.8)
Liens internes morts 0 sur 74 pages
Shell JS gzip 86 Ko (budget 170)
Chunk lourd sur le chemin critique aucun — Phaser reste isolé
SEO og ×10, JSON-LD, canonical, hreflang gcf
Fichiers de service sitemap, robots, 404, _headers, .htaccess, manifest, sw.js
Polices self-hébergées 6 woff2

Ce que l'audit ne couvre pas, et qui reste ouvert

  • Lighthouse mobile ≥ 90/95/95/95 — demande un navigateur en conditions réelles.
  • 30 fps sur Mali-G52 — demande un appareil réel.
  • Hors ligne en mode avion — demande un appareil réel.
  • prefers-reduced-motion à la main — la gate CSS existe et use:compte la respecte, mais la vérification humaine reste à faire.
  • Le test en classe. Six enfants, trente minutes, sans intervenir.

Ces cinq points ne sont pas des oublis : ce sont les mesures qu'un agent ne peut pas prendre. Les annoncer comme faites aurait été le seul vrai échec de cette session.

Déploiement

Le build est un dossier de fichiers statiques. .htaccess (o2switch/Apache) et _headers (Cloudflare Pages) sont livrés avec la même CSP stricte, sans exception ni domaine tiers.

Reste à faire par le porteur : choisir l'hébergement, poser le domaine, taguer et pousser sur Gitea.