Académique Documents
Professionnel Documents
Culture Documents
Université de la Manouba
École Nationale des Sciences de l’Informatique
Rapport de Mémoire de Fin d’Etudes
D’INGENIEUR EN INFORMATIQUE
Par]
Amairi Saifeddine
Adresse :4 Avenue Laurent Cely 92600, Asniéres sur Seine, Tour d’Asniéres
HALL D
Tél :+33156838742
Appréciations, signature et cachet de
l’encadrant
Dédicaces
AMAIRI Saifeddine
ii
Remerciements
Mes remerciements les plus intenses et les plus sincères s’adressent à tous ceux qui, de
près ou de loin, ont contribué au succès de ce projet.
J’exprime ma sincère gratitude à Monsieur Ahmed Elleuch qui, malgré ses responsa-
bilités et ses devoirs, a fait de moi l’une de ses priorités et a toujours été là pour m’aider
et me guider.
Je tiens à remercier mon encadrant professionnel : Monsieur Alexandre Ghanem
pour la confiance qu’il m’a accordée, son assistance et son suivi permanent. Que ce travail
soit un modeste témoignage de ma haute considération et de mon profond respect.
Je suis infiniment reconnaissante à toutes les équipes de PrimaFrance d’avoir créé un
environnement de travail confortable et encourageant et pour leur esprit d’accueil. Je suis
honorée d’être parmi vous.
Je souhaite également remercier les membres du jury pour leur volonté de m’accorder
leur attention et d’évaluer mon travail.
Enfin, je ne laisserai pas passer cette occasion sans adresser mes remerciements à tous
nos professeurs pour la qualité de l’enseignement qu’ils nous ont prodigué durant nos
études.
iii
Table des matières
Introduction générale 1
1 Présentation générale 2
1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2 Présentation de l’entreprise d’accueil . . . . . . . . . . . . . . . . . . . . . 2
1.2.1 PrimaFrance Systems . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2.2 Les service de PrimaFrance . . . . . . . . . . . . . . . . . . . . . . 2
1.2.3 Domaine d’activité . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.3 Le contexte du projet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.4 Présentation du projet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.4.1 Problématique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.4.2 Objectif du projet . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.4.3 Travail demandé . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.5 Méthodologie de travail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.5.1 Les méthodes agiles . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.5.2 Méthode de travail adoptée . . . . . . . . . . . . . . . . . . . . . . 5
1.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2 Étude préalable 8
2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.2 Étude Théorique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.2.1 Évolution des procédures d’assistance avec le temps . . . . . . . . 8
2.2.2 Help desk et les systèmes des tickets des support . . . . . . . . . . . 9
2.3 Étude de l’existant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.3.1 Étude des produits externes . . . . . . . . . . . . . . . . . . . . . . 10
2.3.2 Étude des produits internes . . . . . . . . . . . . . . . . . . . . . . 12
2.3.3 Les limites des systèmes existantes et la solution proposée . . . . . 14
2.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
iv
Table des matières v
4 Conception 28
4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
4.2 Conception globale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
4.2.1 Architecture physique . . . . . . . . . . . . . . . . . . . . . . . . . 28
4.2.2 Architecture fonctionnelle . . . . . . . . . . . . . . . . . . . . . . . 29
4.2.3 Architecture logique . . . . . . . . . . . . . . . . . . . . . . . . . . 30
4.3 Diagramme de paquetages . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
4.4 Conception détaillée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
4.4.1 Diagramme de classe . . . . . . . . . . . . . . . . . . . . . . . . . . 34
4.4.2 Schéma relationnel de la base de données . . . . . . . . . . . . . . 36
4.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
5 Realisation 38
5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
5.2 Environnement de travail . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
5.2.1 Environnement matériel . . . . . . . . . . . . . . . . . . . . . . . . 38
5.2.2 Environnement logiciel . . . . . . . . . . . . . . . . . . . . . . . . . 38
5.2.3 Frameworks et technologies . . . . . . . . . . . . . . . . . . . . . . 39
5.3 Travail réalisé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
5.3.1 Interface d’authentification . . . . . . . . . . . . . . . . . . . . . . . 39
5.3.2 Interfaces de configurateur . . . . . . . . . . . . . . . . . . . . . . . 40
5.3.3 Interface environnement . . . . . . . . . . . . . . . . . . . . . . . . 41
5.3.4 Interface incident . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
5.3.5 Interface de gestion d’accès de documents . . . . . . . . . . . . . . 43
5.4 sécurité applicative . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
5.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Conclusion et perspectives 45
Annexe 46
Netographie 49
Table des figures
vi
Table des figures vii
viii
Liste des sigles et acronymes
PMF PrimaFrance
PM Project Management
FAQ Frequently Asked Questions
EDF Electricité De France
IBM International Business Machines Corporation
REX Registered Exporter system
SCCM System Center Configuration Manager
REST Representational State Transfer
HTTP Hypertext Transfer Protocol
HTML Hyper Text Markup Language
JPA Java Persistence API
OWSAP Open Web Application Security Project
ix
Introduction générale
Une des manières la plus rentable pour suivre tous les clients et apporter des solutions
efficaces c’est d’avoir une plate-forme pour le support. Une telle application va automati-
ser, centraliser et faciliter cette procédure. En offrant à ses utilisateurs la possibilité d’ouvrir
des tickets de support, un système d’assistance ou help-desk représente une ressource des-
tinée à fournir au client ou à l’utilisateur final l’adaptation aux problématiques concrètes.
Un service d’assistance fournit un daschbord central qui affiche facilement toutes les
informations et un système de e-ticketing en ligne qui met en file d’attente les demandes
entrantes provenant de plusieurs sources. Cela permet évidement de s’assurer de bien gé-
rer les demandes d’assistance et d’organiser, de classer et de hiérarchiser efficacement les
tâches pour que les équipes du support les traitent efficacement.
Présentation générale
1.1 Introduction
Ce premier chapitre présente l’organisme d’accueil où nous avons effectué notre stage
de fin d’étude, le contexte général du projet ainsi que la présentation du sujet particulière-
ment les objectifs de travail. Ensuite, nous discutons les méthodologies de travail tout en
précisant la méthode de gestion le plus adoptée pour notre projet.
2
1.3. Le contexte du projet 3
de concevoir et de réaliser des interfaces entre les différentes applications de Project Mana-
gement. Puis, une expertise en gestion de projet en préconisant des solutions fonctionnelles
et en effectuant des missions d’expertise métier et d’organisation projet. Ainsi qu’une ex-
pertise des solutions PrimaVera, le logiciel le plus connu et le plus utilisé dans le domaine
de PM, cependant les consultants fonctionnels sont donc impliqués dès la phase initiale
d’analyse et de définition des besoins et restent l’interlocuteur privilégié du chef de pro-
jet, jusqu’à la fin de l’implémentation. Finalement, PrimaFrance offre aussi une assistance
technique efficace à ses clients voire même une suivie continue permettant de gérer tout
incident qui peut arriver, ainsi que toute sollicitation du support à tout moment.
1.4.1 Problématique
L’absence d’un système centralisé qui regroupe tous les clients ainsi que toutes les de-
mandes d’interventions chez eux, va causer des pertes de temps et d’argent pour l’ensemble
des intervenants : l’entreprise et évidement leur collaborateurs. Ainsi, les agents du service
client auront besoin de dépenser plus d’énergie et de temps pour donner aux clients le
meilleur service. Donc, afin de réduire au maximum le coût de la prise en charge des tickets
dans le cadre du maintien, de l’assistance et du support. Notre but, est de développer un
système qui fournit des accès adaptés aux différents utilisateurs potentiels, tout en gardant
une architecture de travail simple et une interconnexion permanente.
SCRUM XP
Diviser le projet en des ité-
rations nommées SPRINTS Les itérations durent d’une
allant de deux à quatre se- à deux semaines.
maines.
Après la planification du Le développement est plus
SPRINT et de ses fonction- ouvert aux changements,
nalités à développer, il y le client peut remplacer
aura plus de modification une fonctionnalité avec une
dans les spécifications. autre de même complexité.
Au début de chaque Le client décide de la prio-
SPRINT, l’équipe attribut rité de chaque fonctionna-
une priorité à chaque fonc- lité, l’équipe est alors ame-
tionnalité et commence le née à les développer en pre-
développement de celle ci. mier.
À partir de ce tableau comparatif Table 1.1, nous pouvons conclure que la méthode
SCRUM s’avère la plus adéquate pour notre cas. En effet, pour notre projet, le client ne
décide pas les priorités de chaque fonctionnalité mais c’est plutôt à nous de gérer toutes
1.5. Méthodologie de travail 6
les étapes de réalisation. Aussi, la durée d’un sprint ça prend de trois à quatre semaines
au maximum et c’est bien le cas pour la méthode Scrum. De plus, lors de développement
de PrimaSup, nous nous somme concentrés sur l’aspect du travail d’équipe, d’où cette
méthode semble bien la plus efficace pour la réalisation de notre projet. Donc, la méthode
agile SCRUM a été choisi comme méthodologie du travail tous le long de la réalisation de
ce projet et plus précisément la méthode de gestion visuelle (visual Management). Cette
méthode va être détaillée ultérieurement dans ce même chapitre.
Visual Management
Parfois, sont mis en place aux seins des méthodes agiles des outils de Management très
particuliers basés sur une visualisation du travail pour mieux le gérer.
1.6. Conclusion 7
Le Visual Management est une façon simple et efficace d’organiser et de présenter son
travail. Il a un aspect dynamique qui lui est donnée par l’utilisation des feutres avec des
différentes couleurs, capable de donner vie au travail dans n’importe quelle structure (peu
importe la taille). C’est aussi un moyen efficace de renforcer la confiance au sein des équipes
de travail. Le tableau de bord est entièrement personnalisable en fonction de l’entreprise
c’est pourquoi nous présentons dès à présent le tableau que nous avons utilisé au sein de
PrimaFrance. Chaque membre a sa couleur. Il se décompose en plusieurs sous-parties :
Un numéro représente une tâche à réaliser. Il peut être placé sur le planning à la date
ou la tâche sera effectuée et migrer vers les tâches en attente ou les problèmes en cours
s’ils doivent être reportés. Chaque matin un point d’un peu plus de 5min est réalisé pour
tous les projets, afin que chacun se rende compte et connaisse les avancements. C’est
aussi le moment de mettre à jour le tableau. Cette représentation est très pratique pour
la gestion de projets. Elle permet de structurer la pensée, de nous assurer que rien n’est
oublié, d’organiser nos tâches et d’identifier nos problèmes. C’est une bonne façon aussi de
communiquer avec les autres personnes dans une entreprise. Les employés peuvent alors
interagir avec vos projets en identifiant vos problèmes ou en vous proposant de l’aide dans
des tâches qu’ils maîtrisent mieux.
1.6 Conclusion
Dans ce chapitre nous avons définit le contexte et la problématique du sujet tout en
précisant la méthodologie de travail qui va être suivie durant la réalisation du projet.
Dans le chapitre suivant, nous faisons une étude concernant les produits existants et nous
expliquons certains termes et concepts liés à notre sujet.
Chapitre 2
Étude préalable
2.1 Introduction
Dans ce chapitre nous allons présenter l’étude préalable de notre projet tout en abordons
les notions théoriques et les systèmes existants.
8
2.3. Étude de l’existant 9
La figure 3.1 présente une capture d’écran de l’application Mantis, c’est un tableau
de bord qui englobe toutes les activités d’un utilisateur donnée y compris tous les tickets
qui sont attribués pour ce dernier, les tickets qui sont déjà résolus, les tickets qui sont
récemment modifiés, les tickets qui sont surveillés par ce utilisateur ainsi que la chronologie
de toutes les activités sur cette plate-forme.
2.3. Étude de l’existant 11
C’est ensuite le client qui clôture le suivi de bug à partir du moment où il constate que
le bug n’est plus présent dans la version de l’application en production.
Zendesk Help-Disk
Zendesk est un excellent logiciel de suivi des problèmes utilisé par de nombreuses
équipes. Lorsque le service support avec Zengesk est utilisé, il est possible de créer des
incidents à partir de n’importe quel ticket en un seul clic. Les problèmes contiendront tous
les détails du ticket et un lien vers le reporteur sera intégré lors de la création du ticket. Il
dispose notamment d’un outil de génération des rapports qui permet de suivre les demandes
de support client, d’identifier les tendances et d’aider à tirer des enseignements significatifs
des données. Ceci va améliorer les fonctionnalités en libre-service, donner aux utilisateurs
une réponse plus rapide et libère les agents pour des problèmes plus complexes.
Zendesk dispose également de fonctionnalités améliorées qui peuvent être utilisées pour
améliorer l’expérience des clients et des spécialistes du support client. Les chatbots de
réponse peuvent fournir des réponses automatisées basées sur des requêtes courantes, des
messages ciblés et basés sur le comportement peuvent être envoyés aux clients en fonction
de déclencheurs lors de leur utilisation, et des tâches rudimentaires répétitives peuvent être
automatisées pour libérer la charge de travail. Pour les opérateurs du service d’assistance,
Zendesk fournit un espace de travail unifié sous la forme d’un tableau de bord permet un
routage basé sur les compétences afin que les tâches soient envoyées à la personne qui peut
le mieux répondre ou répondre à la demande, et prend en charge les règles métiers afin
que les déclencheurs automatisés puissent canaliser les tickets spécifiquement dans le flux
de travail souhaité.[URL7]
2.3. Étude de l’existant 12
Tableau comparatif
A travers la Table 3.1, nous avons fait un processus de comparaison basé sur différentes
critères afin de savoir les fonctionnalités offertes par chacun de ces deux logiciels. Nous
pouvons donc conclure que ces deux logiciels sont performant non seulement en termes
de suivi des bugs mais également en termes de support. Cependant, ces deux solutions ne
sont pas adéquates pour les fonctionnalités assez particulières que nous voulons ajouter,
comme la gestion et le traitement des licences des quelques produits. En outre, pour traiter
des bugs complexes rencontrés sur des logiciels de PM, nous avons besoin de suivre des
processus particuliers qui vont être détailler notamment dans le chapitre suivant. Bien
étendu, MantisBT et Zendesk sont des solutions standards dans le marché qui ne peuvent
pas être utilisées dans un contexte particulier et pour servir un client donné qui exige des
fonctionnalités spécifiques. Aussi, avoir un bon help-desk coûte cher pour l’entreprise donc
avoir son propre logiciel du support sera une bonne idée sur le long terme. Sans oublier que
PrimaSup peut être utilisé par d’autres entreprises dans le même domaine. Ce qui semble
être une nouvelle opportunité financière pour PrimaFrance. C’est un projet susceptible
d’être économiquement très rentables dans les années à venir.
le support Oracle qui est un support pour l’application Primavera, le support Hexagon qui
est le support pour l’application Ecosys, le support Bentley pour l’application Synchro 4D.
Primavera est une application développée par oracle, c’est un logiciel de gestion de
projets d’entreprise. Il comprend la gestion de projets, la planification, l’analyse des risques,
la gestion des opportunités, la gestion des ressources, la collaboration et les capacités de
contrôle, et s’intègre à d’autres logiciels d’entreprise tels qu’Oracle et les systèmes ERP de
SAP[URL9]. Ainsi, les clients doivent être formées pour utiliser le logiciel et durant toutes
les phases des projets ils doivent être accompagné par des consultants fonctionnelles et
techniques. Cependant, les clients passent par le support oracle pour avoir un support et
afin que les consultants puissent intervenir chez eux.
La figure 3.2 présente une capture d’écran du système de support d’Oracle pour l’appli-
cation Primavera P6. Elle illustre un portail qui contient toutes les demandes de support,
elles sont divisées en trois types différentes des tickets de support les demandes non tech-
niques, les demandes techniques et les brouillons.
La figure 3.3 illustre le système d’assistance pour Ecosys, elle présente une interface
où les demandes d’un utilisateur donnée sont listés avec tous les détails de tickets ouverts
récemment sur cette plate-forme.
Support Bentley
Le logiciel SYNCHRO 4D est dédié pour la planification de la construction et la gestion
de projet, il est introduit par la société Bentley en 2007. Synchro offre la planification 4D en
améliorant la sécurité, la fiabilité, la prévisibilité et la qualité des projets de construction
complexes[URL12]. Cela permet évidement d’économiser en évitant les retouches et en
identifiant les problèmes d’ordonnancement à l’avance. Pour cette application PrimaFrance
utilise le support Bentley, afin d’accompagner les clients sur cette application.
lorsqu’il s’agit des projets appartenant à des domaines sensibles comme le domaine nu-
cléaire, la défense ou bien l’aéronautique. Par conséquent, la sécurité des données comme
les emails et coordonnées des clients deviendra une exigence strictement nécessaire. Pour
cela, elles doivent être traitées avec une forte confidentialité. A titre d’exemple, il n’est pas
possible d’héberger leurs données dans des entreprises en dehors de l’union européenne.
Toutefois, les systèmes existants abordés ne dispose pas d’un système de Reporting qui
permettra de générer une base des connaissances personnalisée pour les clients de Prima-
France. Seulement, nous cherchons un logiciel de support technique qui dispose d’un outil
de génération de rapports permettant de suivre les demandes de support client, d’identi-
fier les tendances et de nous aider à tirer des enseignements significatifs des données. Il
s’agit d’un élément essentiel du processus, car il nous aidera à identifier les domaines à
développer dans notre base de connaissances afin d’améliorer notre support automatique.
Sans oublier que toute amélioration des fonctionnalités de support automatique donne à
nos utilisateurs une réponse plus rapide et libère les consultants pour les problèmes plus
complexes. Pour conclure, nous cherchons une solution permettant d’offrir la gestion des
priorités, la gestion du flux de travail de supervision et la mise en œuvre d’un traitement
centralisé tout en respectant les normes des sécurités exigées. Toutes ces fonctionnalités
vont rendre le processus de support intuitif et plus efficace.
2.4 Conclusion
Une étude théorique ainsi qu’une étude de l’existant ont été détaillées dans ce chapitre,
cette approche nous a permis de mieux comprendre les objectifs et les motivations de notre
travail. Cependant, dans le chapitre suivant, nous présentons le spécification et l’analyse
des besoins de notre projet.
Chapitre 3
3.1 Introduction
Tous le long de ce troisième chapitre nous allons détailler la spécification des besoins
des différents utilisateurs du système. Commençons par définir tous les acteurs ainsi que
les principaux intervenants dans ce projet qui sont amené à utiliser cette plate-forme de
support, ensuite nous intéressons à l’énumération des besoins fonctionnels et non fonction-
nels de chaque acteur et les différents scénarii offerts par ce système tous en basant sur des
diagrammes de modélisation UML.
16
3.2. Analyse des besoins Fonctionnels 17
L’administrateur entreprise peut avoir toutes les fonctionnalités offertes aux utilisateurs
clients et en plus de ça il est capable de :
La figure 3.1 montre que le Superadmin de l’application est capable de gérer les parti-
cipants et attribuer les rôles et les métiers.
3.3. Diagrammes de cas d’utilisation 20
Le figure 3.2 illustre le diagramme de cas d’utilisation pour la partie cliente. Ce dia-
gramme montre que les acteurs côté client sont capable de déclarer un bug et ouvrir des
tickets là-dessus, Consulter à tout moment l’avancement sur ces tickets et Consulter les
documents présentés sur la plate-forme. L’administrateur client est capable aussi de définir
les projets et les produits et de consulter et sortir des rapports.
3.3. Diagrammes de cas d’utilisation 21
La figure 3.3 illustre le diagramme de cas d’utilisation pour la partie entreprise, cela
veut dire tous les acteurs liés à l’entreprise. En outre, la figure 3.3 montre que les acteurs
coté entreprise sont capable de créer des nouveaux projets et produits, gérer les licences
des produits, créer des documents et attribuer des accès, comprendre, catégoriser, orienter
le problème vers l’agent qui est concerné et proposer des solutions de contournement.
La figure 3.5 illustre le diagramme de séquence pour le cas d’utilisation : gestion des
licences. Ce diagramme montre les messages envoyés lors de la demande d’une nouvelle
licence Synchro entre l’utilisateur Synchro qui présente l’utilisateur client dans notre cas
et l’admin synchro, c’est l’administrateur entreprise, d’une part et entre la plate-forme de
support et la plate-forme de Licensing (Bentley.com) d’autre part. Une description avec
plus de détails sera présentée dans la section 3.5.
3.5. Diagrammes d’activité 24
La Figure 3.6 illustre le diagramme d’activité du système d’assistance. Dans cette figure,
PMF support fait référence à PrimaFrance support. Pour demander un support, il est
nécessaire tout d’abord de vérifier si le client concerné possède un contrat de support chez
3.5. Diagrammes d’activité 25
PMF, s’il y avait un contrat et s’il est encore valable, l’utilisateur client est invité dans
ce cas à détailler son problème sur PrimaSup, plate-forme PMF support, et d’échanger
avec l’équipe de support afin de résoudre le problème. Une fois le problème est résolu,
l’administrateur PMF entreprise met à jour la liste des problèmes sur PrimaSup et clôture
les tickets et les bugs.
La figure 3.7 illustre le diagramme d’activité pour la phase développement. Dans cer-
tains cas, en traitant des bugs complexe, la résolution du problème nécessite une étape
de développement où nous devons contacter les développeurs du logiciel si ce n’est pas un
logiciel interne.
3.5. Diagrammes d’activité 26
3.6 Conclusion
A partir de ce chapitre, nous avons mis le point sur la spécification des besoins des
acteurs présent dans ce système y compris les différentes fonctionnalités de l’application
tout en appuyant sur des diagrammes de modélisation. Cette partie concrétise les modules
à implémenter, ces derniers vont être étudier en plus de détails dans le prochain chapitre.
Chapitre 4
Conception
4.1 Introduction
Dans ce chapitre, nous allons décortiquer la phase de conception. C’est une étape impor-
tante pour enchainer ensuite efficacement sur la phase de développement et pour satisfaire
notamment les besoins dégagés dans le chapitre précèdent. Durant ce chapitre, nous ex-
poserons la conception générale et également les composants du système conformément à
la modélisation UML, tout en présentant leurs diagrammes de classes et voire même leurs
scénarii de fonctionnement possible.
28
4.2. Conception globale 29
L’interaction entre les différents compartiments est décrite comme suit : le client envoie
une requête au serveur applicatif, cette requête est passée par un serveur proxy ensuite par
un serveur de redirection Apache afin d’être récupérée finalement par le serveur applicatif
qui va la traiter à l’aide des services métiers du projet. Par la suite, il envoie cette requête
au serveur de base des données, ce serveur PrimaData traite le résultat et l’envoie vers le
serveur applicatif, qui va finalement l’envoyé vers le client.
La figure 4.2 illustre l’architecture fonctionnelle du système. En effet, nous avons princi-
palement 4 zones qui sont comme suit : zone Data ou se présente tous ce qui est interaction
avec la base des données, zone services, zone application et finalement une Front zone où
nous trouvons les utilisateurs finaux.
La figure 4.3 illustre les principaux paquetages du projet, il est composé par : com.primasup.entity
c’est le paquetage censé à définir les classes entités du système c’est-à-dire créer la table
de base des données, com.primasup.enum c’est paquetage qui contient les classes des types
énumérés définis dans le projet, com.primasup.dao c’est le paquetage qui contient toutes
les classes qui sont responsable au traitement et l’interaction avec la base des données, ils
importent les paquetage suivants : com.primasup.dao.ex c’est le paquetage responsable à la
gestion d’exception pour la partie DAO, com.primasup.dao.util c’est paquetage qui englobe
toutes les fonctionnalité utile pour le développement de la couche DAO, com.primasup.web
c’est un paquetage qui, com.primasup.web.bean, com.primasup.web.controller c’est le pa-
quetage responsable à la reception et l’envoi des données et com.primasup.web.validator
c’est le paquetage qui englobe toutes les classes responsable à la validation des données,
com.primasup.service c’est le paquetage qui contient les classes qui représentent le service
métier de l’application, com.primasup.service.rest c’est le paquetage qui englobe toutes les
classes permettant de générer et développer les web services rest, com.primasup.service.ex
c’est le paquetage responsable à la gestion des exceptions pour la couche métier et
com.primasup.service.util c’est le paquetage qui englobe toutes les fonctionnalités utiles
pour le développement de la couche logique métier.
4.4. Conception détaillée 34
Description
Pour bien comprendre le diagramme de classe présent dans la figure 4.4, il faut dé-
tailler les différentes classes. La classe « User » : cette classe présente essentiellement les
informations nécessaires pour un utilisateur tels son nom, son adresse mail, son numéro
de téléphone etc. . . elle est en association avec les classes suivantes : La classe « UserRole
» : cette association est de type OneToOne, elle représente les rôles des utilisateurs, elle
contient principalement le champ suivant : roleFlag qui peut prendre les valeurs suivantes
RoleSysAdmin, RoleAdmin, RoleUser et RoleNotAssigned. Ensuite, il y a la classe « User-
Profile » qui présente aussi une association de type OneToOne et elle permet de spécifier
principalement les différents profils des utilisateurs. Puis, nous avons la classe « client »,
chaque utilisateur appartient à un client donné qui est inscrit sur la plateforme, un client
peut évidement avoir plusieurs utilisateurs d’où l’association OneToMany entre la classe
« client » et la classe « utilisateur ». De plus, un client peut être dans une seule ou plu-
sieurs zones ainsi qu’un utilisateur doit être présent dans une zone. La classe « Business »
cette classe modélise le métier de l’utilisateur. Bien entendu, chaque utilisateur possède un
métier donné. Un client est attaché à un ou plusieurs projets et ensuite à un ou plusieurs
produits d’où la relation OneToMany entre la classe « client » et la classe « projet » d’une
part et la relation OneToMany entre la classe « projet » et la classe « produit » d’autre
part. De même, pour un produit, il est trivial de définir sa version, la plateforme ou il est
installé tandis que des informations générales sur ce produit. Pour cela, nous disposons de
associations entre la classe « produit » et les classes suivantes : « version », « plateforme
» et « Product Info ». Ensuite, pour un produit donné nous pouvons déclarer un bug et
à partir de ce dernier nous pouvons ouvrir un ou plusieurs tickets chaque bug ou bien un
ticket possède un statut qui peut avoir les valeurs suivantes : ouvert, en cours ou bien
terminé.
4.4. Conception détaillée 36
Description
Cette deuxième partie de diagramme de classe manipule les classes suivantes : La classe
« Document » elle présente les documents partagés entre le client et ses utilisateurs, cette
relation est modélisée avec une association OneToMany. Ensuite, nous trouvons la classe
Access qui présente l’accès à un document ainsi que les ressources fournies par le client à
ces utilisateurs. Afin de spécifier quel ressource ou document procède tels accès, nous avons
défini la classe « AccessShare ». Finalement, la classe « Access rules » qui va définie les
accès selon les profils des utilisateurs.
4.5 Conclusion
A partir de ce chapitre nous avons réussi à concevoir la solution ainsi que l’architecture
de base du travail. Dans le prochain chapitre nous abordons la partie développement et
réalisation de la solution.
Chapitre 5
Realisation
5.1 Introduction
Ce dernier chapitre est consacré à la présentation de l’étape de développement de la
solution, y compris une démonstration du résultat prévu de l’implémentation, ainsi que
l’environnement de travail utilisée tous le long de la réalisation de ce projet. Sans oublier,
notamment, de détailler les techniques utilisé pour améliorer la performance et la sécurité
de la plate-forme. Dans ce chapitre, nous allons détailler d’avantage les démarches faites
pour la phase du test avant de passer finalement à la phase de la production.
38
5.3. Travail réalisé 39
La figure 5.3 illustre l’interface qui permet d’ajouter des nouveaux rôles. Le super admin
accède à ce portail pour ajouter les rôles.
5.3. Travail réalisé 41
De même le configurateur où le super admin est capable d’ajouter des nouvelles en-
treprise, des nouveaux clients, des nouveaux métiers, des nouvelles zones. Ces interfaces
seront présentées dans l’annexe.
La figure 5.9 présente une capture d’écran prise après le test de Primasup sur OWASP
Dependency Check. Ces résultats nous a permis d’améliorer la qualité de notre code afin
d’éviter les failles signalés ainsi que les vulnérabilités présentées.
5.5 Conclusion
A partir de ce dernier chapitre nous avons présenté tous les résultats du travail réalisé
durant notre stage y compris notre environnements du développement.
Conclusion et perspectives
En s’attaquant à un problème fréquent, les services clients, nous avons propoé une
solution permettant le suivi des incendies à travers des tickets du support.
C’est dans ce contexte, la plate-forme PrimaSup360 s’inscrit, relevant le défi de dévelop-
per un système de e-ticketing et help-desk à disposition les fonctionnalités cité antérieure-
ment et en répondant éventuellement aux distinctes exigences de la sécurité. Pour entamer
ce projet du stage, nous avons définit avant tout le cadre, les objectifs et les motivations
de notre travail à savoir la réalisation du système de e-ticketing avec toutes les contraintes
posées par ce sujet. Puis, nous avons préciser quelle méthode de travail était la plus fruc-
tueuse pour notre cas, afin de savoir la manière de procéder tous le long de la réalisation de
ce travail. Cependant, le planning prévisionnel a été accéléré et la gestion des tâches à l’aide
du Visual Management a été un enrichissement important. Ensuite, une étude de solutions
existantes pour examiner quelques systèmes existants et savoir s’il été faisable d’en exploi-
ter un. Nous avons aboutit décidément à la nécessitée de développer notre propre modèle
pour des exigences que ce soit fonctionnelle où financière. Après, nous avons identifié les
intervenants majeurs, la spécification des besoins fonctionnels pour chaque intervenant, les
besoins non fonctionnels, et une corrélation entre les trois pour clarifier le travail que nous
aurons à accomplir. La conception nous a servi de préciser l’architecture fonctionnelle,
physique et logique du projet, de visionner les différents services métiers à implémenter
ainsi que leurs interactions de manière dynamique avec les diagrammes de séquences et
de manière immuable avec les diagrammes de classes. A cet effet, nous avons présentés la
phase de réalisation de PrimaSup à savoir l’achèvement pour tous nos efforts d’analyse, de
conception et de développement.
Ce stage restera une expérience professionnelle qui nous a énormément apportée, tant sur
le plan de la compréhension et de la vision de notre métier que sur celui de l’acquisi-
tion de connaissances en gestion de projet, Management, développement et en relations
partenariales.
Les travaux futurs qui pourront améliorer le fonctionnement de PrimaSup seront essen-
sialement l’integration des outils des collaborations, l’ajout d’un chatbot et l’amélioration
de la fonctionnalité de repoting. Ce qui semble être un bon début pour évoluer l’outil afin
de voir jusqu’au où peut-on arriver avec un tel système surtout que nous commencerons le
développement de la deuxième version prochainement.
45
Annexe
46
Annexe 47
48
Netographie 49
[URL14] https://naveenpete.wordpress.com/2016/09/07/mvc-mvvm-and-angular/,
consulté le 10/05/2020.
[URL15] https://owasp.org/www-project-web-security-testing-guide//, consulté
le 04/08/2020.
J
jÊ K
éJ
J£ñË@
Ï @ áÓ JêË@
ék PX úΫ ÈñmÌ '@ Ég
@ áÓ
éPYÖ éY . . h. Qm' ¨ðQåÒ» ÉÒªË@ @ Yë
AK Õç'
g éJ ÊÔ« ÉJîD áÓ
ñë AJ«ðQå Ó áÓ . éJ ÓC«B @ ÐñʪË
¬YêË@
éÓY
áºÖ ß
ú
æ
A @ ÐA ¢ YJ
®J Kð Õæ
Ò
.©K
PAÖÏ @ èP@X@
ÈAm.× ú
¯ ZCÒªË@
,H @ñË@ HA
... A¯Ag ®J
J.¢ ,ZCÒªË@ éÓY g : IjJ . Ë@ HAÒÊ¿
. .
Résumé
Ce travail a été établi comme un projet de fin d’études dans le but d’obtenir le diplôme
d’ingénieur de l’École nationale des sciences de l’informatique . L’objectif de notre projet
consiste en la conception et la mise en œuvre d’une plate-forme de gestion des tickets de
support. Elle permet de faciliter la procédure du support client dans le domaine de la ges-
tion de projet.
Mots clés : Support client, dévelopement web, Java ...
Abstract
This work was established as a graduation project in order to obtain the engineering de-
gree from the National School of Computer Science. The goal of our project is to design
and implement a help-desk and a e-ticketing system. It’s a platform that facilitates the
customer support process for project management field.
Keywords : Customer support, web development, Java ...