Vous êtes sur la page 1sur 63

Sommaire

Table des matires


Sommaire
Introduction gnrale ......................................................................................................... 6
Chapitre 1 : Prsentation du cadre de projet .................................................................. 7
Introduction ......................................................................................................................... 7
1.1.

Prsentation de lorganisme daccueil ............................................................................. 7

1.2.

Etude de lexistant ........................................................................................................... 8

1.3.

Solution propose .......................................................................................................... 10

1.4.

Dmarche mthodologique ............................................................................................ 10

Conclusion ......................................................................................................................... 14
Chapitre 2 : Analyse et spcification des besoins .......................................................... 15
Introduction ....................................................................................................................... 15
2.1.

Etude prliminaire ......................................................................................................... 15

2.2.

Capture des besoins fonctionnels .................................................................................. 16

2.3.

Capture des besoins techniques ..................................................................................... 25

2.4.

Capture des besoins non fonctionnels ........................................................................... 29

Conclusion ......................................................................................................................... 32
Chapitre 3 : Conception ................................................................................................... 33
Introduction ....................................................................................................................... 33
3.1.

Conception prliminaire ................................................................................................ 33

3.2.

Conception dtaille ...................................................................................................... 35

Conclusion ......................................................................................................................... 47
Chapitre 4 : Ralisation ................................................................................................... 48
Introduction ....................................................................................................................... 48
4.1.

Environnement de travail .............................................................................................. 48

4.2.

Etapes de mise en uvre ............................................................................................... 52

4.3.

Vue de linterface du portail .......................................................................................... 53

ESPRIT

Page 1

Sommaire
4.4.

Evaluation ...................................................................................................................... 58

4.5.

Problmes rencontrs..................................................................................................... 60

Conclusion ......................................................................................................................... 60
Conclusion gnrale ......................................................................................................... 61
Rfrences ......................................................................................................................... 62

ESPRIT

Page 2

Liste des tableaux

Liste des tableaux


Tableau 1 : Etude comparative sur les mthodologies de dveloppement...................................... 12
Tableau 2 : Description des acteurs ................................................................................................ 16
Tableau 3 : Identification des cas dutilisation ............................................................................... 17
Tableau 4 : Description textuelle de cas crer projet ................................................................ 20
Tableau 5 : Description textuelle de cas consulter matriel ...................................................... 21
Tableau 6 : Description textuelle de scnario crer CV ............................................................ 22
Tableau 7 : Description textuelle de cas dutilisation consulter projets associs ...................... 24
Tableau 8 : Tableau comparatif SPRING vs EJB3.0 ...................................................................... 27
Tableau 9 : Tableau comparatif entre JSF et STRUTS ................................................................... 28
Tableau 10 : Classes candidates par cas dutilisation ..................................................................... 34

ESPRIT

Page 3

Liste des figures

Liste des figures


Figure 1 : Organisation de lIRESA.................................................................................................. 8
Figure 2 : Schma darchitecture de lapplication NAIS .................................................................. 9
Figure 3 : Projection dXP et 2TUP sur la matrice de RUP............................................................ 12
Figure 4 : Phases de processus 2TUP ............................................................................................. 13
Figure 5 : Diagramme de contexte statique .................................................................................... 15
Figure 6 : Diagramme des cas dutilisation .................................................................................... 18
Figure 7 : Diagramme de squence systme de scnario crer projet ....................................... 20
Figure 8 : Diagramme de squence systme de scnario consulter matriel ............................ 21
Figure 9 : Diagramme de squence systme de scnario crer CV .......................................... 23
Figure 10 : Diagramme de squence systme de scnario consulter portefeuille ..................... 24
Figure 11 : Architecture 3-tiers ....................................................................................................... 25
Figure 12 : Etats constitutifs dune authentification ....................................................................... 30
Figure 13 : Les critres de succs dun site web selon les utilisateurs ........................................... 31
Figure 14 : Diagramme de classe danalyse.................................................................................... 33
Figure 15 : Prototype dinterface .................................................................................................... 35
Figure 16 : diagramme de classe singleton ..................................................................................... 36
Figure 17 : Diagramme de classe de pattern DAO ......................................................................... 36
Figure 18 : Le pattern MVC............................................................................................................ 37
Figure 19 : Interaction entre les composants de MVC.................................................................... 37
Figure 20 : Diagramme de package ................................................................................................ 38
Figure 21 : Diagramme de classe de package persistence ......................................................... 39
Figure 22 : Diagramme de classe de package Service .............................................................. 40
Figure 23 : Diagramme de classe de package DAO ................................................................. 41
Figure 24 : Diagramme de classe de package prsentation ....................................................... 42
Figure 25 : Diagramme de squence de cration de CV ........................................................... 43
Figure 26 : Diagramme de squence de scnario cration de projet ......................................... 44
Figure 27 : diagramme dtat transition scnario cration projet ................................................... 45
Figure 28 : Diagramme de squence consulter portefeuille ...................................................... 45
Figure 29 : Diagramme dactivit scnario rserver matriel ................................................... 46
Figure 30 : Panneau de commande de gestion des organisations ................................................... 54
Figure 31 : Formulaire dajout du projet......................................................................................... 54
Figure 32 : Administration des projets............................................................................................ 55

ESPRIT

Page 4

Liste des figures


Figure 33 : Crateur des CV ........................................................................................................... 56
Figure 34 : Portefeuille des projets associs un chercheur........................................................... 56
Figure 35 : Inventaire dun quipement .......................................................................................... 57
Figure 36 : Interface rservation quipements ................................................................................ 58
Figure 37 : Panneau de commande gestion des utilisateurs ............................................................ 59

ESPRIT

Page 5

Introduction gnrale

Introduction gnrale

Face lvolution de la recherche scientifique agricole et laccroissement de la


complexit des projets envisags dans ce domaine, les tches de gestions et dadministrations
sont devenues de plus en plus complexes.
Cest dans ce sens que lInstitution de la Recherche et de lEnseignement Suprieur
Agricole vise mettre en place un portail web afin doffrir un canal dinformation unique et
personnalis pour les diffrentes organisations sur le plan national.
En effet, un portail web permet de centraliser laccs linformation pour les
utilisateurs dune part et offre un point unique de contrle et dadministration aux personnels
dautre part. De mme, un portail web offre un systme de publication de contenu facile
utiliser mme pour des auteurs non-informaticiens. Sans oublier les moyens de collaborations
qui peuvent tre offerts par un portail dont lobjectif est de susciter la collaboration, de
permettre le partage de linformation et le dveloppement des connaissances.
Dans le cadre de notre formation dingnieurs lEcole Suprieure Prive dIngnierie
et de Technologie, nous avons eu loccasion de faire notre projet de fin dtudes au sein de
lInstitution de la Recherche et de lEnseignement Suprieur Agricole.
Le prsent document est organis comme suit :
Le premier chapitre contiendra une description de notre projet, une tude de lexistant
avec la solution propose.
Dans le deuxime chapitre, nous prsenterons la phase danalyse et de capture des
besoins fonctionnels, non fonctionnels et techniques.
En ce qui concerne le troisime chapitre, il sera rserv la formulation de la phase de
conception de la solution dj dcrite dans le premier chapitre selon une tude statique et
dynamique.
Enfin, dans le dernier chapitre, nous exposerons la phase de ralisation avec la
description des tapes de mise en uvre et lenvironnement de travail

ESPRIT

Page 6

Prsentation du cadre de projet

Chapitre 1 : Prsentation du cadre de projet


Introduction
Dans ce chapitre, nous allons prsenter le cadre gnral du projet, lorganisme
daccueil, une critique de lexistant, la solution propose et la mthodologie de
dveloppement adopte.

1.1. Prsentation de lorganisme daccueil


Linstitution de la recherche et de lenseignement suprieur agricole, cre par la loi 9072 du 30 juillet 1990, est un tablissement public caractre administratif dot de la
personnalit civile et de lautonomie financire. Elle est place sous la tutelle du ministre de
lagriculture et de lenvironnement. Elle est charge daccomplir les missions suivantes :
Veiller la promotion de la recherche agricole dans le cadre de la politique gnrale
de ltat dans ce domaine, en assurant la liaison entre les tablissements de recherche
et de lenseignement suprieur agricole dune part et la vulgarisation agricole et les
producteurs dautre part.
Elaborer les programmes de recherche agricole et les budgets ncessaires pour leurs
ralisations, suivre lexcution de ces programmes et en assurer lvaluation tout en
veillant la coordination et la complmentarit entre les tablissements de recherche
et lenseignement suprieur dans les domaines agricoles.
Veiller ce que les tablissements de recherche et denseignement suprieur agricoles
soient au service de la production agricole et de dveloppement.
En plus des directions centrales, les services extrieurs, rigs en Ples Rgionaux de
Recherche et de Dveloppement Agricoles (PRRDA) et centres rgionaux, constituent les
relais rgionaux qui permettent l'Institution, d'oprer un rayonnement de la recherche
agricole sur le plan national, au niveau de la circonscription territoriale de chaque ple et
centre.
Deux PRRDA et quatre centres rgionaux couvrent l'ensemble du territoire du pays
selon un dcoupage territorial, bas sur un critre pdoclimatique, se prsentant comme suit :

ESPRIT

Page 7

Prsentation du cadre de projet


Centre Rgional de Recherche en Agriculture Oasienne de Degueche (Tozeur)
Centre Rgional de Recherche en Horticulture et Agriculture Biologique de Chott
Mariem (Sousse).
Centre rgional des recherches agricoles (Sidi Bouzid).
Centre rgional des recherches en grandes cultures (Bja).
PRRDA du Nord Est (Mornag).
PRRDA du Nord Ouest semi-aride (Le Kef). [1]
La figure ci-dessous indique comment est organis lIRESA

Figure 1 : Organisation de lIRESA

1.2. Etude de lexistant


Notre tude consiste prsenter larchitecture du systme existant et lvaluer. Aussi,
travers cette tude, nous visons dterminer les besoins mtiers aux seins du systme
dinformation.

1.2.1. Description de lexistant


Le nombre exact des tablissements qui sont spcialiss dans le domaine de la recherche
scientifique est 20 tablissements qui participent dans plusieurs projets agricoles. La solution

ESPRIT

Page 8

Prsentation du cadre de projet


actuelle pour grer ces tablissements avec leurs projets est une application nomme
NAIS (National Agricultural Information System) qui est une application web base
bas sur le
principe de systme de gestion de contenu (CMS). Lapplication NAIS est compose de
deux parties :
Une partie prive : Permettant
P
aux administrateurs, aprs lauthentification
lauthen
et avec
des droits daccs bien prcis, de grer le contenu (les publications, les projets de
recherche, les tablissements). Ladministration se fait selon un processus daffaire,
en effet, chaque publication ou projet ajout ne sera pas directement
directement publi quaprs
une validation.
Une partie publique : qui permet aux visiteurs de consulter les publications et les
informations sur les projets.
La figure ci-dessous
dessous prsente larchitecture
larc
de lapplication NAIS:

Administrateur

Front office

Back office

Visiteurs

Entrept de donnes

Figure 2 : Schma darchitecture de lapplication NAIS

1.2.2. Critique de lexistant


La solution actuelle prsente plusieurs limites quon va citer:
Absence dun espace rserv aux chercheurs : Cette solution ne permet pas un
chercheur davoir son propre compte pour enrichir son profil scientifique (Cration
dun CV, choix des catgories, portefeuille des projets, comptences) et suivre les
projets qui
ui lui sont associs.

ESPRIT

Page 9

Prsentation du cadre de projet


Absence des moyens de collaboration : Manque des moyens qui permettent de
faciliter le travail en quipe.
Administration centralise : Dans ce cas, les tablissements ne peuvent pas avoir
leurs propres espaces personnalisables et ne peuvent pas grer leurs propres contenus
partir dun espace dadministration. De ce fait, tout est gr au niveau de
ltablissement mre (IRESA).
Absence des outils de suivi des projets : Rsultat de projet, Etat de projet,
avancement des projets.
Absence des outils de gestion de matriel scientifique : Rservation matriel,
Demande matriel, Suivi de matriel, Maintenance, Pannes
Absence dun gestionnaire des ressources documentaires.

1.3. Solution propose


Notre solution est de mettre en place un portail permettant aux diverses organisations
agricoles davoir leurs propres espaces personnalisables et qui offre une gestion simple des
projets et de matriel scientifique avec des moyens de collaboration facile utiliser.
Ainsi, chaque tablissement pourra grer son propre contenu en profitant des moyens de
collaboration utiles offerts par le portail pour faciliter la communication entre les diffrents
types dacteurs.
La solution propose a pour objectif de permettre aux utilisateurs de pouvoir crer des
profils scientifiques et de leurs faciliter les tches administratives des projets de recherche tout
en offrant des outils de suivi pour les projets raliss.

1.4. Dmarche mthodologique


Cette partie contiendra une comparaison

entre quelques mthodologies de

dveloppement, ensuite une explication de notre choix mthodologique et enfin une


description de la mthodologie choisie.

ESPRIT

Page 10

Prsentation du cadre de projet

1.4.1. Etude comparative


Les systmes de nos jours sont de plus en plus complexes. Le gnie logiciel tente
remdier cette complexit en offrant une dmarche suivre avec des tapes bien prcises.
Cest le principe des mthodologies de dveloppement.
Le but de dveloppement dun logiciel cest davoir un logiciel de qualit qui rpond
aux standards et aux normes de dveloppement. Pour cela, nous sommes obligs de suivre une
mthodologie de dveloppement afin de garantir une bonne qualit pour notre application.
Le tableau ci-dessous contient un comparatif entre les principaux mthodologies de
dveloppement que nous avons choisit vue la diversit de ces mthode : [2]
Mthodologie

Description

Points forts

Points faibles

Les phases sont droules Distingue clairement les -Non Itratif


dune
manire phases projet.
squentielle.
-Ne propose pas des
modles pour les
documents.
- Itratif.
-couteux

RUP (Rational -Elabor par rational.


personnaliser :
Unified Process) -Le RUP est la fois une -Intragir les diffrents Batterie
de
mthodologie et un outil intervenant du projet (Les consultants.
prt lemploi
livrable, les plannings, les
prototypes )
-Peu de place pour le
-Cible de projet : Plus de
dveloppement et la
10 personnes.
-propose des modles de technologie.
documents
pour
des
projets type.
-Assez flou dans sa
XP
(eXtreme -Ensemble des bonnes -Itratif
pratiques
de
mise en uvre
Programming)
dveloppement (Travail -Donne une importance
en quipe, transfert de aux aspects techniques : -Ne couvre pas les
comptence ).
Rgles de dveloppement. phases en amont et en
aval
au
-Cible : Moins de 10 -Innovant :
dveloppement :
personnes.
Programmation en duo
Capture des besoins,
maintenance
-Plutt superficiel
-Propose un cycle de -Itratif
2TUP(Two
sur les phases
dveloppement en Y.
Truck
Unified
-Fait un large place la situes en amont et
aval
du
-Cible des projets de technologie et la en
Process)
dveloppement
:
toutes tailles
gestion des risques.
capture des besoins,
support, maintenance,
-Dfinit les profils des gestion du
intervenants,
les changement

Cascade

livrables, les plannings,

ESPRIT

Page 11

Prsentation du cadre de projet


les prototypes

-Ne propose pas de


documents types

Tableau 1 : Etude comparative sur les mthodologies de dveloppement

La figure ci-dessous montre une projection de ces mthodologies sur les diffrentes
phases dans un projet.

Figure 3 : Projection dXP et 2TUP sur la matrice de RUP

En effet, Le RUP couvre lensemble du processus (Spcification des besoins, la


conception, le dveloppement et les tests) en spcifiant les interactions entre chacun des
phases, XP se concentre sur la phase de dveloppement, tandis que 2TUP fait une large place
lanalyse et larchitecture.
Aprs ltude comparative faite sur quelques processus de dveloppement, nous avons
opts dliminer le RUP car il ne donne pas une importance la technologie et aux contraintes
techniques ce qui prsente une grande partie de notre projet. Aussi nous inhibons lutilisation
de CASCADE car cest un processus squentiel et non itratif, par consquence si une
fonctionnalit ajoute ou un besoin technique qui se prsente, il y aura des problmes
dintgration. De mme, nous liminons lXP qui nglige, de sa part, la phase de capture des
besoins fonctionnels et techniques. De plus XP donne une grande importance la phase de
dveloppement contrairement la phase de conception.

ESPRIT

Page 12

Prsentation du cadre de projet

1.4.2. Mthodologie adopte: 2TUP


Nous avons opts pour le processus 2TUP pour des raisons multiples. Dune part, 2TUP
donne une grande importance la technologie ce qui est important pour notre projet, dautre
part, 2TUP est un processus en Y qui contient une branche technique et autre fonctionnelle.
Ces deux branches peuvent tres exploits en parallle. De ce fait, si la technologie volue ou
lors de droulement du projet il y a eu apparence dun besoin technique, la branche technique
peut tre traite puis rintgre dans le projet facilement. De mme si une nouvelle
fonctionnalit se prsente, seule la branche fonctionnelle va tre traite sans toucher lautre
branche. [2]
Principe :
Ce processus commence par une tude prliminaire qui permet didentifier les acteurs
du systme mettre en uvre qui est considr comme une boite noir tout en prsentant les
diffrents messages entre les utilisateurs et ce systme et dlaborer le cahier des charges. La
figure 4, montre les diffrentes tapes de processus 2TUP :

Figure 4 : Phases de processus 2TUP

Daprs la figure 4, on remarque que 2TUP est compos essentiellement de trois


tapes :

ESPRIT

Page 13

Prsentation du cadre de projet


Une branche fonctionnelle ( gauche) :
Capture des besoins fonctionnels, qui produit les modles des besoins en se basant
sur le mtier des utilisateurs. Cette tape limine le risque davoir un systme
inadapt aux besoins des utilisateurs.
Lanalyse qui consiste tudier les besoins fonctionnels de manire obtenir une
ide de ce que va raliser le systme en terme mtier.
Une branche technique ( droite) :
Capture des besoins techniques, cette tape permet de recenser les contraintes de
choix de dimensionnement et de conception du systme. Les outils selectionns
ainsi que les contraintes dintgration avec lexistant(pr requis darchitecture
technique).
Ltape conception gnrique dfinit ensuite les composants ncessaires la
construction de larchitecture technique. Cette conception est compltement
indpendante des aspects fonctionnels.
Une branche de ralisation (au mileu) :
La conception prliminaire, cest une tape un peut dlicate, car elle intgre le
modle danalyse fonctionnel dans larchitecture technique de manire tracer la
cartographie des composants du systme dvelopper.
La conception dtaille, qui permet dtudier comment raliser chaque composant.
Ltape de codage, qui est ensuite ltape de production de ces composants ainsi
que les tests unitaires au fur et msure sur chaque composant.
Ltape de recette, qui consiste enfin la validation des diffrentes
fonctionnalites du systme.

Conclusion
Dans ce chapitre, nous avons prsents le cadre de projet, cits les limites du systme
actuelle, la solution que nous proposons ainsi que le processus de dveloppement que nous
allons utiliser. Dans le chapitre suivant, nous allons spcifier et analyser les besoins
fonctionnels et techniques de systme raliser.

ESPRIT

Page 14

Analyse et spcification des besoins

Chapitre 2 : Analyse et spcification des besoins


Introduction
Le prsent chapitre prsentera la phase danalyse et de spcification des besoins. Nous
allons commencer tout dabord, par ltude prliminaire dans laquelle nous allons identifier
les acteurs de notre systme. Ensuite, nous procderons ltude fonctionnelle et technique de
notre projet.

2.1. Etude prliminaire


Ltude prliminaire est la premire tape dans le processus 2TUP. cette tape consiste
faire lidentification et la description des acteurs.

2.1.1. Identification des acteurs


Un acteur reprsente une abstraction dun ensemble des rles jous par des entits
externe et qui intragit directement avec le systme (Utilisateur, autre systme, dispositif).
La figure ci-dessous prsente le diagramme de contexte statique qui permet de tirer les
diffrents acteurs qui intragissent avec le systme qui est considr comme une boite noire
dans cette tape.

Figure 5 : Diagramme de contexte statique

ESPRIT

Page 15

Analyse et spcification des besoins

2.1.2. Description des acteurs


Le tableau ci-dessous contient la description des acteurs de notre systme :
Acteur

Description

Administrateur

Cet acteur est le super administrateur


appartenant lIRESA. Son rle est de grer
les utilisateurs, les rgles daccs aux
services ainsi que les organisations.

Administrateur organisation

Pour chaque organisation, il y un


administrateur qui peut grer son contenu
(projet,
matriel,
publications)
et
personnaliser son affichage.

Fonctionnaire

Appartient une organisation et bnfice des


services dajout de contenu (projet,
publications).

Chercheur

Les
chercheurs
appartiennent
aux
organisations et peuvent bnficier des
services de collaboration et de suivi des
projets.
Tableau 2 : Description des acteurs

2.2. Capture des besoins fonctionnels


Nous allons commencer dans cette partie par lidentification des cas dutilisation par
acteur.

2.2.1. Identification des cas dutilisation


Le tableau ci-dessous contient une classification des cas dutilisation par acteur :
Acteur

Cas dutilisation
Grer organisation

Administrateur

Grer utilisateur et rle

ESPRIT

Page 16

Analyse et spcification des besoins

Grer les publications


Grer les projets
Administrateur organisation

Crer projet
Grer matriel organisation
Grer demandes matriels
Grer publications
Crer projet

Fonctionnaire

Affecter chercheur
Affecter matriel
Suivi projet
Dposer document
Crer CV

Chercheur

Rserver matriel
Signaler panne matriel
Consulter projets associs
Tableau 3 : Identification des cas dutilisation

2.2.2. Analyse
2.2.2.1. Diagramme des cas dutilisation
Les fonctionnalits globales sont illustres dans le diagramme des cas dutilisation, qui
est prsent dans la figure ci-dessous :

ESPRIT

Page 17

Analyse et spcification des besoins

Figure 6 : Diagramme des cas dutilisation

2.2.2.2. Description des cas dutilisation


Cette partie contient une description textuelle avec des diagrammes de squence
systme des cas dutilisation les plus importants de notre projet.
a. Description du scnario cration dun projet
SOMMAIRE DE CREATION DES PROJETS
Crer un projet

Titre

ESPRIT

Page 18

Analyse et spcification des besoins


La cration des projets

But

La cration des projets est une tche partage entre lAdministrateur


organisation et le fonctionnaire. En effet, le fonctionnaire peut ajouter un
projet

Rsum

en

affectant

des

ressources

matriel

et

des

chercheurs.

lAdministrateur organisation, il peut consulter ces projets, supprimer un


projet et choisir de publier ou de rejeter un projet.
Administrateur organisation, fonctionnaire

Acteur

DESCRIPTION DES ENCHAINEMENTS


Pr conditions

Post conditions

Ladministrateur organisation ainsi que


Choisir une action faire

fonctionnaire doivent sauthentifier

Opration effectu

Choisir le service gestion des projets


Pour lajout dun projet au moins un

Le projet ajout est par dfaut non publi

chercheur doit tre affect.


Scnario principal

1. Le fonctionnaire choisit dajouter un projet et remplit le formulaire


2. Le systme valide le formulaire et effectue lopration dajout
3. Le fonctionnaire affecte lensemble des chercheurs au projet
4. Le systme retourne un message de satisfaction
5. Ladministrateur organisation choisit de consulter la liste des projets
6. Il choisit de publier un projet
7. Le systme effectue lopration et retourne un message de satisfaction
Enchainnements alternatifs
E1 : Projet nexiste pas
1. Le systme affiche un message derreur
2. Ladministrateur corrige les erreurs et valide
E2 : Affectation matriel
1. Le fonctionnnaire choisit daffecter un matriel un projet

ESPRIT

Page 19

Analyse et spcification des besoins


2. Chercher le matriel dsir
3. Le systme vrifie la disponibilit du matriel
4. Le systme effectue lopration et retourne un message de satisfaction
E3 : Matriel non disponible
1. Le systme retoune un message de non satisfaction
2. Le fonctionnaire contacte ladministrateur de lorganisation
Tableau 4 : Description textuelle de cas crer projet

La figure ci-dessous montre le diagramme de squence concernant le scnarion crer


projet

Figure 7 : Diagramme de squence systme de scnario crer projet

b. Description de scnario consulter matriel


SOMMAIRE DE CONSULTATION MATERIEL ORGANISATION
Consulter matriel

Titre

Consultation de la liste des quipements scientifiques propre une

But

organisation.

Rsum

Ladministrateur organisation peut consulter les fiches dinventaires pour


un quipement choisit. Une fiche dinventaire contient toutes les rservations

ESPRIT

Page 20

Analyse et spcification des besoins


sur un quipement avec les pannes associes cet quipement sil existe
Administrateur organisation

Acteur

DESCRIPTION DES ENCHAINEMENTS


Pr conditions
Ladministrateur

organisation

Post conditions
doit

sauthentifier

Choisir une action faire


Opration effectu

Choisir le service de consultation matriel


Scnario principal

1. Ladministrateur organisation choisit le service de consultation de matriel


2. Le systme lui retourne la liste des quipements propre lorganisation
3. Ladministrateur organisation choisit de consulter la fiche dinventaire
4. Le systme lui retourne la fiche pour le matriel choisit
Enchainnements alternatifs
E1 : Matriel nexiste pas
1. Le systme affiche un message derreur
2. Ladministrateur corrige les erreurs et valide
Tableau 5 : Description textuelle de cas consulter matriel

La figure ci-dessous correspond au diagramme de squence systme de cas dutilisation


grer matriel scientifique :

Figure 8 : Diagramme de squence systme de scnario consulter matriel

ESPRIT

Page 21

Analyse et spcification des besoins


c. Description de scnario crer CV
SOMMAIRE CREATION DES CVs
Crer CV

Titre

La cration dun CV

But

Le chercheur peut crer un CV. Un CV peut tre publique visible par tout

Rsum

les utilisateurs ou prive.


Chercheur

Acteur

DESCRIPTION DES ENCHAINEMENTS


Pr conditions

Post conditions

Le chercheur doit sauthentifier

Choisir une action faire

Consulter le service crateur de CV

Opration effectu
Scnario principal

1. Le chercheur choisit dafficher la liste de ces CV.


2. Le systme retourne la liste des CV
3. Le chercheur choisit un CV
4. Le systme retourne le CV choisit
5. Le chercheur choisit dajouter des informations son CV
6. Vrification systme
7. Le systme met le CV jour et retourne un message de satisfaction
Enchainnements alternatifs
E1 : Champs obligatoires invalides et/ou vides
1. Le systme affiche un message derreur
2. Lutilisateur corrige les erreurs et valide
Tableau 6 : Description textuelle de scnario crer CV

ESPRIT

Page 22

Analyse et spcification des besoins


La figure ci-dessous illustre le diagramme de squence systme pour le cas dutilisation
grer CV :

Figure 9 : Diagramme de squence systme de scnario crer CV

d. Description de scnario consulter projet associ


SOMMAIRE DE CONSULTATION PORTEFEUILLE
Consulter projets associs

Titre

La consultation de ses propres projets

But

Un portefeuille contient tous les projets affects un utilisateur.


Rsum

L'utilisateur consulter ces propres projets et ajouter des notifications pour un


projet choisit
Chercheur

Acteur

DESCRIPTION DES ENCHAINEMENTS


Pr conditions

Post conditions

Lutilisateur doit sauthentifier

Choisir une action faire

Consulter le service portefeuille

ESPRIT

Page 23

Analyse et spcification des besoins


Opration effectu
Scnario principal

1. Lutilisateur consulte son portefeuille


2. Il choisit dajouter une notification
3. Remplir le formulaire
4. Vrification Systme
5. Retourner un message de satisfaction
Enchainnements alternatifs
E1 : Champs obligatoires invalides et/ou vides
1. Le systme affiche un message derreur
2. Lutilisateur corrige les erreurs et valide
Tableau 7 : Description textuelle de cas dutilisation consulter projets associs

La figure ci-dessous illustre le diagramme de squence systme de cas dutilisation


consulter portefeuille :

Figure 10 : Diagramme de squence systme de scnario consulter portefeuille

ESPRIT

Page 24

Analyse et spcification des besoins

2.3. Capture des besoins techniques


La capture des besoins techniques concerne les spcifications logicielles et la structure
matrielle. Dans cette partie, nous allons dcrire le modle darchitecture adopt pour notre
systme, tout en prsentant nos choix technologiques avec une tude comparative entre
quelques technologies.

2.3.1. Modle darchitecture


Larchitecture 3-tiers est un modle logique darchitecture applicative. Le but de ce
modle est de prsenter ce systme comme un empilement de trois couches ou niveaux
comme lindique la figure ci-dessous :

Figure 11 : Architecture 3-tiers

Les couches de ce modle communiquent entre elles via un modle dchange bien
dfinit. En effet, chaque couche propose un ensemble de services rendus, les services dune
couche sont mis disposition de la couche suprieure. Par consquent, il est interdit quune
couche invoque les services dune couche plus basse que la couche immdiatement infrieure
ou plus haute que la couche immdiatement suprieure. Ainsi, chaque niveau communique
seulement avec ses voisins immdiats. Chaque couche de ce modle a un rle bien prcis :
La couche prsentation associ au client qui est dit lger car il nest responsable
daucun traitement la diffrence de larchitecture 2-tiers.
La couche de traitement des donnes, cest la partie fonctionnelle ou dite mtier
de lapplication. Elle contient toutes les rgles de gestion et de mise en uvre. Cette
couche est dans des nombreux cas un serveur web muni dextension applicative.
La couche daccs aux donnes li au serveur base de donnes (SGBD).
Parmi les avantages de larchitecture 3-tiers on peut citer:

ESPRIT

Page 25

Analyse et spcification des besoins


Allgement du poste de travail client : On parle de client lger contrairement aux
applications classiques client/serveur.
Prise en charge de lhtrognit des plates-formes (serveurs, clients, langage).
Amlioration de la scurit des donnes : en supprimant la relation directe entre le
client et les donnes.
La modularit : En effet, les modifications dans une application 3-tiers se font couche
par couche. On peut donc modifier dans une couche sans toucher aux autres, en
particulier la couche prsentation (IHM ou interface homme machine) nest pas
intrique dans le traitement. [3]

2.3.2. Choix technologique


Afin de bien expliquer nos choix technologiques, nous avons recours une tude
comparative entre les technologies qui peuvent tre utilises durant notre projet.
Avant de commencer notre tude comparative, on doit tout dabord dfinir un
Framework. En effet, un Framework est un ensemble des libraries, chaque librarie est
constitue dun ensemble des classes ou interfaces techniques permettant datteindre une
fonctionnalit bien dfinit. En ralit, un Framework est un ensemble dinterfaces
implmenter et des classes rutiliser.
2.3.2.1. La couche mtier
Le tableau ci-dessous contient une comparaison entre EJB3.0 et SPRING [4]
Critre

EJB3.0

Spring

Prise en charge de linjection Supporte linjection de quoi que


Injection de dpendance

des types primitifs via le se soit


JNDI

Persistence

Par defaut, il utilise le JPA Bas sur JDBC, JPA, iBatis et


mais il peut utiliser dautres

Hibernate.

Support de JTA mais peut Supporte


Transaction

JDBC

supporter dautres bass sur Hibernate transaction.


JTA

ESPRIT

JTA,

Page 26

et

Analyse et spcification des besoins


XML et annotation

Support de la configuration avec XML et les annotations


Prsence de stateful session Support indirect qui dpend de

Gestion des tats

beans.

conteneur

web

Spring

met

laccent sur ltat stateless


Limit aux intercepteurs

AOP

Supporte

AspectJ

et

AOP

alliance
Conteneur lourd : Prsence Conteneur lger : Il suffit davoir

Conteneur

dun conteneur dEJB.

un conteneur de servlet.

Tableau 8 : Tableau comparatif SPRING vs EJB3.0

Aprs cette tude comparative, nous avons choisit le Framework spring pour le
dveloppement de la couche mtier car il est le plus adopt pour notre projet. La raison la plus
importante cest que SPRING est un conterneur lger.
2.3.2.2. La couche prsentation
Le tableau ci-dessous prsente une tude comparative entre Struts et JSF [5]
Critre

Struts
Un

Flxibilit de contrleur

seul

JSF

vnement

par Peut

requte utilisateur

avoir

plusieurs

gestionnaires dvnements aux


seins dune seule page.

Navigation

JSF propose un dispositif de navigation plus flexible que celui de


Struts
Struts est extensible via la Dispose

dune

fonctionnalit

classe RequestProcessor qui similaire que struts. De plus il a


Extensibilit

implmente
ncessaires

les
qux

appels lavantage de dcoupler la phase


mthodes de rendement de contrleur.

surant le cycle de vie dune


requte.

Dveloppement

ESPRIT

- Par comparaison avec


une application JSF, la
configuration
est
plus
complexe.
- Le
module
de
validation est plus efficace.

Page 27

- JSF
facilite
la
combinaison
des
GUIs
complexe aux seins dun seul
composant.
- JSF fait partie de J2EE
donc
il
bnfice
dune
spcification standard.
- Le dveloppement ne

Analyse et spcification des besoins


ncessite pas dtendre des
classes ou dimplmenter des
interfaces spcifiques.
JSF nest pas limit HTML et http mais aussi dautre

Intgration

aussi dautre technologies et protocoles.


Tableau 9 : Tableau comparatif entre JSF et STRUTS

Aprs ltude faite dans ce tableau comparatif, on peut dgager que JSF nous intresse
pour dvelopper la couche prsentation de notre application.
2.3.2.3. Choix de la solution portail
a. Jahia : [6]
Jahia est un portail J2EE qui dispose dune licence collaborative payante. Jahia intgre
laspect des modules applicatifs appells webbapps, qui respectent lAPI des portlets sous la
norme JSR 168 (Java specification request : cest une norme java pour le dveloppement des
portlets). Jahia contient plusieurs webbapps qui sont prte lmploi.
Sans oublier que Jahia offre toutes les fonctionnalits classiques de gestion de contenu :
gestion de larborcence, des contributions, des workflow, des templates et des droits.
Parmi les points forts de portail Jahia, on peut citer :
Lintgration proprement dite de la notion dECM (Entreprise Content Management).
Une ergonomie performante.
Une gestion de workflow, des droits et de personnalisation fines et puissantes
Neau moins Jahia des inconvnients :
License payante.
Jahia possde une faible communaut : seule la socit Jahia dveloppe le projet.
La solution ne gre pas les imports XML ni les mtadonnes.
b. Liferay : [6]
Liferay est un portail J2EE base dune license libre (open source). Liferay respecte les
principaux standards dintroprabilit, ce qui permet un deploiement facile sur diverse
serveurs dapplications et bases de donnes.

ESPRIT

Page 28

Analyse et spcification des besoins


Liferay fournit des nombreux modules qui sont prtes tre utiliss : Calendrier,
agenda, messagerie instantanne, messagerie, flux RSS, gestionnaire des documents
Dans ces nouvelles versions, Liferay propose son propre outil de gestion de contenu
WCM (Web Content Management) qui est un systme de gestion de contenu bas sur le
principe de workflow et de versionning.
De mme liferay donne la mains aux administrateurs de crer des sous-portail
totalement personnalisable. En effet, liferay permet davoir plusieurs espaces personnalisables
pour plusieurs organisations sur un mme serveur. Lauthentification entre ces diverses
portails seffectue en SSO (Single Sign On) grce lintgration du connecteur CAS (Central
Authentification Service). Diffrents connecteurs peuvent permettre une synchronisation avec
les annuaires LDAP et Exchange ce qui permet une intgration facile de ces dernires. On
peut citer parmi les points forts de liferay :
Installation et dploiement facile.
La simplicit dutilisation des portlets.
Respect des plusieurs standards : JSR 168, 170, Web services
Outils de gestion de contenu trs utile.
Parmi les points faibles de liferay :
Documentation insuffisante pour certaines fonctionnalits.
Aprs cette tude comparatif entre jahia et liferay, nous avons opt de choisir liferay
comme un portail J2EE open source pour dvelopper notre application.

2.4. Capture des besoins non fonctionnels


Chaque systme informatique un certain point dans son cycle de vie, doit considrer
des besoins non fonctionnels et leurs tests. Ces besoins demandent plus ou moins de travaille
selon le systme mettre en vidence.
Ainsi, notre solution portail devra tre scurise afin de contrler laccs aux diffrentes
ressource. Aussi, les interfaces IHM doivent tre conforme la charte graphique de la socit,
faciles utiliser et adaptes aux diffrents profils des utilisateurs.

ESPRIT

Page 29

Analyse et spcification des besoins

2.4.1. Scurit
La scurit en informatique est lensemble des techniques mettre en uvre dans le but
de sassurer que les ressources du systme dinformation matriel ou logiciel sont utilises
dans le cadre ou il est prvu

quelles le soient. Parmi ces techniques on peut citer

lauthentification et lautorisation (ou la disponibilit). Se sont ces deux techniques qui nous
intressent pour la mise en place de notre systme.
2.4.1.1. Authentification
Lauthentification est le mcanisme de vrification de lidentit dont une entit
(personne ou machine) se rclame. Elle vise essentiellement :
Contrler laccs des ressources ou des services dun systme dinformation.
Garantir une imputabilit avec vrification de lidentit.
La figure ci-dessous illustre les tats constitutifs dune authentification
3.4.1.1.

Figure 12 : Etats constitutifs dune authentification

La figure montre que lauthentification tourne autour de quatres tats :


Etat initial : Non authentifi, dans ce cas le systme doit interdire les actions qui
ncessitent une authentification
Phase de connexion : Cest la phase douverture du canal (session). Elle se rsume
dans le contrle de lidentit dun acteur
Etat authentifi : Cet tat a une dure bien dtermine, elle constitue la session
authentifie pendant laquelle lacteur a laccs aux ressources et aux services. La

ESPRIT

Page 30

Analyse et spcification des besoins


session peut tre ferm la demande de lutilisateur ou automatiquement par le
systme aprs un temps bien dtermin dinactivit.
Phase de dconnexion : Cest la phase de retour ltat initial.
Tous les tats peuvent potentiellement engendrer une erreur qui peut gnrer une
alarme. [7]
2.4.1.2. Autorisation
Lautorisation est le mcanisme qui dfinit comment les utilisateurs ont le droit
daccder certaines ressources ou services. En effet, la gestion des rles permet de grer les
autorisations, en spcifiant les ressources auxquelles les utilisateurs peuvent accder.
Chaque rle contient un ensemble des rgles daccs ou des permissions qui permettent
de prciser quelle sont les droits dun utilisateur sur un service ou sur des ressources. Ainsi
grce aux rles, la gestion de droits daccs se fait indpendamment des utilisateurs. Ainsi, se
prsente lobjectif de lutilisation des rles qui consistent faciliter la gestion des rgles
daccs pour les utilisateurs.[8]

2.4.2. Ergonomie
Parmi les critres de succs dune application web, se trouve un critre qui ne doit pas
tres nglig, cest lergonomie de lapplication. Plusieurs tudes et enqutes sont faites
concernant ce sujet. On peut citer lenqute effectue par Forrester Research auprs des
utilisateurs web, montre limportance de ce critre comme lillustre la figure ci-dessous :[9]

Figure 13 : Les critres de succs dun site web selon les utilisateurs

ESPRIT

Page 31

Analyse et spcification des besoins


Pour quun site web soit ergonomique, il doit tre la fois utile, c'est--dire il rpond
aux besoins des utilisateurs, et utilisable, c'est--dire facile apprendre et utiliser. Le critre
dutilit reste le critre le plus fondamental de succs dun site web. En effet un site qui est
utile et qui prsente des problmes sur le plan de son utilisabilit sera comme mme utilis
sil rpond dune faon adquate et unique aux besoins des utilisateurs.
Sans oublier quun site qui est peut utilisable qui prsente des lacunes sur le plan de
conception (une mauvaise architecture de linformation) ou sur le plan technologique
(tlchargement trop long) et dont le contenu nest pas unique risque trop dtre ignor par les
utilisateurs.
Une dmarche ergonomique est base sur une philosophie de conception qui se
concentre essentiellement sur les utilisateurs, les tches et les besoins. Ce qui implique que la
perspective ergonomique doit tre integre dans tous les phases de processus de
dveloppement dans le but de garantir lamlioration dune faon significative le degr
dutilit et dutilisabilit de lapplication mettre en uvre.

Conclusion
Dans ce chapitre, nous avons essay de faire ltude fonctionnelle et technique de notre
projet afin de dterminer les diffrents intervenants de lapplication ainsi que les services que
nous devons fournir. Ainsi, grce ltude technique nous avons reussit dgager le
composant techniques qui vont intervernir dans notre projet. Et enfin nous avons essays de
faire la capture des besoins non fonctionnels de notre projet.
Le chapitre suivant contiendra la phase de conception de notre application. Cette phase
se dvise en deux grandes parties : conception prliminaire et conception dtaille.

ESPRIT

Page 32

Conception

Chapitre 3 : Conception
Introduction
A ce niveau, la conception est dcompose essentiellement de deux tapes : la
conception prliminaire qui est la phase de croisement entre la branche fonctionnelle et
technique. Elle contient essenetiellement le diagramme de classe danalyse et le prototype
dinterface de notre application, et la conception dtaille qui contient une description des
patrons de conception avec une tude statique et dynamique de notre application.

3.1. Conception prliminaire


Un diagramme de classe prsente un ensemble des classes et dinterfaces avec leurs
relations. Le diagramme de classe peut se prsenter dans la phase danalyse et de conception.
En effet, dans la phase danalyse, le diagramme de classe met en uvre seulement les
classes qui servent dcrire les objets de lapplication. Or dans la phase de conception, le
diagramme de classe contient toutes les classes utiles en terme de dpendance afin dassurer
le fonctionnement de lapplication.

3.1.1. Diagramme de classe danalyse


La figure ci-dessous prsente le diagramme de classe danalyse de notre projet.

Figure 14 : Diagramme de classe danalyse

ESPRIT

Page 33

Conception
Afin de construire le diagramme de classe, nous avons identifi les classes candidates
par cas dutilisation. Aussi, nous avons procd par retro-ingnierie pour dcrire les classes
User et Organization
Le tableau ci-dessous prsente les classes candidates par cas dutilisation.
Cas dutilisation

Crer CV

Classes candidates
-

Crer projet

Grer matriel

Grer demande
matriel

User : cette classe est extraite de la base de donnes Liferay


Resume : La classe qui contient les CV dun chercheur
Diplome : Ncessaire pour la cration dun CV, un CV
contient plusieurs diplmes.
Experience : Un CV contient plusieurs expriences
Project : Cest la classe responsable des projets
scientifiques
Organization : Cette classe est extraite de La base de
donnes de Liferay, une organisation contient plusieurs
projets
Equipment : Cest la classe responsable de matriel
scientifique
Fournisseur : Un fournisseur peut fournir plusieurs
quipements scientifiques
Panne : Cette classe sert dclarer une ou plusieurs pannes
dans un quipement
Demande : La classe Demande sert ajouter des
demandes concernant les quipements scientifiques.

Tableau 10 : Classes candidates par cas dutilisation

3.1.2. Prototype dinterface


Liferay prsente plusieurs modles dinterfaces prdifinies. De plus, il nous donne la
possibilit pour dvelopper nos propres modles. Dans notre projet, nous avons choisit le
prototype situ dans la figure ci-dessous pour la plupart de nos interfaces IHM.

ESPRIT

Page 34

Conception

Logo et bannire
20%
Menu 10%

Contenu de page
60%

Pied de page 10%


Figure 15 : Prototype dinterface

La partie menu de linterface contient le menu relatif lutilisateur connect. Ce menu


lui permet daccder aux diffrentes pages dans la partie contenu de page. La disposition de
contenu de la page diffre dun utilisateur un autre. En outre, Le menu permet un
utilisateur daccder des pages dans le contenu de page.

3.2. Conception dtaille


3.2.1. Les patrons de conceptions
En gnie logiciel, un patron de conception ou motif de conception est un concept qui
vise rsoudre plusieurs problmes selon lapproche orient objet. Un modle de conception
peut tre vu comme un document contenant la description de la structure dun ensemble de
classes permettant de rpondre une situation particulaire.
Le but principal des patrons de conception est de minimiser le temps de dveloppement
dun logiciel tout en augmentant la qualit de rsultat, notamment en appliquant des solutions
et des meilleurs pratiques qui sont dj existantes des problmes courants de conception.
Les motifs de conceptions les plus connus sont au nombre de 23 et ils sont classifis
selon trois grandes familles (Cration, Structuration, Comportement). [10]

ESPRIT

Page 35

Conception
Dans cette partie, nous allons citer et dcrire
crire les design pattern que nous allons
appliquer durant notre projet.
Singleton :
Lobjectif de ce patron de conception est de restreindre linstanciation dune classe un
seul objet. Il est utile lorsque nous avons besoin dun seul objet pour coordonner des
oprations dans un systme. La figure ci-dessous
ci dessous illustre le diagramme de classe
c
du pattern
singleton : [10]

Figure 16 : diagramme de classe singleton

DAO :
Le pattern DAO (Data Access Object) est un pattern qui permet de faire
f
le lient entre la
couche mtier
tier contenant les services et la couche persistante. En effet, le pattern DAO permet
de centraliser les mcanismes de mapping entre le systme de stockage (Base de donnes) et
les objets. Ainsi un changement dun systme de stockage un autre est facile grce ce
pattern. La figure ci-dessous prsente le diagramme de classe de pattern DAO
DAO : [10]

Figure 17 : Diagramme de classe de pattern DAO

ESPRIT

Page 36

Conception
MVC (Model-View
View-Controller) :
Le modle vue contrleur est un modle de conception responsable de lorganisation de
linterface homme machine (IHM) dun logiciel. Le principe de ce modle de conception est
de dviser lIHM en trois parties comme lillustre la figure ci-dessous
ci
:

Figure 18 : Le pattern MVC

En rsume, lorsquun utilisateur envoie une requte, elle va tre envoye par la vue et
analyse par le contrleur. Ensuite, le contrleur demande au modle appropri deffectuer
lensemble des traitements necessaires et notifie la vue que la requte est effectue. Enfin la
vue notifie va faire une notification vers le modle pour se mettre jour. La figure ci-dessous
ci
illustre les diffrentes intraction
raction entre la vue, le modle et le contrleur. [10]

Figure 19 : Interaction entre les composants de MVC

ESPRIT

Page 37

Conception
Invesion de control (IoC) et injection de dpendance (ID) :
Linversion de contrle est un patron de conception commun tous les Framework. Il
garantit que le flot dxcution nest plus sous le contrle direct de lapplication mais du
Framework ou de la couche logicielle sous-jacente .
En faite, linversion de contrle est un terme gnrique qui peut tre appliqu selon
plusieurs formes. Le plus connu de ces formes et ce qui nous interesse le plus est linjection
de dpendances.
Linjection de dpendances (en anglais Dependancy Injection) consiste la cration
dynamique ou linjection des dependances entre les diffrentes classes en se basant sur une
description (fichier de configuration). De ce fait, les dependances seront dtermines
dynamiquement lexcution sans avoir recours les declarer statiquement. [10]

3.2.2. Etude statique


Cette partie contiendra une tude concernant la vue statique de notre projet. Elle
sinteresse en gnral la struture statique du systme par lintermdiaire des objets, des
classes, des attributs, des oprations et des relations. Elle inclut le diagramme de package et le
diagramme de classe.
3.2.2.1. Diagramme de package
Le digramme de package permet de reprsenter la dpendance fonctionnelle entre les
diffrents packages du systme. La figure ci-dessous illustre le diagramme de package de
notre application.

Figure 20 : Diagramme de package

ESPRIT

Page 38

Conception
Cette dcomposition des paquets est dgage partir de modle de dveloppement en
couche propos par larchitecture 3-tiers. Ainsi, notre application est compose
essentiellement de quatre paquets :
Le paquet persistance contient les classes qui sont en relation direct avec la base
de donnes, cette relation est gre par lAPI JPA. Hibernate permet de grer la
communication de ce paquet avec la base de donnes quelque soit le type de cette
dernire.
Le paquet DAO contient des classes composs des mthodes daccs la base de
donnes.
Le troisime paquet est le paquet service qui contient les classes des services qui
manipulent les mthodes daccs aux donnes.
Le dernier paquet presentation et le paquet responsable de linterface graphique.
Il importe des lments du paquet service pour les utiliser dans la vue.
Les autres packages sont des dpendances des Framework utiliss.
3.2.2.2. Diagramme de classe par package
a. Diagramme de classe de package persistence :

Figure 21 : Diagramme de classe de package persistence

ESPRIT

Page 39

Conception
Le package persistence contient les entits qui sont en relation avec la base de
donnes. Ces entits servent au mapping relationnel-objet.
b. Diagramme de classe de package service :
Le paquet Service contient les classes des services offerts par notre application. Ces
classes ont besoins des classes du paquet DAO afin dinvoquer les mthodes ncessaires pour
limplmentation des diffrents services. Ce qui prouve la relation de dpendance entre ces
classes. La figure ci-dessous illustre le diagramme de classe de package service.

Figure 22 : Diagramme de classe de package Service

ESPRIT

Page 40

Conception
c. Diagramme de classe de package DAO :
Le paquet DAO contient les classes dimplmentation des mthodes qui sont
responsable de laccs la base de donnes (Les mthodes CRUD). Pour pouvoir
implmenter ces mthodes, nous avons recours une sessionFactory partir de Hibernate.
Ainsi, nous expliquons la dpendance entre les diffrentes classes de notre paquet DAO et la
classe SessionFactory de Hibernate. La figure ci-dessous prsente le diagramme de classe de
package DAO.

Figure 23 : Diagramme de classe de package DAO

ESPRIT

Page 41

Conception
d. Diagramme de classe de package prsentation
Ce package contient les diffrents contrleur dont le rle est essentiellement lappelle
des mthodes du package service. Pour cela, les contleurs ont besoins des classes du package
service afin dassurer lappelle des diffrentes mthodes. Ainsi nous expliquons la
dpendance entre les classes illustr dans la figure ci-dessous :

Figure 24 : Diagramme de classe de package prsentation

ESPRIT

Page 42

Conception

3.2.3. Etude dynamique


La vue dynamique intervient aprs la dfinition du modle statique. Elle permet de
reprsenter le comportement dynamique du systme. En effet cette vision sert mettre en
vidence les relation inter-objets.
objets.
Pour cela, le modle dynamique pourra inclure des diagrammes de sequences,
dactivits,de collaborations et dtats.
dtat Dans cette section, nous allons prsenter
prs
quelques
scnarios de notre systme.
3.2.3.1. Scnario de cration de CV :
La figure ci-dessous
dessous dcrit le diagramme
diagramme de squence de cration dun CV

Figure 25 : Diagramme de squence de cration de CV

Le chercheur accde au formulaire dajout CV FormulaireCV et le remplit.


re
Les
donnes sont envoyes vers le contrleur ResumeBean.

. Le contrleur, va son tour,


vrifier les donnes : Sils sont errons un message derreur va tre affich au chercheur.
Sinon le contrleur va assurer lenregistrement de ce CV dans la table Resume. Ensuite, le
chercheur va tre redirig vers linterface formulaireComplete qui est linterface
responsable dajout des diplmes et des expriences.. Le chercheur saisi les informations de

ESPRIT

Page 43

Conception
diplme et valide, ces informations vont tre envoyes au contleur qui va les vrifier. Sil
sont valides il va assurer lenregistrement du diplme associ au CV ajout prcdement dans
la table diplme. De mme pour lajout dune exprience.
3.2.3.2. Scnario de cration de projet
La figure ci-dessous dcrit le diagramme de squence dajout dun projet :

Figure 26 : Diagramme de squence de scnario cration de projet

Le fonctionnaire choisit dajouter un projet, le contrleur fait une vrification des


donnes si les donnes sont valides il contacte lentit Project sinon le systme affiche un
message derreur. Si le fonctionnaire choisit daffecter des chercheurs un projet, le
contrleur ProjectBean lui retourne la liste des utilisateurs par organisation. Ainsi, il peut
associer des chercheurs. Ces projets qui sont ajouts de la part du fonctionnaire sont par
dfaut ltat non publi. Cest ladministrateur organisation qui choisit de les publier ou non.
Si un projet passe ltat publi, ladministrateur organisation peut dans ce cas ajouter les
rsultats atteintes par ce projet.

ESPRIT

Page 44

Conception
Pour mieux comprendre les tats dun projet nous avons fait un diagramme dtat
transision pour ce scnario qui est prsent dans la figure ci-dessous

Figure 27 : diagramme dtat transition scnario cration projet

3.2.3.3. Scnario de consultation des projets associs :


La figure ci-dessous illustre le diagramme de squence de consultation des projets
associs (portefeuille) et dajout dune notification un projet :

Figure 28 : Diagramme de squence consulter portefeuille

ESPRIT

Page 45

Conception
Le chercheur consulte linterface InterfaceProfil pour afficher ces propres projets,
le contrleur envoie lidentifiant de lutilisateur vers lentit Project afin de retourner la
liste des projets appropris. Puis, il retourne le rsultat vers le chercheur. Le chercheur choisit
un projet parmi la liste et consulte linterface dajout notification FormulaireNotification
remplit le formulaire et valide. Les donnes sont envoyes par linterface vers le contrleur
NotificationBean , ensuite ce dernier contacte lentit Notification afin denregistrer
la notification.
3.2.3.4. Diagramme dactivit scnario rserver matriel :
La figure ci-dessous montre le diagramme dactivit de scnario rsarvation matriel

Figure 29 : Diagramme dactivit scnario rserver matriel

Le fonctionnaire choisit un quipement parmi la liste, ensuite, il peut rserver un


matriel pour un projet. Le contrleur ReservationBean va effectuer une vrification de
disponibilit sur lquipement choisit de point de vue date et stock. Si lquipement est
disponible, alors le contrleur contacte lentit Reservation pour effectuer lopration.
Sinon, le fonctionnaire peut faire une sur un quipement.

ESPRIT

Page 46

Conception

Conclusion
Dans le but davoir une image prte fabriquer de notre systme, nous avons essays
dans ce chapitre tout dabord de produir le modle de conception systme afin dorganiser
notre application en composants. Ensuite, nous avons essays de dcrire comment raliser
chaquun de ces composants.
Il nous reste maintenant dexpliquer comment nous avons raliss notre systme, ceci
est lobjectif de chapitre suivant.

ESPRIT

Page 47

Ralisation

Chapitre 4 : Ralisation
Introduction
Nous terminerons notre rapport par le chapitre ralisation qui a pour objectif de dcrire
comment nous avons raliss notre projet et dexposer le travail achevs. Pour cela, nous
commencerons par une tude sur le lenvironnement de travail. Ensuite nous citerons les
tapes de mise en uvre de notre application, puis nous allons faire des captures dcrans
pour quelques scnarios des services offerts par notre application.
Aprs, on va valuer notre application selon les fonctionnalits attendues et les besoins
non fonctionnels qui ont t cits dans le chapitre analyse et spcification des besoins. Enfin,
nous citerons les problmes que nous avons rencontrs tout le long de notre projet.

4.1. Environnement de travail


4.1.1. Environnement logiciel
4.1.1.1. IDE : Eclipse JEE Helios
Eclipse est un environnement de dveloppement integr libre extensible et polyvalant
qui permet la cration des projets avec nimporte quel language. Larchitecture declipse et
totalement fondu sur la notion de plugin : c'est--dire que toutes les fonctionnalits de cet
atelier logiciel sont dveloppes en tant que plugin.
La version que nous avons utilise (Java EE Helios), cest une version declipse
permettant la cration des projets Java EE et des applications web.
4.1.1.2. Liferay IDE et Liferay plugin SDK
Liferay IDE est une extension pour la plateforme eclipse qui supporte le dveloppement
des plugin pour le portail Liferay. Cette extension est disponible sous forme des plugins
installable partir dun entrept de mise jour. Liferay IDE ncessite lutilisation dun plugin
SDK de liferay qui est un environnement de dveloppement et de deploiement des plugins
pour liferay. Il existe quatre types de plugins liferay :
Les portlets : En gnral, une protlet est un composant web qui peut sintgrer dans
un conteneur de portlet (portail). Chaque portlet peut tre considre comme une

ESPRIT

Page 48

Ralisation
application web appart. Les portlets se basent sur un API dfinie selon la spcification
JSR 168 support par le portail Liferay. Liferay contient plusieurs portlets prdfinis
prtes tre utilises.
Les Hooks : Un hook est une action qui peut tre excute aprs un vnement bien
prcis. Liferay donne la possibilit de dvelopper des Hooks de plusieurs types par
exemple : Hook avant ou aprs authentification, un vnement aprs lexcution dun
service
Les thmes : Liferay donne la possibilit de cration des thmes qui permettent de
contrler linterface IHM vues par lutilisateur. De ce fait, linterface de portail peut
tre compltement personnalise. Aussi, liferay permet chaque organisation davoir
son propre thme personnalis.
Layout templates : Liferay permet de dvelopper des plugins qui permettent de
contrler la disposition de la page. Sans oublier quil fournit des layouts par dfaut qui
peuvent tre utiliss. [11]
4.1.1.3. Apache Ant
Ant est un projet open source de la fondation apache ecrit en java. Ant est labrviation
de Another Neat Tool en franais un autre chouette outil . Ant est essentiellement
utilis pour Lautomatisation des oprations rpttives au cours de dveloppement (ntoyage
de projet, compilation, gnration de la documentation, versionning, test, deploiement
).[13]
4.1.1.4. Outil de test unitaire :JUnit
Dans la vie dun logiciel, les tests unitaires interviennent dans deux priodes : dune
part, tout le long de construction des fonctionnalits de lapplication et dautre part lor de
lajout dun service. Parmi les outils de test unitaires, on trouve le framework libre JUnit qui
permet dcrire et dxcuter des tests en langage java facilement. [17]
4.1.1.5. StarUML
StarUML est un logiciel de modlisation UML qui est devenu open source aprs son
exploitation commertiale sous une license modifi de GNU GPL. StarUML permet de crer la
plupart de diagramme UML 2.0 et propose plusieurs gnrateurs de codes. Il est ecrit en
Delphi, pour cela, il dpend des composants Delphi propritaires, ce qui explique peut tre
quil nest plus mis jour. [18]

ESPRIT

Page 49

Ralisation

4.1.1.6. MySQL 5.0


MySQL est un systme de gestion de base de donnes qui a une licence libre qui peut
tre propritaire selon le type de lapplication. Il est parmi les logiciels de gestion de base de
donnes le plus utiliss au monde autant par le grand public travers les applications web
principalement que par de professionnels.
MySQL est un serveur de base de donnes relationnelles SQL multi-thread et multiutilisateur dvelopp afin daugmenter la performance de lecture des donnes. Ainsi il est
orient vers le service de donnes dj en place que vers celui de mise jour frquentes et
scurises. [16]

4.1.2. Environnement technologique


4.1.2.1. Framework SPRING
Spring est une plate-forme java qui fournit une infrastruture complte pour dvelopper
des applications java. Spring est totalement un conteneur dit lger. Il prend en charge la
cration et la mise en relation des objets avec un fichier de configuration qui contient
simplement la description des objets fabriquer.
Lavantage le plus important par rapport aux serveurs dapplications est quavec Spring
les classes de lapplication nont pas besoin dimplmenter une interface quelconque pour tre
pris en charge par le Framework. Cest pour cela que Spring est qualifi de conteneur
lger. Aussi, Spring propose tout un ensemble dabstraction permettant de grer :
Le mode transactionnel.
Lappel des EJBs.
La cration des EJBs.
La persistance des objets.
La cration dune interface web.
Lappel et la cration de web services. [19]

4.1.2.2. Hibernate
Hibernate est un Framework libre permettant de grer la persistance des objets en base
de donnes relationnelle. Il est un Framework adaptable qui peut tre utilis aussi bien dans
ESPRIT

Page 50

Ralisation
un dveloppement client lourd, que dans un environnement web lger. Hibernate peut tre
utilis pour crer la couche daccs aux donnes (DAO) ainsi que pour grer la persistance
des objets. [15]
4.1.2.3. JPA
Java Persistence API (JPA) est un Framework qui permet aux dveloppeurs dorganiser
les donnes relationnelles dans les applications utilisant la plateforme java. JPA est issue de
travail du groupe dexpert dans la spcification JSR 220. La persistance dans le contexte de
JPA tourne autour de trois zones :
LAPI elle-mme, dfinie dans le package javax.persistence.
Le langage Java Persistence JQuery (JPQL).
Le/les objet(s) mtadonnes relationnelles. [14]

4.1.2.4. Java Server Faces


Java Server Faces (JSF) est un Framework java ayant pour objectif le dveloppement
des applications web. JSF est un Framework MVC bas sur la notion des composants, c'est-dire que ltat dun composant est enregistr lors de rendu de la page, pour tre ensuite
restaur au retour de la requte. Il est constitu essentiellement de :
Un ensemble dAPIs pour la reprsentation et la gestion des composants, de leurs
tats, des vnements, de la validation des entres, la conversion des sorties et
linternationalisation et laccessibilit ainsi que la navigation entre les vues.
Deux jeux de composants standards HTML et Core.
Deux bibliothques de balises JSP pour la construction de vues JSF.
Un modle vnementiel cot serveur.
Les Managed-Beans qui prsentent la couche de contrle de JSF.
Langage dexpression Unifi (EL) qui sert la liaison entre la vue et les managedbeans.
Il existe plusieurs composants additionnels qui peuvent tre utiliss avec JSF on peut
citer JBOSS Richfaces et Ajax4JSF qui sont composs dun ensemble de composants riches
libre et supportant Ajax. [12]

ESPRIT

Page 51

Ralisation

4.2. Etapes de mise en uvre


La mise en uvre de notre application tourne autour des phases que nous allons citer
dans cette partie.
1. Configuration Liferay:
Cette phase concerne la configuration et la prparation de lenvironnement de travail.
Durant cette tape, nous avons integr la base de donnes de Liferay dans MySQL.Ensuite,
nous avons configur Liferay pour travailler avec MySQL par lintermdiaire de fichiers
properties . Aprs nous avons installs Lieray IDE partir de lentrept de mise jour de
la version Eclipse Helios. Et enfin, nous avons integr le plugin SDK de Liferay dans eclipse.
2. Configuration Spring :
Cette tape consiste prparer le fichier de configuration SPRING nomm fichier de
contexte, cest le fichier qui est responsable de la configuration de linjection de dpendance.
Nous avons choisit de travailler avec les annotations SPRING. Dans ce cas, Le fichier
de contexte va contenir seulement les informations de la base de donnes Liferay (chemin,
pilote, nom utilisateur, mot de passe), le nom des entits qui vont tre persists dans la base
et la declaration de gestionnaire des transactions responsable de linjections des instances.
3. Dveloppement de la couche mtier :
Durant cette tape nous avons dvelopps les packages de la couche mtier : En premier
lieu, nous avons commenc par la couche persistante, c'est--dire les entits et les rlations
entre eux, nous avons utiliss pour cela JPA comme nous lavons indiqus prcedement.
Ensuite nous avons dvelopps les interfaces et les classes dimplmentations de la
couche DAO et service afin de mettre en uvre les services de notre application.
4. Dveloppement de la couche prsentation :
Cest ltape de prparation des contrleurs (Le modle MVC) et les interfaces IHM.
Les interfaces IHM. Nous avons utiliss les composant richfaces et Ajax4JSF avec
JSF afin davoir des inerfaces riches. Les contrleurs sont des classes Java qui invoquent les
services pour assurer la communication entre le modle et la vue (IHM).
5. Intgration :
ESPRIT

Page 52

Ralisation
Cest durant cette phase que nous avons integrs notre projets dans liferay. Pour cela,
nous avons configurs nos portlets selon la spcification JSR168 et les rgles de Liferay.Ceci
est assur grce aux fichiers de configuration que propose Liferay pour le dveloppement des
plugins de type portlet.
6. Dveloppement dun HooK :
Durant notre projet, nous avons eu recourt developper un HOOK qui permet de faire
la redirection dun utilisateur vers sa propre organisation. Ce Hook se prsente comme une
action qui sxcute aprs lauthentification de lutilisateur.
7. Dveloppement dun thme :
Aprs lintgration du projet dans liferay, nous avons dvelopp un thme selon la
spcification des thmes de Liferay (velocity).
8. Deploiement des plugins avec ANT :
Nous avons utiliss dans cette phase le plugin de ANT prsent dans Eclipse et le plugin
SDK de liferay pour le deploiement des diffrents plugins dvelopps dans les tapes
prcdentes.

4.3. Vue de linterface du portail


4.3.1. Gestion organisation
La gestion des organisations est un prdfinie dans Liferay. En effet, Liferay nous offre
la

possibilit

davoir

plusieurs

organisations

compltement

personnalisables.

Les

organisations sont ajoutes par le super administrateur. Ensuite, chaque organisation peut tre
administre par ladministrateur qui lui appartient.
Ladministrateur organisation peut crer les pages de son organisation avec des
permissions, choisir un thme pour son organisation, il peut mme affecter des utilisateurs.
La figure ci-dessous prsente le panneau de commande dadministration dune
organisation :

ESPRIT

Page 53

Ralisation

Figure 30 : Panneau de commande de gestion des organisations

4.3.2. Scnario de cration dun projet


A partir de formulaire ci-dessous, le fonctionnaire peut ajouter un projet. Par defaut, le
projet cre est ltat non publi. Le fonctionnaire peut aussi partir de cet interface, accder
aux formulaires daffectation des quipement et des chercheurs.

Figure 31 : Formulaire dajout du projet

ESPRIT

Page 54

Ralisation
La figure ci-dessous illustre linterface dadministration des projets. A partir de cet
interface, ladministrateur organisation peut visualiser toutes les informations concernant le
projet et de choisir de le valider ou non.

Figure 32 : Administration des projets

4.3.3. Espace de profil scientifique


Cette espace permet un chercheur dajouter ou de visiter un CV ainsi de voir et
dajouter des notifications pour les projets qui lui sont associs. La figure ci-dessous illustre
lespace de crateur de CV.

ESPRIT

Page 55

Ralisation

Figure 33 : Crateur des CV

La figure suivante, prsente un projet de portefeuille dun chercheur :

Figure 34 : Portefeuille des projets associs un chercheur

ESPRIT

Page 56

Ralisation

4.3.4. Espace dadministration des quipements scientifiques


Ladministrateur organisation peut avec linterface illustre dans la figure ci-dessous
afficher linventaire concernant un quipement choisit. Linventaire contient les information
sur le fournissseur de ce matriel, ainsi que la liste rservations rcentes et la liste des pannes
declars.

Figure 35 : Inventaire dun quipement

Les rservations des quipements scientifiques sont faites par le fonctionnaire qui peut
aprs la cration dun projet rserver des quipements propres son organisation. Notons bien
que le stock est gr automatiquement et que lajout dune rservation ne sera valid que
lorsque le systme vrifie la disponibilit de lquipement. La figure ci-dessous illustre
linterface dajout des rservations :

ESPRIT

Page 57

Ralisation

Figure 36 : Interface rservation quipements

4.4. Evaluation
Cette partie contiendra une valuation de notre application selon les besoins non
fonctionnels et les fonctionnalits attendues dcritent dans le chapitre danalyse et
spcification des besoins.

4.4.1. Scurit
Pour assurer la scurit notre portail, nous avons utiliss le plugin de lauthentification
et de gestion des utilisateurs de Liferay. En effet, un utilisateur qui veut accder au backoffice de portail, il doit avoir un compte dans liferay avec un rle qui groupe un ensemble des
droits daccs.
Ainsi, lespace dadministration de portail ne peut tre accessible que par des
utilisateurs qui sont authenetifis et qui ont des droits daccs sur les applications prsentes
dans cet espace. La figure ci-dessous prsente le panneau de commande de gestion des
utilisateurs dans Liferay :

ESPRIT

Page 58

Ralisation

Figure 37 : Panneau de commande gestion des utilisateurs

4.4.2. Ergonomie
Parmi les tapes de mise en uvre de notre projet, nous avons essay de dvelopper un
thme selon la spcification de Liferay pour pouvoir garantir lergonomie notre portail. De
mme, nous avons utilis les layouts pr-installs dans Liferay dans le but davoir des
interfaces ordonnes et faciles utiliser. Notons bien quavec liferay chaque organisation peut
avoir son propre thme.

4.4.3. Tests unitaires


Afin de sassurer qu nos services fonctionnent correctement, nous avons utiliss JUnit
pour effectuer nos tests unitaires. En effet chaque service achev est test avant dtre invoqu
partir de la couche prsentation. Les services que nous avons assurs tournent autour de
trois modules :
La gestion des profiles scientifiques (Cration des CV, portefeuille de projet).
La gestion des projets base dun workflow de validation.
La gestion de matriel scientifique (Rservation, inventaires, dclaration des pannes).

ESPRIT

Page 59

Ralisation

4.5. Problmes rencontrs


Durant la ralisation de notre projet, et comme les pluparts des projets, nous avons
rencontr quelques problmes :
Problme lors de capture de la phase danalyse : Durant cette phase, il navait pas
un cahier des charges bien dfinis. Pour cela, nous avons tudis le SI existant afin de
bien dgager les besoins fonctionnels et techniques.
Problme des ressources matrielles : Les ordinateurs mis notre disposition, ont
une performance moyenne, ceci constitue une contrainte pour le dploiement et
lexcution de Liferay.

Conclusion
Au cours de ce chapitre nous avons prsent lensemble des tapes de mise en uvre de
la solution portail ainsi que quelques captures dcrans IHM. Ensuite, nous avons effectu une
valuation de notre solution et ce en se basant sur les besoins fonctionnels et non fonctionnels.

ESPRIT

Page 60

Conclusion gnrale

Conclusion gnrale

Lobjectif de ce projet de fin dtudes consiste la conception et la ralisation dun


portail pour la recherche scientifique agricole.
Afin datteindre cet objectif, nous avons fait une tude des besoins fonctionnels et
techniques. Ainsi nous avons pu dgager larchitecture de notre application, les outils
ncessaires pour la ralisation et la mise en uvre.
Au cours de ce projet, nous avons rencontr plusieurs problmes lis la
comprhension du contexte.
Sans doute, cette exprience nous a t bel et bien fructueuse sur plusieurs plans.
Dune part, nous avons pu activement contribuer lactivit de dveloppement au sein de
fournisseur des services informatiques lIRESA. Dautre part, elle nous a permis
dappliquer et de consolider nos connaissances acquises durant nos annes dtudes. De plus,
nous avons pu nous familiariser avec plusieurs nouvelles technologies et approches,
essentiellement, Les portlets, Les portail web, SPRING, JSF-RichFaces...
Enfin, travers ce projet, nous avons eu la chance damliorer nos aptitudes
communiquer et travailler en collaboration ce qui nous aidera, sans doute, bien nous
intgrer dans le milieu professionnel.
Les perspectives pour ce projet sont diverses. En effet, nous projetons de mettre en
place un portail qui engloberait toutes les applications de FSI avec un rseau social
professionnel.

ESPRIT

Page 61

Rfrences

Rfrences
Neto graphie
[1] : http://iresa.agrinet.tn/index.jsp?pg=02&rub=01
[2] : http://www.freewebs.com/fresma/Formation/UML/Processus%20Unifie.pdf
[3] : http://fr.wikipedia.org/wiki/Architecture_trois_tiers
[5] : http://soaj2ee.blogspirit.com/archive/2005/05/18/comparatif_jsf_struts.html
[6] : Core-Techs, Livre Blanc de 11 solutions de gestion de la connaissance.pdf
[7]:http://www.ssi.gouv.fr/archive/fr/politique_produit/catalogue/pdf/authentification_robuste
sse_standard_v0-13.pdf
[8] : http://msdn.microsoft.com/fr-fr/library/5k850zwb%28v=vs.80%29.aspx
[9] : http://www.crim.ca/fr/r-d/documents/GuideErgonomique.pdf
[10] : http://fr.wikipedia.org/wiki/Patron_de_conception
[12] : http://fr.wikipedia.org/wiki/JavaServer_Faces#Constituants_de_JSF
[13] : http://fr.wikipedia.org/wiki/Apache_Ant
[14] : http://fr.wikipedia.org/wiki/Java_Persistence_API
[15] : http://fr.wikipedia.org/wiki/Hibernate
[16] : http://fr.wikipedia.org/wiki/MySQL
[17] : http://www.iut-orsay.fr/dptinfo/Pedagogie/Roger.Astier/app_java/javaTest.html
[18] : http://fr.wikipedia.org/wiki/StarUML
[19] : http://fr.wikipedia.org/wiki/Spring_framework
Bibliographie
[4] : Priya Thinagar, EJB3.0 vs Spring

[11] : Connor McKay, Jorge Ferrer Development Documentation

ESPRIT

Page 62

Rfrences
Livre blanc, le portail dintgration lifray version 1.0.
Arnaud Cogolugnes,Thierry Templier,Julien Dubois, Jean-Philippe Retaill, Spring par la
pratique 2me dition.
Lotfi Mellouk Dvelopper des applications RIA avec richfaces.

ESPRIT

Page 63

Vous aimerez peut-être aussi