GestCV

Introduction

Le projet GestCV a pour but de réaliser une application WEB en JAVA, permettant de gérer des CV orienté SSII (Notion de Collaborateurs, d'Agences,...). Autrement dit cette application permettra de saisir un CV, rechercher des CV (par domaines de compétences, par nom, ...) et générer les CV sous format RTF.

Le but essentiel de ce projet est de décrire l'architecture mise en place, les choix techniques, qui composent GestCV, et l'utilisation de plusieurs frameworks J2EE. Ce projet n'est pas un tutorial détaillé sur chacune des technologies utilisées, et n'est pas une préconisation des architectures à utiliser, c'est juste le résultat d'une expérience.

GestCV s'appuie sur plusieurs frameworks emergeant dans le monde J2EE :

  • Struts un framework MVC en Open Source, écrit en JAVA et permettant de construire des applications WEB.
  • Spring un conteneur léger, qui s'appui sur les principes du design pattern IoC et sur la programmation par aspects AOP. Dans le cadre de GestCV, Spring sera utilisé pour la gestion des accès à la base de données (Ouverture, fermeture des connections, gestion des transactions...).
  • Hibernate un framework en Open Source, gérant la persistance des objets dans une base de données relationnelle.

A ces frameworks, plusieurs librairies vont etre couplées :

  • Tiles une bibliothèque de balises qui permet d'assembler dynamiquement des pages de présentation à partir de composants réutilisables. Tiles sera utilisée pour le header/body footer de gestCV.
  • DisplayTag, taglibs qui permet d'afficher des tableaux de données avec tri et pagination. La version 1.1 sera utilisée parce qu'elle donne la possibilité de gérer le tri et la pagination aux niveau base de données.
  • AjaxTags, taglib qui permet de gérer des composants AJAX. Dans le cadre de GestCV, l'autocomplétion (à la Goggle Suggest) sera utilisée.
  • Struts-menu, qui permet d'afficher des menus décrits dans un fichier XML.
  • FormView, taglib qui permet de gérer le mode d'affichage d'une JSP. (lecture, écriture, ...)
  • RTFTemplate moteur RTF, qui permet de fusionner un modèle RTF avec un contexte d'objets JAVA.
  • JSPTabControl, taglib qui permet de gérer des onglets dans une page JSP.

La base de données utilisée par GestCV est MySQL.