Console & DevTools
L'atelier du forgeron : tes outils de reparation.
2.1console.log, mais en mieux
Tout le monde connait console.log(). Mais la console a plein d'autres sorts que personne n'utilise :
// Le classique
console.log("valeur :", user)
// Affichage sous forme de tableau (parfait pour les arrays d'objets)
console.table(users)
// Regrouper des logs ensemble
console.group("Chargement des donnees")
console.log("Fetching users...")
console.log("Fetching articles...")
console.groupEnd()
// Mesurer le temps d'execution
console.time("fetch-users")
const users = await fetchUsers()
console.timeEnd("fetch-users") // "fetch-users: 234ms"
// Afficher seulement si une condition est fausse
console.assert(user !== null, "L'utilisateur est null !")
// Warning et erreur (avec couleur)
console.warn("Attention : donnees non validees")
console.error("Echec critique : base de donnees inaccessible")2.2L'onglet Elements : inspecter le DOM
L'onglet Elements (F12 > Elements) te permet de voir la structure HTML de ta page en temps reel. C'est comme avoir une vision a rayons X :
Clic droit > Inspecter
Cible directement l'element dans le DOM. Tu vois son HTML, ses classes CSS, ses styles appliques.
Modifier en live
Double-clique sur un attribut ou un texte pour le modifier directement dans le navigateur. Parfait pour tester des changements CSS.
Box model visuel
Survole un element et vois son margin, padding, border en couleurs. Plus besoin de deviner.
2.3L'onglet Network : espionner les requetes
L'onglet Network, c'est ton radar. Il te montre TOUTES les requetes HTTP que fait ta page : les API calls, les images, les scripts, tout.
# Chaque ligne = une requete
# Tu peux voir :
Nom | Status | Type | Taille | Temps
-------------------------------------------------
users | 200 | fetch | 2.4 KB | 156ms <- tout va bien
articles | 404 | fetch | 0 B | 23ms <- URL introuvable !
profile-pic.jpg | 403 | img | 0 B | 45ms <- acces refuse !
main.js | 200 | script | 145 KB | 89ms <- charge mais gros
# Clique sur une requete pour voir :
# - Headers (ce que tu envoies)
# - Response (ce que le serveur repond)
# - Preview (pour le JSON)2.4Le debugger : poser des pieges a bugs
Le debugger est l'arme ultime. Au lieu de mettre 15 console.log, tu poses un point d'arret et tu observes l'etat de ton code en temps reel.
async function fetchUserData(userId: string) {
const response = await fetch(`/api/users/${userId}`)
// Le navigateur ARRETE l'execution ici
// Tu peux inspecter toutes les variables
debugger
const data = await response.json()
// Tu verras que "data" est accessible dans la console
// Tape "data" ou "response.status" dans la console
return data
}
// Alternative : poser un breakpoint dans les DevTools
// 1. Ouvre l'onglet Sources
// 2. Trouve ton fichier
// 3. Clique sur le numero de ligne
// 4. Recharge la page -> le code s'arrete laControles du debugger
- Resume (F8) : continuer l'execution
- Step Over (F10) : ligne suivante
- Step Into (F11) : entrer dans la fonction
- Step Out (Shift+F11) : sortir de la fonction
Ce que tu peux inspecter
- - Toutes les variables locales
- - La valeur de
this - - La call stack complete
- - Les expressions dans la console
2.5React DevTools : la vision thermique
Si tu travailles avec React (ou Next.js), installe l'extension React Developer Tools. C'est une vision thermique sur tes composants :
Onglet Components
Voir l'arbre de tes composants React, leurs props et leur state en temps reel.
Onglet Profiler
Mesurer combien de fois chaque composant re-render. Ideal pour trouver les re-renders inutiles.