Installer et utiliser OpenCode
OpenCode est un outil de codage agentique. L’outil est disponible en tant qu’application terminale, application de bureau et extension IDE.
AI-School recommande OpenCode principalement pour les enseignants, les administrateurs et les élèves expérimentés en programmation. OpenCode peut fonctionner de manière plus autonome qu’Aider et peut donc effectuer plus rapidement de nombreuses modifications.
Plus d’informations sur le site OpenCode et dans la documentation officielle d’OpenCode.
Quand choisir OpenCode ?
Choisissez OpenCode si l’utilisateur:
- a de l’expérience avec le terminal, les éditeurs de code et Git
- comprend comment les fichiers locaux sont modifiés
- peut vérifier les changements avant de les utiliser
- souhaite développer des tâches de programmation plus complexes
Pour l’enseignement en classe de la programmation avec des débutants, Aider est généralement plus adapté.
Installer
L’installation la plus simple selon la documentation d’OpenCode est:
curl -fsSL https://opencode.ai/install | bash
Vous pouvez aussi installer OpenCode avec Node.js:
npm install -g opencode-ai
Ou avec Homebrew sur macOS et Linux:
brew install anomalyco/tap/opencode
Se connecter avec Coderen
OpenCode prend en charge des fournisseurs personnalisés compatibles OpenAI. Créez dans le répertoire du projet un fichier opencode.json.
Utilisez-y l’endpoint Coderen et les modèles autorisés:
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"ai-school-coderen": {
"npm": "@ai-sdk/openai-compatible",
"name": "AI-School Coderen",
"options": {
"baseURL": "https://europe-west1-ai-school-pro.cloudfunctions.net/coderenOpenAiCompatibleApi/v1",
"apiKey": "{env:AI_SCHOOL_CODEREN_API_KEY}"
},
"models": {
"gpt-5.6-luna": {
"name": "GPT-5.6 Luna"
},
"gpt-5.6-terra": {
"name": "GPT-5.6 Terra"
},
"gpt-5.6-sol": {
"name": "GPT-5.6 Sol"
}
}
}
},
"model": "ai-school-coderen/gpt-5.6-luna",
"small_model": "ai-school-coderen/gpt-5.6-luna"
}
Ensuite, définissez la clé API comme variable d’environnement.
Vous pouvez aussi utiliser un fichier .env dans le répertoire du projet:
AI_SCHOOL_CODEREN_API_KEY=ais.votre-cle-api
Vérifiez après l’ouverture d’un nouveau terminal que OpenCode peut lire cette variable. Si OpenCode n’envoie pas de clé, AI-School renvoie l’erreur indiquant qu’un en-tête Authorization avec token Bearer est obligatoire.
macOS et Linux
export AI_SCHOOL_CODEREN_API_KEY="ais.votre-cle-api"
Windows
setx AI_SCHOOL_CODEREN_API_KEY "ais.votre-cle-api"
Ouvrez ensuite un nouveau terminal.
Démarrer OpenCode
Allez dans le répertoire du projet:
cd chemin/vers/votre/projet
Démarrez OpenCode:
opencode
Utilisez dans OpenCode le choix du modèle pour sélectionner le modèle AI-School Coderen si cela ne se fait pas automatiquement.
Résolution des problèmes
En-tête d’autorisation avec token Bearer obligatoire
Ce message signifie généralement qu’OpenCode n’envoie pas de clé d’API. Vérifiez:
- que
AI_SCHOOL_CODEREN_API_KEYs’appelle exactement ainsi - que la valeur commence par
ais. - que vous avez ouvert une nouvelle session terminal après
setx - que le fichier
.envse trouve dans le répertoire du projet où vous lancez OpenCode
Paramètre inconnu
Certaines outils envoient des paramètres supplémentaires propres au fournisseur. Si vous recevez un message du type « Unknown parameter », supprimez ce paramètre dans la configuration d’OpenCode ou utilisez une configuration de fournisseur plus simple. L’endpoint Coderen attend des requêtes de type chat compatibles OpenAI avec le modèle, les messages et les paramètres de base habituels.
Travailler en sécurité avec OpenCode
Étant donné qu’OpenCode est agentique, il est important de vérifier les modifications.
Bonnes pratiques recommandées:
- Travailler dans un dépôt Git.
- Commencer par de petites tâches.
- Vérifier les diffs avant d’utiliser le code.
- Tester l’application après les modifications.
- Commiter uniquement les modifications que vous comprenez.
Pour les élèves ayant peu d’expérience, il est judicieux d’utiliser OpenCode d’abord de manière démonstrative sous la supervision d’un enseignant.