Lors de la soirée web du Paris JUG du 10 mars 2009, nous avons développé une mini application web de gestion de contacts. Cette application permet d'illustrer différentes fonctionnalités du framework et nous allons publier dans les jours à venir une série d'une vingtaine d'articles afin de développer la même application pas à pas.
Sont téléchargeables depuis ce billet un Starter Kit sous forme de projet Eclipse contenant les fichiers HTML, images et CSS ainsi qu'un deuxième projet correspondant à la solution.
Les fonctionnalités de l'application sont les suivantes et seront expliquées pas à pas dans les prochains jours dans une série de billets dédiés.
- La navigation entre pages
- L'organisation d'une structure commune des pages (Type Tiles / Sitemesh)
- La désactivation du lien correspondant à la page courante
- L'édition d'un contact
- La création d'un contact
- Lister les contacts
- L'ajout rapide d'un contact dans une liste
- Le refresh de la date courante via appels Ajax
- L'édition "in place" d'un libellé sans passer par un écran d'édition
- L'ajout de la validation (Nom et prénom obligatoires, contrôle du format date, contrôle du type email)
- Utilisation d'un date picker
- Synchronisation du format du DatePicker avec le format utilisé par le convertisseur
- Ajout des mêmes contrôles de validation côté client, en Javascript
- Gestion de la problématique du refresh afin d'éviter la double soumission
- Non duplication du code du formulaire... le même composant doit être utilisé pour la page d'édition de contacts et de liste des contacts
- Le drag & drop depuis la liste vers le formulaire d'édition
- L'affichage de message d'erreurs
- La réutilisation des mêmes messages d'erreurs en validation serveur et javascript
- Le tri de la liste des contacts par nom et par prénom
Pour installer le projet, il faut suivre les étapes suivantes depuis la racine du projet :
Etape 1 :
- Invoquer la commande mvn eclipse:eclipse afin de créer le projet eclipse et les fichiers .classpath et .project correspondants.
- Créer dans eclipse une variable M2_REPO qui pointe sur votre repository Maven local
- Depuis la racine du projet, lancer les deux commandes suivantes afin d'importer les librairies dans votre repository Maven
mvn install:install-file -Dfile=src/main/webapp/WEB-INF/lib/wicketstuff-scriptaculous-1.3.jar -Dpackaging=jar -DgroupId=org.wicketstuff -DartifactId=scriptaculous -Dversion=1.3 mvn install:install-file -Dfile=src/main/webapp/WEB-INF/lib/wicketstuff-yav-1.0.jar -Dpackaging=jar -DgroupId=org.wicketstuff -DartifactId=yav -Dversion=1.0
Etape 2 :
Démarrer le serveur en faisant mvn jetty:run ou mvnDebug jetty:run pour le remote debugging
A bientôt pour le prochain billet.

