1 Introduction
1.1 Présentation
Nous nous proposons ici d'introduire, à l'aide d'exemples
•le framework Java Server Faces 2 (JSF2),
•la bibliothèque de composants PrimeFaces pour JSF2, pour les applications de bureau et les mobiles.
Ce document est principalement destiné aux étudiants et développeurs intéressés par la bibliothèque de composants PrimeFaces
[http://www.primefaces.org]. Ce framework propose plusieurs dizaines de composants ajaxifiés
[http://www.primefaces.org/showcase/ui/home.jsf] permettant de construire des applications web ayant un aspect et un
comportement analogues à ceux des applications de bureau. Primefaces s'appuie sur JSF2 d'où la nécessité de présenter d'abord ce
framework. Primefaces propose de plus des composants spécifiques pour les mobiles. Nous les présenterons également.
Pour illustrer notre propos nous construirons une application de prise de rendez-vous dans différents environnements :
1. une application web classique avec les technologies JSF2 / EJB3 / JPA sur un serveur Glassfish 3.1,
2. la même application ajaxifiée, avec la technologie PrimeFaces,
3. et pour finir, une version mobile avec la technologie PrimeFaces Mobile.
A chaque fois qu'une version aura été construite, nous la porterons dans un environnement JSF2 / Spring / JPA sur un serveur
Tomcat 7. Nous construirons donc six applications Java EE.
Le document ne présente que ce qui est nécessaire pour construire ces applications. Aussi ne doit-on pas y chercher
l'exhaustivité. On ne la trouvera pas. Ce n'est pas non plus un recueil de bonnes pratiques. Des développeurs aguerris pourront ainsi
trouver qu'ils auraient fait les choses différemment. J'espère simplement que ce document n'est pas non plus un recueil de
mauvaises pratiques.
Pour approfondir JSF2 et PrimeFaces on pourra utiliser les références suivantes :
•[ref1] : Java EE5 Tutorial [http://java.sun.com/javaee/5/docs/tutorial/doc/index.HTML], la référence Sun pour
découvrir Java EE5. On lira la partie II [Web Tier] pour découvrir la technologie web et notamment JSF. Les exemples du
tutoriel peuvent être téléchargés. Ils viennent sous forme de projets Netbeans qu'on peut charger et exécuter,
•[ref2] : Core JavaServer Faces de David Geary et Cay S. Horstmann, troisième édition, aux éditions Mc Graw-Hill,
•[ref3] : la documentation de PrimeFaces [http://primefaces.googlecode.com/files/primefaces_users_guide_3_2.pdf],
•[ref4] : la documentation de PrimeFaces Mobile :
[http://primefaces.googlecode.com/files/primefaces_mobile_users_guide_0_9_2.pdf].
Nous ferons parfois référence à [ref2] pour indiquer au lecteur qu'il peut approfondir un domaine avec ce livre.
Le document a été écrit de telle façon qu'il puisse être compris par le plus grand nombre. Les pré-requis nécessaires à sa
compréhension sont les suivants :
•connaissance du langage Java,
•connaissances de base du développement Java EE.
On trouvera sur le site [http://developpez.com] toutes les ressources nécessaires à ces pré-requis. On en trouvera certaines sur le
site [http://tahe.developpez.com] :
•[ref5] : Introduction à la programmation web en Java (septembre 2002) [http://tahe.developpez.com/java/web/] :
donne les bases de la programmation web en Java : servlets et pages JSP,
•[ref6] : Les bases du développement web MVC en Java (mai 2006) [http://tahe.developpez.com/java/baseswebmvc] :
préconise le développement d'applications web avec des architectures à trois couches, où la couche web implémente le
modèle de conception (Design Pattern) MVC (Modèle, Vue, Contrôleur).
•[ref7] : Introduction à Java EE 5 (juin 2010) [http://tahe.developpez.com/java/javaee]. Ce document permet de
découvrir JSF 1 et les EJB3.
•[ref8] : Persistance Java par la pratique (juin 2007) [http://tahe.developpez.com/java/jpa]. Ce document permet de
découvrir la persistance des données avec JPA (Java Persistence API).
http://tahe.developpez.com 2/424