SvelteKit 2 + Svelte 5 runes + TS strict, adapter-static en prérendu
intégral, trailingSlash always, paths.relative false.
Mesures de la porte de sortie
- 56 pages HTML prérendues (13 fiches × 3 langues + pages de service)
- 59 Ko de JS gzip (budget : 170) · build total 1,4 Mo (budget : 2 Mo)
- 0 chargement tiers, vérifié par grep du build
- fiche lisible sans JS : 1694 caractères de texte rendu
- npm run check : 248 fichiers, 0 erreur, 0 warning
- 0 erreur console au chargement
Lighthouse non exécuté : porte encore ouverte, à vérifier avant la S6.
Charte OKI
Tokens partagés, thème sombre par défaut, Archivo et Inter self-hébergées
(124 Ko de woff2), flag-bar à segments francs, bouton à balayage or,
gate prefers-reduced-motion unique. CSP stricte en .htaccess et _headers,
404 statique autonome, PWA avec registerSW à chemin absolu (playbook 2.9).
L'interface kréyòl n'est pas écrite par l'agent
Le catalogue gcf ne contient que les termes venant des documents du
porteur — 10 chaînes sur 132. Le reste vaut null et se replie sur le
français ; check:i18n produit la liste des 122 phrases à traduire, par
écran. <html lang> annonce la langue réellement écrite : fr tant que la
couverture reste sous 60 %, avec les fragments kréyòl marqués un par un.
Des tournures kréyòl que j'avais inventées ont été retirées.
Corrections en cours de build
- vite-plugin-pwa/sveltekit n'existe pas sans @vite-pwa/sveltekit :
VitePWA en direct, comme le prescrivait déjà le playbook.
- @sveltejs/vite-plugin-svelte v7 n'exporte plus sveltekit : import
depuis @sveltejs/kit/vite, vérifié sur les exports réels.
- Le sélecteur de langue fabriquait /fr/offline/, page inexistante.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
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>
Session 0 du plan — aucun code applicatif.
Cadre
- 5 ADR : licences, Phaser 4 hors budget initial, frontière Svelte/Phaser,
filières A/B des assets, kréyòl langue principale (norme gwadloupéyenne).
- LICENSE (AGPL-3.0-or-later, texte canonique gnu.org), LICENSE-CONTENT
(CC BY-SA 4.0). Le jeu est une œuvre collective : aucun compositing sur un
média SA ou NC, contrainte vérifiée par script.
- Audit des 7 sources avec endpoints réellement appelés. TRAMIL vérifié en
direct : « all rights reserved » et page de mentions légales en 404.
iNaturalist mesuré à 93 % de CC BY-NC sur un échantillon de 305 photos.
Outillage (tools/data/, hors bundle, zéro appel réseau au runtime)
- verify:taxa, ingest:commons, build:dataset, validate:data, test:porte,
build:credits, check:audio.
- validate.mjs est la porte exigée par le brief §2 : le build échoue si une
épreuve s'appuie sur un média non validé, non photographique ou de filière B,
sur une attribution sans auteur, sur un compositing SA/NC, ou sur une entrée
publiée sans relecture kréyòl. test:porte prouve les 9 refus + 1 témoin.
Données
- 13 entrées (8 fruits + 5 plantes du module Pa touché) vérifiées contre
Wikidata ET GBIF : 13/13 ACCEPTED, 0 divergence avec la graine.
- 130 candidats Commons sous licence libre, 39 pré-inscrits, 0 validé —
aucun agent ne peut valider un média.
Écarts signalés, non corrigés en silence
- Le champ danger de la graine a deux formes (note vs resume) : normalisé.
- 3 identifiants divergent du nom kréyòl au-delà des accents : non tranchés.
- comestible:false sur akée et pomme-cajou : sous-estimation prudente assumée.
- Le mancenillier n'a aucune photographie moderne dans ses 3 premiers
candidats — l'entrée la plus critique est la moins bien servie.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>