Guide pratique Codex Cloud : confier une tâche GitHub à un agent cloud et valider le résultat
"La documentation OpenAI Codex Cloud environments a servi à vérifier le cycle de vie des Cloud tasks, les setup scripts, les env vars, les secrets, le cache, les diffs et le flux PR."
Un GitHub issue dit : “Le test webhook échoue en CI, mais je ne peux pas lancer l’environnement complet en local maintenant.” Vous voulez laisser Codex Cloud corriger le dépôt côté cloud, puis ne récupérer que le diff, le journal de tests et le PR à valider.
Le sujet n’est pas que le cloud serait plus automatique. L’intérêt est qu’une Cloud task tourne dans un environnement de dépôt propre, reproductible, séparé de votre machine. Elle ne lit ni vos fichiers locaux non commités, ni votre session navigateur, ni votre .env local. Cette limite est aussi une protection utile.
Voici le flux que j’utilise : décider si la tâche doit aller dans Cloud, configurer l’environnement, écrire le prompt, inspecter le résultat, puis choisir entre ouvrir un PR, rapatrier le diff en local ou lancer @codex review comme deuxième contrôle.
Décider d’abord : cette demande doit-elle aller dans Cloud ou rester en local ?
Les limites entre Local, Worktree, Cloud et SSH host
Les points d’entrée Codex ne résolvent pas le même problème. Ce n’est pas une simple échelle de puissance.
| Scénario | Point d’entrée adapté | Pourquoi | Principal élément de validation |
|---|---|---|---|
| Petite correction locale, dépend de fichiers non commités ou de localhost | CLI / IDE / Local | Accès direct au workspace local, au navigateur et aux services locaux | Diff local, sortie de tests |
| Deux ou trois pistes indépendantes en parallèle | Codex app Worktree | Isole l’état Git et les répertoires de dépendances | worktree diff, review queue |
| GitHub issue, CI failure, mise à jour de documentation, tâche de dépôt reproductible | Codex Cloud | Remote checkout, peut tourner sans votre machine | Cloud summary, diff, PR |
| Deuxième contrôle sur un PR | GitHub @codex review | Publie une review standard basée sur le PR diff | GitHub review comments |
| Projet sur devbox ou machine interne | Remote connection / SSH host | Utilise les fichiers, le shell, les credentials et les outils du remote host | remote diff, terminal output |
Cloud n’est pas un “Worktree plus puissant”. Worktree tourne encore sur votre machine ; il sépare seulement le répertoire Git. Cloud est un configured cloud environment qui checkout le dépôt GitHub et exécute la tâche dans un conteneur distant.
Une bonne tâche Cloud a généralement quatre propriétés : un objectif clair, un état de dépôt reproductible, un environnement scriptable et un Done when vérifiable par une commande ou un diff. Corriger un CI failure, compléter une documentation, traiter un retour de PR review ou ajouter des tests à un module précis entrent bien dans ce cadre.
Les tâches à ne pas confier à Cloud
Certaines tâches peuvent bénéficier d’un assistant IA, mais ne devraient pas quitter votre environnement local.
- Dépendance à des fichiers locaux non commités : Cloud ne voit que l’état checkout depuis le dépôt distant.
- Dépendance à une session navigateur ou à un dev server local : le conteneur Cloud n’accède pas automatiquement à votre Chrome, à localhost ni à vos applications de bureau.
- Besoin de secrets de production pendant l’agent phase : les secrets ne doivent pas être exposés à l’agent loop.
- Gros refactoring flou : sans commande de validation, Cloud ne fait que déplacer l’incertitude plus loin.
- Décision produit ou arbitrage d’équipe : Codex peut aider à analyser, mais il ne devrait pas réécrire toute la direction.
Mon réflexe : la première Cloud task doit rester petite. Si vous ne pouvez pas écrire “lancez cette commande pour savoir que c’est fini”, la tâche n’est pas prête pour Cloud.
Avant de lancer une Cloud task, rendre l’environment capable de reproduire le dépôt
Le cycle d’exécution d’une Cloud task
Une Cloud task suit grossièrement cet ordre :
- Créer un container distant.
- Checkout le branch ou commit SHA sélectionné.
- Exécuter le setup script ; si un cached container est restauré, exécuter éventuellement le maintenance script.
- Appliquer la politique réseau.
- Laisser l’agent lire les fichiers, modifier le code, lancer des vérifications et tenter la validation dans une terminal command loop.
- Renvoyer une answer, un summary et un diff ; vous pouvez ensuite poser une question de suivi ou créer un PR.
Beaucoup d’échecs Cloud ne viennent pas d’un agent incapable d’écrire du code. L’environnement ne reproduit simplement pas le dépôt : dépendances impossibles à installer, base de test absente, lockfile incompatible avec le runtime, ou setup script qui suppose un fichier présent seulement sur votre machine.
setup script, maintenance script et cache
Le setup script doit faire passer le conteneur de “checkout tout frais” à “commande de validation exécutable”. Un exemple minimal peut rester court :
pnpm install
pnpm run typecheck
pnpm test -- --runInBand
Ce n’est pas un modèle universel. C’est surtout un rappel : le Cloud environment doit savoir installer les dépendances, préparer l’environnement de test et lancer au moins une vérification capable de révéler le problème.
Le setup contient souvent :
- Installer les dépendances, linters, formatters, typecheckers et test tools.
- Initialiser une base de test ou générer des substituts sûrs de configuration locale.
- Préparer une authentification ponctuelle pour l’installation de packages privés.
- Placer les valeurs non sensibles persistantes dans environment settings, plutôt que de compter sur un
exporttemporaire dans le script.
Le cache réduit le temps d’installation répétée des dépendances, mais ajoute aussi une couche à vérifier en diagnostic. Un changement de setup script, maintenance script, env vars ou secrets invalide le cache et relance un setup frais. Si les dépendances se comportent soudain différemment, reset le cache est aussi une piste raisonnable.
Secrets, variables d’environnement et réseau : trois endroits où l’on se trompe facilement
Le cycle de vie des secrets et environment variables
La grande différence entre secrets et environment variables n’est pas le nom. C’est le moment où ils sont visibles.
| Élément | Quand l’utiliser | À ne pas y mettre | Question de validation |
|---|---|---|---|
| environment variable | Configuration runtime non sensible | Tokens, clés privées, chaînes de connexion production | L’agent doit-il vraiment la lire ? |
| secret | Récupérer des dépendances ou installer des outils pendant setup | Valeurs que l’agent doit lire directement | Est-il retiré après setup ? |
| setup internet | Installer des dépendances, récupérer des packages privés | Exécuter arbitrairement des scripts non fiables | Le lockfile est-il stable ? |
| agent internet access | La tâche doit accéder à une API publique ou à de la documentation | Internet sans restriction | L’allowlist et les methods sont-elles minimales ? |
Les secrets conviennent à la phase de setup, par exemple pour installer des dépendances privées ou récupérer des packages internes. Ils doivent être retirés avant l’agent phase. En clair, ne concevez pas une Cloud task qui oblige l’agent à lire un token de production pendant qu’il modifie le code.
Les environment variables restent disponibles pendant toute la tâche. Elles conviennent mieux aux valeurs non sensibles comme NODE_ENV=test, une API base URL publique ou un feature flag.
N’activer agent internet access que si la tâche en a besoin
Le setup script peut utiliser Internet pour installer des dépendances, mais l’agent phase n’a pas d’accès réseau par défaut. Ce choix par défaut compte, car le risque change dès que l’agent lit des pages ou API externes.
Si vous devez activer agent internet access, faites-le de façon conservatrice :
- Autoriser des domaines précis, au lieu d’ouvrir tout Internet.
- Limiter les HTTP methods quand c’est possible, par exemple à
GET,HEADetOPTIONS. - Ne pas laisser l’agent lire, concaténer ou téléverser des fichiers sensibles.
- Écrire exactement quels faits doivent être vérifiés par le réseau, pour éviter que l’agent explore librement.
Les risques courants sont prompt injection, exfiltration de code ou de secrets, téléchargement de dépendances malveillantes et problèmes de licence. Ouvrir un réseau unrestricted pour gagner une étape est rarement un bon compromis.
Écrire le prompt Cloud comme un issue
Un modèle de prompt directement utilisable
Un prompt Cloud ne doit pas être un souhait. Il doit ressembler à un petit GitHub issue : objectif, contexte, périmètre, environnement, validation et conditions d’arrêt.
Goal: Fix the failing webhook.test.ts test in GitHub Actions.
Context: The failure log is below; the relevant code is probably in src/webhooks/ and tests/webhooks/.
Scope: Only fix Stripe webhook signature verification. Do not change the payment public API or refactor the test framework.
Environment: The Cloud environment has pnpm dependencies installed. Please run pnpm test tests/webhooks/webhook.test.ts first.
Done when: The target test passes; list changed files, commands you ran, checks you did not run, and risks I need to confirm manually.
Stop if: You need to add a new secret, change the database schema, modify shared/http-client.ts, or cannot reproduce the failure.
Le format n’est pas l’essentiel. L’essentiel est de donner à Codex des limites qu’il peut respecter. Plus la Cloud task ressemble à un issue, plus elle a de chances de rendre un diff relisible.
Stop if vaut mieux que “sois prudent”
“Sois prudent” reste trop abstrait. L’agent ne sait pas toujours où commence la sortie de route. Stop if transforme le risque en conditions concrètes.
Vous pouvez écrire :
- Stop if you need to add a new secret.
- Stop if you need to change the database schema.
- Stop if you must touch the shared auth middleware.
- Stop if the target test cannot be reproduced.
- Stop if the task requires broad renaming or file migration.
Avec ce cadre, la Cloud task a plus de chances de s’arrêter et d’expliquer le risque, au lieu d’élargir le diff.
Une fois la Cloud task terminée, lire le summary, le diff et le journal de commandes
Quand relancer une question, quand ouvrir un PR
Quand Cloud annonce la fin, ne vous arrêtez pas à “done”. Lisez d’abord quatre choses :
- Le summary reformule-t-il correctement l’objectif et les changements ?
- Le diff reste-t-il dans le scope ?
- Le journal de commandes contient-il le test, lint ou typecheck demandé ?
- Les vérifications non lancées et les risques à confirmer manuellement sont-ils clairement listés ?
Si le diff touche des fichiers hors scope, demandez d’abord :
The diff touches shared/http-client.ts, which was outside scope. Explain why it was necessary. If not necessary, revert that part and keep the webhook fix minimal.
Si le test cible n’a pas été lancé, demandez-le d’abord :
You did not run the target test. Run pnpm test tests/webhooks/webhook.test.ts and summarize the result before opening a PR.
N’avancez vers un PR que lorsque le périmètre des changements est clair, que la commande de validation est crédible et que les risques restants sont nommés.
Que vérifier lors d’une reprise locale
Les deux chemins sont possibles :
- Petit changement : Create PR, puis GitHub review, CI et processus d’équipe.
- Changement plus risqué : check out locally, puis validation avec vos outils locaux, le Codex app review pane ou l’IDE.
Au minimum, vérifiez ceci lors de la reprise locale :
git statusest-il clean, ou êtes-vous sur un branch / worktree isolé ?- Le diff ne contient-il que l’objectif de la Cloud task ?
- Le test cible, lint et typecheck passent-ils aussi en local ?
.env*, secrets, CI config, lockfiles ou generated files ont-ils changé ?- Cette leçon doit-elle devenir une règle dans
AGENTS.md?
Un Cloud diff n’est pas un bouton merge. C’est une tentative distante qui vous revient pour revue.
@codex review dans GitHub : une deuxième porte, pas une autorisation de merge
Déclenchement manuel et automatic reviews
Dans un GitHub PR où Codex Cloud et Code review sont configurés, un commentaire suffit à lancer la review :
@codex review
Vous pouvez aussi la cibler :
@codex review for security regressions
Codex review lit le PR diff, suit les consignes du AGENTS.md le plus proche des fichiers modifiés et se concentre par défaut sur les problèmes à forte priorité. Une équipe peut aussi activer automatic reviews pour lancer la revue quand un PR est opened for review.
Mais automatic review ne veut pas dire automatic merge. Cela peut faire remonter plus vite des problèmes de type P0/P1, sans remplacer le business owner, la CI ni le jugement humain final.
| Ce que Codex review fait bien | Ce que les humains doivent encore décider |
|---|---|
| Repérer des régressions évidentes, des validations manquantes, des changements de permissions risqués | La demande est-elle correcte, et le compromis acceptable ? |
| Vérifier le PR diff selon les AGENTS.md review guidelines | Direction d’architecture, sens produit, moment de release |
| Publier des commentaires à fort signal sur des problèmes P0/P1 | Accepter le risque et merger, ou non |
Si la review trouve un problème, vous pouvez demander à Codex de le corriger à partir du PR context, par exemple avec @codex fix the P1 issue. Cela lance un flux Cloud task, et le diff obtenu doit encore être relu.
Si @codex ne répond pas, diagnostiquer dans l’ordre
Ne republiez pas le même commentaire plusieurs fois dans le PR. Vérifiez d’abord :
- Le repository a-t-il Codex Cloud configuré ?
- Code review est-il activé pour ce repository dans Codex settings ?
- Le commentaire contient-il exactement
@codex review? - automatic review est-il activé, et l’événement correspond-il ?
- GitHub app / repository permission permet-il de lire le PR diff, les commentaires et le push branch ?
- workspace/admin policy, GitHub Enterprise ou private repo access imposent-ils une restriction ?
- Les usage limits sont-ils atteints, surtout parce que les code review limits peuvent différer de l’usage chat ordinaire ?
Si Cloud tasks, commentaires de review et autres commentaires @codex se comportent différemment, notez la task, le commentaire, le repository et l’heure avant de contacter le support officiel ou votre workspace admin.
Remote devbox / SSH host n’est pas Cloud
Quand utiliser une remote connection
Certaines tâches ne vont ni bien en Local ni bien en Cloud : le projet vit déjà sur une devbox, une machine GPU, un réseau interne ou un enterprise remote development host.
La distinction est simple :
- Codex Cloud : OpenAI managed / configured cloud environment, checkout un dépôt GitHub, adapté aux tâches de dépôt et aux workflows PR loin de votre machine.
- Remote connection / SSH host : la Codex app se connecte à votre remote host et utilise les files, credentials, permissions, plugins, browser setup et local tools de cette machine.
Si la tâche a besoin d’un service interne, d’un GPU, d’une base de données distante ou d’outils déjà configurés sur une devbox, une remote connection est plus proche du vrai environnement. Sa frontière de sécurité change aussi : les permissions, credentials et tools disponibles sur ce host deviennent la frontière donnée à Codex.
La configuration conservatrice consiste à utiliser des trusted SSH keys et des least-privilege accounts, à ne pas exposer app-server transport à Internet public, et à privilégier VPN ou mesh networking pour traverser les réseaux.
Une SOP Codex Cloud conservatrice
Pour une première mise en place de Codex Cloud, suivez cette séquence :
- Choisir une petite tâche avec un état de dépôt reproductible, pas un grand refactoring.
- Configurer le Cloud environment du repository.
- Écrire un setup script pour rendre l’installation des dépendances et le check cible répétables.
- Mettre uniquement les valeurs sensibles de setup phase dans secrets ; placer la configuration non sensible dans env vars.
- Garder agent internet access désactivé par défaut ; si nécessaire, allowlist seulement les domaines et methods requis.
- Écrire le task prompt comme un issue : Goal, Context, Scope, Environment, Done when, Stop if.
- Pendant l’exécution, regarder plan, commands et failures.
- Après la fin, lire summary, diff, test results et skipped checks.
- Créer un PR pour une petite modification ; check out locally d’abord pour les changements plus risqués.
- Utiliser
@codex reviewdans le PR comme deuxième contrôle. - Laisser les humains, la CI et le processus d’équipe décider du merge.
- Transformer les leçons de review répétées en règles dans
AGENTS.md.
Ce qui rend Cloud fiable, ce n’est pas un niveau d’automatisation plus élevé. C’est la présence d’une frontière claire à chaque étape : l’environment reproduit le repo, le prompt est exécutable, le diff est reviewable, et la trace de review est vérifiable. C’est ainsi que l’on confie une exigence précise à un agent cloud, au lieu d’envoyer l’incertitude plus loin.
Faire corriger un GitHub issue avec Codex Cloud
Choisissez une petite tâche reproductible, configurez l'environnement cloud, envoyez un prompt précis, inspectez le diff et le journal de tests, puis utilisez un PR et @codex review comme second passage de validation.
⏱️ Estimated time: 45 min
- 1
Step 1: Choisir une tâche vérifiable
Commencez par un GitHub issue, un CI failure, une mise à jour de documentation ou un petit bugfix. Ne démarrez pas avec un gros refactoring. - 2
Step 2: Configurer le Cloud environment
Préparez un setup script pour le dépôt afin que l'installation des dépendances, la base de test ou les substituts de configuration locale puissent être reproduits dans le conteneur. - 3
Step 3: Séparer env vars et secrets
Placez la configuration non sensible dans environment variables. Ne mettez dans secrets que les valeurs sensibles nécessaires au setup. - 4
Step 4: Limiter le réseau de l'agent
Gardez agent internet access désactivé par défaut. Si la tâche exige vraiment un accès réseau externe, autorisez seulement les domaines et méthodes nécessaires. - 5
Step 5: Écrire le prompt comme un issue
Incluez Goal, Context, Scope, Environment, Done when et Stop if pour éviter que l'agent n'élargisse lui-même la tâche. - 6
Step 6: Vérifier le summary, le diff et le journal de commandes
Confirmez que le diff reste dans le scope, que le test ou lint ciblé a été lancé, et que les vérifications non exécutées ainsi que les risques humains sont listés. - 7
Step 7: Choisir PR ou reprise locale
Créez un PR pour un petit changement. Pour les changements touchant des chemins critiques, de la configuration ou des lockfiles, vérifiez d'abord en local. - 8
Step 8: Utiliser @codex review comme deuxième contrôle
Déclenchez @codex review dans un PR où Codex Cloud et Code review sont configurés, mais laissez les humains et la CI décider du merge.
FAQ
Quelle est la différence entre Codex Cloud et Codex CLI ?
Quelles tâches conviennent à Codex Cloud ?
L'agent phase de Codex Cloud peut-elle accéder à Internet ?
L'agent peut-il lire les secrets dans Codex Cloud ?
Comment déclencher @codex review ?
Codex review peut-il remplacer la revue humaine ?
13 min de lecture · Publié le: 8 juil. 2026 · Mis à jour le: 9 juil. 2026
Guide pratique OpenAI Codex
Si vous arrivez depuis la recherche, le plus rapide est de passer à l’article précédent ou suivant de cette série.
Précédent
Guide Codex Worktree : développer plusieurs tâches IA en parallèle sans polluer le dépôt
Comprenez les modes Local, Worktree et Cloud dans Codex app, isolez les tâches Codex avec Git worktree par dossier et branche, puis gérez .env, dépendances, Handoff, revue, merge et nettoyage.
Partie 3 sur 5
Suivant
Codex pour la revue de code : faire relire vos PR par l'IA sans lui laisser tout modifier
Guide pratique de Codex GitHub code review : @codex review, Review guidelines dans AGENTS.md, modèles de commit et de PR, triage des findings et limites humaines avant merge.
Partie 5 sur 5
Articles liés
Utiliser Codex : guide complet pour débuter avec le CLI, l'extension IDE, Codex Cloud et l'app desktop

Utiliser Codex : guide complet pour débuter avec le CLI, l'extension IDE, Codex Cloud et l'app desktop
Comment écrire AGENTS.md pour donner à Codex vos règles de projet


Commentaires
Connectez-vous avec GitHub pour laisser un commentaire