Académique Documents
Professionnel Documents
Culture Documents
TEK-UP
Réalisé par
Ali MEHRI
Signature et cachet
J’autorise l’étudiant à faire le dépôt de son rapport de stage en vue d’une soutenance.
Signature
Dédicace
Je dédie ce travail à :
Mes chers parents, ma soeur, mes frères , mes amis, à mes enseignants et à toute ma famille,
sans leurs encouragements et sacrifices, rien de cela n’aurait été possible.
Toute ma reconnaissance...
ii
Remerciements
toute ma gratitude envers les personnes qui de près ou de loin m’ont apporté
leur aide inestimable lors de la réalisation de ce projet.
Xtendplex ,
M. Wissem ELJAOUED,
Je tiens aussi à remercier tous les membres du jury pour avoir bien voulu
iii
Table des matières
Introduction générale 1
iv
2.8 Environnement de travail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.8.1 Outils de gestion de projet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.8.2 Framework de développement et de tests . . . . . . . . . . . . . . . . . . . . . . 27
2.8.3 Système de gestion de base de données . . . . . . . . . . . . . . . . . . . . . . . 28
v
4.2.5 Diagrammes dynamiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
4.2.6 Réalisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
Bibliographie 109
Webographie 110
vi
Table des figures
vii
Table des figures
viii
4.12 interface vue global des congés par utilisateur . . . . . . . . . . . . . . . . . . . . . . . 73
4.13 historique des demandes de sortie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
4.14 Diagramme de cas d’utilisation "Gestion de présence et compte rendu d’activité" . . . 76
4.15 Diagramme de classe "Gestion de présence" . . . . . . . . . . . . . . . . . . . . . . . . 77
4.16 Diagramme de séquence objet "marquer l’heure d’entrée" . . . . . . . . . . . . . . . . 78
4.17 interface du pointage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
4.18 Liste du présence après le ClockIN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
4.19 Interface du présence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
4.20 Compte rendu d’activité du Responsabe RH ’Ali’ . . . . . . . . . . . . . . . . . . . . . 82
4.21 Compte rendu d’activité de l’employé ’Mourad’ . . . . . . . . . . . . . . . . . . . . . . 83
ix
Liste des tableaux
x
Liste des abréviations
— DI = Dependency Injection
— IT = Information Technology
— RH = Ressources Humaines
xi
Introduction générale
• Analyse et spécifications des besoins où on va identifier les besoins fonctionnels et non fonctionnels
ainsi que les acteurs de l’application.
1
Chapitre 1
Plan
1 Etude de l’existant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2 Methodologie de travail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Chapitre 1. Contexte général du projet
Introduction
Dans ce chapitre on présentera une étude préalable qui est une étape essentielle afin d’analyser,
d’évaluer et de critiquer des applications similaires pour proposer une solution adaptée, ainsi qu’on
présentera la méthdlgie adaptée pour effectuer cette application.
L’étude de l’existant est une phase primordiale pour la réalisation d’un projet. En effet elle
consiste à observer et à analyser les solutions existantes puis à déterminer leurs points faibles et leurs
points forts afin de les prendre en considération lors de la réalisation de l’application en question. Elle
comporte trois parties : description de l’existant, critique de l’existant et la solution envisagée.
• Doctolib : Doctolib est une plateforme populaire de prise de rendez-vous médicaux en ligne.
Les patients peuvent rechercher des professionnels de la santé, consulter leurs disponibilités en
temps réel et prendre rendez-vous instantanément.
3
Chapitre 1. Contexte général du projet
• Dokita connect : est une plateforme qui permet aux patients de prendre rendez-vous avec
des médecins, de consulter des informations sur les praticiens et de recevoir des rappels de
rendez-vous.
Application Critique
4
Chapitre 1. Contexte général du projet
SCRUM est l’une des méthodes les plus utilisées pour la gestion des projets informatiques. Son
objectif est d’offrir plus de souplesse à l’équipe. Un projet qui suit « SCRUM » comporte un « Product
backlog » qui représente une liste ordonnée des fonctionnalités à développer pour atteindre un objectif
bien déterminé. De son tour le « Product backlog » est divisé en un « sprint backlog » qui est basé
5
Chapitre 1. Contexte général du projet
sur la division des flux de travail en « Sprint » qui est un intervalle de temps généralement entre
deux et quatre semaines. À la fin de chaque sprint il y aura un livrable qui présente de son tour les
fonctionnalités accomplies.
La figure 1.4 représente le parcours de la méthodologie de SCRUM.
• Product owner : C’est l’expert produit qui représente les parties prenantes et peut être aussi
le client, le propriétaire du projet, ou le chef d’entreprise.
• Scrum master : C’est le chef d’équipe qui assure la compréhension et l’exécution de Scrum. Il
contrôle l’équipe et organise le travail.
• Scrum team : Est un groupe de membres qui travaille sur l’exécution du produit (développeurs,
programmeurs, designers...).
Conclusion
Dans ce premier chapitre, on a défini l’étude de l’existant afin de préciser notre objectif à
atteindre vers la fin accompagnée d’une solution proposée et le choix de la méthodologie appliquée.
Dans le chapitre qui suit, on présentera l’analyse et la spécification des besoins.
6
Chapitre 2
Plan
1 Spécification des besoins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2 Diagramme de classe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3 Planification de travail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
4 Architecture de l’application . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
6 Maquette du projet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
7 Difficultés rencontrées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
8 Environnement de travail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Chapitre 2. Analyse et spécification des besoins
Introduction
Ce chapitre vise à capter les besoins et les rôles des utilisateurs qui utilisent l’application. Dans
un premier lieu, on commence par définir les acteurs, par la suite on spécifie les besoins fonctionnels
et non fonctionnels. Au niveau de la deuxième partie on va analyser ces besoins par l’insertion de
diagramme des cas d’utilisations global et diagramme de classes.
Un acteur définit un rôle joué par une personne externe qui interagit avec le système. Il peut
être parmi les utilisateurs du système et parmi les responsables de sa configuration
• Docteur : Le docteur a le privilège d’accéder, de mettre à jour et de gérer les dossiers médicaux
des patients, de planifier des rendez-vous, et de consulter les réservations liées à sa pratique
médicale.
• Patient : Le patient peut consulter son dossier médical, prendre des rendez-vous en ligne, mettre
à jour ses informations personnelles, et prendre des rendez-vous en fonction des disponibilités des
médecins.
• Administrateur :
— Rechercher un utilisateur.
• Docteur :
8
Chapitre 2. Analyse et spécification des besoins
• Patient :
— Annuler un rendez-vous.
9
Chapitre 2. Analyse et spécification des besoins
Les besoins non fonctionnels définissent les options internes essentielles pour améliorer le fonctionnement
du système. Pour cela, notre future application doit répondre aux critères suivants :
• La sécurité : L’application doit garantir la sécurité des données des utilisateurs ce qui
nécessite un mot de passe enregistré dans la base de données crypté et un jeton généré
après chaque authentification. L’utilisateur peut profiter du jeton qui offre un accès à une
ressource spécifique pour une période précise sur notre plateforme.
10
Chapitre 2. Analyse et spécification des besoins
(SideBar).
• La disponibilité : L’application doit être disponible à tout instant pour être utilisée par
n’importe quel utilisateur, elle doit être accessible facilement via n’importe quel navigateur.
• Fiabilité : Afin d’offrir un service de qualité, l’application doit être performante au niveau
de temps de réponse.
Ci-dessous dans la figure ??, nous représentons le diagramme de classe global de notre
application. Nous détaillons ses classes dans chaque sprint.
11
Chapitre 2. Analyse et spécification des besoins
12
Chapitre 2. Analyse et spécification des besoins
Release
Nom du Sprint
ID
• Sprint 1 :Authentification
1
• Sprint 2 :Gestion des utilisateurs .
13
Chapitre 2. Analyse et spécification des besoins
Release
Nom du Sprint
ID
14
Chapitre 2. Analyse et spécification des besoins
img/gantt.png.png
L’architecture logique de notre application est divisée en deux parties, une partie Back-end
et une partie Front-end.
La partie Front-end est basée sur le fameux Framework modulaire Angular. Chaque module
est composé d’un composant contenant la logique de base de la page et un template qui traite
de la vue de l’application. Un composant injecte la couche service, une couche d’abstraction
qui permet de gérer le logique métier de l’application. Il assure la communication avec les
services du backend, via les requêtes HTTP. Les données échangées entre la partie Front-end
et la partie Back-end sont de type JSON.
15
Chapitre 2. Analyse et spécification des besoins
La partie Back-end est basé sur le Framework Spring boot. Son conteneur constitue le
cœur de ce Framework. Il obtient ses instructions sur les objets à instancier, configurer et
assembler en lisant les métadonnées de configuration fournies.
Angular est un Framework pour créer la partie Front End des applications web en utilisant
HTML et JavaScript ou TypeScript compilé en JavaScript.Une application Angular se
compose de [1] :
• Des services pour la logique applicative : Les composants peuvent utiliser les
services via le principe de l’injection des dépendances.
• Les pipes : utilisés pour formater l’affichage des données dans els composants.
Notre application repose sur une architecture 3-tiers. La figure 2.6, représente les interactions
entre les différents niveaux, ainsi que l’architecture physique que nous avons adopté
• Le REST API qui garantit le lien entre les composants graphiques et les composants
métiers dans notre application, En s’appuyant sur le protocole HTTP hors ligne, les
utilisateurs peuvent simplement y accéder via un autre élément du SI et des applications
clientes.
16
Chapitre 2. Analyse et spécification des besoins
• La couche accès aux données correspond aux données qui sont destinées à être
conservées dans la base de données.
Singleton est un patron de conception de création qui garantit que l’instance d’une classe
n’existe qu’en un seul exemplaire, tout en fournissant un point d’accès global à cette
instance.[3] :
On utilise ce patron souvent en utilisant spring boot lors de l’injection de dépendance avec
l’annotation Autowired ou bien Inject.
Le Proxy est un patron de conception structurel qui vous permet d’utiliser un substitut
pour un objet. Elle donne le contrôle sur l’objet original, vous permettant d’effectuer des
manipulations avant ou après que la demande ne lui parvienne. Ce patron de conception
vous propose de créer une classe Proxy qui a la même interface que l’objet du service
original. Vous passez ensuite l’objet procuration à tous les clients de l’objet original. Lors
de la réception d’une demande d’un client, la procuration crée l’objet du service original et
lui délègue la tâche.[4] :
Nous avons utilisé ce patrons plusieurs fois dans la partie backend avec les classes DTO
Data Transfer Object.
17
Chapitre 2. Analyse et spécification des besoins
Nous avons utilisé ce patrons lors du traitements des demandes (congés ,sorties ,achats)
chacun de ces objets posséde un état et il change de comportement dès qu’on change son
état.
Dans cette partie nous allons présenter en premier lieu la maquette de l’application qui
est réalisée avec Adobe Xd par le designer de XtendPlex et en second lieu le schéma de
navigation de l’application.
18
Chapitre 2. Analyse et spécification des besoins
La figure 2.9 représente l’interface du pointage dont laquelle un utilisateur peut marquer
sa présence et il trouve aussi une liste de sa fréquentation pour cette semaine là.
Le Schéma de navigation est une technique visuelle qui nous aiderons à comprendre le
contenu d’une application.
19
Chapitre 2. Analyse et spécification des besoins
img/SchNav_Global.jpg
Les figures suivantes représentent les schémas de navigation par acteurs selon la spécification
des besoins qu’on l’a réalisé au début de ce chapitre.
• Stagiaire :
20
Chapitre 2. Analyse et spécification des besoins
img/SchNav_Stagiaire.jpg
• Consultant :
21
Chapitre 2. Analyse et spécification des besoins
img/SchNav_Consultant.jpg
• Employé :
22
Chapitre 2. Analyse et spécification des besoins
img/SchNav_Employe.jpg
• responsable RH :
23
Chapitre 2. Analyse et spécification des besoins
img/SchNav_RH.jpg
• Manager :
24
Chapitre 2. Analyse et spécification des besoins
img/ShcNav_Manager.jpg
La principales difficulté rencontrée c’est que nous avons préparé la partie Front-end à partir
du zéro en se basant sur les maquettes fournies par l’équipe de design de Xtendplex. En
effet la réalisation de chaque sprint se divise en trois parties partie Back-end, intégration de
la maquette en HTML et CSS et la partie Front-end ce qui engendre une perte de temps
considérable
• Bitbucket
25
Chapitre 2. Analyse et spécification des besoins
img/bitbucket.jpg
• Jira Software
Jira est une plateforme de gestion de projet destinée au développement logiciel. Elle
permet de préparer, matérialiser et suivre les développements des teams SCRUM.[7]
la figure 2.17 montre une capture de jira qui contient les tâches terminées et les tâches
en cours de sprint 1.
img/jira.png
• Discord
26
Chapitre 2. Analyse et spécification des besoins
img/discord-logo.jpg
• Angular
Angular est un framework open source, écrit en JavaScript, qui permet la création
d’applications Web, en particulier les «applications à une seule page» : Des applications
Web accessibles via une seule page Web, rendant l’expérience utilisateur plus fluide et
évitant les pages Chargées chaque nouveau action.[9]
img/angular-10.png
• Spring Boot
27
Chapitre 2. Analyse et spécification des besoins
img/spring-boot-logo.png
• Postman
Postman est une solution pour interroger ou tester webservices et API. Il permet de
construire et d’exécuter des requêtes HTTP, de les stocker dans un historique afin de
pouvoir les rejouer, mais surtout de les organiser en Collections. Nous avons utilisé cet
outil pour tester le fonctionnement de la partie Backend.[11]
img/postman.png
• MySQL Database
28
Chapitre 2. Analyse et spécification des besoins
img/Mysql.png
Conclusion
La phase de spécification des besoins est une phase très importante dans le cycle de vie
d’un projet, car elle offre une vue plus claire du système et des principales caractéristiques
à atteindre. Par conséquent, nous avons introduit le backlog produit et la planification des
releases pour passer à la phase de conception.
29
Chapitre 3
Release 1 : Gestion de
l’entreprise et des comptes
Plan
1 Sprint 1 :Module gestion de l’entreprise . . . . . . . . . . . . . 31
Introduction
Dans cette section nous allons présenter les différents étapes de la réalisation du premier
sprint.
Estimation
Id Fonctionnalités Priorité
(Jour)
31
Chapitre 3. Release 1 : Gestion de l’entreprise et des comptes
Estimation
Id Fonctionnalités Priorité
(Jour)
img/UCGestionEntreprise.png
— Une entreprise est caractérisée par (id Entreprise, nom Entreprise, Activité Entreprise,
email, adresse, nombre de Personnel, téléphone, nombre de jours de congés), peut
32
Chapitre 3. Release 1 : Gestion de l’entreprise et des comptes
— Un département est caractérisé par (id département, nom département) peut contenir
plusieurs postes.
— Un poste est caractérisé par (id poste, nom poste), peut contenir plusieurs utilisateurs.
— Un utilisateur est caractérisé par (id utilisateur, nom, prénom, nom d’utilisateur, mot
de passe, email, adresse, téléphone, sexe, date de naissance, date d’arrivée, statut civil,
discord, facebook, linkedin, slack, twitter), peut avoir un seul rôle.
— Un rôle est caractérisé par (id rôle, nom rôle) et peut être attribué à plusieurs utilisateurs.
img/CDGestionEntreprise.PNG
Dans cette section nous allons présenter les diagrammes UML dynamique pour ce sprint.
33
Chapitre 3. Release 1 : Gestion de l’entreprise et des comptes
Dans ce diagramme nous allons décrire le cas d’utilisation "ajout d’entreprise" avec les
différents composants inclus dans cette processus, commençant par l’interaction entre le
composant et le service dans la partie front-end passant par l’ Api Rest et enfin l’interaction
entre les classes côté serveur.
img/SOaddEntreprise.png
3.1.6 Réalisation
Pour mieux comprendre le fonctionnement de notre projet, nous allons présenter les différents
fonctions de l’application "XHRM"en se basant sur un scénario.
Dans ce contexte pour s’inscrire à l’application "XHRM" monsieur "Mohamed" doit remplir
le formulaire d’inscription qui est composé de trois parties , la première partie est pour les
coordonnées générales ,la deuxième est pour l’entreprise et la dernière c’est pour le compte
principal qui va avoir le rôle Manager. Les trois premières figures nous montrent le formulaire
d’inscription.
34
Chapitre 3. Release 1 : Gestion de l’entreprise et des comptes
img/Sp1Capture1.PNG
35
Chapitre 3. Release 1 : Gestion de l’entreprise et des comptes
img/Sp1Capture2.PNG
36
Chapitre 3. Release 1 : Gestion de l’entreprise et des comptes
img/Sp1Capture3.PNG
37
Chapitre 3. Release 1 : Gestion de l’entreprise et des comptes
img/Sp1Capture4.PNG
Les trois prochaines captures dans les figures 3.8, 3.9 et 3.10. vont nous montrer que la
page "paramètre d’entreprise" offre aussi au manager la possibilité de gérer les postes et les
départements de son entreprise et aussi elle le permet de fixer le nombre des jours de congés
qu’un employé peut l’avoir pendant une année.
38
Chapitre 3. Release 1 : Gestion de l’entreprise et des comptes
img/Sp1Capture5.PNG
39
Chapitre 3. Release 1 : Gestion de l’entreprise et des comptes
img/Sp1Capture6.PNG
40
Chapitre 3. Release 1 : Gestion de l’entreprise et des comptes
img/Sp1Capture7.PNG
Dans cette section nous allons présenté les différents étapes permettant la réalisation du
sprint "Gestion des utilisateurs et authentification".
L’objectif du deuxième sprint est de développer le module « Gestion des utilisateurs » qui
permet aux utilisateurs d’authentifier et gérer leurs profils et permet aux responsable RH
de gérer les comptes des utilisateurs
41
Chapitre 3. Release 1 : Gestion de l’entreprise et des comptes
Estimation
Id Fonctionnalités Priorité
(Jour)
Pour Réaliser la partie authentification de notre projet nous avons principalement nous basé
sur ces deux technologies :
Un JSON Web Token est un jeton d’accès, qui permet un échange sécurisé de donnée
entre deux ou plusieurs parties. Les JWT sont particulièrement appréciés pour les
opérations d’identification. Cette sécurité se traduit par la vérification de l’intégrité
des données à l’aide d’une signature numérique, qui vérifie si le message a été modifié
pendant le transfert, et authentifie également l’expéditeur du JWT dans le cas d’un
jeton signé avec une clé privée.[13]
42
Chapitre 3. Release 1 : Gestion de l’entreprise et des comptes
• Spring Security
La figure 3.11 représente le diagramme cas d’utilisation du sprint "Gestion des utilisateurs
et authentification"
img/UCGestionUtilisateurs.png
43
Chapitre 3. Release 1 : Gestion de l’entreprise et des comptes
— Un utilisateur est caractérisé par (id utilisateur, nom, prénom, nom d’utilisateur, mot
de passe, email, adresse, téléphone, sexe, date de naissance, date d’arrivée, statut civil,
discord, facebook, linkedin, slack, twitter), peut avoir un seul rôle.
— Un rôle est caractérisé par (id rôle, nom rôle) et peut être attribué à plusieurs utilisateurs.
img/CDGestionUtilisateur.PNG
44
Chapitre 3. Release 1 : Gestion de l’entreprise et des comptes
Dans ce diagramme nous illustrons les différents interactions entre l’utilisateur et les composants
de notre projet.
img/SOauthentication.png
La figure 3.14 représente le diagramme de séquence système de l’ajout d’un utilisateur qui
peut être réalisé par l’acteur Responsable RH ou bien par le Manager.
Ce diagramme nous montre l’interaction de l’acteur avec le système pour réaliser l’ajout
45
Chapitre 3. Release 1 : Gestion de l’entreprise et des comptes
d’un utilisateur.
img/SSaddUser.png
On note que l’utilisateur doit fournir un nom d’utilisateur valide pour qu’il puisse passer à
l’interface de réinitialisation.
46
Chapitre 3. Release 1 : Gestion de l’entreprise et des comptes
img/diagrammeactivitÃľ.jpg
3.2.7 Réalisation
La figure 3.16 représente la page équipe de l’application qui nous permet de gérer les
utilisateurs.
47
Chapitre 3. Release 1 : Gestion de l’entreprise et des comptes
img/Sp2Capture1.PNG
Après avoir inscrire à l’application monsieur "Mohamed" veut ajouter ses employés dans
l’application et pour cela il doit remplir le formulaire d’ajout d’utilisateur comme nous
montre la figure 3.17 .On peut constater que les champs département et poste sont présentés
par une liste déroulante.
48
Chapitre 3. Release 1 : Gestion de l’entreprise et des comptes
img/Sp2Capture2.PNG
Après la validation du formulaire l’utilisateur "Ali" avec le rôle Employé est ajouté avec
succès à l’entreprise de monsieur "Mohamed".
49
Chapitre 3. Release 1 : Gestion de l’entreprise et des comptes
img/Sp2Capture3.PNG
50
Chapitre 3. Release 1 : Gestion de l’entreprise et des comptes
img/Sp2Capture4.PNG
51
Chapitre 3. Release 1 : Gestion de l’entreprise et des comptes
img/Sp2Capture5.PNG
La page profil permet l’utilisateur de compléter et modifier les informations de son profil
,elle lui permet aussi de changer ses coordonnées de connexion comme nous illustrent les
deux prochaines captures, voir figures 3.21 et 3.22.
52
Chapitre 3. Release 1 : Gestion de l’entreprise et des comptes
img/Sp2Capture6.PNG
53
Chapitre 3. Release 1 : Gestion de l’entreprise et des comptes
img/Sp2Capture7.PNG
Maintenant on va revenir à la page équipe mais cette fois ci par le compte de "Ali" qui
possède le rôle Employé et on peut rapidement constater qu’il ne peut pas ni ajouter ni voir
les autres utilisateurs hormis son département.
54
Chapitre 3. Release 1 : Gestion de l’entreprise et des comptes
img/Sp2Capture8.PNG
On déconnecte le compte de "Ali" et on reconnecte une autre fois par le compte de "Mohamed".
On remarque que "Mohamed" peut voir les utilisateurs de tous les départements aussi il
peut les supprimer ou modifier leurs rôles.
55
Chapitre 3. Release 1 : Gestion de l’entreprise et des comptes
img/Sp2Capture9.PNG
La figure 3.25 montre "Mohamed" qui va changer le rôle de "Ali" et lui attribuer le rôle
Responsable RH.
56
Chapitre 3. Release 1 : Gestion de l’entreprise et des comptes
img/Sp2Capture10.PNG
57
Chapitre 3. Release 1 : Gestion de l’entreprise et des comptes
img/Sp2Capture11.PNG
Conclusion
58
Chapitre 4
Plan
1 sprint 3 :Module gestion des Congés et des permission des sorties 60
Introduction
Dans ce chapitre, nous allons présenter les différentes étapes de réalisation du troisième
sprint "Gestion des Congés et des permission des sorties", et du quatrième sprint "Gestion
de présence et du compte rendu d’activité".
des sorties
Dans cette section nous allons présenter les différents étapes de la réalisation du sprint
"Gestion des Congés et des permission des sorties".
L’objectif du troisième sprint est de développer le module « Gestion des congés et permission
de sorties » qui permet en premier lieu aux utilisateurs de gérer leurs demandes de sorties
et en deuxième lieu aux employés de gérer leurs demandes de congés et qui permet au
responsable RH de gérer toutes ces demandes.
Estimation
Id Fonctionnalités Priorité
(Jour)
60
Chapitre 4. Release 2 : Gestion d’activité de ressources humaines
Estimation
Id Fonctionnalités Priorité
(Jour)
61
Chapitre 4. Release 2 : Gestion d’activité de ressources humaines
img/UCGestionCongÃľ&Sortie.png
— Un utilisateur peut avoir plusieurs congés. Un congé est caractérisé par (id congé,
nombre de jours, date début, raison).
— Un utilisateur peut avoir plusieurs autorisations de sortie. Une autorisation est caractérisée
par (id autorisation, nombre d’heures, date, heure de sortie).
62
Chapitre 4. Release 2 : Gestion d’activité de ressources humaines
img/CDGestionCongÃľ.PNG
Dans cette partie nous allons présenter un diagramme séquence système pour la procédure
de traitement d’une demande de congé et un diagramme état transition pour montrer les
différents état qu’une demande peut l’avoir.
Ce diagramme nous montre les différents interactions entre les deux acteurs Employé et
Responsable Rh avec le système afin de décrire toute la procédure du demande de congé.
63
Chapitre 4. Release 2 : Gestion d’activité de ressources humaines
img/SStimeOff.png
La figure 4.4 représente le diagramme d’état transition d’une demande. La demande peut
avoir quatre état comme nous montre le diagramme suivant.
64
Chapitre 4. Release 2 : Gestion d’activité de ressources humaines
img/EtatTransitionAchat.png
4.1.6 Réalisation
Avant de commencer la partie réalisation de ce sprint on doit se rappeler des comptes déjà
crées pour l’entreprise XtendPlex de monsieur "Mohamed ". Jusqu’à maintenant on a le
compte "Mohamed " avec le rôle Manager et le compte de "Ali" qui possède maintenant le
rôle Responsable RH. Il faut noter que nous avons ajouté deux autres utilisateurs, "Mourad
" avec le rôle Employé et "Maissa" avec le rôle Stagiaire.
Ces quatre comptes vont nous accompagner pour le reste du rapport alors si l’on récapitule
on a :
65
Chapitre 4. Release 2 : Gestion d’activité de ressources humaines
La figure 4.5 représente l’interface d’autorisation. On est maintenant connecté avec le compte
de Mourad et puisqu’il possède le rôle Employé ,on peut remarquer qu’il y a deux onglets qui
sont affichés, la première est pour la section congé et la deuxième est pour les autorisations
de sortie.
img/Sp3Capture1.PNG
66
Chapitre 4. Release 2 : Gestion d’activité de ressources humaines
img/Sp3Capture2.PNG
La figure 4.7 nous montre que la demande de congé passée par Mourad est enregistrée avec
succès.
67
Chapitre 4. Release 2 : Gestion d’activité de ressources humaines
img/Sp3Capture3.PNG
68
Chapitre 4. Release 2 : Gestion d’activité de ressources humaines
img/Sp3Capture4.PNG
La figure 4.9 représente le formulaire de demande d’une autorisation de sortie. Après avoir
demander un congé avec une durée de trois jours monsieur Mourad a passé aussi une
demande d’autorisation de sortie pour une durée de deux heures pour le 28 juin.
69
Chapitre 4. Release 2 : Gestion d’activité de ressources humaines
img/Sp3Capture5.PNG
Maintenant nous changeons du compte et nous allons connecter avec le compte de "Ali" qui
possède le rôle responsable RH comme vous pouvez voir dans la navbar. En regardant la
figure 4.10 on constate rapidement qu’il y a deux onglets de plus sont ajoutés à la section
Autorisation qui sont "Approbation en attente" et "vue global". Dans cette figure nous
sommes dans l’onglet "Approbation en attente" dont on y trouve les deux demandes de
monsieur Mourad.
70
Chapitre 4. Release 2 : Gestion d’activité de ressources humaines
img/Sp3Capture7.PNG
71
Chapitre 4. Release 2 : Gestion d’activité de ressources humaines
img/Sp3Capture8.PNG
Maintenant en naviguant à l’onglet "Vue global" comme nous illustre la figure 4.12 on trouve
la liste de tous les utilisateurs avec pour chacun le nombre de jours de congé restants et si
vous vous rappelez bien dans le premier sprint dans la figure 3.10 nous avons montré que
le manager a fixé le nombre de jours de congé à 20. Tous les utilisateurs possèdent leurs 20
jours hormis Mourad qui a pris 3 jours et on trouve aussi le détail de son congé.
72
Chapitre 4. Release 2 : Gestion d’activité de ressources humaines
img/Sp3Capture9.PNG
On reconnecte maintenant avec le compte de Mourad pour trouver que sa demande a été
acceptée.
73
Chapitre 4. Release 2 : Gestion d’activité de ressources humaines
img/Sp3Capture10.PNG
Dans cette section nous allons présenter les différents étapes de la réalisation du sprint
"Gestion de présence et Compte rendu d’activité".
74
Chapitre 4. Release 2 : Gestion d’activité de ressources humaines
Estimation
Id Fonctionnalités Priorité
(Jour)
75
Chapitre 4. Release 2 : Gestion d’activité de ressources humaines
img/UCPointage&Presence.png
Figure 4.14 : Diagramme de cas d’utilisation "Gestion de présence et compte rendu d’activité"
— Un utilisateur doit avoir une liste de pointage. Une liste de pointage est caractérisée
par (id pointage, heure d’entrée, heure de sortie, date).
76
Chapitre 4. Release 2 : Gestion d’activité de ressources humaines
img/CDGestionPrÃľsence.PNG
La figure 5.3 représente le diagramme de séquence objet du cas d’utilisation "marquer l’heure
d’entrée".
Ce diagramme représente les différents interactions de l’acteur avec les composants du projet
afin de marquer son présence.
77
Chapitre 4. Release 2 : Gestion d’activité de ressources humaines
img/SOpresence.png
4.2.6 Réalisation
Pour la réalisation du quatrième sprint nous allons nous connecter avec le compte de
"Maissa" qui possède le rôle Stagiaire. Ce qu’on remarque en premier lieu c’est que notre
sidebar manque deux éléments puisqu’un utilisateur avec le rôle stagiaire ne peut pas faire
ni des achats ni de consulter son compte rendu d’activité. La figure 4.17 représente la page
présence et plus précisément l’onglet pointage.
78
Chapitre 4. Release 2 : Gestion d’activité de ressources humaines
img/Sp4Capture1.PNG
La figure 4.18 nous montre que "Maissa" a marqué son présence. On note aussi que Mourad
a marqué son présence pour aujourd’hui.
79
Chapitre 4. Release 2 : Gestion d’activité de ressources humaines
img/Sp4Capture2.PNG
80
Chapitre 4. Release 2 : Gestion d’activité de ressources humaines
img/Sp4Capture3.PNG
Maintenant on va visiter une nouvelle page dans notre application, et comme nous montre
la figure 4.20 c’est l’interface du compte rendu d’activité. En fait le compte rendu d’activité
contient l’activité de l’utilisateur jour par jour et il est représenté par un calendrier sur une
période que l’utilisateur peut la choisie (mois, semaine ou jour).
Ici on a le compte rendu d’activité de "Ali" il a joint l’entreprise le 22 juin il n’a aucun
absence ni des congés ou des permissions de sortie.
81
Chapitre 4. Release 2 : Gestion d’activité de ressources humaines
img/Sp4Capture5 cra_ali.PNG
Dans la figure 4.21 on trouve le compte rendu de Mourad on doit se rappeler d’abord que
dans la réalisation du sprint précédent Mourad a pris un congé d’une période de 3 jours et
aussi une permission de sortie pour le 28 juin.
82
Chapitre 4. Release 2 : Gestion d’activité de ressources humaines
img/Sp4Capture6 cra_mourad.png
Conclusion
83
Chapitre 5
Plan
1 Sprint 5 :Module gestion d’achats et Dépenses . . . . . . . . . . 85
Introduction
Dans ce chapitre, nous allons présenter la réalisation du Sprint 5 "Gestion des achats
et des dépenses", et sprint 6 "Réalisation du Dashboard". Nous allons commencer par
l’identification des objectifs du Sprint, le backlog du sprint, la spécification des besoins
et la réalisation.
Dans cette section nous allons présenter les différents étapes de la réalisation du sprint
"Gestion d’achats et Dépenses".
Estimation
Id Fonctionnalités Priorité
(Jour)
85
Chapitre 5. Release 3 : Gestion d’achat et dépenses
Estimation
Id Fonctionnalités Priorité
(Jour)
img/UCGestionAchat.png
86
Chapitre 5. Release 3 : Gestion d’achat et dépenses
— Un utilisateur peut passer une ou plusieurs commandes. Une commande est caractérisée
par (id commande, date) et peut contenir plusieurs produits.
— Un produit est caractérisé par (id produit, nom produit, description, lien, prix).
— Un fournisseur est caractérisé par (id fournisseur, nom, téléphone, adresse, email, site
web) et peut avoir un ou plusieurs produits.
— Une dépense périodique est caractérisé par (id dépense, nom, note, période) et elle
appartient à une seule entreprise.
img/CDGestionAchat.PNG
Dans cette section nous allons présenter le diagramme de séquence système "traiter une
demande d’achat"
87
Chapitre 5. Release 3 : Gestion d’achat et dépenses
img/SSpurchase.png
5.1.6 Réalisation
Pour la réalisation du sprint "Gestion d’achats et dépenses" nous allons nous connecter avec
le compte de "Mohamed" qui possède le rôle Manager car seul le manager peut gérer les
fournisseurs dépenses périodiques et les demandes d’achats.
88
Chapitre 5. Release 3 : Gestion d’achat et dépenses
img/Sp5Capture1.PNG
89
Chapitre 5. Release 3 : Gestion d’achat et dépenses
img/Sp5Capture3 addPeriodicDepense.PNG
La figure 5.6 nous montre La nouvelle liste des dépenses périodiques après l’ajout de
l’allocation du bureau.
90
Chapitre 5. Release 3 : Gestion d’achat et dépenses
img/Sp5Capture4 depenseAdded.png
Maintenant on va passer une demande d’achat et cette fois-ci nous avons choisi de nous
connecter avec le compte de "Ali" le responsable Rh.
La figure 5.7 nous montre la page des achats et dépenses avec le compte de "Ali" et comme
vous voyez seul l’onglet d’achat est visible pour cet utilisateur.
91
Chapitre 5. Release 3 : Gestion d’achat et dépenses
img/Sp5Capture5 Rh Achat.png
Les deux prochaines captures vont nous montrer l’utilisateur "Ali" qui va réaliser une
demande d’achat.
92
Chapitre 5. Release 3 : Gestion d’achat et dépenses
img/Sp5Capture6 Rh purchaseDemand.png
93
Chapitre 5. Release 3 : Gestion d’achat et dépenses
94
Chapitre 5. Release 3 : Gestion d’achat et dépenses
La figure 5.11 représente la liste des demandes en attentes après que "Mohamed" a accepté
la demande.
95
Chapitre 5. Release 3 : Gestion d’achat et dépenses
img/Sp5Capture9 PurchaseAccepted.png
Dans cette section nous allons présenter les différents étapes de la réalisation du Dashboard.
Estimation
Id Fonctionnalités Priorité
(Jour)
96
Chapitre 5. Release 3 : Gestion d’achat et dépenses
Estimation
Id Fonctionnalités Priorité
(Jour)
97
Chapitre 5. Release 3 : Gestion d’achat et dépenses
img/UCDashboard.png
Le dashboard de notre application est composé par sept éléments qui sont répartis sur deux
colonnes. Les éléments de la première colonne :
• La section des statistiques : cette section contient trois types de statistiques qui
sont tous visibles au manager mais seulement une est visible pour le responsable RH.
• La section des demandes en attentes : Dans l’application Xhrm nous avons trois
types de demandes (les demandes de congés ,les demandes de sortie et les demandes
d’achats) pour cette section Nous voulons donner au responsable Rh et le manager la
possibilité de répondre les demandes en attentes directement à partir du dashboard.
98
Chapitre 5. Release 3 : Gestion d’achat et dépenses
Cette section est bien évidemment visible que pour le responsable RH et le manager.
• La section des anniversaires du mois : Cette section contient la liste des anniversaires
des employés de l’entreprise pour le mois présent et elle est visible pour tous les
utilisateurs.
• La section de la liste des présences : Cette section contient la liste des utilisateurs
qui ont marqué leur présence pour ce jour et elle est visible pour les utilisateurs qui ont
le rôle employé ou un rôle supérieur.
5.2.5 Réalisation
Pour la partie réalisation du sprint "Réalisation de dashboard" nous allons chaque fois
représenter une capture de dashboard d’un utilisateur et on va commencer par le dashboard
de "Maissa" la stagiaire.
99
Chapitre 5. Release 3 : Gestion d’achat et dépenses
img/Sp6Capture2 Dash_Maissa.PNG
Maintenant nous connectons avec le compte de "Mourad" qui possède le rôle Employé et
donc il va voir de plus la section "liste des présences".
100
Chapitre 5. Release 3 : Gestion d’achat et dépenses
img/Sp6Capture1 Dash_Mourad.PNG
101
Chapitre 5. Release 3 : Gestion d’achat et dépenses
img/Sp6Capture5 DemandeCongÃľ.PNG
102
Chapitre 5. Release 3 : Gestion d’achat et dépenses
img/Sp6Capture6 DemandAchat.PNG
103
Chapitre 5. Release 3 : Gestion d’achat et dépenses
img/Sp6Capture4 Dash_Ali.PNG
La figure 5.18 représente le dashboard de "Mohamed" le manager. Il n’y a pas des nouvelles
sections mais on remarque que dans la section statistique deux nouvelles statistiques apparaissent,
et dans la section demandes en attentes il y a une onglet de plus pour les demandes d’achats.
Puisque toutes les statistiques sont présentes maintenant nous allons les décrire.
Tout d’abord le pourcentage des utilisateurs présents, on doit se rappeler que seulement
"Mourad" et "Maissa" parmi les quatre utilisateurs qui ont marqué leurs présences on peut
aussi remarquer ça en voyant la section "Équipe présent" et donc c’est pour cela on a juste
50% des utilisateurs présents.
104
Chapitre 5. Release 3 : Gestion d’achat et dépenses
voir dans la figure 5.5. Donc si on fait nos calculs et multiplier le montant de 1500 par 12
mois on va trouver le résultat affiché dans la deuxième statistique.
Enfin la dernière statistique "le total d’achat", jusqu’à maintenant on a une seule demande
d’achat acceptée, celle passée par "Mourad" dans le sprint précédent vous pouvez le voir dans
la figure 5.8. Dans cette demande, "Mourad" a demandé d’acheter 10 ordinateur portable
dont le prix de l’unité est 3500. Et pour cela on trouve ce résultat affiché dans la troisième
statistique.
img/Sp6Capture3.PNG
Maintenant on va accepter la deuxième demande d’achat passée par "Mourad" dans la figure
5.16. Dans cette demande "Mourad" veut acheter 3 écran dont le prix de l’unité est 620.
la figure 5.19 nous montre la nouvelle valeur de la troisième statistique après que "Mohamed"
le manager a accepté la demande d’achat de "Mourad".
105
Chapitre 5. Release 3 : Gestion d’achat et dépenses
img/Sp6Capture7 DemandAchatAcceptÃľ.png
Conclusion
106
Conclusion générale
Ce rapport présente notre projet de fin d’étude au sein de Tek-Up University et marque
l’aboutissement de notre parcours d’enseignement supérieur. Il nous a permis de mettre en
pratique les connaissances acquises tout au long de notre cursus universitaire, y compris
pendant notre stage au sein de l’entreprise XtendPlex. L’entreprise XtendPlex nous a
proposé de développer une application de gestion des ressources humaines, ayant pour
objectif de prendre en charge la gestion des ressources humaines en simplifiant la gestion du
personnel et certaines tâches administratives.
Dans ce rapport, nous avons détaillé l’ensemble des étapes de réalisation du projet, pendant
lequel nous avons pris soin de construire notre application de façon incrémentale et itérative
en utilisant la méthode agile Scrum. Cette méthode, largement utilisée de nos jours notamment
par les entreprises numériques innovantes, permet d’obtenir d’améliorer la célérité et la
qualité du processus de développement d’un projet et de répondre au mieux à la satisfaction
des clients.
Durant le stage réalisé auprès de XtendPlex, nous avons pu réaliser six modules de l’application
Xhrm portant respectivement sur :
• La gestion de l’entreprise
• Le Dashboard
L’ensemble de ces fonctionnalités se trouvant ainsi pris en charge par l’application, la gestion
des ressources humaines devient plus simple et plus fluide au quotidien pour les utilisateurs
de l’application en question.
Ce projet n’est pas voué à rester figé dans le temps et des pistes d’amélioration nous
apparaissent déjà sous la forme de nouvelles fonctionnalités qui pourront être ajoutées afin
de compléter l’excellente base que constitue déjà notre application, il s’agira par exemple
de la gestion des salaires et des factures, d’une implémentation de la partie planification
ayant pour objectif l’organisation des tâches des employées ainsi que, l’élaboration d’une
fonctionnalité de messagerie instantanée qui permettra d’améliorer la communication entre
107
Conclusion générale
108
Bibliographie
109
Webographie
110
Webographie
111
Résumé
Le présent rapport synthétise le travail effectué dans le cadre du projet de fin d’études pour
l’obtention du diplôme national d’ingénieur en informatique au sein de l’entreprise Xtendplex.
L’objectif de ce travail est la conception et l’implémentation d’une application web de gestion
des ressources humaines. Cette application consiste d’une part, de simplifier et d’accélérer le
processus RH, et d’autre part, d’améliorer la communication entre les employés.
Abstract
This document summarizes the work carried out as part of the end-of-study project for obtaining
the national software engineering degree during the internship completed within the company
Xtendplex. The main idea behind this project is to design and implement a Human Resources
management web application. This web application is mainly used to accelerate the Human
Resources process and improve the communication between the team members.