L'auteur a profité de deux semaines de congé pour moderniser son projet personnel Gifty Weddings, un registre de cadeaux de mariage devenu un constructeur de sites web, tout en apprenant à coder avec des outils d'IA. Il a utilisé principalement Claude Code avec le modèle Opus 5 pour le développement, complété par Pi pour les tâches mineures, tout en conservant un rôle actif dans la revue et l'orientation du code.
Malgré ses réticences initiales envers l'IA, nourries par des expériences décevantes en 2024, l'auteur a constaté des progrès significatifs dans l'efficacité des outils, notamment pour générer du CSS ou corriger des bugs complexes. Son approche itérative, combinant des bases existantes (code Go, schéma SQL) et une supervision humaine constante, a permis d'équilibrer automatisation et qualité, bien que certains compromis aient été nécessaires sur le style ou les tests.
L'expérience a révélé des limites, comme la verbosité des commentaires générés par l'IA ou la nécessité de guider activement le processus pour éviter des résultats médiocres. L'auteur souligne l'importance de l'expérience humaine pour distinguer un travail de qualité d'une production superficielle, tout en reconnaissant le gain de temps et d'inspiration apporté par ces outils.
Ce billet explique comment moderniser un firewall iptables vieillissant sans perturber Docker, en prenant l’exemple d’un serveur exposé directement sur Internet. L’auteur souligne que les règles doivent refléter le chemin réel des paquets, qui a évolué depuis 2017, notamment avec l’intégration de Docker. Il revient sur quatre articles précédents pour montrer comment Fail2ban, SYNPROXY, ipset et CrowdSec ont été adaptés, tout en corrigeant des pratiques obsolètes comme le filtrage sur eth0 ou l’absence de gestion des connexions Docker.
L’article détaille les pièges rencontrés, comme l’impact de conntrack et SYNPROXY sur les connexions SSH, ou la nécessité de réviser les règles pour éviter de bloquer l’accès aux ports 22, 80 et 443. L’auteur insiste sur l’importance de maintenir des outils comme Fail2ban, CrowdSec et AbuseIPDB de manière complémentaire, plutôt que redondante, et partage des bonnes pratiques pour sécuriser le serveur dans un environnement "à peine agressif".
Enfin, le texte propose une mise à jour des règles iptables pour 2026, en intégrant les évolutions récentes comme la gestion des ipset, la rotation des clés API et une meilleure validation des données externes. L’objectif est de concilier sécurité renforcée et compatibilité avec Docker, tout en évitant les erreurs d’architecture qui pourraient rendre le serveur inaccessible.
L’article explique comment moderniser un script de sauvegarde obsolète en utilisant Codex via l’extension Remote SSH de VS Code, plutôt que de réécrire aveuglément le code. L’auteur, confronté à des changements d’infrastructure (migration Debian, conteneurs Docker disparus), a préféré auditer le script existant en temps réel sur le serveur, en s’appuyant sur l’IA pour vérifier la validité des chemins, des commandes et des ressources (conteneurs, volumes, espace disque). Cette approche interactive permet de confronter les hypothèses du code à la réalité du serveur, évitant ainsi des erreurs liées à des hypothèses erronées.
L’outil Remote SSH de VS Code joue un rôle clé en transformant le serveur distant en espace de travail direct, où Codex peut analyser les fichiers et exécuter des commandes dans le contexte réel. L’auteur souligne l’importance de ne pas laisser l’IA agir sans contrôle, notamment en matière de privilèges : Codex propose des commandes en lecture seule et demande explicitement l’autorisation avant toute opération sensible, garantissant ainsi une supervision humaine constante.
Le processus a révélé des incohérences majeures dans le script, comme des chemins de sauvegarde inexistants ou des conteneurs Docker disparus, prouvant l’utilité de cette méthode. En combinant audit interactif et vérification immédiate, l’auteur évite une refonte hasardeuse et s’assure que la nouvelle version du script correspond à l’état actuel du serveur.