Nos chiffres se mettent à jour tout seuls. Sauf quand ils mentent.
Sur nos 2700 pages, les taux dynamiques sont reliés à une fiche par pays. Mais chaque occurrence garde une valeur de secours qui peut devenir obsolète sans rien changer à l’affichage. Ce qu'on a appris en production.
L’essentiel en bref
Pour les données courantes du site d'environ 2700 pages, nous avons mis en place des valeurs reliées à une fiche par pays. Quand un taux change, la modification de cette fiche alimente les articles concernés au prochain build. Mais chaque occurrence conserve aussi une valeur de secours. C'est là que nous avons retrouvé des chiffres anciens, alors que les sources étaient à jour.
Je suis Jim. Dernier épisode de l'après-migration Eurofiscalis. Le principe de ces chiffres dynamiques, je l'ai déjà expliqué dans l'article Sanity, puis Payload : c'était même la raison principale de notre changement de CMS. Je ne le refais pas. Ici, je raconte ce qui se passe des mois plus tard, quand le système tourne en production et qu'on découvre ce qu'il ne dit pas.
Le rappel en trente secondes
Chaque pays a sa fiche : son taux normal, ses taux réduits, ses seuils de déclaration, ses délais, ses pénalités. Dans un article, le rédacteur n'écrit pas « 19 % ». Il insère une petite pastille qui dit « taux normal de l'Allemagne ». Au moment de générer le site, chaque pastille est remplacée par la vraie valeur.
On en a plusieurs centaines en ligne. Le jour où un taux change, je modifie la fiche du pays, le site se reconstruit tout seul, et entre une et trois minutes plus tard, chaque article qui cite ce taux affiche la nouvelle valeur. Les occurrences reliées à cette fiche sont mises à jour sans reprendre chaque article à la main.
Centraliser réduit les corrections dispersées. Il reste à contrôler la source, le rattachement de chaque donnée et ce qui se passe si elle ne peut pas être résolue.
La valeur de secours qui vieillit en silence
Chaque pastille garde, en plus de son lien vers la fiche pays, une valeur de secours. Si pour une raison ou une autre la fiche ne répond pas au moment de générer la page, c'est cette valeur qui s'affiche, plutôt qu'un trou dans la phrase. La phrase reste ainsi complète si la donnée principale ne peut pas être résolue.
Sauf que cette valeur de secours est figée le jour où l'article est rédigé. Elle ne suit pas la fiche pays. Tant que tout fonctionne, tu ne la vois jamais, puisque c'est la vraie valeur qui s'affiche. Mais pendant ce temps-là, elle vieillit.
On l'a découvert en rafraîchissant la page sur les seuils de déclaration des échanges entre pays européens. Les fiches pays étaient parfaitement à jour. Mais en regardant les pastilles une par une, une dizaine de valeurs de secours affichaient encore d'anciens seuils : l'Autriche, le Danemark, l'Italie, et la Bulgarie avec une valeur dans son ancienne monnaie, alors que l’euro y est entré en circulation le 1er janvier 2026.
Rien de tout ça ne s'affichait. Mais le jour où une fiche aurait eu un souci, le lecteur aurait lu un seuil faux, à la place de la donnée attendue.
Identifier d’où vient le chiffre affiché
Lorsqu’un chiffre paraît faux à l’écran, je commence par chercher d’où il vient. Quand la résolution fonctionne, le chiffre affiché vient de la fiche pays. En cas d’échec, c’est la valeur de secours de l’article qui prend sa place.
Si l’erreur est dans la fiche, on la corrige à cet endroit. La correction se propage aux occurrences qui l’utilisent. Modifier la valeur de secours dans l’article ne change pas l’affichage tant que la donnée principale est résolue. Mais cela compte si le secours est utilisé.
Je compare la valeur affichée, la fiche pays et le secours enregistré dans la pastille. Une différence entre l'affichage et le secours ne prouve pas que l'article est juste : il faut vérifier quelle valeur devrait s'afficher. Dans le cas décrit ici, les fiches étaient à jour et les secours étaient anciens. Nous avons donc réaligné les secours.
Petit détail qui compte : ce réalignement est invisible pour le lecteur, donc on ne change pas la date « mis à jour le » de l'article. Une nouvelle date ne décrirait alors pas de modification visible du contenu.
Une date dans l’URL ne valide pas les chiffres
Pendant ce même refresh, un de nos agents IA de recherche a proposé de « corriger » le seuil d'un pays, sur la foi d'un tableau publié par un prestataire. Le tableau avait l'air sérieux, et son adresse contenait l'année en cours.
Vérification faite, il resservait les chiffres de l'année précédente. Et ce n'était pas un cas isolé : on a retrouvé le même problème sur plusieurs pays, chez plusieurs sources. Des pages mises à jour dans leur titre, pas dans leur contenu.
La correction a été refusée. Notre règle, c'est la consigne qui court sur toute cette saga : l'IA est un excellent outil de recherche, mais sur un sujet où l'erreur coûte cher, un écart doit être vérifié avant de modifier la source. Le tableau proposé par l’agent ne suffisait pas. Il faut contrôler le pays, la période et l’origine du chiffre, puis faire valider la correction.
Ce qu'on ne laisse pas brancher à une IA
Quand nos outils IA préparent un article pour le publier, ils branchent automatiquement les chiffres sur les fiches pays. Automatiquement, mais pas aveuglément. Il y a des cas où ils ont interdiction de le faire :
- quand le chiffre n'est pas une donnée fiscale : « l'article 21 », « le 21 janvier » ;
- quand le chiffre correspond à plusieurs champs possibles, donc que c'est ambigu ;
- quand l'article parle de plusieurs pays, et qu'on ne sait pas à quelle fiche le rattacher ;
- dans les titres et les questions de FAQ, qui doivent rester du texte simple.
Dans tous ces cas, le chiffre reste écrit en dur, et l'outil signale le cas pour qu'un humain regarde.
Ce que je retiens de cette série
Cinq épisodes sur l'après-migration, et un fil rouge. Supprimer tous les liens, auditer les redirections, traquer les fuites françaises, éviter de dépublier ses meilleures pages, surveiller des chiffres qui se mettent à jour tout seuls : la mise en ligne ne terminait pas les contrôles. Les liens, les états de publication et les valeurs de secours demandaient chacun une vérification différente. Le fonctionnement normal d’une page ne suffisait pas à détecter ces défauts.
La suite
Il reste un sujet qu'on a touché du doigt tout au long de cette série sans jamais le traiter en face : les moteurs de réponse IA. Ce qu'ils regardent, qui ils citent, et ce qu'on a changé sur le site pour eux, y compris une règle qu'on avait posée et qu'on a fini par abandonner.
Ce sera l'objet de la prochaine série.