À propos de ce cours
Apprenez à utiliser les outils de développement des navigateurs Chrome, Edge et Firefox : inspecteur du DOM, console et ses méthodes (log, warn, error, table, group, time, count, assert), lecture d'un message d'erreur (type, message, fichier, ligne, pile d'appels), types d'erreurs JavaScript fréquents et méthode pour retrouver et corriger une erreur. Avec des exemples et des activités corrigées.
-
Objectifs
- Ouvrir les outils de développement (DevTools) de Chrome, Edge et Firefox.
- Utiliser l'inspecteur pour examiner et modifier le HTML et le CSS en direct.
- Utiliser la console pour afficher des messages et tester du code.
- Lire un message d'erreur et retrouver la ligne fautive.
-
Ouvrir les outils de développement
| Action | Chrome / Edge | Firefox |
|---|---|---|
| Ouvrir les DevTools | F12 ou Ctrl + Maj + I | F12 ou Ctrl + Maj + I |
| Ouvrir directement la console | Ctrl + Maj + J | Ctrl + Maj + K |
| Inspecter un élément | Clic droit → Inspecter ou Ctrl + Maj + C | Clic droit → Examiner l'élément ou Ctrl + Maj + C |
Sur macOS : Cmd + Option + I (DevTools), Cmd + Option + J (console Chrome).
- Les principaux onglets : Éléments (Inspecteur dans Firefox), Console, Sources (Débogueur dans Firefox), Réseau, Application (Stockage dans Firefox).
- Edge est basé sur le même moteur que Chrome : ses DevTools sont presque identiques.
L'inspecteur (onglet Éléments)
- Il affiche le DOM: la page telle qu'elle existe en ce moment, après les modifications faites par JavaScript (différent du code source, Ctrl + U).
- On peut modifier un texte, un attribut ou une classe par double-clic, et tester du CSS dans le panneau Styles. Ces changements sont temporaires : ils disparaissent au rechargement.
- L'élément sélectionné dans l'inspecteur est accessible dans la console sous le nom
$0.
La console : afficher des messages

const stagiaires = [
{ nom: "Sami", note: 14 },
{ nom: "Rim", note: 17 }
];
console.log("Bienvenue sur la page des notes"); // message simple
console.info("Chargement terminé"); // information
console.warn("La note 22 dépasse 20"); // avertissement (jaune)
console.error("Impossible de calculer"); // erreur (rouge)
console.table(stagiaires); // affichage en tableau
console.log("Stagiaires :", stagiaires); // plusieurs valeurs
console.group("Détails du calcul"); // regrouper des messages
console.log("Total : 31");
console.log("Moyenne : 15.5");
console.groupEnd();
console.time("tri"); // mesurer une durée
stagiaires.sort((a, b) => a.note - b.note);
console.timeEnd("tri"); // tri: 0.05 ms
console.count("clic"); // compter les passages
console.assert(stagiaires.length === 3, "Il devrait y avoir 3 stagiaires");
console.assert(condition, message)n'affiche le message (en erreur) que si la condition est fausse.- Astuce :
console.log({ moyenne })affiche à la fois le nom et la valeur de la variable. - Les filtres en haut de la console permettent de n'afficher que les erreurs, les avertissements, etc. L'option Conserver le journal (Preserve log) garde les messages après un rechargement.
La console : tester du code
- La console est aussi un terrain d'essai: on y tape du JavaScript, la touche Entrée l'exécute et affiche le résultat.
- Maj + Entrée passe à la ligne sans exécuter (pour écrire plusieurs lignes) ; ↑ rappelle les commandes précédentes.
- On peut y manipuler la page :
document.querySelector("h1").textContent = "Test". clear()ou Ctrl + L efface la console.
-
Lire un message d'erreur
Uncaught ReferenceError: moyene is not defined
at afficher (app.js:18:15)
at app.js:24:1
- Uncaught: l'erreur n'a pas été interceptée, le script s'est arrêté à cet endroit.
- ReferenceError: le type d'erreur.
- moyene is not defined: le message (ici, une faute de frappe :
moyeneau lieu demoyenne). - app.js:18:15: le fichier, la ligne et la colonne. Cliquer sur ce lien ouvre le fichier à la bonne ligne dans l'onglet Sources.
- Les lignes « at … » forment la pile d'appels: la fonction
affichera été appelée depuis la ligne 24.
Les types d'erreurs les plus fréquents
| Type | Exemple de message | Cause habituelle |
|---|---|---|
| SyntaxError | Unexpected token '}', missing ) after argument list | Code mal écrit : parenthèse, accolade ou guillemet manquant. Aucune ligne du fichier ne s'exécute. |
| ReferenceError | x is not defined | Variable ou fonction inexistante, faute de frappe, mauvaise casse. |
| TypeError | Cannot read properties of null (reading 'addEventListener'), x is not a function | Opération impossible sur la valeur : élément introuvable (null), appel de quelque chose qui n'est pas une fonction, réaffectation d'une const. |
| RangeError | Maximum call stack size exceeded, Invalid array length | Valeur hors limites, fonction qui s'appelle elle-même sans fin. |
- Toutes les erreurs ne s'affichent pas : un bug de logique (calcul faux, condition inversée) ne provoque aucun message. Pour ceux-là, on utilise
console.logou les points d'arrêt (leçon suivante). - Pensez aussi à l'onglet Réseau: un fichier
.jsintrouvable apparaît en rouge avec le code 404.
Méthode pour retrouver une erreur
- Ouvrir la console dès que quelque chose ne fonctionne pas.
- Lire le type et le message, puis cliquer sur le lien
fichier:ligne. - Corriger la première erreur affichée : les suivantes en sont souvent la conséquence.
- Si le message n'est pas clair, le rechercher sur MDN (page « Erreurs JavaScript »).
- Si aucune erreur n'apparaît mais que le résultat est faux, afficher les valeurs intermédiaires avec
console.log. - Recharger la page et vérifier que la console est vide.
Activités
Activité 1 : découvrir les DevTools
- Ouvrez un site d'actualités. Avec l'inspecteur, changez le texte du titre principal et la couleur de fond d'un bloc. Rechargez : que se passe-t-il ?
- Sélectionnez un élément, puis tapez
$0dans la console. Que s'affiche-t-il ?
Activité 2 : toutes les méthodes de console
- Créez un fichier
console.jsqui utiliselog,warn,error,table,group,time,countetassertavec un tableau de 5 produits (nom, prix, stock). - Utilisez les filtres de la console pour n'afficher que les avertissements.
Activité 3 : identifier le type d'erreur
- Tapez chaque ligne dans la console, notez le type et le message d'erreur, puis corrigez :
console.log("Bonjour"));
prenom = nom + 1;
const TVA = 0.19; TVA = 0.2;
document.querySelector("#inexistant").textContent = "test";
let total = 10; total();
new Array(-1);
Activité 4 : la console comme calculatrice
- Dans la console, calculez
0.1 + 0.2,"5" + 2,"5" - 2,typeof null. Notez les résultats surprenants : nous les expliquerons dans le chapitre 03. Déposez vos fichiers dans le dépôt GitHubjs-console.
Corrigé de l'activité 3. 1 : SyntaxError (parenthèse fermante en trop : Unexpected token ')'). 2 : ReferenceError (
Activité 4 :
nom n'est pas défini). 3 : TypeError (Assignment to constant variable). 4 : TypeError (l'élément n'existe pas, querySelector renvoie null). 5 : TypeError (total is not a function). 6 : RangeError (Invalid array length).Activité 4 :
0.30000000000000004, "52", 3, "object". À retenir
- F12 ouvre les DevTools ; l'onglet Éléments montre le DOM vivant, la Console affiche les messages et exécute du code.
console.log,warn,errorettablesont les outils de base du débogage.- Un message d'erreur donne un type, un message et un emplacement (fichier:ligne:colonne).
- On corrige toujours la première erreur en premier.
Sources : MDN Web Docs (developer.mozilla.org), documentation de Visual Studio Code et des Chrome DevTools.