Download - Rapport PFE Finale
Sommaire
Introduction générale..................................................................................................................1
Chapitre I Présentation du Cadre du Projet............................................................................3
Introduction.................................................................................................................................4
I. Présentation de l’organisme d’accueil................................................................................4
I.1 Attributions...................................................................................................................4
I.2 Organisation administrative et structure......................................................................4
I.3 Direction Générale.......................................................................................................4
I.4 Les structure rattachées directement à la Direction Générale......................................5
I.5 L’organigramme de l’ONTT........................................................................................5
II. Etude de l’existant...............................................................................................................6
II.1 Description de l’existant...............................................................................................6
II.2 Critique de l’existant....................................................................................................7
II.3 Solution proposée.........................................................................................................7
III. Méthodologie adoptée......................................................................................................8
Conclusion..................................................................................................................................9
Chapitre II Spécification des besoins....................................................................................10
Introduction...............................................................................................................................11
I. Contexte du système.........................................................................................................11
II. Étude des besoins..............................................................................................................11
II.1 Besoins fonctionnels..................................................................................................11
II.1.1 Authentification..................................................................................................11
II.1.2 La gestion des projets..........................................................................................11
II.1.3 La gestion des types............................................................................................12
II.1.4 La gestion des intervenants.................................................................................12
II.1.5 Participer au projet..............................................................................................12
II.1.6 La gestion des structures internes de l’ONTT....................................................12
II.1.7 La gestion des acteurs externes...........................................................................12
II.1.8 La gestion du compte utilisateur.........................................................................12
II.2 Besoins non fonctionnels...........................................................................................12
II.2.1 Sécurité...............................................................................................................12
II.2.2 Performance........................................................................................................12
II.2.3 Ergonomie...........................................................................................................13
II2.4 Convivialité.........................................................................................................13
II.2.5 L’aptitude à la maintenance................................................................................13
III. Les diagrammes de cas d’utilisation..........................................................................13
III.1 Présentation des acteurs..........................................................................................13
III.2 Description des cas d’utilisation.............................................................................13
III.2.1 Diagramme de cas d’utilisation général..............................................................16
III.2.2 Raffinement des cas d’utilisation........................................................................17
Conclusion................................................................................................................................21
Chapitre III Conception......................................................................................................22
Introduction...............................................................................................................................23
I. Architecture globale de la solution...................................................................................23
II. Conception du niveau données.........................................................................................24
II .1 Règles de gestion........................................................................................................24
II.2 Diagramme de classes................................................................................................24
II.2.1 Identification des classes.....................................................................................25
II.2.2 Description des classes.......................................................................................25
II.2.3 Diagramme de classe.........................................................................................26
II.2.4 Modèle relationnel..............................................................................................27
III. Conception du niveau application..................................................................................27
III.1 Diagramme de séquences « Authentification »......................................................27
III.2 Diagramme de séquences « Gestion de Projet ».....................................................28
III.3 Diagramme de séquences « Démarche de Projet ».................................................30
III.3 Diagramme de séquences « Application ».............................................................31
IV. Conception du niveau présentation................................................................................32
IV.1 Structure de l’application........................................................................................32
IV.2 Charte graphique.....................................................................................................33
Conclusion................................................................................................................................33
Chapitre IV Réalisation.......................................................................................................34
Introduction...............................................................................................................................35
I. Environnement de développement....................................................................................35
I.1 Environnement matériel.............................................................................................35
I.2 Environnement logiciel..............................................................................................35
I.2.1 Apache Tomcat 7.0.............................................................................................35
I.2.2 Oracle 11g Express.............................................................................................35
I.2.3 Adobe Dreamweaver CSS.5...............................................................................36
I.2.4 Eclipse indigo......................................................................................................36
I.2.5 PowerAMC.........................................................................................................36
I.2.6 Adobe Photoshop cs6.........................................................................................36
I.3 Choix des outils de développement : J2EE................................................................36
II. Déploiement de l’application............................................................................................38
III. Principales interfaces graphiques...................................................................................39
III.1 Interface « Page d’authentification »......................................................................39
III.2 Les Interfaces de l’« Administrateur »..................................................................39
III.2.1 Liste des chefs de Projet.....................................................................................39
III.2.2 Statistique...........................................................................................................40
III.3 Les Interfaces du « chef de projet ».......................................................................40
III.3.1 Ajouter un Projet.................................................................................................40
III.3.2 Liste des Projets.................................................................................................41
III.3.3 Détail du projet..................................................................................................41
III.34 Modification de projet........................................................................................42
III.3.5 Historique...........................................................................................................43
III.3.6 Modification du mot de passe............................................................................43
III.4 Les Interfaces du « Participant (intervenant, acteur externe) ».............................43
III.4.1 Accueil...............................................................................................................43
III.4.2 Détail de projet par tâche :.................................................................................44
IV. Planification du projet....................................................................................................45
Conclusion................................................................................................................................45
Conclusion Générale et Perspectives........................................................................................46
Webographie.............................................................................................................................47
Annexe......................................................................................................................................48
Annexe A : Diagrammes des cas d’utilisation..........................................................................49
Annexe B : Définitions.............................................................................................................51
Annexe C : Les interfaces.........................................................................................................53
Liste des figures
Figure 1 : L’organigramme de l’ONTT......................................................................................5Figure 2:Organisation du Projet..................................................................................................8Figure 3 : Processus unifié..........................................................................................................9Figure 4:Diagramme de cas d'utilisation initial........................................................................16Figure 5: Raffinement de cas d’utilisation « Participer à un projet »......................................17Figure 6:Raffinementdu cas d'utilisation «Gérer les projets »..................................................18Figure 7:Raffinementde cas d'utilisation « Modifier le compte ».............................................19Figure 8: Raffinement de cas d'utilisation « Gérer les intervenants»......................................20Figure 9: Architecture 3-Tiers..................................................................................................23Figure 10: Diagramme de classes.............................................................................................26Figure 11: Diagramme de séquences «Authentification »........................................................28Figure 12: Diagramme de séquences « Gestion de Projet ».....................................................29Figure 13: Diagramme de séquences « Démarche du Projet ».................................................30Figure 14:Diagramme de séquences « Application »...............................................................31Figure 15: Structure de l’application........................................................................................32Figure 16: Charte graphique.....................................................................................................33Figure 17: Diagramme de déploiement de l'application...........................................................38Figure 18:Page d’authentification.............................................................................................39Figure 19:Liste des chefs de Projet...........................................................................................40Figure 20:Statistique.................................................................................................................40Figure 21: Nouveau Projet........................................................................................................41Figure 22:Liste des projets........................................................................................................41Figure 23:Détail du projet.........................................................................................................42Figure 24: Modification de projet.............................................................................................42Figure 25: Historique................................................................................................................43Figure 26: Modification du Mot de Passe.................................................................................43Figure 27:Page d’accueil d'un Participant.................................................................................44Figure 28:Détail du projet par Tâche........................................................................................44Figure 29: Diagramme de GANTT...........................................................................................45Figure 30:Raffinement de Cas d’utilisation « Gérer les structures »........................................49Figure 31:Raffinement de cas d’utilisation « Gérer les types »................................................50Figure 32:Page d’accueil d’un chef de projet...........................................................................53Figure 33:Liste de type de projet..............................................................................................53Figure 34:Liste des acteurs.......................................................................................................54Figure 35: Liste des intervenants..............................................................................................54Figure 36: Nouvel acteur..........................................................................................................55Figure 37:Nouveau chef de projet.............................................................................................55Figure 38:Nouveau intervenant.................................................................................................56Figure 39:Fin de création de projet...........................................................................................56Figure 40:Calendrier de date.....................................................................................................56Figure 41:Statistique de structure par projet.............................................................................57
Liste des Tableaux
Tableau 1: Description des acteurs...........................................................................................13Tableau 2:Identification des cas d'utilisation............................................................................14Tableau 3: Description du sous cas d'utilisation "Participer à un Projet".................................17Tableau 4: Description du sous cas d'utilisateur «Gérer les projets ».......................................19Tableau 5:Description du sous cas d’utilisation « Gestion du compte »..................................19Tableau 6:Description du sous cas d’utilisation « Gestion des intervenants ».........................20Tableau 8:Description du sous cas d’utilisation « Gérer les structures ».................................49Tableau 9:Description du sous cas d’utilisation « Gestion des types »....................................50
1
Introduction générale
L’évolution rapide des technologies de l’information et des télécommunications
touche le monde du travail de plein fouet et transforme profondément les conditions et les
moyens de fonctionnement l’entreprise. L’intranet est devenu incontournable dans les
organisations. Il s’agit d’une organisation intelligente, d’un système interne d’information qui
permet à une organisation de se définir elle-même en tant que qu’entité, groupe, famille, où
chacun connaît son rôle et travaille à l’amélioration permanente et au bon déroulement du
travail au sein de l’organisation.
En effet, un portail web intranet permet de centraliser l’accès à l’information pour les
utilisateurs d’une part et offre un point unique de control et d’administration aux personnels
d’autre part. En se dotant d’un portail intranet, l’entreprise s’offre un outil unique qui
rassemble et personnalise, à travers une interface web, toutes les informations et services
nécessaires à ses activités, il a des très positifs reflets sur l’échange des informations et le
management.
Pour conclure le cursus de notre formation de licence appliquée à l’institut supérieur des
études technologiques de Charguia, nous avons eu l’occasion de réaliser notre projet de fin
d’études au sein de l’office nationale de tourisme tunisien. Notre projet consiste à mettre en
place un système intranet pour la direction informatique et plus précisément à développer une
application web de gestion et de suivi des projets
Le présent document contient toutes les étapes que nous avons réalisées pour atteindre notre
objectif, il est organisé comme suit :
Le premier chapitre «Présentation du Cadre du Projet» contient une description de la
société d’accueil, une étude de l’existant avec la problématique, les objectifs, la
démarche et les processus adoptés.
Dans le deuxième chapitre « spécification des besoins », nous allons énumérer les
principales fonctionnalités offertes par l’application en présentant les besoins
fonctionnels et non fonctionnels, ensuite nous allons déterminer les cas d’utilisation
ainsi que les principaux acteurs contribuant dans l’application.
2
Puis, au niveau du troisième chapitre intitulé «Conception », nous allons détailler
l’architecture de notre système et spécifier la conception de chaque partie de
l’architecture adoptée par le biais des diagrammes de séquence.
Finalement au niveau du quatrième et dernier chapitre « Réalisation » nous présentons
l’environnement de travail matériel et logiciel qu’on a utilisé, le diagramme de
déploiement qui illustre la mise en œuvre de la solution, les principales interfaces
graphiques et le planning prévisionnel et réel pour la gestion de notre projet.
4
Chapitre I : Présentation du cadre du projet
Introduction Ce chapitre représente une mise dans le contexte du projet de fin d’études intitulé Mise en
place d’un système intranet pour la Gestion des Projets de la direction informatique de
l’Office Nationale de Tourisme Tunisien, il contient une présentation de l’organisme
d’accueil, une étude de l’existant avec une idée sur la solution proposé pour remédier à la
problématique, ou ce qui va constituer notre projet.
I. Présentation de l’organisme d’accueil Ce projet de fin d’études s’est réalisé à l’Office Nationale de Tourisme Tunisien (ONTT).
C’est un établissement public à caractère non administratif doté de la personnalité civile et de
l’autonomie financière. Il est placé sous la tutelle du Ministère du Tourisme.
I.1 Attributions
L’Office Nationale de Tourisme Tunisien a pour mission essentielle de mettre en œuvre la
stratégie de l’état en matière de tourisme, avec comme attributions :
o Développer le secteur touristique
o Réglementer et contrôler l’activité touristique
o Promouvoir le produit
o Assurer la formation hôtelière et touristique
I.2 Organisation administrative et structureL’L’Office Nationale de Tourisme Tunisien est administrée par un conseil d’établissement,
présidé par le Directeur Général.
I.3 Direction GénéraleLe directeur général assure le fonctionnement technique, administratif et financier de l’office
et assure d’une manière générale les attributions relatives à la loi de création de l’office, le
statut particulier du personnel et les législatifs et réglementaires en vigueur.
Le directeur général est assisté dans ses missions par le directeur général adjoint. Il a autorité
sur toutes les structures de l’office.
5
Chapitre I : Présentation du cadre du projet
I.4 Les structure rattachées directement à la Direction Généraleo Direction de l’audit interne
o Direction du contrôle de gestion
o Direction des affaires juridiques et des marchés
o Direction informatique
o Direction des études et de la coopération internationale
I.5 L’organigramme de l’ONTT
Figure 1 : L’organigramme de l’ONTT
6
Chapitre I : Présentation du cadre du projet
II. Etude de l’existant
II.1 Description de l’existantLa direction informatique de l’ONTT dispose de trois services :
- Développement.
- Système et sécurité.
- Technologies de l’information et de la communication.
Cependant, il existe deux façons de prise en charge d’un projet :
Le projet est pris en charge totalement par l’équipe de développement de la direction
informatique de l’ONTT et dans ce cas, il s’agit d’une gestion interne sans avoir
recours à un tiers externe.
Le projet est confié à un acteur externe. Dans ce cas, l’ONTT lance un appel d’offre,
suite auquel, un fournisseur est choisi pour la maîtrise d’œuvre, et ainsi la direction
informatique s’occupe de la maîtrise d’ouvrage et participe également au
développement.
La méthode de gestion des projets au sein de l’office se fait manuellement. En effet, le
plan des tâches est préparé manuellement sur des fichiers physiques de façon où chaque
intervenant peut manipuler ses projets associés d’une façon différente et enregistrer ses
propres observations.
Afin de gérer les projets et suivre leurs avancements, il est nécessaire de suivre certains
indicateurs pour comprendre le flux d’informations échangées, et pour ce faire le chef de
projet doit définir un ensemble de paramètres, à savoir :
Le projet, les phases, les tâches, l’équipe intervenante, la structure interne destinatrice,
l’acteur externe investisseur ou fournisseur.
Un intervenant doit pouvoir :
Gérer ses tâches pour un ou plusieurs projets
Voir son planning
Définir ses options de travail (valider tâche en cours…)
7
Chapitre I : Présentation du cadre du projet
Le chef de projet contrôle l’état d’avancement d’un projet en fixant les dates de fin de
différentes phases et tâches ainsi que les dates de validation ,et puis il doit clôturer le projet
après l’accomplissement de toutes les phases.
II.2 Critique de l’existantAprès l’analyse de la méthode de travail actuelle au sein de la société, nous pouvons
maintenant dégager les inconvénients et les insuffisances suivantes :
D’une part, l’absence d’un système permettant la gestion automatique des projets ce qui
engendre un volume important des informations traitées manuellement, et ça provoque parfois
des erreurs dans l’établissement des documents et dans la planification. Il y a mise au point
aussi de la perte de temps, car on risque de perdre ces données ou de tomber dans des
ambiguïtés, ainsi que la possibilité d’erreur dans le remplissage des différents documents ne
cesse d’augmenter.
D’autre part, l’absence aussi des moyens de collaboration qui permettent de faciliter le
travail en équipe et des outils de suivi permettant de connaître en temps réel le résultat de
projet, ainsi que son état d’avancement, donc s’ajoute ici le problème d’organisation.
II.3 Solution proposée
Après avoir observé l’existant et recensé les besoins des utilisateurs, et dans le but
d’optimiser le travail, nous avons assigné à notre étude les points suivants :
Diminuer le coût et le support papier.
Permettre le partage des informations et la communication au sein de l’entreprise en
toute sécurité ; Une application intranet facilite la circulation de l’information, c’est
une des raisons de son succès.
Faciliter les tâches administratives des projets tout en offrant des outils de suivi.
Assurer la collaboration et la coordination entre les différents intervenants en offrant une
meilleure gestion des projets.
La solution qu’on propose consiste à concevoir un système qui gère le planning de
réalisation d’un projet, depuis sa création à sa livraison finale, il doit également nous
permettre de connaître l’ensemble des tâches à réaliser pour un projet quelconque, les
intervenants concernés, les durées nécessaires et l’état d’avancement du projet…
8
Chapitre I : Présentation du cadre du projet
Figure 2:Organisation du Projet
III. Méthodologie adoptée
Le choix de la méthodologie d’analyse et de conception de notre application est basé sur
le processus unifié, qui est un processus de développement logiciel regroupant les activités à
mener pour transformer les besoins d’un utilisateur en système logiciel. Il est à base de
composants, piloté par les cas d’utilisateur, centré sur l’architecture, itératif, incrémentale et
utilise le langage UML…
En effet, le point fort du processus unifié réside dans son ambiguïté car il est adaptable à
divers types de projets [1].
Le langage propose de nombreux types de modèles, construits sur un certain nombre de
concepts communs. Ce choix est basé sur les avantages apportés par UML (Unified Modeling
Language), parmi lesquels on peut citer par exemple le support de communication performant
puisqu’il facilite la compréhension et représentations abstraites complexes. De plus, UML est
un langage universel qui permet de servir de support pour tout langage orienté objet. Il assure
en plus une notation graphique simple, compréhensible même pour les non-informaticiens.
9
Chapitre I : Présentation du cadre du projet
Développement itératif
Figure 3 : Processus unifié
ConclusionDans ce chapitre, nous avons donc mis le projet dans son contexte et cité les limites du
système actuel ainsi que la solution que nous proposons. Dans le chapitre suivant, nous allons
spécifier et analyser les techniques et fonctionnalités du système à réaliser, et cela avant de
procéder à la planification lors de la phase d’élaboration.
11
Chapitre 2 : Spécification des besoins
IntroductionLe présent chapitre présente la phase d’analyse et de spécification des besoins. Nous
commençons tout d’abord, par l’étude préliminaire dans laquelle nous faisons la capture des besoins. Ensuite, nous procédons à l’étude fonctionnelle et technique de notre projet. Et enfin, nous identifions les acteurs de notre système et les différents cas d’utilisation.
I. Contexte du systèmeNotre mission au sein de l’office Nationale de Tourisme Tunisien consiste à mettre en
place un système Intranet pour la gestion des projets de la direction informatique qui permet
de suivre le cycle de vie d’un projet de l’introduction à sa livraison finale.
II. Étude des besoins
L’objectif de la phase de spécification des besoins consiste à définir avec détails
l’ensemble des fonctionnalités offertes par le système. Notre application doit être
opérationnelle, évolutive, conviviale et offrant les informations nécessaires en temps réel.
II.1 Besoins fonctionnels
Un besoin fonctionnel est un besoin spécifiant une action qu’un système doit être capable
d’effectuer, sans considérer aucune contrainte physique. C’est un besoin spécifiant un
comportement d’entrée/sortie d’un système.
Notre futur système doit assurer les fonctionnalités techniques suivantes :
II.1.1 Authentification : la notion de sécurité est très importante au sein d’un
système multi-utilisations. Pour cette raison, il est indispensable d’ajouter un cas d’utilisation
« S’authentifier ». Tous les acteurs doivent s’identifier avant de réaliser n’importe quelle
opération.
II.1.2 La gestion des projets : les nouveaux projets sont introduits par le chef de
projet qui doit insérer dans le système plusieurs paramètres tel que la structure destination,
l’équipe intervenante, la durée estimée pour la création des phases et des tâches. Le chef de
projet assure aussi le suivi de l’exécution d’un projet, dans le but de permettre au système de
mentionner l’état d’avancement selon les phases et tâches clôturées. Il peut également
modifier un projet ou le supprimer.
12
Chapitre 2 : Spécification des besoins
II.1.3 La gestion des types : afin de créer un projet, le chef doit mentionner son
type, il peut également gérer les types des projets en ajoutant un nouveau type, le consulter et
le mettre à jour en le modifier ou en le supprimant.
II.1.4 La gestion des intervenants : Un projet correspond à un projet de travail.
Ce projet peut concerner une ou plusieurs personnes appelées intervenants, et qui sont
contrôlées par un chef de projet qui les affecte à un projet en leur attribuant une tâche. Par la
suite, chaque intervenant doit pouvoir accéder à ses tâches associées et pouvoir les gérer.
II.1.5 Participer au projet : Un simple intervenant peut accéder aux tâches de ses
associées et consulter leurs informations et peut aussi les gérer en ajoutant des observations et
les valider après clôture.
II.1.6 La gestion des structures internes de l’ONTT : (directions centrales et
directions…) elle permet d’ajouter une nouvelle structure interne, la consulter et la mettre à
jour en la modifiant ou en la supprimant.
II.1.7 La gestion des acteurs externes : société, cabinet de conseils… : Gérer,
modifier ou supprimer une structure.
II.1.8 La gestion du compte utilisateur: un intervenant peut modifier ses informations, changer son mot de passe.
II.2 Besoins non fonctionnelsUn besoin non fonctionnel est un besoin spécifiant des propriétés du système, tel que
les contraintes liées à l’environnement et l’implémentation, et les exigences en matière de
performances, de dépendances de plateforme, de facilité de maintenance, d’extensibilité et de
fiabilité.
Dans notre système on distingue les besoins non fonctionnels suivants :
II.2.1 Sécurité : l’application doit garantir la sécurité en assurant l’intégrité et non
répudiation des données stockées dans la base, compte tenu qu’elles reflètent des informations
privées sur les différents utilisateurs.
II.2.2 Performance: L’application doit faire face à un grand nombre de requêtes et
le temps de traitement de données doit être minimum. L’accès à la base donnée doit être à la
fois facile et rapide.
II.2.3 Ergonomie : Les interfaces doivent être claires et faciles à manipuler.
13
Chapitre 2 : Spécification des besoins
II2.4 Convivialité : La future application doit être facile à utiliser. En effet, les
interfaces utilisateurs doivent être conviviales c’est-à-dire simples, ergonomiques et adaptées
à l’utilisateur.
II.2.5 L’aptitude à la maintenance : La flexibilité de l’application pour qu’elle
facilite les améliorations et la maintenance.
III. Les diagrammes de cas d’utilisation
III.1 Présentation des acteurs
Un acteur représente une abstraction d’un ensemble des rôles joués par entités externes et
qui interagissent directement avec le système. Nous avons identifié principalement 4 acteurs.
Acteur DescriptionAdministrateur L’administrateur peut faire la gestion des chefs de projet (ajout, mise à
jour).L’administrateur peut avoir les listes du projet et les statistiques.
Intervenant Un intervenant participe à la réalisation de projet. Il peut également gérer son compte utilisateur.
Acteur externe Un acteur externe peut participer à la réalisation de projet si on lui demande de faire une tâche.
Chef de projet Cet acteur est un intervenant qui a des super privilèges. Son rôle principal est de contrôler l’avancement d’un projet dès sa création jusqu’à sa validation. Il peut donc créer, modifier, supprimer ou valider un projet, gérer ses phases et tâches. Il gère aussi les structures internes, les types de projet, les acteurs externes et intervenants et peut les affecter alors à un projet quelconque.Le chef de projet peut avoir les statistiques.
Tableau 1: Description des acteurs
III.2 Description des cas d’utilisation
Chaque usage du système par l’un des acteurs est représenté par un cas d’utilisation.
Chaque cas d’utilisation représente donc une fonctionnalité offerte par notre application afin
de produire le résultat attendu. Ainsi, « le diagramme de cas d’utilisation décrit l’interaction
entre le système et l’acteur, en déterminant les besoins de l’utilisateur et tout ce que doit faire
le système pour l’acteur ».
Le tableau ci-dessous contient une classification des cas d’utilisateur par acteur :
Acteur Cas d’utilisationAdministrateur S’authentifier
14
Chapitre 2 : Spécification des besoins
Gérer les chefs de projet Visualiser les statistiques
Intervenant S’authentifier Gérer son compte utilisateur Participer au projet associé
Acteur externe S’authentifier Participer au projet associé
Chef de projet S’authentifier Gérer les projets Gérer les intervenants Gérer les acteurs externes Gérer les structures internes Gérer les types de projet Visualiser les statistiques
Tableau 2:Identification des cas d'utilisation
L’objectif fondamental de cette étape est d’identifier les principaux cas d’utilisation :
Gérer les chefs de projet : L’administrateur peut ajouter les chefs de projet, comme
il peut les modifier ou les supprimer.
Visualiser les statistiques : Peut avoir les statistiques.
S’authentifier : Il doit passer par la saisie du login et du mot de passe pour
s’identifier
Gérer son compte utilisateur : Un intervenant peut modifier ses informations
personnelles, tel que son mot de passe.
Participer au projet associé : Chaque intervenant est doté de sa propre interface,
qui est différente de celle du chef de projet, et dans laquelle il peut voir les tâches
qui lui ont été affectées par le chef de projet et peut donc consulter le projet en cours
et mettre à jour ses tâches.
Gérer les projets : Le chef de projet peut créer un projet qui contient au minimum
une phase et une tâche ainsi que les dates de validation, comme il peut supprimer le
projet au moment de l’approbation de toutes les phases. Il peut également mettre à
jour un projet en cours en le modifiant (Ajouter une phase, prolonger le projet,
change l’état d’un projet…).
Gérer des intervenants : Le chef de projet peut ajouter un nouvel intervenant, le
consulter ou le mettre à jour, soit en le modifiant ou en le supprimant.
Le chef de projet peut affecter un intervenant à une tâche de projet.
15
Chapitre 2 : Spécification des besoins
Gérer les acteurs externes : Le chef de projet peut ajouter un nouvel acteur
externe, le consulter ou le mettre à jour soit en l’affectant à un projet, soit en le
modifiant ou en le supprimant.
Gérer les structures internes : Le chef de projet peut ajouter une nouvelle
structure, la consulter ou la mettre à jour soit en l’affectant à un projet, soit en la
supprimant ou en la modifiant.
Gérer les types de projet : Le chef de projet peut ajouter un nouveau type de projet
et le mettre à jour soit en le supprimant ou en le modifiant.
III.2.1 Diagramme de cas d’utilisation général
16
Chapitre 2 : Spécification des besoins
<<include>>
<<include>>
<<include>>
<<include>>
<<include>>
<<include>>
<<include>>
<<include>>
<<include>>
<<include>>
Chef Projet
Gérer les intervenants
Gérer les projets
Gérer les Types
Gérer les Structures
Gérer Les Acteurs
Authentification
Base des données
Participer à un projet
Modifier le compte
intervenant
Gérer la l iste des chefs de projets
Visualiser les statistiques
Administrateur
Acteur externe
Figure 4:Diagramme de cas d'utilisation initial
17
Chapitre 2 : Spécification des besoins
III.2.2 Raffinement des cas d’utilisation
III.2.2.1 Participer à un projet
<<include>>
<<extend>>
<<extend>> <<extend>>Participant
chef projet
Participer à un projet
consulter un projet
voir les taches
valider une taches
Authentification
Acteur externe
Intervenant
Figure 5: Raffinement de cas d’utilisation « Participer à un projet »
Description du cas d’utilisation « Participer à un projet » :
Titre Participer à un projetActeurs : Participant (Acteur externe, Intervenant, chef de projet)
Pré condition : Un participant doit être authentifiéScénario Nominal : Le système affiche l’interface de gestion de projet
associé.L’intervenant, ou acteur externe choisit le projet associé.Le système affiche les informations relatives au projet (nom, équipe d’intervenants, structure destinatrice, acteurs externes, liste des phases et tâches…)L’intervenant ou acteur externe clique sur gérer tâches.Le système affiche l’interface des tâches associées au projet sélectionné.L’intervenant choisit une tâche.Le système affiche l’interface de gestion de tâche.L’intervenant crée un commentaire si nécessaire.L’intervenant définit ses options de travail et valide.
Post condition : Participant authentifié
Tableau 3: Description du sous cas d'utilisation "Participer à un Projet"
18
Chapitre 2 : Spécification des besoins
III.2.2.2 Gérer les projets
<<include>>
<<extend>>
<<extend>>
<<extend>>
<<include>>
<<include>>
Chef Projet Gérer les projets
Authentification
Ajouter un ProjetModifier un projetSupprimer un projet
Créer phase Créer tâche
Figure 6:Raffinementdu cas d'utilisation «Gérer les projets »
Description du sous cas d’utilisation « Gérer les projets » :
Titre Gérer les projetsActeur Chef de projet
Pré condition Le chef de projet doit être authentifié.
Scénario Nominal Le chef de projet accède à l’interface de gestion de projet.Le chef de projet crée un nouveau projet.Le chef de projet ajoute une phaseDans chaque phase, le chef de projet ajoute au moins une tâche.Le chef de projet saisit toutes les informations nécessaires pour terminer l’ajout d’un projet.Le système vérifie la validation d’ajout et met à jour la base de données et affiche un message de confirmation.
Post condition Projet Crée
Exception Si le chef de projet saisit des informations
19
Chapitre 2 : Spécification des besoins
erronées, un message d’erreur sera affiché.Tableau 4: Description du sous cas d'utilisateur «Gérer les projets »
III.2.2.3 Modifier le compte
<<include>>
<<extend>><<extend>>
intervenant
chef Projet
gestion de compte
Modifier le mot de passe Modifier les informations personelles
Anthentification
Figure 7:Raffinementde cas d'utilisation « Modifier le compte »
Description du sous cas d’utilisation « Modifier le compte » :
Titre Modifier le compteActeurs Intervenant, chef de projet
Pré condition L’intervenant ou chef de projet doit être authentifié
Scénario Nominal Le système affiche l’interface de mise à jour de compte. L’intervenant clique sur le menu gérer compte.Sous le menu gérer compte, on trouve modifier (mot de passe, informations personnelles).L’intervenant ou le chef de projet clique sur l’un des sous-menus de gérer le compte et clique sur le bouton valider pour enregistrer
Post condition Mise à jour réussie du compte
Exception Si l’intervenant saisit des informations erronées, un message d’erreur sera affiché.
Tableau 5:Description du sous cas d’utilisation « Gestion du compte »
20
Chapitre 2 : Spécification des besoins
III.2.2.4 Gérer les intervenants
<<include>>
<<extend>>
<<extend>>
<<extend>>
chef Projet
Gérer les intervenants
Ajouter intervenant
Supprimer intervenant
Authentification
Modifier intervenant
Figure 8: Raffinement de cas d'utilisation « Gérer les intervenants»
Description du sous cas d’utilisation « Gérer les intervenants » :
Titre Gérer les intervenantsActeur Chef de projet
Pré condition Le chef de projet doit être authentifié.
Scénario Nominal Le chef de projet clique sur le menu gestion des intervenants.Sous le menu gestion des intervenants, on trouve (Ajouter, supprimer et modifier).Le chef de projet clique sur l’un de ces sous-menus.Il y a une interface appropriée pour chaque choix.Le chef de projet ajoute ou supprime ou modifie un intervenant, puis clique sur le bouton valider pour enregistrer.
Post condition Mise à jour réussie des intervenants
Exception Si le chef de projet saisit des informations erronées, un message d’erreur sera affiché.
Tableau 6:Description du sous cas d’utilisation « Gestion des intervenants »
21
Chapitre 2 : Spécification des besoins
Conclusion La spécification des besoins fonctionnels et non fonctionnels du système, et par la
suite, la définition des différents diagrammes des cas d’utilisation, nous ont permis de
déterminer les principales fonctionnalités offertes par notre système.
23
Chapitre III : Conception
IntroductionDans ce chapitre, nous allons présenter la notion d’architecture trois tiers. Ensuite,
nous passons à détailler la conception de notre application.
I. Architecture globale de la solutionGénéralement, la création des sites ou les applications web est effectuée selon
l’architecture 3-tiers, cette architecture est un modèle logique d’architecture applicative qui
vise à séparer très nettement trois couches logicielles au sein d’une même application ou
système, à modéliser et présenter cette application comme un empilement de trois couches.
Cette architecture est présentée par la figure ci-dessous :
Figure 9: Architecture 3-Tiers
La partie client : c’est la partie qui permet le dialogue avec l’utilisateur. Elle
peut être composée d’une application web ou d’applets.
La partie métier :(appelée également middleware) c’est la partie qui encapsule
les traitements.
La partie donnée : c’est la partie qui stocke les données.
Une requête est traitée en 3 niveaux, le client l’envoi à un serveur d’applications qui la
traite et l’envoi à son tour à un serveur de données accompagné généralement d’une base de
24
Chapitre III : Conception
données, cette requête est ré-envoyée depuis le serveur de données au serveur d’applications
qui la transfère finalement en tant que réponse au client.
II. Conception du niveau donnéesLa conception du niveau données permet de mieux spécifier la structure du système tout
en décrivant ses règles de gestion afin d’améliorer la compréhension et la lisibilité du
diagramme de classes.
II .1 Règles de gestionNous présentons dans ce qui suit les principales règles de gestion relatives à notre
application.
L’administrateur peut ajouter un ou plusieurs chefs de projet.
L’administrateur peut voir la liste des projets.
Un participant peut être un chef de projet.
Un participant peut être un intervenant.
Un participant peut être un acteur externe.
Un participant peut être un administrateur.
Chaque chef du projet peut ajouter un ou plusieurs projets.
Chaque projet appartient à zéro ou plusieurs structures.
Un projet est associé à un seul type.
Chaque projet est composé par un ou plusieurs phases associées.
Une phase est composée par au moins une ou plusieurs tâches
Chaque tâche est associée à une seule phase.
Chaque tâche est associée à un seul participant (intervenant, acteur externe)
Un participant(intervenant, acteur externe) peut avoir une ou plusieurs tâches.
L’administrateur peut visualiser les statistiques.
Le chef de projet peut visualiser les statistiques.
II.2 Diagramme de classes
Une classe représente la structure d'un objet, c'est-à-dire la déclaration de l'ensemble des
entités qui le composent. Elle est constituée d'attributs dont les valeurs représentent l'état de
l’objet et des méthodes qui sont les opérations applicables aux objets.
25
Chapitre III : Conception
II.2.1 Identification des classes
Administrateur Projet Participant Intervenant
Type Structure Phase Tâche
Acteur externe Commentaire Chef de projet
II.2.2 Description des classes
Administrateur : est une classe fille qui contient les informations d’administrateur.
Projet : elle contient toutes les informations nécessaires du projet (phase, tâche, structure et
type).Elle contient aussi la liste des participants (intervenant, acteur externe) associés pour
chaque projet.
Participant : est une classe mère contenant tous les participants existants comme chef de
projet, intervenant, acteur externe, administrateur.
Intervenant : est une classe fille qui contient les informations de l’intervenant.
Chef de projet : est une classe fille qui contient les informations du chef de projet.
Acteur externe : est une classe fille qui contient les informations de l’acteur externe.
Structure : cette classe contient les informations de la structure.
Type : classe contient tous les types de projets.
Phase : elle contient toutes les listes de phases des projets.
Tâche : elle contient la liste des tâches associées au participant (intervenant, acteur externe)
dans une phase.
II.2.3 Diagramme de classe
26
Chapitre III : Conception
0..*
1..1
1..1
1..*
1..1
1..*
1..1
1..1
1..1
0..11..1
0..*
1..1
0..*
1..1
0..*
Chef Projet
Projet
--------
IdTitreDescriptionDate_debutDate_finLangageLogicielEtat
: int: String: String: Date: Date: String: String: String
++++
ajouter ()Supprimer ()Modifier ()afficher ()...
: void: void: void: void
Phase
----
idDescriptionDate_DebutDate_fin
: int: String: Date: Date
++++
ajoute ()Supprimer ()modifier ()afficher ()...
: void: void: void: void
Tache
-----
idDescriptionDate_debutDate_FinEtat
: int: String: Date: Date: Date
++++
ajoute ()Supprimer ()modifier ()afficher ()...
: void: void: void: void
Structure
-----
idDescriptionDirectureLieuTel_Struc
: int: String: String: String: String
++++
Ajouter ()Modifier ()Supprimer ()afficher ()...
: void: void: void: void
Type
--
idDescription
: int: String
++++
ajoute ()Supprimer ()modifier ()afficher ()...
: void: void: void: void
Participant
---------
Idtype_participantNomPrénomAdresseTélephonneMailLoginMot de passe
: int: int: String: String: String: String: String: String: String
++++
Ajoute ()Supprimer ()Modifier ()afficher ()...
: void: void: void: void
Intervenant
- privilege : String
Acteur externe
- Spécialité : String
Administrateur
Figure 10: Diagramme de classes
II.2.4 Modèle relationnelUne fois notre diagramme de classes est établi, nous pouvons déduire le modèle relationnel
correspondant, qui est le suivant :
27
Chapitre III : Conception
Participant (id,type_participant, nom, prénom,adresse, téléphone, mail, login, password,
privilège, Spécialité);
Structure (idStruc,description_struc, directeur, adresse_struc, téléphone_struc) ;
Type ( idType, Description_type);
Projet (idPro , Titre, Description, DateDébut_pro, DateFin_pro, Etat_pro,language,
logiciel,#idStruc, #idType, #idChef);
Phase (idPhase, description_Phase, DateDébutPhase, DateFinPhase, #idPro);
Tâche (idTâche, description_tâche, DateDébutTâche, DateFinTâche, état_tâche ,#idPhase,
#idAct, #idInter) ;
III. Conception du niveau application
III.1 Diagramme de séquences « Authentification »
Ce diagramme schématise l’opération d’authentification du participant au système
(l’opérateur « loop » explique comment le système interagit avec la demande
d’authentification). Si les informations saisies sont invalides, une alerte informe l’utilisateur.
Sinon, le participant accède à la page d’accueil sans problèmes.
28
Chapitre III : Conception
Authentification
Vérefication de login et mot de passe
Affichage de menu
Succes de connexion
Resaisir login et mot de passe
Message d'erreur
Saisi login/mot de passe
Systeme
Participant
[Condition]loop
Vérefication de login et mot de passe
Affichage de menu
Succes de connexion
Resaisir login et mot de passe
Message d'erreur
Saisi login/mot de passe
Figure 11: Diagramme de séquences «Authentification »
III.2 Diagramme de séquences « Gestion de Projet »
Le diagramme ci-dessous décrit le cas d’utilisation « Gestion de Projet » définissant la
création d’un projet. Dans ce cas le chef de projet doit créer un projet qui contient plusieurs
phases et chaque phase inclut plusieurs tâches, il faut aussi indique le type de chaque projet et
leur structure.
29
Chapitre III : Conception
Création Projet
Supprimer un projet
Modifier un projet
Suivie l 'evolution des projets
gestion des structure
ajouter les structure
gestion des types
indique son type
affecter une intervenant ou un acteur
gestion des intervenants ou des acteurs
ajouter les taches
ajouter les phase
crée une nouveau projet
Chef Projet
Projet
par
par
par
par
Supprimer un projet
Modifier un projet
Suivie l 'evolution des projets
gestion des structure
ajouter les structure
gestion des types
indique son type
affecter une intervenant ou un acteur
gestion des intervenants ou des acteurs
ajouter les taches
ajouter les phase
crée une nouveau projet
Figure 12: Diagramme de séquences « Gestion de Projet »
30
Chapitre III : Conception
III.3 Diagramme de séquences « Démarche de Projet »
Le diagramme suivant décrit le « Démarche de Projet » qui explique la démarche d’un
projet, qui contient tout d’abord l’authentification, puis la création de projet, en suite chaque
intervenant ou acteur externe voir les tâches à réaliser et le validée. Le chef de projet a
consulté le suivi et l'évaluation du projet
démarche Projet
4: Suivre l 'evolution des phases
3: suivire l 'evolution
2: Validée les taches réalisée
1: voir les taches à réaliser
Chef Projet Participant (intervenant, acteur)
Projet
refAuthentification()
par
refCréation Projet()
4: Suivre l 'evolution des phases
3: suivire l 'evolution
2: Validée les taches réalisée
1: voir les taches à réaliser
Figure 13: Diagramme de séquences « Démarche du Projet »
31
Chapitre III : Conception
III.3 Diagramme de séquences « Application »
On passe maintenant au diagramme de séquences décrivant la démarche d’application
« Application» qui regroupe toutes les types des gestions qu’on peut faire ; gestion des
participants, gestion des structures, gestion des types et gestion de compte.
Application
Gestion de compte
Gestion des Types
Gestion de compte
gestion des Strurtures
gestion des participants
Chef Projet Participant (intervenant, acteur)
Système
refAuthentification()
ref
Création Projet()
refdémarche Projet()
Gestion de compte
Gestion des Types
Gestion de compte
gestion des Strurtures
gestion des participants
Figure 14:Diagramme de séquences « Application »
32
Chapitre III : Conception
IV. Conception du niveau présentation
IV.1 Structure de l’application
Pour maintenir une hiérarchie équilibrée qui aidera à accéder rapidement aux informations
et permet une compréhension intuitive de la façon dont les éléments sont organisés, nous
avons opté pour la structure en évolution.
La structure à laquelle on a abouti pour notre application est illustrée par la figure suivante :
Figure 15: Structure de l’application
33
Chapitre III : Conception
IV.2 Charte graphique
Le but de la charte graphique est de conserver une cohérence graphique entre les
réalisations graphiques d’un même projet. Pour cela, nous avons choisi la structure suivante
pour toutes les interfaces de notre application :
Figure 16: Charte graphique
Conclusion
Dans ce chapitre, nous avons donc présenté la conception de notre système. Par la
suite, nous avons détaillé l’architecture trois tiers avant de procéder à l’implémentation des
diagrammes de classes et des diagrammes de séquences.
35
Chapitre IV : Réalisation
IntroductionAu niveau de cette dernière partie, on va s’intéresser aux outils utilisés pour la
réalisation de notre application ainsi qu’aux principales interfaces développées, en passant par
le diagramme de déploiement, et cela avant de finir avec la planification du projet.
I. Environnement de développement
I.1 Environnement matérielDeux ordinateurs portables sont utilisés avec les caractéristiques suivantes :
I.2 Environnement logiciel
I.2.1 Apache Tomcat 7.0
Tout le travail a été effectué avec le serveur de Tomcat vu que c’est un serveur d’une
grande qualité qui permet le développement et la distribution d’applications web.
I.2.2 Oracle 11g Express
36
Chapitre IV : Réalisation
Oracle Database est un système de gestion de base de données relationnel (SGBDR),
qui depuis qu’il a permis le support du modèle objet dans sa version 8 peut être aussi qualifié
de système de gestion de base de données relationnel-objet(SGBDRO). Fourni par Oracle
Corporation, il a été développé par Larry Ellison. « Oracle Database Express Edition » est une
version gratuite de la base. Il s'agit d'une version 11g Standard Edition One limitée. [2]
I.2.3 Adobe Dreamweaver CSS.5
Dreamweaverest un éditeur HTML professionnel destiné à la conception, au codage et
au développement de sites, de pages et d’applications Web. Quel que soit l’environnement de
travail utilisé (codage manuel HTML ou environnement d’édition visuel), Dreamweaver
propose des outils qui aident à créer des applications Web facilement et efficacement.
I.2.4 Eclipse indigo
Dans la programmation informatique , Eclipse est un multi-langue environnement de
développement intégré (IDE) comprenant une base qui sert comme un espace de travail, et un
extensible plug-in système de personnalisation de l'environnement. Eclipse peut être aussi
utilisé pour développer des applications en Java.
Les environnements de développement comprennent l'Eclipse Java Développent Tools
(JDT) pour Java et Scala, Eclipse CDT pour C / C + + et PHP pour Eclipse PDT. [3]
I.2.5 PowerAMC
PowerAMC est un logiciel de conception créé par la société SDP, qui permet de
modéliser les traitements informatiques et leurs bases de données associées.
I.2.6 Adobe Photoshop cs6
Photoshop est un logiciel de retouches, de traitement et de dessin assisté par
ordinateur édité par Adobe. Il est principalement utilisé pour le traitement de photographies
numériques.
I.3 Choix des outils de développement : J2EE
37
Chapitre IV : Réalisation
Nous avons choisi la plateforme J2EE vu qu’un grand nombre de fonctionnalités sont mises
à jour régulièrement au niveau du système de façon à produire des applications robustes,
faciles à entretenir et susceptibles d’accompagner l’accroissement des besoins. [2]
La plateforme Java Entreprise Edition, ou Java EE, est une plateforme de développement
d’applications distribuées de logiciels d’entreprise. Elle offre de nombreux avantages :
- Elle fournit une plateforme standard pour la construction de composants logiciels qui
sont transférables dans les implémentations.
- Elle favorise l’interopérabilité dans les environnements hétérogènes.
Cette plateforme est conçue donc pour offrir un standard permettant de développer des
applications complexes capables de supporter des milliers de transactions et d’utilisateurs
requérants une sécurité élevée.
Pour la réalisation de notre travail donc, on a utilisé les outils correspondants à cette
plateforme pour développer les pages web de notre application et préparer la base de données.
On va introduire ces outils et justifier le choix qu’on a fait en précisant les avantages et les
atouts qui ont guidé ce choix :
JSP (Java Server Pages) : ce sont des pages HTML qui contiennent du code Java.
JSP permet une meilleure division des tâches à travers la présentation générale par
les graphistes et le coté dynamique par les scriptlets en java. C’est notre couche
présentation.
Servlet : Une servlet est une classe Java qui permet de créer dynamiquement des
données au sein d'un serveur HTTP. Ces données sont le plus généralement
présentées au format HTML, mais elles peuvent également l'être au format XML
ou tout autre format destiné aux navigateurs web. Les servlets utilisent l'API Java
Servlet (package javax.servlet).
HTML5 (HyperText MarkupLanguage): Nous l’avons utilisé pour la gestion et
l’organisation du contenu des pages JSP.
CSS3 (Cascading Style Sheets): Nous avons utilisé le langage CSS pour la
gestion de l'apparence des pages JSP (agencement, positionnement, décoration,
couleur, taille du texte...) et donc pour compléter le HTML.
38
Chapitre IV : Réalisation
Java Script : C'est un langage de programmation qui est inclus dans le code
HTML. Il permet d'apporter des améliorations au langage HTML en permettant
d'exécuter des commandes.
II. Déploiement de l’application
L’architecture d’un système informatique est la façon dont les fonctions ou traitements du
système sont distribués entre ses divers composants matériels et logiciels. De ce fait, on peut
distinguer plusieurs niveaux lors du développement d’applications informatiques. Le modèle
de déploiement indique l’architecture matérielle d’un système, et spécifie les composants
physiques nécessaires pour l’application.
L’architecture utilisée est une architecture client-serveur 3 tiers. Dans le diagramme de
déploiement ci-dessous, on a représenté la répartition physique des Micro-ordinateurs clients,
et le serveur d’application qui est composé à son tour de trois couches : couche présentation,
couche métier et la couche de données liée au serveur de données.
Figure 17: Diagramme de déploiement de l'application
39
Chapitre IV : Réalisation
III. Principales interfaces graphiques
La réalisation des interfaces utilisateurs homogènes, cohérentes et réutilisables est une
tâche très difficile.
Dans cette partie, nous allons présenter quelques interfaces de l’application. Nous
profiterons cette présentation pour faire quelques scénarios d’exécution afin de tirer quelques
résultats de test de notre application.
III.1 Interface « Page d’authentification »
Figure 18:Page d’authentification
Au lancement de l’application, la page d’authentification qui restreint l’accès sera
affichée, et le participant (Administrateur, chef de projet, intervenant, acteur externe) doit
saisir son login et son mot de passe.
III.2 Les Interfaces de l’« Administrateur »
III.2.1 Liste des chefs de Projet : Une fois authentifié, l’administrateur peut ajouter
les chefs de projets, comme il peut les modifier ou les supprimer.
40
Chapitre IV : Réalisation
Figure 19:Liste des chefs de Projets
III.2.2 Statistiques : L’administrateur peut aussi voir toutes les statistiques
concernant l’application. Cette interface contient les statistiques des projets classés par état
d’évolution (en cours, terminé, interrompu).
Figure 20: Interface dévoilant les Statistiques sur les projets
III.3 Les Interfaces du « chef de projet »
III.3.1 Ajouter un Projet : Le chef de projet quant à lui, est responsable de l’ajout
des projets. Pour ce faire, il doit commencer par s’authentifier aussi, et puis entamer la
procédure d’ajout d’un projet qui comporte plusieurs étapes. Tout d’abord, il doit
commencer par remplir les champs d’un projet, ensuite il enchaine avec l’ajout d’une
41
Chapitre IV : Réalisation
phase et d’une tâche, sans oublier de préciser dans chacune de ces tâches un intervenant
ou un acteur externe. Une fois terminé, on peut voir tous les détails du projet qu’on a créé.
Figure 21: Processus de création d’un nouveau projet
III.3.2 Liste des Projets : Le chef de projet peut également gérer la liste des projets
crées, la modifier, et voir tous les détails concernant ces projets. C’est lui aussi qui peut
supprimer un projet au moment de l’approbation de toutes ses phases.
Figure 22:Liste des projets
42
Chapitre IV : Réalisation
III.3.3 Détail du projet : Dans l’interface ci-dessous, on peut voir tous les détails
d’un projet : les dates (début, fin), toutes les phases inclues dans ce projet, ainsi que les tâches
et les participants (intervenant, acteur externe) associés.
Figure 23:Détails du projet
III.3.4 Modification de projet : La modification d’un projet peut se faire en 3
opérations possibles. On peut changer l’état du projet (en cours, terminé ou interrompu), ou
bien ajouter une phase, ou bien faire une prolongation de projet en cas ou on souhaite
l’élargir.
43
Chapitre IV : Réalisation
Figure 24: Modification de projet
III.3.5 Historique : Cette interface contient la liste des projets pour chaque chef de
projets, avec pour chaque projet son état actuel (en cours, terminé, interrompu).
Figure 25: Historique des projets
III.3.6 Modification du mot de passe : Chaque participant peut modifier son mot
de passe, pour n’importe quelles raisons. Pour cela, il doit saisir son ancien mot de passe et
proposer le nouveau et confirmer son choix.
44
Chapitre IV : Réalisation
Figure 26: Modification du Mot de Passe
III.4 Les Interfaces du « Participant (intervenant, acteur externe) »
III.4.1 Accueil : Après l’authentification, le participant (intervenant, acteur externe)
peut consulter la liste de projets qui lui est associée.
Figure 27:Page d’accueil d'un Participant
III.4.2 Détail de projet par tâche : Lorsqu’un intervenant ou un acteur externe
clique sur un projet, une étoile apparait après chaque tâche associée à cet intervenant.
45
Chapitre IV : Réalisation
Figure 28:Détails du projet par Tâche
IV. Planification du projet
Un projet comporte un certain nombre de tâches à réaliser dans des délais impartis et selon
un agencement bien déterminé. Le diagramme de GANTT permet de planifier le projet et de
rendre plus simple le suivi de son avancement.
46
Chapitre IV : Réalisation
Figure 29: Diagramme de GANTT
ConclusionDurant ce dernier chapitre, on a commencé par décrire notre environnement de travail
matériel et logiciel. Puis on a créé le diagramme de déploiement correspondant, et on a
présenté quelques interfaces réalisées de notre application selon le profil de l’utilisateur, et
cela avant de finir par la spécification du planning du projet.
47
Webographie
Conclusion Générale et Perspectives
Notre travail consistait donc à développer une application web de gestion de projets
pour l’Office Nationale de Tourisme Tunisien.
Pour accomplir ce travail, et durant la phase de conception, nous avons utilisé le
processus de développement unifié qui utilise les notations UML, permet de bien comprendre
la problématique et de bien modéliser les objectifs à atteindre, et qui offre même la possibilité
de commencer la réalisation du système à un stade avancé de son cycle de vie. Ce processus
nous a guidé et nous a permis de réaliser un travail itératif et un système stable, évolutif et
qui s’adapte bien à l’évolution des besoins.
Au cours de cette expérience, nous avons rencontré des difficultés au niveau des outils
utilisés et des nouvelles technologies de développement, comme on a retrouvé quelques
lacunes pendant la définition des besoins.
De plus, à la fin de chaque enchaînement d’activités, nous avons eu l’opportunité de
reconsidérer ce qui a été fait, et par conséquent, de poursuivre ou de modifier le processus en
fonction de l’évaluation de nos encadreurs.
Le projet s’est déroulé selon trois axes principaux afin de passer par les trois étapes
essentielles de tout projet : l’analyse, la conception et la réalisation.
Coté implémentation, on a utilisé le langage de programmation J2EE, tout en
manipulant l’architecture à trois niveaux puisque notre système a été développé en
architecture trois tiers. Pour la mise en place de notre base de données, nous avons utilisé le
système de gestion de base de données ORACLE.
Dans la future de système d’application, on peut faire d’avancement d’un projet avec l’andriod.
48
Webographie
Webographie
[1] : Processus unifié : http://www.memoireonline.com/07/08/1363/m_conception-realisation-application-gestion-centre-kinesie11.html
[2] : Oracle : https://sites.google.com/site/jeromesimoninhomepage/logiciels-utiliss
http://fr.wikipedia.org/wiki/Oracle_Database
[3]: Eclipse http://en.wikipedia.org/wiki/Eclipse_(software)
[4]: UML http://www.in2p3.fr/actions/formation/InfoTempsReel/Cours-UML-LaLonde.pdf
[5]: J2EE http://fr.wikipedia.org/wiki/Java_EE
[6]:JSP http://www.techterms.com/definition/jsp
[7] : Servlet http://www.jmdoudoux.fr/java/dej/chap-servlets.htm
50
Annexe A
Annexe A : Diagrammes des cas d’utilisation
Gérer les structures
<<extend>>
<<extend>>
<<extend>>
<<include>>
Chef Projet
AuthentificationGestion des structures
Ajouter un structure
Modifier un structure
Supprimer un structure
Figure 30:Raffinement de Cas d’utilisation « Gérer les structures »
Description du sous cas d’utilisation « Gérer les structures »
Titre Gérer Les intervenantsActeur Chef de projet
Pré condition Le chef de projet doit être authentifié.
Post condition Mise à jour des structures
Description du scénario principal Le chef de projet clique sur le menu gestion des structures.Sous le menu gestion des structures, on trouve (Ajouter, supprimer et modifier).Le chef de projet clique sur l’un de ces sous-menus.Il y a une interface appropriée pour chaque choix.Le chef de projet ajoute ou supprime ou modifie une structure, puis clique sur le bouton valider pour enregistrer.
Exception Si le chef de projet saisit des informations erronées, un message d’erreur sera affiché.
Tableau 7:Description du sous cas d’utilisation « Gérer les structures »
51
Annexe A
Gérer les types
<<extend>>
<<extend>> <<extend>>
<<include>>
Chef Projet
Gestion des types
Ajouter un type
Modifier un type
Supprimer un type
Authentification
Figure 31:Raffinement de cas d’utilisation « Gérer les types »
Description du sous cas d’utilisation « Gérer les types »
Titre Gérer les typesActeur Chef de projet
Pré condition Le chef de projet doit être authentifié.
Post condition Mise à jour des types
Description du scénario principal Le chef de projet clique sur le menu gestion des types.Sous le menu gestion des types, on trouve (Ajouter, supprimer et modifier).Le chef de projet clique sur l’un de ces sous-menus.Il y a une interface appropriée pour chaque choix.Le chef de projet ajoute ou supprime ou modifie un type, puis clique sur le bouton valider pour enregistrer.
Exception Si le chef de projet saisit des informations erronées, un message d’erreur sera affiché.
Tableau 8:Description du sous cas d’utilisation « Gestion des types »
52
Annexe B
Annexe B : DéfinitionsJ2EE :
Java Enterprise Edition, ou Java EE (anciennement J2EE), est une spécification pour la technique Java de Sun plus particulièrement destinée aux applications d’entreprise. Ces applications sont considérées dans une approche multi-niveaux1. Dans ce but, toute implémentation de cette spécification contient un ensemble d’extensions au framework Java standard (JSE, Java Standard Edition) afin de faciliter notamment la création d’applications
réparties.
Pour ce faire, Java EE définit les éléments suivants :
Une plate-forme (Java EE Platform), pour héberger et exécuter les applications, incluant outre Java SE des bibliothèques logicielles (ou JDK) additionnelles,
Une suite de tests (Java EE Compatibility Test Suite) pour vérifier la compatibilité,
Une réalisation de référence (Java EE Reference Implementation), dénommée GlassFish,
Un catalogue de bonnes pratiques (Java EE BluePrints); [5]
UML 2.0 :
UML = Unified Modeling Language
Langage unifié pour la modélisation objet
Langage de modélisation des applications construites à l’aide
D’objets, indépendant de la méthode utilisée
Différence Langage – Méthode
Langage de modélisation = notations, grammaire, sémantique
Méthode : comment utiliser le langage de modélisation (Recueil des besoins, analyse, conception, mise en œuvre, Validation…)
Objet = représentation du problème basée sur des Entités (concrètes ou abstraites) du monde réel [4]
JSP :
Signifie "Java Server Page." Cette norme a été développée par Sun Microsystems en tant qu'alternative à la page active de serveur de Microsoft (ASP ) de la technologie. Les pages JSP sont similaires aux pages ASP en ce qu'ils sont compilées sur le serveur, plutôt que dans le navigateur Web de l'utilisateur. Après tout, ils ne remettent pas les "pages du serveur" pour
53
Annexe B
rien. Cependant, JSP est basé sur Java, tandis qu’ASP est basé sur Visual Basic. Les pages JSP sont utiles pour la création de sites Web dynamiques et l'accès aux informations de base de données sur un serveur Web. Bien que les pages JSP peuvent avoir Java entrecoupées de HTML, tout le code Java est analysé sur le serveur. Par conséquent, une fois que la page va au navigateur, ce n'est que HTML. JavaScript, d'autre part, est généralement analysé par le navigateur Web, et non le serveur Web. [6]
Servlet :
Une servlet est un programme qui s'exécute côté serveur en tant qu'extension du serveur. Elle reçoit une requête du client, elle effectue des traitements et renvoie le résultat. La liaison entre la servlet et le client peut être directe ou passer par un intermédiaire comme par exemple un serveur http.
Même si pour le moment la principale utilisation des servlets est la génération de pages html dynamiques utilisant le protocole http et donc un serveur web, n'importe quel protocole reposant sur le principe de requête/réponse peut faire usage d'une servlet.
Ecrite en java, une servlet en retire ses avantages : la portabilité, l'accès à toutes les API de java dont JDBC pour l'accès aux bases de données, ...
Une servlet peut être invoquée plusieurs fois en même temps pour répondre à plusieurs requêtes simultanées.
La servlet se positionne dans une architecture Client/Serveur trois tiers dans le tiers du milieu entre le client léger chargé de l'affichage et la source de données. [7]
54
Annexe C
Annexe C : Les interfaces
Page d’accueil d’un chef de projet.
Figure 32:Page d’accueil d’un chef de projet.
Liste de types de projets.
Figure 33:Liste de types de projets
55
Annexe C
Liste des acteurs.
Figure 34: Liste des acteurs
Liste des intervenants.
Figure 35: Liste des intervenants
56
Annexe C
Nouvel acteur.
Figure 36: Coordonnées d’un nouvel acteur
Nouveau chef de projet.
Figure 37:Nouveau chef de projet
Nouveau intervenant.
Figure 38:Nouveau intervenant
57
Annexe C
Fin de création de projet.
Figure 39:Fin de création de projet
Calendrier de date.
Figure 40:Calendrier de date
Statistique de structure par projet.