P
🤖AutomatisationIntermédiaire4 étapes

Agent de Code Review Automatique Multi-Fichiers

Cet agent effectue une revue de code automatisée sur plusieurs fichiers simultanément, en analysant la qualité, la sécurité, les performances et la cohérence architecturale. Il produit un rapport structuré avec des recommandations priorisées par sévérité, des suggestions de refactoring et des extraits de code corrigés prêts à intégrer.

review codesécurité coderefactoring codedebug codeclean code

Pour qui

Développeurs, tech leads et équipes de développement souhaitant automatiser et systématiser leurs revues de code avant merge ou déploiement.

Entrée

Type: text
Format: code

Le code source de 2 à 10 fichiers à reviewer, collés avec leur nom de fichier en en-tête (ex: // fichier: src/auth.ts). Peut inclure tout langage : JavaScript, TypeScript, Python, Java, Go, etc.

étapes (4)

1

Inventaire et cartographie des fichiers

prompt

Analyse la structure des fichiers soumis et identifie les dépendances entre eux.

2

Analyse qualité et détection de bugs

prompt

Examine chaque fichier pour détecter bugs, code smells et violations de bonnes pratiques.

3

Audit sécurité et conformité

prompt

Détecte les vulnérabilités de sécurité et vérifie la conformité aux standards.

4

Recommandations et code corrigé

prompt

Synthétise toutes les analyses et produit les correctifs prêts à intégrer.

Sortie

Type: text
Format: structuré

Rapport de code review complet en Markdown contenant : cartographie des fichiers, liste des bugs et code smells priorisés, audit de sécurité OWASP, correctifs de code prêts à intégrer, recommandations de refactoring et checklist de validation.

Exemple

Entrée

// fichier: src/controllers/userController.ts
import { db } from '../db';
export async function getUser(req, res) {
  const user = await db.query(`SELECT * FROM users WHERE id = ${req.params.id}`);
  res.json({ password: user.password, ...user });
}

// fichier: src/routes/api.ts
import { getUser } from '../controllers/userController';
router.get('/user/:id', getUser);

// fichier: src/middleware/auth.ts
export function checkAuth(req, res, next) {
  if (req.headers.token == 'admin123') next();
  else res.status(401).send('Unauthorized');
}

Sortie

## Résumé exécutif
**Score : 22/100** — Changements requis
- 3 critiques, 2 majeurs, 1 mineur

### Top 3 urgences
1. **Injection SQL** (userController.ts:3) — Concaténation directe de req.params.id
2. **Exposition mot de passe** (userController.ts:4) — Le hash du password est retourné dans la réponse API
3. **Secret hardcodé** (auth.ts:2) — Token admin en clair dans le code source

### Correctif critique #1 — Injection SQL
```typescript
// AVANT (vulnérable)
const user = await db.query(`SELECT * FROM users WHERE id = ${req.params.id}`);
// APRÈS (sécurisé)
const user = await db.query('SELECT id, email, name FROM users WHERE id = $1', [req.params.id]);
```
[...rapport complet avec tous les correctifs, recommandations et checklist]

Personnalisation

ParamètreDescriptionValeur par défaut
review_standardStandard ou guide de style à appliquer lors de la review (ex: Airbnb, Google, conventions internes)Bonnes pratiques universelles (SOLID, Clean Code, OWASP Top 10)
severity_filterNiveau minimum de sévérité à inclure dans le rapport (critique, majeur, mineur, tous)tous
focus_areasDomaines d'analyse prioritaires séparés par virgules (sécurité, performance, maintenabilité, tests)sécurité, qualité, maintenabilité

Notes techniques

<p>Cet agent est conçu pour traiter entre 2 et 10 fichiers simultanément. Pour des bases de code plus larges, découpez en lots cohérents par module ou fonctionnalité. Collez chaque fichier avec un commentaire d'en-tête indiquant son chemin relatif (ex: <code>// fichier: src/auth/middleware.ts</code>) pour permettre à l'agent de reconstituer le graphe de dépendances.</p><p>L'étape d'audit sécurité se base sur le référentiel OWASP Top 10 2021. Pour des audits de conformité spécifiques (PCI-DSS, HIPAA, SOC 2), précisez le standard dans le paramètre review_standard. Les correctifs de code générés sont directement applicables mais doivent être validés par des tests avant merge.</p><p>Pour une utilisation en CI/CD, vous pouvez chaîner cet agent avec un agent de génération de tests unitaires pour couvrir automatiquement les cas critiques identifiés lors de la review.</p>