Author(s): Thierry Templier, Arnaud Gougeon
Publisher: Eyrolles
Year: 2007
Language: French
Pages: 509
Remerciements......Page 2
Objectifs de cet ouvrage......Page 3
Organisation de l’ouvrage......Page 4
À qui s’adresse l’ouvrage ?......Page 5
Table des matières......Page 7
Le langage JavaScript......Page 18
Historique......Page 19
ECMAScript......Page 20
JavaScript......Page 21
JavaScript dans un navigateur Web......Page 22
Enrichissement des interfaces graphiques......Page 24
Échanges de données......Page 25
Structuration des applications......Page 26
Conclusion......Page 27
Partie I - Principes de base de JavaScript......Page 28
Interpréteurs JavaScript......Page 30
Utilisation de JavaScript dans un navigateur......Page 32
Variables et typage......Page 33
Opérateurs......Page 37
Structures de contrôle......Page 41
Méthodes de base......Page 44
Tableaux......Page 45
Types de base......Page 49
Manipulation des chaînes......Page 50
Manipulation des nombres......Page 52
Manipulation des dates......Page 53
Expressions régulières......Page 54
Fonctions......Page 58
Gestion des exceptions......Page 62
Conclusion......Page 64
Rappel des principes de la programmation objet......Page 66
Classes et objets......Page 67
L’héritage......Page 69
Agrégation et composition......Page 72
En résumé......Page 73
Classes JavaScript......Page 74
Classes de base......Page 76
Classes pré-instanciées......Page 79
Mise en oeuvre de classes......Page 81
L’héritage de classes......Page 89
Pour aller plus loin......Page 95
Conclusion......Page 100
Spécifications du DOM......Page 102
Structure du DOM......Page 103
La classe Node......Page 104
Types des noeuds......Page 105
Accès direct aux éléments......Page 106
Accès aux éléments à partir d’un noeud......Page 107
Manipulation des noeuds......Page 108
Utilisation des fragments d’arbre......Page 110
Manipulation des attributs......Page 111
Parcours de l’arbre DOM......Page 112
L’attribut innerHTML......Page 115
Modification de l’arbre DOM au chargement......Page 117
Conclusion......Page 120
Ajax et la classe XMLHttpRequest......Page 122
La classe XMLHttpRequest......Page 123
Gestion des échanges......Page 125
Échanges de données......Page 126
Données échangées......Page 127
Structure des données échangées......Page 128
Contournement des restrictions......Page 131
Proxy au niveau du serveur......Page 132
iframe cachée......Page 133
Utilisation dynamique de la balise script......Page 137
Conclusion......Page 139
Partie II - Fondations des bibliothèques JavaScript......Page 140
6 - La bibliothèque prototype......Page 142
Support des classes......Page 143
Essai de fonctions......Page 144
Support des fonctions......Page 145
Chaînes de caractères......Page 146
Gestion des collections......Page 148
Support du DOM......Page 155
Exécution de requêtes Ajax......Page 156
Mise à jour d’éléments HTML......Page 159
Raccourcis......Page 161
Conclusion......Page 163
7 - Fondations de la bibliothèque dojo......Page 164
Mécanismes de base......Page 165
Installation et configuration......Page 166
Gestion des modules......Page 168
Support de base......Page 171
Vérification de types......Page 172
Fonctions......Page 173
Support de la programmation orientée objet......Page 174
Tableaux......Page 175
Initialisation des classes......Page 179
Support de l’héritage......Page 180
Chaînes de caractères et dérivés......Page 181
Chaînes de caractères......Page 182
Dates......Page 184
Expressions régulières......Page 187
Collections de base......Page 190
Structures de données avancées......Page 192
Itérateurs......Page 194
Support du DOM......Page 195
Fonction dojo.io.bind......Page 200
Support de RPC......Page 204
Soumission de formulaire......Page 206
Traces applicatives......Page 207
Mesure des performances......Page 209
Conclusion......Page 211
Partie III - Programmation graphique Web avec JavaScript......Page 212
8 - Fondements des interfaces graphiques Web......Page 214
HTML et xHTML......Page 215
CSS......Page 219
Définition de styles......Page 220
Application des styles......Page 221
Détection du navigateur......Page 225
Manipulation de l’arbre DOM......Page 226
Gestion des événements......Page 227
Manipulation des styles......Page 237
Gestion des événements......Page 239
Utilisation des technologies XML et XSLT......Page 240
Conclusion......Page 246
Généralités sur les composants graphiques......Page 248
Relations entre composants graphiques......Page 250
Structuration des composants graphiques......Page 251
Conception orientée objet......Page 252
Apparence......Page 253
Comportement générique......Page 255
Gestion des événements......Page 257
Utilisation d’Ajax......Page 258
Construction fondée sur le HTML......Page 259
Construction fondée sur JavaScript......Page 261
Exemples d’implémentation de composants graphiques......Page 263
Zone de texte et complétion automatique......Page 264
Liste de sélection......Page 265
Conclusion......Page 269
Partie IV - Bibliothèques JavaScript graphiques......Page 270
Manipulation d’éléments de l’arbre DOM......Page 272
Ajout de blocs HTML......Page 275
Gestion des événements......Page 277
Support des formulaires HTML......Page 281
La bibliothèque behaviour......Page 283
Installation et mise en oeuvre de la bibliothèque behaviour......Page 284
La bibliothèque script.aculo.us......Page 286
Effets......Page 287
Glisser-déposer......Page 292
Autocomplétion......Page 295
En résumé......Page 297
Conclusion......Page 298
11 - Support graphique de la bibliothèque dojo......Page 300
Fonctions de base......Page 301
Gestion des styles......Page 303
Gestion de l’affichage......Page 305
Fonctions de base......Page 307
Découplage......Page 311
Gestion des effets......Page 313
Implémentation des composants graphiques......Page 316
Structuration des composants graphiques......Page 317
Implémentation d’un composant personnalisé......Page 323
Mise en oeuvre des composants......Page 327
Manipulation de composants graphiques......Page 330
Composants prédéfinis......Page 334
Composants simples......Page 335
Positionnement......Page 337
Fenêtres......Page 339
Menus et barres d’outils......Page 343
Composants complexes......Page 348
Mise en oeuvre de dojo......Page 355
Utilisation de composants graphiques......Page 356
Conclusion......Page 362
Historique......Page 364
Installation......Page 365
Support de base......Page 367
Support des techniques Ajax......Page 373
Structuration des composants......Page 374
Composants de base......Page 376
Gestion des formulaires......Page 384
Positionnement......Page 387
Fenêtres flottantes......Page 393
Composants complexes......Page 395
Comportements......Page 406
Rialto Studio......Page 407
Conclusion......Page 409
Partie V - Utilisation de services externes......Page 410
Description et fonctionnement......Page 412
Installation......Page 414
Utilisation de base......Page 415
Enrichissement de l’interface......Page 417
Interaction avec l’application......Page 422
Extension EInsert......Page 427
Support de Google Maps dans dojo......Page 429
Recherche géographique de sites......Page 431
Positionnement d’un site......Page 433
Conclusion......Page 434
Yahoo!......Page 436
Service de recherche Internet......Page 437
Service de recherche d’albums musicaux......Page 441
Utilisation des services......Page 443
Service ECS......Page 447
Utilisation du service......Page 453
Conclusion......Page 457
Partie VI - Outils annexes......Page 458
Mise en oeuvre de JsUnit......Page 460
Les cas de test......Page 462
Assertion et échec......Page 466
Les suites de tests......Page 467
Chargement de données pour les tests......Page 469
Test Runner......Page 470
Le lanceur JsUnit intégré à Eclipse......Page 472
Automatisation des tests avec JsUnit Server et Ant......Page 474
Implémentation de simulacres simples......Page 479
Implémentation de simulacres fondée sur JsUnit......Page 480
Réalisation des tests......Page 481
Conclusion......Page 485
Outils de développement......Page 488
ATF (Ajax Toolkit Framework)......Page 489
Console JavaScript de Firefox......Page 493
FireBug pour Firefox......Page 494
Débogage dans Internet Explorer......Page 497
Débogage avec dojo......Page 499
jsDoc......Page 500
Outils de compression......Page 503
Chargement dynamique......Page 504
Conclusion......Page 505
Index......Page 506