0 XP
?
Débutant40 min25 XP

Objectifs de cette leçon

  • Maîtriser l'outil OpenCode pour le développement assisté
  • Utiliser les agents et sous-agents
  • Gérer les tâches complexes avec OpenCode

Utiliser OpenCode efficacement ⚙️

Qu'est-ce qu'OpenCode ?

OpenCode est un agent de développement IA qui travaille directement dans votre terminal. Il analyse votre projet, comprend le contexte, et exécute des tâches de développement de manière autonome.


Installation

# Installer OpenCode
curl -fsSL https://opencode.ai/install | bash

# Vérifier l'installation
opencode --version

# Initialiser dans votre projet
cd mon-projet
opencode init

Les principes de base

1. Découper en petites étapes

Mauvais :

Crée toute l'application de A à Z

Bon :

1. Crée le modèle User avec les champs : name, email, password
2. Crée la route POST /api/auth/register
3. Crée la route POST /api/auth/login
4. Crée le middleware d'authentification
5. Crée la route GET /api/users/me

2. Fournir du contexte

Mauvais :

Ajoute une authentification

Bon :

Dans le projet Laravel actuel, ajoute une authentification
avec Sanctum. Les routes /api/auth/register et /api/auth/login
doivent retourner un token JWT. Les routes /api/users/* doivent
être protégées par le middleware auth:sanctum.

3. Demander une analyse avant d'implémenter

Analyse la structure du projet et propose un plan pour ajouter
un système de notifications. Quels fichiers dois-je modifier ?
Quels sont les risques ?

Les commandes essentielles

CommandeDescription
opencodeLancer l'agent dans le projet
opencode "prompt"Exécuter une tâche spécifique
/analyzeDemander une analyse du projet
/explainExpliquer un fichier ou une fonction
/fixCorriger un bug identifié
/testGénérer des tests

Les prompts efficaces

Pour l'analyse

Analyse la structure de ce projet. Identifie :
1. Les technologies utilisées
2. L'architecture des dossiers
3. Les points d'entrée
4. Les dépendances principales
5. Les améliorations possibles

Pour l'implémentation

Crée un controller Laravel UserController avec les méthodes :
- index() : liste paginée (10 par page)
- store() : création avec validation (name, email, password)
- show($id) : détail d'un utilisateur
- update($id) : modification
- destroy($id) : suppression

Utilise Eloquent, retourne du JSON, ajoute les messages de succès/erreur.

Pour le debugging

J'obtiens l'erreur "SQLSTATE[42S02]: Base table or view not found"
quand je lance l'artisan serve. La migration a été créée mais pas
exécutée. Comment résoudre ?

Pour les tests

Écris 5 tests PHPUnit pour le UserController :
1. Test de création d'utilisateur avec données valides
2. Test d'échec avec email manquant
3. Test de récupération d'un utilisateur par ID
4. Test de mise à jour
5. Test de suppression

Utilise la base de données en mémoire.

Les erreurs courantes

ErreurConséquenceSolution
Prompt trop vagueRésultat inattenduSoyez précis et spécifique
Pas de contexteL'IA ne comprend pas le projetDécrivez la situation actuelle
Trop de choses à la foisQualité médiocreDécoupez en étapes
Pas de validationBugs non détectésTestez après chaque modification

Exercices 🎯

  1. Installation : Installez OpenCode et initialisez-le dans votre projet.
  2. Analyse : Demandez une analyse complète de votre projet.
  3. Implémentation : Créez une fonction utilitaire via OpenCode.
  4. Debug : Corrigez un bug en décrivant l'erreur précisément.

Prochaine leçon : Les outils open source de développement IA.

Constructeur de prompts
Comparez
Mauvais prompt

Analyse mon projet

Bon prompt

Analyse la structure du dossier src/ de ce projet Next.js. Identifie les composants, les pages, et les hooks. Liste les dépendances principales.

Pourquoi ?

Le bon prompt est spécifique, définit le scope, et demande un format de sortie clair.

Workflow agent IA
6 étapes
Étape 1/6