Author(s): Michel Plasse, Olivier Salvatori
Language: French
Pages: 325
Remerciements......Page 2
Avant-propos......Page 3
Organisation de l’ouvrage......Page 4
Table des matières......Page 7
Qu’est-ce qu’Ajax ?......Page 12
Mise à jour d’une partie de la page......Page 13
Communication asynchrone avec le serveur......Page 14
Techniques mises en oeuvre......Page 15
Validation et mise à jour d’une partie de la page......Page 16
Aide à la saisie, notamment suggestion de saisie......Page 18
Lecture de flux RSS......Page 19
Tri, filtrage et réorganisation de données côté client......Page 20
Édition WYSIWYG de documents......Page 21
Diaporamas et autres applications documentaires......Page 22
Débranchement dans un scénario......Page 23
Rafraîchissement d’une branche d’une arborescence......Page 24
Exemple Ajax simple......Page 25
Le code côté serveur......Page 28
Le code côté client......Page 29
La requête XMLHttpRequest......Page 33
Conclusion......Page 34
2 - Le HTML dynamique......Page 36
Balises, arbre et boîtes HTML......Page 37
Les CSS (Cascading Style Sheet)......Page 40
Les règles CSS......Page 41
Boîtes et dimensions......Page 43
Afficher/masquer un élément......Page 45
Les calques et le positionnement des boîtes......Page 46
DOM (Document Object Model)......Page 51
Les interfaces DOM......Page 52
Peupler une liste de suggestions......Page 54
Positionnement de la liste de suggestions......Page 55
Récupération de noeuds......Page 57
DOM Events......Page 59
Événements reconnus par les navigateurs......Page 60
Programmation événementielle mais traitement séquentiel......Page 61
Association d’une réaction à un événement......Page 62
Ordre des événements......Page 64
Propagation des événements......Page 67
Les événements clavier......Page 71
Les événements liés à la souris......Page 74
Conclusion......Page 76
3 - Les composants JavaScript......Page 78
Outils d’aide au développement......Page 79
Fonctionnalités objet de JavaScript......Page 80
Différences avec Java, Eiffel et C#......Page 81
Les objets JavaScript......Page 82
La notation JSON......Page 84
Les fonctions anonymes......Page 85
Le mot-clé this......Page 89
Les constructeurs......Page 90
Les prototypes......Page 92
Le mécanisme de fermeture......Page 102
this et les événements......Page 103
La boîte d’information......Page 105
Les onglets......Page 116
Suggestion de saisie......Page 123
Conclusion......Page 138
4 - Communication avec le serveur via XMLHttpRequest......Page 140
Rappels sur HTTP......Page 141
Instanciation d’une requête XMLHttpRequest......Page 146
Requêtes synchrones ou asynchrones ?......Page 148
Cycle de vie de la requête......Page 149
Gestion du cache......Page 154
Les problèmes d’encodage......Page 159
Les requêtes parallèles......Page 163
Suggestion de saisie......Page 168
Mise à jour d’une partie de la page......Page 177
Conclusion......Page 186
5 - Échange de données en XML ou JSON......Page 188
Documents bien formés......Page 189
Choix de la structure des données......Page 193
Le DOM XML......Page 197
La mise à jour partielle avec XML......Page 198
JSON (JavaScript Object Notation)......Page 200
Communication JSON entre JavaScript et PHP......Page 202
La mise à jour partielle avec JSON......Page 204
Comparaison des formats d’échange......Page 206
Exemple d’application avec les flux RSS......Page 208
Les formats RSS......Page 209
Le serveur comme mandataire HTTP......Page 211
Le composant lecteur de RSS......Page 212
Affichage du flux......Page 215
En résumé......Page 218
XSLT (eXtensible Stylesheet Language Transformations)......Page 219
XPath......Page 220
Fonctionnement de XSLT......Page 222
La syntaxe XSLT......Page 223
Les espaces de noms......Page 226
Exemple de transformation XSLT......Page 227
Exemple d’application de lecteur RSS avec XSLT......Page 230
Le composant XSLView......Page 232
La transformation XSLT......Page 235
La page HTML......Page 237
Conclusion......Page 241
Boîtes à outils, bibliothèques et frameworks......Page 244
Les bibliothèques JavaScript......Page 246
prototype.js......Page 247
Fonctions et objets utilitaires......Page 248
Encapsulation et extensions de DOM......Page 251
Les appels XMLHttpRequest......Page 253
script.aculo.us......Page 256
rico......Page 258
dojo......Page 260
Fonctions et objets utilitaires......Page 263
Encapsulation et extensions de DOM......Page 266
Les appels Ajax......Page 267
Les widgets......Page 272
Édition WYSIWYG......Page 275
Yahoo User Interface......Page 278
Conclusion......Page 279
7 - Les applications Ajax et Web 2.0......Page 282
Single Page Application, ou navigation classique ?......Page 283
Historique d’une session utilisateur......Page 284
L’action Page précédente......Page 285
L’action Ajouter aux favoris......Page 286
L’historique de navigation en dojo......Page 287
Architecture des applications Web......Page 290
Fonctionnalités à porter en Ajax......Page 292
Portage du panier en Ajax......Page 295
Conception du panier en Ajax......Page 298
Gestion du panier côté serveur......Page 300
Gestion du panier côté client......Page 305
Affichage des produits......Page 310
Vue du panier sous forme de tableau......Page 313
Conclusion......Page 316
Couleurs système prédéfinies dans les CSS......Page 318
Statut des réponses HTTP......Page 319
L’objet XMLHttpRequest......Page 320
Index......Page 322