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
| Commande | Description |
|---|---|
opencode | Lancer l'agent dans le projet |
opencode "prompt" | Exécuter une tâche spécifique |
/analyze | Demander une analyse du projet |
/explain | Expliquer un fichier ou une fonction |
/fix | Corriger un bug identifié |
/test | Gé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
| Erreur | Conséquence | Solution |
|---|---|---|
| Prompt trop vague | Résultat inattendu | Soyez précis et spécifique |
| Pas de contexte | L'IA ne comprend pas le projet | Décrivez la situation actuelle |
| Trop de choses à la fois | Qualité médiocre | Découpez en étapes |
| Pas de validation | Bugs non détectés | Testez après chaque modification |
Exercices 🎯
- Installation : Installez OpenCode et initialisez-le dans votre projet.
- Analyse : Demandez une analyse complète de votre projet.
- Implémentation : Créez une fonction utilitaire via OpenCode.
- 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
ComparezMauvais 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