Aller au contenu
Blog
Méthode20 septembre 2026

Vrai à l'écriture, faux à la lecture

Mon portfolio ne mentait pas par erreur : chaque phrase était vraie le jour où elle a été écrite. Récit de la refonte du 15 août 2026, du garde-fou de build qui empêche la récidive, et de ce qu'une seconde surface de lecture, tenue par une voix, rend visible que le garde-fou ne voit pas.

Un portfolio ne ment pas, il périme

Le 15 août 2026, j'ai relu mon portfolio comme un visiteur, et le constat était désagréable : des fiches détaillées pour des projets arrêtés, un jeu abandonné présenté comme un accès anticipé vivant, une mission client annulée encore à l'affiche de la page à propos, et le journal du terminal en retard de plusieurs sorties sur la réalité. Aucune de ces phrases n'avait été écrite pour tromper. Chacune était vraie à son écriture, fausse à la lecture.

C'est le mensonge le plus difficile à voir de l'intérieur : rien ne change à l'écran quand la réalité bouge. Le site du 15 août affichait la même chose que celui du 15 juin ; c'est le studio derrière qui n'était plus le même.

Retirer d'abord, réécrire ensuite

La refonte a tenu en une douzaine de commits, et la plupart retirent. Le catalogue s'est recentré sur ce qui existe : les trois jeux publiés (Limon, Sillon, EREME) en projets phares, Atrium à leurs côtés. Les fiches des projets morts sont sorties, et leur retrait a une forme précise : une redirection permanente (308) vers le catalogue, pas une page 404. Un lien externe qui pointait vers une fiche retirée mène quelque part, sans casser, et les moteurs de recherche comprennent que le déménagement est définitif.

Le reste suit la même logique de soustraction : les clés de traduction mortes sont sorties du site (des centaines de lignes), les images de projets disparus supprimées, le journal du terminal rattrapé sur la réalité des sorties. À la fin, le site dit moins de choses, et tout ce qu'il dit est vrai.

Le garde-fou qui échoue le build

Retirer ne suffit pas : sans mécanisme, la même dérive recommence le mois suivant. Le portfolio a donc un garde-fou, un script qui tourne avant chaque build et qui le fait échouer sur trois familles d'écarts.

Un, chaque chiffre affiché est déclaré dans un fichier de référence, ancré à un fichier du repo source qui le prouve ; un chiffre qui disparaît des textes ou qui n'a plus de source fait échouer le build. Deux, les mentions retirées sont interdites de retour : chaque entrée porte sa raison, et une réapparition sur une surface contrôlée échoue le build, et l'URL de l'ancienne page itch du projet arrêté fait partie de la liste. Trois, la table de slugs du sélecteur de langue doit refléter le corpus du blog, sinon un article renommé casserait la navigation en silence.

Cent huit contrôles au moment de la refonte. Et une règle de rédaction, écrite dans le message d'erreur du script : en cas de doute, retirer, pas arrondir.

Un site vitrine est une base de données de phrases sur la réalité. Sans contrainte d'intégrité, chaque phrase dérive vers le faux à la vitesse où la réalité bouge.

Ce que le garde-fou ne voit pas

Le blog de ce portfolio se lit de deux façons. La voie classique : des pages, une liste d'articles, un extrait sous chaque titre. Et une seconde voie, à /terminal : un terminal interactif tenu par Brigit, l'IA de bord fictive du studio, où l'on navigue par mondes et où l'on lit les mêmes articles, section par section. Ce n'est pas un gadget posé à côté du blog, c'est le même corpus servi par une autre voix.

Cette voix est une couche, et elle est optionnelle. Chaque article a son introduction écrite pour Brigit, ce qu'elle dit en ouvrant une archive, à la place de l'extrait brut ; si elle manque, le terminal se replie sur l'extrait. Un journal de bord donne son regard sur les sorties du studio. Rien de tout cela n'est un point de défaillance.

Rien, sauf sur un point, et c'est celui qui compte ici : chaque réplique est une phrase de plus qui peut devenir fausse. Le garde-fou vérifie des chiffres et des mentions. Il ne sait rien dire d'une voix qui affirme un état du monde.

Le journal qui a pourri

La démonstration est arrivée le même jour. En refondant le portfolio, j'ai relu le journal de Brigit : trois textes affirmaient un état périmé. Limon y était présenté comme non publié, alors que le jeu était en ligne depuis début août. Une réponse du chat proclamait « on ne publie pas un monde à moitié vivant », contredite par deux sorties assumées en l'état. Et l'entrée AquaTube figeait l'app « en v0.13.0 », avec des manques comblés depuis des semaines.

Le correctif du dernier cas dit tout : l'entrée n'a pas gagné un numéro à jour, elle a perdu son numéro. C'est lui qui l'avait fait pourrir. Un texte incarné, écrit au présent, qui cite une version précise, devient faux à la sortie suivante ; le même texte sans le numéro reste vrai des mois. Et le piège est plus large pour un journal fictif : ses numéros de jour sont de l'ambiance, pas des dates réelles. Aucune entrée ne peut se défendre en disant « c'était vrai à l'époque » ; tout ce qu'elle affirme est lu au présent.

Toute phrase qu'un personnage dit au présent est un contrat de maintenance. Écrire pour une voix, c'est choisir ce qui pourra rester vrai sans surveillance.

Ce que je retiens

L'obsolescence n'est pas un accident, c'est l'état par défaut de tout contenu qui décrit autre chose que lui-même. La relecture volontaire ne suffit jamais : on relit son site quand on le modifie, et c'est précisément quand on ne le modifie pas qu'il périme.

D'où la forme du correctif : pas une résolution de relire plus souvent, un garde-fou mécanique placé sur le seul chemin obligatoire, le build. Et là où le garde-fou ne peut pas aller, dans les phrases d'une voix, trois règles d'écriture le remplacent. Une affirmation d'état porte une date ou ne se fait pas. Un numéro de version n'entre jamais dans un texte sans date. Tout ce qui est optionnel a un repli neutre, pour que la voix puisse se taire sans rien casser.

La question à se poser sur chaque phrase d'un site : qu'est-ce qui la rendra fausse, et qu'est-ce qui me préviendra ce jour-là. Si la réponse est « rien », c'est cette phrase-là qu'il faut réécrire, ou retirer.