# Comment utiliser Codex CLI dans votre terminal?

Date: 2025-05-01 · Author: Robert Scales · https://guidetoartificialintelligence.com/fr/apprendre/utiliser-codex-cli-terminal/

**Answer:** Installez-le avec npm, définissez votre clé d’API OpenAI, ouvrez un terminal dans le dossier de votre projet et tapez codex suivi de ce que vous voulez faire, par exemple « fix the failing test ». Il lit vos fichiers, propose des modifications et des commandes et, par défaut, attend votre accord avant d’écrire ou d’exécuter quoi que ce soit.

Codex CLI est un programme gratuit à code source ouvert d’OpenAI qui amène un assistant de programmation dans votre terminal, la fenêtre texte où les développeurs tapent des commandes. Contrairement à une fenêtre de clavardage, il travaille directement sur les fichiers de votre projet : il peut les lire, proposer des modifications et lancer des commandes comme vos tests. OpenAI l’a lancé le 16 avril 2025, en même temps que ses modèles o3 et o4-mini.

Le nom peut prêter à confusion. OpenAI avait un modèle appelé Codex en 2021, retiré en mars 2023. Le CLI est un nouvel outil distinct; par défaut, il utilise o4-mini, et vous pouvez choisir un autre modèle.

## Avant de commencer

Il vous faut :

- **Node.js 22 ou plus récent.** Node est le programme qui fait tourner les outils JavaScript comme celui-ci.
- **macOS 12 ou plus récent, ou Linux** (Ubuntu 20.04+ ou Debian 10+). Sous Windows 11, il tourne dans WSL2, l’environnement Linux intégré de Microsoft.
- **Une clé d’API OpenAI.** Codex envoie chaque requête aux modèles d’OpenAI avec cette clé : l’utilisation apparaît donc sur votre compte API.
- **Git**, recommandé. Git garde un historique de vos fichiers, ce qui vous permet d’annuler tout ce que Codex modifie.

## Exemple concret : corriger un bogue

Installez l’outil une fois, puis donnez-lui votre clé pour cette session du terminal :

```bash
npm install -g @openai/codex
export OPENAI_API_KEY="your-key-here"
```

Le fichier README met en garde contre `sudo npm install -g`; si npm refuse d’installer globalement, corrigez plutôt les permissions du dossier de npm. Pour conserver la clé d’une session à l’autre, ajoutez la ligne `export` au fichier de réglages de votre shell, comme `~/.zshrc`.

Imaginez maintenant un petit projet Python avec un fichier `prices.py` et un test qui échoue parce qu’un rabais est appliqué deux fois. Allez dans le dossier du projet et faites d’abord un commit de l’état actuel, pour avoir un point propre où revenir :

```bash
cd ~/projects/shop
git add -A && git commit -m "Before Codex"
codex "The test in tests/test_prices.py fails. Find the cause, fix it, and run the tests."
```

Codex démarre en mode **Suggest**, le mode par défaut. Il lit les fichiers dont il a besoin et explique ce qu’il a trouvé. Quand il veut modifier un fichier, il affiche la modification proposée sous forme de diff (les lignes à retirer et les lignes à ajouter) et demande votre approbation. Quand il veut lancer une commande comme `pytest`, il le demande de nouveau. Tapez `y` pour autoriser une étape ou `n` pour la refuser; un refus laisse vos fichiers intacts.

Pour ce genre de bogue, une session typique ressemble à ceci (à titre d’illustration) : Codex lit `prices.py` et le test, signale que `apply_discount` est appelé à la fois dans `subtotal()` et dans `total()`, propose de supprimer l’un des appels, puis demande à lancer les tests et indique qu’ils réussissent.

Vérifiez vous-même le résultat avant de passer à autre chose :

```bash
git diff
pytest
```

`git diff` montre exactement ce qui a changé depuis votre commit. Si le résultat ne vous plaît pas, `git checkout .` remet les fichiers dans leur état précédent.

Une fois que vous faites confiance à la démarche, essayez **Auto Edit**, qui permet à Codex de modifier les fichiers sans demander, mais qui demande toujours avant de lancer une commande :

```bash
codex --approval-mode auto-edit "Add a test for a 0% discount and make sure it passes."
```

Quelques autres conseils du README : lancer `codex` seul ouvre une session interactive, `codex -q "..."` s’exécute une fois sans l’écran interactif, et `-m` choisit un autre modèle. Vous pouvez aussi placer des instructions permanentes pour un projet, comme « use pytest, not unittest », dans un fichier `codex.md` à la racine du dépôt, et vos instructions personnelles dans `~/.codex/instructions.md`.

> **À essayer :** dans un petit projet que vous connaissez bien, créez un bogue volontaire, faites un commit et demandez à Codex, en mode Suggest, de le trouver et de le corriger. Refusez sa première modification proposée avec `n` et voyez comment il réagit, puis acceptez la suivante et examinez-la avec `git diff`.

## Comment fonctionnent ses modes d’approbation?

Le mode d’approbation détermine ce que Codex peut faire sans vous demander. Vous le réglez avec `--approval-mode` (ou `-a`), ou vous le choisissez au premier démarrage de Codex.

| Mode | Fait sans demander | Demande toujours avant |
|---|---|---|
| Suggest (par défaut) | Lire les fichiers du projet | Chaque modification de fichier et chaque commande |
| Auto Edit | Lire et modifier les fichiers | Chaque commande |
| Full Auto | Lire, modifier et lancer des commandes | Rien |

Full Auto est le mode à manier avec prudence. Pour limiter le risque, Codex y lance les commandes avec l’accès réseau coupé et en restant confiné à votre dossier actuel. Sous macOS, il utilise le bac à sable intégré d’Apple, qui met presque tout ce qui est hors du projet en lecture seule et bloque les connexions sortantes. Sous Linux, le projet recommande de faire tourner Codex dans un conteneur Docker, un mini-système isolé doté d’un pare-feu. Si vous lancez Auto Edit ou Full Auto dans un dossier que Git ne suit pas, Codex vous avertit et demande une confirmation, puisque sans Git il n’y a pas de moyen simple d’annuler.

Une progression sensée consiste à rester en mode Suggest jusqu’à ce que vous compreniez comment Codex travaille dans votre projet, à passer à Auto Edit pour les modifications courantes que vous examinerez avec `git diff`, et à garder Full Auto pour des expériences jetables dans un dossier à part. Quel que soit le mode, lisez les modifications avant d’en faire un commit : comme le note TechCrunch, des études ont montré que les modèles qui écrivent du code peuvent laisser passer des problèmes de sécurité et parfois introduire de nouveaux bogues.

## Sources

- OpenAI Codex CLI (README): https://github.com/openai/codex
- OpenAI debuts Codex CLI, an open source coding tool for terminals: https://techcrunch.com/2025/04/16/openai-debuts-codex-cli-an-open-source-coding-tool-for-terminals/
