DEV
Accueil À propos Services Projets Blog Contact
Recruter
Intelligence Artificielle

Comment j'utilise ChatGPT pour coder 3x plus vite (et ce qu'il ne sait pas faire)

🇬🇧 Read in English
Comment j'utilise ChatGPT pour coder 3x plus vite (et ce qu'il ne sait pas faire)

Je vais être direct : quand j'ai commencé à utiliser ChatGPT pour coder, je faisais tout mal. Je lui demandais d'écrire des fonctions entières, je copiais-collais sans vérifier, et je me retrouvais avec du code qui "fonctionnait" mais que je ne comprenais pas. C'est la pire façon d'utiliser l'IA.

Depuis, j'ai développé un workflow qui me permet réellement de coder plus vite  tout en restant maître de mon code. Voici comment.

Ce que ChatGPT fait vraiment bien (et ce que j'en fais)

1. La génération de boilerplate

Le code répétitif ,migrations, seeders, tests unitaires basiques, fichiers de configuration , c'est là que l'IA brille. Ces tâches sont rébarbatives, standardisées, et ChatGPT les génère correctement dans 90% des cas.

Exemple de prompt efficace :

Prompt : "Génère une migration Laravel pour une table 'products' avec les champs suivants :
- id (auto-increment)
- name (string, max 255, requis)
- slug (string, unique)
- price (decimal 10,2, default 0)
- stock (integer, default 0)
- category_id (foreignId, nullable)
- is_active (boolean, default true)
- published_at (timestamp, nullable)
Ajoute aussi les index appropriés."

Résultat : une migration propre en 3 secondes. À la main, ça m'aurait pris 5 minutes.

2. Déboguer des messages d'erreur obscurs

Un message d'erreur incompréhensible à 23h ? Je le colle dans ChatGPT avec le contexte du code. Dans 70% des cas, la réponse est juste au premier essai. Dans les 30% restants, la réponse m'oriente dans la bonne direction.

Prompt : "J'ai cette erreur Laravel : 
'SQLSTATE[42S22]: Column not found: 1054 Unknown column 
'blog_post_tag.blog_post_id' in 'field list''

Voici mon modèle BlogPost :
[code du modèle]

Et voici ma relation :
[code de la relation]

Qu'est-ce qui ne va pas ?"

3. Expliquer du code que je ne comprends pas

Tomber sur une expression régulière complexe, un algorithme obscur, ou un snippet que j'ai trouvé sur Stack Overflow ? Je demande à ChatGPT d'expliquer ligne par ligne. C'est plus rapide que de chercher dans la documentation.

4. Écrire des tests unitaires

Les tests, on le fait tous trop peu. Avec ChatGPT, je fournis la méthode à tester et je demande des tests PHPUnit. La couverture de mes tests a augmenté de 40% depuis que j'utilise systématiquement cette approche.

Ce que ChatGPT fait mal : les pièges à éviter

Il hallucine des fonctions qui n'existent pas

ChatGPT invente parfois des méthodes, des packages, des APIs. Particulièrement sur des technologies récentes ou peu représentées dans ses données d'entraînement. Tout code généré doit être vérifié.

// ChatGPT a suggéré cette "méthode" Laravel (elle n'existe pas)
$users = User::whereActive()->paginate(20);

// La vraie implémentation
$users = User::where('is_active', true)->paginate(20);
// ou avec un scope
$users = User::active()->paginate(20);

Il ne connaît pas votre codebase

ChatGPT génère du code générique. Il ne sait pas que vous avez un scope published(), un trait HasSlug, ou que votre UserController fait déjà exactement ce qu'il vous propose. Sans contexte, ses suggestions sont souvent redondantes ou incompatibles.

Solution : Copiez toujours le contexte pertinent dans votre prompt. Plus vous lui donnez de contexte, mieux il répond.

Il produit du code qui "fonctionne" mais qui n'est pas idiomatic

Il peut générer du PHP fonctionnel mais non-Laravel (sans Eloquent, sans collections, avec des requêtes SQL manuelles alors que vous avez un ORM). Vérifiez que le code généré respecte vos conventions.

Mon workflow réel en 5 étapes

  1. Je décris le problème précisément  avec le contexte, les contraintes, et ce que j'ai déjà essayé
  2. Je lis la réponse entièrement avant de copier quoi que ce soit
  3. Je teste dans un environnement isolé avant d'intégrer au projet
  4. Je comprends ce que je copie  si je ne peux pas l'expliquer, je ne l'utilise pas
  5. Je documente les solutions non évidentes pour mon équipe (et moi dans 6 mois)

Les prompts qui changent tout

La qualité de la réponse dépend directement de la qualité du prompt. Voici des formules que j'utilise régulièrement :

  • "Agis comme un développeur Laravel senior. [...] Explique ton raisonnement."
  • "Génère [X] en respectant les conventions PSR-12 et les bonnes pratiques Laravel."
  • "Relis ce code et identifie les problèmes de performance, de sécurité, et de lisibilité."
  • "Donne-moi 3 approches différentes pour résoudre [problème], avec les avantages et inconvénients de chacune."

Conclusion : l'IA amplifie, elle ne remplace pas

ChatGPT est un outil. Comme Git, comme PHPStorm, comme Stack Overflow. Il amplifie vos capacités existantes  il ne les remplace pas. Un développeur débutant qui utilise ChatGPT reste un débutant qui produit du code génératif qu'il ne comprend pas. Un développeur expérimenté qui l'utilise intelligemment gagne un multiplicateur de productivité réel.

La différence, c'est la pensée critique que vous apportez à chaque ligne générée.

Écrire sur WhatsApp