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
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
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
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
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.