Support du Cours de
PROGRAMMATION WEB AVANCÉE CÔTÉ CLIENT
Andrea G. B. Tettamanzi Université Nice Sophia Antipolis UFR Sciences – Département Informatique
Année Universitaire 2014/2015
Dernière mise à jour : 23 avril 2015
ii
Avant-propos
Ce cours porte sur les technologies qui, collectivement, composent la “Open Web Platform”, la plate-forme Web du Consortium W3C, c’est-à-dire, en gros : – HTML5, la dernière version, encore en cours de standardisation, du lan-
gage de balises pour hypertextes,
– son standard associé pour accéder à et manipuler des documents HTML (le modèle orienté objet de documents, Document Object Model),
– CSS3, le langage pour la définition de feuilles de style en cascade, – le langage de scripting JavaScript,
– les nouvelles API permettant la graphique basée sur un navigateur, la géolocalisation, le stockage local de données, des capabilités multimédia et la communication en temps réel entre les navigateurs.
Évidemment, on ne pourra pas tout couvrir avec la même profondeur. On insistera surtout sur le langage JavaScript, qui permet d’écrire des programmes associés à des pages web qui s’exécutent dans le navigateur et sur leDocument Object Model, qui permet à ces programmes d’accéder et modifier la page web à laquelle ils sont associés.
iii
iv
Table des matières
Avant-Propos ii
1 Introduction 1
1.1 La plate-forme Web . . . 1
1.2 Script . . . 4
2 JavaScript : éléments du langage 7 2.1 Histoire . . . 7
2.2 Vue d’ensemble du langage . . . 8
2.3 Types et expressions . . . 9
2.4 Instructions et structures de contrôle . . . 10
2.5 JavaScript et HTML . . . 10
3 Le Document Object Model 15 3.1 Histoire . . . 15
3.2 Structure du standard . . . 16
3.3 Nœuds DOM . . . 16
3.4 Interface de programmation . . . 18
3.5 Les Objets DOM . . . 20
4 Objets, prototypes et héritage en JavaScript 25 4.1 Objets . . . 25
4.2 Prototypes et héritage . . . 30
5 Objets standard en JavaScript 35 5.1 L’objet global . . . 36
5.2 L’objet Object . . . 37
5.3 L’objet Function . . . 37
5.4 L’objet Array . . . 38
5.5 L’objet String . . . 40
5.6 Les objetsBooleanetNumber . . . 42
5.7 L’objet Math . . . 42
5.8 L’objet Date . . . 42
6 Gestion des erreurs en JavaScript 45 6.1 Erreurs et exceptions . . . 45
6.2 Gestion d’exceptions . . . 46
6.3 Les instructionsthrowet try . . . 46
6.4 L’objet Error . . . 48 v