Ajax
- Les objectifs d'Ajax. Principes de fonctionnement.
- Force du mix technologique Ajax/REST/Web 2.0.
- Choisir entre Ajax et Flash, Applet, Html. Application.
Rappels XML et Javascript
- La structure XML. Les namespaces.
- Les moyens de validation XML : DTD et XSD.
- Limite du XPath. Mise en oeuvre XSLT en Ajax.
- La programmation Objet. Types. Variables. Tableaux.
- Ecmascript. Emergence d'ActionScript.
Travaux pratiques
Création d'une structure XML bien formée et valide. Manipulation de classes et d'objets.
Javascript Object Notation (JSON)
- Avantages et inconvénients dans les échanges.
- Objets, Arrays, syntaxe et parseur JSON.
- JSON, avantages et inconvénients.
- Sérialisation entre client et serveur.
Programmation du DOM
- Importance du langage XHTML. Composants DHTML.
- Le rôle du DOM dans la programmation XML.
- Gestion dynamique de CSS.
Travaux pratiques
Modification dynamique du DOM d'une page HTML.
Traitements XML en Javascript
- Présentation XSLT. Langage Xpath. Format RSS.
Travaux pratiques
Traitement XSLT. Usage de flux RSS.
XMLHttpRequest
- Créer et utiliser un objet XMLHttpRequest.
- Outils de débogage (IE Toolbar, Firebug).
- Modification des en-têtes HTTP.
- Encodage et décodage des données.
- Gestion des erreurs. Gestion du cache.
Travaux pratiques
Gérer une table produit, un formulaire de login en Ajax. Remplir dynamiquement un menu déroulant.
Les patterns Ajax
- Threads. Usage d'iFrame pour les appels client/serveur.
- Traitements asynchrones, synchrones.
- Sécuriser des échanges Ajax (cryptage, sessions...).
- Problématiques de sécurité et performance : cryptage, compression, débogage, offuscation.
- Mise en place de proxy crossDomain.
- Présentation et mise en oeuvre du framework jQuery.
Travaux pratiques
Mise en oeuvre de requêtes asynchrones et multithreads. Développement Ajax en jQuery.
Compléments
- Framework Ajax, Java, .NET. Ajax et XUL.
- Présentation de la programmation Ajax avec HTML5.
- Ajax et les API Google : Google Search et Google Maps.
Travaux pratiques
Développer en Javascript un exemple de cartographie. Développement Ajax sous HTML5.