Apparence
Introduction au JavaScript â
Histoire et contexte â
JavaScript a été créé afin de rendre les pages web interactives. Il est faiblement typé et interprété. Il ne nécessite pas de compilation.
Rappelâ
Les navigateurs web comprennent les langages suivants :
- HTML : Structure du site web
- CSS : Mise en forme du site web
- JavaScript : Comportement du site web
Seulement le HTML est obligatoire pour qu'une page web fonctionne. Le CSS et le JavaScript sont optionnels, mais ajoutent des fonctionnalités importantes et intéressantes.
Bien que nous allons faire du HTML et CSS, le but de ce cours est de se concentrer sur le JavaScript et d'approfondir nos connaissances dans ce langage.
Fonctionnement du web â
Voici un résumé de comment fonctionne le web :
- Ăcrire l'adresse d'un site web dans la barre de votre navigateur web
- Cela envoie un message au serveur web pour obtenir une page
- Le serveur web retourne la page HTML
- Le navigateur analyse la page HTML
- Le navigateur demande les dépendances au serveur web (CSS, JavaScript, images)
- Le navigateur interprĂšte la page web et l'affiche
- à partir de ce moment, des interactions sont possibles sur la page web sur le navigateur du client avec l'aide JavaScript Ce qu'il faut comprendre, c'est qu'une fois que le serveur nous a envoyé la page web, tout se passe du cÎté client. Le JavaScript va modifier la page du client et non la page de tous les clients.[1]
Un petit vidéo qui explique certaines notions du Web : https://www.youtube.com/watch?v=dYgNvn98Nag
MontĂ©e en puissance de JavaScript â
JavaScript a connu une montĂ©e en puissance significative au fil des annĂ©es, devenant l'un des langages de programmation les plus populaires et polyvalents dans le dĂ©veloppement web. Initialement conçu pour ajouter de l'interactivitĂ© aux pages web, JavaScript a Ă©voluĂ© pour devenir un langage complet capable de gĂ©rer des applications web complexes, des serveurs, et mĂȘme des applications mobiles.
C'est en 2009, avec la sortie de Node.js, que JavaScript a fait un bond en avant majeur. Node.js a permis aux dĂ©veloppeurs d'utiliser JavaScript cĂŽtĂ© serveur, ouvrant la voie Ă des applications web complĂštes Ă©crites entiĂšrement en JavaScript. Cela a conduit Ă une adoption massive de JavaScript dans le dĂ©veloppement backend, en plus de son utilisation traditionnelle cĂŽtĂ© client. Par la suite, l'Ă©mergence de frameworks et bibliothĂšques JavaScript tels que React, Angular, et Vue.js a rĂ©volutionnĂ© la maniĂšre dont les applications web sont construites. Ces outils ont simplifiĂ© le dĂ©veloppement d'interfaces utilisateur complexes et rĂ©actives, rendant JavaScript encore plus attrayant pour les dĂ©veloppeurs. Il est mĂȘme possible de faire des applications de bureau comme Discord avec les technologies du web (electron.js).
Attention â
JavaScript n'est pas à confondre avec Java, qui est un langage de programmation complÚtement différent. Malgré la similarité de leurs noms, JavaScript et Java ont des syntaxes, des usages et des environnements d'exécution distincts.
Syntaxe et Base du langage â
Truc đĄ
Rappel - Installation des outils nécessaires
Au besoin, veuillez vous référer à la section Installation des outils nécessaires pour installer Node.js et un éditeur de code.
Utilisation des points-virgules â
En JavaScript, le point-virgule (;) est utilisĂ© pour marquer la fin d'une instruction. MĂȘme s'il est facultatif, j'exige son utilisation dans ce cours pour Ă©viter toute ambiguĂŻtĂ© et amĂ©liorer la lisibilitĂ© du code.
Les commentaires â
Commentaire en JavaScript :
javascript
// Ceci est un commentaire sur une seule ligne
/* Ceci est un commentaire
sur plusieurs lignes */Les variables â
Truc đĄ
Une variable est un conteneur qui contient une information pouvant évoluer à travers le temps. Généralement, une variable traverse ces 3 étapes [1:1] :
- Déclaration : On déclare la variable en lui donnant un nom.
- Initialisation : On assigne une valeur Ă la variable.
- Utilisation : On utilise la variable dans notre code.
javascript
let maVariable = 10; // Variable modifiable
var ancienneVariable = 30; // Ancienne façon de dĂ©clarer une variable (Ă ĂVITER).
// Nous allon voir plus tard la diffĂ©rence entre les 2.Mais oĂč est le type?? đ±
JavaScript est un langage faiblement typé, ce qui signifie que vous n'avez pas besoin de spécifier le type de données lors de la déclaration d'une variable. Le type est déterminé automatiquement en fonction de la valeur assignée à la variable. Par exemple :
javascript
let nombre = 42; // Type number
let texte = "Bonjour"; // Type string
let estVrai = true; // Type booleanDĂ©claration â
javascript
let x; // DĂ©claration d'une variable sans initialisationInitialisation â
javascript
x = 5; // Initialisation de la variable
// Ou
let y = 10; // DĂ©claration et initialisation en une seule ligneNomenclature des variables â
- Utiliser le camelCase pour nommer les variables (exemple : maVariableImportante). Le camelCase commence par une lettre minuscule et chaque mot suivant commence par une majuscule.
- Les noms de variables doivent commencer par une lettre, un underscore (_) (cas précis) ou un dollar ($) (cas précis).
- Ăviter d'utiliser des mots rĂ©servĂ©s du langage (comme
if,for,while, etc.) comme noms de variables. - Utiliser des noms descriptifs qui reflĂštent le contenu ou l'objectif de la variable.
Seulement les classes seront en PascalCase (exemple : MaClasseImportante).
Votre premiĂšre application JavaScript â
Dans un nouveau dossier nommé Web2, créez un dossier nommé hello-world. Ensuite, assurez-vous de suivre les étapes suivantes :
- Ouvrez votre dossier
hello-worlddans votre éditeur de code.' - Créer un fichier
index.jsavec le code suivant :
javascript
let message = "Hello, World!";
console.log(message);- Ouvrez votre terminal dans le dossier
hello-worldet exécutez la commande suivante pour lancer votre application JavaScript :
bash
node index.js- Vous devriez voir le message "Hello, World!" s'afficher dans le terminal.
FĂ©licitations! Vous venez de crĂ©er et d'exĂ©cuter votre premiĂšre application JavaScript. đ
ConcatĂ©nation et gestion des chaines de caractĂšres â
La concaténation en JavaScript est le processus de combinaison de deux ou plusieurs chaßnes de caractÚres en une seule chaßne. Il existe plusieurs façons de concaténer des chaßnes en JavaScript :
Utilisation de l'opĂ©rateur + â
javascript
// Exemple dans notre programme
let message = "Hello, World!";
console.log(message + " - Hiver 2026");Ăcrivez la commande suivante afin de tester votre application.
bash
node index.jsInformation â
En JavaScript, on peut utiliser les "" (guillemets doubles), les '' (guillemets simples). Les 2 fonctionnent de la mĂȘme maniĂšre. Cependant, il est important de rester cohĂ©rent dans l'utilisation d'un seul type de guillemets dans un mĂȘme projet pour des raisons de lisibilitĂ©.
Truc đĄ
On peut utiliser les caractÚres d'échappement () pour inclure des guillemets dans une chaßne de caractÚres. Par exemple :
javascript
let citation = "Il a dit : \"Bonjour tout le monde!\"";
console.log(citation);
// Le resultat sera : Il a dit : "Bonjour tout le monde!"Utilisation des accents graves â
Lorsque l'on doit concaténer plusieurs variables ou expressions, cela peut vite devenir compliqué avec l'opérateur +. Exemple :
javascript
let nom = "Marc";
let age = 100;
console.log("Bonjour, je m'appelle " + nom + " et j'ai " + age + " ans.");Une façon plus simple de faire cela est d'utiliser les accents graves :
javascript
let nom = "Marc";
let age = 100;
console.log(`Bonjour, je m'appelle ${nom} et j'ai ${age} ans.`);Ici, nous pouvons utiliser les ${} pour insérer des variables ou des expressions directement dans la chaßne de caractÚres[2]. Il est également possible d'utiliser des caractÚres comme des sauts de ligne (\n) directement dans les accents graves.
Par exemple :
javascript
let message = `Bonjour,\nBienvenue dans le cours de Web 2!`;
console.log(message);
// Le resultat sera :
// Bonjour,
// Bienvenue dans le cours de Web 2!Calculs de base â
JavaScript peut effectuer des calculs de base en utilisant les opérateurs arithmétiques suivants :
- Addition :
+ - Soustraction :
- - Multiplication :
* - Division :
/
Dans votre programme index.js, ajoutez le code suivant pour effectuer des calculs de base :
javascript
let nombre1 = 10;
let nombre2 = 5;
let somme = nombre1 + nombre2; // Addition
let difference = nombre1 - nombre2; // Soustraction
let produit = nombre1 * nombre2; // Multiplication
let quotient = nombre1 / nombre2; // Division
console.log(`Somme: ${somme}, DiffĂ©rence: ${difference}, Produit: ${produit}, Quotient: ${quotient}`);Ăcrivez la commande suivante afin de tester votre application.
bash
node index.jsDANGER
Lorsque vous effectuez des opérations avec des nombres et des chaßnes de caractÚres, JavaScript peut implicitement convertir les types, ce qui peut entraßner des résultats inattendus. Par exemple :
javascript
let nombre = 10;
let texte = "5";
let resultat = nombre + texte; // Résultat sera "105" (concaténation)
console.log(resultat);Ceci est dû au fait que JS (couramment utilisé afin de parler de JavaScript) est faiblement typé. La variable peut changer de type selon le contenu sans générer d'erreur. L'utilisation de ()() peut aider surtout pour spécifier la priorité des opérations.
Exemple :
javascript
let pointage = 10;
pointage = pointage + 10 + " points" // "20 points"
console.log(pointage);
let pointage = 10;
pointage = "Voici le pointage : " + pointage + 10 // "Voici le pointage : 1010"
console.log(pointage);
let pointage = 10;
pointage = "Voici le pointage : " + (pointage + 10) // "Voici le pointage : 20"
console.log(pointage);Types â
Faiblement typĂ© â
JavaScript est un langage faiblement typé, ce qui signifie que les types de données sont déterminés automatiquement en fonction des valeurs assignées aux variables. Vous n'avez pas besoin de déclarer explicitement le type d'une variable lors de sa création. Par exemple :
javascript
let nombre = 42; // Type number
let texte = "Bonjour"; // Type string
let estVrai = true; // Type booleanTypes de donnĂ©es de base â
Voici les principaux types de données en JavaScript :
- Number : Représente les nombres (entiers et flottants).
- String : Représente les chaßnes de caractÚres.
- Boolean : Représente une valeur vraie (
true) ou fausse (false). - Array : Représente une collection ordonnée de valeurs.
- Undefined : Représente une variable qui a été déclarée, mais n'a pas encore été initialisée.
- Null : Représente l'absence intentionnelle de valeur.
Attention â
null et undefined sont différents
- undefined signifie que la variable n'a pas été initialisée
- null signifie qu'on a initialisé la variable à rien
- Object : Permet de regrouper des attributs et des fonctions dans une variable
javascript
let monObjet = {
nom: "Marc",
age: 100,
saluer: function() {
console.log("Bonjour, je m'appelle " + this.nom);
}
}; // Type object- Function : Représente une fonction.
quels types aura la variable suivante : let x ?
Undefined Car elle n'a pas été initialisée.
Obtenir le type d'une variable â
Vous pouvez utiliser l'opérateur typeof pour obtenir le type d'une variable en JavaScript :
javascript
let nombre = 42;
console.log(typeof nombre); // Affiche "number"
let texte = "Bonjour";
console.log(typeof texte); // Affiche "string"
let estVrai = true;
console.log(typeof estVrai); // Affiche "boolean"Conversion de types â
JavaScript permet de convertir les types de données de maniÚre explicite en utilisant des fonctions intégrées. En voici quelques exemples :
javascript
let nombre = 42;
let texte = String(nombre); // Convertit le nombre en chaĂźne de caractĂšres
let texte2 = "123";
let nombre2 = Number(texte2); // Convertit la chaĂźne de caractĂšres en nombreExercice 1 â
Créez un fichier exercice1.js qui fait cela :
- Créez les variables suivantes :
- race : Golden retriever
- sexe : Femelle
- prix : 4000
- ageEnSemaine : 6
- ageEnSemaineDisponible : 8
- Ajoutez la variable "nbSemaineAvantDisponible" et calculez le nombre de semaines avant la disponibilité du chiot
- Affichez les informations en utilisant les variables :
Golden retriever Ă vendre 4000$
Sexe : Femelle
Ăge : 6 semaine(s)
Disponible dans 2 semaine(s)- Changer les variables dans le code et afficher de nouveau les informations avec les nouvelles valeurs.
Labrador Ă vendre 3000$
Sexe : Male
Ăge : 4 semaine(s)
Disponible dans 3 semaine(s)Solution (vous devriez avoir un résultat similaire)
javascript
let race = "Golden retriever";
let sexe = "Femelle";
let prix = 4000.00;
let ageEnSemaine = 6;
let ageEnSemaineDisponible = 8;
console.log('-----Message initial-----');
console.log(`${race} Ă vendre ${prix}$,
Sexe : ${sexe}
Ăge : ${ageEnSemaine} semaine(s)
Disponible dans ${ageEnSemaineDisponible - ageEnSemaine} semaine(s)`);
race = "Labrador";
sexe = "Male";
prix = 3000.00;
ageEnSemaine = 4;
ageEnSemaineDisponible = 7;
console.log('-----Message final-----');
console.log(`${race} Ă vendre ${prix}$,
Sexe : ${sexe}
Ăge : ${ageEnSemaine} semaine(s)
Disponible dans ${ageEnSemaineDisponible - ageEnSemaine} semaine(s)`);Conditions et opĂ©rateurs de comparaison â
Conditions â
L'utilisation d'instructions conditionnelles en JavaScript est similaire à ce que vous connaissaissez déjà . Voici un rappel rapide :
javascript
if (condition) {
// Code à exécuter si la condition est vraie
} else if (autreCondition) {
// Code à exécuter si l'autre condition est vraie
} else {
// Code à exécuter si aucune des conditions n'est vraie
}Ou condition et autreCondition sont des expressions qui évaluent à true ou false.
Truc đĄ
Remarquer bien qu'en JavaScript, on garde l'accolade ouvrante sur la mĂȘme ligne que le if/else if/else.
OpĂ©rateurs de comparaison â
Voici les principaux opérateurs de comparaison en JavaScript :
- Ăgal Ă :
== - Strictement égal à :
===. Cela teste également le type. Exemple :
javascript
let x = 5; // number
let y = "5"; // string
console.log(x == y); // true (valeurs égales)
console.log(x === y); // false (types différents)- Différent de :
!= - Strictement différent de :
!== - Supérieur à :
> - Inférieur à :
< - Supérieur ou égal à :
>= - Inférieur ou égal à :
<=
Attention â
Remarquez les bizarreries de JavaScript comme x == '5' donne true.
En gros, JavaScript étant faiblement typé, il va essayer de convertir le string en nombre si possible.
OpĂ©rateurs logiques â
Voici les principaux opérateurs logiques en JavaScript :
- ET logique :
&&(et) - OU logique :
||(ou) - NON logique :
!(non) Exemple :
javascript
let a = true;
let b = false;
console.log(a && b); // false
console.log(a || b); // true
console.log(!a); // falseOpĂ©rateur conditionnel (ternaire) â
L'opérateur conditionnel (ou ternaire) est une façon concise d'écrire une instruction conditionnelle. La syntaxe est la suivante :
javascript
condition ? expressionSiVrai : expressionSiFaux;Ce n'est pas obligatoire de l'utiliser, mais cela peut ĂȘtre utile pour des conditions simples. Libre Ă vous de l'utiliser ou non selon votre comprĂ©hension et les besoins de votre projet/entreprise.
Personnellement, il m'est arrivĂ© dans une des entreprises que j'ai travaillĂ©es d'ĂȘtre obligĂ© de ne pas l'utiliser, car cela rĂ©duisait la lisibilitĂ© du code.
Exercice 2 â
Exercice 2.1 â
Créez un fichier exercice2.js qui testera l'ùge d'une personne.
- Si la personne est majeure (18 ans et plus), afficher "Vous ĂȘtes majeur."
- Sinon, afficher "Vous ĂȘtes mineur."
Pour tester votre application, vous pouvez changer le contenu des variables entre chaque exécution.
Exercice 2.2 â
Ajouter Ă la fin du fichier exercice2.js le code exĂ©cutant la requĂȘte suivante :
- Faire une variable booléenne
jaiCompris. - Si la variable est vraie, afficher "Je comprends les conditions en JavaScript."
- Sinon, afficher "Continue Ă te pratiquer et tu rĂ©ussiras ! đ"
Pour tester votre application, vous pouvez changer le contenu des variables entre chaque exécution.
Solution (vous devriez avoir un résultat similaire)
javascript
//Exercice 2.1
let agePersonne = 19; // Changer la valeur ici pour tester la condition
if(agePersonne >= 18){
console.log('Vous ĂȘtes majeur')
} else {
console.log('Vous ĂȘtes mineur')
}
//Exercice 2.2
let jaICompris = true; // Changer la valeur ici pour tester la condition
if(jaICompris){
console.log('Je comprends les conditions en JavaScript.')
} else {
console.log('Continue Ă te pratiquer et tu rĂ©ussiras ! đ')
}Saisi au clavier â
Installation du module readline-sync â
Afin de lire des entrées utilisateur depuis le clavier dans un environnement Node.js, nous allons utiliser le module readline-sync. Pour l'installer, ouvrez votre terminal dans le dossier de votre projet et exécutez la commande suivante :
bash
npm install readline-syncou
bash
npm i readline-syncAttention â
Si cela ne fonctionne pas, il faut s'assurer que npm soit ajouté aux variables d'environnement PATH de votre systÚme.
Utilisation de readline-sync â
Voici un exemple simple de comment utiliser readline pour lire une entrée utilisateur depuis le clavier :
javascript
// Permet d'aller chercher le module
let readline = require('readline-sync');
let prenom = readline.question('Quel est votre prenom ? ');
let nom = readline.question('Quel est votre nom ? ');
console.log(`Votre nom complet est ${prenom} ${nom}`);Voici un exemple pour lire un nombre :
javascript
let readline = require('readline-sync');
let age = readline.questionInt('Quel est votre age ? ');
console.log(`Vous avez ${age} ans.`);Exercice 3 â
Refaites l'exercice 2, mais cette fois, demandez à l'utilisateur de saisir au clavier les informations nécessaires.
Truc đĄ
Attention à la façon donc vous obtenez le booléen!
Je suggÚre de demander une réponse facile à valider. Par exemple, par oui ou par non.
Solution (vous devriez avoir un résultat similaire)
javascript
let readline = require('readline-sync');
//Exercice 3.1
let agePersonne = readline.questionInt('Quel est votre age ? ');
if(agePersonne >= 18){
console.log('Vous ĂȘtes majeur')
} else {
console.log('Vous ĂȘtes mineur')
}
//Exercice 3.2
let reponseComprehension = readline.question('Est-ce que vous avez bien compris la derniĂšre question ?');
let jaICompris = reponseComprehension === 'o' || reponseComprehension === 'oui' ||
reponseComprehension === 'O' || reponseComprehension === 'Oui';
/*
Une maniĂšre plus simple serait de faire une comparaison tout en minuscule
au lieu de valider toutes les possibilités. Nous allons voir cela au prochain cours.
*/
if(jaICompris){
console.log('Bravo! Continue comme ça !')
} else {
console.log('Continue Ă te pratiquer et tu rĂ©ussiras ! đ')
}Source: Contenu tirĂ© du site de mon collĂšgue Pierre-Luc Boulanger. â©ïž â©ïž â©ïž
Source: https://developer.mozilla.org/en-US/docs/Learn/Getting_started_with_the_web/JavaScript_basics â©ïž