Rappels sur JavaScript, DOM et AJAX
- Le langage JavaScript. Principes de bases, forces et faiblesses.
- Qu'est-ce qu'AJAX ?
- HTML, XHTML, DHTML, JavaScript et CSS.
- Les apports d'AJAX à une application Web.
- Les différents frameworks AJAX disponibles.
- Rappels XML.
- Document Object Model (DOM). Utilité dans le cadre d'une application Web.
Présentation de Dojo
- Qu'est-ce que Dojo ?
- Navigateurs supportés par Dojo.
- Les différents composants Dojo.
- Un premier exemple d'utilisation de Dojo.
Utilisation de Dojo
- Notions de base : le fichier djConfig, les tableaux et objets avec Dojo.
- Accès à l'arbre DOM : dojo.query...
- Gestion d'événements avec Dojo : dojo.connect, dojo.publish...
- AJAX avec Dojo : AJAX / IO, JSON tools.
Travaux pratiques
Développement d'une application Web utilisant Dojo.
Présentation de JSF 2.0 (JSR 314)
- Prrincipes.
- Les serveurs compatibles.
- L'intégration de JSF au serveur.
Travaux pratiques
Mise en place de JSF et création d'une première application.
Concepts de base JSF
- Cycle de vie d'une requête JSF.
- Les différents événements rencontrés.
- Le modèle, les règles et le système de navigation.
- Les facelets.
- Utilisation des balises dans les facelets.
- Les composants standard de JSF.
- Les librairies core, HTML et ui.
Travaux pratiques
Mise en oeuvre de quelques composants JSF au sein d'une application.
La gestion des événements en JSF 2.0
- Le modèle d'événements de JSF.
- Fonctionnement des événements JSF.
- Ecrire ses propres listeners.
Travaux pratiques
Ajout d'une gestion événementielle.
Conversion et validation
- Le système de conversion de JSF.
- Conversion de date.
- La conversion de nombres.
- Le système de validation de JSF.
- Les différents types de validateur.
Intégration de Dojo à JSF
- Les différentes approches.
- Association de composants JSF et de widgets Dojo côté client (Deferred binding).
- Conversion d'un composant JSF en widget DOJO par injection côté client (Lazy injection).
- Exemples et bonnes pratiques.
Travaux pratiques
Mise en oeuvre de l'une des approches présentées.