1. Le rapport qui ne pouvait plus sortir
Découverte le 30 juin 2026 · chaîne d'analyse d'avis sur n8n Cloud (27 étapes)
Ce qui s'est passé
Notre chaîne collecte des avis publiés en ligne, les fait analyser par un modèle de langage, met le résultat en page et envoie un rapport PDF. Une mise à jour antérieure avait été faite par l'interface de programmation de n8n, avec un script qui n'écrivait pas en UTF-8 (la norme qui code les accents). Elle avait remplacé les caractères spéciaux de dix étapes par « ? » ou « � ». Dans l'étape qui construit le rapport, une expression régulière (un motif de recherche dans le texte) cherchait le symbole « ▸ » : devenue /^?\s+/gm, elle était invalide. L'étape plantait à chaque passage : aucun PDF ne pouvait plus sortir.
Pourquoi personne ne l'a vu
Aucune vente n'avait encore eu lieu, donc la chaîne n'avait jamais tourné pour de vrai depuis cette mise à jour. Et l'étape précédente annonçait déjà au client « rapport dans 10 minutes ». Le scénario le plus coûteux était possible sans aucun signal : le client paie, rien n'arrive.
Comment nous l'avons trouvée
Par un test complet du parcours payant, le 30 juin : un jeton de test, le formulaire d'accueil, toute la chaîne, jusqu'au PDF et à l'e-mail. Le test a échoué à l'endroit exact où le rapport se construit. Aucun client n'a été touché.
Ce que nous avons changé
- Correction : le jour même. Nous sommes repartis de la version en ligne, pour garder les accès et les liaisons intacts, et avons réinjecté le texte propre depuis notre source versionnée. Les séparateurs décoratifs sont passés en caractères simples. En réparant, nous avons trouvé une deuxième cause : l'interface de n8n Cloud peut elle-même abîmer les longues suites de caractères spéciaux à l'écriture (2 « ═ » sur 31 devenus « � »).
- Tests ajoutés : le parcours payant complet a été rejoué après chaque reprise, jusqu'au PDF accepté par le serveur d'e-mail, sans un caractère cassé. Et un piège a été levé : notre propre script de vérification mentait. Le « � » qu'il cherchait avait été déformé par l'éditeur de texte, si bien qu'il comptait zéro à tort. Ce caractère se cherche désormais par son code (U+FFFD), plus par sa forme.
- Détection : avant chaque modification, un instantané, c'est-à-dire une copie complète. Après, une comparaison octet par octet du code de chaque étape avec la source. Nos outils de mise à jour comptent les caractères non-ASCII avant et après, et abandonnent si le compte change. Un gestionnaire d'erreurs central est branché sur tous les workflows de production. Depuis le 16 octobre, nous modifions les workflows par opérations partielles plutôt qu'en remplaçant tout le fichier. La méthode a été testée sur une copie qui reproduit le motif exact de l'incident : texte intact.
La leçon
Tant que le chemin du client n'est pas testé jusqu'au PDF envoyé, on peut promettre un résultat que le système ne sait plus produire.