04 Fonctionnalités avancées
Code Review et instruction files
Cette leçon contient des faits datés. Dates et sources
4.11 Copilot Code Review 🔍
Définition
Copilot Code Review permet à Copilot d’aider à reviewer du code.
Il peut détecter ou suggérer :
- bugs potentiels ;
- problèmes de lisibilité ;
- oublis de tests ;
- risques de sécurité ;
- incohérences ;
- améliorations de maintenabilité.
GitHub documente l’usage de Copilot Code Review et précise qu’il peut être demandé sur une pull request ou configuré automatiquement selon les politiques.
Code Review manuel vs automatique
GitHub indique que Copilot Code Review peut être configuré pour reviewer automatiquement les pull requests.
Donc il y a deux idées :
- Review demandée manuellement ;
- Review automatique selon configuration.
Exemple
Une PR ajoute :
query = f"SELECT * FROM users WHERE email = '{email}'"Copilot Code Review peut signaler :
This query may be vulnerable to SQL injection.
Use parameterized queries instead.Exemple sécurité
Code :
app.get("/admin/users", async (req, res) => {
const users = await userService.getAllUsers();
res.json(users);
});Copilot pourrait commenter :
This route does not appear to check whether the requester has admin permissions.
Consider adding authorization middleware.Ce que Copilot Code Review ne remplace pas
Il ne remplace pas :
- la review humaine ;
- les tests ;
- la CI ;
- la validation produit ;
- l’analyse sécurité complète ;
- les règles internes de l’équipe.
Détail important : custom instructions
Pour une pull request, Copilot Code Review lit les repository custom instructions, agent instructions et agent skills depuis la branche HEAD, c’est-à-dire la branche contenant les changements, et non depuis la branche base. L’ancienne limite des 4 000 caractères ne doit plus être enseignée comme une règle actuelle : cette information appartient à une documentation historique.
C’est un détail très “exam-like”.
Le niveau d’effort règle la profondeur et le coût d’une review, pas la gouvernance. Lite et Balanced (par défaut) sont disponibles ; Max est annoncé mais pas utilisable. Le détail est traité en 6.6.
Demander une review : sur GitHub.com ou depuis l’IDE
Sur GitHub.com, tu ajoutes Copilot comme reviewer d’une pull request. Dans les IDE pris en charge (VS Code, Visual Studio, JetBrains, Xcode), tu peux aussi lui demander de relire tes changements avant de créer la pull request, pour corriger plus tôt. Le point d’entrée dépend de l’IDE. La gouvernance et le coût sont traités en 6.6.
Piège d’examen 🪤
Question possible :
An organization enables automatic Copilot code review.
Does this remove the need for human review?Bonne réponse :
No. Copilot code review assists reviewers but does not replace human review.4.12 Instructions files 📜
Définition
Les instructions files donnent à Copilot des consignes spécifiques sur la manière de comprendre, construire, tester ou valider un projet.
GitHub explique que les repository custom instructions files donnent à Copilot du contexte additionnel sur la façon de comprendre le projet et de construire, tester et valider ses changements.
Les formes à reconnaître sont :
.github/copilot-instructions.mdpour les instructions repository-wide ;.github/instructions/**/*.instructions.mdpour les instructions spécifiques à des chemins ;AGENTS.md,CLAUDE.mdouGEMINI.mdpour les agent instructions, avec une prise en charge qui dépend de la surface ;- les instructions d’organisation ou personnelles quand la surface les supporte.
Ne suppose pas qu’un même fichier est lu par toutes les surfaces : GitHub publie une matrice de prise en charge par IDE, GitHub.com, cloud agent, Code Review et CLI.
Exemple d’instructions file
Tu peux avoir un fichier d’instructions qui dit :
# Project instructions for GitHub Copilot
## Coding style
- Use TypeScript strict mode.
- Prefer explicit return types for exported functions.
- Use async/await instead of Promise chains.
## Testing
- Use Jest for unit tests.
- Put tests next to the source file.
- Cover edge cases and invalid inputs.
## Security
- Never hardcode secrets.
- Validate all external inputs.
- Use parameterized queries.Pourquoi c’est utile ?
Sans instructions :
Copilot devine tes conventions.Avec instructions :
Copilot connaît tes préférences projet.Cas d’usage
Instructions files utiles pour :
- style de code ;
- frameworks ;
- conventions de test ;
- règles sécurité ;
- architecture ;
- naming ;
- structure de dossiers ;
- règles de validation ;
- outils de build.
Exemple prompt avec instructions
Si les instructions sont bien configurées, tu peux demander :
Add unit tests for this service.Et Copilot peut mieux respecter :
- Jest plutôt que Mocha ;
- structure du projet ;
- conventions d’assertions ;
- conventions de mocks.
Piège d’examen 🪤
Question possible :
A team wants Copilot to consistently follow repository-specific coding and testing conventions.
What should they configure?Bonne réponse :
Repository custom instructions / instructions filesÀ retenir pour le GH-300
- Copilot Code Review aide à repérer bugs, oublis de tests et risques ; il peut être demandé ou automatique, et ne remplace pas la review humaine.
- Pour une pull request, il lit les instructions depuis la branche HEAD, celle qui porte les changements.
- Instructions de dépôt : des règles permanentes ; une forme spécifique à des chemins cible un dossier.
- La prise en charge des fichiers d’instructions dépend de la surface : on consulte la matrice de GitHub.
Faits datés de cette leçon
Ces points changent avec le produit. Chacun indique quand il a été vérifié et où le contrôler.
- Copilot Code Review : niveaux et réglages
Questions de la leçon
Chargement de la question…
Pour finir
À retenir
- Copilot Code Review aide à repérer bugs, oublis de tests et risques ; il peut être demandé ou automatique, et ne remplace pas la review humaine.
- Pour une pull request, il lit les instructions depuis la branche HEAD, celle qui porte les changements.
- Instructions de dépôt : des règles permanentes ; une forme spécifique à des chemins cible un dossier.
- La prise en charge des fichiers d’instructions dépend de la surface : on consulte la matrice de GitHub.
Objectifs GH-300
- Code Review (Use GitHub Copilot Code Review)
- Spaces, Spark, PR et instructions (Use Copilot Spaces, GitHub Spark, pull request instructions, and instruction files)
Achèvement
Il reste à faire : .