BaliseTonSite

Debugger avec l'IA

Invoquer un allie : decrire le bug pour que l'IA t'aide.

4.1Le mauvais reflexe (qu'on a tous eu)

Le reflexe numero 1 du debutant : copier l'erreur, la coller dans ChatGPT, et ecrire "aide-moi". Le probleme ? L'IA ne connait pas ton projet. Elle va te donner une reponse generique qui ne correspond pas a ton code.

Prompt qui ne marche pasmarkdown
TypeError: Cannot read properties of undefined (reading 'name')

aide moi

# Resultat : l'IA te dit "verifiez que la variable existe"
# Merci Captain Obvious... mais WHERE ?

4.2Le template de debug parfait

Voici la structure qui va transformer chaque session de debug en victoire :

Template : demander de l'aide a l'IA sur un bugmarkdown
Je travaille sur un projet Next.js 15 avec TypeScript et Supabase.

## Le message d'erreur
```
TypeError: Cannot read properties of undefined (reading 'name')
    at UserCard (components/UserCard.tsx:12:24)
```

## Ce que je faisais
J'essaie d'afficher les donnees d'un utilisateur fetche depuis Supabase.

## Ce que j'attendais
Le composant UserCard affiche le nom de l'utilisateur.

## Ce qui se passe
La page crash avec l'erreur ci-dessus.

## Mon code
```tsx
// UserCard.tsx
export function UserCard({ userId }: { userId: string }) {
  const [user, setUser] = useState()

  useEffect(() => {
    supabase.from('users').select('*').eq('id', userId).single().then(({ data }) => {
      setUser(data)
    })
  }, [userId])

  return <h2>{user.name}</h2>
}
```

## Ce que j'ai deja essaye
- Verifier que userId n'est pas undefined
- console.log(user) -> affiche undefined au premier render

Explique-moi le probleme avant de proposer une correction.

4.3Les 4 niveaux du debug IA

1

Niveau 1 : Comprendre l'erreur

"Explique-moi cette erreur en termes simples : [erreur]"

2

Niveau 2 : Diagnostiquer avec contexte

Ajoute ton code, ta stack, et ce que tu as deja essaye.

3

Niveau 3 : Rubber duck IA

"Pose-moi des questions pour m'aider a trouver le bug moi-meme."

4

Niveau 4 : Prevention

"Comment eviter ce type d'erreur a l'avenir ? Donne-moi un pattern."

4.4Le rubber duck IA : la technique secrete

Le "rubber duck debugging" classique, c'est expliquer ton probleme a un canard en plastique. L'IA fait un canard encore meilleur : elle te pose des questions !

Prompt : rubber duck IAmarkdown
Tu es mon partenaire de debug. Mon composant UserCard ne s'affiche pas correctement.

Au lieu de me donner la solution directement, pose-moi 5 questions diagnostiques
pour m'aider a trouver le bug moi-meme.

Voici mon code :
```tsx
[ton code]
```

L'IA va te demander :
1. "Que renvoie console.log(user) juste avant le return ?"
2. "Est-ce que useEffect a la bonne dependance ?"
3. "A quel moment setUser est appele ?"
4. etc.

4.5Les prompts de debug a garder

3 prompts de debug a sauvegardermarkdown
# Prompt 1 : Explication simple
Explique-moi cette erreur comme si j'etais un debutant :
[coller l'erreur]

# Prompt 2 : Diagnostic complet
[coller le template de la section 4.2]

# Prompt 3 : Prevention
J'ai corrige ce bug : [description].
Comment eviter ce type d'erreur a l'avenir ?
Propose un pattern ou une regle ESLint qui l'aurait detecte.

Verifie tes acquis

5 questions pour valider ce chapitre

1. Quelle est la derniere ligne importante a ajouter dans un prompt de debug ?

Valide et sauvegarde ce chapitre

Ne perds pas le fil de ton apprentissage. Chaque QCM terminé sauvegarde ton score. Crée ton profil gratuitement pour débloquer toutes les évaluations du site et retrouver tes résultats plus tard.

Commencer l'aventure
Déjà membre ?Connecte-toi