OpenCode
To translate this course in your native langage:
In Chrome: right-click anywhere on the page and select “Translate to…”
Or use this language selector:
Les mots colorés en anglais représentent des mots-clés de la norme du langage C++. Ils sont conservés à l’identique lors de l’utilisation d’une traduction automatique avec Google Translate. Exemple : l’héritage (inheritance) est un principe fondamental de C++.
Présentation
Programmation agentique
Nous présentons seulement l’exemple d’OpenAI, les autres fournisseurs ayant des approches similaires. Il existe trois grandes façons de travailler avec l’IA :
Le Chat accessible depuis le portail https://chatgpt.com/. On dialogue dans cette interface pour concevoir, modifier, améliorer son code, résoudre un problème ou préparer un projet.
L’application Codex. Même si son interface ressemble à celle d’un chat, l’application Codex va beaucoup plus loin. Installée sur votre machine, elle peut accéder directement au répertoire de votre projet. L’IA peut ainsi réaliser des tâches de programmation complexes, en faisant travailler ensemble plusieurs agents spécialisés. C’est ce qu’on appelle la programmation agentique.
Codex CLI (Command Line Interface). Cette approche permet de travailler avec l’IA dans le terminal ou avec des scripts. On peut ainsi automatiser un pipelines complet.
Vous avez peut-être déjà utilisé un chat IA pour générer du code. Mais cette méthode impose de nombreux allers-retours :
Poser une question dans le Chat
Copier le code proposé dans votre environnement de développement
Copier les messages d’erreur dans la console
Coller les messages dans le chat de l’IA,
Attendre sa réponse
Copier sa correction et la transférer dans le code
Même si cette approche fait gagner du temps, elle reste fastidieuse. La programmation agentique va beaucoup plus loin. Ainsi, une simple demande va déclencher une série d’actions réalisées automatiquement en coordonnant plusieurs agents spécialisés :
Analyse le code
Recherche d’une solution
Modifications du code
Création des tests
Lancement de la compilation, analyse des logs et tentative de retraits des erreurs
Lancement de l’application
Vérification du comportement attendu
Si besoin, apporter des modifications et effectuer une nouvelle itération
Ainsi, l’IA agentique peut effectuer toutes ces itérations sans intervention du programmeur.
Activer GIT
Pour que toutes les fonctionnalités d’OpenCode soient disponibles, il faut que le répertoire de travail soit configuré comme un dépôt GIT.
Répertoire
Créez un répertoire AgenticProject sur votre bureau
Créez un sous répertoire PICTOR
Décompressez le projet transmis par mail à l’intérieur
GIT install
Il faut que GIT soit installé sur votre machine et qu’il soit disponible dans le path.
Lancez une fenêtre de commande cmd.exe et tappez :
git --version
Si la commande ne s’exécute pas, installez git et faites en sorte qu’il soit accessible dans la fenêtre de commande
GIT local
Nous allons créer un dépot git local dans le répertoire de projet.
Ouvrez une fenêtre de commande cmd.exe
Placez-vous dans le dossier du projet
cd %USERPROFILE%\Desktop\AgenticProject c: dir
Avertissement
Le répertoire doit contenir le répertoire du projet PICTOR.
Si tout fonctionne, dans la fenêtre de commande, lancez la série de commandes suivantes pour initialiser le dépôt GIT local :
:: clear screen cls :: Initialize a local Git repository git init :: Configure Git for this project git config user.name "Developpeur" git config user.email "dev@localhost" :: Create .gitignore to exclude the BUILD directory echo /PICTOR/BUILD/ > .gitignore :: Add project files (excluding BUILD) git add . :: Create the initial commit git commit -m "Initial version" :: Check Git status git status
Git status doit retourner ce message :
OpenCode
Plutôt que de travailler avec un outil et une interface propriétaire, nous avons choisi une solution open source : OpenCode, ceci pour plusieurs raisons :
Multi-modèles : OpenCode peut travailler avec GPT, Claude, Gemini
Interface simplifiée et indépendante de l’entreprise choisie
Flexible : utilisable en terminal, en plugin ou en CLI
Peut fonctionner avec des IA 100% locale grâce à des modèles open-weight
Installation
Allez sur la page : https://opencode.ai/download
Recherchez la version Opencode Desktop
Téléchargez et installez le
Lancez l’application
L’interface
Dans l’interface, vous allez trouver deux vues :
HOME : Accueil d’OpenCode listant les projets en cours et les sessions récentes.
SESSION : Espace de travail où l’on discute avec l’IA et où l’on consulte les modifications de fichiers.
Dans OpenCode Desktop :
Un projet peut posséder plusieurs sessions
Une session appartient à un seul projet
Chaque session correspond à une conversation de travail avec l’IA
Nouveau project
Activez la vue HOME dans OpenCode
Cliquez sur Add Project
Sélectionnez le répertoire AgenticProject
Le projet AgenticProject est maintenant créé
Positionnez le curseur de la souris sur la droite de son nom et cliquez sur les …
Choisissez alors l’option : New session
Si tout se passe correctement, OpenCode va détecter le dépôt git local :
Configuration du modèle d’IA
Dans l’interface d’une session, cliquez sur le nom de l’IA active :
Dans la liste, sélectionnez votre fournisseur d’IA :
Avertissement
Nous continuons la présentation avec OpenAI - ChatGPT. Les démarches pour une autre IA sont similaires.
Sélectionnez ensuite Sign in with ChatGPT
Authentifiez-vous
Autorisez l’association entre OpenCode et votre compte ChatGPT
Retournez dans l’application OpenCode
OpenCode vous demande de sélectionner un modèle en particulier :
Sélectionnez le modèle GPT-6.1 SOL
Avertissement
Ce choix est très important. Si vous prenez le modèle le plus puissant (ASTRA en nov 2026), vos crédits vont fondre comme neige au soleil. Il faut donc faire attention au modèle choisi. Pour OpenAI, la version 6 SOL constitue un bon équilibre temps/performance/crédits.
OpenCode propose plusieurs niveaux d’effort de raisonnement Low, Medium, High, Xhigh, Max qui déterminent la profondeur de l’analyse effectuée par le modèle d’IA. Plus le niveau est élevé, plus le modèle peut consacrer de ressources à la résolution de problèmes complexes, au prix d’un temps de réponse et d’une consommation de tokens potentiellement plus importants. Par rapport aux besoins de notre projet, le niveau Medium offre généralement un bon compromis entre rapidité et qualité.
Déplacez la souris sur l’icône Default pour faire apparaître les différents niveaux de raisonnement :
Sélectionnez le niveau MEDIUM
La consommation de tokens
Evitez les modèles chers
Pour éviter la sélection d’un modèle cher par mégarde, nous vous conseillons de désactiver d’office les modèles les plus coûteux.
Cliquez sur GPT-6.1 Sol
Sélectionnez Manage models
Désactivez les modèles GPT-5
Désactivez les modèles Astra
Désactivez les modèles fast
Pour mieux comprendre les différentes gammes de modèles de ChatGPT, fin 2026, voici leurs tarifications pour un million de tokens en entrée ou en sortie :
Comparatif des modèles GPT-6 Critère
Luna
Sol
Astra
Intelligence
Bonne
Très élevée
Maximale
Vitesse
Très rapide
Rapide
Plus lent sur les tâches complexes
Programmation C++
Bonne
Excellente
Excellente
Débogage complexe
Correct
Très bon
Le plus performant
Programmation agentique
Tâches simples
Projets complexes
Projets très exigeants
Prix API (entrée)
0,10 $
2 $
10 $
Prix API (sortie)
0,50 $
10 $
50 $
Contexte maximal
1,05 M
1,05 M
1,05 M
Monitorer votre consommation
Les fournisseurs d’IA pour la programmation agentique imposent généralement des limites de consommation de tokens, par heure ou par jour. Après vos premières requêtes, surveillez votre consommation pour vérifier que le modèle choisi est adapté.
Dans notre projet, une requête agentique prend en moyenne 1 à 3 minutes. Le projet nécessite environ une cinquantaine requêtes. Ainsi, si vos 3 premières requêtes consomment 50 % de votre quota, le modèle s’avère trop gourmand. Choisissez-en un plus économe pour éviter d’atteindre la limite en 20 minutes.
Pour accéder au monitoring de votre consommation :
Dans l’interface d’OpenCode, cliquez sur le nom du modèle : GPT6-Sol
Cliquez ensuite sur Manage usage
L’interface web de ChatGPT présente deux indicateurs :
La % restant sur une fenêtre de 5h
Le % restant sur une fenêtre d’une semaine
Versionning
Mise en place
Effectuons plusieurs demandes à l’IA :
OpenCode : Ajoute à la racine du projet un fichier toto.txt contenant les nombres premiers de 1 à 100
Réponse (13 s) : Le fichier toto.txt a été ajouté à la racine du projet avec les 25 nombres premiers de 1 à 100
Requête suivante :
OpenCode : Change le nom du fichier toto.txt par le plus grand nombre contenu dans ce fichier
Réponse (15 s) : Le fichier toto.txt a été renommé en 97.txt, car 97 est le plus grand nombre qu’il contient.
Requête suivante :
OpenCode : Ajoute « Bonjour » au début du fichier 97.txt et retire le dernier chiffre qu’il contient
Réponse (10 s) : « Bonjour » a été ajouté au début de 97.txt, et le dernier nombre, 97, a été retiré.
Diff
Dans la session courante, cherchez le groupe d’icônes en haut à droite de l’interface :
Cliquez sur l’icône ouvrant le volet de droite
Dans le volet qui apparaît, cliquez sur Git changes et sélectionnez Last turn changes :
Maintenant, sur la droite, est affiché la différence de contenu du fichier 97.txt
Les lignes ajoutées apparaissent en vert sur la fenêtre de droite
Les lignes retirées apparaissent en rouge sur la fenêtre de gauche
Avertissement
Un diff compare les fichiers ligne par ligne. La ligne « Bonjour », qui a été ajoutée, apparaît donc en vert. En revanche, même si seul le nombre 97 a été supprimé, diff considère que toute la ligne des numéros a été remplacée : l’ancienne version apparaît en rouge à gauche et la nouvelle en vert à droite.
Undo
Pour annuler la dernière demande, tappez /undo dans la fenêtre de session :
Dans le répertoire de projet, vérifiez que le fichier 97.txt ne contient plus la ligne « Bonjour »
Tappez une deuxième fois /undo
Dans le répertoire de projet, vérifiez que le fichier 97.txt a disparu et que le fichier toto.txt est réapparu
La commande undo est fonctionnelle et vous permettra de revenir en arrière si le résultat produit par l’IA ne vous convient pas.
