JavaScript Lesson1
JavaScript Lesson1
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
1 Cadre du projet 3
1.1 Cadre général du projet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.1.1 Présentation de l’organisme d’accueil . . . . . . . . . . . . . . . . . . . . . . . . 4
1.1.2 Contexte et Objectifs du projet . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2 Étude de l’existant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2.1 Étude de l’application Open Time Clock . . . . . . . . . . . . . . . . . . . . . . 5
1.2.2 Étude de l’application IceHRM . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.2.3 Étude de l’application snapHRM . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.3 Synthèse pour le choix de la solution . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.4 Méthodologie de gestion de projet à adopter . . . . . . . . . . . . . . . . . . . . . . . . 12
1.4.1 Méthodologie de SCRUM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.4.2 Les rôles dans SCRUM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.4.3 Méthodologie de conception à adopter . . . . . . . . . . . . . . . . . . . . . . . 13
iv
2.6 Maquette du projet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.6.1 Captures des interfaces de maquette . . . . . . . . . . . . . . . . . . . . . . . . 25
2.6.2 Schéma de navigation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.7 Difficultés rencontrées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.8 Environnement de travail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.8.1 Outils de gestion de projet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.8.2 Framework de développement et de tests . . . . . . . . . . . . . . . . . . . . . . 30
2.8.3 Système de gestion de base de données . . . . . . . . . . . . . . . . . . . . . . . 31
v
4.2.1 Objectifs du sprint 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
4.2.2 Backlog du sprint 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
4.2.3 Spécification des besoins fonctionnels . . . . . . . . . . . . . . . . . . . . . . . . 64
4.2.4 Diagramme de classe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
4.2.5 Diagrammes dynamiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
4.2.6 Réalisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Conclusion générale 86
Bibliographie 87
Webographie 88
vi
Table des figures
vii
Table des figures
viii
4.11 la demande est acceptée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
4.12 interface vue global des congés par utilisateur . . . . . . . . . . . . . . . . . . . . . . . 62
4.13 historique des demandes de sortie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
4.14 Diagramme de cas d’utilisation "Gestion de présence et compte rendu d’activité" . . . 65
4.15 Diagramme de classe "Gestion de présence" . . . . . . . . . . . . . . . . . . . . . . . . 66
4.16 Diagramme de séquence objet "marquer l’heure d’entrée" . . . . . . . . . . . . . . . . 67
4.17 interface du pointage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
4.18 Liste du présence après le ClockIN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
4.19 Interface du présence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
4.20 Compte rendu d’activité du Responsabe RH ’Ali’ . . . . . . . . . . . . . . . . . . . . . 69
4.21 Compte rendu d’activité de l’employé ’Mourad’ . . . . . . . . . . . . . . . . . . . . . . 69
ix
Liste des tableaux
x
Liste des abréviations
— DI = Dependency Injection
— IT = Information Technology
— RH = Ressources Humaines
xi
Introduction générale
• Le second chapitre présentera une analyse et une spécification des besoins, fonctionnels et non
fonctionnels, réalisés à partir de l’identification des acteurs de l’application. Il exposera aussi
le diagramme de cas d’utilisation globale, ainsi que le diagramme de classes de l’application, la
répartition des releases et l’architecture de l’application.
• Le troisième chapitre portera sur la Release 1 : « Gestion de l’entreprise et des comptes », qui a
consisté en la réalisation d’un Sprint 1 portant sur la création du compte de l’entreprise, compte
du Manager et la gestion des postes et des départements, ainsi que la réalisation d’un Sprint 2,
portant sur la gestion des utilisateurs, l’authentification et la gestion des rôles.
1
Introduction générale
• Enfin, dans un cinquième et dernier chapitre, nous présenterons la Release 3, « Gestion d’achat et
de dépenses », comprenant le Sprint 5, portant sur la gestion des demandes d’achats, la gestion
des fournisseurs et la gestion des dépenses périodiques, ainsi que le Sprint 6, portant sur la
réalisation d’un Dashboard de suivi des dépenses et de la présence.
2
Chapitre 1
Cadre du projet
Plan
1 Cadre général du projet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2 Étude de l’existant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Introduction
Dans ce chapitre, nous situons le projet dans son cadre global. Nous commençons par présenter
l’entreprise dans laquelle nous avons réalisé notre stage de projet de fin d’étude. Puis, nous expliquons
les objectifs du projet et nous analysons trois applications web existantes. Enfin, nous présentons la
méthodologie de projet que nous adoptons ainsi que l’environnement de travail.
L’entreprise XtendPlex Group fondée en 2014 est au carrefour de la technologie des systèmes
d’information, du conseil et de la finance de marché. Grâce à une stratégie claire, elle propose une
assistance globale et cohérente aussi bien en conseil qu’en formation et expertise.
1.1.1.2 Service
L’entreprise XtendPlex Group fournit une expertise et des techniques fonctionnelles, guidée
en permanence par l’envie de résoudre les problèmes des entreprises de ses clients en fournissant des
solutions et des conseils qui peuvent être classifiés selon trois axes : [1]
4
Chapitre 1. Cadre du projet
• Consulting : A travers...
1.1.2.1 Contexte
La gestion des ressources humaines (HRM) occupe une place importante dans l’entreprise car
elle améliore la communication entre les différents intervenants et favorise une parfaite compréhension
de l’entreprise, favorisant ainsi le développement des organisations professionnelles. Dans ce contexte
l’idée de notre projet fin d’étude est de concevoir et mettre en place une application de gestion des
ressources humaines XHRM
L’enjeu principal de notre application est la gestion des ressources humaines est d’assurer toutes
les tâches qui permettent d’accompagner et d’aider les différents services internes en matière de gestion
des ressources humaines et non seulement ça elle permet aussi à faciliter le travail du département
finance grâce au module achat et dépense.
Il s’agit aussi d’un module de gestion des achats et dépenses, ainsi qu’une partie administrative.
Le soutien des collaborateurs dans leurs conditions de travail dans leurs vies dans l’entreprise
est un objectif essentiel et d’offrir au manager une vue globale.
L’étude de l’existant est une étape indispensable, elle permet d’extraire les forces et les faiblesses
des applications existantes. Cela nous aidera à la réalisation de notre projet. Nous avons choisi
d’analyser trois applications existantes.
• L’application « IceHRM »
• L’application « SnapHRM »
5
Chapitre 1. Cadre du projet
1.2.1.1 Description
Cette application a pour but le suivi des pointages, des présences, des congés payés ainsi que la
gestion des comptes des employés, la gestion des factures, la gestion des événements... Le public ciblé
de cette application est les entreprises (petite, moyenne ou grande entreprise).
Il existe une application pour le Web et une version pour le mobile (Android/iOS).
• remarque : La société ‘Xtendplex’ utilise l’application ‘Open time Clock’ comme outil de
gestion des ressources humaines. La question qui se pose pourquoi xtendplex veut changer cette
application ?
• L’application "Open time Clock" n’est pas bien sécurisée puisqu’il existe des sessions avec
login seulement et sans mot de passe.
• L’entreprise veut développer une application avec accès gratuit pour les startups et les mini
entreprises.
• Cette application manque des fonctionnalités comme la gestion des achats et des dépenses,
Dashboard manager. . .
• L’entreprise Xtendplex veut avoir un environnement intérieur qui s’adapte à leurs besoins.
Les principales fonctionnalités proposées par l’application, tout en les reliant aux acteurs qui
en bénéficient.
• Employé :
6
Chapitre 1. Cadre du projet
— Enregistrer sa localisation.
• Administrateur :
— Gérer ses employés ainsi que les managers (ajouter, supprimer et modifier des profils).
— Facile à utiliser.
— Facile à installer.
— Le site n’est pas sécurisé.
— Application gratuite/payante.
— La composition des différentes interfaces
— Un temps de chargement moyen des pages
du site n’est pas homogène.
(Les liens s’ouvrent rapidement).
— L’application dispose deux acteurs
— Les employés peuvent utiliser un
seulement
ordinateur, tablette/iPad et smartphone
(Android and iPhone) pour le pointage.
7
Chapitre 1. Cadre du projet
1.2.2.1 Description
‘ICE HRM’ est un système de gestion des ressources humaines qui souhaite simplifier la gestion
des ressources humaines. Il existe une version Web et une version mobile (Android/iOS).
• Interface du site : La figure 1.3 représente l’interface d’accueil du site vitrine IceHRM.
Les principales fonctionnalités offertes par l’application, tout en les associant aux acteurs qui
en bénéficient.
• Manager :
— Gérer les employés (ajouter, supprimer et modifier les profils des employés).
— Gérer les clients (enregistrer les informations des clients pour chaque projet).
8
Chapitre 1. Cadre du projet
— Gérer les dépenses (approuver ou ignorer les dépenses enregistrées par les employés).
• Employé :
— Application payante.
— Les liens s’ouvrent rapidement.
— La page d’accueil est trop compliquée.
— L’employé ou l’administrateur peuvent
— L’application dispose deux acteurs
naviguer facilement.
seulement
1.2.3.1 Description
’Snaphrm’ est une application de gestion des ressources humaines pour les petites et moyennes
entreprises, avec lesquelles vous pouvez gérer les congés, les présences, la participation aux événements,
la masse salariale, les dépenses, les projets ...
Il existe une version Web et une version mobile (Android/iOS).
9
Chapitre 1. Cadre du projet
Les principales fonctionnalités proposées par l’application, tout en les reliant aux acteurs qui
en bénéficient.
• Manager :
— Gérer les employés (ajouter, supprimer et modifier les profils des employés).
— Gérer les dépenses (approuver ou ignorer les dépenses enregistrées par les employés).
• Employé :
10
Chapitre 1. Cadre du projet
Après l’analyse de trois applications, nous avons conclu que l’application de la gestion des
ressources humaines doit répondre aux besoins suivants :
• Utiliser le maximum possible d’interface simple et bien organiser pour faciliter l’expérience de
l’utilisateur.
• Faciliter le travail d’un responsable des ressources humaines et aider l’administrateur (PDG de
l’entreprise) à consulter la situation de son entreprise.
• Réaliser une application spécifique ciblant la gestion des ressources humaines d’une mini entreprise
ou d’une startup répondant à certains besoins fonctionnels.
11
Chapitre 1. Cadre du projet
Nous recherchons toujours la méthode la plus efficace et la plus rapide de mettre en œuvre
notre projet. Pour cela, nous utilisons des méthodes agiles. Scrum est le cadre agile le plus simple.
Scrum garantit la meilleure vue d’ensemble de notre projet et vise à réduire les difficultés, telles que
le manque de planification, le travail est effectué à travers un cycle court appelé Sprint. Dans Sprint,
notre équipe travaille à partir d’une liste d’éléments appelée Backlog" [B1].
Nous avons choisit la méthodologie SCRUM qui fait partie de la méthodologie Agile pour
différentes raisons parmi lesquelles :
• La transparence.
• Les besoins ne sont pas bien connus au départ ils ont été changés par la suite.
• La présence du mêlée quotidien qui permet de bien résoudre les problèmes et de trouver des
solutions rapidement.
• Product owner : C’est le représentant des clients et des utilisateurs et c’est lui qui est l’expert
métier de l’équipe. C’est à lui de définir et prioriser la liste des fonctionnalités du produit et
12
Chapitre 1. Cadre du projet
• Scrum master : C’est le garant de la méthodologie de SCRUM, qui garantit que tout le
monde peut maximiser ses capacités en éliminant les obstacles, et en protégeant l’équipe des
perturbations externes. Par ailleurs il garantit que l’équipe chargée du projet adopte les principes
et les valeurs de SCRUM.
• Équipe : L’équipe rassemble tous les rôles généralement nécessaires à un projet, elle est organisée
et reste inchangée pendant la durée d’un sprint.
Conclusion
Dans ce chapitre, nous avons présenté le projet dans son cadre général, nous passons maintenant
à la spécification des besoins.
13
Chapitre 2
Plan
1 Spécification des besoins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2 Diagramme de classe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3 Planification de travail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
4 Architecture de l’application . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
6 Maquette du projet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
7 Difficultés rencontrées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
8 Environnement de travail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Chapitre 2. Analyse et spécification des besoins
Introduction
Dans ce chapitre, nous présentons une analyse des besoins fonctionnels et non fonctionnels de
notre applications en précisant les différents acteurs de notre système, le diagramme de classe et la
planification de travail. Nous allons ainsi présenté l’architecture et les maquettes utilisées.
Dans cette partie, nous allons commencer par définir les différents acteurs qui contribuent dans
notre application ainsi que la définition de leurs rôles.
Dans l’application XHRM, les acteurs sont : Manager, Responsable RH, Employé, Consultant,
Stagiaire. Il faut bien noter que chaque rôle possède les permissions du rôle précédent, par exemple
le consultant peut faire tout ce qu’un stagiaire peut faire et il possède de plus les permissions d’un
consultant et l’employé peut faire tout ce qui peut un consultant et un stagiaire et il a davantage de
permissions.
• Stagiaire C’est une personne saisonnière donc son rôle va lui permet d’avoir le moindre de
permissions tels que marquer la présense et la gestion du profil...
• Employé C’est une personne permanente dans l’entreprise ce qu’il permet d’avoir plus des
permissions que les deux rôles précédents tels que passer une demande de congé ou bien demande
d’achat.
• Responsable RH : C’est qui conseille le personnel des entreprises et coordonne toutes les
activités dans divers domaines des ressources humaines donc son rôle lui permet d’accèder aux
informations des employés de leur entreprise ainsi qu’il peut répondre aux demandes de sortie et
de congé.
15
Chapitre 2. Analyse et spécification des besoins
• Stagiaire :
— Rechercher un utilisateur.
• Consultant :
• Employé :
— Demander un congé.
— Demander un achat.
• Responsable RH :
• Manager :
16
Chapitre 2. Analyse et spécification des besoins
17
Chapitre 2. Analyse et spécification des besoins
La spécification des besoins ne se limite pas à l’identification des acteurs et à la définition des
besoins fonctionnels. D’autres limites doivent être définies pour faciliter l’utilisation, afin de mieux
comprendre la structure et la fonctionnalité et assurer une bonne expérience utilisateur.
Étant donné que notre application Web est destinée aux employés, ses interfaces doivent être
ergonomiques pour faciliter la navigation sur le site et pour que l’utilisateur comprenne les caractéristiques
et la structure.
• L’harmonie et la clarté : Respecter la charte graphique dans notre application est essentiel
pour l’harmonie, la cohérence graphique, la visibilité et la lisibilité des textes et du contenu de
chaque page.
• La rapidité : Le système doit agir rapidement dans les différentes demandes envoyées par les
utilisateurs.
• La sécurité et l’intégrité :
Ci-dessous dans la figure 2.2, nous représentons le diagramme de classe global de notre application.
Nous détaillons ses classes dans chaque sprint.
18
Chapitre 2. Analyse et spécification des besoins
19
Chapitre 2. Analyse et spécification des besoins
Release
Nom du Sprint
ID
La figure 2.3 représente le diagramme de Gantt illustrant la répartition du travail tout au long
de la période de stage.
20
Chapitre 2. Analyse et spécification des besoins
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.
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.
La figure 2.4 représente l’architecture logique de Spring-Boot
21
Chapitre 2. Analyse et spécification des besoins
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 [2] :
• 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é
22
Chapitre 2. Analyse et spécification des besoins
• 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.
• 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.[4] :
On utilise ce patron souvent en utilisant spring boot lors de l’injection de dépendance avec
l’annotation Autowired ou bien Inject.
23
Chapitre 2. Analyse et spécification des besoins
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.[5] :
Nous avons utilisé ce patrons plusieurs fois dans la partie backend avec les classes DTO Data
Transfer Object.
État est un patron de conception comportemental qui permet de modifier le comportement d’un
objet lorsque son état interne change. L’objet donne l’impression qu’il change de classe.[6] :
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.
C’est un patron qui permet d’encapsuler et de centraliser l’accès à la base de données et le lien
entre l’application et le système de stockage. Le plus grand avantage de ce patron est qu’il permet
de mieux maitriser les changements susceptibles d’être opérés sur le système de stockage à savoir une
migration d’un système à un autre. Un objet DAO fournit des opérations basiques (CRUD) comme la
lecture, la mise à jour, la création, l’affichage et la suppression d’une entité sans exposer les détails de
la base de données.
24
Chapitre 2. Analyse et spécification des besoins
il dépend pour faire son travail, il suit de décrire son interface et l’injecteur décide quel composant
concret satisfait les exigences et l’injecte dans l’objet dépendant. Dans une architecture classique,
l’objet dépendant décide lui-même quelles classes concrètes il va utiliser. Dans notre cas, nous avons
utilisé ce patron pour gérer les dépendances entre les objets d’accès aux données et les objets métiers
et entre les objets métiers et les objets service de hauts niveaux.
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.
25
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.
La figure 2.10 représente le schéma de navigation global de l’application il nous montre toutes
les pages de l’application.
26
Chapitre 2. Analyse et spécification des besoins
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 :
• Consultant :
• Employé :
27
Chapitre 2. Analyse et spécification des besoins
• responsable RH :
• Manager :
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
28
Chapitre 2. Analyse et spécification des besoins
• Bitbucket
• 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.[8]
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.
• Discord
Discord permet aux membres de l’équipe de discuter entre eux en tête-à-tête ou en groupe via
un serveur. Nous l’utilisons pour envoyer des messages directs, passer des appels vidéo, discuter
avec la voix et même partager lécran.[9]
29
Chapitre 2. Analyse et spécification des besoins
• 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.[10]
• Spring Boot
• 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.[12]
30
Chapitre 2. Analyse et spécification des besoins
• MySQL Database
MySql est un système de gestion de bases de données relationnelles (SGBDR). Ce système est
distribué sous une double licence GPL(licence publique générale) et propriétaire. Il est parmi les
logiciels de gestion de base de données les plus utilisés au monde.[13]
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.
31
Chapitre 3
Plan
1 Sprint 1 :Module gestion de l’entreprise . . . . . . . . . . . . . . . . . . . . 33
Introduction
Au cours de ce chapitre, nous allons présenter les différentes étapes de réalisation du premier
sprint "Gestion de l’entreprise", et du deuxième sprint "Gestion des utilisateurs et authentification".
Dans cette section nous allons présenter les différents étapes de la réalisation du premier sprint.
L’objectif du premier sprint est de développer le module « Gestion de l’entreprise » qui permet
au manager de gérer le compte de son entreprise (créer ,compléter et modifier) et de créer son propre
compte.
Estimation
Id Fonctionnalités Priorité
(Jour)
33
Chapitre 3. Release 1 : Gestion de l’entreprise et des comptes
— 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 contenir plusieurs
départements.
— 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.
34
Chapitre 3. Release 1 : Gestion de l’entreprise et des comptes
— Un rôle est caractérisé par (id rôle, nom rôle) et peut être attribué à plusieurs utilisateurs.
Dans cette section nous allons présenter les diagrammes UML dynamique pour ce sprint.
35
Chapitre 3. Release 1 : Gestion de l’entreprise et des comptes
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.
Voir les figures 3.4,3.5 et 3.6.
36
Chapitre 3. Release 1 : Gestion de l’entreprise et des comptes
Après l’inscription, l’application emmène le manager vers la page paramètre de l’entreprise pour
qu’il puisse compléter les informations de son entreprise comme nous illustre la figure 3.7.
37
Chapitre 3. Release 1 : Gestion de l’entreprise et des comptes
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
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
39
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.[14]
40
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"
La figure 3.12 représente le diagramme de classe du sprint "Gestion des utilisateurs et authentification"
— 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.
41
Chapitre 3. Release 1 : Gestion de l’entreprise et des comptes
— Un rôle est caractérisé par (id rôle, nom rôle) et peut être attribué à plusieurs utilisateurs.
42
Chapitre 3. Release 1 : Gestion de l’entreprise et des comptes
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 d’un
utilisateur.
43
Chapitre 3. Release 1 : Gestion de l’entreprise et des comptes
44
Chapitre 3. Release 1 : Gestion de l’entreprise et des comptes
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.
45
Chapitre 3. Release 1 : Gestion de l’entreprise et des comptes
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.
Après la validation du formulaire l’utilisateur "Ali" avec le rôle Employé est ajouté avec succès
à l’entreprise de monsieur "Mohamed".
46
Chapitre 3. Release 1 : Gestion de l’entreprise et des comptes
Avec l’ajout de l’utilisateur l’application envoie un email instantanément contenant les coordonnées
de connexion (nom d’utilisateur et mot de passe) vers l’adresse mail fournie dans le formulaire comme
nous indique la figure 3.19.
47
Chapitre 3. Release 1 : Gestion de l’entreprise et des comptes
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.
48
Chapitre 3. Release 1 : Gestion de l’entreprise et des comptes
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.
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.
49
Chapitre 3. Release 1 : Gestion de l’entreprise et des comptes
La figure 3.25 montre "Mohamed" qui va changer le rôle de "Ali" et lui attribuer le rôle
Responsable RH.
50
Chapitre 3. Release 1 : Gestion de l’entreprise et des comptes
Conclusion
51
Chapitre 4
Plan
1 sprint 3 :Module gestion des Congés et des permission des sorties . . . . . 53
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é".
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)
53
Chapitre 4. Release 2 : Gestion d’activité de ressources humaines
Estimation
Id Fonctionnalités Priorité
(Jour)
54
Chapitre 4. Release 2 : Gestion d’activité de ressources humaines
— 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).
55
Chapitre 4. Release 2 : Gestion d’activité de ressources humaines
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.
56
Chapitre 4. Release 2 : Gestion d’activité de ressources humaines
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.
57
Chapitre 4. Release 2 : Gestion d’activité de ressources humaines
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:
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.
58
Chapitre 4. Release 2 : Gestion d’activité de ressources humaines
La figure 4.7 nous montre que la demande de congé passée par Mourad est enregistrée avec
succès.
59
Chapitre 4. Release 2 : Gestion d’activité de ressources humaines
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.
60
Chapitre 4. Release 2 : Gestion d’activité de ressources humaines
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.
61
Chapitre 4. Release 2 : Gestion d’activité de ressources humaines
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é.
On reconnecte maintenant avec le compte de Mourad pour trouver que sa demande a été
acceptée.
62
Chapitre 4. Release 2 : Gestion d’activité de ressources humaines
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é".
Estimation
Id Fonctionnalités Priorité
(Jour)
63
Chapitre 4. Release 2 : Gestion d’activité de ressources humaines
Estimation
Id Fonctionnalités Priorité
(Jour)
La figure 4.14 représente le diagramme cas d’utilisation du sprint "Gestion de présence et compte
rendu d’activité".
64
Chapitre 4. Release 2 : Gestion d’activité de ressources humaines
Figure 4.14 : Diagramme de cas d’utilisation "Gestion de présence et compte rendu d’activité"
La figure 4.15 représente le diagramme de classe du sprint "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).
65
Chapitre 4. Release 2 : Gestion d’activité de ressources humaines
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.
66
Chapitre 4. Release 2 : Gestion d’activité de ressources humaines
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.
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.
67
Chapitre 4. Release 2 : Gestion d’activité de ressources humaines
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.
68
Chapitre 4. Release 2 : Gestion d’activité de ressources humaines
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.
Conclusion
69
Chapitre 5
Plan
1 Sprint 5 :Module gestion d’achats et Dépenses . . . . . . . . . . . . . . . . . 71
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)
71
Chapitre 5. Release 3 : Gestion d’achat et dépenses
72
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.
73
Chapitre 5. Release 3 : Gestion d’achat et dépenses
Dans cette section nous allons présenter le diagramme de séquence système "traiter une demande
d’achat"
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
74
Chapitre 5. Release 3 : Gestion d’achat et dépenses
La figure 5.6 nous montre La nouvelle liste des dépenses périodiques après l’ajout de l’allocation
du bureau.
75
Chapitre 5. Release 3 : Gestion d’achat et dépenses
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.
Les deux prochaines captures vont nous montrer l’utilisateur "Ali" qui va réaliser une demande
d’achat.
76
Chapitre 5. Release 3 : Gestion d’achat et dépenses
77
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.
Dans cette section nous allons présenter les différents étapes de la réalisation du Dashboard.
78
Chapitre 5. Release 3 : Gestion d’achat et dépenses
Estimation
Id Fonctionnalités Priorité
(Jour)
79
Chapitre 5. Release 3 : Gestion d’achat et dépenses
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 :
80
Chapitre 5. Release 3 : Gestion d’achat et dépenses
• 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. Cette section est bien évidemment
visible que pour le responsable RH et le manager.
• La section d’heure et date : Cette section contient l’heure et la date d’aujourd’hui et elle est
visible pour tous les utilisateurs.
• 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.
• La section de l’état du profil : Cette section contient l’état du profil de l’utilisateur ,il va
trouver aussi dans cette section son poste dans l’entreprise et son rôle dans l’application et elle
est visible pour tous les utilisateurs.
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.
La figure 5.13 représente le dashboard de "Maissa" la stagiaire.
81
Chapitre 5. Release 3 : Gestion d’achat et dépenses
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".
La figure 5.14 représente le dashboard de "Mourad" l’employé.
82
Chapitre 5. Release 3 : Gestion d’achat et dépenses
83
Chapitre 5. Release 3 : Gestion d’achat et dépenses
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.
Ensuite on a la statistique des dépenses périodique par an on se rappelle dans la réalisation du
sprint "Gestion d’achat et dépenses" "Mohamed" le Manager a ajouté une dépense périodique pour
l’allocation du bureau avec un montant de 1500 mensuel vous pouvez le 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.
84
Chapitre 5. Release 3 : Gestion d’achat et dépenses
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".
Conclusion
85
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 les membres de l’entreprise.
86
Bibliographie
87
Webographie
[1] « image pour comprendre la méthode Agile Scrum. » [Accès le 02/04/2020]. (2/04/2020), adresse :
https://www.tuleap.org/fr/agile/comprendre-methode-agile-scrum-10-minutes/.
[13] « MySQL Database Service. » [Accès le 26/04/2020]. (26/04/2020), adresse : https : / / www .
mysql.com/fr.
88
Webographie
89
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.