{"id":52175,"date":"2026-10-15T17:35:54","date_gmt":"2026-10-15T12:05:54","guid":{"rendered":"https:\/\/www.lowcostwebagency.com\/?p=52175"},"modified":"2026-10-15T17:35:54","modified_gmt":"2026-10-15T12:05:54","slug":"automatiser-blog-ia-recit-reparation","status":"publish","type":"post","link":"https:\/\/www.lowcostwebagency.com\/fr\/automatiser-blog-ia-recit-reparation\/","title":{"rendered":"Quand mon g\u00e9n\u00e9rateur a cass\u00e9 91 pages : le r\u00e9cit d&rsquo;une r\u00e9paration"},"content":{"rendered":"<div class=\"fusion-fullwidth fullwidth-box fusion-builder-row-1 fusion-flex-container nonhundred-percent-fullwidth non-hundred-percent-height-scrolling\" style=\"--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-flex-wrap:wrap;\" ><div class=\"fusion-builder-row fusion-row fusion-flex-align-items-flex-start fusion-flex-content-wrap\" style=\"max-width:1352px;margin-left: calc(-4% \/ 2 );margin-right: calc(-4% \/ 2 );\"><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-0 fusion_builder_column_1_1 1_1 fusion-flex-column\" style=\"--awb-bg-size:cover;--awb-width-large:100%;--awb-margin-top-large:15px;--awb-spacing-right-large:1.92%;--awb-margin-bottom-large:15px;--awb-spacing-left-large:1.92%;--awb-width-medium:100%;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;\"><div class=\"fusion-column-wrapper fusion-flex-justify-content-flex-start fusion-content-layout-column\"><div class=\"fusion-text fusion-text-1\"><p>Automatiser un blog avec une IA, c\u2019est facile \u00e0 imaginer et plus d\u00e9licat \u00e0 r\u00e9ussir. J\u2019ai voulu publier un article par jour en quatre langues, sans y toucher\u00a0; deux semaines plus tard, 91 pages \u00e9taient ab\u00eem\u00e9es. Voici ce qui a cass\u00e9, la r\u00e9paration men\u00e9e avec Claude, et ce qui tourne aujourd\u2019hui.<\/p>\n<h2 style=\"margin-top: 45px;margin-bottom: 20px;font-weight: 700\">L\u2019essentiel en quelques lignes<\/h2>\n<ul style=\"margin: 15px 0 20px 25px;line-height: 1.7\">\n<li style=\"margin-bottom: 8px\">Un script et l\u2019IA Gemini publiaient un article par jour, en quatre langues, sans que personne ne relise. Au bout de deux semaines, 91 pages \u00e9taient ab\u00eem\u00e9es.<\/li>\n<li style=\"margin-bottom: 8px\">Une autre IA, Claude, a trouv\u00e9 la cause (l\u2019architecture bien plus que le mod\u00e8le), puis audit\u00e9 et r\u00e9par\u00e9 ces 91 pages en direct sur le site, avec sauvegarde et retour arri\u00e8re automatiques \u00e0 chaque \u00e9tape.<\/li>\n<li style=\"margin-bottom: 8px\">Un nouveau g\u00e9n\u00e9rateur a \u00e9t\u00e9 construit\u00a0: une structure impos\u00e9e, une mise en page faite par un programme, des contr\u00f4les qui bloquent, des brouillons plut\u00f4t que des publications.<\/li>\n<li style=\"margin-bottom: 8px\">Reste \u00e0 ma charge ce qu\u2019une machine ne peut pas d\u00e9cider\u00a0: la ligne \u00e9ditoriale, les faits \u00e0 v\u00e9rifier, le renouvellement de quelques acc\u00e8s.<\/li>\n<\/ul>\n<h2 style=\"margin-top: 45px;margin-bottom: 20px;font-weight: 700\">Le pari de d\u00e9part<\/h2>\n<figure class=\"wp-block-image size-large aligncenter\" style=\"margin: 35px 0\">\n<img decoding=\"async\" src=\"https:\/\/www.lowcostwebagency.com\/wp-content\/uploads\/2026\/10\/automate-blog-ai-story-repair-pari.webp\" alt=\"Un petit bureau d&#x27;agence avec un ordinateur portable, un r\u00e9veil et quatre bulles de dialogue vides\" style=\"border-radius: 8px;width: 100%;height: auto\" title=\"\"><figcaption style=\"text-align: center;font-size: 0.9em;color: #555;margin-top: 8px\">Le pari\u00a0: un article par jour, en quatre langues, sans y toucher.<\/figcaption><\/figure>\n<p>Je dirige depuis 2013 une agence web install\u00e9e \u00e0 Pondich\u00e9ry, en Inde. Nous cr\u00e9ons des sites, des boutiques en ligne et des applications mobiles, nous g\u00e9rons les r\u00e9seaux sociaux de nos clients, et nous sommes une cinquantaine \u00e0 y travailler. Autant dire que le blog de notre propre site devrait \u00eatre la vitrine la plus soign\u00e9e de la maison. C\u2019est souvent le contraire\u00a0: le cordonnier est toujours le plus mal chauss\u00e9.<\/p>\n<p>Au d\u00e9but du mois d\u2019octobre, j\u2019ai voulu corriger cela d\u2019un seul coup. L\u2019id\u00e9e tenait en une phrase\u00a0: un article par jour, r\u00e9dig\u00e9 en anglais, puis adapt\u00e9 en fran\u00e7ais, en espagnol et en italien, et publi\u00e9 sans que j\u2019aie \u00e0 y toucher. Je lis ces quatre langues. Je sais ce qu\u2019un site multilingue bien fait peut ouvrir comme portes, et je sais aussi ce que co\u00fbte, en heures, de l\u2019alimenter \u00e0 la main.<\/p>\n<p>La m\u00e9canique semblait simple, presque trop belle. Un script \u00e9crit en Python. L\u2019intelligence artificielle de Google, Gemini, pour r\u00e9diger. Une t\u00e2che planifi\u00e9e sous Windows qui se d\u00e9clenche chaque matin \u00e0 10 h 14. Et mon site WordPress, avec son th\u00e8me Avada, ses traductions g\u00e9r\u00e9es par <a href=\"https:\/\/www.lowcostwebagency.com\/fr\/wpml-est-il-le-meilleur-plugin-wordpress-pour-les-sites-web-multilingues\/\">WPML<\/a> et son <a href=\"https:\/\/www.lowcostwebagency.com\/fr\/rank-math-ou-yoast-seo-2026-gagnant\/\">plugin de r\u00e9f\u00e9rencement<\/a>, pour accueillir le tout.<\/p>\n<p>Elle \u00e9tait trop belle, en effet. Pendant quelques jours, tout a donn\u00e9 l\u2019impression de fonctionner. Les articles arrivaient, les traductions se rangeaient \u00e0 c\u00f4t\u00e9 de l\u2019original, le blog se remplissait \u00e0 une vitesse que jamais une \u00e9quipe humaine n\u2019aurait tenue. Au bout de deux semaines, vingt-deux sujets \u00e9taient en ligne, soit quatre-vingt-onze pages une fois compt\u00e9es toutes les traductions.<\/p>\n<p>Sur le papier, c\u2019\u00e9tait un succ\u00e8s. Dans les faits, personne n\u2019avait lu ces pages ligne apr\u00e8s ligne. Ni moi, pris par tout le reste. Ni le script, qui ne sait que suivre ses instructions. Ni la machine qui les avait \u00e9crites, qui n\u2019a aucune raison de douter de ce qu\u2019elle produit.<\/p>\n<p>Ce texte raconte la suite. Comment je me suis aper\u00e7u que quelque chose clochait, pourquoi la situation est devenue critique, comment une autre intelligence artificielle, Claude, a audit\u00e9 puis r\u00e9par\u00e9 chacune de ces pages directement sur mon site en ligne, et comment nous avons reconstruit le g\u00e9n\u00e9rateur pour que cela n\u2019arrive plus. J\u2019ai essay\u00e9 de l\u2019\u00e9crire pour qu\u2019il se comprenne sans conna\u00eetre une ligne de code. Je vous raconte aussi les faux d\u00e9parts, parce que ce sont eux qui m\u2019ont le plus appris.<\/p>\n<h2 style=\"margin-top: 45px;margin-bottom: 20px;font-weight: 700\">Ce qui se passe vraiment chaque matin \u00e0 10 h 14<\/h2>\n<figure class=\"wp-block-image size-large aligncenter\" style=\"margin: 35px 0\">\n<img decoding=\"async\" src=\"https:\/\/www.lowcostwebagency.com\/wp-content\/uploads\/2026\/10\/automate-blog-ai-story-repair-cuisine.webp\" alt=\"Une cuisine de restaurant o\u00f9 un cuisinier passe des plats \u00e0 un serveur sans que personne ne go\u00fbte\" style=\"border-radius: 8px;width: 100%;height: auto\" title=\"\"><figcaption style=\"text-align: center;font-size: 0.9em;color: #555;margin-top: 8px\">Une cuisine o\u00f9 personne ne go\u00fbte\u00a0: l\u2019erreur voyage jusqu\u2019\u00e0 la table.<\/figcaption><\/figure>\n<p>Pour comprendre ce qui a mal tourn\u00e9, il faut regarder la cuisine. Imaginez un restaurant o\u00f9 un cuisinier tr\u00e8s talentueux pr\u00e9pare les plats, o\u00f9 un serveur les d\u00e9coupe, les redresse et les dispose sur les assiettes, et o\u00f9 personne ne go\u00fbte rien avant que l\u2019assiette n\u2019arrive chez le client. Tant que tout se passe bien, le syst\u00e8me est d\u2019une efficacit\u00e9 redoutable. D\u00e8s qu\u2019un maillon se trompe, l\u2019erreur voyage jusqu\u2019\u00e0 la table sans que personne l\u2019ait vue.<\/p>\n<p>Voici, dans les grandes lignes, ce que faisait mon script chaque jour\u00a0:<\/p>\n<ol style=\"margin: 15px 0 20px 25px;line-height: 1.7\">\n<li style=\"margin-bottom: 8px\">Il parcourait les titres de quelques sites d\u2019actualit\u00e9 sur le r\u00e9f\u00e9rencement et l\u2019intelligence artificielle, puis demandait \u00e0 Gemini de choisir un sujet nouveau.<\/li>\n<li style=\"margin-bottom: 8px\">Il lui demandait un article de deux mille \u00e0 deux mille cinq cents mots, en anglais, \u00e9crit dans un langage de balisage simple.<\/li>\n<li style=\"margin-bottom: 8px\">Il faisait fabriquer trois images, une pour l\u2019en-t\u00eate et deux pour le corps du texte.<\/li>\n<li style=\"margin-bottom: 8px\">Il r\u00e9clamait un titre et une description pour les moteurs de recherche.<\/li>\n<li style=\"margin-bottom: 8px\">Il passait le texte dans une fonction de nettoyage, charg\u00e9e de le transformer en page web propre.<\/li>\n<li style=\"margin-bottom: 8px\">Il demandait ensuite trois traductions, en fran\u00e7ais, en espagnol et en italien, en consignant de ne rien changer \u00e0 la mise en forme.<\/li>\n<li style=\"margin-bottom: 8px\">Il d\u00e9posait le tout sur le site, relayait les liens entre les langues gr\u00e2ce \u00e0 un petit pont sp\u00e9cialement install\u00e9 sur mon WordPress, et attendait le lendemain.<\/li>\n<\/ol>\n<p>On remarque tout de suite ce qui manque\u00a0: une \u00e9tape pour regarder le r\u00e9sultat. Aucune relecture, aucun contr\u00f4le, aucune alerte si quelque chose ne ressemblait pas \u00e0 un article fini.<\/p>\n<h3 style=\"margin-top: 30px;margin-bottom: 15px;font-weight: 600\">Les premiers signes<\/h3>\n<p>Je lis les quatre langues, ce qui est \u00e0 la fois un atout et une mal\u00e9diction\u00a0: je vois tout. Voici ce que j\u2019ai remarqu\u00e9 d\u2019abord, puis ce que l\u2019audit allait confirmer\u00a0:<\/p>\n<ul style=\"margin: 15px 0 20px 25px;line-height: 1.7\">\n<li style=\"margin-bottom: 8px\">Les extraits de code avaient disparu ou arrivaient en lambeaux, y compris dans des articles techniques dont ils \u00e9taient le c\u0153ur.<\/li>\n<li style=\"margin-bottom: 8px\">Des signes parasites tra\u00eenaient dans le texte\u00a0: des ast\u00e9risques, des di\u00e8ses, des \u00e9mojis, des fl\u00e8ches dessin\u00e9es avec des tirets.<\/li>\n<li style=\"margin-bottom: 8px\">Certaines traductions s\u2019arr\u00eataient au milieu d\u2019une id\u00e9e, parfois au milieu d\u2019une phrase.<\/li>\n<li style=\"margin-bottom: 8px\">En italien, la petite pr\u00e9position \u00ab\u00a0ai\u00a0\u00bb, qui signifie \u00ab\u00a0aux\u00a0\u00bb, s\u2019\u00e9crivait \u00ab\u00a0AI\u00a0\u00bb, comme l\u2019intelligence artificielle, des dizaines de fois.<\/li>\n<li style=\"margin-bottom: 8px\">Des unit\u00e9s et des sigles perdaient leurs majuscules, des prix ne co\u00efncidaient plus d\u2019une langue \u00e0 l\u2019autre.<\/li>\n<li style=\"margin-bottom: 8px\">Tous les articles visaient le m\u00eame mot-cl\u00e9 principal, \u00ab\u00a0Digital Strategy\u00a0\u00bb, ce qui est exactement ce qu\u2019il ne faut pas faire en r\u00e9f\u00e9rencement.<\/li>\n<\/ul>\n<p>Pris isol\u00e9ment, chacun de ces d\u00e9fauts se corrige en cinq minutes. Multipli\u00e9s par vingt-deux sujets et quatre langues, ils formaient un chantier que je ne pouvais plus m\u00e9conna\u00eetre. La situation \u00e9tait devenue critique\u00a0: le blog d\u2019une agence web, cens\u00e9 prouver notre s\u00e9rieux, affichait ses propres d\u00e9fauts \u00e0 chaque visiteur, dans quatre langues.<\/p>\n<p>J\u2019ai d\u2019abord tent\u00e9 de r\u00e9gler cela avec Gemini lui-m\u00eame, en lui montrant le probl\u00e8me et en lui demandant de corriger son propre script. J\u2019y ai pass\u00e9 beaucoup de temps, et j\u2019en suis ressorti avec la sensation que chaque correction en cr\u00e9ait une autre. C\u2019est l\u00e0 que j\u2019ai compris que je regardais peut-\u00eatre dans la mauvaise direction.<\/p>\n<h2 style=\"margin-top: 45px;margin-bottom: 20px;font-weight: 700\">Gemini n\u2019\u00e9tait qu\u2019\u00e0 moiti\u00e9 coupable<\/h2>\n<figure class=\"wp-block-image size-large aligncenter\" style=\"margin: 35px 0\">\n<img decoding=\"async\" src=\"https:\/\/www.lowcostwebagency.com\/wp-content\/uploads\/2026\/10\/automate-blog-ai-story-repair-nettoyeur.webp\" alt=\"Un tapis roulant qui fait passer des pages de texte dans une machine gomme trop z\u00e9l\u00e9e\" style=\"border-radius: 8px;width: 100%;height: auto\" title=\"\"><figcaption style=\"text-align: center;font-size: 0.9em;color: #555;margin-top: 8px\">Le nettoyeur trop z\u00e9l\u00e9 effa\u00e7ait tout ce qui ressemblait \u00e0 du code.<\/figcaption><\/figure>\n<p>Quand un plat arrive froid, on accuse le cuisinier. Parfois, c\u2019est le serveur qui l\u2019a oubli\u00e9 sur le passe. En lisant le script de bout en bout, Claude a d\u00e9roul\u00e9 la cha\u00eene maillon par maillon, et le verdict m\u2019a surpris\u00a0: l\u2019essentiel des d\u00e9g\u00e2ts ne venait pas de ce que Gemini avait \u00e9crit, mais de ce qui lui arrivait ensuite.<\/p>\n<h3 style=\"margin-top: 30px;margin-bottom: 15px;font-weight: 600\">Le nettoyeur trop z\u00e9l\u00e9<\/h3>\n<p>La fonction charg\u00e9e de transformer le texte en page web avait une mission raisonnable\u00a0: \u00e9viter que des morceaux de code ou des sch\u00e9mas mal form\u00e9s ne polluent les articles. Pour cela, elle supprimait tout ce qui ressemblait \u00e0 du code. Concr\u00e8tement, elle effa\u00e7ait chaque ligne contenant certains mots, comme \u00ab\u00a0import\u00a0\u00bb ou \u00ab\u00a0class\u00a0\u00bb, et tout ce qui se trouvait entre trois guillemets inverses. Dans un article destin\u00e9 \u00e0 des d\u00e9butants, le vrai code est l\u2019exception. Dans un article technique, c\u2019est la raison d\u2019\u00eatre du texte, et il disparaissait sans un message d\u2019erreur.<\/p>\n<h3 style=\"margin-top: 30px;margin-bottom: 15px;font-weight: 600\">La limite invisible<\/h3>\n<p>On demandait \u00e0 Gemini de r\u00e9diger deux mille \u00e0 deux mille cinq cents mots, mais le script lui accordait une enveloppe de r\u00e9ponse plafonn\u00e9e \u00e0 8 192 \u00ab\u00a0jetons\u00a0\u00bb, l\u2019unit\u00e9 de mesure du texte pour une IA. C\u2019est limite. Surtout, le script ne v\u00e9rifiait jamais si la r\u00e9ponse avait \u00e9t\u00e9 men\u00e9e jusqu\u2019au bout. Un texte coup\u00e9 net \u00e9tait publi\u00e9 comme un texte fini.<\/p>\n<h3 style=\"margin-top: 30px;margin-bottom: 15px;font-weight: 600\">La traduction en un seul coup<\/h3>\n<p>Les traductions \u00e9taient demand\u00e9es d\u2019un bloc, avec la consigne de conserver la mise en forme \u00ab\u00a0exactement\u00a0\u00bb. Aucune r\u00e8gle propre \u00e0 chaque langue, aucun lexique des noms de marques \u00e0 ne pas toucher, aucune convention de majuscules. Le r\u00e9sultat \u00e9tait fluide en surface, et plein de petites erreurs en profondeur, comme le fameux \u00ab\u00a0AI\u00a0\u00bb italien.<\/p>\n<h3 style=\"margin-top: 30px;margin-bottom: 15px;font-weight: 600\">Des titres et des descriptions approximatifs<\/h3>\n<p>Le titre et la <a href=\"https:\/\/www.lowcostwebagency.com\/fr\/meta-descriptions-ia-le-secret\/\">description pour les moteurs de recherche<\/a> \u00e9taient extraits en cherchant le mot \u00ab\u00a0title\u00a0:\u00a0\u00bb dans la r\u00e9ponse. S\u2019il manquait, le script se rabattait sur un texte g\u00e9n\u00e9rique, le m\u00eame pour tous. Le code coupait ensuite le titre destin\u00e9 au r\u00e9f\u00e9rencement \u00e0 cinquante caract\u00e8res, quelle que soit la phrase.<\/p>\n<h3 style=\"margin-top: 30px;margin-bottom: 15px;font-weight: 600\">Et ce que Gemini avait vraiment sur la conscience<\/h3>\n<p>Sa part n\u2019est pas nulle. Quand on lui demande un article d\u2019actualit\u00e9, il lui arrive d\u2019inventer un chiffre ou une caract\u00e9ristique pour avoir l\u2019air pr\u00e9cis. Il aime les \u00e9mojis, les listes \u00e0 coches et les tableaux d\u00e9coratifs. Mais ce sont des penchants, pas des pannes, et un bon syst\u00e8me est con\u00e7u pour les encadrer.<\/p>\n<h3 style=\"margin-top: 30px;margin-bottom: 15px;font-weight: 600\">La le\u00e7on<\/h3>\n<p>Un mod\u00e8le de langage est un excellent r\u00e9dacteur et un tr\u00e8s mauvais contr\u00f4leur de lui-m\u00eame. Ce que j\u2019avais b\u00e2ti ressemblait \u00e0 une usine sans service qualit\u00e9. Le probl\u00e8me n\u2019\u00e9tait pas de trouver une meilleure IA. Il fallait changer l\u2019architecture autour d\u2019elle.<\/p>\n<h2 style=\"margin-top: 45px;margin-bottom: 20px;font-weight: 700\">J\u2019ai chang\u00e9 d\u2019interlocuteur<\/h2>\n<p>Le jour o\u00f9 j\u2019ai <a href=\"https:\/\/www.lowcostwebagency.com\/fr\/gerer-son-wordpress-avec-chatgpt\/\">ouvert une conversation avec Claude<\/a>, j\u2019avais une demande en deux temps, et je l\u2019ai formul\u00e9e avec la franchise de quelqu\u2019un qui n\u2019en peut plus\u00a0: Gemini ne me cr\u00e9ait que des probl\u00e8mes, j\u2019avais trop gal\u00e9r\u00e9, et je voulais savoir deux choses. D\u2019abord, ce qui n\u2019allait pas dans mon script. Ensuite, et surtout, comment r\u00e9parer tous les articles publi\u00e9s depuis le 1er octobre, traductions comprises, avec la liste des identifiants \u00e0 l\u2019appui.<\/p>\n<p>Je n\u2019avais aucune garantie que cela marcherait. J\u2019ai vite compris que la route serait longue, et pas seulement \u00e0 cause du travail lui-m\u00eame.<\/p>\n<h3 style=\"margin-top: 30px;margin-bottom: 15px;font-weight: 600\">Premier obstacle\u00a0: le site fermait la porte<\/h3>\n<p>Claude travaille dans un environnement informatique isol\u00e9, quelque part dans le cloud. Quand il a essay\u00e9 d\u2019interroger mon site, celui-ci a r\u00e9pondu par un refus. Rien de grave\u00a0: c\u2019est le comportement normal d\u2019un site prot\u00e9g\u00e9. Mais l\u2019autorisation d\u2019acc\u00e8s se r\u00e8gle dans les param\u00e8tres de mon compte Claude, o\u00f9 il faut ajouter le nom de domaine de mon site \u00e0 une liste de sites autoris\u00e9s. J\u2019ai r\u00e9pondu que je ne voyais pas l\u2019option, parce que j\u2019\u00e9tais en formule gratuite. Dans la foul\u00e9e, je suis pass\u00e9 \u00e0 la formule Pro, et l\u2019option est apparue.<\/p>\n<h3 style=\"margin-top: 30px;margin-bottom: 15px;font-weight: 600\">Deuxi\u00e8me obstacle\u00a0: les identifiants<\/h3>\n<p>Pour modifier des articles, il faut des droits d\u2019\u00e9criture. Plut\u00f4t que de coller des mots de passe dans une conversation, je les ai regroup\u00e9s dans un fichier de configuration sur mon ordinateur, que Claude a ensuite utilis\u00e9 pour travailler, avec un acc\u00e8s sp\u00e9cifique que je peux r\u00e9voquer \u00e0 tout moment. Cette habitude est l\u2019une des r\u00e8gles que je recommande \u00e0 la fin de ce texte.<\/p>\n<h3 style=\"margin-top: 30px;margin-bottom: 15px;font-weight: 600\">Troisi\u00e8me obstacle\u00a0: le site ne r\u00e9pondait qu\u2019\u00e0 mon ordinateur<\/h3>\n<p>M\u00eame une fois le domaine autoris\u00e9, mon site continuait de se montrer m\u00e9fiant envers l\u2019environnement de Claude. La solution est venue d\u2019un angle inattendu\u00a0: mon propre ordinateur portable, que le site conna\u00eet et accepte. J\u2019ai ouvert l\u2019application de bureau de Claude, qui peut se relier \u00e0 mon poste. Puis Claude a pr\u00e9par\u00e9 pour mon PC un petit programme, une sorte de guichet, que je lance et qui ex\u00e9cute un par un les travaux qu\u2019il lui d\u00e9pose dans un dossier et lui renvoie les r\u00e9sultats. Claude \u00e9crit les instructions et les v\u00e9rifie, mon ordinateur parle au site, et le r\u00e9sultat remonte.<\/p>\n<p>Restait la seule question qui comptait vraiment\u00a0: jusqu\u2019o\u00f9 le laisser aller\u00a0? J\u2019ai tranch\u00e9 sans nuance. Je voulais qu\u2019il intervienne directement sur le site en ligne, qu\u2019il publie ses corrections lui-m\u00eame, et qu\u2019il me d\u00e9montre, plut\u00f4t que de me le promettre, qu\u2019il \u00e9tait \u00e0 la hauteur. J\u2019ai ajout\u00e9 que s\u2019il lui fallait plus de puissance, il devait me le dire. Il n\u2019en a pas eu besoin.<\/p>\n<p>J\u2019ai aussi pos\u00e9 une condition, que je rep\u00e8te volontiers \u00e0 quiconque confie du travail \u00e0 une IA\u00a0: \u00ab\u00a0\u00e0 toi de v\u00e9rifier ce que tu fais\u00a0\u00bb. Elle a guid\u00e9 chacune des \u00e9tapes qui ont suivi.<\/p>\n<h2 style=\"margin-top: 45px;margin-bottom: 20px;font-weight: 700\">L\u2019audit\u00a0: quatre-vingt-onze pages au peigne fin<\/h2>\n<figure class=\"wp-block-image size-large aligncenter\" style=\"margin: 35px 0\">\n<img decoding=\"async\" src=\"https:\/\/www.lowcostwebagency.com\/wp-content\/uploads\/2026\/10\/automate-blog-ai-story-repair-audit.webp\" alt=\"Une loupe g\u00e9ante au-dessus d&#x27;une grille de vignettes de pages coch\u00e9es en vert ou marqu\u00e9es d&#x27;un point orange\" style=\"border-radius: 8px;width: 100%;height: auto\" title=\"\"><figcaption style=\"text-align: center;font-size: 0.9em;color: #555;margin-top: 8px\">L\u2019audit\u00a0: quatre-vingt-onze pages examin\u00e9es une \u00e0 une.<\/figcaption><\/figure>\n<p>Premi\u00e8re d\u00e9cision, et elle m\u2019a \u00e9t\u00e9 impos\u00e9e par le bon sens plus que par l\u2019envie\u00a0: ne r\u00e9parer qu\u2019apr\u00e8s avoir mesur\u00e9. Je n\u2019avais pas de liste fiable des d\u00e9fauts, seulement des impressions. J\u2019ai donc demand\u00e9 \u00e0 Claude de lancer son propre audit, avec des donn\u00e9es fra\u00eeches lues directement sur le site, sans se fier \u00e0 celles que j\u2019avais en main.<\/p>\n<p>Un audit, c\u2019est tout simplement une relecture m\u00e9thodique, mais men\u00e9e par une machine qui ne se fatigue pas. Pour chacune des pages, le programme comparait le titre, la structure des intertitres, les paragraphes, les listes, les tableaux, les blocs de code, les images, les liens, les informations destin\u00e9es aux moteurs de recherche, la langue employ\u00e9e et la pr\u00e9sence du bouton de contact. Quatre-vingt-huit pages se r\u00e9partissaient en vingt-deux groupes de quatre langues. Trois autres traductions flottaient \u00e0 part, sans parent officiel\u00a0: des doublons d\u2019un m\u00eame article, que nous avons classifi\u00e9s \u00ab\u00a0orphelins\u00a0\u00bb.<\/p>\n<h3 style=\"margin-top: 30px;margin-bottom: 15px;font-weight: 600\">Quand \u00e7a ne r\u00e9pond pas<\/h3>\n<p>J\u2019ai eu un moment de doute. Au bout d\u2019un moment, j\u2019ai \u00e9crit que le script que j\u2019avais lanc\u00e9 me donnait l\u2019impression de tourner dans le vide. Quelques minutes plus tard, j\u2019ai corrig\u00e9\u00a0: il tournait bel et bien, mais tr\u00e8s lentement. La raison est simple et un peu humiliante pour l\u2019impatience humaine\u00a0: interroger quatre-vingt-onze pages, en plusieurs langues, plusieurs fois chacune, prend du temps, surtout quand le site prend soin de ne pas se laisser submerger.<\/p>\n<p>J\u2019ai alors pos\u00e9 la seule consigne qui vaille dans ce genre de situation. Je n\u2019avais pas besoin que ce soit rapide. J\u2019avais besoin que le r\u00e9sultat final soit parfait, et peu importait le temps que cela prendrait. Cette phrase a chang\u00e9 la mani\u00e8re de travailler\u00a0: Claude a cess\u00e9 d\u2019optimiser la vitesse pour optimiser la fiabilit\u00e9.<\/p>\n<h3 style=\"margin-top: 30px;margin-bottom: 15px;font-weight: 600\">Ce que l\u2019audit a r\u00e9v\u00e9l\u00e9<\/h3>\n<table role=\"table\" style=\"display:block;position:relative;width:100%;margin:30px 0;border:1px solid #e2e8f0;border-radius:8px;overflow:hidden;background:#ffffff;border-collapse:separate\">\n<thead role=\"rowgroup\" style=\"position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0\">\n<tr role=\"row\">\n<th role=\"columnheader\" scope=\"col\">Ce qu\u2019on a trouv\u00e9<\/th>\n<th role=\"columnheader\" scope=\"col\">Un exemple concret<\/th>\n<th role=\"columnheader\" scope=\"col\">Ce que nous en avons fait<\/th>\n<\/tr>\n<\/thead>\n<tbody role=\"rowgroup\" style=\"display:block;border:0\">\n<tr role=\"row\" style=\"display:flex;flex-wrap:wrap;border-bottom:1px solid #e2e8f0;border-left:4px solid #0f172a;background:#ffffff;margin:0\">\n<td role=\"cell\" style=\"display:block;flex:1 1 200px;min-width:200px;box-sizing:border-box;padding:14px 18px;margin:0;border:0;vertical-align:top;color:#334155;font-size:0.95em;line-height:1.55;text-align:left;background:transparent;color:#0f172a;font-weight:600;\"><span aria-hidden=\"true\" style=\"display:block;margin:0 0 4px;font-size:0.72em;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:#64748b;line-height:1.3\">Ce qu\u2019on a trouv\u00e9<\/span>Code manquant ou cass\u00e9<\/td>\n<td role=\"cell\" style=\"display:block;flex:1 1 200px;min-width:200px;box-sizing:border-box;padding:14px 18px;margin:0;border:0;vertical-align:top;color:#334155;font-size:0.95em;line-height:1.55;text-align:left;background:transparent;\"><span aria-hidden=\"true\" style=\"display:block;margin:0 0 4px;font-size:0.72em;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:#64748b;line-height:1.3\">Un exemple concret<\/span>Des exemples de configuration disparus d\u2019articles techniques<\/td>\n<td role=\"cell\" style=\"display:block;flex:1 1 200px;min-width:200px;box-sizing:border-box;padding:14px 18px;margin:0;border:0;vertical-align:top;color:#334155;font-size:0.95em;line-height:1.55;text-align:left;background:transparent;\"><span aria-hidden=\"true\" style=\"display:block;margin:0 0 4px;font-size:0.72em;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:#64748b;line-height:1.3\">Ce que nous en avons fait<\/span>Reconstruits dans les quatre langues, avec des commentaires en anglais<\/td>\n<\/tr>\n<tr role=\"row\" style=\"display:flex;flex-wrap:wrap;border-bottom:1px solid #e2e8f0;border-left:4px solid #0f172a;background:#f8fafc;margin:0\">\n<td role=\"cell\" style=\"display:block;flex:1 1 200px;min-width:200px;box-sizing:border-box;padding:14px 18px;margin:0;border:0;vertical-align:top;color:#334155;font-size:0.95em;line-height:1.55;text-align:left;background:transparent;color:#0f172a;font-weight:600;\"><span aria-hidden=\"true\" style=\"display:block;margin:0 0 4px;font-size:0.72em;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:#64748b;line-height:1.3\">Ce qu\u2019on a trouv\u00e9<\/span>Mise en forme parasite<\/td>\n<td role=\"cell\" style=\"display:block;flex:1 1 200px;min-width:200px;box-sizing:border-box;padding:14px 18px;margin:0;border:0;vertical-align:top;color:#334155;font-size:0.95em;line-height:1.55;text-align:left;background:transparent;\"><span aria-hidden=\"true\" style=\"display:block;margin:0 0 4px;font-size:0.72em;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:#64748b;line-height:1.3\">Un exemple concret<\/span>Ast\u00e9risques, di\u00e8ses, \u00e9mojis, sch\u00e9mas faits de tirets et de fl\u00e8ches<\/td>\n<td role=\"cell\" style=\"display:block;flex:1 1 200px;min-width:200px;box-sizing:border-box;padding:14px 18px;margin:0;border:0;vertical-align:top;color:#334155;font-size:0.95em;line-height:1.55;text-align:left;background:transparent;\"><span aria-hidden=\"true\" style=\"display:block;margin:0 0 4px;font-size:0.72em;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:#64748b;line-height:1.3\">Ce que nous en avons fait<\/span>Nettoy\u00e9s\u00a0; des comparaisons dessin\u00e9es en caract\u00e8res devenues de vrais tableaux<\/td>\n<\/tr>\n<tr role=\"row\" style=\"display:flex;flex-wrap:wrap;border-bottom:1px solid #e2e8f0;border-left:4px solid #0f172a;background:#ffffff;margin:0\">\n<td role=\"cell\" style=\"display:block;flex:1 1 200px;min-width:200px;box-sizing:border-box;padding:14px 18px;margin:0;border:0;vertical-align:top;color:#334155;font-size:0.95em;line-height:1.55;text-align:left;background:transparent;color:#0f172a;font-weight:600;\"><span aria-hidden=\"true\" style=\"display:block;margin:0 0 4px;font-size:0.72em;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:#64748b;line-height:1.3\">Ce qu\u2019on a trouv\u00e9<\/span>Traductions tronqu\u00e9es<\/td>\n<td role=\"cell\" style=\"display:block;flex:1 1 200px;min-width:200px;box-sizing:border-box;padding:14px 18px;margin:0;border:0;vertical-align:top;color:#334155;font-size:0.95em;line-height:1.55;text-align:left;background:transparent;\"><span aria-hidden=\"true\" style=\"display:block;margin:0 0 4px;font-size:0.72em;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:#64748b;line-height:1.3\">Un exemple concret<\/span>Conclusions absentes, phrases coup\u00e9es<\/td>\n<td role=\"cell\" style=\"display:block;flex:1 1 200px;min-width:200px;box-sizing:border-box;padding:14px 18px;margin:0;border:0;vertical-align:top;color:#334155;font-size:0.95em;line-height:1.55;text-align:left;background:transparent;\"><span aria-hidden=\"true\" style=\"display:block;margin:0 0 4px;font-size:0.72em;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:#64748b;line-height:1.3\">Ce que nous en avons fait<\/span>Compl\u00e9t\u00e9es et relues<\/td>\n<\/tr>\n<tr role=\"row\" style=\"display:flex;flex-wrap:wrap;border-bottom:1px solid #e2e8f0;border-left:4px solid #0f172a;background:#f8fafc;margin:0\">\n<td role=\"cell\" style=\"display:block;flex:1 1 200px;min-width:200px;box-sizing:border-box;padding:14px 18px;margin:0;border:0;vertical-align:top;color:#334155;font-size:0.95em;line-height:1.55;text-align:left;background:transparent;color:#0f172a;font-weight:600;\"><span aria-hidden=\"true\" style=\"display:block;margin:0 0 4px;font-size:0.72em;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:#64748b;line-height:1.3\">Ce qu\u2019on a trouv\u00e9<\/span>Fautes de casse et de langue<\/td>\n<td role=\"cell\" style=\"display:block;flex:1 1 200px;min-width:200px;box-sizing:border-box;padding:14px 18px;margin:0;border:0;vertical-align:top;color:#334155;font-size:0.95em;line-height:1.55;text-align:left;background:transparent;\"><span aria-hidden=\"true\" style=\"display:block;margin:0 0 4px;font-size:0.72em;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:#64748b;line-height:1.3\">Un exemple concret<\/span>\u00ab\u00a0ai\u00a0\u00bb transform\u00e9 en \u00ab\u00a0AI\u00a0\u00bb en italien (35 fois)\u00a0; kW et kHz en minuscules<\/td>\n<td role=\"cell\" style=\"display:block;flex:1 1 200px;min-width:200px;box-sizing:border-box;padding:14px 18px;margin:0;border:0;vertical-align:top;color:#334155;font-size:0.95em;line-height:1.55;text-align:left;background:transparent;\"><span aria-hidden=\"true\" style=\"display:block;margin:0 0 4px;font-size:0.72em;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:#64748b;line-height:1.3\">Ce que nous en avons fait<\/span>Corrig\u00e9es partout<\/td>\n<\/tr>\n<tr role=\"row\" style=\"display:flex;flex-wrap:wrap;border-bottom:1px solid #e2e8f0;border-left:4px solid #0f172a;background:#ffffff;margin:0\">\n<td role=\"cell\" style=\"display:block;flex:1 1 200px;min-width:200px;box-sizing:border-box;padding:14px 18px;margin:0;border:0;vertical-align:top;color:#334155;font-size:0.95em;line-height:1.55;text-align:left;background:transparent;color:#0f172a;font-weight:600;\"><span aria-hidden=\"true\" style=\"display:block;margin:0 0 4px;font-size:0.72em;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:#64748b;line-height:1.3\">Ce qu\u2019on a trouv\u00e9<\/span>R\u00e9f\u00e9rencement<\/td>\n<td role=\"cell\" style=\"display:block;flex:1 1 200px;min-width:200px;box-sizing:border-box;padding:14px 18px;margin:0;border:0;vertical-align:top;color:#334155;font-size:0.95em;line-height:1.55;text-align:left;background:transparent;\"><span aria-hidden=\"true\" style=\"display:block;margin:0 0 4px;font-size:0.72em;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:#64748b;line-height:1.3\">Un exemple concret<\/span>Un m\u00eame mot-cl\u00e9 pour tous, titres trop longs (90 sur 91)<\/td>\n<td role=\"cell\" style=\"display:block;flex:1 1 200px;min-width:200px;box-sizing:border-box;padding:14px 18px;margin:0;border:0;vertical-align:top;color:#334155;font-size:0.95em;line-height:1.55;text-align:left;background:transparent;\"><span aria-hidden=\"true\" style=\"display:block;margin:0 0 4px;font-size:0.72em;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:#64748b;line-height:1.3\">Ce que nous en avons fait<\/span>Titres, descriptions et mots-cl\u00e9s recompos\u00e9s page par page<\/td>\n<\/tr>\n<tr role=\"row\" style=\"display:flex;flex-wrap:wrap;border-bottom:0;border-left:4px solid #0f172a;background:#f8fafc;margin:0\">\n<td role=\"cell\" style=\"display:block;flex:1 1 200px;min-width:200px;box-sizing:border-box;padding:14px 18px;margin:0;border:0;vertical-align:top;color:#334155;font-size:0.95em;line-height:1.55;text-align:left;background:transparent;color:#0f172a;font-weight:600;\"><span aria-hidden=\"true\" style=\"display:block;margin:0 0 4px;font-size:0.72em;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:#64748b;line-height:1.3\">Ce qu\u2019on a trouv\u00e9<\/span>Doublons et liens<\/td>\n<td role=\"cell\" style=\"display:block;flex:1 1 200px;min-width:200px;box-sizing:border-box;padding:14px 18px;margin:0;border:0;vertical-align:top;color:#334155;font-size:0.95em;line-height:1.55;text-align:left;background:transparent;\"><span aria-hidden=\"true\" style=\"display:block;margin:0 0 4px;font-size:0.72em;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:#64748b;line-height:1.3\">Un exemple concret<\/span>Trois traductions orphelines, un lien externe mort<\/td>\n<td role=\"cell\" style=\"display:block;flex:1 1 200px;min-width:200px;box-sizing:border-box;padding:14px 18px;margin:0;border:0;vertical-align:top;color:#334155;font-size:0.95em;line-height:1.55;text-align:left;background:transparent;\"><span aria-hidden=\"true\" style=\"display:block;margin:0 0 4px;font-size:0.72em;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:#64748b;line-height:1.3\">Ce que nous en avons fait<\/span>Orphelins nettoy\u00e9s, lien remplac\u00e9<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Le constat n\u2019avait rien de dramatique pris isol\u00e9ment, mais il \u00e9tait massif. Et il d\u00e9finissait le chantier\u00a0: non pas retoucher trois phrases, mais reprendre chaque page selon des r\u00e8gles identiques, v\u00e9rifier le r\u00e9sultat page par page, et ne jamais supposer que \u00ab\u00a0\u00e7a doit \u00eatre bon\u00a0\u00bb.<\/p>\n<h2 style=\"margin-top: 45px;margin-bottom: 20px;font-weight: 700\">Le chantier\u00a0: travailler en direct sans casser le site<\/h2>\n<figure class=\"wp-block-image size-large aligncenter\" style=\"margin: 35px 0\">\n<img decoding=\"async\" src=\"https:\/\/www.lowcostwebagency.com\/wp-content\/uploads\/2026\/10\/automate-blog-ai-story-repair-filet.webp\" alt=\"Un funambule portant une caisse \u00e0 outils au-dessus d&#x27;un filet de s\u00e9curit\u00e9\" style=\"border-radius: 8px;width: 100%;height: auto\" title=\"\"><figcaption style=\"text-align: center;font-size: 0.9em;color: #555;margin-top: 8px\">Travailler en direct sur le site, avec un filet dessous.<\/figcaption><\/figure>\n<p>Il y a un moment, dans toute r\u00e9paration, o\u00f9 l\u2019on doit choisir entre prudence et efficacit\u00e9. J\u2019ai \u00e9crit \u00e0 Claude que j\u2019avais besoin d\u2019aller me coucher et que je voulais qu\u2019il travaille de mani\u00e8re autonome. Puis, quelques messages plus tard\u00a0: \u00ab\u00a0go\u00a0\u00bb. Auditer, corriger et republier tous les articles cr\u00e9\u00e9s depuis le 1er octobre, directement sur le site en ligne.<\/p>\n<p>La phrase peut sembler t\u00e9m\u00e9raire. Confier \u00e0 une IA l\u2019\u00e9criture sur un site qui re\u00e7oit des visiteurs, sans relire chaque modification soi-m\u00eame, est le genre de d\u00e9cision qui fait froid dans le dos. Ce qui l\u2019a rendue raisonnable, ce n\u2019est pas ma confiance. C\u2019est le filet de s\u00e9curit\u00e9 que Claude a install\u00e9 avant d\u2019\u00e9crire la moindre ligne.<\/p>\n<h3 style=\"margin-top: 30px;margin-bottom: 15px;font-weight: 600\">Le filet de s\u00e9curit\u00e9<\/h3>\n<p>Pour chaque article, la proc\u00e9dure \u00e9tait toujours la m\u00eame, dans cet ordre\u00a0:<\/p>\n<ol style=\"margin: 15px 0 20px 25px;line-height: 1.7\">\n<li style=\"margin-bottom: 8px\"><strong>Sauvegarder<\/strong> l\u2019\u00e9tat actuel de la page, dans un fichier conserv\u00e9 sur mon ordinateur.<\/li>\n<li style=\"margin-bottom: 8px\"><strong>\u00c9crire<\/strong> la version corrig\u00e9e sur le site.<\/li>\n<li style=\"margin-bottom: 8px\"><strong>Relire<\/strong> ce que le site a r\u00e9ellement enregistr\u00e9, et le comparer \u00e0 ce qui \u00e9tait cens\u00e9 l\u2019\u00eatre.<\/li>\n<li style=\"margin-bottom: 8px\"><strong>Ouvrir la page publique<\/strong> comme le ferait un visiteur\u00a0: elle doit r\u00e9pondre, ne montrer aucun code technique par erreur, contenir les phrases attendues et afficher le bouton de contact.<\/li>\n<li style=\"margin-bottom: 8px\"><strong>Revenir en arri\u00e8re automatiquement<\/strong>, sans attendre mon avis, si l\u2019une de ces v\u00e9rifications \u00e9chouait.<\/li>\n<\/ol>\n<p>Avec ce dispositif, le pire sc\u00e9nario n\u2019\u00e9tait plus une page cass\u00e9e en ligne, mais une page refus\u00e9e puis restaur\u00e9e telle qu\u2019elle \u00e9tait, avec un message d\u2019erreur pour m\u2019expliquer pourquoi.<\/p>\n<h3 style=\"margin-top: 30px;margin-bottom: 15px;font-weight: 600\">Comment les pages \u00e9taient r\u00e9par\u00e9es<\/h3>\n<p>Claude ne retouchait pas les articles au hasard. Il reconstruisait chaque page \u00e0 partir de son contenu, selon les m\u00eames r\u00e8gles pour toutes les langues\u00a0: mise en forme nettoy\u00e9e, code r\u00e9tabli, casse corrig\u00e9e, titres et descriptions r\u00e9\u00e9crits, bouton de contact conserv\u00e9, liens contr\u00f4l\u00e9s. Puis un second jeu de contr\u00f4les, ind\u00e9pendant de la r\u00e9paration, relisait le r\u00e9sultat. L\u2019id\u00e9e est la m\u00eame que dans une \u00e9quipe humaine\u00a0: celui qui corrige n\u2019est pas celui qui valide.<\/p>\n<h3 style=\"margin-top: 30px;margin-bottom: 15px;font-weight: 600\">Les vagues<\/h3>\n<p>Le travail a avanc\u00e9 par vagues successives, de plus en plus fines. La premi\u00e8re a trait\u00e9 quatre-vingt-sept pages\u00a0: quatre-vingts ont franchi tous les contr\u00f4les du premier coup, sept ont \u00e9t\u00e9 refus\u00e9es puis corrig\u00e9es. La deuxi\u00e8me a republi\u00e9 les quatre-vingt-onze pages avec des textes affin\u00e9s, et toutes ont pass\u00e9 les contr\u00f4les. Une troisi\u00e8me a repris onze pages sur des d\u00e9tails restants. Mais le plus difficile restait \u00e0 venir.<\/p>\n<p>Pendant ce temps, les trois brouillons que je ne voulais surtout pas voir modifi\u00e9s sont rest\u00e9s strictement intacts, comme convenu\u00a0: le p\u00e9rim\u00e8tre du chantier \u00e9tait fix\u00e9, et il a \u00e9t\u00e9 respect\u00e9.<\/p>\n<h2 style=\"margin-top: 45px;margin-bottom: 20px;font-weight: 700\">Le myst\u00e8re des accolades<\/h2>\n<figure class=\"wp-block-image size-large aligncenter\" style=\"margin: 35px 0\">\n<img decoding=\"async\" src=\"https:\/\/www.lowcostwebagency.com\/wp-content\/uploads\/2026\/10\/automate-blog-ai-story-repair-enquete.webp\" alt=\"Un d\u00e9tective qui inspecte un filtre en forme d&#x27;entonnoir avalant des symboles d&#x27;accolades\" style=\"border-radius: 8px;width: 100%;height: auto\" title=\"\"><figcaption style=\"text-align: center;font-size: 0.9em;color: #555;margin-top: 8px\">Le myst\u00e8re des accolades\u00a0: un filtre qui avalait le contenu.<\/figcaption><\/figure>\n<p>C\u2019est la partie du r\u00e9cit que je pr\u00e9f\u00e8re, parce qu\u2019elle ressemble \u00e0 une enqu\u00eate polici\u00e8re, et parce qu\u2019elle montre pourquoi on ne peut pas se contenter de \u00ab\u00a0\u00e7a a l\u2019air bon\u00a0\u00bb.<\/p>\n<p>Une fois les premi\u00e8res vagues pass\u00e9es, Claude a continu\u00e9 de regarder les pages publiques comme un visiteur, en particulier celles qui contenaient du code. Quelque chose clochait, de fa\u00e7on subtile. Certains extraits r\u00e9ussissaient tous les contr\u00f4les internes, mais s\u2019affichaient de travers sur le site\u00a0: des morceaux avaient disparu, d\u2019autres s\u2019\u00e9taient transform\u00e9s.<\/p>\n<h3 style=\"margin-top: 30px;margin-bottom: 15px;font-weight: 600\">Un d\u00e9tail technique, expliqu\u00e9 simplement<\/h3>\n<p>Sur une page web, certains caract\u00e8res sont r\u00e9serv\u00e9s\u00a0: le signe \u00ab\u00a0inf\u00e9rieur \u00e0\u00a0\u00bb sert \u00e0 ouvrir une balise. Pour l\u2019afficher comme un simple symbole, on l\u2019\u00e9crit sous une forme codifi\u00e9e, une \u00ab\u00a0entit\u00e9\u00a0\u00bb, par exemple <code>&amp;lt;<\/code>. Le navigateur la lit, et affiche le signe. C\u2019est un m\u00e9canisme tr\u00e8s courant, et nous l\u2019utilisions dans tous les blocs de code.<\/p>\n<p>Premi\u00e8re hypoth\u00e8se\u00a0: l\u2019erreur venait de notre c\u00f4t\u00e9. Claude a donc \u00e9crit l\u2019entit\u00e9 sous une forme renforc\u00e9e, pour qu\u2019elle survive \u00e0 un d\u00e9codage suppl\u00e9mentaire. Une vague enti\u00e8re a \u00e9t\u00e9 republi\u00e9e sur cette base. Les contr\u00f4les de l\u2019\u00e9poque ont \u00e9t\u00e9 pass\u00e9s, ce qui prouve une chose\u00a0: parfois, un contr\u00f4le ne mesure que ce qu\u2019il a \u00e9t\u00e9 con\u00e7u pour mesurer.<\/p>\n<p>Car le sympt\u00f4me persistait, et il avait une particularit\u00e9 troublante. Il n\u2019apparaissait que dans les articles dont le code contenait des accolades, ces signes <code>&lbrace;<\/code> et <code>&rbrace;<\/code> qu\u2019on trouve dans presque tous les fichiers de configuration. Les articles sans accolades se comportaient parfaitement bien.<\/p>\n<h3 style=\"margin-top: 30px;margin-bottom: 15px;font-weight: 600\">Des exp\u00e9riences qui ne laissent aucune trace<\/h3>\n<p>Pour comprendre, Claude a fait ce que ferait un bon enqu\u00eateur\u00a0: reproduire le ph\u00e9nom\u00e8ne dans des conditions contr\u00f4l\u00e9es. Sur un seul article, il a pos\u00e9 une version d\u2019essai, observ\u00e9 la page publique, puis restaur\u00e9 la version d\u2019origine. Il a recommenc\u00e9 avec des variantes. Chaque test \u00e9tait r\u00e9versible, chaque r\u00e9sultat a \u00e9t\u00e9 not\u00e9.<\/p>\n<p>Les conclusions tiennent en trois lignes\u00a0:<\/p>\n<ul style=\"margin: 15px 0 20px 25px;line-height: 1.7\">\n<li style=\"margin-bottom: 8px\">Quand un article contient une accolade, un filtre du site efface tout ce qui se trouve entre une accolade ouvrante et sa fermante, texte, configuration, exemples compris.<\/li>\n<li style=\"margin-bottom: 8px\">Dans les m\u00eames articles, ce filtre d\u00e9code une fois les entit\u00e9s, de sorte que <code>&amp;lt;title&amp;gt;<\/code> devenait une vraie balise, invisible \u00e0 l\u2019\u00e9cran.<\/li>\n<li style=\"margin-bottom: 8px\">Les articles sans accolades \u00e9chappaient \u00e0 tout cela.<\/li>\n<\/ul>\n<p>Je n\u2019ai pas pu identifier le coupable. Mon site fait tourner de nombreux plugins et extraits de code, et celui qui applique cette r\u00e8gle ne s\u2019est pas d\u00e9nonc\u00e9. Claude a pass\u00e9 en revue ce qui \u00e9tait lisible, sans rien modifier, sans trouver de piste claire. Il faudra y revenir, et je le note dans mes chantiers.<\/p>\n<h3 style=\"margin-top: 30px;margin-bottom: 15px;font-weight: 600\">La solution\u00a0: contourner plut\u00f4t que combattre<\/h3>\n<p>Plut\u00f4t que d\u2019attendre de d\u00e9busquer le filtre, Claude a cherch\u00e9 une \u00e9criture que le filtre ne reconna\u00eet pas. Il a essay\u00e9 plusieurs encodages d\u2019accolades. Certains \u00e9chouaient, d\u2019autres fonctionnaient mais donnaient un r\u00e9sultat inutilisable. Un seul passait tous les tests\u00a0: une entit\u00e9 nomm\u00e9e du langage de la page web, <code>&amp;lbrace;<\/code> pour l\u2019accolade ouvrante et <code>&amp;rbrace;<\/code> pour la fermante. Le filtre ne les voit pas comme des accolades, et le navigateur les affiche exactement comme telles.<\/p>\n<p>Il restait \u00e0 l\u2019appliquer. La sixi\u00e8me vague a r\u00e9\u00e9crit les soixante-dix pages concern\u00e9es, trois traductions orphelines comprises, avec cette convention, et chaque bloc de code a \u00e9t\u00e9 compar\u00e9 \u00e0 sa source, signe pour signe, sur la page publique, avec retour arri\u00e8re automatique au moindre \u00e9cart. R\u00e9sultat\u00a0: soixante-dix r\u00e9ussites sur soixante-dix, aucun retour arri\u00e8re.<\/p>\n<p>Il y a eu un dernier d\u00e9tail curieux. Un plugin de maillage interne ins\u00e8re automatiquement des liens dans mes articles, y compris, par z\u00e8le, \u00e0 l\u2019int\u00e9rieur des blocs de code. C\u2019est inoffensif pour l\u2019instant, mais ce n\u2019est pas propre, et c\u2019est maintenant dans la liste de ce que je vais faire exclure.<\/p>\n<h2 style=\"margin-top: 45px;margin-bottom: 20px;font-weight: 700\">V\u00e9rifier pour de vrai<\/h2>\n<p>Une fois la derni\u00e8re vague pass\u00e9e, la tentation \u00e9tait grande de proclamer la victoire. Claude a fait l\u2019inverse\u00a0: il a lanc\u00e9 un audit final sur les quatre-vingt-onze pages, avec une logique mise \u00e0 jour pour tenir compte de la d\u00e9couverte des accolades. Le programme a examin\u00e9 chaque page sous trois angles\u00a0: ce que le site a enregistr\u00e9, ce que le site transmet aux programmes qui l\u2019interrogent, et ce qu\u2019un visiteur voit r\u00e9ellement.<\/p>\n<p>Le verdict est tomb\u00e9\u00a0: quatre-vingt-onze pages sur quatre-vingt-onze conformes. Chaque page r\u00e9pond, ne comporte qu\u2019un seul titre principal, affiche le bon titre, la bonne description, le bouton de contact, aucun code technique visible par erreur, des intertitres et des paragraphes identiques \u00e0 la source. Mille soixante-deux blocs de code, r\u00e9partis sur soixante-quatorze articles, ressortent \u00e0 l\u2019identique sur les pages publiques. Quatre-vingt-deux liens diff\u00e9rents ont \u00e9t\u00e9 test\u00e9s, un seul \u00e9tait vraiment mort et a \u00e9t\u00e9 remplac\u00e9.<\/p>\n<h3 style=\"margin-top: 30px;margin-bottom: 15px;font-weight: 600\">La fausse alerte qui en dit long<\/h3>\n<p>Le premier audit complet s\u2019est pourtant sold\u00e9 par un \u00e9chec apparent\u00a0: un des contr\u00f4les signalait quatre-vingt-quatre articles. Il comparait le contenu brut enregistr\u00e9 sur le site avec celui qui avait \u00e9t\u00e9 envoy\u00e9, et trouvait des diff\u00e9rences.<\/p>\n<p>Plut\u00f4t que de d\u00e9clarer l\u2019alerte sans importance, Claude a cherch\u00e9 \u00e0 comprendre. La cause \u00e9tait b\u00e9nigne\u00a0: le site r\u00e9\u00e9crit lui-m\u00eame les adresses des liens internes sous une forme plus courte, ce qui modifie le texte brut sans changer la page. Apr\u00e8s avoir tenu compte de cette r\u00e9\u00e9criture, les quatre-vingt-onze pages \u00e9taient bel et bien identiques \u00e0 leur source.<\/p>\n<p>L\u2019important n\u2019est pas le r\u00e9sultat final, mais la m\u00e9thode\u00a0: une alerte qu\u2019on ne comprend pas ne se supprime pas, elle s\u2019explique. C\u2019est ce qui s\u00e9pare un \u00ab\u00a0termin\u00e9\u00a0\u00bb v\u00e9rifi\u00e9 d\u2019un \u00ab\u00a0termin\u00e9\u00a0\u00bb d\u00e9clar\u00e9.<\/p>\n<h3 style=\"margin-top: 30px;margin-bottom: 15px;font-weight: 600\">Le chantier en chiffres<\/h3>\n<p>Pour les amateurs de chiffres, voici le bilan de cette r\u00e9paration\u00a0:<\/p>\n<ul style=\"margin: 15px 0 20px 25px;line-height: 1.7\">\n<li style=\"margin-bottom: 8px\"><strong>91 pages<\/strong> r\u00e9par\u00e9es\u00a0: 22 sujets en quatre langues, plus 3 traductions orphelines.<\/li>\n<li style=\"margin-bottom: 8px\"><strong>1 062 blocs de code<\/strong> v\u00e9rifi\u00e9s un par un, r\u00e9partis sur 74 articles.<\/li>\n<li style=\"margin-bottom: 8px\"><strong>82 liens<\/strong> diff\u00e9rents test\u00e9s, dont un seul \u00e9tait mort.<\/li>\n<li style=\"margin-bottom: 8px\"><strong>70 pages<\/strong> r\u00e9\u00e9crites pour contourner le probl\u00e8me des accolades, sans un seul retour arri\u00e8re.<\/li>\n<li style=\"margin-bottom: 8px\"><strong>Plus de 30 r\u00e8gles<\/strong> de contr\u00f4le dans le nouveau g\u00e9n\u00e9rateur, et 10 tests automatiques qui ne touchent pas au site.<\/li>\n<li style=\"margin-bottom: 8px\"><strong>6 minutes<\/strong> environ pour produire, relier et v\u00e9rifier quatre brouillons lors du test r\u00e9el.<\/li>\n<\/ul>\n<h2 style=\"margin-top: 45px;margin-bottom: 20px;font-weight: 700\">Reconstruire plut\u00f4t que rafistoler<\/h2>\n<figure class=\"wp-block-image size-large aligncenter\" style=\"margin: 35px 0\">\n<img decoding=\"async\" src=\"https:\/\/www.lowcostwebagency.com\/wp-content\/uploads\/2026\/10\/automate-blog-ai-story-repair-atelier.webp\" alt=\"Un atelier \u00e0 trois postes avec un robot r\u00e9dacteur, un assembleur et un contr\u00f4leur\" style=\"border-radius: 8px;width: 100%;height: auto\" title=\"\"><figcaption style=\"text-align: center;font-size: 0.9em;color: #555;margin-top: 8px\">Reconstruire\u00a0: un poste pour \u00e9crire, un pour assembler, un pour contr\u00f4ler.<\/figcaption><\/figure>\n<p>R\u00e9parer quatre-vingt-onze pages ne r\u00e9solvait rien si le lendemain \u00e0 10 h 14 le g\u00e9n\u00e9rateur en produisait une nouvelle fourn\u00e9e de d\u00e9fauts. Il fallait traiter la cause. Et la cause, nous l\u2019avions vu, n\u2019\u00e9tait pas un bogue \u00e0 corriger mais une fa\u00e7on de concevoir\u00a0: un syst\u00e8me o\u00f9 un mod\u00e8le \u00e9crit du texte libre, qu\u2019un script nettoie \u00e0 coups d\u2019expressions r\u00e9guli\u00e8res, sans que personne ne regarde le r\u00e9sultat.<\/p>\n<p>Claude a propos\u00e9 de ne pas rafistoler ce script, mais d\u2019en \u00e9crire un nouveau, construit sur trois principes simples.<\/p>\n<h3 style=\"margin-top: 30px;margin-bottom: 15px;font-weight: 600\">Trois principes<\/h3>\n<p><strong>Demander une structure, pas un texte mis en page.<\/strong> Au lieu de r\u00e9clamer un article en langage de balisage, que le script devrait ensuite nettoyer, on demande \u00e0 l\u2019IA de rendre l\u2019article d\u00e9coup\u00e9 en blocs identifi\u00e9s\u00a0: un paragraphe, un intertitre, une liste, un tableau, un bloc de code. Chaque bloc est v\u00e9rifi\u00e9 un par un. Il n\u2019y a plus rien \u00e0 \u00ab\u00a0nettoyer\u00a0\u00bb, donc plus rien \u00e0 effacer par erreur.<\/p>\n<p><strong>S\u00e9parer l\u2019\u00e9criture de la mise en page.<\/strong> L\u2019IA n\u2019\u00e9crit jamais une ligne de page web. Un programme classique, qui fait toujours la m\u00eame chose de la m\u00eame fa\u00e7on, transforme les blocs en pages au format de mon th\u00e8me. Pour une bonne raison\u00a0: une machine qui r\u00e9dige est cr\u00e9ative, donc variable. Une machine qui met en page doit \u00eatre ennuyeuse, donc fiable.<\/p>\n<p><strong>Ne jamais publier sans contr\u00f4le.<\/strong> Entre la r\u00e9daction et le site s\u2019intercale une inspection qualit\u00e9 ind\u00e9pendante, qui peut bloquer l\u2019op\u00e9ration.<\/p>\n<h3 style=\"margin-top: 30px;margin-bottom: 15px;font-weight: 600\">Le parcours d\u2019un article aujourd\u2019hui<\/h3>\n<ol style=\"margin: 15px 0 20px 25px;line-height: 1.7\">\n<li style=\"margin-bottom: 8px\"><strong>Choix du sujet.<\/strong> Le programme consulte les articles d\u00e9j\u00e0 publi\u00e9s, ainsi que les brouillons, et leurs mots-cl\u00e9s, afin de ne jamais se concurrencer lui-m\u00eame. Par d\u00e9faut, il choisit un sujet durable plut\u00f4t qu\u2019un sujet d\u2019actualit\u00e9, parce que les faits d\u2019actualit\u00e9 sont ceux qu\u2019une IA invente le plus volontiers.<\/li>\n<li style=\"margin-bottom: 8px\"><strong>R\u00e9daction en anglais<\/strong>, sous forme de blocs, avec un mot-cl\u00e9 principal pr\u00e9cis.<\/li>\n<li style=\"margin-bottom: 8px\"><strong>Contr\u00f4le qualit\u00e9.<\/strong> Une trentaine de r\u00e8gles, dont chacune correspond \u00e0 un d\u00e9faut r\u00e9ellement rencontr\u00e9 dans les pages r\u00e9par\u00e9es\u00a0: texte coup\u00e9 en fin d\u2019article, \u00e9mojis, restes de mise en forme, unit\u00e9s sans majuscule, \u00ab\u00a0AI\u00a0\u00bb dans un texte non anglais, langue douteuse, mot-cl\u00e9 absent du premier paragraphe, code invalide, lien vers un article inexistant. S\u2019il y a une erreur, une correction cibl\u00e9e est demand\u00e9e, deux fois au plus.<\/li>\n<li style=\"margin-bottom: 8px\"><strong>Adaptation en fran\u00e7ais, espagnol et italien.<\/strong> Pas une traduction mot \u00e0 mot\u00a0: une adaptation, avec un guide de style par langue, une liste de noms de marques qui ne se traduisent pas, et l\u2019obligation de conserver exactement la m\u00eame structure. Les blocs de code ne sont jamais retraduits\u00a0: ils sont simplement recopi\u00e9s depuis l\u2019original.<\/li>\n<li style=\"margin-bottom: 8px\"><strong>Deuxi\u00e8me contr\u00f4le<\/strong>, langue par langue, avec en plus une comparaison avec la version anglaise.<\/li>\n<li style=\"margin-bottom: 8px\"><strong>Mise en page<\/strong>, par le programme, et fabrication des images.<\/li>\n<li style=\"margin-bottom: 8px\"><strong>D\u00e9p\u00f4t en brouillons sur le site<\/strong>, liaison des quatre langues, relecture de chaque brouillon pour s\u2019assurer que le site a bien enregistr\u00e9 ce qui devait l\u2019\u00eatre.<\/li>\n<li style=\"margin-bottom: 8px\"><strong>Rapport<\/strong>, dans un fichier, avec tout ce qui s\u2019est pass\u00e9 et tout avertissement.<\/li>\n<\/ol>\n<p>Si une \u00e9tape bloque, rien n\u2019est cr\u00e9\u00e9. Mieux vaut pas d\u2019article du tout qu\u2019un article ab\u00eem\u00e9.<\/p>\n<h3 style=\"margin-top: 30px;margin-bottom: 15px;font-weight: 600\">Quatre langues, quatre fa\u00e7ons de se tromper<\/h3>\n<p>Dire \u00ab\u00a0on traduit en trois langues\u00a0\u00bb donne l\u2019impression d\u2019un travail m\u00e9canique. C\u2019est faux, et c\u2019est l\u2019une des raisons pour lesquelles l\u2019ancien script se trompait si discr\u00e8tement\u00a0: chaque langue a ses pi\u00e8ges, et ils se cumulent.<\/p>\n<p>En fran\u00e7ais, l\u2019intelligence artificielle s\u2019\u00e9crit \u00ab\u00a0IA\u00a0\u00bb et non \u00ab\u00a0AI\u00a0\u00bb, les deux-points, les points d\u2019interrogation et les guillemets fran\u00e7ais se d\u00e9tachent du mot par une espace, et un titre ne prend de majuscule qu\u2019\u00e0 son premier mot et aux noms propres. L\u2019espagnol et l\u2019italien emploient eux aussi le sigle \u00ab\u00a0IA\u00a0\u00bb. En italien, \u00ab\u00a0ai\u00a0\u00bb est de surcro\u00eet un mot du quotidien, une pr\u00e9position\u00a0: c\u2019est pr\u00e9cis\u00e9ment celui que l\u2019ancien script transformait en \u00ab\u00a0AI\u00a0\u00bb, trente-cinq fois. En espagnol, le bouton de contact a d\u00fb passer au tutoiement pour s\u2019aligner sur le ton du reste du site.<\/p>\n<p>Partout, d\u2019autres r\u00e8gles s\u2019appliquent\u00a0: les noms de marques et de produits ne se traduisent jamais, les unit\u00e9s de mesure ont une casse qui compte (un kW n\u2019est pas un kw), et le mot-cl\u00e9 principal doit sonner naturellement dans chaque langue au lieu d\u2019\u00eatre traduit \u00e0 la lettre. Aucune de ces r\u00e8gles n\u2019existait dans l\u2019ancien script. Le nouveau donne \u00e0 chaque langue son guide de style, son lexique de marques et ses propres contr\u00f4les. Ce travail est invisible quand il r\u00e9ussit, et c\u2019est pr\u00e9cis\u00e9ment le but.<\/p>\n<h3 style=\"margin-top: 30px;margin-bottom: 15px;font-weight: 600\">Les garde-fous<\/h3>\n<p>Le nouveau programme s\u2019arr\u00eate seul au bout de quatre-vingt-dix minutes. Il refuse de se lancer deux fois en m\u00eame temps. Il ne cr\u00e9e qu\u2019un article par jour. Il tient un journal. Il s\u2019appuie sur dix tests automatiques qui v\u00e9rifient son comportement sans toucher au site, y compris un faux site qui simule les pannes. Enfin, les mots de passe ne sont plus \u00e9crits dans le code mais rang\u00e9s dans un fichier \u00e0 part.<\/p>\n<h2 style=\"margin-top: 45px;margin-bottom: 20px;font-weight: 700\">Le pi\u00e8ge cach\u00e9 de 10 h 14<\/h2>\n<figure class=\"wp-block-image size-large aligncenter\" style=\"margin: 35px 0\">\n<img decoding=\"async\" src=\"https:\/\/www.lowcostwebagency.com\/wp-content\/uploads\/2026\/10\/automate-blog-ai-story-repair-pause.webp\" alt=\"Une horloge murale sans chiffres \u00e0 c\u00f4t\u00e9 d&#x27;un gigantesque bouton pause\" style=\"border-radius: 8px;width: 100%;height: auto\" title=\"\"><figcaption style=\"text-align: center;font-size: 0.9em;color: #555;margin-top: 8px\">La pause qui ne finissait jamais\u00a0: personne pour appuyer sur une touche.<\/figcaption><\/figure>\n<p>Le nouveau g\u00e9n\u00e9rateur existait, il passait ses tests, il avait m\u00eame r\u00e9ussi un essai \u00e0 blanc avec le vrai Gemini. Restait \u00e0 le brancher sur ma t\u00e2che planifi\u00e9e, et c\u2019est l\u00e0 que j\u2019ai demand\u00e9 \u00e0 Claude de s\u2019assurer que le fichier principal de mon script, celui que Windows lance chaque jour, \u00e9tait parfait pour g\u00e9n\u00e9rer les prochains articles. Le geste m\u00e9ritait mieux qu\u2019un simple copier-coller, et Claude a d\u00e9couvert deux choses.<\/p>\n<h3 style=\"margin-top: 30px;margin-bottom: 15px;font-weight: 600\">Une pause qui ne finissait jamais<\/h3>\n<p>La premi\u00e8re\u00a0: ma t\u00e2che, nomm\u00e9e \u00ab\u00a0R\u00e9daction post lcwa\u00a0\u00bb, lan\u00e7ait un petit fichier de d\u00e9marrage dont la derni\u00e8re ligne contenait une commande \u00ab\u00a0pause\u00a0\u00bb. Elle attend qu\u2019on appuie sur une touche, ce qui est pratique quand on lance le script \u00e0 la main et qu\u2019on veut lire le r\u00e9sultat. Mais dans une t\u00e2che automatique, plus personne n\u2019est l\u00e0 pour appuyer.<\/p>\n<p>R\u00e9sultat\u00a0: le script avait fini son travail en quelques minutes, mais la t\u00e2che restait affich\u00e9e comme \u00ab\u00a0en cours\u00a0\u00bb. Or Windows, par d\u00e9faut, refuse de lancer une nouvelle ex\u00e9cution tant que la pr\u00e9c\u00e9dente n\u2019est pas termin\u00e9e. Le d\u00e9clenchement du lendemain aurait donc \u00e9t\u00e9 ignor\u00e9 sans bruit. Pas d\u2019erreur, pas d\u2019alerte, simplement un article qui ne serait jamais venu.<\/p>\n<p>Claude a supprim\u00e9 la commande, mis un fichier de lancement s\u00e9par\u00e9 pour mes essais manuels, et termin\u00e9 l\u2019ex\u00e9cution rest\u00e9e bloqu\u00e9e depuis le matin. La t\u00e2che est repass\u00e9e \u00e0 l\u2019\u00e9tat \u00ab\u00a0pr\u00eate\u00a0\u00bb, avec sa prochaine ex\u00e9cution programm\u00e9e le lendemain \u00e0 10 h 14.<\/p>\n<h3 style=\"margin-top: 30px;margin-bottom: 15px;font-weight: 600\">Un brouillon encore \u00e0 l\u2019ancienne<\/h3>\n<p>La seconde d\u00e9couverte m\u2019a fait sourire jaune. L\u2019ex\u00e9cution du matin avait eu lieu avec l\u2019ancien script, et elle avait donc cr\u00e9\u00e9 quatre brouillons dans les quatre langues, avec tous les anciens d\u00e9fauts. Ils n\u2019\u00e9taient pas publi\u00e9s, ce qui les rendait inoffensifs, mais ils m\u2019ont rappel\u00e9 \u00e0 quel point le calendrier d\u2019un processus automatique ne s\u2019arr\u00eate pas parce qu\u2019on r\u00e9pare quelque chose.<\/p>\n<h3 style=\"margin-top: 30px;margin-bottom: 15px;font-weight: 600\">Le test r\u00e9el<\/h3>\n<p>Pour v\u00e9rifier, il n\u2019y a pas de substitut \u00e0 un vrai essai. Avant d\u2019y arriver, un premier contr\u00f4le de connexion avait d\u2019ailleurs \u00e9chou\u00e9, de fa\u00e7on instructive\u00a0: Claude avait demand\u00e9 \u00e0 Gemini une r\u00e9ponse minuscule pour tester le lien, et le mod\u00e8le avait \u00e9puis\u00e9 son budget de r\u00e9ponse \u00e0 r\u00e9fl\u00e9chir sans rien \u00e9crire. Le nouveau programme a d\u00e9tect\u00e9 cette sortie interrompue au lieu de la laisser passer. C\u2019est exactement ce que l\u2019ancien script n\u2019aurait jamais fait.<\/p>\n<p>Le test r\u00e9el a ensuite eu lieu sur le site, en brouillon. Le programme a choisi un sujet, \u00ab\u00a0The Essential Website Maintenance Checklist for Small Businesses\u00a0\u00bb, a r\u00e9dig\u00e9 l\u2019article, l\u2019a adapt\u00e9 dans les trois autres langues sans erreur bloquante, a fabriqu\u00e9 les images et a d\u00e9pos\u00e9 les quatre brouillons, reli\u00e9s entre eux. L\u2019ensemble a dur\u00e9 environ six minutes.<\/p>\n<p>Puis un audit ind\u00e9pendant a relu les quatre brouillons sur le site\u00a0: titres, descriptions, image \u00e0 la une, deux images dans le texte avec leurs textes alternatifs, quatre liens internes pointant vers des articles publi\u00e9s de la bonne langue, bouton de contact, structure identique \u00e0 ce qui avait \u00e9t\u00e9 envoy\u00e9. Aucun probl\u00e8me. Une relance imm\u00e9diate du programme a, elle, \u00e9t\u00e9 refus\u00e9e aussit\u00f4t\u00a0: un article avait d\u00e9j\u00e0 \u00e9t\u00e9 cr\u00e9\u00e9 ce jour-l\u00e0, et la protection anti-doublon a fait son travail.<\/p>\n<h2 style=\"margin-top: 45px;margin-bottom: 20px;font-weight: 700\">Ce que l\u2019IA ne fait pas \u00e0 ma place<\/h2>\n<figure class=\"wp-block-image size-large aligncenter\" style=\"margin: 35px 0\">\n<img decoding=\"async\" src=\"https:\/\/www.lowcostwebagency.com\/wp-content\/uploads\/2026\/10\/automate-blog-ai-story-repair-decisions.webp\" alt=\"Un humain et un robot qui se serrent la main pr\u00e8s d&#x27;une balance et d&#x27;un panneau indicateur\" style=\"border-radius: 8px;width: 100%;height: auto\" title=\"\"><figcaption style=\"text-align: center;font-size: 0.9em;color: #555;margin-top: 8px\">Certaines d\u00e9cisions restent humaines\u00a0: la machine propose, je d\u00e9cide.<\/figcaption><\/figure>\n<p>Le rapport que Claude m\u2019a remis \u00e0 la fin de la r\u00e9paration contient une rubrique enti\u00e8re intitul\u00e9e \u00ab\u00a0D\u00e9cisions qui vous reviennent\u00a0\u00bb. Elle dit beaucoup du partage des r\u00f4les. Une machine peut v\u00e9rifier qu\u2019un lien fonctionne, qu\u2019un morceau de code est intact, qu\u2019un titre est identique \u00e0 sa source. Elle ne peut pas d\u00e9cider de ce que mon agence veut raconter, ni des risques qu\u2019elle accepte de courir. Voici ce qui est rest\u00e9 sur ma table.<\/p>\n<h3 style=\"margin-top: 30px;margin-bottom: 15px;font-weight: 600\">Les d\u00e9cisions \u00e9ditoriales<\/h3>\n<p><strong>Les doublons.<\/strong> Trois traductions \u00ab\u00a0orphelines\u00a0\u00bb (en fran\u00e7ais, en espagnol et en italien) sont des doublons de faible qualit\u00e9 d\u2019un article sur les m\u00e9ta-descriptions, d\u00e9j\u00e0 pr\u00e9sent sur le site. Claude les a nettoy\u00e9es et republi\u00e9es, mais il m\u2019a pr\u00e9venu que le plus propre serait de les rediriger vers l\u2019article principal ou de les retirer. Garder, rediriger ou d\u00e9publier\u00a0: c\u2019est une d\u00e9cision de r\u00e9f\u00e9rencement, donc une d\u00e9cision de patron.<\/p>\n<p><strong>L\u2019actualit\u00e9.<\/strong> Parmi les articles de Gemini, certains commentaient l\u2019actualit\u00e9 de grandes marques\u00a0: un constructeur automobile, des plateformes de streaming, des g\u00e9ants du num\u00e9rique. Ils contiennent des chiffres et des affirmations que personne n\u2019a v\u00e9rifi\u00e9s \u00e0 la source, et Claude m\u2019a recommand\u00e9 une relecture humaine des faits. Ces sujets sont aussi tr\u00e8s \u00e9loign\u00e9s de mon m\u00e9tier, ce qui ram\u00e8ne \u00e0 une question plus simple\u00a0: ai-je vraiment besoin d\u2019en parler\u00a0?<\/p>\n<p><strong>La concurrence entre mes propres articles.<\/strong> Plusieurs articles visent des mots-cl\u00e9s tr\u00e8s proches (les m\u00e9ta-descriptions, les titres g\u00e9n\u00e9r\u00e9s par IA, le contenu \u00e9crit par IA). Quand deux pages d\u2019un m\u00eame site r\u00e9pondent \u00e0 la m\u00eame recherche, Google doit choisir, et il ne choisit pas toujours celle que l\u2019on aurait pr\u00e9f\u00e9r\u00e9e. Fusionner, diff\u00e9rencier ou pousser l\u2019un des deux\u00a0: \u00e0 moi d\u2019arbitrer.<\/p>\n<p><strong>Les titres et les images.<\/strong> Une fois le nom de l\u2019agence ajout\u00e9, 90 titres sur 91 d\u00e9passent soixante caract\u00e8res, et Google risque de les couper dans ses r\u00e9sultats. Dans une image fabriqu\u00e9e par l\u2019IA, un mot est mal orthographi\u00e9\u00a0; dans un autre article, une image manque. Ce sont des d\u00e9fauts mineurs, mais ils engagent l\u2019image de l\u2019agence\u00a0: je choisis comment les traiter.<\/p>\n<h3 style=\"margin-top: 30px;margin-bottom: 15px;font-weight: 600\">Publier ou ne pas publier<\/h3>\n<p>Le nouveau g\u00e9n\u00e9rateur d\u00e9pose ses articles en brouillon, comme l\u2019ancien. Une option permettrait de les publier tout seuls quand tous les contr\u00f4les sont au vert\u00a0; je ne l\u2019ai pas activ\u00e9e, et les sujets d\u2019actualit\u00e9, eux, resteraient de toute fa\u00e7on en brouillon. Un seul essai complet avec de vrais articles ne suffit pas pour confier la vitrine de l\u2019agence \u00e0 un automatisme. Je d\u00e9ciderai apr\u00e8s avoir observ\u00e9 plusieurs jours de production.<\/p>\n<h3 style=\"margin-top: 30px;margin-bottom: 15px;font-weight: 600\">Ce qui reste imparfait<\/h3>\n<p>Je pr\u00e9f\u00e8re \u00eatre honn\u00eate sur ce qui n\u2019est pas r\u00e9gl\u00e9. Le filtre du site qui supprimait tout ce qui se trouvait entre accolades est contourn\u00e9, mais pas expliqu\u00e9\u00a0: nous savons \u00e0 quoi il ressemble et comment l\u2019\u00e9viter, pas quel \u00e9l\u00e9ment du site l\u2019applique. C\u2019est comme \u00e9ponger une fuite sans avoir trouv\u00e9 le tuyau. Un module de maillage interne ins\u00e8re par ailleurs des liens dans des blocs de code, o\u00f9 ils n\u2019ont rien \u00e0 faire\u00a0; c\u2019est sans gravit\u00e9, mais cela reste \u00e0 r\u00e9gler. Enfin, par hygi\u00e8ne, quelques acc\u00e8s au site doivent \u00eatre renouvel\u00e9s. C\u2019est un travail de s\u00e9curit\u00e9, il m\u2019incombe, et Claude s\u2019est d\u2019ailleurs abstenu d\u2019y toucher\u00a0: je n\u2019en dirai pas davantage ici.<\/p>\n<p>Rien de tout cela n\u2019est un \u00e9chec de l\u2019IA. Le jour o\u00f9 un assistant vous annonce que tout est parfait, il est temps de se m\u00e9fier. Celui-ci m\u2019a remis la liste de ce qui ne l\u2019est pas.<\/p>\n<h2 style=\"margin-top: 45px;margin-bottom: 20px;font-weight: 700\">Mode d\u2019emploi\u00a0: dix r\u00e8gles pour automatiser un blog avec une IA sans se faire pi\u00e9ger<\/h2>\n<p>Si vous g\u00e9rez un blog, m\u00eame modeste, et que vous envisagez de confier une partie du travail \u00e0 une IA, voici ce que cette aventure m\u2019a appris. Ce ne sont pas des principes th\u00e9oriques\u00a0: chacune de ces r\u00e8gles correspond \u00e0 un incident r\u00e9el de ce r\u00e9cit.<\/p>\n<ol style=\"margin: 15px 0 20px 25px;line-height: 1.7\">\n<li style=\"margin-bottom: 8px\"><strong>Ne publiez jamais sans que personne n\u2019ait regard\u00e9.<\/strong> Mon g\u00e9n\u00e9rateur publiait chaque matin sans aucun contr\u00f4le humain. Il a fallu un audit complet pour mesurer l\u2019ampleur des d\u00e9g\u00e2ts. Un brouillon co\u00fbte une minute de relecture\u00a0; un article cass\u00e9 en ligne co\u00fbte la confiance des lecteurs.<\/li>\n<li style=\"margin-bottom: 8px\"><strong>S\u00e9parez l\u2019\u00e9criture, la mise en forme et le contr\u00f4le.<\/strong> L\u2019IA r\u00e9dige, un programme pr\u00e9visible fabrique la page, un troisi\u00e8me \u00e9tage v\u00e9rifie. Quand un seul outil fait tout, il se contr\u00f4le lui-m\u00eame, et ce n\u2019est pas un contr\u00f4le.<\/li>\n<li style=\"margin-bottom: 8px\"><strong>Demandez une structure, pas un texte d\u00e9j\u00e0 mis en forme.<\/strong> Au lieu de r\u00e9clamer un article \u00e0 convertir apr\u00e8s coup, on demande des blocs identifi\u00e9s (titres, paragraphes, listes, tableaux, code) que le programme assemble lui-m\u00eame.<\/li>\n<li style=\"margin-bottom: 8px\"><strong>Transformez chaque d\u00e9faut en r\u00e8gle.<\/strong> Le petit mot italien \u00ab\u00a0ai\u00a0\u00bb devenu le sigle \u00ab\u00a0AI\u00a0\u00bb \u00e0 trente-cinq endroits n\u2019a pas seulement \u00e9t\u00e9 corrig\u00e9\u00a0: il a donn\u00e9 naissance \u00e0 un contr\u00f4le automatique. Le g\u00e9n\u00e9rateur en applique aujourd\u2019hui plus de trente.<\/li>\n<li style=\"margin-bottom: 8px\"><strong>Testez en vrai, mais de fa\u00e7on r\u00e9versible.<\/strong> Avant chaque modification du site en ligne, <a href=\"https:\/\/www.lowcostwebagency.com\/fr\/top-7-plugins-sauvegarde-restauration-wordpress\/\">une sauvegarde<\/a> ; apr\u00e8s, une relecture et un retour automatique en arri\u00e8re si quoi que ce soit cloche.<\/li>\n<li style=\"margin-bottom: 8px\"><strong>V\u00e9rifiez comme un visiteur, pas comme un d\u00e9veloppeur.<\/strong> Regarder ce que contient la base de donn\u00e9es ne suffit pas\u00a0: il faut ouvrir la page publique. C\u2019est en comparant ce que le site affichait r\u00e9ellement \u00e0 ce que nous lui avions envoy\u00e9 que le myst\u00e8re des accolades est apparu.<\/li>\n<li style=\"margin-bottom: 8px\"><strong>Commencez par des brouillons.<\/strong> Ils laissent le droit de se tromper, et la derni\u00e8re minute pour rattraper une erreur.<\/li>\n<li style=\"margin-bottom: 8px\"><strong>Surveillez les textes coup\u00e9s.<\/strong> Une IA peut s\u2019arr\u00eater au milieu d\u2019une phrase sans pr\u00e9venir. Le g\u00e9n\u00e9rateur v\u00e9rifie maintenant que chaque r\u00e9ponse s\u2019est termin\u00e9e normalement, et refuse un article qui ne se termine pas proprement.<\/li>\n<li style=\"margin-bottom: 8px\"><strong>Pr\u00e9f\u00e9rez les sujets durables, et v\u00e9rifiez les faits.<\/strong> Un guide pratique vieillit bien. Un article d\u2019actualit\u00e9 exige des chiffres exacts, qu\u2019une IA invente parfois avec un aplomb parfait.<\/li>\n<li style=\"margin-bottom: 8px\"><strong>Gardez vos mots de passe hors du code, et exigez des traces de ce que font vos t\u00e2ches automatiques.<\/strong> Les acc\u00e8s sont d\u00e9sormais dans un fichier \u00e0 part. Et chaque passage laisse un journal et un code de sortie lisibles, car c\u2019est une simple pause oubli\u00e9e au bout d\u2019un fichier de lancement qui avait bloqu\u00e9 la t\u00e2che du matin.<\/li>\n<\/ol>\n<p>Aucune de ces r\u00e8gles n\u2019est r\u00e9serv\u00e9e aux d\u00e9veloppeurs. Elles reviennent toutes \u00e0 la m\u00eame id\u00e9e\u00a0: faire en sorte que l\u2019erreur soit visible avant qu\u2019elle n\u2019atteigne le lecteur.<\/p>\n<h2 style=\"margin-top: 45px;margin-bottom: 20px;font-weight: 700\">Une m\u00e9moire pour la suite<\/h2>\n<p>Derni\u00e8re demande de cette s\u00e9rie, et pas la moindre\u00a0: j\u2019ai demand\u00e9 \u00e0 Claude de conserver une m\u00e9moire de tout ce que nous avons fait, afin d\u2019y puiser chaque fois que nous cr\u00e9erons de nouveaux articles. Un article de plus ne repart ainsi pas de z\u00e9ro\u00a0: il h\u00e9rite de ce que les pr\u00e9c\u00e9dents ont appris \u00e0 ce site.<\/p>\n<p>Concr\u00e8tement, cette m\u00e9moire retient cinq choses\u00a0:<\/p>\n<ul style=\"margin: 15px 0 20px 25px;line-height: 1.7\">\n<li style=\"margin-bottom: 8px\">les r\u00e8gles \u00e9ditoriales apprises \u00e0 la dure (les majuscules italiennes, le tutoiement espagnol, les marques qu\u2019on ne traduit pas)\u00a0;<\/li>\n<li style=\"margin-bottom: 8px\">l\u2019organisation du g\u00e9n\u00e9rateur et de ses fichiers\u00a0;<\/li>\n<li style=\"margin-bottom: 8px\">le fonctionnement de la t\u00e2che de 10 h 14, et ses pi\u00e8ges\u00a0;<\/li>\n<li style=\"margin-bottom: 8px\">l\u2019historique des incidents, avec leur cause\u00a0;<\/li>\n<li style=\"margin-bottom: 8px\">la liste de ce qui reste \u00e0 d\u00e9cider.<\/li>\n<\/ul>\n<p>Elle ne contient en revanche ni mot de passe ni cl\u00e9\u00a0: ces secrets n\u2019ont rien \u00e0 faire dans une m\u00e9moire. L\u2019habitude vaut pour n\u2019importe quel projet. Apr\u00e8s un chantier, demandez \u00e0 votre assistant de consigner ce qu\u2019il faut retenir\u00a0: quinze jours de t\u00e2tonnements deviennent alors un savoir-faire, au lieu de rester un souvenir.<\/p>\n<h2 style=\"margin-top: 45px;margin-bottom: 20px;font-weight: 700\">Ce qui a chang\u00e9 depuis le 1er octobre<\/h2>\n<figure class=\"wp-block-image size-large aligncenter\" style=\"margin: 35px 0\">\n<img decoding=\"async\" src=\"https:\/\/www.lowcostwebagency.com\/wp-content\/uploads\/2026\/10\/automate-blog-ai-story-repair-demain.webp\" alt=\"Un bureau le matin avec un ordinateur, un caf\u00e9, une pile de brouillons et un petit robot qui salue\" style=\"border-radius: 8px;width: 100%;height: auto\" title=\"\"><figcaption style=\"text-align: center;font-size: 0.9em;color: #555;margin-top: 8px\">Demain \u00e0 10 h 14 : un nouveau brouillon m\u2019attendra.<\/figcaption><\/figure>\n<p>Le 1er octobre, j\u2019avais un blog qui publiait chaque jour gr\u00e2ce \u00e0 un script que je croyais sous contr\u00f4le. Le 15, j\u2019ai quatre-vingt-onze pages audit\u00e9es et r\u00e9par\u00e9es une \u00e0 une, v\u00e9rifi\u00e9es sur le site en ligne comme le ferait un visiteur\u00a0; un g\u00e9n\u00e9rateur enti\u00e8rement reconstruit\u00a0; une t\u00e2che planifi\u00e9e qui ne reste plus bloqu\u00e9e\u00a0; et un premier essai r\u00e9el qui a produit quatre brouillons li\u00e9s en quatre langues, contr\u00f4l\u00e9s avant m\u00eame que je les ouvre.<\/p>\n<p>Le point \u00e0 retenir\u00a0: Gemini \u00e9crit toujours les articles du matin. Ce qui a chang\u00e9, ce n\u2019est pas le nom du mod\u00e8le\u00a0: c\u2019est tout ce qu\u2019il y a autour. Une structure impos\u00e9e, un assemblage pr\u00e9visible, des contr\u00f4les qui bloquent, des brouillons, un journal, des sauvegardes. Je n\u2019ai pas appris que telle IA est meilleure que telle autre. J\u2019ai appris qu\u2019une IA se pilote comme n\u2019importe quel collaborateur\u00a0: on lui explique ce qu\u2019on attend, on v\u00e9rifie ce qu\u2019elle rend, et on met en place le syst\u00e8me qui permet de rattraper l\u2019erreur.<\/p>\n<p>J\u2019ai aussi appris \u00e0 demander. Ce qui m\u2019a vraiment servi, c\u2019est d\u2019exiger une analyse d\u00e9taill\u00e9e avant d\u2019agir, une v\u00e9rification r\u00e9elle ensuite, et un rapport qui dit ce qui reste \u00e0 faire. Le r\u00e9sultat est meilleur, mais surtout, je sais maintenant pourquoi il l\u2019est.<\/p>\n<p>C\u2019est le genre de rigueur que j\u2019essaie d\u2019apporter aux projets de mes clients\u00a0: sites web, automatisations, contenus. Si vous avez un blog qui publie tout seul et que personne n\u2019a jamais relu en entier, ou si vous voulez automatiser sans perdre la main, parlons-en. Nous regarderons ensemble ce qui est solide, ce qui l\u2019est moins, et ce qu\u2019il convient de faire en premier.<\/p>\n<p>Demain \u00e0 10 h 14, un nouvel article sera g\u00e9n\u00e9r\u00e9. Il m\u2019attendra en brouillon, et c\u2019est tr\u00e8s bien ainsi.<\/p>\n<h2 style=\"margin-top: 45px;margin-bottom: 20px;font-weight: 700\">Annexe\u00a0: petit lexique pour ne pas se perdre<\/h2>\n<p>Quelques mots reviennent dans ce r\u00e9cit. Les voici, sans jargon.<\/p>\n<ul style=\"margin: 15px 0 20px 25px;line-height: 1.7\">\n<li style=\"margin-bottom: 8px\"><strong>Script<\/strong> : un petit programme, ici \u00e9crit en Python, qui ex\u00e9cute une suite d\u2019instructions sans intervention humaine.<\/li>\n<li style=\"margin-bottom: 8px\"><strong>T\u00e2che planifi\u00e9e<\/strong> : un r\u00e9veil pour ordinateur. Windows lance le programme \u00e0 l\u2019heure dite, que quelqu\u2019un soit devant l\u2019\u00e9cran ou non.<\/li>\n<li style=\"margin-bottom: 8px\"><strong>Gemini, Claude<\/strong> : deux assistants d\u2019intelligence artificielle, le premier cr\u00e9\u00e9 par Google, le second par Anthropic.<\/li>\n<li style=\"margin-bottom: 8px\"><strong>Jeton (token)<\/strong> : l\u2019unit\u00e9 de mesure du texte pour une IA, \u00e0 peu pr\u00e8s un morceau de mot. La longueur d\u2019une r\u00e9ponse se plafonne en jetons.<\/li>\n<li style=\"margin-bottom: 8px\"><strong>WordPress, Avada, <a title=\"\" class=\"aalmanual\" target=\"_blank\"  rel=\"nofollow\"   style=\"color:#1e73be;\" href=\"https:\/\/wpml.org\/?aid=99585&#38;affiliate_key=maLr5kyxRHSY\">WPML<\/a><\/strong> : WordPress est le logiciel qui fait tourner mon site\u00a0; Avada, son th\u00e8me, c\u2019est-\u00e0-dire son apparence\u00a0; <a title=\"\" class=\"aalmanual\" target=\"_blank\"  rel=\"nofollow\"   style=\"color:#1e73be;\" href=\"https:\/\/wpml.org\/?aid=99585&#38;affiliate_key=maLr5kyxRHSY\">WPML<\/a>, le module qui g\u00e8re les versions en plusieurs langues et relie chaque page \u00e0 ses traductions.<\/li>\n<li style=\"margin-bottom: 8px\"><strong>Plugin<\/strong> : un module qu\u2019on ajoute \u00e0 WordPress pour lui donner une fonction suppl\u00e9mentaire (r\u00e9f\u00e9rencement, traduction, liens internes\u2026).<\/li>\n<li style=\"margin-bottom: 8px\"><strong>Brouillon<\/strong> : un article enregistr\u00e9 sur le site mais invisible du public, en attente de relecture.<\/li>\n<li style=\"margin-bottom: 8px\"><strong>Balisage (HTML, Markdown)<\/strong> : le HTML est le langage des pages web. Le Markdown est une \u00e9criture simplifi\u00e9e, avec des ast\u00e9risques et des di\u00e8ses, qu\u2019on convertit ensuite en HTML\u00a0; quand la conversion \u00e9choue, ces signes restent visibles dans le texte.<\/li>\n<li style=\"margin-bottom: 8px\"><strong>Entit\u00e9<\/strong> : une mani\u00e8re d\u2019\u00e9crire un caract\u00e8re r\u00e9serv\u00e9 dans une page web. Le signe \u00ab\u00a0inf\u00e9rieur \u00e0\u00a0\u00bb s\u2019\u00e9crit <code>&amp;lt;<\/code>.<\/li>\n<li style=\"margin-bottom: 8px\"><strong>Expression r\u00e9guli\u00e8re<\/strong> : une formule de recherche et de remplacement, tr\u00e8s puissante et tr\u00e8s fragile, que l\u2019ancien script utilisait pour \u00ab\u00a0nettoyer\u00a0\u00bb le texte.<\/li>\n<li style=\"margin-bottom: 8px\"><strong>R\u00e9f\u00e9rencement (SEO)<\/strong> : l\u2019ensemble des pratiques qui aident une page \u00e0 appara\u00eetre dans les r\u00e9sultats de Google.<\/li>\n<li style=\"margin-bottom: 8px\"><strong>Mot-cl\u00e9 principal<\/strong> : l\u2019expression qu\u2019une page cherche \u00e0 positionner dans les r\u00e9sultats. Quand deux pages visent la m\u00eame, elles se font concurrence\u00a0: c\u2019est la cannibalisation.<\/li>\n<li style=\"margin-bottom: 8px\"><strong>Audit<\/strong> : une relecture m\u00e9thodique et chiffr\u00e9e, ici men\u00e9e par un programme.<\/li>\n<li style=\"margin-bottom: 8px\"><strong>Code de sortie<\/strong> : le petit nombre qu\u2019un programme renvoie en se terminant, z\u00e9ro si tout s\u2019est bien pass\u00e9, autre chose sinon. C\u2019est ce qui permet \u00e0 une t\u00e2che automatique de signaler un \u00e9chec.<\/li>\n<li style=\"margin-bottom: 8px\"><strong>Retour arri\u00e8re<\/strong> : le retour automatique \u00e0 la version pr\u00e9c\u00e9dente d\u2019une page quand une v\u00e9rification \u00e9choue.<\/li>\n<\/ul>\n<p>Un mot vous manque\u00a0? Dites-le-moi, et je l\u2019ajouterai \u00e0 ce lexique.<\/p>\n<div class=\"lowcost-cta-box\" style=\"background: #f8fafc;border-left: 4px solid #0f172a;padding: 25px;margin: 40px 0;border-radius: 0 8px 8px 0\">\n<h3 style=\"margin-top: 0;color: #0f172a;font-size: 1.3em\">Pr\u00eat \u00e0 propulser votre infrastructure digitale ?<\/h3>\n<p style=\"color: #334155;line-height: 1.6\">Ne laissez pas les freins techniques ralentir votre croissance. Discutez de votre projet autour de <strong>Quand mon g\u00e9n\u00e9rateur a cass\u00e9 91 pages : le r\u00e9cit d&rsquo;une r\u00e9paration<\/strong> directement avec nos experts seniors chez Low Cost Web Agency.<\/p>\n<p style=\"margin-bottom: 0\"><a href=\"https:\/\/wa.me\/919786495150\" target=\"_blank\" style=\"display: inline-block;background: #25D366;color: white;padding: 12px 24px;border-radius: 6px;text-decoration: none;font-weight: bold\" rel=\"noopener\">\ud83d\udcac Contactez-nous sur WhatsApp (+919786495150)<\/a><\/p>\n<\/div>\n<\/div><\/div><\/div><\/div><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Comment automatiser un blog avec une IA sans tout casser : l&rsquo;histoire de 91 pages ab\u00eem\u00e9es, la r\u00e9paration avec Claude et dix r\u00e8gles. \u00c0 lire.<\/p>\n","protected":false},"author":1,"featured_media":52163,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_ps_exclude_item":"","rank_math_title":"Automatiser un blog avec une IA : 91 pages r\u00e9par\u00e9es","rank_math_description":"Comment automatiser un blog avec une IA sans tout casser : l'histoire de 91 pages ab\u00eem\u00e9es, la r\u00e9paration avec Claude et dix r\u00e8gles. \u00c0 lire.","rank_math_focus_keyword":"automatiser un blog avec une IA","footnotes":"","_links_to":"","_links_to_target":""},"categories":[1283],"tags":[],"class_list":["post-52175","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-low-cost-web-agency-fr-2"],"_links":{"self":[{"href":"https:\/\/www.lowcostwebagency.com\/fr\/wp-json\/wp\/v2\/posts\/52175","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.lowcostwebagency.com\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.lowcostwebagency.com\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.lowcostwebagency.com\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.lowcostwebagency.com\/fr\/wp-json\/wp\/v2\/comments?post=52175"}],"version-history":[{"count":2,"href":"https:\/\/www.lowcostwebagency.com\/fr\/wp-json\/wp\/v2\/posts\/52175\/revisions"}],"predecessor-version":[{"id":52184,"href":"https:\/\/www.lowcostwebagency.com\/fr\/wp-json\/wp\/v2\/posts\/52175\/revisions\/52184"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.lowcostwebagency.com\/fr\/wp-json\/wp\/v2\/media\/52163"}],"wp:attachment":[{"href":"https:\/\/www.lowcostwebagency.com\/fr\/wp-json\/wp\/v2\/media?parent=52175"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.lowcostwebagency.com\/fr\/wp-json\/wp\/v2\/categories?post=52175"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.lowcostwebagency.com\/fr\/wp-json\/wp\/v2\/tags?post=52175"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}