256
Programmation Web2 Etablissement : ISET SFAX Auditoire : 1 ère Année TI S2 Enseignants : Mondher HADIJI Sandra HAMMAMI

Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Programmation Web2

Etablissement : ISET SFAX

Auditoire : 1ère Année TI S2

Enseignants : Mondher HADIJI

Sandra HAMMAMI

Page 2: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Le langage JavaScript

Chapitre 1: Eléments de base

1

Page 3: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Présentation (1)

2

� Le JavaScript est un langage de script incorporé dans undocument HTML.

� Il est utilisé pour améliorer la présentation et l'interactivitédes pages Web construites à l’aide du langage HTML (etéventuellement le langage CSS).

� L’interactivité permet à un utilisateur d'effectuer uneaction dans une application, généralement en cliquant surun bouton ou en appuyant sur une touche.

Page 4: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Présentation (2)

3

� JavaScript permet de :

� Changer le contenu du code HTML.

� Changer les attributs HTML.

� Masquer ou afficher des éléments HTML.

� Modifier des styles CSS.

� Valider des formulaires.

� Faire des calculs.

� Afficher des messages.

� Donc :

1. HTML permet de définir le contenu des pages Web.2. CSS permet de spécifier la mise en forme des pages Web.3. JavaScript permet de programmer le comportement des

pages Web.

Page 5: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Présentation (3)

4

� JavaScript est un language événementiel : associationd’actions aux événements déclenchés par l’utilisateur(passage de souris, clic, saisie clavier, etc...).

Page 6: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Création d'une simple

application JavaScript

Evènement Action: affichage d’un message d’alerte

Page 7: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Création d'une simple

application JavaScript

Page 8: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Messages d'alerte

� Les messages d'alerte sont couramment utilisés pour tester le fonctionnement des programmes JavaScript.

� Un message d'alerte permet de s'assurer que des informations s'affichent pour l'utilisateur.

� Un utilisateur doit cliquer sur OK pour fermer le message d'alerte.

Page 9: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Liens entre HTML et JavaScript(1)

8

On peut placer du code JS dans une page HTML à 3 endroits etsous des formes différentes :

1. Entre les balises <script> et </script> dans la sectiond'en-tête (<head>), ou dans le corps de la page (<body>).

� Le code inclus dans la séquence <script> est évalué au débutdu chargement de la page.

� S'il est inclus dans la section <head> , il n'est pas exécutétout de suite.

� S'il fait partie du corps du document, il est immédiatementexécuté en même temps que le code HTML.

Page 10: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Liens entre HTML et JavaScript (2)

9

2. Associé à une balise HTML qui gère un événement

<balise ... onEvenement="code JS" ou "fonction JS">

� balise correspond au nom de certaines balises, souventdes composants de formulaire.

� onEvenement pour associer un événement à la balise(passage de souris, clic, saisie clavier, etc...).

3. Ou dans un fichier séparé :

<script SRC= "Chemin/nomfichier.js" > </script>

Page 11: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Exemple1 – version même fichier

10

<html>

<head>

<title>

une page contenant du Javascript

</title>

</head>

<body>

<script>

alert("Voici un message d'alerte!");

</script>

</body>

</html>

Page 12: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Exemple2 – version ficher séparé

11

1. Créer un code dans un fichier séparé ayant l’extension .js (par exemple Script.js) :

alert('Bonjour les étudiants!');

2. Et dans la page html, on crée le lien avec la pagejavaScript externe :

<script src="Script.js"></script>

Page 13: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Exemple3 – Code JS associé à une balise

HTML

12

<html>

<head>

<script >

function f ()

{ alert('Bienvenue'); }

</script>

</head>

<body onLoad="f()">

</body>

</html>

Page 14: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Le commentaire

13

� Pour mettre en commentaire une ligne de code :

� Pour mettre en commentaire plusieurs lignes de code :

// Ceci est un commentaire

/* Ceci est un commentaire Ligne 1Ligne 2...Dernière ligne */

Page 15: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Les variables

14

� JavaScript utilise l'instruction var pour la déclaration d’unevariable.

� Pour déclarer une variable, il ne faut pas déclarer le type.Le navigateur le détecte tout seul.

� Par contre toute nouvelle variable doit être initialisée.

� Les variables sont dynamiques, on peut leurs réaffecterdes valeurs de types différents.

� Le nom d'une variable est une suite de lettres ou de chiffres,qui commence par une lettre ou le symbole de soulignement

_ , ou le symbole $ (les espaces ne sont pasautorisés).

� Les noms sont sensibles à la casse.

Page 16: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Les types de base

15

� les nombres� var nombre= 20.06;

� les booléens� var b= true;

� les chaînes de caractères� var message = "Bonjour, visiteur";

� les tableaux� var table = new Array();

� var noms = new Array("Mohamed", "Salah", "Fatma");

Page 17: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Exemple 1

16

<!DOCTYPE html> <html>

<head> <title> Exemple 1 </ title > </ head >

<body>

<script>

var bonjour = "Bonjour !";

var question = "Comment allez vous ";

var phrase = bonjour + "<br/>" + question;

document.write( phrase, "aujourd'hui ?" );

</script >

</ body >

</ html >

Page 18: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

17

Exemple 2

<!DOCTYPE html> <html>

<head> <title> Exemple 2

</title><script>

var n = 25alert("La variable n vaut "+n)n = n * 2alert("Si on multiplie la variablen par 2 on obtient "+n)

</script></head>

<body> ....</body>

</html>

Page 19: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Exemple 3

18

<!DOCTYPE html> <html> <head> <title> Exemple 3</title> </head><script>

var age = prompt("Quel âge avez-vous ? (en années)"); // on demande l‘âgealert("Vous avez " + age + " ans"); // on affiche Vous avez valeur_age ans</script></head><body></body>

</html>

Page 20: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Les structures de contrôles

19

� if ()if ( condition ){ traitement 1 }

else{ traitement alternatif }

� Switch ()switch(expression) {

case 1 :// traitement1 …. ; break ;case 2 :// traitement2 …. ; break ;….default :// traitement par défaut; break ;

}

Page 21: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Exemple

20

var jour = prompt("Donner un nom d’un jour");

switch (jour) {

case 'lundi':

case 'mardi':

case 'mercredi':

case 'jeudi':

case 'vendredi':

alert('Jour ouvrable'); break;

case 'samedi':

case 'dimanche':

alert('weekend'); break;

default:

alert('Ce n\'est pas un jour.');

}

Page 22: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

21

Les structures itératives

while()

While(condition)

{

traitement à répéter

}

do

{

traitement à répéter

}

while(condition) ;

for()

for(i = valeur_initiale; i< valeur_finale; i++)

{

traitement à répéter

}

Page 23: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Exemple 1

22

for (x=1; x<=10; x++)

{

a = x-7;

if (a == 0)

{

Alert('division par 0 interdite');

break; // On quitte la boucle

}

alert(1/a);

}

Page 24: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Exemple 2

23

var prenoms= "",i=0;

while (i<3) {

var p = prompt('Entrez un prénom : ');

prenoms += p+' ';

// Ajoute le nouveau prénom ainsi qu'un espace juste après

i++;

}

alert(prenoms);

// Affiche les prénoms à la suite

Page 25: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Exemple 3

24

var prenoms= "";

do {

var p = prompt('Entrez un prénom : ');

prenoms += p+' ';

}

while (p!="") ;

alert(prenoms);

Page 26: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Les fonctions

25

� Une fonction JavaScript est un bloc de code conçu pourexécuter une tâche particulière.

function nom_fonction (param1, param2, param3) {// code qui sera exécuté

}

� Le code à l'intérieur de la fonction s'exécutera quand lafonction est appelée :

� Lorsqu'un événement se produit.

� A partir du code JavaScript.

� Automatiquement (auto-invoqué).

Page 27: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

function toCelsius(valFahrenheit) {return (5/9) * (valFahrenheit-32);

}

var x = toCelsius(77);

document.write("La température est " + x + " Celsius");

26

Page 28: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Exemple de fonction

Page 29: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Exemple de fonction

Page 30: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Quelques fonctions prédéfinies

29

� Javascript dispose d’un certain nombre de fonctions prédéfinies :

� toString () : transforme le contenu d’un objet en une chaîne de caractères.

� parseInt () : transforme en nombre entier.

� parseFloat () : transforme en nombre décimal.

� Number() : transforme en nombre.

� eval() : teste si l'argument transmis peut être interprété commeune opération de calcul, dans ce cas l'opération est effectuée etson résultat est retourné.

� isNumber(), isArray(), isBoolean(), isNull(), isEmpty(),isFunction(), isString(), isObject(), isUndefined() :

vérifier le type du paramètre.

Page 31: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Exemple 1

30

var x = 10;

var y = 20;

var a = "x * y" + "<br>";

var b = "2 + 2" + "<br>";

var c = "x + 17" + "<br>";

var res = a + b + c;

document.write(res);

Donne le résultat :

Page 32: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Exemple 2

31

var x = 10;

var y = 20;

var a = eval("x * y") + "<br>";

var b = eval("2 + 2") + "<br>";

var c = eval("x + 17") + "<br>";

var res = a + b + c;

document.write(res);

Donne le résultat :

Page 33: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Exemple 3

32

var x = prompt("donner une première valeur");

var y = prompt("donner une deuxième valeur");

var res1 = x+y;

document.write(x,"+",y," Sans Number() donne : ",res1, "<br/>");

var res2 =Number(x)+Number(y);

document.write(x,"+",y," Avec Number() donne : ",res2, "<br/>");

Donne le résultat :

Page 34: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Autres exemples

33

alert(5+"2"); // affiche 52

alert(5+parseInt("2")); // affiche 7

parseInt("10.33") // 10

parseInt("40 ans") // 40

parseInt("il a 40") // NaN

Page 35: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Le langage JavaScript

Chapitre 2: Les objets de base

1

Page 36: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

L’objet tableau• Le tableau est défini à travers les mots clés new et Array :

var MonTableau1 = new Array(); //tableau vide

var MonTableau2 = new Array(1,"Salut",3.14,true); //tableau hétérogène

• Le tableau peut aussi être déclaré sans new et Array :var MonTableau3=résultat_de_type_tableau ;ex : var MonTableau3 = ['valeur1', 'valeur2', …, 'valeurX'];

• Tout indice de tableau débute en 0.

• La taille d'un tableau n'est pas figée par sa définition ou son initialisation.Elle est dynamique.

• A chaque instant, la taille d'un tableau peut être connue en invoquant lapropriété length de l'objet correspondant à ce tableau.

ex : MonTableau2.length retourne 42

Page 37: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Méthodes de l’objet tableau(1)• push() : ajoute des éléments à la fin d’un tableau

<script>

var MonTableau = ['Salah', 'Ali'];

MonTableau.push('Ahmed'); // Ajoute « Ahmed » à la fin du tableau

MonTableau.push('Fatma', 'Mariem'); // Ajoute «Fatma» et «Mariem» à la fin

</script>

• unshift() fonctionne comme push(), excepté que les éléments sont ajoutés au début du tableau.

• shift() et pop() retirent respectivement le premier et le dernierélément du tableau.

3

<script>var MonTableau = ['Salah', ‘Ali ', 'Ahmed', 'Fatma', 'Mariem'];MonTableau.shift(); // Retire «Salah»MonTableau.pop(); // Retire «Mariem »alert(MonTableau); // Affiche « Ali Ahmed Fatma »</script>

Page 38: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

<script>

var cousinsString_2 = cousinsArray.join('-');

alert(cousinsString_2); </script>

<script>var cousinsString = 'Ali Mariem Fatma',cousinsArray = cousinsString.split(' '); alert(cousinsString);alert(cousinsArray);alert(cousinsArray[1]);</script>

• split() : découpe une chaîne de caractères en tableau

4

Méthodes de l’objet tableau(2)

join() : convertit un tableau en chaîne decaractères composée de tous les élémentsdu tableau séparés par la chaîne

Page 39: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Parcourir un tableau

• On peut parcourir un tableau avec for :

<script>

var MonTableau = ['Rafael', 'Mathilde', 'Ahmed', 'Jérôme', 'Guillaume']; // length est de 5

for (var i = 0, c = MonTableau.length; i < c; i++) {

alert(MonTableau[i]);

/* On affiche chaque élément, l'un après

l'autre, jusqu'à la longueur totale du tableau*/

}

</script>

5

Page 40: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

ApplicationDemandez les prénoms aux utilisateurs et stockez-les dans un tableau. Pensez à la méthode push(). À la fin, il faudra afficher le contenu du tableau, avec alert(), seulement si le tableau contient des prénoms. Pour l'affichage, séparez chaque prénom par un espace.

6

<script>var prenoms = [], prenom;while (prenom = prompt('Entrez un prénom :')) {prenoms.push(prenom); // Ajoute le nouveau prénom ainsi qu'un

espace

}if (prenoms.length > 0) {alert(prenoms.join(' '));} else {alert('Il n\'y a aucun prénom en mémoire');}</script>

Page 41: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

L’objet String• Les chaînes de caractères sont représentées par l'objet String.

• Pour créer une chaîne de caractères, on utilise généralement ces syntaxes :

var maChaine = "Chaîne de caractères";

var maChaine = new String("Chaîne");

• length retourne le nombre de caractères contenus dans unechaîne. Les espaces, les signes de ponctuation, les chiffre, etc.sont considérés comme des caractères.

<script>

var ch= 'Ceci est une chaîne de caractères'; // On crée un objet String

alert(ch.length); // On affiche le nombre de caractères

</script>

Page 42: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Méthodes de l’objet String (1)

• toUpperCase() convertit la chaîne en majuscule

<script>

var ch = 'Ceci est une chaîne de caractères'; // On crée un objet String

alert(ch.toUpperCase()); // On récupère la chaîne en majuscules

</script>

• toLowerCase() convertit la chaîne en minuscule

• trim() supprime les espaces d'une chaîne de caractères

• indexOf() retourne la position de la première sous-chaîne trouvée, et s'il n'y en a pas la valeur -1 est retournée.

<script>

var ch= 'Le JavaScript est plutôt facile';

var result = ch.indexOf('JavaScript');

if (result > -1) {

alert('La chaîne contient le mot "JavaScript" qui débute à la position ' + result);

}

</script> 8

Page 43: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Méthodes de l’objet String (2)• On extrait une chaîne avec substring(), substr() et slice()

• substring(a, b) permet d'extraire une chaîne à partir de la position a (incluse) jusqu'à la position b (exclue).

• substr(a, n) accepte deux paramètres : le premier est la position de début, et ledeuxième le nombre de caractères à extraire.

• slice() extrait la chaîne jusqu'à la fin, en décomptant le nombre de caractèresindiqué.

<script>

var sch = 'JavaScript'.slice(0, 6); //retourne JavaSc

var sch = 'JavaScript'.slice(0, -6); //retourne Java

</script>

• charAt() extrait le nième caractère.

• replace() remplace la première occurrence d’une sous-chaîne par une autre

<script>

var str = "Etudier HTML";var res = str.replace("HTML", "Javascript");

alert(res) ; // donne Etudier Javascript </script> 9

Page 44: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

• split() permet de couper une chaîne de caractères à chaque foisqu'une sous-chaîne est rencontrée. Les « morceaux » résultant de lacoupe de la chaîne sont placés dans un tableau.

<script>

var Ch = 'Mohamed,Ali,Hédia';

var Tspl= Ch.split(','); // On coupe à chaque fois qu'une virgule est rencontrée , Tspl est un tableau.

alert(Tspl.length); // 3

</script>

Méthodes de l’objet String (3)

Page 45: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Exemples (1)var datenais = "15/08/1985";

var journais = datenais.substring(0,2)

/* donne le même résultat avec datenais.substr(0,2)

ou datenais.slice(0,2)*/

alert("Le jour de naissance est : "+journais )

var moisnais = datenais.substring(3,5);

/* donne le même résultat avec datenais.substr(3,2) ou

datenais.slice(3,2);

alert("Le mois de naissance est : " +moisnais )

var anneenais = datenais.slice(6,10);

alert("L’année de naissance est :" + anneenais );

/* donne le même résultat avec datenais.slice(-4),ce qui signifie extraction des 4 derniers caractères

11

Page 46: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Exemples (2)

var chaine="azerty";

document.write( chaine.indexOf("z") ) // donne 1

document.write (chaine.indexOf("z",2) )// donne -1

var Ch="Salut Salut" ;

document.write( Ch.indexOf("S")) ; // donne 0

document.write( Ch.lastIndexof("S")) // donne 6

document.write( Ch.charAt(4)) ; // donne t

document.write(Ch.replace("Salut","Bonjour" ))

12

Page 47: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

L’objet Date

• Permet de manipuler la date et l’heure

• La date est stockée dans une variable sous la forme d'unechaîne

– Contient le jour, le mois, l'année, l'heure, les minutes, etles secondes

• Les méthodes de l'objet Date permettent d’accéder et demanipuler les éléments de la date

• Créer un objet date : ObjDate = new Date([paramètres])

– ObjDate = new Date() //donne la date et l’heure courante

– Objet_date = new Date() ("December 25, 2017 13:30:00")

//une chaîne de caractères sous la forme "month day, year hour:min:sec"

– Objet_date = new Date(2017, 11, 25 , 13, 30 , 00)

//des entiers sous la forme année,mois-1,jour,h,mn,s13

Page 48: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Méthodes de l’objet date (1)

14

Méthode Description

getDate() rechercher le jour du mois entre 1 et 31

getDay() rechercher le jour de la semaine entre 0 et 6

commençant par dimanche=0

getFullYear() rechercher l'année complète

getHours() rechercher la partie heures entre 0 et 23

getMinutes() rechercher la partie minutes entre 0 et 59

getMonth() rechercher le mois entre 0 et 11

getSeconds() rechercher la partie secondes entre 0 et 59

getTime() rechercher le nbre de millisecondes depuis

01/01/1970

getYear() rechercher le nombre d’année depuis 1900

Page 49: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

15

Méthodes de l’objet date (2)Méthode DescriptionsetDate(X) Permet de fixer la valeur du jour du mois

setDay(X) Permet de fixer la valeur du jour de la semaine

setHours(X) Permet de fixer la valeur de l'heure

setMinutes(X) Permet de fixer la valeur des minutes

setMonth(X) Permet de fixer le numéro du mois

setTime(X) définit une date et une heure en ajoutant ou en

soustrayant un nombre spécifié de millisecondes à / à

partir de minuit le 1er janvier 1970.

setInterval(traitement,

délai)

Lance un traitement répété à intervalle régulier de délai

millisecondes. Ce traitement peut être arrêté avec

clearInterval() ou clearTimeout()

setTimeout(traitement,

délai)

Définit une action à exécuter et un délai avant son

exécution

ClearTimeout Interrompt le délai et l'exécution du code associé à ce

délai. Elle interrompt le décompte de setTimeout

Page 50: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Exemplevar d = new Date('Fri Feb 16 2018 16:01:03 GMT+0100 ');

alert(d.getMonth()); // Affiche : 1

alert(d.getDay()); // Affiche : 5

d.setDate(15);

alert(d) // Affiche : Thu Feb 15 2018 16:01:03 GMT+0100

Page 51: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Application (1)

Ecrire un script java qui permet d’extraire le nombre desecondes de la date du système chaque 3 secondes

17

<!DOCTYPE html> <html> <head><title>Test</title>

<script>function lancerTimer() {

t = setInterval("affSec()", 3000);}function affSec()

{dt=new Date();document.write(dt.getSeconds());}

</script></head><body onLoad="lancerTimer();"></script> </body> </html>

Page 52: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Application (2)

<button id="myButton">Annuler le compte à rebours</button>

<script>

var button = document.getElementById('myButton');

var timerID = setTimeout(function() {

// la fonction sera exécutée au bout de 3 secondes

alert("Vous n'êtes pas très réactif vous !");}, 3000);

button.onclick = function() {

clearTimeout(timerID); // Le traitement est annulé

alert("Le compte à rebours a bien été annulé.");

} </script>

18

Page 53: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Application (3)Exemple d'une animation simple

Page 54: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Exemple d'une animation simple (suite)

Page 55: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Exemple d'une animation simple (suite)

Page 56: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

L'objet MathToutes les fonctions mathématiques sont regroupées dansl'objet Math

• abs( ), exp( ), log(), sin( ), cos( ), tan( ), asin( ), acos( ), atan( ), max( ), min( ), sqrt( ),PI sont les opérations mathématiques habituelles;

• ceil( ) : retourne le plus petit entier supérieur à un nombre;

• floor( ) : retourne le plus grand entier inférieur à un nombre;

• pow( ) : retourne le résultat d'un nombre mis à une certaine puissance;

• random( ) : retourne un nombre aléatoire entre 0 et 1;

• round( ) : arrondi un nombre à l'entier le plus proche.

Page 57: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Exemples

var x = Math.PI; // retourne PI

var y = Math.sqrt(16); // retourne la racine carrée de 16

var x = Math.floor((Math.random() * 10) + 1);

// retourne un nombre aléatoire entre 1 et 10.

Math.round(2.49); // retourne 2

Math.ceil(1.4); //retourne 2

Page 58: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

24

• L'objet navigator est un objet qui permet de récupérer desinformations sur le navigateur dont le visiteur utilise.

• Navigator possède une méthode intéressante : la méthodejavaEnabled(), qui détermine si Java a été activé sur le navigateurou pas.

<script>

var x = "Java Enabled: " + navigator.javaEnabled();

document.write(x); // affiche Java Enabled: false si Java est activé

</script>

L'objet navigator

Page 59: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Propriétés de l’objet navigator

• language : retourne la langue définie dans le navigateur ;

• geolocation : retourne un objet « geolocation » qui peut être utilisé pourdéfinir la localisation de l’utilisateur ;

• product : retourne le nom du moteur utilisé par le navigateur ;

• cookieEnabled : détermine si les cookies sont autorisés ou non ;

• appName : retourne le nom du navigateur ;

• appCodeName : retourne le nom de code du navigateur ;

• appVersion : retourne la version du navigateur utilisée ;

• online : détermine si le navigateur est en ligne ou pas ;

• platform : détermine pour quelle plateforme le navigateur est compilé ;

• userAgent : retourne l’en-tête du fichier user-agent envoyé par lenavigateur au serveur ; La valeur retournée, contient des informationsrelatives au nom, à la version et à la plateforme du navigateur.

Page 60: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Exemple 1

message=" Nom : " + navigator.appName + " Code : " + navigator.appCodeName;

alert(message);

26

Page 61: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Exemple 2<script>

// userAgent en minuscule

var userAgent=navigator.userAgent.toLowerCase();

alert(userAgent);

if (userAgent.indexOf("microsoft internet explorer 8.0") > -1)

alert("Votre navigateur est Microsoft Internet Explorer 8.0");

if(userAgent.indexOf("mozilla") > -1)

alert("Votre navigateur est mozilla");

if(/(webkit)/.test(userAgent))

alert("Votre moteur de recherche utilisé par Safari est Webkit");

</script>

27

Page 62: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

L’objet Window

• L’objet Window représente la fenêtre du navigateur.

• Toutes les fonctions, variables et objets globauxappartiennent automatiquement à l’objet Window.

• Cependant, l’objet Window est dit implicite. Cela signifie quenous n’aurons généralement pas besoin de le mentionnerpour utiliser les méthodes (ou fonctions globales) etpropriétés (ou variables globales) lui appartenant.

• Par exemple, la fonction alert() est une méthode de l’objetWindow. Cependant, on ne précise jamais Window lorsqu’onutilise alert().

Page 63: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Méthodes de l’objet window

• close() : ferme la fenêtre courante.

• alert() : affiche une fenêtre dans le browser.

• confirm() : renvoie 2 valeurs possibles soit true si le bouton "ok" est activé ou false si le bouton "annuler" est activé.

• prompt() : boîte de dialogue pour la saisie de donnée.

• print() : méthode sert à imprimer le contenu de la page.

• back() : cette méthode produit la même action que si on clique sur le bouton précédent du navigateur internet.

• forward() : cette méthode produit la même action que si on clique sur le bouton suivant du navigateur internet.

• open() : ouvre une nouvelle fenêtre Syntaxe(url, nom, caractéristiques)

Page 64: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

30

Exemple 1

nom = prompt("Quel est votre prénom ?", "Saisisser votre prénom")

confNom=confirm("vous validez votre Nom "+nom)

if(confNom)

alert("Vous êtes bien "+nom)

Page 65: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

31

Ex : open("", "popup", "width=500, height=500, location=yes")

Argument Rôle Valeurs possible

height, Hauteur de la fenêtre à ouvrir entier

width Largeur de la fenêtre à ouvrir entier

menubar Affichage barre de menu yes, no

toolbar Affichage barre d’outils yes, no

location Affichage barre d’adresse yes, no

resizable Permission de redimensionner la fenêtre yes, no

Les propriétés de l’objet window

Page 66: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

32

open("", "popup", "width=200, height=150, location=yes")

Exemple 3

Page 67: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

33

Ecrire un script qui, à travers la méthode prompt saisi unmessage qui sera affiché dans une nouvelle fenêtre ayant lescaractéristiques suivantes :largeur=300, hauteur=300, avec affichage des barresd’adresse, et de menu. En donnant la possibilité de laredimensionner.

Application

Page 68: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

<html>

<head>

<script>

function EcrireFenetre(message) {

fen =open("","Nouvelle_fenetre","width=300, height=300, location=yes, menubar=yes, resizable=yes");

if (message !="")

fen.document.write(message,"</BR>");

else

alert ("message vide !");

}

mes=prompt("Quel est le message ?"," ");

</script> </head>

<body onLoad="EcrireFenetre(mes);"></body>

</html>

Page 69: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

35

L'objet document

• Représente le contenu de la page HTML• Il existe plusieurs propriétés et méthodes qui permettent de

manipuler les éléments d’un documentMéthode Rôle

write() Ecrire dans la fenêtre du document

open() Ouvrir le document

close() Fermer

getElementById() Accès à l'élément HTML par l'attribut Id (l’identificateur) d’une balise

getElementsByName() Accès à l'élément HTML par l'attribut name attribué à une balise

getElementsByTagName

('tag')

Permet de récupérer les éléments par rapport à leur nom de balise. Elle renvoie tous les éléments dont la balise est tag, en tant qu'un tableau.

getSelection() Recherche du texte sélectionné par l'utilisateur dans le document.

getAttribute() Permet de récupérer la valeur de l'attribut passé en paramètre.

setAttribute() Change dynamiquement la valeur d'un attribut d'une balise.

Page 70: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

36

<!DOCTYPE html>

<html> <head><title>Test</title>

</head><body>

<script>

function change() {

document.open();

document.write("Nous sommes dans le deuxième document");

}

document.open();

document.write("<a href=\"javascript:change()\">Passer au deuxième document</a>");

document.close(); // peut être implicite

</script>

</body></html>

Etat initial

Etat final

Exemple 1

Page 71: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Exemple 2<!DOCTYPE html>

<head><title>Test</title></head>

<body>

<div id="myDiv"><p>Un peu de texte <a>et un lien</a></p></div>

<script>

var div = document.getElementById('myDiv');

alert(div);

</script></body></html>

37

Page 72: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

On parcourt le tableau avec une boucle pour récupérer les éléments.

<script>

var divs = document.getElementsByTagName('div');

for (var i = 0, c = divs.length ; i < c ; i++) {

alert('Element n° ' + (i + 1) + ' : ' + divs[i]);

}

</script>

38

Exemple 3

Page 73: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

<!DOCTYPE html>

<html> <head><title>Test</title></head>

<body>

<a id="myLink" href="http://www.un_lien_quelconque.com">Un lien modifié dynamiquement</a>

<script>

var link = document.getElementById('myLink');

var href = link.getAttribute('href'); // On récupère l'attribut « href »

alert(href);

link.setAttribute('href', 'http://isetsf.rnu.tn');

// on édite modifie la valeur de href

</script></body></html>

39

Exemple 4

Page 74: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

40

Propriétés de l'objet document

• title : renvoie le titre de la page courante.

• images[ ] : tableau de toutes les balises <img>.

• forms[ ] : tableau de toutes les balises <form>.

• links[ ] : tableau de toutes les balises <a>.

• linkColor : couleur des liens qui ne sont pas encore visités.

• alinkColor : couleur des liens activés.

• vlinkColor : couleur des liens visités.

Page 75: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

41

Exemple 5

<!DOCTYPE html>

<html>

<head><title>Test</title>

</head><body>

<script type="text/javascript">

function change() {

document.open();

document.write("Nous sommes dans le deuxième document");

document.title='doc2';

}

document.open();

document.linkColor="red";

document.alinkColor="yellow";

document.vlinkColor="green";

document.write("<a href=\"javascript:change()\">Passer au deuxième document</a>");

document.close();

</script>

</body></html>

Page 76: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

La propriété innerHTML

• La propriété innerHTML permet de récupérer le code HTMLenfant d'un élément sous forme de texte. Ainsi, si des balisessont présentes, innerHTML les retournera sous forme detexte.

Page 77: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

<div id="myDiv">

<p>Un peu de texte <a>et un lien</a></p>

</div>

<script>

var div = document.getElementById('myDiv');

alert(div.innerHTML);

</script>

43

Exemple 6

Page 78: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

• Définir un nouveau contenu :

document.getElementById('myDiv').innerHTML = '<blockquote>Je mets une citation à la place du paragraphe</blockquote>';

• Ajouter un contenu à celui qui est en place :

document.getElementById('myDiv').innerHTML +=

'et <strong>une portion mise en emphase</strong>.';

44

Exemple 7

Page 79: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

45

Document Object Model• DOM est une interface de programmation normalisée par le W3C,

qui permet à des scripts d'examiner et de modifier le contenu du navigateur web.

• Une page web est un document contenant du texte ainsi que desbalises qui permettent de structurer ce document, en décrivantdes éléments comme des titres, des paragraphes, des liens, etc.

• DOM construit un arbre des nœuds dans le document accessiblede JavaScript.

• Il est possible de modifier l’arbre « à tout moment » donc demodifier le contenu de la page.

• DOM est indépendant des plates-formes, des langages deprogrammation et de script.

Page 80: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

46

Ce que permet DOM

• Naviguer dans le document• Aller directement sur un nœud

• balise, texte…• Changer la valeur d’un nœud

• balise, attribut, texte…• Créer ou retirer un nœud

• balise, attribut…• Modifier le CSS

• style d’un élément,• entête CSS,• CSS actif.

Page 81: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

47

Arbre avec ses nœudsL'arbre contient des nœuds, les nœudspeuvent avoir des fils, et tous lesnœuds ont un parent (sauf la racine).

Soit le code suivant :

<html>

<head>

<title>Exemple</title>

</head>

<body>

<h1>Le DOM </h1>

<p>un texte dans le <i>dom.</i></p>

</body>

</html>

Page 82: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

48

Arbre avec ses nœuds (suite)• Ce que nous prenons pour

des espaces sans signification se retrouvent dans le DOM.

• Les nœuds texte figurant avant H1, entre H1 et P, et après P représentent les lignes vides entre ces éléments.

Page 83: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

49

Arbre avec ses nœuds (suite)

Document

HTML

HEAD

text TITLE

text

text

text BODY

text H1

text

P

text I

text

text

L’arbre résultant est le suivant :

Page 84: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Le nœud• Les différents types de nœuds reflètent les différentes

catégories de balisage d'un document : éléments, attributs,commentaires, textes.

• Ainsi, toutes les interfaces sur les nœuds disposent despropriétés et méthodes de Node.

Page 85: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

51

Propriétés de parcours du DOM

Propriété Description

parentNode le nœud père

childNodes nœuds fils du nœud courant

firstChild le premier nœud fils

lastChild le dernier nœud

previousSibling le nœud frère précèdent

nextSibling nœud frère suivant

Page 86: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

52

Exemples– document.body.firstChild ou aussi :

document.body.childNodes[0]

– x= document.body.firstChild

x.parentNode

– document.body.lastChild

– document.body.previousSibling

Page 87: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Propriétés du nœud– nodeName : le nom

– nodeType : valeur numérique souvent à comparer avec lesconstantes suivantes :

• 1 = Node.ELEMENT_NODE

• 2 = Node.ATTRIBUTE_NODE

• 3 = Node.TEXT_NODE

– nodeValue : la valeur

Exemple : <p id="texte">Au revoir</p>

Page 88: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

54

Modifier le texte d’un nœud• Pour modifier le texte "Exemple de code" par "bravo"

<script>function modifier(){document.getElementById('idun').firstChild.nodeValue =

'bravo';}</script>

<p id="idun">

Exemple de code <b> ayant <br/>

plusieurs</b> enfants

</p>

<a href="#" onclick="modifier()">modifier</a>

En cliquant su modifier

donne le résultat suivant :

Page 89: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Création de nœuds • Il existe deux manières de créer des nœuds :

– par création depuis l'objet document

– ou par copie d'un élément existant.

• L'élément résultant de ces opérations est un nœud orphelinqu'il faudra greffer à un nœud du document.

• Création d'un nœud élément : createElement()

var noeudDiv = document.createElement('div');

• Création d'un nœud texte : createTextNode()

var noeudTexte = document.createTextNode('le texte à créer');

• Création par copie : cloneNode()

var copie = element.cloneNode(true);

Si le paramètre booléen vaut true, les enfants sont égalementcopiés.

Page 90: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Création de nœuds (suite)• La méthode appendChild permet d'ajouter un nœud enfant à

un élément. Le nœud est ajouté à la suite des enfantsexistants.

• La méthode insertBefore permet d'ajouter un élément avantun des enfants.

• La méthode replaceChild permet de remplacer un nœudenfant de l'élément courant par un autre nœud.

Exemple : ajouter le nœud <i> avant <b>

<p id="un">

Exemple de code

<b> ayant <br/> plusieurs </b>

enfants

</p>

Page 91: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

57

1. Créer un nœud <i>

elementi = document.createElement('i')

2. Repérer le nœud <b>

elementb = document.getElementsByTagName('b')[0]

3. Cloner le nœud <b> et ses enfants

noeudb = elementb.cloneNode(true)

4. Ajouter au nœud <i> le nœud <b> et ses enfants

elementi.appendChild(noeudb)

5. Remplacer le nœud <b> original par le nœud <i> modifié

document. getElementsByTagName('p')[0]. replaceChild(elementi,elementb) donne le résultat suivant

:

Exemple

Page 92: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

58

Suppression de nœuds • La méthode removeChild permet de supprimer un fils de la

liste des enfants.

Exemple : supprimer le neud <br/>

1. Repérer le nœud à ôter <br/>

elementbr = document.getElementsByTagName('br')[0]

2. Repérer le nœud parent <b>

elementparent =elementbr.parentNode;

3. Retirer le nœud <br/>

ancienbr = elementparent.removeChild(elementbr)

ancienbr conserve une référence au nœud enfant retiré.

Le nœud retiré existe toujours en mémoire, mais ne fait plus partie du DOM. Il peut être réutilisé plus tard dans le code, via la référence à l'objet ancienbr.

donne le résultat suivant :

Page 93: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Le langage JavaScript

Chapitre 3: Gestion des événements

Page 94: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

2

Gestionnaire d’événements

• Les événements servent à interagir avec l'utilisateur

– On peut détecter les clics, les modifications de formulaires, …

• Chaque événement a un identifiant

– De la forme onQuelqueChose

– Par exemple : onLoad, onClick, onMouseOver, etc.

• Un événement peut exécuter du code javascript

– Une ou plusieurs instructions, en général un appel de fonction

• Activation :

– <balise … onQuelqueChose="code javascript;">

Page 95: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

3

Liste des événements (1)Evénement Objets Description

onabort ImageCet événement a lieu lorsque l'utilisateur interrompt le chargement de l'image

onblur

Button, Checkbox, FileUpload, Layer, Password, Radio, Reset, Select, Submit, Text, TextArea, window

Se produit lorsque l'élément perd le focus, c'est-à-dire que l'utilisateur clique hors de cet élément, celui-ci n'est alors plus sélectionné comme étant l'élément actif.

onchangeFileUpload, Select, Submit, Text, TextArea

Se produit lorsque l'utilisateur modifie le contenu d'un champ de données.

onclick

Button, document, Checkbox, Link, Radio, Reset, Select, Submit

Se produit lorsque l'utilisateur clique sur l'élément associé à l'événement.

ondblclick document, LinkSe produit lorsque l'utilisateur double-clique sur l'élément associé à l'événement.

ondragdrop windowSe produit lorsque l'utilisateur effectue un glisser-déposer sur la fenêtre du navigateur.

Page 96: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

4

Liste des événements (2)onerror Image, window

Se déclenche lorsqu'une erreur apparaît durant le chargement de la page.

onfocus

Button, Checkbox, FileUpload, Layer, Password, Radio, Reset, Select, Submit, Text, TextArea, window

Se produit lorsque l'utilisateur donne le focus à un élément, c'est-à-dire que cet élément est sélectionné comme étant l'élément actif

onkeydowndocument, Image, Link, TextArea

Se produit lorsque l'utilisateur appuie sur une touche de son clavier.

onkeypressdocument, Image, Link, TextArea

Se produit lorsque l'utilisateur maintient une touche de son clavier enfoncée.

onkeyupdocument, Image, Link, TextArea

Se produit lorsque l'utilisateur relâche une touche de son clavier préalablement enfoncée.

onload Image, Layer, windowSe produit lorsque le navigateur de l'utilisateur charge la page en cours

onmouseover Area, Layer, LinkSe produit lorsque l'utilisateur positionne le curseur de la souris au-dessus d'un élément

Page 97: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

5

Liste des événements (3)

onmouseOut Area, Layer, LinkSe produit lorsque le curseur de la souris quitte un élément.

onmousemove windowSe déclenche losrque le curseur de la souris se déplace sur le document html

onresize windowSe produit lorsque l'utilisateur redimensionne la fenêtre du navigateur

onselect text, TextareaSe produit lorsque l'utilisateur sélectionne un texte (ou une partie d'un texte) dans un champ de type "text" ou "textarea"

onsubmit FormSe produit lorsque l'utilisateur clique sur le bouton de soumission d'un formulaire (le bouton qui permet d'envoyer le formulaire)

onreset FormPermet de réinitialiser les champs d'un formulaire

onunload windowSe produit lorsque le navigateur de l'utilisateur quitte la page en cours

Page 98: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

6

<!DOCTYPE html> <HTML> <HEAD><SCRIPT>function bienvenue() {alert("Bienvenue à cette page");}function au_revoir() {alert("Au revoir");}</SCRIPT></HEAD><BODY onLoad='bienvenue()' >Corps de la page </BODY></HTML>

Exemple (1)

Page 99: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Exemple (2)<span onclick="alert('Hello !');">Cliquez-moi !</span>

Ou :

<span onclick="alert('Voici le contenu de l\'élément que vous avez cliqué :\n\n' + this.innerHTML);">Cliquez-moi !</span>

Ou :

<input id="input" type="text" size="50" value="Cliquez ici !" onfocus="this.value='Appuyez maintenant sur votre touche de tabulation.'; "

onblur="this.value='Cliquez ici !';"/> <br /><br/>

<a href="#" onfocus="document.getElementById('input').value = 'Vous avez maintenant le focus sur le lien, bravo !';">Un lien bidon</a>

7

Page 100: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

8

Exemple (3)<!DOCTYPE html> <html><head><script>function modifierContenu(){document.getElementById("texte").innerHTML = " C'est la suite du texte ";document.getElementById("lien").innerHTML = " ";}</script></head><body><div id="texte">Ceci est le début d'un texte</div><div id="lien"><a href="#" onclick="modifierContenu()">lire la suite </a></div></body></html>

Page 101: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

9

<!DOCTYPE html> <HTML> <HEAD></HEAD><BODY><A HREF=""onMouseOver='document.images[0].src="gris.jpg"'onMouseOut='document.images[0].src="noir.jpg"'><IMG SRC="noir.jpg"></A></HTML>

Exemple (4)

Page 102: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Evénements sur les formulaires

• Les formulaires constituent un aspect important du HTML.

• Un événement d'un élément de formulaire est déclenché parle navigateur en réaction à une action ou un changementdétecté.

• Certains événements sont spécifiques aux formulaires.

• Les événements déclenchés par des actions dans unformulaire s’appliquent à tous les éléments HTML5, mais plusparticulièrement dans un formulaire.

Page 103: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

11

Accès aux formulaires• JavaScript classe les formulaires dans un tableau au fur et à mesure, dans

l'ordre de leur apparition

• forms[ ] : tableau des formulaires déclarés à l’aide de <form>

• Accéder au formulaire par son id :

• Code javascript :

var monForm = document.getElementById("monFormulaire");

– soit par son nom comme indice :document.forms["premier_formul"]

nécessite que la balise <form> ait un attribut name spécifié

– soit par son nom uniquement :document.nom_formulaire

nécessite que la balise <form> ait un attribut name spécifié

Page 104: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

12

Accès aux éléments d’un formulaire

JavaScript considère elements[ ] comme étant un tableau descomposants du formulaire (<input ..>, <select ..>, .. ). Donc pouraccéder à un élément du formulaire, il faut suivre sa hiérarchie :

document.nom_formul.elements["nom_champ"]

ou

document.nom_formul .elements[rang]

Il est aussi possible d’accéder à un élémént à partir du nom du formulairepuis le nom de l’élément. Cela nécessite que la balise <form> ait unattribut name spécifié. Idem pour le champ correspondant.

document.nom_formul .nom_champ

Sinon à travers l’id du champ :

document.getElementById("id_champ")

Ou bien accéder directement à un objet via son nom

document.getElementsByName("nom_champ")

Page 105: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

13

• Il est préférable d'utiliser le nom des éléments, plutôt que les indices : les noms sont indépendants de l'organisation du formulaire.

• L’utilisation des tableaux forms et elements est nécessaire dans le cas où on veut accéder à un élément de formulaire dont le nom est contenu dans une variable JavaScript :

var nom_du_champ="champ1";document.nom_formul.elements[nom_du_champ]

Remarques

Page 106: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Exemple<!DOCTYPE html>

<head> <title>Formulaire</title>

<script>

function ecrire() {

n=document.getElementById("nom").value;

p=document.getElementById("prenom").value;

document.getElementById("zone").innerHTML="Vous êtes bien "+n+" "+p; }

</script> </head>

<body>

<form>

<p>Votre Nom SVP : <input type="text" id="nom"></p>

<p>Votre Prénom SVP : <input type="text" id="prenom"></p>

<p><input type="button" value="Afficher" onclick="ecrire()" /></p>

</form>

<div id="zone"></div>

</body> </html>

14

Page 107: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

15

Les champs de Texte• Une zone de texte est définie par la balise input avec un

type text

• Propriétés :– name | value | defaultvalue | size | maxlength | disabled |

readOnly | class | style

• Méthodes :– focus, blur

• Evénements :– onFocus, onBlur, onChange

<input type="text">

Exemple<FORM>

<INPUT TYPE=text onBlur="alert('Vous avez quitté le champ')">

</FORM>

Page 108: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

16

Application

Afficher dans le champ texte "Somme", le résultat de calcul de la sommedes valeurs saisies dans les champs "X" et "Y".

X :

Y :

Somme :

Page 109: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

17

Solution<HTML><HEAD><SCRIPT>function somme(){ document.getElementById("C").value=Number(document.getElementById("A").value)+Number(document.getElementById("B").value) } </SCRIPT></HEAD><BODY><form>X: <input type=text id=A onblur="somme() "><BR/>

Y : <input type=text id=B onblur="somme() "><BR/>

Somme : <input type=text id=C onfocus="alert('ceci est un champ calcul') " readonly><BR/></form></BODY></HTML>

Page 110: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

18

Les Boutons• Un bouton est défini par la balise input avec un type button

<input type="button" value="Ceci est un bouton">

• Propriétés :

name | value | defaultvalue | size | maxlength | disabled | readOnly | class | style

• Méthodes :

focus | blur | click

• Événements :

onFocus | onBlur | onClick

Exemple<FORM><INPUT TYPE="button" VALUE="Cliquez ici" onClick="alert('Vous avez bien

cliqué ici')"/>

</FORM>

Page 111: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

19

Application

Ecrire un script qui permet, à travers la méthode focus() de donner le focus sur un champ texte, une fois le bouton est cliqué.

Page 112: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

20

Solution

<script type='text/javascript'>

function donneFocus(id)

{

var element = document.getElementById(id);

element.focus();

}

</script>

<input onclick="input1.focus()" value="donneFocus ->" type="button" />

<input id="input1" type="text" />

Page 113: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

21

Les Boutons Radio

• Un Radio bouton est défini par la balise input avec un type radio

<input type= "radio" />

• Propriétés :– name | value | checked | disabled | readOnly | class | style

• Méthodes :– focus | blur | click

• Evénements :– onFocus | onBlur | onClick

Page 114: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

22

Application

Ecrire un script permettant de faire le calcul en fonction de l’opérateur sélectionné comme le présente l’exemple suivant :

Page 115: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Solution

<body><script language="JavaScript">function test1(){if (document.forms.ee.op[0].checked==true)

document.forms.ee.v3.value=eval(document.forms.ee.v1.value)+eval(document.forms.ee.v2.value);

if (document.forms.ee.op[1].checked==true)document.forms.ee.v3.value=eval(document.forms.ee.v1.value)-

eval(document.forms.ee.v2.value);if (document.forms.ee.op[2].checked==true)

document.forms.ee.v3.value=eval(document.forms.ee.v1.value)*eval(document.forms.ee.v2.value);

if (document.forms.ee.op[3].checked==true)

document.forms.ee.v3.value=eval(document.forms.ee.v1.value)/eval(document.forms.ee.v2.value);

}</script>

Page 116: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

<form name="ee"> <p><input type="text" name="v1" onchange

="test1();"/></p><p><input type="text" name="v2" onchange

="test1();"/></p><p><input type="text" name="v3" readonly/></p>

< <input type="radio" name="op" value="radio" onClick="test1();">

<br />soustraction <input type="radio" name="op" value="radio"

onClick="test1();"> <br />multiplication<input type="radio" name="op" value="radio"

onClick="test1();"> <br />division <input type="radio" name="op" value="radio"

onClick="test1();"> <br />p>addition

<br /></p>

</form> </body>

Page 117: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

25

Les Cases à Cocher

• Une case à cocher est définie par la balise input avec un type checkbox

<input type= " checkbox" />

• Propriétés :

– name | checked | disabled | readOnly | class | style

• Méthodes :

– focus | blur | click

• Événements :

– onFocus | onBlur | onClick

Page 118: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

26

La liste de sélection (1)

Propriété Description

name indique le nom de la liste déroulante.

Length indique le nombre d'éléments de la liste. S'il est indiqué dans le tag <SELECT>, tous les éléments de la liste seront affichés. Si vous ne

l'indiquez pas un seul apparaîtra dans la boite de la liste déroulante.

selectedIndex indique le rang à partir de 0 de l'élément de la liste qui a été sélectionné par l'utilisateur.

defaultSelected indique l'élément de la liste sélectionné par défaut. C'est lui qui apparaît alors dans la petite boite.

text Indique le texte entre <option> et </option>

value Indique la valeur à l’intérieur de la balise <option> dans la propriété value.

Une liste est définie par la balise select sous la forme :<select > <option> … </option> … </select>

Page 119: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

27

• Méthodes :

add | remove | focus | blur

• Evénements :

onFocus | onBlur | onChange

La liste de sélection (2)

Page 120: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

28

Application

Ecrire un script permettant de faire le calcul en fonction de l’opérateur sélectionné comme le présente l’exemple suivant :

Page 121: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

29

<script language="JavaScript">function calcul(){var g=ee.liste.value;switch (g){case "+" : ee.v3.value=eval(ee.v1.value)+eval(ee.v2.value);break;case "-" : ee.v3.value=eval(ee.v1.value)-eval(ee.v2.value);break;case "*" : ee.v3.value=eval(ee.v1.value)*eval(ee.v2.value);break;case "/" : ee.v3.value=eval(ee.v1.value)/eval(ee.v2.value);break;} } </script><form name="ee"> <p><input type="text" name="v1" /></p><p><input type="text" name="v2" /></p><p><input type="text" name="v3" readonly/></p><p> <label>operateur<select name="liste" id="liste" onClick=" calcul()">

<option value="+">+</option><option value="-">-</option><option value="*">*</option><option value="/">/</option>

</select> </label> </p> </form>

Solution

Page 122: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

30

L'élément textarea

name Nom de la zone

rows Nombre de lignes

cols Nombre de colonnes

disabled Grisage de la zone

readOnly Lecture seule

class Classe de feuille de style

style Style de la liste

Une zone de texte est définie par la balise textarea sous la forme :<textarea > </textarea>

• Méthodes :focus | blur

• Événements :onChange | onScroll | onFocus

Page 123: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Exemple (1)

• Pour désactiver un champ de texte :

<input id="text" type="text" />

<script> var text = document.getElementById('text');

text.disabled = true;

</script>

31

Page 124: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Exemple (2) <label><input type="radio" name="check" value="1" />Case n°1</label><br />

<label><input type="radio" name="check" value="2" />Case n°2</label><br />

<label><input type="radio" name="check" value="3" />Case n°3</label><br />

<label><input type="radio" name="check" value="4" />Case n°4</label> <br />

<br />

<input type="button" value="Afficher la case cochée" onclick="check();" />

<script>

function check()

{ var inputs = document.getElementsByTagName('input'),

inputsLength = inputs.length;

for (var i = 0 ; i < inputsLength ; i++)

{ if (inputs[i].type == 'radio' && inputs[i].checked)

{ alert('La case cochée est la n°'+ inputs[i].value); }

}

} </script>

32

Page 125: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

33

Applicationcréer un document HTML qui contient un script qui permet de vérifier une

condition sur un champ texte simple

•si ce mot saisi est de longueur inférieure à 10, on affiche une

alerte positive (cas1)

•Sinon on affiche une alerte et on réinitialise le formulaire (cas2)

cas1cas2

Page 126: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Manipuler les classes CSS des éléments lors d'événements

• Il est possible en JavaScript de manipuler les classes CSS deséléments lors d'évènements, par exemple un clic.

• La plus simple méthode pour sélectionner un élément dansune page est d'utiliser son identifiant, car il est unique.

• Pour cela, on se sert de la directivedocument.getElementById(Id).

• Pour changer les classes d'un élément, on modifie la propriété« className » de celui-ci.

Page 127: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

La propriété className • Cette propriété permet d'agir sur l'attribut class d'un élément.

• Cet attribut permet d'associer des styles définis dans desfeuilles de style aux éléments.

• On peut associer plusieurs classes CSS à un élément en lesséparant par un espace.

35

Page 128: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

36

Exemple<!DOCTYPE html>

<html>

<head>

<title>Ex</title>

<style>

.gros{font-size:24px;}

</style>

<script>

function aggrandir() {

document.getElementById('logo').className = 'gros';

}

</script>

</head>

<body>

<div id="logo" onmouseover="aggrandir()">

Un texte ...

</div>

</body>

</html>

Page 129: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

La propriété style• La propriété style permet d'accéder finement aux styles qui

concernent un élément particulier, de façon similaire à

l'attribut style dans une balise.

• Les propriété CSS qui sont faites de mots composés, tel que

background-color ne peuvent s'écrire ainsi en JavaScript, c'est

pourquoi il faut supprimer le tiret (signe moins) et mettre en

majuscule la lettre qui le suit, par exemple: backgroundColor.

37

Page 130: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

38

Exemple

<!DOCTYPE html>

<html>

<head>

<title>Ex</title>

<script>

function styler() {

var e = document.getElementById('logo');

e.style.color = 'red';

e.style.backgroundColor = 'yellow';

e.style.fontSize = '12px';

}

</script>

</head>

<body>

<div id="logo" onmouseover="styler()">

Un texte ...

</div>

</body>

</html>

Page 131: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Application

Créer un script dans lequel la couleur du fonddu champ du formulaire change lorsque soncontenu change.

39

Etat initial : Etat final :

Page 132: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Solution<!DOCTYPE HTML>

<html>

<head>

<style type="text/css">

input.normal {

border:1px solid black;

background-color:red;

color:white;

}

input.modif {

border:1px solid black;

background-color:blue;

color:white;

}

</style>

<script>

function changer(){

var e =

document.getElementById('text1');

e.className = 'modif';

}

</script>

</head>

<body>

<form name="Form1">

Le nom est : <input type="text"

id="text1" size="20" class="normal"

onchange="changer()">

</form>

</body>

</html>

Page 133: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Gestion globale des événements

• event fait partie de la gestion globale des événements par lenavigateur. Il possède des méthodes et propriété.

• Quand on utilise la création dynamique d'évènements leparamètre est implicitement déclaré.

Méthodes Description

preventDefault()

empêche l'action du navigateur par défaut de se

produire. Comme l'envoie d'un formulaire suite auclic du bouton submit lié au formulaire.

stopPropagation()

limite l'évènement à l'Élément cible afin d'éviter lapropagation aux parents afin d'éviter pour chaqueparent possédant le même évènement ledéclenchement de la fonction associée.

Page 134: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Capture des événements de la souris et du clavier

propriété description

type retourne le type de l'évènement (onclick; onmoseover...etc)

currentTarget retourne l'Élément qui a déclenché l'évènement

targetretourne l'Élément survolé au déclenchement de l' évènement dont le parent est l‘élément qui possède l'évènement.

buttonretourne le bouton de la souris qui a été cliqué (0:gauche; 1:centre; 2:droite)

keyCoderécupère le code de caractère ASCII de la touche qui a généré l'événement pour onkeydown et onkeyup.

keyrécupère la valeur de la touche qui a généré l'événement pour onkeypress , onkedown et onkeyup.

relatedTarget retourne l'élément lié à l'élément qui a déclenché l'événement

Page 135: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Exemple<!DOCTYPE html>

<script>

function couleur(evt){

var couleur_cible=evt.currentTarget.style.backgroundColor; alert(couleur_cible);

}

</script>

</head>

<body>

<div onclick='couleur(event)' style='height:50px;width:50px;background-color:green'>cliquer ici</div>

</body>

</html>

Page 136: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

La méthode addEventListener (1)

44

• Il est possible d'intercepter le flux d’événements avec desécouteurs d’événements.

• Pour ajouter un écouteur à un objet HTML il suffit d'utiliser laméthode addEventListener.

• La méthode addEventListener réalise l’abonnement d’une fonctionà un événement donné pour l’objet sur lequel elle est invoquée .

Syntaxe n° 1 : document.addEventListener(événement, fonction, capture)

Page 137: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

La méthode addEventListener (2)

45

événement Paramètre obligatoire qui spécifie le nom de l’événement.

Note: Ne pas utiliser le préfixe "on". Par exemple, utiliser "click" au lieude "onclick".

fonction Paramètre obligatoire qui spécifie la fonction à executer suite à l’occurrence de l’ événement,

capture Paramètre optionnel correspond à une valeur logique spécifiant la manière de propagation de l’événement:- true le gestionnaire d’événement est lancé d’une manièredescendante

- false le gestionnaire d’événement est lancé d’une manièreascendante

Page 138: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

<!DOCTYPE html>

<html>

<body>

<p>Cet exemple utilise la méthode addEventListener() pour ajouter 2 clics events au document.</p>

<p>Cliquer n’importe où dans le document.</p>

<script>

document.addEventListener("click", maFonction);

document.addEventListener("click", autreFonction);

function maFonction() {

alert ("Hello World!")

}

function autreFonction() {

alert ("Cette fonction est aussi executée!")

}

</script> </body></html> 46

Exemple (1)

Page 139: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

La méthode addEventListener (3)

47

Syntaxe n° 2 : Une méthode qui attache un gestionnaired'événements à un élément specifique.

element.element.addEventListener(événement, fonction, capture)

Page 140: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

<!DOCTYPE html>

<html>

<body>

<p> Exemple illustratif.</p>

<button id="Btn">Essayer</button>

<p id="demo"></p>

<script>

document.getElementById("Btn").addEventListener("click", maFonction);

function maFonction() {

document.getElementById("demo").innerHTML = "Hello World";

}

</script>

</body>

</html> 48

Exemple (1)

Page 141: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Exemple (2)

<form id="myForm">

<input type="text" value="Entrez un texte" /><br /><br />

<input type="submit" value="Submit !" />

<input type="reset" value="Reset !" />

</form>

<script>

var myForm = document.getElementById('myForm'); myForm.addEventListener('submit', function() {

alert('Vous avez envoyé le formulaire !\n\nMais celui-ci a été bloqué pour que vous ne changiez pas de page.');

});

myForm.addEventListener('reset', function() {

alert('Vous avez réinitialisé le formulaire !');

});

</script>

49

Page 142: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

La méthode removeEventListener()

• C’est une méthode qui supprime un gestionnaired'événements qui a été attaché à une méthodeaddEventListener().

• Les méthodes addEventListener () et removeEventListener ()ne sont pas prises en charge dans Internet Explorer 8 etversions antérieures.

Page 143: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

<p> Ce document a un gestionnaire d'événements onmousemove qui affiche un nombre aléatoire chaque fois que vous déplacez votre souris dans ce document. </p>

<p> Cliquez sur le bouton pour supprimer le gestionnaire d'événements. </p>

<button onclick="removeHandler()">Stopper</button>

<p id="demo"></p>

<script>

document.addEventListener("mousemove", myFunction);

function myFunction() {

document.getElementById("demo").innerHTML = Math.random();

}

function removeHandler() {

document.removeEventListener("mousemove", myFunction);

}

</script>

51

Exemple

Page 144: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Le langage JavaScript

Chapitre 4: Codage JavaScript pour l'interface tactile et

des API HTML5 supplémentaires

Page 145: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Présentation des interfaces tactiles et des mouvements

• Les appareils mobiles d'aujourd'hui et ungrand nombre d'écrans PC intègrent latechnologie d'écran tactile.

– permet à de nombreux utilisateurs d'interagir plusfacilement avec les périphériques et leursprogrammes.

– Un simple toucher du doigt sélectionne un objetou appuie sur un bouton, un balayage du doigt faitdéfiler une liste de photos sur l'écran.

Page 146: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Présentation des interfaces tactiles et des mouvements (suite)

• Un balayage du doigt s'appelle un mouvement

– un seul doigt (un toucher, un appui prolongé, etc.)

– ou un doigt et le pouce

• L'action de l'application en réponse à unmouvement s'appelle un événement tactile.

• On utilise JavaScript pour créer des événementstactiles dans les applications tactiles.

Page 147: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Réponse à l'interface tactile• Un dispositif tactile interprète les mouvements

des doigts sur un écran tactile, et les convertiten instructions pour une application.

• Il existe deux principaux types d'écrans tactiles

– Résistif : composé de plusieurs couches ; Descapteurs détectent la pression (écrans tactilesutilisés dans les hôpitaux et les restaurants.

– Capacitif : utilise des électrodes pour détecter lesobjets qui touchent l'écran (smartphones etmoniteurs d'ordinateurs.

• De nombreux mouvements ont des équivalents souris.

Page 148: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Présentation des mouvements tactiles

Mouvement Équivalent de la souris

Description

Appui simple Clic gauche Taper sur l'écran avec un doigt

Double appui Double-clic gauche Appuyer rapidement deux fois sur l'écran avec un doigt

Appui avec deux doigts

N/A Appuyer avec deux doigts sur l'écran simultanément

Appuyer et toucher

Clic droit Maintenir un doigt appuyé et tapez avec un autre

Appui prolongé Clic droit Maintenir un doigt appuyé sur l'écran, puis relâcher

Page 149: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Présentation des mouvements tactiles (suite)

Mouvement Équivalent de la souris

Description

Sélection/faire glisser

Faire glisser la souris (sélection)

Faire glisser un doigt vers la gauche ou vers la droite

Panoramiqueinertiel

Défilement Maintenir un doigt appuyé sur l'écran, puis faire glisser le doigt

Balayer Reculer ou avancerPanoramique haut ou bas

Appuyer sur l'écran avec un doigt, le déplacer dans une direction quelconque, puis soulever le doigt pour laisser défiler

Rotation N/A Placer deux doigts sur un objet à l'écran et les déplacer dans un mouvement circulaire

Zoom CTRL + molette de la souris vers l'avantou vers l'arrière

Pincer un objet vers l'intérieur ou l'extérieur

Page 150: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

touchstart

• Chaque fois qu'un doigt touche l'écran, un événement touchstart est déclenché.

<body>

<h1>touchstart Event</h1>

<p ontouchstart="myFunction()">Toucher ce paragraphe </p>

<p id="demo"></p>

<script>

function myFunction() {

document.getElementById("demo").innerHTML = "Hello World";

}</script>

</body>

Page 151: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

touchmove

• Lorsqu'un doigt se déplace sur la surface de l'écran, un événementtouchmove est déclenché pour suivre le mouvement des doigts.

<body>

<h1>touchmove Event</h1>

<p ontouchmove="myFunction(event)">Toucher ce paragraphe, et faire un déplacement. Les coordonnées correspondants seront affichés.</p>

<p id="demo"></p>

<script> function myFunction(event) {

var x = event.touches[0].clientX;

var y = event.touches[0].clientY;

document.getElementById("demo").innerHTML = x + ", " + y;

}

</script></body>

Page 152: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

touchend

• Lorsqu’on soulève le doigt de l'écran, l'événement touchend est déclenché.

<body><h1>touchend Event</h1>

<p ontouchend="myFunction()">Toucher ce paragraphe, puis libérer.</p>

<p id="demo"></p>

<script>

function myFunction() {

document.getElementById("demo").innerHTML = "Hello World";

}

</script>

</body>

Page 153: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

touchcancel

• L'événement touchcancel est déclenché lorsque le périphériquelance une autre application.

<body><h1>touchcancel Event</h1>

<p ontouchcancel="myFunction()">Touchez ce paragraphe pendant quevous faites quelque chose qui va interrompre l'événement. Différentsappareils vont interrompre le contact à différentes actions.</p>

<p id="demo"></p>

<script> function myFunction() {

document.getElementById("demo").innerHTML = "Touch Cancelled";

}

</script>

</body>

Page 154: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Object tactile et Touchlist

• En JavaScript, l'objet tactile détecte lesentrées sur des périphériques à interactiontactile. Les objets tactiles sont référencés danstouchlist qui inclut tous les pointsde contact sur un écran tactile.

• Un appui simple contient une entrée dansl'objet touchlist, alors qu'un mouvementà trois doigts comporte un total de troisentrées.

Page 155: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Touchlists

• touches : liste de tous les points de contact actuellement activés sur l'écran.

• targetTouches : liste des points de contact actuellement activés à l'écran et dont l'événement .touchstart a été déclenché sur le même nœud (à l'intérieur du même élément cible comme élément cible actuel).

• changedTouches : liste des points de contact qui ont déclenché l'événement actuel ; par exemple, dans un événement touchend, le doigt a été retiré.

Page 156: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Exemple 1

<body ontouchstart="countTouches(event)" ontouchend="countTouches(event)">

<p>Toucher n’importe où dans ce document.</p>

<p>Le nombre de touches dans le document est <span id="demo">0</span>.</p>

<script>

function countTouches(event) {

var x = event.touches.length;

document.getElementById("demo").innerHTML = x;

}

</script>

</body>

Page 157: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Exemple 2

<body ontouchstart="countTouches(event)" ontouchend="countTouches(event)">

<p>Toucher n’importe quel élément dans cette page.</p>

<p>Le nombre de touches dans le document est <span id="demo">0</span>.</p>

<script>

function countTouches(event) {

var x = event.targetTouches.length;

document.getElementById("demo").innerHTML = x;

}

</script>

</body>

Page 158: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Exemple 3<!DOCTYPE html> <head><title>Détecter l'écran tactile</title>

<style> #canvas{background-color: dodgerblue;} </style>

<script>

function init() {

var canv = document.getElementById("canvas");

canv.addEventListener("touchstart", detect1);

canv.addEventListener("mousedown", detect2); }

function detect1() {

document.getElementById("demo").innerHTML = "Appareil à écran tactile détecté !"; }

function detect2(){

document.getElementById("demo").innerHTML = "Aucun appareil à écran tactile détecté !";

}

</script></head>

<body onload="init()">

<canvas id="canvas"></canvas> <p id="demo"></p> </body></html>

Page 159: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Événements de mouvement

• Les événements de mouvement sontdéclenchés pour des mouvements à plusieursdoigts. Les événements de mouvementprincipaux sont :

– Tout nouveau mouvement avec deux doigtsdéclenche l'événement gesturestart.

– Lorsque deux doigts se déplacent sur l'écran, unévénement gesturechange se produit.

– Lorsque vous soulevez les deux doigtsde l'écran, l'événement gestureend

est déclenché.

Page 160: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Propriétés de mise à l'échelle et de rotation

• scale : Indique le degré de zoom d'unpincement à deux doigts qui s'est produit.

• rotation : Indique le degré de rotation avec deux doigts qui s'est produit.

Page 161: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Codage des API HTML5 supplémentaires

• La collaboration WHATWG (Web HypertextApplication Technology Working Group) gèreune spécification HTML en cours dedéveloppement intégrant les API qui nefaisaient pas partie à l'origine de laspécification HTML5.

• Il s'agit notamment des API degéolocalisation, Web Worker, WebSockets etde fichier.

Page 162: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

API Geolocation

• Définit une interface qui fournit la localisationd'un périphérique, généralement à l'aide descoordonnées de latitude et de longitude

• L'API soumet la latitude et la longitudeà JavaScript dans une page Web à l'aidede l'objet de géolocalisation

Page 163: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Méthodes de géolocalisation

• getCurrentPosition : obtient la positiongéographique actuelle du périphérique.

• watchPosition : Surveille l'évolution dela position du périphérique dans le tempset génère un événement si un changement seproduit.

• L'appel de clearWatch arrête la surveillance.

Page 164: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Exemple d'appel de getCurrentPosition

<body onload="loc()">

<script>

function loc(){

navigator.geolocation.getCurrentPosition(fctAff);

}

function fctAff(position) {

var latitude = position.coords.latitude;

var longitude = position.coords.longitude;

document.getElementById("d1").innerHTML="Latitude :

"+latitude+" Longitude : "+longitude ;

}

</script>

<div id="d1"></div>

</body>

Page 165: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Exemple d'appel de watchPosition

<body onload="loc()">

<script>

function loc(){

navigator.geolocation.getCurrentPosition(fctAff); }

function MAJLocation(){

watchID = navigator.geolocation.watchPosition(fctAff); }

function fctAff(position) {

var latitude = position.coords.latitude;

var longitude = position.coords.longitude;

document.getElementById("d1").innerHTML="Latitude : "+latitude+"

longitude : "+longitude ; }

</script>

<div id="d1"></div>

<form>

<input type="button" onclick="MAJLocation();" value="MAJ Position"/>

</form>

</body>

Page 166: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Web Workers• Un thread ou fil (d'exécution) ou tâche est similaire à un

processus car tous deux représentent l'exécution d'unensemble d'instructions.

• Dans le cas d'une interface graphique, les interactions del'utilisateur avec le processus, par l'intermédiaire despériphériques d'entrée, sont gérées par un thread.

• Tandis que les calculs lourds (en termes de temps decalcul) sont gérés par un ou plusieurs autres threads.

• Cette technique est avantageuse dans ce cas, carl'utilisateur peut continuer d'interagir avec le programmemême lorsque celui-ci est en train d'exécuter une tâche.

Page 167: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Web Workers (suite)

• Depuis 2015, JavaScript est devenu un langage qui estbasé sur plusieurs threads.

• Un Web Worker est une façon d’appeler un scriptJavaScript qui va s’exécuter dans un thread différent decelui du script qui le crée. Il est possible pour les deuxscripts de communiquer ensemble via l’envoi et laréception de messages.

• Les traitements Web (Web Workers) sont des scripts quis'exécutent en arrière-plan, qui effectuent des calculs oud'autres actions rendant l'interface utilisateur plusréactive.

Page 168: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Web Workers (suite)

• Les Web Workers ne sont pas fait pour manipuler leDOM. On ne pourra pas utiliser getElementById, parexemple, dans le script.

• Un Web Worker n’aura pas accès aux fonctions alertou prompt mais on peut tout à fait utiliserconsole.log.

Ex : console.log(" c’est un message ");

Page 169: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Web Workers (suite)

• Pour utiliser un traitement Web, on doitd'abord créer un objet Worker dans ledocument HTML principal, comme suit :

– var worker = new Worker('script_worker.js');

• Lorsque le navigateur interprète cette ligne, ilcrée un thread de travail, puis il commencepar la méthode suivante :

– worker.postMessage();

Page 170: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Exemple de Web Workers• Page1.html :<script>

var worker = new Worker('PageScript.js');

var info = 'Web Workers';

// Envoyer un message

worker.postMessage(info);

// Recevoir un message du traitement

worker.addEventListener('message', fct) ;

function fct(event) {

// Effectuer une action

console.log(event.data);

};

</script>

• PageScript.js:onmessage = f;

function f(event) {

var mes= event.data;

var resultat = 'Bonjour ' + mes ;

postMessage(resultat);

/* transmission des informationsau moyen de messages, enexécutant le code d'un fichierJavaScript distinct dudocument HTML principal. */

};

Page 171: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Utilisation de l'API de fichier pour les téléchargements de fichiers

• L’API File permet à un navigateur ou à uneapplication de télécharger des fichiers dansl'espace de stockage local vers un serveurdistant sans l'aide d'un plug-in

Page 172: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Interfaces de l'API File

• File : Inclut des attributs d'informations enlecture seule au sujet d'un fichier individuel,par exemple son nom et type de support,et l'associe au fichier comme une URL

• FileList : Une séquence d'objets File detype tableau ; comprend le glisser-déposerd'un dossier de fichiers depuis l'espace destockage local

• Blob : Fournit un accès aux données binairesbrutes

• FileReader : Fournit des méthodes pour lireet afficher un fichier

Page 173: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Interfaces de l'API File

• Il faut utiliser l'élément input type="file"

pour obtenir la liste des objets Filesélectionnés comme un objet FileList avecl’option multiple.

Page 174: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Exemple 1<p> Exemple file</p>

<input type="file" id="f1" multiple />

<button id="Btn">Ajouter à l'affichage</button>

<p id="demo"> </p>

<script>

if (window.File && window.FileReader && window.FileList && window.Blob) {

document.getElementById("Btn").addEventListener("click", maFonction);

function maFonction() {

document.getElementById("demo").innerHTML += document.getElementById("f1").files[0].name; }

} else

{ alert('Ce navigateur ne prend pas en charge les API de fichier.'); }

</script>

Page 175: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Exemple 2<style> .im { height: 75px; border: 1px solid #000; margin: 10px 5px 0 0; }</style>

<input type="file" id="f1" multiple />

<p id="demo"> </p>

<script>

document.getElementById("f1").addEventListener("change", maFonction);

function maFonction() {

var r = new FileReader();

var fl=document.getElementById('f1').files[0];

r.readAsDataURL(fl);

/* readAsDataURL démarre la lecture du contenu indiqué. Une fois que la lecture est terminée, l'attribut result contient une URL de données qui représente les données du fichier. */

r.onload = function(){ document.getElementById("demo").innerHTML ='<img class="im" src="'+r.result+'" />';

}

}

</script>

Page 176: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Chapitre 5 : JSON : JavaScript Object

Notation

Page 177: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Introduction

• JSON est une syntaxe qui sert à stocker et échanger desdonnées.

• Il propose un format texte indépendant du langage deprogrammation utilisé pour le manipuler.

• Initialement créé pour la sérialisation (≈ organisation) etl’échange d’objets JavaScript.

• Il est utilisé pour la transmission des données entre un serveuret des applications web.

• C’est que, JSON est du texte, et n'importe quel objetJavaScript peut être converti en JSON, puis envoyer JSON auserveur.

• C’est un langage pour échanger des données semi-structurées(exemple : image, documents composés) et structurées(données simples).

2

Page 178: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Caractéristiques de JSON

• JSON est facile à lire et à écrire.

• Il s'agit d'un format d'échange de texte léger.

• JSON est indépendant de tout langage de

programmation.

3

Page 179: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Les types de donnéesJSON supporte plusieurs types de données :

• Object : est composé de paires nom/valeur, chacune étantséparé par une virgule, entourées par des accolades.

• Numérique : nombre entier ou flottant

• Chaîne de caractères : ensemble de caractères Unicode (saufune double quote et un antislash) entouré par des doublesguillemets

• Booléen : true ou false

• Tableau : un ensemble ordonné de valeurs entouré par descrochets. Les types des valeurs d'un tableau peuvent êtredifférents.

• La valeur null

Page 180: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Exemple• L'exemple suivant montre comment utiliser JSON pour stocker des

informations relatives aux livres en fonction de leur sujet et de leur

édition :

5

{

"livre": [

]

}

{

"id":"01",

"language": "Java",

"edition": "third",

"author": "Herbert Schildt"

},

{

"id":"07",

"language": "C++",

"edition": "second"

"author": "E.Balagurusamy"

}

Page 181: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Syntaxe (1)

• La syntaxe JSON est essentiellement considérée comme un sous-

ensemble de la syntaxe JavaScript

• Elle comporte les points suivants :

– Les données sont représentées par des paires nom / valeur.

– Les accolades contiennent des objets et chaque nom est suivi de :

(deux points), les paires nom / valeur sont séparées par une ,(virgule).

– Les crochets supportent les tableaux et les valeurs sont séparées

par une , (virgule).

Exemple :

var employe1 = { nom:"Mohamed", age: 34, salaire: 18000 };

6

Page 182: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Illustrations (1)

On peut intégrer Le code suivant dans un fichier html

<html>

<head> <title> Exemple 1 JSON </title> </head>

<body>

<script>

var employe1 = {nom:"Mohamed",age:34,salaire:18000};

document.write ("<h3> Nom= "+employe1.nom+"</ h3>");

document.write ("<h4> Age= "+employe1.age+"</ h4>");

document.write ("<h4> Salaire= "+employe1.salaire+"</ h4>");

</script></body> </html>

Page 183: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Illustrations (2)

Exemple 2 :

<html> <head> <title> exemple 2 JSON </title> </head>

<body>

<script>

var employe1 = { nom : "Mohamed", age : 34, salaire : 18000 };

var employe2 ={ nom : "Salah", age : 31, salaire : 12000 };

var employe3 ={ nom : "Hèdi", age : 34, salaire : 16000 };

var objet1 = { emp1:employe1, emp2:employe2, emp3:employe3};

document.write("<h3>Nom= "+objet1.emp1.nom+"</h3>");

</script> </body> </html>

Page 184: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Syntaxe (2) • Nombre:

– var json-object-name = {string : number_value, .......}

– Exemple: var obj = {"marks": 97}

• Chaîne:

– var json-object-name = { string : "string value", .......}

– Exemple: var obj = {name: "Ali"}

• Booléen:

– var json-object-name = { string : true/false, .......}

– Exemple: var obj = {"name": "Amit", "marks": 97, "distinction": true}

• Tableau:

– [ value, .......]

– Exemple:

{ "books": [{ "language":"Java" , "edition":"second" },

{ "language":"C++" , "lastName":"fifth" }, { "language":"C" ,

"lastName":"third" } ] } 9

Page 185: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Syntaxe (3)

• Objet:

– { string : value, .......}

– Exemple:

var livre = { "id": "011A",

"langage": "JAVA",

"prix": 500 }

10

Page 186: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Exemple (1)

<html> <head> <title> exemple JSON </title> </head>

<body>

<script>

var objet1 = {

finance : [

{ nom : "Mohamed", age : 34, salaire : 18000 },

{ nom : "Salah", age : 31, salaire : 12000 }

]

}

document.write ("<h3> Nom=" + objet1.finance[0].nom + "</h3>");

document.write ("<h4> Age=" + objet1.finance[0].age + "</h4>");

document.write ("<h4> Salaire=" + objet1.finance[0].salaire + "</h4>");

</script> </body> </html>

Page 187: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Exemple (2)

<html> <head> <title> exemple JSON </title> </head>

<body>

<script>

var objet1 = {

finance : [

{ nom : "Mohamed", age : 34, salaire : 18000 },

{ nom : "Salah", age : 31, salaire : 12000 }

]

}

for(i=0;i<objet1.finance.length;i++){

document.write ("<h3> Nom=" + objet1.finance[i].nom + "</ h3>");

document.write ("<h4> Age=" + objet1.finance[i].age + "</ h4>");

document.write ("<h4> Salaire=" + objet1.finance[i].salaire + "</ h4>");}

</script> </body> </html>

Page 188: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Exemples (3)<body> <script>

var objet1 = {

finance : [

{ nom : "Mohamed", age : 34, salaire : 18000 },

{ nom : "Salah", age : 31, salaire : 12000 } ],

informatique : [

{ nom : "Hèdi", age : 34, salaire : 16000 },

{ nom : "Alia", age : 30, salaire : 18000 },

{ nom : "Hèla", age : 32, salaire : 12000 }

] }

document.write ("<h2>Finance</h2>");

for(i=0;i<objet1.finance.length;i++){

document.write ("<h3> Nom=" + objet1.finance[i].nom + "</ h3>");

document.write ("<h4> Age=" + objet1.finance[i].age + "</ h4>");

document.write ("<h4> Salaire=" + objet1.finance[i].salaire + "</ h4>");}

document.write ("<h2>Informatique</h2>");

for(i=0;i<objet1.informatique.length;i++){

document.write ("<h3> Nom=" + objet1.informatique[i].nom + "</ h3>");

document.write ("<h4> Age=" + objet1.informatique[i].age + "</ h4>");

document.write ("<h4> Salaire=" + objet1.informatique[i].salaire + "</ h4>");}

</script> </body>

Page 189: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

JSON.parse()

• La méthode JSON.parse() permet de créer une chaîne de caractères

JavaScript contenant une syntaxe JSON.

Exemple

<body> <script>

var text ='{"employes":['+'{"nom" : "Mohamed", "age" : 34, "salaire" : 18000

},'+ '{ "nom" : "Salah", "age" : 31, "salaire" : 12000 }]}';

//les doubles quotes sont indispensables pour les noms.

var obj = JSON.parse(text);

document.write(obj.employes[1].nom + " **** " + obj.employes[1].salaire)

</script>

</body>

Page 190: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

JSON.stringify()

• La méthode JSON. stringify() permet de convertir une valeurJavaScript en une chaîne JSON

Exemple

<body>

<script>

var employes= new Array();

employes[0]="Mohamed";

employes[1]="Salah";

var obj = JSON.stringify(employes);

document.write(obj) ;

</script>

</body>

Page 191: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Chapitre 6 : Notions générales sur

XML

Page 192: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Les limites de HTML

• Un balisage prédéfini et fixe.

• HTML ne permet pas de décrire le contenu(sémantique) d'un document (on ne peut pasavoir une balise <NOM> mais seulement<H3>, par exemple, ou <H3 CLASS="nom">)

Beaucoup de balises de description de formes(b, center, etc.) et peu de balises à caractèressémantiques (title, etc).

Page 193: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Définition de XML

• XML : eXtensible Markup Language

• Il est un sous-ensemble de SGML (Standardized General

Markup Langage) développé par IBM en 1969.

– XML n’est pas un langage de programmation.

– Un langage permettant de mettre en forme (markup)

des documents grâce à des balises.

Page 194: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Comparaison entre HTML et XML

• HTML et XML partagent des caractéristiques communes :– fonctionnent avec des balises.

– indépendants de la plateforme.

– Ils sont en mode texte.

• XML est un langage de balises comme le HTML mais il estextensible, évolutif et ses balises ne sont pas prédéfinies :c'est le développeur qui doit définir ses propres balisessous forme d’un arbre.

• Attention, XML ne remplace jamais HTML, XML et HTML secomplètent

Page 195: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Objectif de XML

• XML permet d'afficher un même document sur des applications ou des périphériques différents sans pour autant nécessiter de créer autant de versions du document que l'on nécessite de représentations

Page 196: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Prologue

Élément racine

<?xml version="1.0" encoding="ISO-8859-1"?>

<!-- ceci est une carte de visite -->

<carteDeVisite>

<prénom>Mohamed</prénom>

<nom>Tounsi</nom>

<adresse>

<numéro>42</numéro>

<rue type="avenue">Magida Boulila</rue>

<ville codepostal="3002">Sfax</ville>

</adresse>

<note>

Enseigne <clé>XML</clé> à l’ISET de Sfax

</note>

</carteDeVisite>

Structure d’un document XML

Commentaire

Page 197: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Structure d’un document XML

• La première partie : appelée prologue permet d'indiquer laversion de la norme XML utilisée pour créer le documentainsi que le jeu de caractères (cette indication est obligatoire).

<?xml version="1.0" encoding="ISO-8859-1"?>– xml version="1.0" indique au navigateur que ce qui suit est un

document XML selon sa version 1.0.

– Encoding="ISO-8859-1" : représente le jeu de caractère pour lesfrancophones et qui accepte les caractères accentués.

– Jeux de caractères possibles :• ISO 8859/1 : codage sur 8 bits (256 caractères, le 8eme bit code les accents)

• Unicode : 16 bits permet de coder l'arabe, le chinois, ...

Page 198: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Structure d’un document XML

• La deuxième partie : est une déclaration de type dedocument (à l'aide d'un fichier annexe appelé DTD :Document Type Definition ou le standard XSD : XMLSchema)

<!DOCTYPE element_racine [

sous.ensemble.interne

]>

• La troisième partie : l'arbre des éléments (nœuds). Unarbre a généralement une et une seule racine. C'est àpartir de cette balise que se développe l'arborescence dudocument.

< element_racine >

…….

</element_racine >

Page 199: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Structure d’un document XML

• Les noeuds d'un document XML peuvent être

du type :

– Document

– Element (un élément)

– Attr (un attribut)

– Text (texte)

– Comment (commentaires)

– …

Page 200: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Anatomie d'un document XML

• Un début de balise est soit < soit &

• Une fin de balise est soit > soit ;

• Les caractères apostrophe ' et guillemet " servent aussi dans les balises

• Tout ce qui n'est pas balisage est du contenu.

• La balise doit être fermée avec : </nom_de_la_balise>

Page 201: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Balisage d’un élément

• Un document n'a qu'un seul élément racine.

• Les autres éléments y sont inclus.

• Un élément est constitué :

– d’une balise ouvrante

– d’un contenu

– d’une balise fermante

Ex :<Nom> Ali </Nom>

Balise Contenu BaliseOuvrante fermante

Page 202: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Balisage d’un élément vide

• Elément vide :

<élément.vide/>

Ex

• <saut.de.ligne/>

• <graphisme source="fichier.gif"/>

Page 203: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Balisage d’un attribut

• Les balises ouvrantes d'éléments peuvent inclure des attributs

facultatifs ou obligatoires.

• Forme :

<nom.type.élément nom.attribut="valeur.attribut">

– EX:

<PRIX devise ="EUR" > 22 </PRIX>

Balise ouvranteBalise

fermanteContenu

Nom de

l’élémentAttribut

Page 204: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Balisage d’un attribut (suite)

Exemples :

• <fruit saveur="acide">

• <FACTURE code ="001">

• <pageAccueil>

<paragraphe numéro="premier">

C'est le premier paragraphe.

</paragraphe>

<paragraphe numéro="second" couleur="rouge">

C'est le second paragraphe.

</paragraphe>

</pageAccueil>

Page 205: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Attribut

• Quand utiliser les attributs?

• Valeur unique de type simple (information

monovaluée)

• Quand utiliser les éléments?

• Valeur de type complexe(énumérations, possède des

propriétés)

Page 206: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Exemple<messages>

<note id="501">

<to>Mohamed</to>

<from>Ali</from>

<entete>Rappel</entete>

<corps> Ne m'oublie pas ce week-end! </corps>

</note>

<note id="502">

<to>Sarra</to>

<from>Hèdia</from>

< entete>Demande</ entete> >

< corps>Ne soit pas en retard</corps >

</note>

</messages>

Page 207: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Commentaire

• Commentaires

– <!-- voici un commentaire -->

– <!-- commentaire relatif à <para> et <page> -->

Page 208: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Exemple 1

FACTURE

CLIENT

PRODUITS

LIVRAISON

Page 209: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Exemple 1 (suite)

FACTURE

CLIENT LIVRAISON

NOM ADRESSE

PRODUIT PRODUIT

NOM QUANTITE PRIX

………

Page 210: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Exemple 1 (suite)<?xml version="1.0" ?>

<FACTURE code="001">

<CLIENT>

<nom>MOHAMED ALI</nom>

<adresse>ROUTE DE TUNIS KM 4 SFAX</adresse>

<dateliv>01/05/2009</dateliv>

</CLIENT>

<LIVRAISON>

<nom>CD-RW</nom>

<quantite>100</quantite>

<prix>1 000</prix>

</LIVRAISON>

<LIVRAISON>

<nom>Cable SCSI</nom>

<quantite>1</quantite>

<prix>22 000</prix>

</LIVRAISON>

Page 211: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Exemple 1 (suite)<LIVRAISON>

<nom>Disque Dur de 20Go</nom>

<quantite>1</quantite>

<prix>120 000</prix>

</LIVRAISON>

</FACTURE>

Page 212: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

22

Exemple2

22

XML: Des BD aux Services Web

Georges Gardarin

1. Introduction

Ces dernières années ont vu l'ouverture des systèmesd'information à l'Internet. Alors que depuis les années1970, ces systèmes se développaient souvent parapplications plus ou moins autonomes, le chocInternet …

Ainsi, on a vu apparaître une myriade de technologiesnouvelles attrayantes mais peu structurantes voirperturbantes. Certaines n'ont guère survécues.D'autres ont laissé des systèmes peu fiables et peusécurisés. …

L'urbanisation passe avant tout par la standardisationdes échanges : il faut s'appuyer sur des standardsouverts, solides, lisibles, sécurisés, capable d'assurerl'interopérabilité avec l'Internet et les systèmesd'information. XML, "langua franca" …

2. La société ProXML

Titre

Auteur

Section

Paragraphe

Paragraphe

Paragraphe

Section

Page 213: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

23

Exemple2 (suite)

Page 214: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

2424

Les règles de composition des noms : Les noms peuvent contenir des lettres, des chiffres ou d'autres

caractères.

Les noms ne peuvent pas débuter par un nombre ou un signe de

ponctuation.

Les noms ne peuvent pas commencer par les lettres xml (ou XML

ou Xml).

Les noms ne peuvent pas contenir des espaces.

La longueur des noms est libre.

On évitera certains signes : "-", ";", ".", "<", ">", etc.

Les caractères accentués comme é, à, ê, ï, ù sont a priori permis

mais pourraient être mal interprétés par certains programmes

(déconseillé).

Page 215: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

25

Les balises sont sensibles à la casse La balise <Message> est différente de la balise <message>.

La balise d'ouverture et la balise de fermeture doivent donc être

identiques.

Par exemple

<Message> ... </message> est incorrect

<message> ... </message> est correct.

Remarque : Le XML est un langage strict.

On dit qu’un document est « bien formé » lorsqu’il ne possède

aucune erreur de syntaxe.

Seuls les documents "bien formés" seront affichés correctement.

A la moindre erreur de syntaxe, le document ne sera pas ou

ne sera que partiellement affiché.

Page 216: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

XSLT

• XSL est un langage de feuilles de styles. Il est composé de deux parties principales :

– XSLT : un language de transformation de document XML en document HTML ou autre document XML

– XSL : un jeux d'instructions de formatage en XML destiné à la présentation.

• CSS ne permet pas de visualiser les attributs

• CSS ne permet pas de réarranger l'information

Page 217: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Structure d’un fichier XSLT

• Un fichier XSL doit commencer par les lignes

indiquant le numéro de version XML et l'encodage

de caractères utilisé.

<?xml version="1.0" encoding="ISO 8859 1"?>

• Pour lier un fichier xsl à un fichier xml, on doit

mettre la ligne suivante :

<?xml-stylesheet type="text/xsl" href="nomfichier.xsl"?>

Page 218: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Les éléments XSLT

• L'élément racine qui déclare un document XSLT est :

<xsl:stylesheet> ou <xsl:transform>

• L’élément <xsl:template> : est utilisé pour construire des templates. L’utilisation de cet élément est de la forme suivante :

<xsl:template name="nommodele" match="expression" mode="modemodele">

</xsl:template>

– Name : correspond au nom associé au modèle.

– Match : indique quel jeu de nœuds sera affecté par le modèle.

Page 219: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Les éléments XSLT• Dans le tableau suivant quelques exemples d’expressions :

Motif Signification

– / la racine du document

– * Tout élément

– X l'élément x

– x/y l'élément y lorsqu'il est fils de x

– x//y l'élément y lorsqu'il a x pour ancètre

– text() tout noeud texte

– node() tout noeud autre que la racine ou un attribut @att tout attribut att

– @* tout attribut

– x[@att='val'] tout élément x qui a un attribut att dont la valeur est val

Page 220: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Exemple

<?xml version = "1.0" encoding="UTF-8" standalone="yes" ?>

<?xml-stylesheet type="text/xsl" href="ex.xsl" ?>

<bibliothèque>

<livre>

<titre>UML</titre>

<ISBN> 51111111</ISBN>

<Auteurs>

<nom> Salah </nom>

<nom>Med</nom>

</Auteurs>

<MaisonEdition>eyrolles</MaisonEdition>

<Edition>2008</ Edition >

</livre>

<livre>

<titre>Base données</titre>

<ISBN>2222222</ISBN>

<Auteurs>

<nom>Hedi</nom>

<nom>Hedia</nom>

</Auteurs>

<MaisonEdition>eyrolles</ MaisonEdition >

<Edition>2008</ Edition >

</livre>

<livre>

<titre>Conception</titre>

<ISBN>3333333</ISBN>

<Auteurs>

<nom>Hela</nom>

<nom>Ali</nom>

</Auteurs>

<MaisonEdition>dunod</Maison Edition>

<Edition>2007</ Edition >

</livre>

</bibliothèque>

Page 221: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Exemple<?xml version="1.0" encoding="ISO-8859-1"?>

<!-- DWXMLSource="Ex.xml" -->

<xsl:stylesheet version="1.0"xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="/">

<html> <body>

<h2>Liste des livres</h2>

<table border="1">

<tr bgcolor="#9acd32">

<th>Titre</th>

<th>ISBN</th>

</tr>

<tr>

<td>.</td>

<td>.</td>

</tr>

</table>

</body> </html>

</xsl:template>

</xsl:stylesheet>

Page 222: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

L’ élément <xsl:value-of>

• Cet élément peut être utilisé pour extraire la

valeur d'un élément XML et l'ajouter au

règlement de la transformation.

Syntaxe :

<xsl:value-of select="expression" />

Avec : la valeur de select permet d'insérer le

contenu de la balise sélectionnée.

Page 223: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

L’ élément <xsl:value-of>

• Exemple :

<tr>

<td>

<xsl:value-of select="bibliothèque/livre/titre"/>

</td>

<td>

<xsl:value-of select="bibliothèque/livre/ISBN"/>

</td>

</tr>

Page 224: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

L’ élément <xsl:for-each>

• Crée une boucle dans laquelle sont appliquées

des transformations. Son utilisation est de la

forme :

<xsl:for-each select="jeu_nœud">

</xsl:for-each>

Page 225: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

L’ élément <xsl:for-each>

• Exemple :

<xsl:for-each select="bibliothèque/livre">

<tr>

<td>

<xsl:value-of select="titre"/>

</td>

<td>

<xsl:value-of select="ISBN"/>

</td>

</tr>

</xsl:for-each>

Page 226: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

L’ élément <xsl:sort>

• Cet élément permet d'effectuer un tri sur un

jeu de nœuds.

• Il doit être placé soit dans :

– un élément <xsl:for-each>

– un élément <xsl:apply-templates>

Syntaxe :

<xsl:sort select="nœud" data-type="text | number |

elt” order="ascending | descending" />

Page 227: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

L’ élément <xsl:sort>

• Exemple :

<xsl:for-each select="bibliothèque/livre">

<xsl:sort order="ascending"/>

<tr>

<td><xsl:value-of select="titre"/></td>

<td><xsl:value-of select="ISBN"/></td>

</tr>

</xsl:for-each>

Page 228: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

L’ élément <xsl:if>

• Cet élément permet d’ajouter un test pour les nœuds à afficher.

Syntaxe :

<xsl:if test="condition">

Action

</xsl:if>

Action : correspond à l’action à effectuer en cas de condition à vrai

Page 229: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

L’ élément <xsl:if>

• Exemple :

<xsl:for-each select="/bibliothèque/livre">

<xsl:if test="MaisonEdition = 'eyrolles'">

<tr>

<td>

<xsl:value-of select="titre"/>

</td>

<td>

<xsl:value-of select="ISBN"/>

</td>

</tr>

</xsl:if>

</xsl:for-each>

Page 230: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Les attributs

• Les attributs d'un élément sont sélectionnés en faisant

précéder leur nom par le caractère @.

• Les règles relatives à la sélection des éléments

s'appliquent également aux attributs :

– section[@titre] sélectionne les éléments section qui ont un

attribut titre.

– section[@titre="Introduction"] sélectionne les éléments section

dont l'attribut titre a pour valeur Introduction.

• Si l'on veut afficher le contenu de l'attribut, on le fait

précéder du caractère /.

Page 231: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Les attributs

Exemple :

<xsl:value-of select="paragraphe/@titre" />

permet l'affichage du titre de l'élément

paragraphe fils de l'élément courant (si rien

n'est précisé, par défaut il s'agit du premier

élément paragraphe fils).

Page 232: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

ApplicationSoit le document XML "bib.xml" suivant :

<?xml version = "1.0" encoding="UTF-8" standalone="yes" ?>

<?xml-stylesheet type="text/xsl" href="bib.xsl" ?>

<bibliothèque>

<livre>

<titre langue="français">Conception</titre>

<ISBN>3333333</ISBN>

<Auteur>

ahmed mehdi

</Auteur>

<MaisonEdition>dunod</MaisonEdition>

<Edition>44444444</Edition>

</livre>

<livre>

<titre langue="français">

Base données

</titre>

<ISBN>2222222</ISBN>

<Auteur>

salah ben salah

</Auteur>

<MaisonEdition>eyrolles</MaisonEdition>

<Edition>3</Edition>

</livre>

<livre>

<titre langue="anglais">Uml</titre>

<ISBN>5111111</ISBN>

<Auteur>

ali ben med

</Auteur>

<MaisonEdition>eyrolles</MaisonEdition>

<Edition>3333333</Edition>

</livre>

</bibliothèque>

Page 233: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

Application (suite)

Définir une feuille de style biblio.xsl afin de produire l’affichage sous la forme ci-dessous.

Page 234: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

TP01 Atelier Web2 Page 1/2

ISET SFAX DEPARTEMENT

AU 2017/2018 S2 TECHNOLOGIE DE L’INFORMATIQUE

TP01

Matière : Atelier Web2 Classe : INF1

Exercice1

a) Ecrire une page HTML contenant un code JavaScript permettant d’afficher « Bienvenue

dans le monde JavaScript » ;

b) Ecrire une page HTML contenant un code JavaScript permettant de demander la saisie

de votre nom et de votre prénom, puis d’afficher « Bonjour ‘votre prénom’ ‘votre nom’ ».

c) Reprendre la question précédente en plaçant le code JavaScript dans un fichier externe.

Exercice2

Créer un document html qui contient 2 boutons.

a) Ecrire un script qui affiche le message "Bonjour à tous" après le clic sur le premier bouton.

b) Lors du clic sur le deuxième bouton, demander à l'utilisateur de saisir son nom. Ensuite demander

une confirmation du nom de l'utilisateur. Si le nom est confirmé, afficher ce dernier dans une boîte de

dialogue.

Exemple d’exécution :

boites-de-dialogue

Exercice3

Ecrire un script permettant de saisir l’âge de l’utilisateur, puis de contrôler la validité de la valeur

saisie ; Le procédé de contrôle doit être réalisé comme suit :

Lorsque la valeur saisie est non numérique, on affiche un message d’erreur (utilisé la

fonction isNaN()) ;

Lorsque la valeur saisie appartient à l’intervalle ]0-12], on affiche le message « Vous

êtes un enfant » ;

Lorsque la valeur saisie appartient à l’intervalle ]13-18], on affiche le message « Vous

êtes un adolescent » ;

Lorsque la valeur saisie est supérieure à 18, on affiche le message « Vous êtes un

adulte ».

Page 235: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

TP01 Atelier Web2 Page 2/2

Exercice 4

a) Donner un code JavaScript qui permet d’afficher les 10 premiers multiples de 9. L’interface

correspondante au résultat d’exécution de ce script doit avoir la forme suivante :

b) Reprendre la même question en plaçant le code javascript dans un fichier externe.

Exercice 5

a) Donner un script java qui permet d’afficher la table de multiplication de 1 à 9.

b) Reprendre la même question en permettant d’afficher la table de multiplication d’un nombre

saisi à partir de l’utilisateur.

Exercice 6

Ecrire un script qui permet de saisir un numéro du jour qui doit être compris entre 1 et 7, puis afficher le

jour correspondant (exemple 1 : Dimanche).

Page 236: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

TP01 Atelier Web2 Page 1/2

ISET SFAX DEPARTEMENT

AU 2017/2018 S2 TECHNOLOGIE DE L’INFORMATIQUE

TP02

Matière : Atelier Web2 Classe : INF1

Exercice1

a. Ecrire une fonction saisie() permettant de saisir une valeur numérique.

b. Ecrire une fonction calulMontant(x,y) permettant de calculer le produit de x*y.

c. Ecrire un script permettant de saisir deux valeurs numériques puis de calculer le montant des deux valeurs saisies ; Utiliser les deux fonctions définies précédemment.

Exercice2

Soit TabNotes une variable de type tableau contenant les notes d'étudiants pour un module d’enseignement donné. Ecrire le code JavaScript contenant les fonctions suivantes :

Demander la taille du tableau (le nombre d’étudiants). Sachant que ce nombre doit être entier et positif.

Saisir le contenu du tableau, sachant que la valeur correspondante à chaque élément doit être comprise entre 0 et 20.

Afficher le contenu du tableau sous forme d’une liste numérotée.

Chercher le nombre d'étudiants qui ont des notes supérieures ou égales à 10.

Calculer la moyenne des notes obtenues par tous les étudiants.

Connaître la note maximale insérée dans le tableau.

Regrouper les éléments du tableau dans une chaine appelée ChNotes.

Exercice3

Reprendre les mêmes questions de l’exercice2 en supposant que chaque case du tableau est formée par deux éléments : le premier contient le nom de l’étudiant et le deuxième correspond à la note correspondante. Dans cet exercice, les affichages doivent être suivis par les noms des étudiants.

Exercice4

Définir un tableau JavaScript où chaque case correspond à un chemin menant à une image.

Écrire une fonction JavaScript qui prend en entrée un tel tableau et produit l'affichage des images dans un tableau HTML.

Page 237: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

TP05 Atelier Web2 Page 1/2

ISET SFAX DEPARTEMENT

AU 2017/2018 S2 TECHNOLOGIE DE L’INFORMATIQUE

TP03

Matière : Atelier Web2 Classe : INF1

Exercice 1

Nous voulons manipuler un tableau d’étudiants ayant la structure suivante : Nom, Prénom et

Filière.

Nb :

- La déclaration d’un tableau de structure est décrite comme suit :

var Nom_Tab = [ {Att1:"val1", Att2: "val2"}, … ];

- L’ajout d’un élément dans un tableau est réalisé avec la méthode push :

Nom_Tab.push({Att1:"val1", Att2:val2});

Ecrire un script permettant :

- d’ajouter des étudiants (utiliser la méthode confirm avant d’ajouter un élément dans

le tableau).

- d’afficher les éléments dans un tableau html.

Exercice 2

- Ecrire une page HTML qui permet de créer une nouvelle fenêtre intitulée « fen1 » ayant

comme hauteur 300 et comme largeur 600. Avec options d’affichage de la barre

d’outils et de la barre d’adresse.

- Ecrire dans cette fenêtre le message « Bienvenue ».

Exercice 3

Ecrire le code JavaScript qui, lorsqu’on clique sur un lien, fait apparaître la destination de ce

lien dans une alerte.

Exercice 4

Ecrire le code JavaScript qui permet de modifier le contenu d'un élément paragraphe, une fois

on clique sur un lien. Le paragraphe ayant au préalable identifié par un identifiant unique

(attribut id) appelé id1. Il doit être ciblé grâce à la méthode getElementById() contenue dans

l'objet document. Le contenu est modifié à travers la méthode inneHTML.

Page 238: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

TP05 Atelier Web2 Page 2/2

Au départ Après avoir cliqué su le lien

Exercice 5

- Donner un script java qui utilise l’objet navigator pour afficher les données de l’interface.

- Incorporer le script définit précédemment dans une fonction d’affichage qui doit être lancée après 3 secondes du chargement de la page

Exercice 6

Donner un script java qui utilise l’objet window, lorsque l’utilisateur clique sur : - Fermer : ferme la fenêtre - Translater : translate la fenêtre 20 pixels horizontalement et 30 verticalement - Translater00 : déplace la fenêtre à la position (0,0)

Utiliser Inertnet Explorer dans le test.

Exercice 7

Donner un script java qui utilise l’objet document pour que lorsque l’utilisateur appuie sur le bouton colorer applique la première couleur à la fonte et la deuxième à l’arrière plan.

Page 239: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

ISET SFAX DEPARTEMENT

AU 2017/2018 S2 TECHNOLOGIE DE L’INFORMATIQUE

TP03 Suite

Matière : Atelier Web2 Classe : INF1

En se basant sur le code html suivant :

<!doctype html>

<html>

<head>

<title>Chronomètre</title>

<meta charset="utf-8">

<style type="text/css">

.chronometre{

margin: auto ;

width: 300px;

text-align: center;

}

.tim{

margin: auto;

Page 240: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

width: 300px;

border: 1px solid rgba(0,0,0,0.5);

padding:5px 0;

text-align: center;

font-size: 1.5em;

font-family: digital;

margin-bottom: 10px;

}

button{

background: #3498db;

color: #fff;

width: 70px;

border-radius: 5px;

line-height: 1.5em;

border: none

}

</style>

</head>

Page 241: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

<body>

<div class="chronometre">

<div class="tim">

<span >0 h</span> :

<span >0 min</span> :

<span >0 s</span> :

<span >0 ms</span>

</div>

<button id="start" onclick="start()">Start</button>

<button id="stop" onclick="stop()" >Stop</button>

<button id="reset" onclick="reset()" >Reset</button>

</div>

</body>

</html>

Créer un chronomètre composé d'un afficheur et 3 boutons : un bouton "start" pour lancer

le chronomètre , un bouton "stop" pour l’arrêter et un bouton "reset" pour le remettre à zéro.

Page 242: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

chronometre

Indications:

Créer une fonction "start" qui appelle d'une manière répétitive la fonction

update_chrono via la fonction setInterval avec une cadence de 100 ms.

Créer une fonction "update_chrono()" qui permet d’incrémenter le nombre de

millisecondes , secondes , minutes , et des heures.

Créer une fonction "stop" qui arrête le traitement de setInterval.

Créer une fonction "reset" qui remet les valeurs et l'affichage à 0 .

Page 243: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

ISET SFAX DEPARTEMENT

AU 2017/2018 S2 TECHNOLOGIE DE L’INFORMATIQUE

TP04

Matière : Atelier Web2 Classe : INF1

Exercice 1 :

Soit le code HTML suivant :

<html>

<head>

<title>Exercice 1</title>

<script>

function change_enfants()

{

}

</script>

</head>

<body>

<p id="id1" onclick="change_enfants()">Un texte avec plein d'enfants, <b>en gras</b>,

<i>en italique</i>et une image <img src="image.jpg" height="111"

width="200"></p></body>

</html>

1.Ecrire le code de la fonction change_enfants() qui sélectionne le paragraphe à l'aide de son

identifiant.

2.Compléter le code de cette fonction afin de permettre de réaliser les tâches suivantes :

a. Afficher sous forme d’une alerte le nombre d'enfants correspondants au

paragraphe.

b. Changer la valeur du premier enfant de l'élément paragraphe en "Ce texte est

modifié".

c. Diviser par deux la hauteur et la largeur de l'image (qui correspond au dernier

enfant).

d. Changer le code XHTML du deuxième enfant par le texte : "<font

color='blue'>en bleu</font>".

e. Changer la propriété display de style du quatrième enfant en "block".

Exercice 2

Soit le code HTML suivant :

<html> <head> <title> Exercice 2</title>

<style>

Page 244: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

.statique {

color: blue;

font-family: arial;

font-weight: normal;

}

.dynamique {

color: red;

font-family: helvetica;

font-weight: bold;

}

</style>

<script>

function ajouterNoeud(el, text,ident) {

…….

}

function effet() {

……..

}

}

</script> </head>

<body>

<a href="#" onClick="effet()">Changer</a>

<p id="bonjour">Bonjour</p>

<div id="vide"></div>

</body> </html>

1. Ecrire le code de la fonction effet() qui permet :

a. D’appliquer la classe de style statique au texte Bonjour.

b. D’ajouter le texte "Etudiant de l'ISET" dans une zone <DIV> à l’intérieur de la

zone identifiée par « vide » en appelant la fonction ajouterNoeud.

c. D’ajouter le texte "de Sfax" dans une nouvelle zone <DIV> qui doit être

ajoutée à l’intérieur de la division identifiée par « vide », en appelant la

fonction ajouterNoeud.

d. D’appliquer la classe de style dynamique pour tout le contenu de la zone

identifiée par « vide ».

Page 245: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

2. Compléter le code de la fonction ajouterNoeud(el, text, ident) afin de permettre d’ajouter

un élément « el » ayant l’identificateur « ident » et ayant le contenu « text ».

Exercice 3 :

Soit le code HTML suivant :

<html><head><title> Exercice 3</title>

<style type="text/css">

#citation {top: 50px; left: 50px}

#info{top: 100px; left: 100px; font-weight: bold}

#im {visibility:hidden}

</style>

<script>

couleur=0;

function anime_paragraphe(element)

{

}

function anime()

{

}

function ajout_image()

{

}

</script> </head>

<body>

<a href="#" onClick="ajout_image()">Ajouter image</a>

<input type="button" value="Lancer l'animation!" onclick="anime()">

<div id="citation">

<p>un essai de texte</p>

<p>avec un retour à la ligne</p>

<p>et un second !</p><p>C'est une autre ligne</p>

</div>

Page 246: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

<div><p id="info"> C'est la dernière ligne</p></div>

<div id="im"> <img src="image.jpg" /> </div>

</body> </html>

1. Dans la fonction anime() :

a. Dans une variable appelée animable, stocker l’identifiant citation.

b. Faire une boucle sur l'ensemble de la collection des éléments enfants.

c. Pour chaque élément enfant, tester s'il s'agit d'un nœud de paragraphe. Si oui,

appeler la fonction anime_paragraphe avec comme argument l'objet élément.

3. Dans la fonction anime_paragraphe(element) faire en sorte que la couleur de l'élément

devienne bleue.

4. Dans la fonction ajout_image() faire en sorte que l’image devienne visible.

Exercice 4

Ecrire les codes HTML et Javascript permettant de créer une page web contenant un bouton.

Le clic sur le bouton doit permettre la création et l’affichage d’une image dont les valeurs de

ses différents attributs doivent être connues à l’avance (les valeurs associées à src, width, h

Exercice 5

Ecrire les codes HTML et Javascript permettant de créer une page web qui permet d’ajouter

un nouveau paragraphe ainsi que la date de son adjonction lors d’un clic sur un bouton. Les

états initial et final de la page sont illustrés respectivement à l’aide des deux figures

suivantes :

Etat initial de la page web

Etat final de la page web

Page 247: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

1

ISET SFAX DEPARTEMENT

AU 2017/2018 S2 TECHNOLOGIE DE L’INFORMATIQUE

TP05

Matière : Atelier Web2 Classe : INF1

Exercice 1

Ecrire un script java qui permet de contrôler le changement d’un mot de passe. La longueur

du mot de passe doit être supérieure à 8 et il doit être identique à sa confirmation.

Exercice2

Ecrire un script java qui permet d’actualiser le prixTTC, le totalHT et le totalTTC suite aux

modifications dans prixHT, quantité et tva.

Exercice 3

Soit le formulaire suivant :

Page 248: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

2

1. Ecrivez le code HTML correspondant au formulaire ci-dessus tout développant les

fonctions JavaScript suivantes :

AfficheEtoile() : Une fois une catégorie est cochée, le deuxième champ texte affichera le

nombre d’étoiles correspondantes.

VerifNom() : Nom hôtel est obligatoire et ne contenant que des caractères alphabétiques

majuscules.

VerifChaine() : Si catégorie est égale à 3 et chaîne Abou Nawas afficher un message d’erreur.

Sachant que la liste Chaîne contient Al Mouradi et Abou Nawas.

VerifSite() : Site web doit commencer par « www. ».

Exercice 4

Construire un formulaire nommé calculette, contenant :

Des boutons radios permettant de choisir l’arrière plan de la page.

une boite de texte, nommée expression pour la saisie d'une expression

mathématique correcte.

une seconde nommée résultat pour afficher le résultat du calcul s'il est

possible.

un bouton pour déclencher le calcul, par association à l'événement onClick

Exercice 5

Préparer cette interface :

Enrichissez votre page en testant sur le champ nationalité qui a deux valeurs possibles

"Tunisienne /Etrangère" :

Page 249: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

3

o Pour une personne tunisienne on doit saisir le n° de la carte d'identité. Le

champ n°passeport doit être désactivé.

o Pour une personne étrangère on doit saisir le n° passeport. Le champ n° de la

carte d'identité doit être désactivé.

Exercice 6

Calcul mental pour classe de 5ème année de base. Vous êtes chargé de concevoir pour une

école primaire un logiciel d'entrainement au calcul mental sur des nombres naturels, pour des

classes de 5ème année de base.

Les élèves ne connaissent pas les nombres négatifs et décimaux, connaissent uniquement la

division euclidienne ("avec reste"). De plus pour éviter de trop grandes difficultés, vous

supposerez que :

- pour un produit, l'un des 2 nombres –seulement- est inférieur à 10.

- pour une division, le dividende est supérieur à 10 et le diviseur est compris entre 2 et 9

inclus.

Programme :

L'enfant utilisateur choisit lui-même une opération parmi +,-,*,div.

Le programme lui impose alors 2 entiers choisis au hasard de 1 à 99 (et qui

sont adaptés à l'opération choisie).

L'élève tape sa réponse. Le programme la compare à la bonne réponse : si elle

est juste, affichage de "BRAVO !", sinon "réponse erronée".

Calcul mental

Exercice 7

On se propose de développer la page « InfoPersonnelles.html ». A cet effet, il faut écrire le

code HTML et les scripts java permettant de :

Page 250: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

4

1- Afficher la date dès le chargement de la page « Inscription »

2- Contrôler que le nom et le prénom ne sont pas vides.

3- Afficher l’image correspondante au fichier sélectionné (doit être placée dans le même

répertoire que le script).

4- Les options de la liste filière s’affichent à partir d’une boucle écrite en JavaScript.

5- Contrôler le nombre de cases cochées qui ne doivent pas dépasser 3.

6- Tester si le bouton « nouveau » est coché, dans ce cas la zone « Matières maîtrisées » ne

s’affiche plus.

Date

Inscrit à l'institut

Nouveau Ancien

Identité

Nom

Prénom

Image

Téléphone

Email

Spécialité

Matières maîtrisées (Cocher au maximum 3)

Algorithmique

Programmation C

Architecture

Programmation Web

D'autres matières

Page 251: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

5

Exercice 8

Donner un script java qui, lorsque l’utilisateur sélectionne un continent affiche les pays

correspondants et lorsque l’utilisateur sélectionne un pays affiche sa superficie et son drapeau.

Un extrait du formulaire correspondant au travail demandé est le suivant :

Page 252: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

TP05 Atelier Web2 Page 1/2

ISET SFAX DEPARTEMENT

AU 2017/2018 S2 TECHNOLOGIE DE L’INFORMATIQUE

TP06

Matière : Atelier Web2 Classe : INF1

Exercice 1

1. Ecrire un script permettant d’afficher les coordonnées du pointeur de la souris lorsque le bouton de la souris est cliqué sur un paragraphe. Pour cela il faut utiliser la propriété event.clientX qui renvoie la coordonnée horizontale (en fonction de la zone cliente qui est la fenêtre actuelle) du pointeur de la souris lorsqu'un événement de souris a été déclenché. Aussi, la propriété event.clientY pour obtenir la coordonnée verticale. Le code HTML associé est le suivant :

<p onmousedown="aff_coords(event)">

Cliquez sur ce paragraphe pour afficher les coordonnées x et y du pointeur de la souris.</p>

<p id="demo"></p>

2. Modifier le script précédent pour permettre d’afficher les coordonnées du pointeur de la souris lorsque le bouton de la souris est cliqué sur n’importe où dans le document. Pour cela, utiliser addEventListener.

Exercice 2

Nous voulons créer, à travers un script java, un élément img et ce avec createElement. Puis

lui assigner une image (au moyen de l’attribut src) qui est alors affichée. Un gestionnaire

d'évènement est convoqué qui appelle la fonction imageclick quand on clique sur l'image et

qui permettra d’afficher le nom de l’image. L’exécution du code donne le résultat suivant :

Etat 1 Etat 2

Sachant que le code html contient cette ligne : <div id="imgstorage"></div>

Exercice 3

Ecrire un script java qui utilise la méthode addEventListener () pour ajouter les événements mouseover, mouseout et click sur le même bouton. Et ce en appelant différentes fonctions précisant chacune l’événement effectué sur ce bouton. L’exécution de ce code donne le résultat suivant :

Page 253: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

TP05 Atelier Web2 Page 2/2

Etat 1 Etat 2 Etat 3 Etat 4

Exercice 4

Ecrire un script permettant de faire le calcul du prix total en fonction du parfum de la crème glacée sélectionnée et de la quantité saisie, comme le présente l’exemple ci-dessous. Un gestionnaire d'évènement détecte les changements effectués pour réaliser le calcul du prix total.

Etat 1 Etat 2

Etat 3

Le code HTML correspondant est le suivant :

<p><label>Choisissez une saveur de crème glacée : </label></p>

<p><select id="s1">

<option value="4">chocolat</option>

<option value="5">fraise</option>

<option value="3">vanille</option>

</select>

Quantité <input type="number" value="1" id="q" /></p>

Page 254: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

TP05 Atelier Web2 Page 1/3

ISET SFAX DEPARTEMENT

AU 2017/2018 S2 TECHNOLOGIE DE L’INFORMATIQUE

TP07

Matière : Atelier Web2 Classe : INF1

Exercice 1

Ecrire un script permettant de faire déplacer « le chat » à la poursuite de « la souris », et ce chaque fois que le(s) doigt(s) bouge(nt), déclenchant un événement « touchmove ». Ce dernier appelle une fonction qui, à partir de « pageX » et « pageY », détecte les coordonnées du pointeur de la souris lorsqu’un événement a été déclenché. Puis à travers « marginLeft » et « marginTop » positionne l’image du « chat » dans cet emplacement. Le code HTML associé est le suivant :

<body>

<img src="images/chat.jpg" width="55" height="55" id="i1" ontouchmove="myFunction(event)" />

<img src="images/souris.jpg" width="45" height="45" />

<script>

function myFunction(event) {

}

</script>

</body>

Exercice 2

Soit le script suivant générant le résultat ci-dessous:

<head> <style> #box1,#box2{

border:solid black 1px; width:100px; height:100px;

position: fixed; top: 70px; display: inline;

} #box1{left:10px;} #box2{left: 200px;}

</style> </head> <body>

<img src="images/chrome.png" width="30" height="30" id="i1" ontouchmove="myFunction(event) "/> <div id="box1">Navigateur</div>

<div id="box2">n'est pas un navigateur</div>

Page 255: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

TP05 Atelier Web2 Page 2/3

<script>

function myFunction(event) { }

</script> </body>

On veut écrire un script qui doit déplacer le logo du navigateur chrome dans le box correspondant. Ce dernier, deviendra de couleur verte. A chaque fin de déplacement le logo reviendra à son emplacement initial.

Note : getBoundingClientRect() permet de renvoyer la valeur d’un élément sous forme d’un objet « DOMRect » qui contient les propriétés « left », « top », « right » et bottom ».

Exercice 3

Ecrire un script java qui crée un Web Worker qui compte les nombres en arrière-plan. Le script faisant cette tâche est stocké dans le fichier "travail_worker.js". Celui-là calcule, à travers setTimeout et à chaque seconde, le compteur. Puis envoie le résultat sous forme d’un message. Un objet Web Worker est créé dans une page HTML. Il continue d'écouter les messages jusqu'à ce qu'il soit arrêté. Les données du Web Worker sont stockées dans event.data. Pour mettre fin à un Web Worker et libérer des ressources du navigateur / ordinateur, utiliser la méthode terminate().Cette dernière, faisant partie de l'interface Worker, le termine immédiatement. L’exécution de ce code donne le résultat suivant :

Etat 1 Etat 2 : démarrer Etat 3 : stopper

Le code HTML correspondant est le suivant :

<body>

<p>Compteur: <span id="result"></span></p>

<button onclick="startWorker()">Démarrer Worker</button>

<button onclick="stopWorker()">Stopper Worker</button>

Page 256: Programmation Web2 · 2 Le JavaScript est un langage de script incorporé dans un document HTML. Il est utilisé pour améliorer la présentation et l'interactivité des pages Web

TP05 Atelier Web2 Page 3/3

<script>

var w;

function startWorker() {

}

function stopWorker() {

}

</script>

</body>

Exercice 4

Ecrire un script permettant de sélectionner une image, à travers le champ file. Chaque image choisie sera affichée ainsi que son nom comme le montre l’exécution suivante :

Etat 1 Etat 2 Etat 3

Le code HTML correspondant est le suivant :

<style>

.im { height: 75px; border: 1px solid #000; margin: 10px 5px 0 0; }

</style>

<input type="file" id="f1" multiple />

<p id="demo"> </p>