La version 1.138 de Visual Studio Code, publiée par Microsoft le 16 septembre, permet d'exécuter certaines sessions d'agents de programmation dans le conteneur de développement d'un projet. Elle étend aussi l'intégration de Codex : une conversation peut passer de l'application ChatGPT à l'éditeur, accéder aux outils de ce dernier et, sous certaines conditions, utiliser les modèles associés aux abonnements Copilot ou ChatGPT sans repartir de zéro. Il s'agit de deux changements distincts. L'un concerne le poste de travail effectivement utilisé par l'agent ; l'autre, la continuité de la session et l'accès aux outils.

L'exécution dans un conteneur arrive progressivement. Elle exige Docker, une configuration de conteneur compatible dans le projet et l'utilisation de la fenêtre Agents. Elle n'est donc pas disponible d'emblée dans toutes les installations. La documentation de la version et un article indépendant confirment l'existence des fonctions annoncées. Ils ne démontrent ni une amélioration universelle de la productivité ni l'innocuité d'un agent dans toutes les entreprises.

Utiliser les dépendances prévues pour le projet

Avec le paramètre chat.agentHost.devContainer.enabled, un dossier local compatible propose l'action Use Dev Container. L'agent travaille alors avec les outils et les dépendances définis pour le projet, plutôt qu'avec les logiciels installés au hasard sur le poste du développeur. Il faut disposer de Docker et d'une configuration prise en charge. Microsoft précise que le déploiement est progressif et que cette possibilité concerne la fenêtre Agents.

L'intérêt est concret pour les équipes qui décrivent leur environnement dans devcontainer.json et les fichiers associés. Une modification peut sembler correcte chez un développeur parce qu'elle utilise une bibliothèque globale ou une version particulière d'un utilitaire, puis échouer dans l'intégration continue. Faire travailler l'agent dans l'environnement du dépôt peut réduire ce décalage. Ce n'est toutefois pas la preuve que le conteneur reproduit les services externes, le matériel ou la configuration de production. Les versions des images et des dépendances doivent rester maîtrisées, et les résultats doivent être comparés aux tests de la chaîne de livraison.

Le guide officiel apporte une précision importante : une session lancée dans un conteneur agit directement sur l'espace de travail de celui-ci et ne propose pas l'option New Worktree. Le choix d'un conteneur ne crée donc pas automatiquement une copie de travail Git distincte pour chaque agent. Lorsqu'une équipe fait avancer plusieurs tâches simultanément, elle doit organiser séparément les répertoires et l'isolement des modifications.

Retrouver sa session Codex ne transfère pas toutes les garanties

Codex peut désormais conserver une même conversation lors du passage entre ChatGPT et Visual Studio Code. Si les comptes nécessaires sont connectés, l'utilisateur peut changer de modèle adossé à Copilot ou à ChatGPT sans perdre l'échange en cours. L'agent peut utiliser les outils intégrés à l'éditeur, ceux des extensions et les outils MCP. Si l'application ChatGPT est installée et configurée pour agir sur l'ordinateur, la session Codex peut réutiliser cette configuration afin d'interagir avec d'autres applications.

La continuité d'une conversation ne suffit pas à établir que ses droits sont identiques dans les deux applications. Le lieu d'exécution, les outils disponibles et le niveau d'autorisation demeurent des paramètres à contrôler. Microsoft distingue explicitement l'isolement des modifications au moyen d'un espace de travail Git et la restriction des commandes ou des accès réseau. Le premier détermine où les fichiers sont modifiés ; il ne remplace pas le second.

Autre nouveauté : un échange Codex commencé sans projet peut être rattaché à un dossier local unique, pourvu que la session soit inactive et dans le mode pris en charge. L'utilisateur choisit le dossier ou un espace Git isolé. Le titre, l'historique, le modèle et le niveau d'autorisation sont conservés. Cette facilité évite de reconstituer une discussion, mais elle ne remplace pas la vérification du contexte du dépôt ni l'exécution des tests.

Trois questions à poser avant de généraliser l'usage des agents

La documentation de Microsoft sur la sécurité explique que l'isolation des commandes du terminal peut limiter les chemins accessibles et les domaines réseau autorisés. Elle précise aussi une limite : cette isolation ne couvre pas les outils intégrés de lecture et de modification de fichiers, qui relèvent du système d'autorisations de Visual Studio Code. Microsoft recommande de combiner les protections avec un conteneur de développement pour mieux isoler l'environnement. Cette recommandation n'équivaut pas à une certification de chaque image, extension ou volume monté.

L'analyse d'Aipolix consiste à séparer trois vérifications. Premièrement, les outils et leurs versions correspondent-ils à ceux du projet ? Deuxièmement, dans quel espace les modifications sont-elles enregistrées ? Troisièmement, quels fichiers, commandes, services distants et outils externes l'agent est-il autorisé à utiliser ? Le nouveau conteneur répond surtout à la première question. Un espace Git distinct, lorsqu'il est possible, aide pour la deuxième. Les autorisations et restrictions du terminal ou du réseau portent sur la troisième.

Un essai utile consiste à confier une petite tâche représentative à l'agent dans le conteneur, relever les versions de l'image et des dépendances, vérifier les répertoires montés et les droits réseau, puis comparer la modification et les tests avec l'intégration continue. C'est une méthode d'évaluation proposée par Aipolix à partir de la documentation officielle, et non le résultat d'un audit réalisé sur toutes les configurations des utilisateurs.

Ne pas confondre disponibilité et expérimentation

Dans cette version, les automatisations sont activées par défaut et leurs définitions peuvent être exportées ou importées. En revanche, la gestion automatique des anciennes sessions reste en préversion, et l'archivage ou la suppression automatiques sont désactivés par défaut. Certaines fonctions de fusion des demandes de modification et de sélection des espaces de travail restent expérimentales. Une entreprise doit donc contrôler son canal de mise à jour et les réglages réellement appliqués avant de diffuser des consignes communes à l'ensemble de ses développeurs.

Visual Studio Code 1.138 facilite l'utilisation de l'environnement prévu pour le projet et la reprise d'une conversation Codex dans plusieurs applications. Pour en tirer parti sans confondre les garanties, il faut cependant vérifier séparément la reproductibilité des tests, l'isolement des changements et l'étendue des droits accordés à l'agent.

Sources
- Microsoft : notes de version 1.138
- Microsoft : guide des modes d’exécution des agents
- Microsoft : sécurité et limites des autorisations
- Neowin : compte rendu indépendant