2 JavaScript
2 JavaScript
Zakaria Boulouard
Interaction avec
JavaScript
Objectifs
• Dans ce chapitre, on va :
2
Introduction au JavaScript
3
Objectifs
4
Introduction
5
Compilateur vs Interpréteur
6
Compilateur vs Interpréteur
7
Compilateur vs Interpréteur
8
Compilateur vs Interpréteur
9
Compilateur vs Interpréteur
• C, C++, C#
• Rust
• COBOL
• etc…
10
Compilateur vs Interpréteur
11
Langage Compilé vs Interprété
12
13
Langage Compilé vs Interprété
14
15
Langage de Script
16
Langage de Script
• Les scripts côté serveur ne sont pas visibles par le public, leur
rôle est d’assurer la rapidité du traitement, l'accès aux données et
la résolution des erreurs.
17
Langage de Script
• PHP
• JEE
• [Link]
• etc…
18
Langage de Script
19
Langage de Script
• HTML
• CSS
• JavaScript
20
Interpréteur
21
Interpréteur
22
Interpréteur
23
24
Architecture Client – Serveur
25
26
Architecture Client – Serveur
27
Architecture Client – Serveur
28
Architecture Client – Serveur
29
Architecture Client – Serveur
30
Architecture Client – Serveur
31
32
Serveurs Web et HTTP
33
Serveurs Web et HTTP
34
35
Serveurs Web et HTTP
• Elle sert à confirmer que l'action demandée a été exécutée avec succès.
36
Serveurs Web et HTTP
37
Serveurs Web et HTTP
38
Serveurs Web et HTTP
39
40
Fondamentaux du JavaScript
41
Objectifs
42
Introduction
• JavaScript est un langage de scripts qui peut être incorporé aux balises
HTML.
43
Introduction
44
Méthode 1 : Code JavaScript intégré au code HTML
<script language="JavaScript">
/* ou // code JS */
</script>
Méthode 3 : Pseudo-URL
46
Variables en JS
47
Variables en JS
• let : utilisé pour déclarer une variable dont la portée est limitée à un
bloc (block scope).
48
Variables en JS
• const : permet de déclarer une variable qui doit avoir une valeur initiale
et ne peut pas être réassignée.
49
Variables en JS
• Déclaration implicite :
Numero = 1;
Prenom = "xyz";
50
Variables en JS
51
Variables en JS
52
Variables en JS
53
Variables en JS
const PI = 3.141592653589793;
PI = 3.14;// Erreur
PI = PI + 10;// Erreur
const PI;
PI = 3.14159265359; // Incorrect
54
Variables en JS
• Bloc
• Fonction
• Globale
55
Variables en JS
{
let x = 2;
}
56
Variables en JS
{
var x = 2;
}
57
Variables en JS
function Test()
{
var x = "test1";
let y = "test2";
const z = "test3";
}
• Les variables déclarées dans une
fonction JavaScript deviennent /* Les variables x, y, et z ne
LOCALES à la fonction, et ne sont
accessibles qu'à partir de la fonction.
sont pas accessibles en dehors
de la fonction Test()*/
58
Variables en JS
59
Opérateurs en JS
60
Opérateurs en JS
61
62
Opérateurs en JS
63
Opérateurs en JS
• false sinon.
64
65
Opérateurs en JS
66
Affichage en JS
67
Code HTML / JS
<!DOCTYPE html>
<html>
<body>
<h1>Ceci est une page de test</h1>
<p>C'est un paragraphe</p>
<script language="JavaScript">
[Link](5 + 6);
</script>
</body>
<html>
Sortie
Sortie JS
68
Affichage en JS
69
Code HTML / JS
<!DOCTYPE html>
<html>
<body>
<h1>Ceci est une page de test</h1>
<p>C'est un paragraphe</p>
<script language="JavaScript">
[Link](5 + 6);
</script>
</body>
<html>
Sortie JS Sortie
70
Affichage en JS
71
Code HTML / JS
<!DOCTYPE html>
<html>
<body>
<h1>Ceci est une page de test</h1>
<p>C'est un paragraphe</p>
<script language="JavaScript">
[Link](5 + 6);
</script>
</body>
<html>
Sortie
Sortie JS
72
Affichage en JS
73
Code HTML / JS
<!DOCTYPE html>
<html>
<body>
<h1>Ceci est une page de test</h1>
<p>C'est un paragraphe</p>
<button onclick="[Link]()">
Imprimer cette page
</button>
</body>
</html>
74
Sortie
Sortie JS 75
Entrées en JS
76
Code HTML / JS
77
Sortie
78
Entrées en JS
79
Code HTML / JS
80
Sortie
81
Types de Données en JS
82
Types de Données en JS
• string
• number
• boolean
• undefined
83
Code HTML / JS
84
Types de Données en JS
• function
• object
85
Code HTML / JS
86
Types de Données en JS
87
Types de Données en JS
88
Code HTML / JS
89
Types de Données en JS
90
Code HTML / JS
91
Types de Données en JS
92
Code HTML / JS
93
Types de Données en JS
94
Code HTML / JS
95
Types de Données en JS
96
Code HTML / JS
97
Types de Données en JS
98
99
Conditions en JavaScript
100
Code HTML / JS
101
Conditions en JavaScript
102
Code HTML / JS
103
Conditions en JavaScript
104
Code HTML / JS
105
Conditions en JavaScript
106
Code HTML / JS
107
Boucles en JavaScript
108
Code HTML / JS
109
Code HTML / JS
110
Code HTML / JS
111
Code HTML / JS
112
Boucles en JavaScript
113
Code HTML / JS
114
Code HTML / JS
115
Fonctions en JavaScript
116
Fonctions en JavaScript
117
Fonctions en JavaScript
118
Fonctions en JavaScript
• Le nom de la fonction doit respecter les mêmes règles que les noms
des variables.
119
Fonctions en JavaScript
• Exemple :
120
Fonctions en JavaScript
121
Fonctions en JavaScript
122
Fonctions en JavaScript
• La fonction est appelée en utilisant son nom et, si elle prend des
paramètres, en indiquant la liste de ses arguments :
123
Fonctions en JavaScript
124
Fonctions en JavaScript
125
Exceptions en JavaScript
126
Exceptions en JavaScript
127
Exceptions en JavaScript
• Syntaxe :
128
Exceptions en JavaScript
• Exemple :
129
Objets en JavaScript
• propriétés → caractéristiques
• méthodes → comportements
130
Objets en JavaScript
131
132
Objets en JavaScript
133
Objets en JavaScript
[Link] = 150;
[Link] = 380;
134
Objets en JavaScript
135
Objets JSON
• Ce format est utilisé pour échanger les valeurs entre les applications
(clients) et les serveurs.
136
Objets JSON
• Facile à utiliser : L'API JSON offre une mise en œuvre avancée des
différents types et structures de données, ce qui aide à simplifier les cas
d'utilisation.
137
Objets JSON
• Pris en charge : Par les navigateurs, les principaux frameworks JS, les
différents moyens de transmission des données, ainsi que par les
langages de programmation modernes.
138
Objets JSON
139
Objets JSON
• Exemples :
140
Objets JSON
141
Manipuler les éléments d’une
page avec DOM
142
Objectifs
143
Arbre DOM
144
Arbre DOM
145
Arbre DOM
146
Arbre DOM
• Exemple :
147
Code HTML
148
Arbre DOM
149
Objet « document »
150
Objet « document »
151
Objet « document »
152
153
Objet « document »
154
155
Objet « document »
156
157
Navigation dans le DOM
• Les éléments du DOM sont appelés des nœuds, qui sont en relation
hiérarchique sous forme d’un arbre Le nœud supérieur est appelé
racine (ou nœud racine).
158
Navigation dans le DOM
• Les nœuds ascendants sont les nœuds qui sont parents d’un nœud (ou
parents d’un nœud parent).
• Nœuds descendants sont les nœuds qui sont enfants d’un nœud (ou
enfants d’un nœud enfant)
159
Navigation dans le DOM
• On peut aussi avoir une relation « Siblings » qui fait correspondre des
nœuds frères, càd les nœuds ayant le même parent.
160
Navigation dans le DOM
<ul>
<li>1er élément</li>
<li>2ème élément
<p>paragraphe</p>
• Exemple : <a>Lien</a>
</li>
<li>3ème élément</li>
</ul>
161
Relation entre nœuds
162
Navigation dans le DOM
163
Navigation dans le DOM
• Exemple :
164
Navigation dans le DOM
165
Navigation dans le DOM
• Les retours à la ligne et les espaces entre les balises dans le code
HTML sont considérés par le navigateur comme des nœuds textuels.
166
Navigation dans le DOM
• Exemple :
167
Navigation dans le DOM
168
Navigation dans le DOM
• Exemple :
169
Navigation dans le DOM
170
Navigation dans le DOM
171
172
173
174
175
176
177
Navigation dans le DOM
• « [Link]() »
• « [Link]() »
• « [Link]() »
• « [Link]() »
178
Navigation dans le DOM
179
Navigation dans le DOM
180
Navigation dans le DOM
181
Navigation dans le DOM
182
Navigation dans le DOM
183
Navigation dans le DOM
184
Navigation dans le DOM
• Exemple :
185
Manipulation des éléments DOM
186
Manipulation des éléments DOM
• Exemple :
187
Manipulation des éléments DOM
188
Manipulation des éléments DOM
• Exemple :
189
Manipulation des éléments DOM
190
Manipulation des éléments DOM
• Exemple :
191
Manipulation des éléments DOM
192
Manipulation des éléments DOM
• Exemple :
193
Manipulation des éléments DOM
• Exemple :
194
Manipulation des éléments DOM
195
Manipulation des éléments DOM
• Exemple :
196
Manipulation des éléments DOM
197
Gestion des événements
utilisateur
198
Objectifs
199
Qu’est-ce qu’un événement ?
• Un événement est une action effectuée soit par l'utilisateur soit par le
navigateur.
200
Qu’est-ce qu’un événement ?
201
Qu’est-ce qu’un événement ?
202
Qu’est-ce qu’un événement ?
203
Qu’est-ce qu’un événement ?
204
Méthode « addEventListener() »
205
Méthode « addEventListener() »
• Syntaxe :
[Link](evenement, fonction);
206
Méthode « addEventListener() »
• Exemple 1 :
207
Méthode « addEventListener() »
• Exemple 2 :
208
Méthode « addEventListener() »
• Exemple :
209
Méthode « addEventListener() »
210
Méthode « addEventListener() »
• Exemple :
211
212
Méthode « addEventListener() »
• Exemple :
213
214
Événements de la Souris
215
Événements de la Souris
216
Événements de la Souris
217
Événements de la Souris
218
Événements de la Souris
219
Événements de la Souris
• « mousedown »
• « mouseup »
• « click »
• « dblclick »
220
221
Événements de la Souris
222
Événements de la Souris
223
Événements de la Souris
224
Événements de la Souris
225
Événements de la Souris
• Exemple :
226
Événements de la Souris
227
228
Événements de la Souris
229
Événements de la Souris
230
231
Événements de la Souris
• Exemple :
232
233
234
Événements du Clavier
235
Événements du Clavier
236
Événements du Clavier
237
238
Soumission d’un Formulaire
• Syntaxe :
239
Soumission d’un Formulaire
• Exemple :
240
241
Interruption d’un Formulaire
• Exemple :
242
243
Validation des Données
244
Validation des Données
• etc…
245
Validation des Données
• Validation Côté Serveur : Effectuée par un serveur Web, une fois que les
données sont envoyées au serveur.
• Validation Côté Client : Effectuée par un navigateur Web, avant que les
données ne soient envoyées à un serveur Web.
246
Validation des Données
247
Validation des Données
248
Validation des Données
249
Validation des Données
• Exemple :
250
251