Upload
medichas
View
91
Download
4
Embed Size (px)
DESCRIPTION
Rapport Stage 2 Année
Citation preview
Rapport de Stage de Fin de 2ème Année
Sujet
Implémentation d’une application J2EE de gestion des demandes de cartes de presse
professionnelles des journalistes
Réalisé par : Encadré par :
Sakina TASTAOUI M. Abderrahim EL HARROUS
Khadija ZEKANI
Année Universitaire 2012-2013
Ecole Nationale Supérieure d’Informatique et d’Analyse des Systèmes
Royaume du MAROCMinistère de la Communication
2012-2013
Remerciement
Il nous est agréable de nous acquitter d’une dette de reconnaissance auprès de toutes
les personnes, dont l’intervention au cours de ce stage, a favorisé son aboutissement.
Nous tenons à remercier vivement M. Abderrahim EL HARROUS, chef de
département Informatique au sien du Ministère de la Communication, pour ses propositions,
ainsi que pour l’offre de l’information.
Nos remerciements vont aussi à l’ensemble du corps professoral et administratif de
l’ENSIAS pour l’inestimable qualité de l'enseignement qui nous a été dispensé, et pour leur
bataille pour assurer une meilleure formation plus solide et plus valorisante.
Nous sommes très reconnaissantes à toutes les personnes qui ont contribué de près ou
de loin à l’élaboration de ce travail. Cependant, nous ne pouvons citer tous les noms. Que tous
ceux qui ont contribué au bon déroulement de ce travail trouvent ici l’expression de notre
profonde gratitude.
Stage de fin de la deuxième année
2012-2013
Résumé
Le présent rapport synthétise notre travail accompli dans le cadre du stage de fin de
la deuxième année qui s’est déroulé au sein du Ministère de la communication du royaume du
Maroc. Ce projet a pour objectif de développer un espace journaliste sur le portail web pour la
gestion des demandes de carte de presse professionnelle à distance.
Parmi les missions du ministère de communication une qui consiste à gérer les médiats et
plus précisément les relations avec la presse. Dans ce cadre le ministère offre aux
journalistes des cartes d’accréditations qui leurs assignent beaucoup de privilèges et assez de
droit. Notre stage consiste d’une part à mettre en place une application permettant aux
journalistes de déposer leurs demandes d’obtention de cartes en ligne et d’autre part à
faciliter aux responsables au niveau interne le traitement de ces demandes en utilisant la
plateforme J2EE et certains Framework.
Le projet a été élaboré en trois grandes étapes, à savoir :
La première étape est une étude fonctionnelle et technique comportant l’analyse des
besoins ainsi que la rédaction du dossier des spécifications fonctionnelles.
La deuxième étape est la conception du projet en langage de modélisation objet UML.
La troisième et dernière étape comprend la mise en œuvre de la solution.
Mots clés : carte d’accréditation, traitement de dossier, plateforme J2EE, Framework.
Stage de fin de la deuxième année
2012-2013
Abstract
This report outlines the work done in the context of the final second year internship
performed at the ministry of communication of the Moroccan Kingdom. The aim of this
project is to develop a web application that presents a portfolio to manage the requests for
accreditation card remote.
Among the tasks of the ministry of communication, we can consider the management
of Medias and specially the relationship with the press. In this context the ministry offers to
the journalist the accreditation cards that promote them with lot of privileges and more rights.
Our internship was the opportunity to develop a web application that offers two services: the
first one is facilitate to the journalists to apply online to get the cards. And in the same time
our application permits to the responsible in the back office to manage and treat the demands
under a J2EE platform and some other Frameworks.
The main steps followed during the projects are:
The first step was the functional and technical studies that emphasizes on the needs
and the writing of functional specification folder.
The second step focused more on the concept and mobilization of the project with
UML.
The third step was dedicated to the deployment of the solution.
Keywords! Accrediation card, the folder treatment; platforme J2EE, Framework.
Stage de fin de la deuxième année
2012-2013
Listes des abréviations
Abréviation Désignation
JEE Java Enterprise Edition
UML Unified Modeling Language
2TUP 2 Tracks Unified Process
PHP Hypertext Preprocessor
JSF Java Server Faces
API Application Programming Interface
ASF Apache Software fondation
HTML Hypertext Markup language
MVC Model view controller
SGBD Système de gestion de base de données
Stage de fin de la deuxième année
2012-2013
Table des figures
Figure 1 : organigramme du ministère de la communication [1]...........................................................15Figure 2: processus 2TUP [2].................................................................................................................18Figure 3: planification temporelle es étapes du projet............................................................................19Figure 4: Planning du projet...................................................................................................................20Figure 5 : processus d'obtention de carte de presse professionnelle.......................................................22Figure 6: les diffèrent profil utilisateurs.................................................................................................25Figure 7: Patron MVC [3]......................................................................................................................30Figure 8: diagramme de séquence "déposition du dossier"....................................................................35Figure 9: diagramme de séquence 2 "vérification du dossier"...............................................................36Figure 10: diagramme de séquence "Etude de la demande"...................................................................37Figure 11: MCD......................................................................................................................................38Figure 12: Authentification du journaliste..............................................................................................43Figure 13: profil de l'utilisateur..............................................................................................................43Figure 14: changer les informations du journaliste................................................................................44Figure 15: déposition de demande de carte de presse.............................................................................44Figure 16: Number One à DevRates [12]...............................................................................................53Figure 17: utilisation de PrimeFaces [12]...............................................................................................53Figure 18: utilisation de PrimeFaces en mois d’Avril 2012 [12]...........................................................53
Stage de fin de la deuxième année
2012-2013
Liste des tableaux
Tableau 1: rôles des utilisateurs..............................................................................................................25Tableau 2: les tables de la base de données............................................................................................38Tableau 3: Tableau comparatif de JSF vs Struts....................................................................................51Tableau 4: Libertaires de composants de JSF [11].................................................................................52
Stage de fin de la deuxième année
2012-2013
Tables des matières
Table des matières
Remerciement........................................................................................................................................3
Résumé...................................................................................................................................................4
Abstract..................................................................................................................................................5
Listes des abréviations...........................................................................................................................6
Table des figures....................................................................................................................................7
Liste des tableaux...................................................................................................................................8
Table des matières................................................................................................................................9
Introduction générale...........................................................................................................................11
Chapitre 1.............................................................................................................................................13
Introduction.....................................................................................................................................14
1. Présentation de l’organisme d’accueil [1]................................................................................14
1.1 Mission.............................................................................................................................14
1.1 Organigramme du ministère de la communication..........................................................15
2. Cadre du projet.........................................................................................................................16
2.1. Motivation........................................................................................................................16
2.2. Présentation du projet......................................................................................................16
2.3. Objectifs du projet............................................................................................................17
3. Elaboration de la conduite du projet........................................................................................17
3.1 Choix de la méthode du développement [2]....................................................................17
3.2 Planification du projet......................................................................................................19
Conclusion........................................................................................................................................20
Chapitre 2.............................................................................................................................................21
1. Étude de l’existant....................................................................................................................22
1.1 Déroulement de l’obtention des cartes de presse professionnelle..................................22
1.2 Critiques du système existant...........................................................................................23
2. Spécification des besoins fonctionnels.....................................................................................23
2.1 Liste de besoins fonctionnels concernant le système de gestion.....................................24
2.2 Analyse des besoins..........................................................................................................24
2.3 Diagrammes de cas d’utilisation du système....................................................................26
Stage de fin de la deuxième année
2012-2013
Tables des matières
Chapitre 3.............................................................................................................................................27
Introduction.....................................................................................................................................28
1. Exigences techniques................................................................................................................28
1.1 Une architecture JEE.........................................................................................................28
1.2 Le modèle MVC...............................................................................................................29
1.3 Frameworks utilisés..........................................................................................................30
Chapitre 4.............................................................................................................................................33
Introduction.....................................................................................................................................34
1. Diagrammes de séquence........................................................................................................34
1.1 Scénarios pour le « dépôt du dossier ».............................................................................34
1.2 Scénarios pour la « Vérification du dossier »...................................................................35
1.3 Scénarios pour « Etude du dossier »................................................................................36
2. Diagrammes de classe..............................................................................................................37
Conclusion........................................................................................................................................39
Chapitre 5.............................................................................................................................................40
Introduction.....................................................................................................................................41
1. Outils de développement.........................................................................................................41
1.1 Framworks........................................................................................................................41
1.2 IDE Eclipse.........................................................................................................................42
2. Réalisation................................................................................................................................42
Conclusion :......................................................................................................................................44
Conclusion générale.............................................................................................................................45
Webographie.......................................................................................................................................46
Annexes................................................................................................................................................47
Stage de fin de la deuxième année
2012-2013
Chapitre 1 Contexte du projet
Introduction générale
Dans le cadre de la politique gouvernementale d’approcher l’administration du
citoyen, toutes les tutelles du gouvernement marocain cherchent à informatiser ses
procédures réglementaires. Ainsi le ministère de la communication n’a pas fait l’exception en
tendant vers l’informatisation de son système.
En mettant en œuvre la politique du gouvernement, le ministère de la communication
agit sur tout le domaine de la communication. Cela impose une collaboration avec les
différents acteurs engagés dans ce domaine afin d’organiser certains métiers. Cette
organisation touche les spécialistes de la communication et des médias à travers leur activité
professionnelle. Parmi les métiers des médias, nous trouvons aussi bien les photographes, les
correspondants que les journalistes dont la profession est qualifiée du quatrième pouvoir.
Le métier du journaliste consiste à recueillir les informations sur des sujets particulier,
à collecter les données relatives à l’actualité ou à s’investiguer en s’appuyant sur toutes source
dans le but de produire des articles et des missions qui maintenaient le peuple en actualité, le
mettent en situation et le poussent à réagir. Vue cette grande importance le ministère de la
communication règlemente cette profession en offrant des cartes de presse professionnelle
dans le but de leurs facilité les taches et rendre leur quête d’information plus aisé.
Afin de se doter d’un tel privilège le journaliste aurai à se déplacer jusqu’au ministère
pour déposer sa demande de carte de presse professionnelle. Cela rendait la procédure
difficile et couteuse. Alors la solution était de mettre l’informatique en service du journaliste.
Notre stage portait donc sur la mise en place d’une plateforme pour la gestion des
demandes de cartes de presse professionnelle. Cela signifie qu’une fois l’application est
déployée les journalistes auront à déposer leur demande via le net en utilisant ce futur volet du
portail du ministère. Notre mission consistée en premier lieu à comprendre la procédure, et
identifier les documents utilisés et acteurs opérants. Ensuite nous avons établi une étude
technique et au même temps une autre fonctionnelle qui s’est fermée sur la livraison d’un
cahier de spécifications. Ensuite nous avons entamé la conception pour le mettre en œuvre en
dernier lieu.
Stage de fin de la deuxième année
2012-2013
Chapitre 1 Contexte du projet
Le présent rapport décrit le déroulement du stage il sera présenté sous forme de cinq
chapitres. Le premier expose le contexte général du projet en présentant l’organisme d’accueil
et le sujet proposé ainsi que la planification de son accomplissement. Les deux chapitres deux
et trois couvrent les études préalables à la réalisation du projet qui sont l’étude fonctionnelle,
visant à déterminer les besoin et à écrire le cahier des spécifications, Et l’étude technique,
concernant le choix de l’architecture, des outils et des technologies utilisées. Le dernier
chapitre décrit la mise en œuvre de ce projet.
Stage de fin de la deuxième année
2012-2013
Chapitre 1 Contexte du projet
Chapitre 1
Contexte du projetCe chapitre présente l’organisme d’accueil, le cadre général du projet et la méthodologie de
conduite du projet suivie pour élaborer ce travail.
Stage de fin de la deuxième année
2012-2013
Chapitre 1 Contexte du projet
IntroductionLa première partie de ce chapitre introduit l’organisme d’accueil, ses activités et sa structure
organisationnelle. La deuxième partie présente le cadre général du projet et une vision globale
sur les fonctionnalités attendues du système cible. La dernière partie précise la méthodologie
de conduite du projet suivie ainsi que le planning de la réalisation de ce projet.
1. Présentation de l’organisme d’accueil [1]
1.1 Mission
Le ministère de la communication prépare et met en œuvre la politique du gouvernement
dans tous les domaines de la communication. Il est le porte-parole du gouvernement.
Il exerce la tutelle sur les établissements publics et les autres organismes dépendant de son
autorité, conformément aux textes législatifs et réglementaires en vigueur. A cet effet, et sous
réserve des attributions dévolues aux autres départements ministériels ou d’autres organismes
par les textes législatifs et réglementaires en vigueur, il est chargé de :
Préparer et exécuter la politique du gouvernement relative aux différents domaines du
secteur de la communication : presse écrite, communication audiovisuelle, publicité,
cinéma et droits d’auteurs et droits voisins, la formation des ressources humaines du
secteur et la production nationale et assurer la mise à niveau et le développement du
secteur ;
Contribuer à la promotion de la société de l’information au Maroc ;
Elaborer, pour le compte du gouvernement, les cahiers des charges et les contrats
programmés avec les organismes publics intervenant dans le secteur afin qu’ils contribuent
aux objectifs des politiques publiques et de la réforme du secteur d’une part, de leur
sensibilisation à la responsabilité et à l’autonomie de gestion d’autre part ;
Réaliser des études juridiques et élaborer les textes relatifs à la réglementation du
secteur de la communication ;
Veiller à une promotion meilleure de l’image institutionnelle du Maroc ;
Stage de fin de la deuxième année
2012-2013
Chapitre 1 Contexte du projet
Mettre en place un service d’information public destiné à l’opinion publique
notamment aux leaders d’opinion à l’intérieur et l’extérieur du pays, afin de faire connaitre
les institutions du Maroc, ses grandes réformes, ses réalisations et ses potentialités.
Animer le travail du gouvernement en matière de communication.
Il veille également à la promotion et à l’organisation des professions liées aux secteurs de
la communication et encourage le partenariat avec les professionnels du domaine et les
opérateurs publiques et privés.
Le ministère de la communisation comprend, outre le cabinet du ministère et l’inspection
générale, une administration centrale (le secrétariat général, la direction des études et du
développement des médias, la direction de la communication et des relations publiques, la
direction du portail national et de la documentation, la direction des ressources humaines et
financières) et des services déconcentrés.
1.1 Organigramme du ministère de la communication
Stage de fin de la deuxième année
2012-2013
Chapitre 1 Contexte du projet
Le ministère de la communisation comprend, outre du cabinet du ministère et
l’inspection générale, une administration centrale incluse entre autres direction la direction
des études et du développement des médias, la direction de la communication et des relations
publiques, la direction du portail national et de la documentation et la direction des ressources
humaines et financières ou nous avons effectué notre stage sous la direction de son chef M. A.
El HARROUS.
2. Cadre du projet
2.1. Motivation
Dans le cadre de la transformation du Maroc en société de l’information. Le ministère de
la communication vise à informatiser ses services afin d’améliorer leurs qualité vis-à-vis des
parties prenantes. Il opte non seulement à rendre plus performante et rigoureuse la gestion de
l’accréditation des journalistes mais aussi à offrir à ses partenaires un espace convivial qui
leur permettra une meilleure interaction et usage de ses services.
D’une part, le ministère de la communication vise principalement à concevoir des
applications de gestion web ergonomique, modulaire et efficace. D’une autre part, Le dépôt
annuel des dossiers de demandes d’obtention de la carte de la presse professionnelle ne cesse
d’augmenter vue l’importante évolution de la presse marocaine, que ce soit du contenu :
enquêtes, reportages, articles de fond…qu’au niveau de la diversité des supports et
l’importance des équipes rédactionnelles. La gestion de l’obtention de l’accréditation des
cartes des journalistes s’avère donc l’un des processus qui nécessitent une informatisation.
2.2. Présentation du projet
Au titre de chaque année, les journalistes sont appelés à déposer auprès du
service concerné au sein du ministère de la communication le formulaire de la
demande dûment rempli et joint des documents requis. Notre projet nommé gestion
des demandes de cartes de presse professionnelles des journalistes assure ce service à
Stage de fin de la deuxième année
Figure 1 : organigramme du ministère de la communication [1]
2012-2013
Chapitre 1 Contexte du projet
travers son portail web. Il consiste à informatiser l’obtention des cartes d’accréditation
des journalistes marocains et étrangers.
Le projet consiste, entre autres, à créer un module web permettant aux
journalistes de déposer leurs dossiers à distance ainsi que leurs suivis.
2.3. Objectifs du projet
Le principal objectif de ce projet est d’offrir un outil de gestion des demandes
d’obtention de la carte de presse professionnelle à distance basé sur les services
intranet du ministère exportés sur le web. Cet objectif peut être décline en trois
principaux volets :
La conception de la couche service exposant les services intranet aux journalistes.
La mise à disposition d’un service de gestion de l’obtention de l’accréditation des cartes journalistes sur le site du ministère.
La gestion électronique des documents des demandes d’obtention de la carte professionnelle et la sécurisation des dossiers.
3. Elaboration de la conduite du projet
3.1 Choix de la méthode du développement [2]
Le choix Le choix du processus de développement, définissant une séquence d’étapes
qui concoure à l’obtention d’un système logiciel nouveau ou à l’amélioration d’un système
existant, s’impose à l’élaboration de tout projet. L’adéquation du projet au processus de
développement peut largement affecter le sort d’un projet informatique. Le présent projet
exige qu’une grande importance soit accordée à la compréhension des besoins et à la
conception. Par ailleurs, la méthode doit être simple permettant d’avancer rapidement.
Pour mener bien le projet nous avons opté pour la méthode 2TUP «2 Track Unified
Process ». C’est un processus itératif, incrémental et centré sur l’architecture appartenant à la
famille des processus unifiés. En insistant sur la non-corrélation initiale des aspects
fonctionnel et technique. « 2 Tracks » signifie littéralement que le processus suit 2 chemins ;
le chemin « fonctionnel » et « d’architecture technique ».
Stage de fin de la deuxième année
2012-2013
Chapitre 1 Contexte du projet
Les deux branches d’étude fusionnent ensuite pour la conception du système, ce qui
donne la forme d’un processus de développement en Y. La dichotomie initiale permet à la fois
de capitaliser la connaissance métier sur la branche gauche et de réutiliser un savoir-faire
technique sur la branche droite.
La branche gauche (fonctionnelle) comporte :
La capture des besoins fonctionnels, qui produit un modèle des besoins focalisé sur le
métier des utilisateurs. Elle qualifie au plus tôt le risque de produire un système inadapté
aux utilisateurs ;
L’analyse, qui consiste à étudier précisément la spécification fonctionnelle de manière à
obtenir une idée de ce que va réaliser le système en termes de métier. Les résultats de
l’analyse ne dépendent d’aucune technologie particulière.
La branche droite (architecture technique) comporte :
La capture des besoins techniques, qui recense toutes les contraintes et les choix
dimensionnant la conception du système. Les outils et les matériels sélectionnés ainsi que
la prise en compte de contraintes d’intégration avec l’existant conditionnent généralement
des prérequis d’architecture technique ;
La conception générique, qui définit ensuite les composants nécessaires à la construction
de l’architecture technique. Cette conception est complètement indépendante des aspects
Stage de fin de la deuxième année
Figure 2: processus 2TUP [2]
2012-2013
Chapitre 1 Contexte du projet
fonctionnels. Elle a pour objectif d’uniformiser et de réutiliser les mêmes mécanismes pour
tout un système. L’architecture technique construit le squelette du système informatique et
écarte la plupart des risques de niveau technique.
La branche du milieu comporte :
La conception préliminaire, qui représente une étape délicate, car elle intègre le modèle
d’analyse dans l’architecture technique de manière à tracer la cartographie des composants
du système à développer ;
La conception détaillée, qui étudie ensuite comment réaliser chaque composant ; L’étape de codage, qui produit ces composants et teste au fur et à mesure les unités de
code réalisées ;
L’étape de recette, qui consiste enfin à valider les fonctions du système développé.
3.2 Planification du projet
La planification du projet est une phase importante d'avant-projet. Elle consiste à
prévoir le déroulement du projet tout au long des phases constituant le cycle de
développement. Le diagramme de Gantt (cf. Figure 3) suivant présente le planning de notre
stage.
Figure 3: planification temporelle es étapes du projet
Stage de fin de la deuxième année
2012-2013
Chapitre 1 Contexte du projet
La phase étude fonctionnelle pour laquelle nous avons consacré une durée
approximative de deux semaines. Cette étape consiste en l’élaboration et l’analyse des besoins
et est clôturé par la livraison d’un cahier des charges. La phase étude technique consistait en
la prise en connaissance du contexte du projet et l’installation des logiciels afin de préparer
l’environnement technique de travail. Enfin, nous avons mené la phase de conception avant
d’entamer la phase de réalisation. La rédaction du rapport a été réalisée au fur et à mesure de
toute la période du stage (cf. Figure 4).
Conclusion
Ce chapitre été le point de départ pour la présentation de notre stage, dans la mesure
où il décrit son contexte général en présentant l’organisme d’accueil du Ministère de la
communication, les objectifs généraux à atteindre et les étapes de sa mise en œuvre. Le
chapitre suivant mènera une analyse des besoins fonctionnels.
Stage de fin de la deuxième année
Figure 4: Planning du projet
2012-2013
Chapitre 2
Etude fonctionnelle
Ce deuxième chapitre du rapport vient détailler l’analyse fonctionnelle du projet. Pour bien assimiler l’architecture fonctionnelle du système nous listerons les principales fonctionnalités et les différents acteurs de l’application.
Stage de fin de la deuxième année
Délai de dépôt non expiré.
2012-2013
Chapitre 2 Etude fonctionnelle
1.Étude de l’existant Dans cette section nous présenterons un aperçu du système existant et nous
exposerons ses points forts et ses points faibles.
1.1 Déroulement de l’obtention des cartes de presse professionnelle
A titre de chaque année, les journalistes sont appelés à déposer auprès du
service concerné au sien du ministère de la communication le formulaire de la demande et
accompagné des documents nécessaires. A l’échéance du délai de dépôt des dossiers, les
demandes étudiées seront soumises à la commission professionnelle de la presse. La figure
suivante schématise le processus d’obtention de la carte de presse professionnelle.
Figure 5 : processus d'obtention de carte de presse professionnelle
Stage de fin de la deuxième année
Publication de l’inscription pour l’obtention de la carte de presse.
Réception des demandes.
Vérification des dossiers.
Etudes des dossiers.
Création des cartes.
2012-2013
Chapitre 2 Etude fonctionnelle
1.2 Critiques du système existant
L’administration des demandes d’obtention des cartes de presse professionnelle
au sein du ministère se fait de manière traditionnelle et suit un déroulement pseudo –manuel.
La critique du système existant peut se faire à 2 niveaux :
Au niveau communication :
A chaque nouvelle période de préparation des cartes professionnelles, le trafic de
communication à destination de bureau d’ordres augmente d’une manière anormalement
gênante à but de dépôt de dossier et de demande d’information. Ce trafic représente un
obstacle devant l’activité et sa fluidité.
Au niveau intranet :
La gestion de l’obtention des cartes de presse professionnelles se fait de manière
traditionnelle, ce qui rend ce processus très lent et non transparent.
Au niveau Gestion des documents :
Le déroulement actuel des demandes d’obtention de la carte de presse professionnelle
exige un dossier pour chaque candidature, ce qui rend difficile la gestion, le traitement et
l’archivage de ces documents.
Devant ces limitations, le ministère de la communication a décidé de mettre en place
un projet d’informatisation visant à concevoir et réaliser la couche base de données, service
ainsi que le module web qui en fera usage.
2. Spécification des besoins fonctionnels
Afin de définir les activités attendues du système ainsi que ses frontières fonctionnelles,
une étude relevant les principales fonctionnalités que doit offrir le système à été menée. Cette
étude est basée sur des documents du ministère ainsi que des explications des responsables.
Cette étude a permis de dégager les besoins nécessaires, et suite aux réunions avec le
responsable, on a classé les besoins fonctionnels du système en trois types :
Stage de fin de la deuxième année
2012-2013
Chapitre 2 Etude fonctionnelle
Des besoins concernant la gestion des données et des documents des journalistes.
Des besoins liés à la gestion des demandes d’obtention de la carte de presse
professionnelle à travers la création d’un espace dédié aux journalistes au niveau
du portail web.
Des besoins d’exportation des services intranet du ministère sous forme de service
web accessible à partir de l’espace partenaire.
2.1 Liste de besoins fonctionnels concernant le système de gestion
Gestion des journalistes :
- La création d’un nouveau compte journalistes.- La modification d’un compte journaliste existant.- La consultation du dossier d’inscription et son état.
Gestion des Demandes d’obtention de la carte de presse professionnelle :
- Le dépôt de dossier d’inscription.
- Le suivi de l’état de dépôt.
2.2 Analyse des besoins
Après avoir identifié les besoins fonctionnels auxquels le système doit
répondre, nous passons à la modélisation de notre projet. Dans cette partie nous
traitons l’identification des acteurs interagissant avec le système. Ensuite nous
organisons ces interactions sous forme de cas d’utilisation de notre application, nous
avons eu recours au formalisme UML étant le plus adéquat pour la modélisation
d’une application modulaire et facilement extensible.
4.1. Identification des rôlesLa première étape du formalisme UML utilisé consiste en l’identification des acteurs
interagissant avec le système, et afin d’organiser ces interactions nous les avons classé en
«Rôles». En se basant sur les besoins fonctionnels recensés, nous avons identifié les rôles
suivants :
Stage de fin de la deuxième année
2012-2013
Chapitre 2 Etude fonctionnelle
Figure 6: les diffèrent profil utilisateurs
Chaque rôle remplie une mission assumée par des entités externes au système qui
peuvent être un ou plusieurs acteurs. La table suivante présente les missions des rôles
identifiés.
Rôle Mission
Administrateur Gestion des comptes.
Journaliste Création de compte journaliste.Édition de compte journaliste. Dépôt du dossier de candidature.Consultation de dossier de candidature.Suivi de la demande.
Chef de service De relation avecLa presse
Réception, vérification et validation des documents de demande d’obtention de la carte de presse professionnelle.
Comité de presse Traitement du dossier.
Comité de la créationDe la carte de presse
Création de la carte de presse professionnelle.
Tableau 1: rôles des utilisateurs
Stage de fin de la deuxième année
Journalistes
Chef du Service des Relations avec la Presse
Administrateur
Comité de presse
Comité de la création de la carte de presse
Application
2012-2013
Chapitre 2 Etude fonctionnelle
2.3 Diagrammes de cas d’utilisation du système
Après avoir identifié les rôles et leurs missions dans la section précédente, il est
nécessaire de déterminer le diagramme de cas d’utilisation (figure 7).
A
A
A
A
<<include>>
<<include>>
<<include>>
<<include>>
<<extend>>
<<extend>>
Dépot du dossier
Saisie d'information de séjour
Vérification du dossier
Justifications
Création des cartes d'accréditation
Etude du dossier
Authentification
Journaliste
Chef de service de relation avec la pressse
Comité de presse
Comité de la création de la carte de presse professionnelle
Figure 7: Diagrmme de cas d'utilisation
Conclusion
Ce chapitre synthétise la phase de l’étude fonctionnelle qui a porté sur l’étude de
l’existant et l’identification des besoins. Le chapitre suivant va dévoiler l’autre volet de
l’étude préalable à l’accomplissement de ce projet et qui s’est déroulé au même temps que
l’étude fonctionnelle c’est l’étude technique.
Stage de fin de la deuxième année
2012-2013
Chapitre 3
Etude techniqueAprès avoir achevé l’étude fonctionnelle du système et dans
laquelle ont les besoins à remplir pour le système futur, vient la phase
d’étude technique dans laquelle seront présentées d’abord les
contraintes techniques ainsi que les architectures physique et logique
du système, et ensuite le modèle de conception ainsi que les
plateformes utilisées.
Stage de fin de la deuxième année
2012-2013
Chapitre 3 Etude technique
Introduction
Cette section vise à définir l’architecture physique et logique du système. Elle décrira les
besoins techniques avant de présenter la conception répondant aux exigences du système
futur.
1. Exigences techniques
Le système futur doit être conforme à un ensemble de critères, notamment :
Il doit suivre les standards de la plateforme JEE ;
Il doit présenter une architecture en couches qui permettra au système d’être évolutif,
facilement maintenable et tolérant aux montées en charge ;
Il doit utiliser un système de gestion électronique des documents performant et
flexible pour gérer les documents impliqués dans le processus de demande de carte de
presse professionnelle de manière personnalisée ;
Le système doit communiquer avec une base de données relationnelle MySQL
Dans la section suivante, nous analyserons ces contraintes afin de déterminer une solution
répondant à ces besoins.
1.1 Une architecture JEE
La plateforme J2EE (Java 2 Entreprise Edition), créée par SUN Microsystems, définit le
concept de développement par couches. Elle permet de simplifier les applications d'entreprise
en les basant sur des composants modulaires normalisés tout en fournissant un ensemble
complet de services et en gérant automatiquement un grand nombre de détails sur le
comportement des applications. Parmi les avantages de la technologie J2EE, nous citons :
Stage de fin de la deuxième année
2012-2013
Chapitre 3 Etude technique
J2EE est venue pour remplacer les méthodes traditionnelles de développement (voir la
partie MVC) ;
J2EE dispose d’une documentation très riche et l’ensemble des projets en J2EE sont
publiés dans le web ;
Un très grand nombre de bibliothèques gratuites sont publiées dans le web et sont
facilement intégrables dans un projet J2EE.
1.2 Le modèle MVC
Avant de définir le modèle MVC, Nous allons présenter quelques déficiences de la
méthodologie traditionnelle de développement. Nous notons qu’avec JSP ou PHP ou autre
langage Web coté serveur, le développement d’une application web, commence par la
création d’un certain nombre de pages Web. Dans ces pages, nous constatons qu’il y a des
codes qui concernent l’affichage graphique, des codes relatifs aux traitements et des codes
d’accès aux données comme la connexion à la BD, des requêtes SQL, etc. Or, avec ce concept
nous pouvons constater qu’il y a des segments de codes qui ne sont pas cohérents et qui sont
mélangés les uns avec les autres, ce qui rend la réutilisation du code difficile. Le changement
d’une base de données sous Oracle vers une base de données sous MySQL par exemple, va
entraîner un changement dans la plupart des pages. L’inconvénient de ceci, est que dans la
plupart des cas, c’est le développeur de l’application lui-même qui doit intervenir, ce qui rend
le coût de la maintenance et de la réutilisation plus élevé.
Pour pallier à ce problème, le modèle MVC (Model, View, Controller) définit un nouveau
concept de développement. Il a pour objectif de séparer les codes en divisant le projet en
couches : vue, contrôleur et modèle de données.
Le modèle : correspond aux données manipulées par l’application, qu’il s’agisse de
l’accès ou de la mise à jour.
La vue : correspond à l'interface avec laquelle l'utilisateur interagit. Sa première tâche
est de présenter les résultats renvoyés par le modèle qui lui sont passés par le
contrôleur. Sa seconde tâche est de recevoir toutes les actions de l'utilisateur. Ces
différents évènements sont envoyés au contrôleur. Elle n'effectue aucun traitement,
elle se contente d'afficher les résultats des traitements effectués par le modèle.
Stage de fin de la deuxième année
2012-2013
Chapitre 3 Etude technique
Le contrôleur : Le contrôleur prend en charge la gestion des évènements de
synchronisation pour mettre à jour la vue ou le modèle et les synchroniser. Il reçoit
tous les événements de l'utilisateur et enclenche les actions à effectuer.
Figure 7: Patron MVC [3]
1.3Frameworks utilisés
Un Framework est un espace de travail modulaire. C'est un ensemble de bibliothèques,
d'outils et de conventions permettant le développement d'applications. Il fournit suffisamment
de briques logicielles et impose suffisamment de rigueur pour pouvoir produire une
application aboutie et facile à maintenir. Ces composants sont organisés pour être utilisés en
interaction les uns avec les autres [4]
. Cette section présente les Framework Open Source utilisés. Ils ont été sélectionnés sur
la base d’études comparatives menées pour chaque Framework, lesquelles sont disponibles en
annexe A.
a. Java Server Faces (JSF)
Pour construire la couche présentation de notre application, nous avons adopté la
technologie JSF. Java Server Faces est un Framework de développement d’applications Web
Stage de fin de la deuxième année
2012-2013
Chapitre 3 Etude technique
en Java permettant de respecter le modèle d'architecture MVC, décrit dans la partie
précédente, et basé sur des composants côté présentation. Ce Framework permet aussi [8]:
La séparation de la couche présentation des autres couches (MVC) ;
Le mapping entre l’HTML et l’objet ;
La réutilisabilité d’un ensemble de composants riches;
La création de nouveaux composants graphiques ;
La possibilité de générer des formats autres que du HTML (XUL, XML, WML,..) ;
L’accès aux Beans par leurs noms en utilisant les ExpressionsLanguage ;
La simplicité des définitions des contrôleurs, des Beans et des fichiers de
configuration.
En somme, l’orientation composante graphique permet à JSF d’être utilise de manière plus
simple dans les environnements de développement. Pour notre application nous avons opté
pour la version 2.0 du Framework JSF, vu ces apports par rapport à l’ancienne version. Parmi
ces améliorations nous citons :
La possibilité de configurer les managed beans avec des annotations, ce qui rend
l’utilisation fichier (faces-config.xml) facultatif.
L’inclusion de facelets en natif en supportant toujours les jsp.
L’import de ressources statiques dans le répertoire ressources.
b. PrimeFaces
PrimeFaces est une suite open source pour les composants Java Server Faces (JSF)
avec Ajax. Il a été mis en place pour enrichir l’interface homme-machine construite à l’aide
du Framework JSF. PrimeFaces offre un ensemble très riche de composants JSF ainsi que des
modules pour la réalisation des interfaces sur les mobiles. Le principal objectif de PrimeFaces
est de créer la suite de composants ultime pour le Framework JSF [6].
Stage de fin de la deuxième année
2012-2013
Chapitre 3 Etude technique
PrimeFaces est maintenu par « Prime Technology », une société Turque de développement
des logiciels, spécialisée dans la technologie Java Enterprise Edition et le développement des
logiciels sous-traité.
Le choix de PrimeFaces est justifié par une étude comparative, disponible en Annexe B, entre
PrimeFaces et d’autres outils de même gamme disponibles sur le marché. Cette étude a
montré que PrimeFaces est le meilleur sur plusieurs niveaux, à savoir : flexibilité, nombre de
composants, souplesse, intégration et ergonomie.
Conclusion
Dans cette section nous avons exposé l’étude technique menée durant la première phase de
notre stage. Cette étude a couvert le choix de l’architecture de l’application et les
technologies utilisées.
Stage de fin de la deuxième année
2012-2013
Chapitre 4
Etude conceptuelle
Ce chapitre représente le fondamental du travail effectué durant la
phase de conception du projet. Nous allons présenter tout d’abord l’aspect
fonctionnel à travers les diagrammes de séquences. Puis, nous allons
enchaîner par l’élaboration du diagramme de classe pour décrire
finalement la structure interne du système.
Stage de fin de la deuxième année
2012-2013
Chapitre 4 Etude conceptuelle
Introduction Le présent chapitre représente le point de fusion entre l’étude fonctionnelle présentée
en chapitre deux du rapport et l’étude technique présentée dans le chapitre précédent. Nous
aborderons dans un premier lieu les scénarios d’utilisation du système avant de passer au
diagramme de classe.
1. Diagrammes de séquence
Un diagramme de séquence représente l’interaction des acteurs avec le système
selon un enchaînement chronologique. Modéliser ces interactions revient donc à
déterminer les différents scénarios possibles pour un cas d’utilisation donné. Dans la
suite de cette section nous présenterons les scénarios d’utilisations pour les différents
cas d’utilisation.
1.1 Scénarios pour le « dépôt du dossier »
La figure ci-dessous représente le diagramme de séquence pour le cas
d’utilisation « dépôt du dossier »de l’acteur « journaliste ». Elle fait concevoir trois
scénarios principaux :
Authentification : Le journaliste est invité dans un premier lieu à
donner son login et mot de passe.
Dépôt du dossier : Une fois le journaliste s’est authentifié, il peut
déposer les documents requis pour le renouvèlement ou la création
pour la première fois de la carte de presse professionnelle.
Suivi du dossier : Le journaliste peut ainsi à tout instant suivre l’état
de son dossier (complet, en cours de validation, validé, …).
Stage de fin de la deuxième année
2012-2013
Chapitre 4 Etude conceptuelle
Figure 8: diagramme de séquence "déposition du dossier"
1.2 Scénarios pour la « Vérification du dossier »
Pour la vérification d’un dossier, le chef de relation avec la presse et après avoir
s’authentifier, procède comme suit :
Il sélectionne un dossier dans la liste des dossiers publiés dans la page d’accueil.
Il consulte les documents joints.
Si le dossier est complet, il le valide. Si non il le refuse avec des justifications.
Stage de fin de la deuxième année
Dépôt du dossier
demande_authentification
display
selectionner faire une demande de carte d'Accréditation
redirection page accuei l
valider
demander la validation
joindre pieces
saisir information
enregistrer dossier
daisplay
return etat de dossier
getinformationdossier()
Return l'etat du dossier
selectionner suivi du dossier
display
Authentification réussie
verifier authentification
journal iste
page d'accueil formulaire de demande dossiermenu principal formulaire de suivi
demande_authentification
display
selectionner faire une demande de carte d'Accréditation
redirection page accuei l
valider
demander la validation
joindre pieces
saisir information
enregistrer dossier
daisplay
return etat de dossier
getinformationdossier()
Return l'etat du dossier
selectionner suivi du dossier
display
Authentification réussie
verifier authentification
2012-2013
Chapitre 4 Etude conceptuelle
Ce processus est synthétisé à travers le diagramme de séquence suivant :
Stage de fin de la deuxième année
Vérification du dossier
rejet reussi
rejet reussi
rejeter dosssier()
saisir justification
afficher formulaire_justification
rejeter un dossier
validation reussie
validation reussie
valider_dossier()
valider un dossier
afficher formulaire_dossier
demander de traioter un dossier
return list_dossier
get_list_dossier()display
authentification reussie
verifier authentification()
damand_authenfication
chef de relation avec presse
page_accueil formulaire_gestion_dossier dosseir dossier_valide dossier_rejete
rejet reussi
rejet reussi
rejeter dosssier()
saisir justification
afficher formulaire_justification
rejeter un dossier
validation reussie
validation reussie
valider_dossier()
valider un dossier
afficher formulaire_dossier
demander de traioter un dossier
return list_dossier
get_list_dossier()display
authentification reussie
verifier authentification()
damand_authenfication
2012-2013
Chapitre 4 Etude conceptuelle
Figure 9: diagramme de séquence 2 "vérification du dossier"
1.3 Scénarios pour « Etude du dossier »
Ce processus est semblable au processus suivi par le chef de relation avec la presse. La
seule différence est que le comité de l’étude de la carte d’accréditation est invité à valider le
contenu du dossier et nom sa forme (voir figure ci-dessous).
Stage de fin de la deuxième année
Etude du dossier
damand_authenfication
verifier authentification()
authentification reussie
displayget list dossier()
return list_dossier
demander d'etudier un dossier
afficher formulaire_dossier
accepter un dossier
valider dossier()
validation reussie
validation reussie
rejeter un dossier
afficher formulaire_justification
saisir justification
rejeter_dosssier()
rejet reussi
rejet reussi
comite de carte d'accreditation
page_accueil formulaire gestion dossier dossier valide dossieer accepte dossier_rejete
damand_authenfication
verifier authentification()
authentification reussie
displayget list dossier()
return list_dossier
demander d'etudier un dossier
afficher formulaire_dossier
accepter un dossier
valider dossier()
validation reussie
validation reussie
rejeter un dossier
afficher formulaire_justification
saisir justification
rejeter_dosssier()
rejet reussi
rejet reussi
Figure 10: diagramme de séquence "Etude de la demande"
0..*
1..*
0..1
1..1
0..1
1..1
1..*
1..1
Journal iste
++++++++++++++++++++++
id_jrprenomnomloginpasswordpseudonymesituation_famnombre_enfdate_naislieu_naistelmailcnssechelposteniv_instructionservicedat_obtention-cartdate_debnationnalitecinN_passport
: int: java.lang.String: java.lang.String: java.lang.String: java.lang.String: java.lang.String: java.lang.String: int: java.util .Date: java.lang.String: java.lang.String: java.lang.String: java.lang.String: java.lang.String: java.lang.String: java.lang.String: java.lang.String: java.util .Date: java.util .Date: java.lang.String: java.lang.String: java.lang.String
Entreprise
++
id_entrraison_soc
: int: java.lang.String
travailler
+ date : java.util .Date
Carte
+++
id_carn_cartedate_l ivr
: int: java.lang.String: java.util .Date
Dossier
+++
id_dossieretattype
: int: java.lang.String: java.lang.String
Document
+++
idlibelleemplacement
: int: java.lang.String: java.lang.String
2012-2013
Chapitre 4 Etude conceptuelle
2. Diagrammes de classe
La modélisation de tout système passe essentiellement par un diagramme de classes qui
englobe les différentes entités et les relations entre elles. Le diagramme de classes global du
système (figure 11) est détaillé dans le tableau 2 :
Figure 11: MCD
Classe DescriptionJournaliste Représente les différents journalistes avec
leurs informations personnelles et professionnelles.
Entreprise Représente les différentes entreprises.Travailler Représente la période du travail d’un
journaliste au sein d’une entreprise.Carte Représentes les différentes cartes crée par le
comité de la carte.Dossier Représente un ensemble de documents. Un
dossier appartient à un espace donné au niveau de la GED.
Document Représente un document. Un document est caractérisé au niveau de la GED par un ensemble d’attributs qui permettront les recherches avancées.
Stage de fin de la deuxième année
2012-2013
Chapitre 4 Etude conceptuelle
Tableau 2: les tables de la base de données
Conclusion
Dans ce chapitre nous avons abordé l’étude conceptuelle du système. Nous avons détaillé quelques scénarios d’utilisation du système avant de présenter le diagramme de classes global du système. Le chapitre suivant sera consacré à la phase de la mise en œuvre de l’application.
Stage de fin de la deuxième année
2012-2013
Chapitre 5
Mise en œuvre
Ce dernier chapitre décrit la partie de réalisation de notre stage. Dans
lequel nous allons exposer les outils et environnement de réalisation ainsi
que quelques vue utilisateurs du travail accompli.
Stage de fin de la deuxième année
2012-2013
Chapitre 5 Mise en Œuvre
IntroductionNous allons faire étalage de l’environnement et outils utilisés pour mettre en œuvre
l’étude conceptuelle dans la première partie de ce chapitre. La deuxième partie révèle
certaines interfaces de l’application réalisée.
1.Outils de développement Pour implémenter le système il a fallu d’abord mettre en place la base de données et la
base des documents (GED) du système, ensuite de développer l’application. Plusieurs
technologies et outils ont été adoptés pour atteindre cet objectif et qui seront exposé après.
1.1 Framworks
1.1.1. Spring [13]
L'inversion de contrôle (Inversion of Control, IoC) est un patron
d’architecture commun à tous les frameworks dont Spring fait partie. Il
fonctionne selon le principe que le flot d'exécution d'un logiciel n'est
plus sous le contrôle direct de l'application elle-même, mais du framework ou de la couche
logicielle sous-jacente.
L'inversion de contrôle est un terme générique. Selon la problématique, il existe différentes
formes, ou représentation d'IoC. La plus connue étant l’injection de dépendances (dependency
injection) qui est un patron de conception permettant, en programmation orientée objet, de
découpler les dépendances entre objets.
Le Spring Framework 2.5 intègre la technique des annotations qui permettent de simplifier
grandement les fichiers de configurations de Spring et de séparer plus nettement les beans
techniques qui restent configurés en fichier XML, des beans fonctionnels pour lesquels les
annotations apportent des simplifications.
1.1.2 Hibernate
Hibernante est un Framework qui s'occupe de la persistance. Il rend
les technologies de stockage transparentes à l'application. Outre cela,
il assure le mappage d’objets vers le modèle relationnel. Dans notre projet, on programme en
Stage de fin de la deuxième année
2012-2013
Chapitre 5 Mise en Œuvre
objet alors que notre base de données est relationnelle, Hibernate nous permet d’interagir avec
la base de données relationnelle comme s’il s’agissait d’une base de données orientée objet.
Hibernate fournit également des facilités de recherche et de retrait de données, il peut réduire
énormément le temps de développement, normalement passé à traiter des données
manuellement dans SQL ou JDBC.
1.1.3 Apatche Tomcat
Apache est un serveur web. Ce serveur est géré par « Apache Software Foundation »
qui compte plusieurs dizaine de membres, des centaines de contributeurs et développe
plusieurs projets liés à la diffusion d'information sur internet.
Le serveur HTTP Apache a été conçu comme un serveur web puissant et flexible pouvant
fonctionner sur une très grande variété de plateformes et toute une gamme d'environnements
différentes. Ainsi, le serveur Apache permet l’utilisation de différentes méthodes pour
implémenter la même fonctionnalité, le plus efficacement possible, dépendamment des
différentes plateformes et environnements. Apache s'est toujours accommodé d'une grande
variété d'environnements grâce à sa conception modulaire.
Pour le SGBD nous avons choisi MySQL comme SGBD relationnelle pour y stocker les
données de l’application.
1.2 IDE Eclipse
L'IDE Eclipse pour Java EE Developers contient tout ce qu’un développeur a
besoin pour créer des applications Java et Java Enterprise Edition (Java EE). Considéré par
beaucoup comme le meilleur outil de développement Java disponibles, l'EDI Eclipse pour
Java EE Developers offre une excellente édition Java avec la compilation incrémentielle, Java
EE 5, une interface graphique HTML / JSP / JSF éditeur, outils de gestion de bases de
données, et le soutien aux plus populaire serveurs d'applications
2. Réalisation
Dans cette partie nous allons présenter des utilisations de l’application, sujet du rapport, par le journaliste et les comités de traitement de dossier.
Stage de fin de la deuxième année
2012-2013
Chapitre 5 Mise en Œuvre
Tout journaliste est invité à s’authentifier pour pouvoir profiter des services offerts par notre application :
Figure 12: Authentification du journaliste
• Si l’information saisies sont erronées ou incomplètes un message averti l’utilisateur.
• Si l’authentification est réussie l’utilisateur est dirigé alors vers un menu ou il a à
choisir soit de faire une demande soit de déposer une demande de carte ou bien de
s’informer sur son état ou bien de visualiser son profil et le modifier.
• En choisissant la visualisation de son profil l’utilisateur sera mené vers cette page où il
lui proposé de l’éditer pour changer certaines informations (se référer au deux figures
suivantes) :
Figure 13: profil de l'utilisateur
Stage de fin de la deuxième année
2012-2013
Chapitre 5 Mise en Œuvre
Figure 14: changer les informations du journaliste
L’application offre à l’utilisateur un espace pour déposer sa demande de carte de presse
professionnelle. Cela est fait par la jointure pièces exigés dans le dossier de demande.
Conclusion :Dans le présent chapitre nous avons explorer les outils utilisé et quelque captures des interfaces temgnage du travail effectué lors du stage de deuxième année.
Stage de fin de la deuxième année
Figure 15: déposition de demande de carte de presse
2012-2013
Conclusion générale
Ce projet de stage de fin de deuxième année vient comme solution à un des besoins
révélés par le ministère de la communication dans le cadre d’informatiser ses procédures
administratives. La solution consiste majoritairement à mettre en œuvre un système
permettant de déposer les demandes de carte de presse en ligne.
La réalisation d’un tel projet requiert une bonne compréhension du contexte pour
appréhender ses notions fonctionnelles. Une compréhension de la procédure de demande de
carte fut indispensable au début de ce projet. Au terme de cette phase, les connaissances
nécessaires sur les enjeux de la solution ont pu être acquises.
Durant le stage, nous avons essayé de suivre les bonnes démarches pour réaliser ce
projet. En effet, avant la phase conception il y a eu une importante phase d’analyse
fonctionnelle approfondie où nous avons rédigé un cahier de spécifications. Au même temps
la phase analyse technique et discussion des choix des de technologie et framworks était
menée, vient ensuite la phase conception qui consistait à modéliser la solution retenue. En fin
nous commençons le développement et nous montons des cas de test.
Ce stage a été pour nous une source d’enseignement à bien des égards. Outre la
connaissance technique qu’il a renforcée, nous avons acquis un esprit rigoureux d’analyse
permettant d’apporter des solutions appropriées aux problèmes rencontrés.
Nous avons réussi durant le stage à mettre en œuvre une solution qui répond au besoin
spécifié mais il reste certaines améliorations avant de la déployer.
Stage de fin de la deuxième année
2012-2013
Webographie
Webographie
[1] http://www.mincom.gov.ma/fr/le-ministere/presentation-du-ministere.html
[2] http://haitbaslam.wordpress.com/2010/10/05/le-cycle-en-y/
[3] http://www.roseindia.net/tutorialfiles/27368.mvc.gif
[4] http://www.trackbusters.fr/definition-framework.html
[5] http://jakarta.apache.org/struts
[6] http://java.sun.com/javaee/javaserverfaces/
[7] http://soaj2ee.blogspirit.com/archive/2005/05/18/comparatif_jsf_struts.html
[8] ftp://ftp-developpez.com/mbaron/javaee/jsf.pdf
[9] Ancien s rapports PFE
[10] http://www.jboss.org/richfaces
[11] http://deptinfo.unice.fr/~grin/jsf.html
[12] http://www.primefaces.org/whyprimefaces.html
[13] http://www.springsource.org
Stage de fin de la deuxième année
2012-2013
Annexes
Annexe A : JSF vs Struts
Annexe B: Etude Benchmarking
Stage de fin de la deuxième année
2012-2013
Annexe A JSF vs Struts
Struts vs javaServerFaces (JSF)
Etant le deux standards dans le domaine de la conception d’applications web, Struts
et JSF seront l’objet de notre étude comparative.
Présentation générale de Struts
Struts, fut le premier des deux Framework à arriver sur le marché. Apparu en 1998, il a eu
beaucoup de succès. Compatible avec la plate-forme J2EE de Sun, Struts fait partie du projet
Jakarta (mené par l'ASF, l'Apache Software Fondation) [5].
Struts est une combinaison des servlets Java, des JSP, des balises personnalisées et des
ressources messages qui forment une base unifiée. Dès son arrivée, il a su s’imposer pour les
applications de grandes tailles. Cependant son utilisation de nos jours perd tout son sens
pour les applications simples. En effet, pour les petites applications, l’utilisation de Struts
pourrait prendre bien plus de temps que la construction de l’application elle-même.
Présentation générale de JavaServerFaces (JSF)
JavaServerFaces est paru en 2004 après Struts. JSF a été réalisé par Sun pour JEE.
C’est une spécification permettant de développer des interfaces graphiques améliorées pour
des applications Web basées sur la plate-forme JEE. Les JSF utilisent un modèle Orienté
événement. Elle propose dans son implémentation des composants graphiques réutilisables
capables de gérer les états et les événements. Les JSF proposent aussi une librairie de balises
à insérer dans des pages JSP [6]. Beaucoup crurent que l’arrivée de JSF allait écraser son
concurrent. En effet, bien intégré aux projets de Sun tels que Java Enterprise Edition (Java
EE), JSF a su s’imposer par sa simplicité. La partie Vue de JSF a été bien pensée et d’une très
simple utilisation. Ainsi son emploi s’impose pour les projets de petites tailles.
Comparatif Struts/JAvaServerFaces
Cette partie présente un comparatif entre les Framework Struts et JSF (cf. Tableau
suivant). [7]
Stage de fin de la deuxième année
2012-2013
Annexe A JSF vs Struts
Comparatif Struts/JAvaServerFaces
Cette partie présente un comparatif entre les Framework Struts et JSF (cf. Tableau
suivant). [7]
Stage de fin de la deuxième année
2012-2013
Annexe A JSF vs Struts
Stage de fin de la deuxième année
STRUT JSF Commentaire
Flexibilité du
contrôleur
+ ++ JSF peut avoir plusieurs
gestionnaires d’événements au
sein d’une seule page tandis
que Struts ne peut déclencher
qu’un seul événement par
requête utilisateur.
Navigation + ++ JSF propose un dispositif de
navigation plus flexible que
celui de Struts en le découplant
du code applicatif.
Extensibilité + ++ Struts est extensible via la
classe RequestProcessor qui
implémente les appels aux
méthodes durant le cycle de
vie d’une requête.
JSF dispose d’une
fonctionnalité similaire, en
plus il a l’avantage de
découpler la phase de
rendement du contrôleur.
Développement + ++ Les JSF facilitent la
combinaison des GUI
complexes au sein d’un seul
composant.
JSF fait partie de la J2EE et
bénéficie d’une spécification
standard.
Le développement basé sur JSF
ne nécessite pas d’étendre des
classes ou implémenter des
interfaces spécifiques.
La configuration d’une
application Struts est plus
laborieuse qu’une application
JSF.
Le module de validation de
Struts est plus efficace et
robuste que celui des JSF.
Le module de validation de
Struts peut se faire coté client,
ce n’est pas le cas pour les JSF.
2012-2013
Annexe A JSF vs Struts
Tableau 3: Tableau comparatif de JSF vs Struts
Stage de fin de la deuxième année
2012-2013
Annexe B Etude Benchmarking
PrimeFaces
Primefaces fait partie d’un ensemble de jeux de composants additionnels permettant le
développement d’applications d’entreprise avec JSF et parmi lesquels on cite Richfaces et
Icefaces. En effet, le jeu de composants de bases de JSF présente une grande limitation vis-à-
vis des besoins complexes et évolutifs des développeurs. Dans ce qui suit nous exposerons
une étude comparative entre quelques librairies.
RichFaces
Le RichFaces est une infrastructure d'interface utilisateur avancée composant pour
intégrer facilement des fonctionnalités AJAX dans des applications métier utilisant JSF.
RichFaces 4 s'appuie sur le soutien de pionnier Ajax qui a commencé avec RichFaces 3 et
est standardisé dans JSF 2. En plus d'étendre ces fonctionnalités ajax, RichFaces améliore
également d'autres domaines de JSF 2, y compris l'optimisation des performances facilité
d'utilisation, les ressources dynamiques, le dépouillement et le développement de
composants. Cela permet aux utilisateurs de tirer pleinement parti de toutes les améliorations
de la productivité du JSF 2. [10]
La section qui suit comporte une comparaison entre certaines librairies utilisées avec JSF :
Librairie Remarques
MyFaces Core Comporte uniquement les composants de la spécification JSF 2.1
Icefaces La version gratuite ne comporte pas tous les composants (les
composite components sont dans la version payante Icefaces EE)
RichFaces Moins riche que PrimFaces mais plus stable
PrimFaces Beaucoup de composants
Tableau 4: Libertaires de composants de JSF [11]
Stage de fin de la deuxième année
2012-2013
Annexe B Etude Benchmarking
Selon DevRates.com , PrimeFaces a pris les devants avec note globale 9,4 en tant que
cadre des développeurs préféré pour créer des interfaces utilisateur riches.
Figure 16: Number One à DevRates [12]
Des milliers d'applications ont été créées avec PrimeFaces, même les produits
concurrents comme ICEfaces sont alimentés par PrimeFaces . Voici deux graphiques générés.
La figure 10 nous montre l’évolution de l’utilisation de la librairie PrimeFaces durant
le mois d’avril de l’an en cours.
Figure 18: utilisation de PrimeFaces en mois d’Avril 2012 [12]
Stage de fin de la deuxième année
Figure 17: utilisation de PrimeFaces [12]