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
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 messageconsole.log(2+3); // 5console.warn('Attention'); // en jauneconsole.error('Problème'); // en rougeconsole.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.
On verra en détail à la partie C comment trouver et modifier les éléments de la page.
L’écosystème
Outil
Rôle
jQuery
librairie qui simplifie la manipulation de la page et AJAX
React
librairie d’interfaces en composants (Meta)
Vue.js
framework progressif
Angular
framework complet (Google)
Node.js
JavaScript côté serveur
npm
gestionnaire 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.
Publicité
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.
○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)