BaliseTonSite

Lire un message d'erreur

Le journal de bord : comprendre les alertes avant de paniquer.

1.1La panique du debutant (c'est normal)

Quand tu debutes, un message d'erreur en rouge dans la console, c'est comme un ecran de mort dans un jeu : ton coeur s'accelere, tu ne sais pas quoi faire. Bonne nouvelle : tout le monde est passe par la. Meme les devs seniors lisent des erreurs tous les jours.

La difference ? Ils ne paniquent plus. Ils ont appris a decoder le message. Et toi aussi tu vas apprendre.

1.2Anatomie d'un message d'erreur

Un message d'erreur, c'est toujours la meme structure. Une fois que tu la connais, tu peux lire N'IMPORTE quelle erreur :

Anatomie d'une erreur JavaScriptbash
TypeError: Cannot read properties of undefined (reading 'name')
    at UserCard (components/UserCard.tsx:12:24)
    at renderWithHooks (react-dom.development.js:16305:18)
    at mountIndeterminateComponent (react-dom.development.js:20074:13)

# Decomposition :
# 1. TYPE D'ERREUR  -> TypeError (le type de l'objet n'est pas bon)
# 2. MESSAGE        -> Cannot read properties of undefined (reading 'name')
#                      = tu essaies de lire .name sur quelque chose qui est undefined
# 3. FICHIER + LIGNE -> UserCard.tsx:12:24
#                      = fichier UserCard.tsx, ligne 12, colonne 24
# 4. STACK TRACE     -> la chaine d'appels qui a mene a l'erreur

1.3Les 4 types d'erreurs a connaitre

SyntaxError

Erreur de syntaxe : tu as oublie une parenthese, un point-virgule, une accolade.

TypeError

Tu utilises un type incorrect : .map() sur un string, .name sur undefined.

ReferenceError

Tu utilises une variable qui n'existe pas (faute de frappe, mauvais import).

RangeError

Une valeur est hors des limites (tableau vide, recursion infinie).

1.4Le reflexe en 3 etapes

A chaque erreur, applique cette routine. C'est ta "combo de base" :

1

Lis le message

Pas la stack trace, juste la premiere ligne. Quel TYPE d'erreur ? Quel MESSAGE ?

2

Trouve le fichier et la ligne

Cherche TON fichier dans la stack (pas les fichiers de React ou Node). Va a la ligne indiquee.

3

Comprends ce qui cloche

Regarde la valeur a cette ligne. Est-ce qu'elle est undefined ? null ? un mauvais type ?

Exemple : trouver le bug a la ligne 12typescript
// UserCard.tsx
interface UserCardProps {
  user: { name: string; email: string }
}

export function UserCard({ user }: UserCardProps) {
  // Ligne 12 : si user est undefined, user.name plante
  return (
    <div>
      <h2>{user.name}</h2>  {/* <- BOUM ! TypeError si user est undefined */}
      <p>{user.email}</p>
    </div>
  )
}

// Le fix : verifier que user existe
export function UserCardFixed({ user }: UserCardProps) {
  if (!user) return <p>Chargement...</p>

  return (
    <div>
      <h2>{user.name}</h2>
      <p>{user.email}</p>
    </div>
  )
}

1.5Les erreurs du navigateur vs du serveur

Avec Next.js, tu as deux endroits ou les erreurs apparaissent :

Console du navigateur

  • - Erreurs des composants client ('use client')
  • - Erreurs de rendu React
  • - Erreurs fetch cote client
  • - Accessible via F12 > Console

Terminal (serveur)

  • - Erreurs des Server Components
  • - Erreurs des API Routes
  • - Erreurs de build
  • - Visible dans le terminal ou tourne npm run dev

1.6Ta premiere quete : decoder une erreur

La prochaine fois que tu as une erreur, avant de la copier-coller dans Google ou dans ChatGPT, prends 30 secondes pour appliquer la routine :

Mini-quete : le decodeur

  1. 1. Lis la premiere ligne du message d'erreur
  2. 2. Identifie le type (SyntaxError, TypeError, etc.)
  3. 3. Trouve TON fichier dans la stack trace
  4. 4. Va a la ligne indiquee
  5. 5. Essaie de comprendre AVANT de chercher sur Google

Meme si tu ne trouves pas le fix, tu auras compris le probleme. Et c'est deja la moitie du chemin.

Verifie tes acquis

5 questions pour valider ce chapitre

1. Quelle est la premiere chose a lire dans un message d'erreur ?

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