70
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 Ecole Nationale Supérieure d’Informatique et d’Analyse des Systèmes Royaume du MAROC Ministère de la Communication

Rapport Stage 2 Année

Embed Size (px)

DESCRIPTION

Rapport Stage 2 Année

Citation preview

Page 1: Rapport Stage 2 Année

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

Page 2: Rapport Stage 2 Année
Page 3: Rapport Stage 2 Année

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

Page 4: Rapport Stage 2 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

Page 5: Rapport Stage 2 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

Page 6: Rapport Stage 2 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

Page 7: Rapport Stage 2 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

Page 8: Rapport Stage 2 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

Page 9: Rapport Stage 2 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

Page 10: Rapport Stage 2 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

Page 11: Rapport Stage 2 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

Page 12: Rapport Stage 2 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

Page 13: Rapport Stage 2 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

Page 14: Rapport Stage 2 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

Page 15: Rapport Stage 2 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

Page 16: Rapport Stage 2 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]

Page 17: Rapport Stage 2 Année

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

Page 18: Rapport Stage 2 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]

Page 19: Rapport Stage 2 Année

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

Page 20: Rapport Stage 2 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

Page 21: Rapport Stage 2 Année

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

Page 22: Rapport Stage 2 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.

Page 23: Rapport Stage 2 Année

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

Page 24: Rapport Stage 2 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

Page 25: Rapport Stage 2 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

Page 26: Rapport Stage 2 Année

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

Page 27: Rapport Stage 2 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

Page 28: Rapport Stage 2 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

Page 29: Rapport Stage 2 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

Page 30: Rapport Stage 2 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

Page 31: Rapport Stage 2 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

Page 32: Rapport Stage 2 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

Page 33: Rapport Stage 2 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

Page 34: Rapport Stage 2 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

Page 35: Rapport Stage 2 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

Page 36: Rapport Stage 2 Année

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

Page 37: Rapport Stage 2 Année

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"

Page 38: Rapport Stage 2 Année

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

Page 39: Rapport Stage 2 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

Page 40: Rapport Stage 2 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

Page 41: Rapport Stage 2 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

Page 42: Rapport Stage 2 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

Page 43: Rapport Stage 2 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

Page 44: Rapport Stage 2 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

Page 45: Rapport Stage 2 Année

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

Page 46: Rapport Stage 2 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

Page 47: Rapport Stage 2 Année

2012-2013

Annexes

Annexe A : JSF vs Struts

Annexe B: Etude Benchmarking

Stage de fin de la deuxième année

Page 48: Rapport Stage 2 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

Page 49: Rapport Stage 2 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

Page 50: Rapport Stage 2 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.

Page 51: Rapport Stage 2 Année

2012-2013

Annexe A JSF vs Struts

Tableau 3: Tableau comparatif de JSF vs Struts

Stage de fin de la deuxième année

Page 52: Rapport Stage 2 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

Page 53: Rapport Stage 2 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]