L’auteur décrit son expérience pour déployer VS Code Web et Codex sur son serveur via un navigateur, afin d’accéder à son environnement de développement à distance sans installation locale. Après plusieurs essais infructueux avec des solutions conteneurisées comme Kasm ou des images Docker inadaptées, il a finalement opté pour une approche plus directe : exécuter VS Code en dehors de Docker tout en utilisant Nginx Proxy Manager comme reverse proxy pour sécuriser l’accès via HTTPS et une authentification basique.
Le projet visait à reproduire l’expérience fluide de Remote SSH avec Codex, en permettant l’édition de fichiers réels, l’utilisation d’un terminal intégré et l’analyse de l’infrastructure serveur (Docker, systemd, logs) directement depuis le navigateur. L’auteur souligne l’importance de distinguer une interface web native d’un simple bureau distant (comme Kasm), ce dernier étant limité par des contraintes techniques (VNC, presse-papiers peu pratique) et ne répondant pas à ses besoins d’intégration système. La solution finale combine donc VS Code en local sur le serveur, Codex pour l’analyse automatisée, et Nginx Proxy Manager pour exposer l’interface de manière sécurisée.
L’« Agent Development Environment » (ADE) est présenté comme une évolution de l’environnement de développement traditionnel adaptée à l’arrivée des agents IA : l’unité de travail n’est plus seulement le fichier ou le dépôt de code, mais une tâche complète confiée à un agent, qui peut explorer le projet, proposer un plan, modifier le code et préparer une pull request. Des outils comme Orca ou Jean permettent ainsi d’orchestrer plusieurs agents en parallèle, chacun travaillant dans un environnement Git isolé grâce aux worktrees, tout en regroupant tickets, contexte, code et revues. Cette approche modifie le rôle du développeur, qui passe davantage de l’écriture directe du code à la définition des tâches, au pilotage des agents et à la validation de leurs résultats. L’auteur insiste néanmoins sur la nécessité de conserver un contrôle humain fort : privilégier les agents en lecture seule pour l’analyse et la planification, valider leurs plans avant exécution et relire entièrement le code généré, le développeur restant responsable de ce qui est finalement intégré.
Domenic Denicola partage son environnement de développement agentique optimisé pour l’IA, conçu pour permettre une collaboration fluide avec des modèles avancés comme Claude Code. Son objectif principal est de pouvoir corriger des bugs en production directement depuis un smartphone, même en déplacement, tout en garantissant une continuité de travail entre différents appareils. Pour cela, il utilise une machine virtuelle Linux dédiée et toujours active, couplée à Tailscale pour un accès sécurisé et transparent, ainsi que des outils comme Portless et chezmoi pour centraliser les configurations et préserver l’état des projets.
Son approche repose sur une VM Linux, indispensable pour éviter les limitations des environnements Windows, souvent incompatibles avec les outils en ligne de commande utilisés par les agents. Il insiste sur la nécessité de préserver les sessions, l’état des fichiers et les configurations globales, tout en permettant le lancement de serveurs de développement accessibles uniquement en local ou via HTTPS. La gestion des permissions est simplifiée pour minimiser les interruptions, autorisant même des modes de fonctionnement autonomes pour des tâches parallèles.
L'auteur partage son expérience de gestion d'environnements de développement multi-OS (MacOS, Fedora, Ubuntu) avec des outils comme Zed, Neovim, et 1Password. Il explique comment il a résolu les défis de configuration et de synchronisation en utilisant chezmoi, un outil recommandé par un collègue, et mise pour automatiser l'installation et la gestion des outils de développement. Il détaille le processus d'installation et d'utilisation de ces outils, ainsi que leur intégration dans son workflow quotidien. L'article se conclut par une réflexion sur l'efficacité de cette combinaison pour gérer ses environnements de développement.
Takeout est un outil en ligne de commande qui permet de lancer des petits conteneurs Docker pour chaque dépendance de l'environnement de développement. Il s'installait avec composer (PHP) mais il s'installe à présent avec Docker
À suivre : un outil permettant à plusieurs développeurs de travailler sur un environnement commun, en lançant une instance par ticket/problème relevé
Tout est dans le titre
Toujours la série d'articles sur l'architecture logicielle