Aller au contenu
M05 · A. Définir le rôle de JavaScript dans le développement

Les outils du développeur JavaScript et les librairies

Écrire un premier script, l'exécuter et le déboguer avec la console des outils de développement, et découvrir les grandes librairies et frameworks de l'écosystème JavaScript.

1Situer

Un stagiaire a écrit son premier script pour afficher un message de bienvenue sur le site de sa coopérative, mais rien ne s'affiche et il ne sait pas pourquoi. Le premier réflexe d'un développeur JavaScript : ouvrir la console (F12). C'est là que s'affichent les messages du programme et les erreurs.

2Comprendre

La console : là où le programme vous parle
localhost:5500/index.html Coopérative Tifawin ... Éléments ConsoleSources Réseau Le script démarrescript.js:1 ✖ ReferenceError: consol is not definedscript.js:9 Fin du scriptscript.js:9 > 12 * 7< 84

La page de la coopérative et son script. On appuie sur F12 : les outils de développement s'ouvrent, onglet Console.

1 / 5

L’environnement de travail

  • un éditeur : VS Code, avec l’extension Live Server (déjà vue au module 04) ;
  • un navigateur récent et ses outils de développement (F12) ;
  • plus tard, Node.js et npm pour installer des paquets et exécuter JavaScript hors du navigateur.

La console

console.log('Bonjour');     // un message
console.log(2 + 3);         // 5
console.warn('Attention');  // en jaune
console.error('Problème');  // en rouge
console.table([{ ville: 'Agadir' }, { ville: 'Fès' }]); // un tableau

On peut aussi taper du JavaScript directement dans la console pour tester une instruction.

Lire une erreur

Uncaught ReferenceError: consol is not defined   at script.js:9

Le message dit quoi (le type d’erreur), pourquoi et où (le fichier et la ligne). Une erreur arrête le script : les lignes suivantes ne s’exécutent pas.

Afficher un résultat dans la page

document.querySelector('#message').textContent = 'Bienvenue !';

On verra en détail à la partie C comment trouver et modifier les éléments de la page.

L’écosystème

OutilRôle
jQuerylibrairie qui simplifie la manipulation de la page et AJAX
Reactlibrairie d’interfaces en composants (Meta)
Vue.jsframework progressif
Angularframework complet (Google)
Node.jsJavaScript côté serveur
npmgestionnaire de paquets

Tous reposent sur le même langage : bien maîtriser JavaScript « pur » (vanilla JS) est la priorité.

Exemple simple

Le tableau de bord de la voiture

Quand quelque chose ne va pas, la voiture allume un voyant. La console du navigateur est ce tableau de bord : elle affiche vos messages (console.log) et les erreurs en rouge, avec le numéro de la ligne.

console.log('Le script démarre');
console.log(2 + 3);        // 5
consol.log('oups');        // ReferenceError : consol is not defined
Exemple simple

La boîte à outils plutôt que tout fabriquer

Un menuisier n'invente pas sa perceuse. Les développeurs utilisent des librairies déjà écrites : jQuery pour manipuler la page plus simplement, React, Vue ou Angular pour construire de grandes applications.

3Manipuler

Voici votre premier bac à sable JavaScript. Ouvrez l'onglet script.js : le code s'exécute à chaque modification, et ce qu'il écrit avec console.log apparaît dans la console sous l'aperçu.
Ouvrir dans le lab ↗
Console
  • Corrigez la faute de frappe pour que « Fin du script » s'affiche dans la console
  • Affichez dans la console le résultat de 12 * 7 (84)
  • Changez le message de la page en « Salam, bienvenue à la coopérative »
  • Changez aussi le titre (#titre) pour y ajouter « Agadir »

4Pratiquer

Exercice 1 · Lire une erreur

La console affiche : « Uncaught TypeError: Cannot set properties of null (setting 'textContent') at script.js:4 ». Que s'est-il passé ?

Voir un indice

null veut dire « rien n'a été trouvé ».

Voir le corrigé
À la ligne 4, document.querySelector(...) n'a trouvé aucun élément : il a renvoyé null.
Causes probables : le sélecteur est mal écrit (#mesage au lieu de #message),
ou le script s'exécute avant que l'élément existe (script placé dans le <head> sans defer).

Exercice 2 · Les outils de développement

Citez trois onglets des outils de développement (F12) et leur usage.

Voir le corrigé
Éléments (Elements) : voir et modifier le HTML et le CSS de la page en direct
Console : messages, erreurs, et tester des instructions JavaScript
Sources (Sources/Débogueur) : poser des points d'arrêt et exécuter pas à pas
Réseau (Network) : voir les requêtes envoyées au serveur et leurs réponses

Exercice 3 · Librairie ou framework ?

Classez jQuery, React, Vue.js et Angular, et dites lequel vous étudierez dans ce module.

Voir le corrigé
jQuery : librairie, simplifie la manipulation de la page (étudiée en partie E)
React : librairie pour construire des interfaces en composants (2e année)
Vue.js : framework progressif, facile à prendre en main
Angular : framework complet, très structuré (Google)

5Vérifier

1. Comment ouvre-t-on les outils de développement dans Chrome ou Firefox ?
2. À quoi sert console.log ?
3. Qu'est-ce que Node.js ?