# 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.