seance5 JAVASCRIPT.pptx
seance5 JAVASCRIPT.pptx
seance5 JAVASCRIPT.pptx
JAVA SCRIPT
LST Informatique
FST 2016-2022
Mohamed OUZARF
LST INFO 1
javascript
JAVA est un langage qui doit être compilé : il faut passer par la JVM
(Java Virtual Machine) afin qu’il soit interprété par la “machine” ensuite.
Just Another Vague Acronym
Comment fonctionne JavaScript ?
<script language="JavaScript">
............
</script>
LST info 4
HTML et JavaScript
Insertion directe dans le code HTML
<!DOCTYPE html>
<html>
<head>
<title>Premier script JavaScript !</title>
<meta charset='utf-8'>
</head>
<body>
<script>
alert('Ceci est affiché en JavaScript !');
</script>
</body>
</html>
5
Rq le <script> juste avant fermeture de </body>
HTML et JavaScript
Code Javascript dans un fichier
Le code Javascript est écrit dans un fichier externe dont l'extension est .js
Dans le fichier HTML, on utilise la balise <script> et son attribut
src=…
pour spécifier le fichier externe
LST info 6
La structure d’un script en JavaScript
• Un nombre à virgule est séparé par un point (.) et non par une
virgule
• Le langage Javascript est sensible à la casse
vos scripts.
● Placer un double slash (//) devant le texte
LST info 7
Entrée et sortie de données avec JavaScript
Console.log() du browser
<!DOCTYPE html> <!DOCTYPE html>
<html> <html>
<head> <head>
<title>Untitled Document</title>
<meta charset="UTF-8">
</head>
<title> une page simple </title>
<body>
</head> <script language="javascript">
<body> console.log("bonjour console");
<script> </script>
Alert("Bonjour"); <script>
</script> alert("Welcome to my page!");
</script>
console.log("bonjour console");
</body>
<script>
</html>
var user_name;
user_name = prompt("Quel est votre nom ? ");
document.write ("votre nom est : " + user_name );
</script>
<script>
if(confirm("Quel bouton allez-vous choisir ?"))
document.location.href="http://localhost";
dossiers :
</script> js/console.html
</body> 9
js/methods/alert
Les variables
⚪ Déclaration et affectation
● Le mot-clé var permet de déclarer une ou plusieurs variables.
● Après la déclaration de la variable, il est possible de lui affecter une
valeur par l'intermédiaire du signe d'égalité (=).
//Déclaration de i, de j et de k.
var i, j, k;
//Affectation de i.
i = 1;
//Déclaration et affectation de prix.
var prix = 0;
let On déclare une variable dont la portée est celle du bloc courant,
éventuellement en initialisant sa valeur.
LST INFO 11
Les variables
⚪ La portée
12
Les variables
LST info 13
Les variables
LST info 14
Valeurs spéciales
LST info 15
Vérification de type de variables
par usage de
TYPEOF
⚪ Evénement onLoad
⚪ Se produit lorsque une page web est chargée dans la
fenêtre du navigateur
⚪ Toute la page (y compris les images qu’elle contient si leur
chargement est prévu) doit avoir été chargée pour qu’il ait
lieu.
⚪ Cet événement peut être associé à une image seulement ;
auquel cas, il se produit une fois son chargement terminé
⚪ Événement onClick
<HTML><BODY>
<INPUT TYPE="Button" Value="cliquer ici”
onClick="alert('Clic')">
</BODY></HTML> 19
Les événements
⚪ Événement onMouseover
⚪ Analogue à onClick sauf qu’il suffit que l’utilisateur place
le pointeur de sa souris sur l’un des éléments (lien
hypertexte, image, bouton, texte, etc.) pour qu’il ait lieu
⚪ Événement onMouseout
⚪ A l’inverse de onMouseover, cet événement se produit
lorsque le pointeur de la souris quitte la zone de sélection
d’un élément.
LST info 20
Changement d'images
Avec le gestionnaire d'événement onmouseOver, on peut prévoir
qu'après le survol d'un image par l'utilisateur,
une autre image apparaisse
<HTML>
<HEAD>
<SCRIPT LANGUAGE="Javascript1.1">
function lightUp() {
document.images["homeButton"].src="button_hot.gif"
}
function dimDown() {
document.images["homeButton"].src="button_dim.gif"
}
</SCRIPT>
</HEAD>
<BODY>
<A HREF="#" onmouseOver="lightUp();" onmouseOut="dimDown();">
<IMG SRC="button_dim.gif" name="homeButton" width=100 height=50 border=0>
</A>
</BODY>
</HTML>
Les fonctions
<!DOCTYPE html>
<html>
<head>
<title>Les fonctions en JavaScript</title>
<meta charset="utf-8">
Une fonction correspond à </head>
un bloc de code pour <body>
effectuer une tâche précise. <h1>Les fonctions</h1>
<script>
function multiplication(x, y) {
La fonction alert() a été return x * y ;
créée afin d’afficher des }
messages dans des boîtes
de dialogue. var resultat = multiplication(5, 10);
resultat += 2
alert(resultat);
</script>
</body>
</html>
Les fonctions prédéfinies
⚪ isFinite
● Détermine si le paramètre est un nombre fini. Renvoie false si ce
n'est pas un nombre ou l'infini positif ou infini négatif.
isFinite(240) //retourne true
isFinite("Un nombre") //retourne false
⚪ isNaN
● détermine si le paramètre n’est pas un nombre (NaN : Not a
Number).
LST info 23
Les fonctions prédéfinies
⚪ parseFloat
⚪ analyse une chaîne de caractères et retourne un nombre décimal.
var prix=30.75;
var arrondi = parseInt(prix, 10); //retourne 30
LST info 24
Le DOM HTML
LST INFO 25
Le DOM HTML
La méthode getElementById() ;
La méthode getElementsByTagName() ;
La méthode getElementsByClassName() ;
La méthode querySelector() ;
La méthode querySelectorAll().
26
Le DOM HTML
La méthode getElementById() de l’objet document
<script>
/*On utilise la méthode getElementById de
l'objet document.
*On enferme le résultat renvoyé dans
une variable "titre" */
var titre = document.getElementById('gros_titre');
alert(titre);
</script>
</body>
var titre = document.getElementById('gros_titre').style.color = "red";
Le DOM HTML
Ref: https://www.youtube.com/watch?v=0-bBV_S-fgY
28
Le DOM HTML
innerHTML textContent
Accéder au contenu des éléments HTML et au texte
On utilise la propriété innerHTML sur le résultat renvoyé par les méthodes
<body>
<h1 id="gros_titre">Découverte du DOM HTML</h1>
<p class="para">Du texte et <a href="http://localhost">un lien</a></p>
<p class="para">Un deuxième paragraphe</p>
<script>
var h = document.getElementById('gros_titre').innerHTML;
alert(h);
</script>
</body>
</html>
Pourquoi faire
?
LST INFO 30
Accéder directement à des types d’éléments
innerHTML textContent
<body>
<h1 id="gros_titre">Le DOM</h1>
<p class="para">Du texte et <a href= »localhost">un lien</a></p>
<p class="para">Un deuxième paragraphe</p>
<script>
/*La différence entre innerHTML et textContent*/
var p = document.querySelector('.para').innerHTML;
var t = document.querySelector('.para').textContent;
https://www.youtube.com/watch?v=54sGFfQ_s7c&list=PLKV6WevXj-lWK9
qi0nL9UotqzAF119f_K&index=12
Le DOM HTML
Accéder directement à des types d’éléments
innerHTML textContent
<body>
<h1 id="gros_titre">Le DOM</h1>
<p class="para">Du texte et <a href="http://localhost">un lien</a></p>
<p class="para">Un deuxième paragraphe</p>
<script>
var titre_page = document.title;
var page = document.body;
var lien = document.links;
Suppression : removeChild()
Remplacement : replaceChild()
https://www.tutorialstonight.com/javascript-create-element
https://www.w3schools.com/jsref/dom_obj_text.asp
34
https://www.javascripttutorial.net/javascript-dom/javascript-appendchild/
LST INFO 36
Les objets en JavaScript
LST INFO
Les objets en JavaScript
<script>
var voiture =
{
couleur: 'bleu',
demarrage: function()
{ return 'tourner la clé'; }
}
alert(voiture.demarrage() + ' pour demarrer la voiture ' + voiture.couleur + ' ' );
</script>
Les objets en JavaScript
<!DOCTYPE html>
<html>
<body>
<script>
</script>
</body>
</html>
LST INFO 39
Les objets en JavaScript
L’objet Date
⚪ L’objet Date( )
Objet très important, nous permet d’accéder à la date système de
l’utilisateur final.
⚪ Déclaration
var date= new Date( );
⚪ Méthodes:
getDate( ): permet de récupérer le numéro du jour du mois(de 1 à 31).
getDay( ): permet de récupérer le numéro du jour de la semaine (de 0 à 6).
getMonth(): permet de récupérer le numéro du mois (de 0 à 11).
getYear(): permet de récupérer l’année (sur 4 chiffres).
getHours(): permet de récupérer l’heure (de 0 à 23).
getMinutes():permet de récupérer les minutes (de 0 à 59).
getSeconds():permet de récupérer les secondes (de 0 à 59).
⚪ Les méthodes de l’objet Date( ) citées plus haut et qui commencent avec
“get” sont utilisées pour lire à partir d’une date donnée. Pour “ecrire” dans
cette date on utilise d’autres méthodes qui commencent par “set”.
setDate(), setDay(), setMonth(), setYear(), setMonth(), setMinutes(),
setseconds()…
L’objet Date
<!DOCTYPE html>
<html> <head>
<title>Le DOM HTML</title>
<meta charset="utf-8">
</head>
<body>
<script>
function horloge() {
document.getElementById('gros_titre').innerHTML=Date();
}
</script>
41
L’objet Date
<!DOCTYPE html>
<html>
<head>
<title>Le DOM HTML</title>
<meta charset="utf-8">
</head>
<body>
<button id ="tete" >click ici un lien DATE</button>
<h1 id="gros_titre">Le DOM</h1>
<script>
var boutton=document.getElementById("tete");
boutton.addEventListener("click", horloge);
function horloge()
{
document.getElementById('gros_titre').innerHTML=Date();
}
</script>
</body>
</html>
42
L’objet Array
⚪ Propriétés:
length: cette propriété donne la taille du tableau
<body>
<h1>Les tableaux</h1>
<script>
var prenoms=['Ali', 'Saad', 'mona', 'sara'], p = '';
⚪ Méthodes:
⚪ charAt(): on utilise cette méthode pour renvoyer le caractère de la
chaîne, sur laquelle la méthode est appelée, situé à la position spécifiée
en paramètre.
⚪ indexOf(string): cette méthode renvoie la position, dans la chaîne de
caractères sur laquelle la méthode est appelée, de la première
occurrence de la chaîne passée en paramètre.
⚪ lastIndexOf(string): fonctionne de même façon que précédente, à la
différence que c’est l’indice de la dernière occurrence qui est renvoyée.
⚪ substring(value1,value2): retourne la sous chaîne, commençant à la
position value1 et finissant à la position value2.
⚪ toLowerCase(): met la chaîne considérée en minuscule.
⚪ toUpperCase(): met la chaîne considérée en majuscule.
LST info 47
L’objet String
<html>
<head>
</head>
<body>
<script language="javascript">
var S=new String();
S="JAVAscript est UN langage de scripts";
document.write("considerons la chaine suivante:"+S);
document.write("<br/> le caractere a la position 5 est:"+S.charAt(5));
document.write("<br/> le premier caractere de mot (script) est:"+S.indexOf("script"));
document.write("<br/> la deuxieme position de mot (script):"+S.lastIndexOf("script"));
document.write("<br/> la chaine entre les position 2 et 5 est:"+S.substring(2,5));
document.write("<br/> la chaine en majuscules:"+S.toUpperCase());
document.write("<br/> la chaine en minuscules:"+S.toLowerCase());
</script>
</body>
</html>
48
L’objet String
LST info 49
L’objet Math
⚪ L’objet Math()
Objet permet de faire les opérations mathématiques.
Methodes:
Math.abs (value), Math.sin (value), Math.cos (value),
Math.tan (value), Math.acos (value), Math.asin (value),
Math.atan (value), Math.PI, Math.e, Math.log(value),
Math.max(value1,value2), Math.min(value1,value2),
Math.pow(value,exponent), Math.Random(), Math.sqrt(value)
LST info 50
L’objet Math
<html>
<head>
<title> test tableau </title>
</head>
<body>
<SCRIPT language=javascript>
document.write("La racine de 15 est "+Math.sqrt(15));
document.write("<br> La valeur de PI"+Math.PI);
document.write("<br> Le cosinus de PI/$ est
+Math.cos((Math.PI)/4));
</SCRIPT>
</body>
</html>
LST info 51
Les Objets prédéfinis
● Les objets de JavaScript, sont soit des entités prédéfinies du langage, soit
créés par le programmeur.
⚪ Par exemple, le navigateur est un objet qui s'appelle "navigator".
⚪ La fenêtre du navigateur se nomme "window"
⚪ La page HTML est un autre objet, que l'on appelle "document".
⚪ Un formulaire à l'intérieur d'un "document", est aussi un objet.
⚪ Un lien hypertexte dans une page HTML, est encore un autre objet. Il
s'appelle "link". etc...
52
Les objets du navigateur
LST info 53
Les objets prédéfinis
⚪ L'objet window est l'objet par excellence dans Javascript, car il est le
parent de chaque objet qui compose la page web. il représente la
fenêtre de navigation.
Propriétés:
status : il définit le message qui s’affiche sur la barre d’état de la fenêtre.
Méthodes :
● open(String url [, String nom] [, String options] ):
cette méthode permet de créer dynamiquement une nouvelle
fenêtre. Elle retourne une valeur qui est un objet sous forme de
fenêtre.
LST info 55
https://www.aliasdmc.fr/coursjavas/cour
s_javascript78.html
1.Introduction
2.window.status
3.window.location
4.window.moveTo()
5.window.moveBy()
6.window.resizeBy()
7.window.resizeTo().
8.window.blur().
9.window.focus().
10.window.open().
11.window.close().
LST INFO 56
L’objet window
<html>
<head>
<title> test tableau </title>
</head>
<body>
<SCRIPT language="javascript">
function ouvre_popup(page)
{
window.open(page,"nom_popup","menubar=no, status=no, scrollbars=no,
width=200, height=100");
}
</SCRIPT>
<A href="javascript:ouvre_popup('chaine.htm')">Ouverture d'un popup</A>
</body>
</html>
57
L’objet window
58
L'objet document
59
L’objet form
⚪ Méthodes:
● submit: déclanche l’envoi du formulaire.(simule le click sur le
bouton d’envoi)
● reset : réinitialise le formulaire. (simule le click sur le bouton
réinitialisation)
60
L’objet form
⚪ Événements:
● OnSubmit: cet événement survient lors de l’envoi du formulaire. Il permet
de programmer des actions de contrôle du formulaire avant de
l’envoyer au serveur.
61
Manipulation des éléments du formulaire
Exemple :
⚪ 1 - pour accéder au formulaire, il existe trois façons:
● a- document.form[0];
● b- document.form[“myform”];
● c- document.myform;
⚪ 2 – une fois accédé au formulaire, il nous reste d’accéder à l’élément
du formulaire. Tous les éléments du formulaire sont regroupés dans le
tableau élément[] associé à ce formulaire.
● a- document.myform.element[i];
● b- document.myform.element[“nom”];
● c- document.myform.nom;
⚪ 3- une fois accédé à l’élément voulu, on lit ou on modifie la propriété
concernée.
● document.myform.nom.value;
LST info 62
Manipulation des éléments du formulaire
<HTML>
<HEAD>
<SCRIPT LANGUAGE="javascript">
function controle(form1) {
var test = document.form1.input.value;
alert("Vous avez tapé : " + test);
}
</SCRIPT>
</HEAD>
<BODY>
<FORM NAME="form1">
<INPUT TYPE="text" NAME="input" VALUE=""><BR>
<INPUT TYPE="button" NAME="bouton" VALUE="Verifier le
formulaire" onClick="controle(form1)">
</FORM>
</BODY>
</HTML>
Manipulation des
éléments du formulaire
<body>
<h2>JavaScript Can Validate Input</h2>
<p>Please input a number between 1 and 10:</p>
<input id="numb”>
<button type="button" onclick="myFunction()">Submit</button>
<p id="demo">demo test</p>
<script>
function myFunction() {
var x, text;
// Get the value of the input field with id="numb"
x = document.getElementById("numb").value;
65
Manipulation des éléments du formulaire
<html>
<head>
<title> manipulation du forulaire </title>
</head>
<body>
<script language="javascript">
function afficher()
{
maFenetre=window.open();
maFenetre.document.open();
maFenetre.document.write(document.myform.nom.value+"</br>");
maFenetre.document.write(document.myform.prenom.value+"</br>");
maFenetre.document.write(document.myform.pass.value+"</br>");
L=document.myform.sexe.length;
for(i=0; i<L; i++)
{ if (document.myform.sexe[i].checked==true)
{ maFenetre.document.write(document.myform.sexe[i].value+"</br>"); }
}
66
Manipulation des éléments du formulaire
if (document.myform.choix1.checked==true)
{
maFenetre.document.write(document.myform.choix1.value+"</br
>");}
if (document.myform.choix2.checked==true)
{
maFenetre.document.write(document.myform.choix2.value+"</br
>");}
if (document.myform.choix3.checked==true)
{maFenetre.document.write(document.myform.choix3.value+"</br>
");}
maFenetre.document.write(document.myform.commentaire.value+"
</br>");
}
67
</script>
Manipulation des éléments du formulaire
<fieldset>
<form name="myform" onsubmit="afficher()">
<pre>
Entrez votre nom : <input type="text" name="nom"/>
Entrez votre prénom : <input type="text" name="prenom"/>
Entrez votre mot de passe : <input type="password" name="pass"/>
votre sexe:
<input type="radio" name="sexe" value="H"/> Homme
<input type="radio" name="sexe" value="F"/> Femme
vos loisirs:
<input type="checkbox" name="choix1" value="s"/> Sport
<input type="checkbox" name="choix2" value="l"/> Lecture
<input type="checkbox" name="choix2" value="m"/> Musique
Saisissez ici un commentaire:
<textarea name="commentaire" cols="20" rows="5"></textarea>
<input type="submit" value="Envoyer"/>
<input type="reset” value="Recommencer"/>
</pre> </form> </fieldset>
</body>
</html> 68
Calculs et opérations dans les formulaires
LST INFO 69
Calculs et opérations dans les formulaires
Ecrire le script qui permet d’afficher dans le formulaire les TVA et TTC
l'API Fetch de JavaScript
fetch(url)
Après la méthode fetch() , ajoutez la méthode de promesse then() :
.then(function() {
}) 72
l'API Fetch de JavaScript
La méthode fetch() retourne une promesse. Si la promesse renvoyée est resolve, cela
signifie que la fonction dans la méthode then() est bien exécutée.
Cette fonction contient le code qui permet de traiter les données reçues à partir de l’API.
Étape 2 — Utilisation de Fetch pour obtenir des données à partir d’une API
L’idée est de récupérer les données d’une application web et de les afficher dans les éléments de HTML
<body>
<main>
<article class = “searchBar”>
<input class="text" type="text" placeholder="pays">
<button onclick="search()">search</button>
</article>
<section class="info">
</section>
</main>
<script src="api.js"></script>
73
</body>
l'API Fetch de JavaScript
Créez une variable nommée url qui contiendra l’URL de l’API qui renverra des
données :
let url = "https://restcountries.com/v3.1/name/" + textCountry
Appelez l’API en utilisant fetch() avec l’argument url :
fetch(url)
Ensuite, vous recevrez une réponse. Cependant, la réponse que vous obtenez n’est pas JSON, mais plutôt un objet
Pour convertir l’objet renvoyé en JSON, utilisez la méthode json().
Il vous reste encore à traiter les données JSON. Ajoutez une autre instruction then() avec une fonction dont
l’argument s’appelle data :
Fetch utilise par défaut les requêtes GET, mais vous pouvez utiliser tous les
autres types de requêtes HTTP:
74
ex: GET, POST, PUT, DELETE, HEAD. Defaults to GET.
l'API Fetch de JavaScript
75
Bibliothèques et Framework
Nodejs, Express
D3js
vuejs
Reactjs
Angularjs
jQuery,
LST INFO 76
Bibliothèques et Framework
Nodejs, Express et React
express.js est un framework qui vous aide à créer des applications Node.js
LST INFO 77
Apprendre Javascript (11/16) - Objet
https://www.youtube.com/watch?v=TXjzNXFxHp0
RegExp
https://www.fil.univ-lille.fr/~thibaud/tw1/index.html
LST INFO 78
Les événements en JavaScript
79
La liste des principaux événements
Le nom de l'événement est le nom JavaScript de l'événement. C'est celui que vous devez utiliser dans
les gestionnaires d'événements. Ne confondez pas avec les noms des attributs HTML. Des noms comme
onload, onclick qui sont des noms d'attribut HTML et qui ont leur "équivalent" en termes de nom de
propriété JavaScript.
La liste des événements est très longue. Je vous mets un lien, vers une liste complète, visible sur une
page de la documentation ici
Nom de Description
l'événement