Dans Comment ce site a été créé avec des prompts, j’ai raconté comment l’IA m’a aidé à migrer un ancien WordPress vers un site statique hébergé sur AWS S3 et CloudFront. Je n’avais pas prévu qu’un site personnel assez simple se transformerait si vite en projet logiciel complexe.
Comment la complexité s’est installée
Aux premières pages se sont ajoutées des prévisions météo, des données d’entraînement, des jeux, des contrôles de sécurité, des déploiements automatisés et neuf langues. Nous avons ajouté l’allemand, l’espagnol, le chinois, le français, le portugais brésilien, le japonais, l’hindi et le néerlandais autour de l’anglais. Chaque langue étendait notre audience, mais aussi la quantité de HTML, de liens, de métadonnées, de flux et de validations.
Nous étions un peu naïfs : puisque le site était statique, reconstruire neuf éditions à chaque modification semblait peu coûteux. En pratique, même une correction anglaise attendait l’installation des polices, les visuels, la navigation multilingue, les flux, le sitemap et les contrôles. Les neuf langues étaient devenues une seule condition préalable à toute publication.
Toutes les langues devaient être terminées
Ce n’était pas un problème de traduction, mais de dépendances mal conçues.
Quand les protections deviennent des obstacles
L’historique GitHub contient des difficultés avec les scanners de secrets, les écarts de builds reproductibles, les installations de polices bloquées, la configuration des workflows et des permissions IAM AWS manquantes. Lors d’une récupération, nous avons contrôlé 534 objets publics : 501 correspondaient, 24 différaient et neuf nouvelles pages étaient illisibles.
Chaque garde-fou avait sa raison d’être. Ensemble, ils compliquaient pourtant les plus petites évolutions. Plus d’automatisation ne signifie pas automatiquement une meilleure automatisation. Un contrôle rouge mérite une enquête, pas une désactivation.
La nouvelle approche : l’anglais d’abord
Nous séparons le premier résultat utile des huit traductions qui peuvent suivre.
plus court = mieux
Ce schéma décrit la séquence de déploiement visée, pas une trace prouvant qu’elle s’est déjà produite en production. Chaque traduction approuvée est liée au SHA-256 exact de la source anglaise. Toute nouvelle modification anglaise invalide les approbations antérieures. Une traduction manquante ne doit jamais être remplacée silencieusement par du texte anglais.
Les builds reproductibles, l’authentification OIDC, les privilèges AWS minimaux, les limites budgétaires et l’absence d’invalidation CloudFront restent obligatoires.
Ce que nous avons réellement vérifié
Les PR #119–#122 ont créé un compilateur pour les articles anglais, un autre pour huit versions relues et une chaîne anglais → langues → vérification intégrée. Le test manuel n’a pas d’autorisation d’écriture AWS. La publication par étapes reste verrouillée par des variables d’approbation ; le workflow OIDC existant vérifie toujours l’ensemble du site avant publication.
Une CI verte ne prouve donc pas que l’anglais était déjà publié pendant le traitement des huit langues. Les traces de simulation indiquaient sourceToHtmlBuildComplete=false, productionDeploymentApproved=false et zéro écriture S3.
Les gains de temps mesurés
Nous avons comparé deux modifications similaires du journal des changements, concernant les neuf langues, le 7 novembre 2026. Il s’agit des temps de l’ancienne chaîne globale, pas encore de deux déploiements réellement échelonnés.
| Mesure | Avant | Après | Évolution |
|---|---|---|---|
| Contrôles CI hors ligne | 3 min 38 (218 s) | 3 min 18 (198 s) | 9,2 % plus rapide |
| Contrôle qualité complet | 2 min 55 (175 s) | 2 min 27 (147 s) | 16,0 % plus rapide |
| Gitleaks | 56 s | 67 s | 11 s plus lent |
| Semgrep | 10 s | 11 s | quasi inchangé |
| pip-audit | 13 s | 12 s | quasi inchangé |
| Ouverture PR jusqu’au merge | 41 min 50 | 34 min 29 | 7 min 21 de moins |
plus court = mieux
Le contrôle qualité est inclus dans le temps de la CI : il ne faut pas additionner les lignes. Les analyses de sécurité sont parallèles. Les étapes d’analyse coûteuses de Semgrep et pip-audit avaient été omises pour ces changements de documentation. Deux mesures ne prouvent pas encore une tendance durable.
Nous avons optimisé les contrôles d’assets répétés, réutilisé les empreintes SHA-256 de la navigation, mis en cache les téléchargements Python et Sharp, instrumenté les générateurs et prévu un parcours rapide pour les seuls changements documentaires.
La voie rapide anglaise
Un benchmark en simulation a mesuré 0,562 seconde pour le contrat HTML anglais : 60 pages, 96 assets et 514 liens HTML locaux. La répétition des contrôles de merge anglais a pris 15 secondes et n’a modifié aucun des 501 fichiers des autres langues.
Ces temps mesurent des composants et une répétition, pas un déploiement réel entre merge et S3. Comparer directement 15 secondes aux 198 secondes de la CI globale serait trompeur.
Du pull request à la page publique
Une PR n’est pas un déploiement. Après les tests, la revue et le merge, la publication vérifie les fichiers, les manifestes SHA-256, les permissions et les coûts. Les uploads S3 ne commencent qu’ensuite. CloudFront se renouvelle par sa durée de vie normale, sans invalidations payantes.
Pour prouver le déploiement par étapes, nous enregistrerons T0 merge anglais, T1 fin des tests, T2 confirmation des fichiers anglais sur S3, T3 traitement des traductions et T4 confirmation des huit langues sur S3. Ce sont ces preuves qui permettront de mesurer le gain pour les lecteurs.
Déboguer avec l’aide de l’IA
ChatGPT peut analyser les journaux d’un PR en échec, proposer une correction limitée et vérifier une nouvelle exécution. C’est particulièrement pratique le soir. Cela ne promet toutefois pas qu’une conversation continuera indéfiniment en autonomie : une session et les outils nécessaires doivent être disponibles, et la revue finale reste importante.
Ce que j’en retiens
Le véritable progrès dépasse quelques secondes de calcul : le premier résultat utile ne doit pas dépendre de tous les résultats facultatifs qui le suivent. L’anglais peut arriver plus tôt, les traductions suivre avec les mêmes exigences de qualité. Seules de futures mesures en production diront combien de temps nous gagnons réellement.


cloud / systèmes