â Tu vas rĂ©soudre les bugs comme un agent du FBI, mon cĆur â
Quand tu écris du JavaScript, tu rencontres trois types de personnes :
- Ceux qui exĂ©cutent le code en disant : âĂa va marcher, câest sĂ»r.â
- Ceux qui cassent le clavier en criant : âPOURQUOI ĂA MARCHE PAS ?!â
- Et ceux qui voient lâerreur et disent : âHmmmm intĂ©ressantâ, puis activent leur mode Sherlock.
AprÚs cet article, tu vas monter directement dans la 3ᔠcatégorie.
DĂ©sormais, quand tu croiseras un bug, tu resteras calme⊠comme si tu renversais du cafĂ© dessus đâïž
đ„ Le Debugging, câest quoi ? (Mais pas la version ennuyeuse)
Le debugging, câest ça :
Imagine que ton code est une maison, et le bug est ce truc bizarre coincĂ© entre les coussins du canapĂ©âŠ
Le debugging = âOkay toi, TâES QUI ET COMMENT TâES ARRIVĂ LĂ ?!â
Le but nâest pas seulement de trouver lâerreur, mais de comprendre pourquoi elle existe.
Car rĂ©soudre un bug â rĂ©soudre le problĂšme.
Comprendre un bug = augmenter ton niveau đ§ âš
đ 1. Console.log : Lâallumette du debugging mais toujours notre meilleur ami
Console.log est immortel.
Console.log est la vie.
Sans console.log, la vie dâun dĂ©veloppeur est comme du thĂ© sans sucre : possible, mais triste.
Ce que tu peux voir :
- La valeur des variables
- JusquâoĂč la fonction sâexĂ©cute
- Quel chemin logique a été suivi
- Les entrées / sorties
- LâĂ©tat de ton application
Mini Astuce : Utilise des labels
const user = { name: "Cansu", level: 4, mood: "legendary" };
console.log("USER INFO :", user);
Version plus professionnelle :
console.log({ age, username, isLoggedIn });
Quand tu vois ces logs propres dans ta console, tu te sens comme un ingĂ©nieur de la NASA, bĂ©bĂ© đ
đ 2. Debugger : Le moment âSTOP, QUI ES-TU ?â
Le mot debugger, câest comme dire Ă la police : âArrĂȘte-moi iciâ.
Comment ça marche ?
Quand le code atteint cette ligne, il sâarrĂȘte net.
Puis tu avances étape par étape.
function calculatePrice(price, tax) {
debugger;
const total = price + tax;
return total;
}
calculatePrice(100, 18);
Dans DevTools, tu vas voir :
- Call stack (dans quelle chaĂźne de fonctions lâerreur apparaĂźt)
- Scope (dâoĂč vient cette variable ?)
- Watch expressions (la transformation des variables en temps réel)
- Step in / step out / step over (comme un agent secret)
Debugger fait de toi un âdĂ©tective de CSI Miamiâ.
Mets tes lunettes, sâil te plaĂźt đđ¶ïž
đ§© 3. Breakpoints : Les policiers du code
Les breakpoints disent au code : âQuand tu arrives ici, TU TâARRĂTES.â
Breakpoints avancés :
- Conditional Breakpoint â âArrĂȘte-toi quand i = 5â
- DOM Breakpoint â âSi cet Ă©lĂ©ment change, stoppeâ
- XHR Breakpoint â âQuand cette requĂȘte sâenvoie, arrĂȘte-toiâ
Exemple (Conditional Breakpoint)
for (let i = 0; i < 20; i++) {
console.log("Index :", i);
}
Clic droit sur le numĂ©ro de ligne â âAdd conditional breakpointâ
Condition : i === 13
Tu exĂ©cutes le codeâŠ
BAM !
Ăa stoppe Ă 13.
Un nombre maléfique, mais chanceux pour le debugging.
đ 4. TryâŠCatch : Lâart de dompter le chaos
Le JavaScript, parfois, ça te sort des erreurs quiâŠ
Te laissent devant un écran tout blanc.
Et toi : âQuâest-ce que tu fais lĂ , mon ange⊠?â
Try/catch te sauve la vie dans ces moments-lĂ .
Exemple :
try {
const data = JSON.parse("{this is not json}");
} catch (err) {
console.error("Erreur capturée mon amouuur :", err.message);
}
Mini Astuce :
Ne mets pas tout dans un try/catch.
Seulement les zones Ă risque.
Sinon, trouver la source de lâerreur = rĂ©soudre un nĆud de laine.
đ§ 5. Lire les messages dâerreur est une compĂ©tence (ils ne mentent pas)
Ătre dĂ©veloppeur =
50% écrire du code
50% lire des erreurs
Les erreurs JS les plus connues
1. âUnexpected tokenâ
Souvent dĂ» Ă :
- Une apostrophe manquante
- Une parenthĂšse en trop
- Une virgule mal placée
const obj = { name: "Cansu" }
2. âCannot read property of undefinedâ
Quelque chose est undefined â
Et tu essaies dây chercher une propriĂ©tĂ©.
let user = null;
console.log(user.name); // Mais il nâexiste pas đ
3. âReferenceErrorâ
Variable utilisĂ©e avant dâĂȘtre dĂ©clarĂ©e.
console.log(a);
let a = 5; // Le hoisting te gifle ici
đŹ 6. Isoler le problĂšme : Coincer le bug dans un coin
Chercher un bug dans un grand projet = chercher un anneau dans un labyrinthe.
Technique efficace :
- Désactive blocs par blocs
- Déplace le code suspect dans un fichier séparé
- Teste chaque partie seule
- Mets en commentaire ce qui nâest pas important
- Réduis progressivement la zone du crime
Et lĂ , tu accules le bug au murâŠ
Puis tu lui dis : âSalut mon chĂ©ri, on doit parler.â
đ§Œ 7. Code propre = Moins de migraines
La plupart des bugs viennent de petits dĂ©tailsâŠ
Comme les relations passĂ©es đ
RĂšgles dâor du clean code :
- Fonctions courtes
- Un seul rĂŽle par fonction
- Noms de variables clairs
- Pas trop de if/else
- Les commentaires servent Ă EXPLIQUER, pas Ă faire de la magie
Mauvais code :
function x(a, b) {
return a + b * 2 / 5;
}
Bon code :
function calculateDiscount(price, rate) {
const discount = price * rate;
return price - discount;
}
70% du debugging vient dâun mauvais nommage.
Un bon nom = moins de souffrance â€ïž
đ 8. Outils & Extensions : Ton arsenal pour dĂ©bugger
Les héros de VS Code :
- Debugger for Chrome
- ESLint (Ă©limine les erreurs avant quâelles ne naissent)
- Prettier (nettoie le code et apaise ton Ăąme)
Les super-pouvoirs de Chrome DevTools :
- Analyse réseau
- Graphiques de performance
- Détection de fuites mémoire
- Inspection des event listeners
Debugging â juste trouver une erreur
Debugging = améliorer ton code.
đŻ CONCLUSION : Le debugging nâest PAS un cauchemar
Je sais que le debugging te faisait peurâŠ
Mais maintenant tu es :
- Magicien(ne) du console.log đź
- Guerrier(Ăšre) du debugger âïž
- Ninja du breakpoint đ„·
- Traducteur/trice des messages dâerreur đ
- La lumiĂšre de lâunivers JS â
Souviens-toi :
Il nâexiste pas de dĂ©veloppeur sans erreurs,
Seulement des développeurs qui ne savent pas encore les attraper.

