Rapport PFE Liferay

download Rapport PFE Liferay

of 63

description

Rapport de projet de fin d'étude

Transcript of Rapport PFE Liferay

Sommaire

Table des matiresSommaireIntroduction gnrale ......................................................................................................... 6 Chapitre 1 : Prsentation du cadre de projet .................................................................. 7 Introduction ......................................................................................................................... 71.1. 1.2. 1.3. 1.4. Prsentation de lorganisme daccueil ............................................................................. 7 Etude de lexistant ........................................................................................................... 8 Solution propose .......................................................................................................... 10 Dmarche mthodologique ............................................................................................ 10

Conclusion ......................................................................................................................... 14 Chapitre 2 : Analyse et spcification des besoins .......................................................... 15 Introduction ....................................................................................................................... 152.1. 2.2. 2.3. 2.4. Etude prliminaire ......................................................................................................... 15 Capture des besoins fonctionnels .................................................................................. 16 Capture des besoins techniques ..................................................................................... 25 Capture des besoins non fonctionnels ........................................................................... 29

Conclusion ......................................................................................................................... 32 Chapitre 3 : Conception ................................................................................................... 33 Introduction ....................................................................................................................... 333.1. 3.2. Conception prliminaire ................................................................................................ 33 Conception dtaille ...................................................................................................... 35

Conclusion ......................................................................................................................... 47 Chapitre 4 : Ralisation ................................................................................................... 48 Introduction ....................................................................................................................... 484.1. 4.2. 4.3. Environnement de travail .............................................................................................. 48 Etapes de mise en uvre ............................................................................................... 52 Vue de linterface du portail .......................................................................................... 53

ESPRIT

Page 1

Sommaire4.4. 4.5. Evaluation ...................................................................................................................... 58 Problmes rencontrs..................................................................................................... 60

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

ESPRIT

Page 2

Liste des tableaux

Liste des tableauxTableau 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 figuresFigure 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 figuresFigure 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 projetIntroductionDans 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 daccueilLinstitution 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 lexistantNotre 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 lexistantLe 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 bas sur le base principe de systme de gestion de contenu (CMS). Lapplication NAIS est compose de deux parties : Une partie prive : P Permettant aux administrateurs, aprs lauthen lauthentification 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 publi quaprs directement une validation. Une partie publique : qui permet aux visiteurs de consulter les publications et les informations sur les projets. La figure ci-dessous prsente larc dessous larchitecture de lapplication NAIS:

Administrateur

Front office

Back office

Visiteurs

Entrept de donnes

Figure 2 : Schma darchitecture de lapplication NAIS

1.2.2. Critique de lexistantLa 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 lui sont associs. ui

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 proposeNotre 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 mthodologiqueCette 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 comparativeLes 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 Cascade 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

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: 2TUPNous 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.

ConclusionDans 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 besoinsIntroductionLe 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 prliminaireLtude prliminaire est la premire tape dans le processus 2TUP. cette tape consiste faire lidentification et la description des acteurs.

2.1.1. Identification des acteursUn 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 acteursLe tableau ci-dessous contient la description des acteurs de notre systme : Acteur Administrateur Description Cet acteur est le super administrateur appartenant lIRESA. Son rle est de grer les utilisateurs, les rgles daccs aux services ainsi que les organisations. Pour chaque organisation, il y un administrateur qui peut grer son contenu (projet, matriel, publications) et personnaliser son affichage. Appartient une organisation et bnfice des services dajout de contenu (projet, publications). Les chercheurs appartiennent aux organisations et peuvent bnficier des services de collaboration et de suivi des projets.Tableau 2 : Description des acteurs

Administrateur organisation

Fonctionnaire

Chercheur

2.2. Capture des besoins fonctionnelsNous allons commencer dans cette partie par lidentification des cas dutilisation par acteur.

2.2.1. Identification des cas dutilisationLe tableau ci-dessous contient une classification des cas dutilisation par acteur : Acteur Cas dutilisation Grer organisation Grer utilisateur et rle

Administrateur

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 Fonctionnaire Crer projet Affecter chercheur Affecter matriel Suivi projet Dposer document Chercheur Crer CV Rserver matriel Signaler panne matriel Consulter projets associsTableau 3 : Identification des cas dutilisation

2.2.2. Analyse2.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 Titre Crer un projet

ESPRIT

Page 18

Analyse et spcification des besoins But La cration des projets La cration des projets est une tche partage entre lAdministrateur organisation et le fonctionnaire. En effet, le fonctionnaire peut ajouter un Rsum projet 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. Acteur Administrateur organisation, fonctionnaire DESCRIPTION DES ENCHAINEMENTS Pr conditions Ladministrateur organisation ainsi que fonctionnaire doivent sauthentifier Choisir le service gestion des projets Pour lajout dun projet au moins un chercheur doit tre affect. Scnario principal Choisir une action faire Opration effectu Le projet ajout est par dfaut non publi Post conditions

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 lorganisationTableau 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 Titre Consulter matriel Consultation de la liste des quipements scientifiques propre une organisation. Ladministrateur organisation peut consulter les fiches dinventaires pour un quipement choisit. Une fiche dinventaire contient toutes les rservations

But

Rsum

ESPRIT

Page 20

Analyse et spcification des besoins sur un quipement avec les pannes associes cet quipement sil existe Acteur Administrateur organisation DESCRIPTION DES ENCHAINEMENTS Pr conditions Ladministrateur sauthentifier Choisir le service de consultation matriel Scnario principal organisation doit Post conditions Choisir une action faire Opration effectu

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 valideTableau 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 Titre But Crer CV La cration dun CV Le chercheur peut crer un CV. Un CV peut tre publique visible par tout les utilisateurs ou prive. Chercheur DESCRIPTION DES ENCHAINEMENTS Pr conditions Le chercheur doit sauthentifier Consulter le service crateur de CV Post conditions Choisir une action faire Opration effectu Scnario principal

Rsum

Acteur

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 valideTableau 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 Titre But Consulter projets associs La consultation de ses propres projets Un portefeuille contient tous les projets affects un utilisateur. Rsum L'utilisateur consulter ces propres projets et ajouter des notifications pour un projet choisit Acteur Chercheur DESCRIPTION DES ENCHAINEMENTS Pr conditions Lutilisateur doit sauthentifier Consulter le service portefeuille Post conditions

Choisir une action faire

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 valideTableau 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 techniquesLa 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 darchitectureLarchitecture 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 technologiqueAfin 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. JTA, JDBC et

Support de JTA mais peut Supporte Transaction

supporter dautres bass sur Hibernate transaction. JTA

ESPRIT

Page 26

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 AOP Limit aux intercepteurs Supporte alliance Conteneur lourd : Prsence Conteneur lger : Il suffit davoir Conteneur dun conteneur dEJB. un conteneur de servlet. AspectJ et AOP

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 Un Flxibilit de contrleur seul Struts vnement par Peut avoir JSF plusieurs

requte utilisateur

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. - Par comparaison avec une application JSF, la configuration est plus complexe. - Le module de validation est plus efficace. - 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

Dveloppement

ESPRIT

Page 27

Analyse et spcification des besoins ncessite pas dtendre des classes ou dimplmenter des interfaces spcifiques. Intgration JSF nest pas limit HTML et http mais aussi dautre 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 fonctionnelsChaque 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. ScuritLa 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. ErgonomieParmi 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.

ConclusionDans 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 : ConceptionIntroductionA 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 prliminaireUn 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 danalyseLa 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 projet Classes candidates 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.

Crer CV

Grer matriel Grer demande matriel -

Tableau 10 : Classes candidates par cas dutilisation

3.1.2. Prototype dinterfaceLiferay 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 dtaille3.2.1. Les patrons de conceptionsEn 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 les design pattern que nous allons crire 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 illustre le diagramme de c ci-dessous classe du pattern singleton : [10]

Figure 16 : diagramme de classe singleton

DAO : Le pattern DAO (Data Access Object) est un pattern qui permet de f faire le lient entre la couche mtier contenant les services et la couche persistante. En effet, le pattern DAO permet tier 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 : [10] DAO

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 ci-dessous :

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 ci-dessous illustre les diffrentes intraction entre la vue, le modle et le contrleur. [10] raction

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 statiqueCette 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 dynamiqueLa 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 dtat Dans cette section, nous allons prs dtats. prsenter quelques scnarios de notre systme. 3.2.3.1. Scnario de cration de CV : La figure ci-dessous dcrit le diagramme de squence de cration dun CV dessous diagramme

Figure 25 : Diagramme de squence de cration de CV

Le chercheur accde au formulaire dajout CV FormulaireCV et le re remplit. 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

ConclusionDans 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 : RalisationIntroductionNous 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 travail4.1.1. Environnement logiciel4.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 technologique4.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 uvreLa 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 portail4.3.1. Gestion organisationLa 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 projetA 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 scientifiqueCette 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 scientifiquesLadministrateur 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. EvaluationCette 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. ScuritPour 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. ErgonomieParmi 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 unitairesAfin 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 rencontrsDurant 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.

ConclusionAu 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

RfrencesNeto 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