Table des matières
Créé le: 2025-10-17 ; Révisé le: 2025-10-17
Développons avec Simon - 9 - Utiliser Claude Code, Junie et Copilot Agent
Vidéo (1 heure 03 minutes)
Introduction (00:00:00)
Dans cette vidéo, nous comparons trois agents AI de programmation : Claude Code, Junie ( JetBrains) et GitHub Copilot Agent. Bien qu’ils utilisent tous le même modèle d' IA (Claude Sonnet) en arrière-plan, leurs performances varient selon leur implémentation. Nous testons leur capacité à ajouter une fonctionnalité d’historique des vérifications d’URL dans le projet Acilia.
Introduction aux agents AI et présentation du contexte (00:00:25)
- Présentation des agents AI pour la programmation : Junie (JetBrains/IntelliJ), GitHub Copilot Agent et Claude Code
- Tous utilisent Claude Sonnet comme modèle d’IA en arrière-plan
- Différences d’implémentation : Junie utilise l’indexation d’IntelliJ, tandis que Copilot et Claude Code fouillent dans les fichiers
- Philosophie d’utilisation : les agents sont des collègues qui aident à faire 80-90% du travail, pas des remplacements de développeurs
- Méthodologie de travail : première passe de l’agent, revue de code avec des commentaires
TODO +, puis itérations successives
Présentation du projet Acilia et de la fonctionnalité à implémenter (00:04:13)
- Acilia : outil en ligne de commande regroupant diverses fonctionnalités
- Fonctionnalité existante : vérification d’URL avec notification par courriel en cas d’erreur
- État actuel : sauvegarde uniquement de la dernière exécution dans
url-check-recent.json - Fonctionnalité demandée :
- Sauvegarder un historique complet dans
url-check-history.json - Configurer la durée de conservation (défaut : 7 jours) via
url-check set history max days <days> - Créer une commande
url-check history <url>affichant l’historique d’un URL en tableau (colonnes : date, statut, détails)
- Sauvegarder un historique complet dans
- Démonstration de l’interface web en mode démon et de l’affichage des résultats en tableau
Préparation des fichiers de contexte pour les agents (00:08:41)
- Importance de créer des fichiers de contexte pour éviter que l’agent ne scanne tout à chaque tâche
- Claude Code : commande
/initpour créerCLAUDE.md- Fichier généré en anglais malgré la demande en français
- Contient : description du projet, structure, commandes de build, modèle des classes, services, configurations
- Junie : demande de créer
.junie/guidelines.md- Fichier généré en français (surprise)
- Contient : formatage du code, conventions de nommage, structure des classes (une classe publique par fichier)
- Inclut des informations sur Git/pull requests (pas très pertinentes)
- Copilot : pas de fichier spécifique requis, lit automatiquement le README
Test avec Claude Code (00:17:16)
- Première passe :
- Claude Code crée automatiquement une liste de TODO en anglais (malgré le prompt en français)
- Demande de permissions pour éditer les fichiers et exécuter le build
- Temps d’exécution non affiché, mais commun pour tous les agents
- Résultats : compilation OK, fonctionnalités implémentées correctement
- Qualité du code : très bonne, mais quelques détails à corriger (ordre alphabétique, URL redondant dans le modèle)
- 4
TODO +ajoutés pour les ajustements mineurs
- Deuxième passe :
- Recherche des
TODO +et implémentation des corrections - Tous les
TODO +traités correctement - Tests de compilation et d’exécution : succès
- Vérification de la sauvegarde de l’historique et de l’affichage : fonctionnel
- Résultat final : 100% du code en 2 passes
- Recherche des
Test avec Junie (JetBrains) (00:37:19)
- Configuration : mode “brave” pour exécution automatique sans confirmation
- Première passe :
- Utilisation de l’indexation IntelliJ pour une recherche plus efficace
- Implémentation similaire à Claude Code (même LLM en arrière-plan)
- Différence : logique de validation du paramètre (0 ou moins devient 7) au lieu de mettre 7 par défaut dans le modèle
- URL redondant présent (comme Claude Code)
- TODO ajouté pour simplifier la logique (mettre 7 par défaut, enlever la validation complexe)
- Deuxième passe :
- Recherche et correction des TODO
- Problème : logique de validation déplacée dans le service au lieu d’être dans la commande
- Commentaires superflus ajoutés
- Nouvelle approche qui complique inutilement le code
- Troisième passe :
- Correction de la logique de validation
- Suppression de commentaires inutiles
- Résultat : logique de validation reste dans un endroit non optimal
- Résultat final : 98% du code en 3 passes (ajustement manuel nécessaire pour placer la validation au bon endroit)
- Note importante : Les résultats peuvent varier à chaque exécution (même agent, même prompt = code différent possible)
Test avec GitHub Copilot Agent (00:49:24)
- Différences d’interface :
- Nécessite de choisir manuellement le modèle (Claude Sonnet 4.5)
- Possibilité d’attacher des fichiers (non utilisé pour ce test)
- Bug : fichier attaché malgré désactivation explicite
- Affichage des modifications en temps réel avec acceptation à la pièce ou en bloc
- Problèmes techniques dans IntelliJ :
- Conflit de synchronisation fichiers mémoire vs système de fichiers
- Bug spécifique à IntelliJ (pas de problème dans VS Code)
- Problèmes d’exécution PowerShell :
- Copilot utilise PowerShell (Windows) par défaut
- Tentative d’utiliser
&&(syntaxe bash) qui ne fonctionne pas dans PowerShell - Essai avec
&: échec également - Plusieurs tentatives infructueuses avant d’exécuter les commandes séparément
- Échec de l’exécution de Java dans PowerShell
- Finalement, Copilot abandonne la compilation et espère que le code fonctionne
- Interruptions fréquentes :
- Demandes répétées de confirmation pour chaque action
- Pas d’option “mode brave” comme Junie
- Pour les tâches longues (>5 min) : demande de continuer manuellement (plusieurs fois)
- Qualité du code :
- Implémentation correcte (même LLM que les autres)
- Documentation plus détaillée dans le README
- Gestion correcte de la valeur par défaut (7 jours)
- Suppression de l’URL redondant en deuxième passe
- Résultat final : 100% du code en 2 passes, mais avec beaucoup d’interruptions
Comparaison finale et recommandations (01:00:47)
- Claude Code : 100% en 2 passes, fluide
- Junie : 98% en 3 passes, excellent d’habitude, mais choix de logique questionnable cette fois
- Copilot : 100% en 2 passes, mais nombreuses interruptions et problèmes techniques (PowerShell)
- Observation importante : Même LLM (Claude Sonnet) = résultats similaires, mais pas identiques
- Les différences viennent de l’implémentation de l’agent (indexation vs recherche de fichiers)
- Variabilité entre les exécutions (même prompt dans le même agent peut donner des codes différents)
- Recommandations :
- Pour les petites fonctionnalités : tous sont capables de faire le travail
- Pas besoin de s’abonner à tous les services
- Choisir selon ses préférences de workflow
- Pour les grandes fonctionnalités : découper en plusieurs petites tâches améliore les résultats
- Importance d’utiliser Git : commit avant chaque tâche, revue de code, commits work-in-progress
- Workflow recommandé :
- Commit initial avant de lancer l’agent
- Laisser l’agent faire la première passe
- Revue de code avec ajout de
TODO +pour les corrections mineures - Demander à l’agent d’implémenter les
TODO + - Itérer jusqu’à satisfaction
- Commit final ou amend du commit work-in-progress
- Conclusion : Les agents AI sont des outils efficaces pour déléguer des tâches et augmenter la productivité, à condition de bien comprendre leurs forces et limitations.