BaliseTonSite

Lire un message d'erreur

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

Un message d'erreur, c'est pas un Game Over. C'est un indice. Comme quand ton personnage tombe dans un piege et qu'un PNJ te dit : "Attention, le sol est fragile ici". L'erreur te montre exactement ou regarder.

Ce chapitre t'apprend a lire les erreurs au lieu de les fuir. Tu vas voir, c'est plus simple qu'on croit.

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.

Oublier comment lire une erreur, c'est normal. L'important c'est de savoir ou chercher, pas de tout retenir par coeur.

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 JavaScript
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
Stack trace : c'est la "pile d'appels". Elle te montre le chemin parcouru par ton code avant de planter. La premiere ligne est toujours la plus importante : c'est la ou l'erreur s'est produite.

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 12
// 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
Si tu ne vois pas l'erreur dans la console du navigateur, regarde dans le terminal ! C'est l'erreur numero 1 des debutants Next.js : chercher une erreur serveur dans le navigateur.

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.

Skill debloque : Tu sais maintenant decoder n'importe quel message d'erreur JavaScript. La prochaine etape : apprendre a utiliser les DevTools pour aller encore plus loin.

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 complété s'enregistre comme un checkpoint dans ton tableau de bord personnel. Crée ton profil de développeur gratuitement pour débloquer toutes les évaluations du site et suivre ta progression étape par étape.

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