À retenir
- Cycle de vie limité : les variables ne sont disponibles que pendant le script de configuration, pas durant la tâche.
- Secrets vs variables : les tokens et clés API doivent impérativement être stockés dans la section « Secrets », pas dans les variables classiques.
- Rebuild obligatoire : après toute modification, forcez la reconstruction du conteneur pour appliquer les changements.
- Dépannage rapide : les erreurs « Environment not set », « Secret injection failed » ou « Network unreachable » ont des solutions éprouvées.
Vous lancez votre tâche Codex Cloud, et rien ne marche. Le token API est ignoré, le réseau est coupé, les variables sont absentes. Ce guide vous donne la méthode pour configurer, sécuriser et dépanner vos variables d'environnement.
Qu'est-ce qu'une variable d'environnement dans Codex Cloud ?
Une variable d'environnement est une paire clé-valeur transmise au conteneur lors de la phase de configuration. Contrairement à un serveur classique, elle ne persiste pas dans le shell après cette phase.
Piège fréquent : placer des tokens dans les variables classiques les rend inaccessibles pendant la tâche. Les secrets doivent être dans la section dédiée, et toutes les opérations sensibles (authentification, téléchargement de dépendances privées) doivent être exécutées dans le script de configuration.
Types de variables
Variables système
Définies par Codex Cloud (ex: CODECLOUD_ENV, CODECLOUD_REGION). Accessibles en lecture seule pendant le script de configuration.
Variables projet
Créées via l'interface ou un fichier .env. Visibles uniquement pendant la phase de configuration avancée.
Secrets (Recommandé)
Stockés dans la section dédiée. Injectés via un fichier temporaire, effacés après le script. Seule méthode sécurisée pour les tokens et clés API.
Source : La documentation officielle précise que « les secrets ne sont plus conservés dans une variable d'environnement pendant toute la durée de la tâche, mais passés via un fichier temporaire créé uniquement pour la phase de script de configuration, puis supprimé immédiatement après. » (Codex (Cloud) Secret Injection - OpenAI Community)
Comment configurer vos variables d'environnement (pas-à-pas)
Créez votre fichier .env local
Exemple pour un projet Node.js :
OPENAI_API_KEY=sk-xxxxxxxxxxxx
NPM_TOKEN=npm_yyyyyyyyyyy
DATABASE_URL=postgresql://user:pass@host:5432/db
.env à votre .gitignore.Connectez-vous à l'interface Codex Cloud
Ouvrez l'application de bureau ou rendez-vous sur https://chatgpt.com. Sélectionnez votre environnement cloud ou créez-en un nouveau.
Configurez les secrets dans l'onglet dédié
Dans les paramètrès de l'environnement, section « Secrets », ajoutez chaque token un par un. Ces valeurs ne seront jamais affichées après enregistrement.
Définissez les variables d'environnement classiques
Sous « Environment Variables », ajoutez les variables non sensibles comme DATABASE_URL ou NODE_ENV=production.
Rédigez le script de configuration avancé
Exemple pour Node.js :
#!/bin/bash
npm config set //registry.npmjs.org/:_authToken=${NPM_TOKEN}
npm install
npx prisma migrate deploy
Publiez et forcez la reconstruction
Cliquez sur « Publish Environment ». Pour que les modifications des secrets prennent effet, réenregistrez l'environnement pour déclencher un rebuild.
Vérifiez le bon fonctionnement
Lancez une tâche simple qui teste l'accès à vos services.
Variables d'environnement essentielles
Bon à savoir : Les variables système sont définies par OpenAI et ne peuvent pas être modifiées. Les secrets ne doivent jamais être dans les variables projet.
Sécurité : éviter les fuites de secrets
Ne jamais commiter .env
Ajoutez .env à votre .gitignore. Utilisez un fichier .env.example versionné avec des valeurs factices.
Utiliser les secrets, pas les variables
Les tokens, clés API, mots de passe doivent aller dans la section « Secrets ». Les variables classiques sont visibles dans les logs.
Forcer le rebuild après chaque modification
Après avoir ajouté ou modifié un secret, réenregistrez l'environnement pour déclencher une reconstruction du conteneur.
Conséquence directe : Si vous devez authentifier votre application pendant l'exécution de la tâche, incluez cette authentification dans le script de configuration ou utilisez un service de gestion de secrets externe (HashiCorp Vault, AWS Secrets Manager).
Exemples concrets par type de projet
Projet Node.js
// script-de-configuration.sh
npm config set //registry.npmjs.org/:_authToken=${NPM_TOKEN}
npm install
Dans votre code, process.env.OPENAI_API_KEY sera undefined pendant la tâche. Utilisez les secrets dans le script uniquement.
Projet Python
pip install -r requirements.txt
pip config set global.index-url https://${PYPI_TOKEN}@private.pypi.org/simple/
Projet Docker
docker build -t my-app --secret id=npm_token,env=NPM_TOKEN .
docker run --env-file .env my-app
Astuce : Pour Docker, utilisez --secret avec BuildKit pour injecter les secrets au build sans les stocker dans l'image finale.
Dépannage : erreurs courantes et solutions
Environment not set
Cause : Variables non définies ou conteneur non reconstruit. Solution : Vérifiez les sections « Environment Variables » et « Secrets », puis forcez le rebuild.
Secret injection failed
Cause : Nom incorrect ou caractères non supportés.
Solution : Utilisez des noms en majuscules avec underscores (ex: MY_SECRET_KEY). Supprimez et recréez le secret si nécessaire.
Network is unreachable
Cause : Accès réseau restreint après le script de configuration. Solution : Effectuez toutes les opérations réseau dans le script de configuration.
Variables non accessibles depuis les scripts du dépôt
Cause : Les variables ne sont accessibles que depuis le script de configuration. Solution : Passez-les en argument ou définissez-les dans le script de configuration avant d'appeler vos scripts.
Retour d'expérience : Un développeur a résolu son problème d'injection de secrets en stockant le token dans « Secrets », exécutant go mod download dans le script de configuration, et forçant le rebuild. « J'ai perdu 2 heures à cause de cette erreur, maintenant ça marche parfaitement. »
FAQ
Comment définir des variables d'environnement dans Codex Cloud ?
Rendez-vous dans les paramètrès de votre environnement cloud. Vous y trouverez deux sections : « Environment Variables » pour les variables non sensibles, et « Secrets » pour les tokens et clés API. Après avoir défini vos variables, forcez la reconstruction du conteneur en réenregistrant l'environnement.
Comment injecter des secrets sans les révéler ?
Utilisez exclusivement la section « Secrets ». Ces secrets sont injectés via un fichier temporaire pendant le script de configuration, puis supprimés. Ne les placez jamais dans les variables d'environnement classiques, car celles-ci peuvent apparaître dans les logs.
Où sont stockées les variables d'environnement Codex Cloud ?
Les variables système sont définies par OpenAI. Les variables projet et les secrets sont chiffrés et stockés dans le backend Codex Cloud, associés à votre environnement. Ils ne sont pas persistés dans le conteneur après son arrêt.
Comment résoudre l'erreur 'Environment not set' dans Codex Cloud ?
Vérifiez que 1) vos variables sont bien définies dans l'interface, 2) vous avez forcé la reconstruction du conteneur, 3) vous utilisez les bons noms (les secrets sont accessibles sous leur nom défini, mais uniquement dans le script de configuration).
Codex Cloud supporte-t-il les fichiers .env ?
Oui, mais le fichier .env local n'est pas automatiquement chargé dans l'environnement cloud. Vous devez soit définir chaque variable manuellement dans l'interface, soit écrire un script de configuration qui lit un fichier .env (sans commiter ce fichier avec des secrets).
Sources et références
- Codex (Cloud) Secret Injection - OpenAI Community (2026)
- Can't set up environment with Codex cloud - OpenAI Community (2026)
- Codex Cloud (Legacy) - Documentation OpenAI (2026)
- Codex cloud - Documentation ChatGPT (2026)
- Variables d'environnement - Manuel Codex (2026)
- Eigent AI - Codex Cloud Remote Workspaces (2026)
Pour aller plus loin
Envie de passer à la pratique ? Notre formation dédiée vous accompagne pour appliquer tout ça à votre métier.
Conclusion
Les variables d'environnement dans Codex Cloud ne fonctionnent pas comme sur un serveur classique. Leur cycle de vie est limité à la phase de configuration, et les secrets nécessitent un mécanisme d'injection spécifique. En suivant ce guide, vous éviterez les pièges qui font perdre des heures : secrets non injectés, réseau coupé après le script, variables absentes du runtime.
Pour aller plus loin, nos formations individuelles vous permettent de travailler sur vos propres projets avec un formateur dédié.
