Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
Je réserve ces lignes en signe de gratitude et de reconnaissance à tous ceux qui ont contribué
de près ou de loin à la réalisaton de ce projet de fin d’études dans les meilleures conditions.
Mes vifs remerciements s’adressent également à mes enseignants de l’ENIG qui ont contribué
à ma formation durant mon parcours .
Je tiens aussi à remercier les membres de l’honorable jury qui m’ont fait l’honneur de juger
ce travail en espérant qu’ils trouvent les qualités de motivation qu’ils attendent.
TABLE DES MATIÈRES
INTRODUCTION GÉNÉRALE 1
1 Étude Préalable 3
1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2 Présentation de l’organisme d’accueil . . . . . . . . . . . . . . . . . . . . . . 4
1.2.1 Présentation générale de l’entreprise . . . . . . . . . . . . . . . . . . 4
1.2.2 Domaines d’activité et Organigramme hiérarchique de la société . . . 5
1.3 Présentation du projet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.3.1 Problématique et contexte du projet . . . . . . . . . . . . . . . . . . . 6
1.3.2 Objectifs du projet . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.4 Etude de l’existant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.4.1 Présentation de l’existant . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.4.1.1 Applications existantes portant sur la gestion des taches des
employés . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.4.1.2 Applications existantes portant sur la gestion du temps de
travail des employés . . . . . . . . . . . . . . . . . . . . . . 8
1.4.1.3 Applications existantes portant sur le partage des événements 8
1.4.2 Critique de l’existant . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.4.3 Solution Proposée ......................................................................................... 10
1.5 Contexte méthodologique du projet .......................................................................... 11
1.5.1 Le choix de la Méthode Scrum ..................................................................... 11
1.5.2 Rôles et notions ............................................................................................ 12
1.6 Conclusion................................................................................................................. 13
6 Réalisation 59
6.1 Introduction ............................................................................................................... 60
6.2 Architecture et technologies utilisées ........................................................................ 60
6.2.1 Architecture de l’application ........................................................................ 60
6.2.1.1 Étude comparative des architectures ............................................ 60
6.2.1.2 Explication de l’architecture REST API ...................................... 61
6.2.2 Architecture physique ................................................................................... 63
6.2.3 Architecture logique ..................................................................................... 64
6.3 Aspet technique ......................................................................................................... 66
6.3.1 Technologie du frontend............................................................................... 66
6.3.1.1 Dart............................................................................................... 66
6.3.1.2 Flutter ........................................................................................... 66
6.3.2 Technologie du backend .............................................................................. 68
6.3.2.1 NodeJS ......................................................................................... 68
6.3.2.2 NestJS........................................................................................... 68
6.3.3 Base de données .......................................................................................... 70
6.3.3.1 MongoDB.................................................................................... 70
6.3.3.2 Avantages de MongoDB ............................................................. 70
6.4 Présentation de l’environnement ............................................................................... 70
6.4.1 Environnement matériel .............................................................................. 71
6.4.2 Environnement matériel .............................................................................. 71
6.4.2.1 Postman ....................................................................................... 71
6.4.2.2 Visual Studio Code ..................................................................... 71
6.4.2.3 Android Studio ............................................................................ 72
6.4.2.4 MongoDB Compass .................................................................... 72
6.4.2.5 NPM ............................................................................................. 73
6.4.2.6 Serveur de gestion de versions GitLab ......................................... 73
6.4.2.7 StarUML ..................................................................................... 73
6.5 Diagramme de déploiement ...................................................................................... 74
6.5.1 Définition...................................................................................................... 74
6.5.2 Éléments d’un diagramme de déploiement .................................................. 74
6.5.3 Diagramme de déploiement système ............................................................ 74
6.6 Réalisation ................................................................................................................. 75
6.7 Conclusion................................................................................................................. 80
CONCLUSION GÉNÉRALE 81
BIBLIOGRAPHIE 82
LISTE DES FIGURES
5.1 Backlog sprint " Intégration du module emploi du temps " ...................................... 49
5.2 Description textuelle du cas d’utilisation « Remplir son emploi du temps » ............ 50
5.3 Description textuelle du cas d’utilisation « Visualiser emploi du temps » ................ 50
5.4 Backlog sprint " Intégration du module calendrier " ................................................. 52
5.5 Description textuelle du cas d’utilisation « Partager son temps libre » ..................... 53
5.6 Description textuelle du cas d’utilisation « Planifier des événements ».................... 54
5.7 Backlog sprint " Intégration du module rapport et statistique" ................................. 56
5.8 Description textuelle du cas d’utilisation « Gérer les catégories »............................ 57
Durant ces dernières années, les grandes structures multinationales ont réalisé une révolution
informatique par la mise en place de nouveaux outils techniques. Ces outils sont utilisés par la
majorité des entreprises informatiques qui ont développé se savoir-faire. La réalisation de ces
nouvelles applications a changé notre vie personnelle et professionnelle.
Dans le monde professionnel, toute entreprise vise à informatiser et sécuriser leurs données
et aussi à optimiser leur processus de travail. L’utilisation des solutions informatiques notamment
dans la gestion des employés s’avère indispensable.
La gestion de temps des employés et la planification des tâches sont des problèmes majeurs
que l’employé vit toujours. C’est vrai que travailler chaque jour et donner au maximum est
l’objectif principal de l’employeur mais ce dernier peut tomber dans le piège de dispersion
ou blocage ou une mauvaise planification de temps. La planification est aussi importante pour
l’employeur pour suivre la répartition du temps alloué à chaque projet et l’avancement de ceci,
aussi elle leur permet de détecter rapidement les problèmes et les tâches bloquantes pour les
résoudre. La numérisation permet l’analyse des données, les interpréter et assure une meilleure
interactivité entre les collaborateurs et leurs supérieurs ce qui aide à la prise de décision dans
des futurs dossiers et mesurer les performances des agents.
C’est dans ce cadre que s’inscrit notre projet de fin d’études qui consiste à mettre en
place une solution de gestion des employés appelée « My Scheduler » au sein de la société
PIXIMIND. Cette solution doit respecter le cahier de charge fournis et répondre aux besoins
définis afin d’optimiser le bon déroulement de la gestion des ressources humaines, le présent
rapport s’articule autour de six chapitres :
ENIG Page 1
INTRODUCTION GÉNÉRALE
— Le deuxième chapitre est dédié à l’analyse des besoins de notre application, l’identification
de nos acteurs et la planification de notre projet.
— Le dernier chapitre traite les outils technologiques qu’on a utilisés afin de réaliser ce
projet. D’autre ce chapitre précisera le diagramme de déploiement dans lequel doit répondre
notre application puis les structures et les interfaces développées tout le long de ce stage.
Enfin, nous clôturons ce rapport par une conclusion générale ainsi que les perspectives de notre
travail.
ENIG Page 2
Chapitre
1
Étude Préalable
Sommaire
1.1 Introduction.................................................................................................... 4
1.2 Présentation de l’organisme d’accueil ................................................ 4
1.2.1 Présentation générale de l’entreprise . . . . . . . . . . . . . . . 4
1.2.2 Domaines d’activité et Organigramme hiérarchique de la société 5
1.3 Présentation du projet ............................................................................... 6
1.3.1 Problématique et contexte du projet . . . . . . . . . . . . . . . 6
1.3.2 Objectifs du projet . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.4 Etude de l’existant ........................................................................................7
1.4.1 Présentation de l’existant . . . . . . . . . . . . . . . . . . . . . 7
1.4.2 Critique de l’existant . . . . . . . . . . . . . . . . . . . . . . . . 9
1.4.3 Solution Proposée ................................................................................ 10
1.5 Contexte méthodologique du projet ................................................... 11
1.5.1 Le choix de la Méthode Scrum ........................................................... 11
1.5.2 Rôles et notions ................................................................................... 12
1.6 Conclusion ..................................................................................................... 13
ENIG Page 3
ÉTUDE PRÉALABLE
1.1 Introduction
L’étude préalable constitue une étape préliminaire pour la réalisation d’une application.
En effet, elle permet d’analyser, d’évaluer et de critiquer le fonctionnement habituel, tout en
élaborant la liste des solutions possibles.
Ce chapitre sera réservé pour l’étude préalable de notre projet. Nous commencerons d’abord
par présenter l’organisme d’accueil. Ensuite, nous enchaînerons avec une description générale
de notre projet tout en détaillons la problématique, le contexte du projet et les objectifs à
atteindre. après, nous analyserons quelques solutions existantes sur le marché en discutant leurs
avantages et leurs inconvénients. L’analyse et le critique de l’existant nous ont permis de cerner
nos objectifs afin de développer un système de qualité dans le futur. Ce chapitre sera clôturé par
une présentation de la méthodologie adoptée tout au long de ce projet.
Dans cette partie, nous allons présenter l’entreprise PixiMind qui représente l’organisme
d’accueil durant notre projet de fin d’études, tout en détaillant ses activités
ENIG Page 4
ÉTUDE PRÉALABLE
• Test et validation, ou ils mettent l’accent sur la charte du code source et l’intégration des tests
unitaires dans toute chaine de production.
ENIG Page 5
ÉTUDE PRÉALABLE
Nous présentons la problématique et le contexte de notre projet ainsi que les objectifs à
atteindre.
Actuellement, la gestion des employés et de leurs plannings dans la société PixiMind se fait
manuellement avec le logiciel Excel. Celui-ci présente beaucoup de limites. En effet, l’utilisation
d’un programme comme Excel risque également d’augmenter les chances de perdre des fichiers
en les supprimant accidentellement ou suite à une panne système. Un autre problème des feuilles
de calcul qu’elles sont isolées du reste d’organisation, ce qui rend difficile la collaboration. En
fait, le tableur ne permet ni de collaborer, ni de communiquer efficacement entre les membres
d’une équipe car il ne facilite pas les échanges spontanés et les réponses directes et ne favorise
pas les discussions ou le partage d’idées. avec Excel, il est impossible de travailler simultanément.
Chacun doit donc travailler sur son propre tableur, puis les informations doivent être mises en
commun, ce qui engendre une véritable perte de temps et un risque de perdre des données.
Afin de remédier aux différents problèmes cités, la société PixiMind a besoin de réaliser une
application Web qui va automatiser la gestion des employés et de leurs plannings.
ENIG Page 6
ÉTUDE PRÉALABLE
L’étude de l’existant constitue une étape fondamentale dans tout projet. Elle consiste à
étudier les solutions existantes dans le marché afin de dégager leurs avantages et leurs inconvénients.
À travers cette étude, nous allons proposer notre solution
1.4.1.1 Applications existantes portant sur la gestion des taches des employés
Redmine :
Redmine est une application de management de projet en ligne et de partage de ressources. Elle
a été développée par Jean-Philippe Lang et mise sur le marché en 2006. Redmine apporte une
véritable méthodologie au travail collaboratif car il permet de l’organiser et de gérer son suivi.
Les membres du projet peuvent voir un aperçu de qui travaille sur le projet ainsi que son rôle.
Chaque tâche possède un fil de discussion permettant d’enrichir les échanges.
ENIG Page 7
ÉTUDE PRÉALABLE
1.4.1.2 Applications existantes portant sur la gestion du temps de travail des employés
Toggl Track :
Toggl Track est un logiciel de suivi de temps développé par la société Toggl basée à Tallinn
en Estonie. Il offre des services de suivi et de rapport de temps en ligne via un site web, des
applications mobiles ou de bureau. Toggl Track permet un suivi de temps en fonction des tâches
et des projets, soit par une minuterie interactive soit par une entrée manuelle de la donnée.
Google agenda :
Google agenda est un outil Google permettant d’avoir un agenda en ligne (disponible sur un
ordinateur ou un smartphone) qui peut être partagé ou publié sur un site web. Cet outil permet
de partager un agenda des événements et réunions d’une association, de connaître le planning
des collaborateurs et de mettre en place un planning de réservation de ressources (une salle par
exemple).
ENIG Page 8
ÉTUDE PRÉALABLE
Avantages Inconvénients
• Open source .
• Compatible avec de nombreux
ENIG Page 9
ÉTUDE PRÉALABLE
• La version gratuite de
• Le partage de calendrier
• Partager des réunions avec une ou
n’est pas évident à paramétrer,
plusieurs personnes très facilement.
surtout lorsque l’un des participants
• Faire des rappels des rendez-vous
n’a pas d’adresse mail Google.
Google Calendar par mail et ou notification.
• L’agenda est en ligne
• Renouveler un événement de
donc son utilisation est plus
manière hebdomadaire, mensuelle,
contraignante qu’un agenda papier,
annuelle.
sauf si on a un smartphone.
A la lumière de cette étude, PIXIMIND a pris la décision de mettre en place une solution qui
pallie aux limites des solutions existantes. La solution proposée rassemble diverses fonctionnalités
comme la gestion des taches, de temps de travail des employées ainsi que la planification
et le partage des événements ce qui conduit à un gain de temps considérable ainsi qu’une
ENIG Page 10
ÉTUDE PRÉALABLE
réduction des coûts de l’entreprise. Elle va faciliter aux employés de gérer leurs plannings au
sein de l’entreprise, au chef de projet de contrôler son équipe et à l’administrateur de gérer les
employés.
La grande évolution dans le domaine du développement est accompagnée par une évolution
des moyens assurant le bon fonctionnement de ce dernier. D’où l’apparition des méthodes agiles
permettant d’organiser le cycle de développement des projets informatiques. Les méthodes
agiles sont basées sur des principes communs définis dans l’agile Manifesto qui est rédigé
par des experts dans ce domaine. Ils se reposent essentiellement sur une approche itérative
incrémentale et adaptative évoluant en parallèle avec les besoins du client, afin de livrer un
produit de qualité. Il existe plusieurs méthodes agiles, à savoir, la méthode RUP , la méthode
XP et la méthode SCRUM .
Dans la majorité des projets, il est difficile d’anticiper les attentes du client. Ceci nous
oriente vers une approche itérative permettant de s’adapter aux exigences du client au fur et à
mesure de l’avancement du projet. Pour ce faire, nous avons choisi d’adopter la méthode Scrum.
aujourd’hui, Scrum est la méthode agile la plus utilisée. Elle permet de produire une solution
de la plus haute qualité dans des bref délais. Cette méthode est munie des atouts suivants :
. • Meilleur vue d’ensemble du projet : nous avons une vue globale sur l’avancement du projet
par tous les membres des différentes équipes avec un traitement régulier des problémes rencontrés
durant chaque phase.
• Mise à jour des priorités : le client, qui n’est pas nécessairement un informaticien, n’a pas
toujours une vision complète sur le produit final. Pour cela, et grâce à la composition séquentielle
du contenu des sprints, il bénéfice d’une flexibilité au niveau de la définition, de l’évolution des
priorités et des séquences d’activités.
ENIG Page 11
ÉTUDE PRÉALABLE
• Qualité du produit mise en avant : Cette méthode repose sur une évaluation régulière du travail,
ce qui permet un meilleur traitement des problèmes, une meilleure productivité et un produit
satisfaisant.
Le cadre méthodologique de Scrum est constitué comme le montre la figure d’une définition
des rôles, un rythme itératif, des artefacts et des réunions précises et limités dans le temps .
Les rôles :
• Le Product Owner : Il s’agit généralement d’un expert du domaine métier du projet, il travaille
en interaction avec l’équipe de développement en spécifiant les fonctionnalités à développer et
leur priorité.
des principes et des valeurs de Scrum, cherche à faciliter la communication au sein de l’équipe
et auprès du Product Owner et à améliorer la productivité et le savoir-faire de son équipe.
ENIG Page 12
ÉTUDE PRÉALABLE
Le rythme itératif :
• Le Sprint : Le cycle de vie Scrum est rythmé par des itérations ayant une durée de 2 à 4
semaines. C’est la période durant laquelle un incrément du projet est réalisé.
Les artefacts :
• Product Backlog : C’est un référentiel des exigences dressées avec le client que l’équipe doit
réaliser. Cet ensemble de ”User Stories” listé dans le backlog scrum sont classés par priorité
indiquant l’ordre de leur réalisation.
• Sprint Backlog : C’est une sélection des ”User Stories” du backlog produit que l’équipe doit
livrer à la fin du sprint.
Les réunions :
• Planification du Sprint : au cours de cette réunion, l’équipe de d´développement évalue avec le
« Product Owner », les éléments du « Product Backlog » selon leur priorité et choisi les tâches
à effectuer au cours du sprint.
• Mêlée quotidienne : Il s’agit d’une réunion quotidienne de 15 minutes au maximum, au cours
de laquelle l’équipe de développement discute leur avancement dans le projet.
• Revue de Sprint : au cours de cette réunion qui a lieu à la fin du sprint, l’équipe valide le
travail livré en se basant sur les feedbacks du Product Owner, elle anticipe aussi le périmètre
des prochains sprints.
1.6 Conclusion
Le chapitre suivant aura pour objet de dégager les acteurs de la solution envisagée, les besoins
fonctionnels et non fonctionnels ainsi nous allons présenter les notions primordiales de la phase
de développement de ce travail.
ENIG Page 13
Chapitre
2
Analyse et spécification des besoins
Sommaire
2.1 INTRODUCTION ....................................................................................... 15
2.2 Spécification des besoins .........................................................................15
2.2.1 Identification des acteurs .................................................................... 15
2.2.2 Besoins fonctionnels ................................................................................. 16
2.2.3 Besoins non fonctionnels .................................................................... 17
2.3 Pilotage du projet avec SCRUM ........................................................... 18
2.3.1 Backlog Produit ................................................................................... 18
2.3.2 Découpage et planification des sprints ............................................... 21
2.4 Conclusion ..................................................................................................... 22
ENIG Page 14
ANALYSE ET SPÉCIFICATION DES BESOINS
2.1 INTRODUCTION
La réussite de tout projet dépend de la qualité de son départ. De ce fait, ce chapitre sera
consacré à l’analyse et la spécification des besoins de notre projet. Nous commencerons par
l’identification des acteurs, ensuite, nous présenterons les besoins fonctionnels et les besoins
non fonctionnels du projet et nous finirons par présenter le backlog product.
Dans cette section, nous définissons en détails l’ensemble des fonctionnalités offertes par
notre application. Tout d’abord, Nous commençons par l’identification des acteurs. Puis, nous
allons énumérer les différents besoins fonctionnels et non fonctionnels auxquels notre application
doit répondre :
• Chef de projet :
ENIG Page 15
ANALYSE ET SPÉCIFICATION DES BESOINS
• Membre de projet :
Les besoins fonctionnels sont les fonctionnalités que le système doit fournir à ses utilisateurs.
L’outil n’est considéré opérationnel que s’il garantit la disponibilité de ses fonctionnalités. Dans
ce qui suit, nous repérons les besoins fonctionnels que notre application doit satisfaire :
• Accès sécurisé à l’application avec authentification de l’utilisateur selon son droit d’accès.
• Gestion des Employées.
• Gestion des entreprises internes.
• Gestion des Projets.
ENIG Page 16
ANALYSE ET SPÉCIFICATION DES BESOINS
Capacité fonctionnelle
• Exactitude : présenter des résultats précis et juste
• Sécurité : Concerne l’accès non autorisé aux fonctions du logiciel.
La facilité d’utilisation
• Facilité de compréhension : Détermine la facilité avec laquelle les fonctions des systèmes peut
être comprissent et interprétés par l’utilisateur.
• Facilité d’apprentissage : Représente l’effort pour différents utilisateurs (novices, occasionne
ou expert) à apprendre le logiciel.
• Facilité d’exploitation : Représente la capacité du logiciel à être facile à utiliser au quotidien
par un utilisateur donné dans un environnement donné.
Fiabilité
• Facilité d’analyse : Caractérise la capacité d’identifier la cause première d’un échec dans le
logiciel
• Tolérance aux pannes : Capacité du logiciel de fonctionner dans un environnement dégradé
après une erreur.
La performance
• Comportement temporel :Temps de réponse des transactions.
• Utilisation des ressources : Ressources utilisées, à savoir la mémoire, processeur, disque et
l’utilisation du réseau.
Maintenabilité
• Facilité d’analyse : Caractérise la capacité d’identifier la cause première d’un échec dans le
logiciel.
• Facilité de modification : Effort pour effectuer un changement pour adapter le logiciel aux
nouveaux besoins (un plus grand nombre d’utilisation, une utilisation plus intensive)
ENIG Page 17
ANALYSE ET SPÉCIFICATION DES BESOINS
• Stabilité : Sensibilité aux changements qui pourrait causer des nouvelles défaillances.
• Testabilité : Caractérise l’effort nécessaire pour vérifier un changement.
Portabilité
• Facilité d’adaptation : Capacité à migrer le logiciel (ex : d’un environnement de test vers de
production)
Dans cette section, nous présentons les fonctionnalités du backlog product qui seront par la
suite planifiées dans des sprints.
Le Backlog product est un recueil des besoins qui peut évoluer au fur et à mesure que le
produit ou le service est développé. Il est composé par des user stories plus ou moins abouties.
Ce n’est pas un document exhaustif, Au contraire, nous pouvons toujours ajouter des détails
descriptifs ou des critères d’acceptation supplémentaires. Avec le Backlog Produit, les intentions
du projet se transforment en commandes explicites. Cette approche fonctionnelle réunit sur des
fiches tout ce que doit savoir l’équipe agile :
• Les besoins.
• Les améliorations.
• Les correctifs à apporter.
La rédaction d’une user story rend le besoin utilisateur simple et compréhensible. Cette phrase
Et en tant que qualité de coach agile, on inspecte les user stories et les tâches grâce aux
grilles de critères INVEST et SMART. La grille des critères INVEST permet de motiver les
ENIG Page 18
ANALYSE ET SPÉCIFICATION DES BESOINS
membres de l’équipe à modifier ou à mieux reformuler l’énoncé d’une user story. Une bonne
user story est :
Nous pouvons ainsi évaluer la pertinence des tâches avec la grille de critères SMART :
• Specific → toute votre équipe comprend ce qu’il y a à faire.
• Mesurable → votre équipe sait comment s’assurer que la tâche est réalisée.
• Achievable → votre équipe dispose de tous les moyens pour réaliser la tâche.
• Relevant → la tâche participe bien à la concrétisation de la user story.
M- Must have this : Il s’agit véritablement des points critiques, pas de question à se poser, ils
doivent être traités en priorité. Dans le cas contraire, le succès du projet en souffrira et mènera
à son échec. Ces exigences sont non négociables.
S- Should have this if at all possible : : ces points apportent une vraie valeur ajoutée et/ou leur
importance contribue à l’atteinte des objectifs. La différence avec les Must Have réside souvent
dans le fait que leur traitement peut être différé dans le temps après celui des points prioritaires.
ENIG Page 19
ANALYSE ET SPÉCIFICATION DES BESOINS
Dans ce cas, leur classement est assimilable à la case "Important mais non urgent " de la matrice
importance-urgence. Et doivent ainsi être traités dans la mesure du possible.
C- Could have this if it does not affect anything else : c’est bien de les avoir, peuvent être
retirés des priorités si des choix doivent être faits. Généralement, ils font partie des "petits plus"
qui contribuent à la satisfaction client pour un coût très modéré. Des exigences additionnelles
de confort.
W- Won’t have this time but would like in the future : Ils sont exclus du projet, mais font
partie des points qui restent dans les cartons pour un traitement ou une intégration ultérieure.
les collaborateurs.
Modifier, supprimer
8 Chef de projet Gérer les tâches M
et affecter des tâches aux employés.
ENIG Page 20
ANALYSE ET SPÉCIFICATION DES BESOINS
Donner au superviseur
de la journée.
Informer le superviseur
12 Membre de projet Rédiger son rapport de l’avancement et S
Sprint 1 2 3 4 5 6 7 8 9
Période en semaine 2 2 2 2 2 2 2 2 2
Une fois que nous avons identifié le backlog product, nous avons mis en place une réunion de
planification. Le but de cette réunion est de créer des backlogs de sprint basés sur le backlog
product tout en tenant compte de la priorité, de la complexité et des valeurs ajoutées des user
stories dans l’application. A l’issue de la réunion, nous avons déterminé la durée estimée des
travaux à effectuer lors de chaque sprint. Pour ce fait nous avons développé notre projet en trois
releases. Chaque release est constituée par trois sprints
ENIG Page 21
ANALYSE ET SPÉCIFICATION DES BESOINS
2.4 Conclusion
Durant ce chapitre, nous avons définit les acteurs et leurs rôles, les besoins fonctionnels et
non fonctionnels de notre application. Nous avons planifié notre projet selon la méthodologie
adoptée ainsi que la présentation de backlog product et les sprints réalisés. Dans le chapitre
suivant nous passons au développement de la première release
ENIG Page 22
Chapitre
3
Release 1 : Gestion des données de base
Sommaire
3.1 Introduction.................................................................................................. 24
3.2 Planification.................................................................................................. 24
3.3 Sprint 1 : S’authentifier ........................................................................... 24
3.3.1 Backlog sprint...................................................................................... 24
3.3.2 Analyse des besoins .................................................................................. 25
3.3.3 Conception ................................................................................................ 26
3.4 Sprint 2 :Intégration du module Employé ...................................... 28
3.4.1 Backlog sprint...................................................................................... 28
3.4.2 Analyse des besoins .................................................................................. 28
3.4.3 Conception ................................................................................................ 29
3.5 Sprint 3 :Intégration du module Entreprise .................................. 31
3.5.1 Backlog sprint...................................................................................... 31
3.5.2 Analyse des besoins .................................................................................. 31
3.5.3 Conception ................................................................................................ 33
3.6 Conclusion ..................................................................................................... 35
ENIG Page 23
RELEASE 1 : GESTION DES DONNÉES DE BASE
3.1 Introduction
Une release présente une période pendant laquelle un produit sera livré. Elle est composée
par une suite de sprints successifs. Ce chapitre vise le traitement de notre premier release qui
est composé de trois sprints, chacun ayant une période bien déterminée.
3.2 Planification
Le premier release est constituée par trois sprints exprimés dans la figure 3.1
Le but de ce sprint est d’implémenter la partie authentification. Nous spécifions les tâches
utilisateurs incluses dans ce sprint à partir du backlog de sprint. Ensuite, nous continuons à
analyser, concevoir et traiter ce sprint.
Le backlog de sprint est un ensemble des scénarios identifiés par l’équipe Scrum à exécuter
pendant le sprint.
ENIG Page 24
RELEASE 1 : GESTION DES DONNÉES DE BASE
La partie analyse des besoins d’un sprint se décrit par le diagramme de cas d’utilisation de
ce sprint ainsi leur description textuelle.
Le diagramme de cas d’utilisation représente un ensemble des actions qu’un acteur peut
réaliser ou accomplir en interaction avec les différents acteurs du système. Le diagramme de
cas d’utilisation du premier sprint est exprimé dans la figure 3.2 :
Pour mieux lire notre diagramme des cas d’utilisation, les concepteurs d’UML proposent
une technique qui sert à décrire le comportement du système informatique appelé la description
textuelle. De ce fait, nous allons présenter les descriptions textuelles de nos cas d’utilisation via
le tableau ci-dessous.
ENIG Page 25
RELEASE 1 : GESTION DES DONNÉES DE BASE
à l’utilisateur.
3.3.3 Conception
Le diagramme de séquence est une représentation dynamique des différents scénarios qui
s’exécutent entre les objets de l’application selon un point de vue temporel. On présente dans
la figure 3.3 le diagramme de séquence pour le cas d’utilisation "S’authentifier".
ENIG Page 26
RELEASE 1 : GESTION DES DONNÉES DE BASE
Un diagramme de classe produit une version logique du système à travers une représentation
statistique des différentes classes nécessaires pour l’application avec les relations entre ces
dernières (association, généralisation, agrégation...). Le diagramme est composé de deux classes
(Employé, Compte).
ENIG Page 27
RELEASE 1 : GESTION DES DONNÉES DE BASE
La description textuelle de cas d’utilisation"Gérer les utilisateurs " est présentée dans le
tableau suivant :
ENIG Page 28
RELEASE 1 : GESTION DES DONNÉES DE BASE
acteur administrateur
TABLE 3.4 – Description textuelle du cas d’utilisation :"Gérer les employés "
3.4.3 Conception
L’administrateur pourrait ajouter un à plusieurs scénarios dans notre application. La figure 3.6
présente le diagramme de séquence pour les cas d’utilisation « ajouter Employé », « supprimer
Employé » et « visualiser les détails de l’employé ».
ENIG Page 29
RELEASE 1 : GESTION DES DONNÉES DE BASE
Le diagramme de classe du cas d’utilisation "ajouter un nouveau employé" est exprimés dans la
figure 3.7 .
ENIG Page 30
RELEASE 1 : GESTION DES DONNÉES DE BASE
ENIG Page 31
RELEASE 1 : GESTION DES DONNÉES DE BASE
Le tableau suivant présente la description textuelle de cas d’utilisation « Gérer les entreprises ».
acteur administrateur
Scénario alternatif Erreur lorsque l’administrateur oublie de saisir l’un des champs .
ENIG Page 32
RELEASE 1 : GESTION DES DONNÉES DE BASE
acteur administrateur
Scénario alternatif Erreur lorsque l’administrateur oublie de saisir l’un des champs .
3.5.3 Conception
La figure 3.9 présente le diagramme de séquence pour les cas d’utilisation « Supprimer
Entreprise », « ajouter les membres à l’entreprise » et « Modifier entreprise ».
ENIG Page 33
RELEASE 1 : GESTION DES DONNÉES DE BASE
La figure 3.10 présente le diagramme de classes de sprint 3 qui se compose de deux classes
(Entreprise et Employé) et d’une classe d’association (Détail). Une classe d’association est
une classe à la jonction de deux autres classes. Elle porte des informations, que l’on appelle
« attributs », qui sont en dépendance directe des deux autres classes et qui ne pourraient se
mettre ni dans l’une, ni dans l’autre.
ENIG Page 34
RELEASE 1 : GESTION DES DONNÉES DE BASE
3.6 Conclusion
Dans ce chapitre, nous avons délivré le premier release de notre projet avec lequel nous avons
intégré les 3 sprints : « L’authentification des différents utilisateurs », « La gestion des employés
» et « La gestion des entreprises ». Il nous manque les phases de mise en place des procédures
de travail et l’implémentation des outils de supervision qui seront étudiés dans les chapitres
suivants.
ENIG Page 35
Chapitre
4
Release 2 : Mise en place des
procédures de travail
Sommaire
4.1 Introduction.................................................................................................. 37
4.2 Planification.................................................................................................. 37
4.3 Sprint 4 :Intégration du module projet ........................................... 37
4.3.1 Backlog sprint...................................................................................... 37
4.3.2 Analyse des besoins .................................................................................. 38
4.3.3 Conception ................................................................................................ 39
4.4 Sprint 5 : Intégration du module tâches ......................................... 40
4.4.1 Backlog sprint...................................................................................... 40
4.4.2 Analyse des besoins .................................................................................. 40
4.4.3 Conception ................................................................................................ 42
4.5 Sprint 6 : Intégration du module catégorie .................................... 44
4.5.1 Backlog sprint...................................................................................... 44
4.5.2 Analyse des besoins .................................................................................. 44
4.5.3 Conception ................................................................................................ 46
4.6 Conclusion ..................................................................................................... 46
ENIG Page 36
RELEASE 2 : MISE EN PLACE DES PROCÉDURES DE TRAVAIL
4.1 Introduction
Après avoir terminé le premier release de notre application, nous pouvons commencer le
traitement nécessaire pour réaliser le deuxième release. Dans ce chapitre, nous présenterons les
trois sprints « Intégration du module projet », « Intégration du module tache » et « Intégration
du module catégorie » tout en détaillant le backlog de chaque sprint et la partie conception. .
4.2 Planification
Le second release est composé de trois sprints, définit dans la figure suivante :
Intégration du module Préparer les API et les interfaces nécessaires pour que
ENIG Page 37
RELEASE 2 : MISE EN PLACE DES PROCÉDURES DE TRAVAIL
Acteur Administrateur
ENIG Page 38
RELEASE 2 : MISE EN PLACE DES PROCÉDURES DE TRAVAIL
4.3.3 Conception
La figure 4.3 présente le diagramme de séquence pour les cas d’utilisation « Ajouter projet » et
FIGURE 4.3 – Diagramme de séquence de cas d’utilisation : « Ajouter projet » et « Assigner des
membres au projet »
La figure 4.4 présente le diagramme de classe de sprint 4 qui se compose de trois classes
(Entreprise, Employé et Projet) , d’une classe d’association (Poste) et de quatre classes qui
ENIG Page 39
RELEASE 2 : MISE EN PLACE DES PROCÉDURES DE TRAVAIL
héritent de cette classe associative. Pour chaque projet, on assigne le product owner, le scrum
master, le team lead et le dev team parmi les employés de l’entreprise à laquelle le projet
appartient.
ENIG Page 40
RELEASE 2 : MISE EN PLACE DES PROCÉDURES DE TRAVAIL
1.L’utilisateur accède à l’interface des tâches pour avoir la liste des tâches
assignées et crées.
Scénario nominal 2 L’utilisateur peut affecter des tâches à des employés, les supprimer et les modifier
3.L’utilisateur choisit l’action à faire et la valide.
4.La mise à jour est effectuée par le back-end de l’application
Scénario alternatif Un message d’erreur est sorti lorsqu’il y a un manque des options sur les flux
ENIG Page 41
RELEASE 2 : MISE EN PLACE DES PROCÉDURES DE TRAVAIL
1.L’employé accède à l’interface des tâches pour obtenir une liste de ses tâches.
Scénario nominal 2 L’employé peut modifier seulement les champs de « work hour » et « progress »
4.4.3 Conception
La figure 4.6 présente le diagramme d’état de transition pour les cas d’utilisation « suivie
tâches»
ENIG Page 42
RELEASE 2 : MISE EN PLACE DES PROCÉDURES DE TRAVAIL
La figure 4.7 présente le diagramme de classes de sprint 5 qui se compose de trois classes
(Projet, Employé et Tache).
ENIG Page 43
RELEASE 2 : MISE EN PLACE DES PROCÉDURES DE TRAVAIL
ENIG Page 44
RELEASE 2 : MISE EN PLACE DES PROCÉDURES DE TRAVAIL
Acteur Administrateur
2. L’administrateur peut ajouter une catégorie en lui attribuant l’un des types
Scénario alternatif Erreur lorsque l’administrateur oublie de saisir l’un des champs .
ENIG Page 45
RELEASE 2 : MISE EN PLACE DES PROCÉDURES DE TRAVAIL
4.5.3 Conception
La figure 4.9 présente le diagramme de classes de sprint 6 qui se compose de deux classes
(Catégorie et Tache).
4.6 Conclusion
Dans ce chapitre, nous avons délivré le deuxième release de notre projet avec lequel nous avons
intégré les trois sprints : « intégration du module projet », « intégration du module tache »
et « La gestion des catégories ». Il nous manque la phase de l’implémentation des outils de
supervision qui sera étudié dans le chapitre suivant qui sera réserver pour la troisième release.
ENIG Page 46
Chapitre
5
Release 3 :Implémentation des outils
de supervision
Sommaire
5.1 Introduction..................................................................................................48
5.2 Planification..................................................................................................48
5.3 Sprint 7 :Intégration du module emploi du temps ......................48
5.3.1 Backlog sprint...................................................................................... 48
5.3.2 Analyse des besoins .................................................................................. 49
5.3.3 Conception ................................................................................................ 51
5.4 Sprint 8 : Intégration du module calendrier ................................. 52
5.4.1 Backlog sprint...................................................................................... 52
5.4.2 Analyse des besoins .................................................................................. 52
5.4.3 Conception ................................................................................................ 54
5.5 Sprint 9 : Intégration des modules rapport et statistique ......... 56
5.5.1 Backlog sprint...................................................................................... 56
5.5.2 Analyse des besoins .................................................................................. 57
5.5.3 Conception ................................................................................................ 58
5.6 Conclusion ..................................................................................................... 58
ENIG Page 47
RELEASE 3 :IMPLÉMENTATION DES OUTILS DE SUPERVISION
5.1 Introduction
Après avoir terminé le premier et le deuxième release de notre application, nous pouvons
commencer le traitement nécessaire pour réaliser le troisième release. Dans ce chapitre, nous
présenterons les trois sprints « Intégration du module emploi du temps », « Intégration du
module calendrier » et « Intégration des modules rapport et statistique » tout en détaillant le
backlog de chaque sprint et la partie conception.
5.2 Planification
La troisième release est constituée de trois sprints exprimés dans la figure 5.1
ENIG Page 48
RELEASE 3 :IMPLÉMENTATION DES OUTILS DE SUPERVISION
Visualiser les emplois du temps Préparer les interfaces nécessaires pour que l’administrateur
TABLE 5.1 – Backlog sprint " Intégration du module emploi du temps "
Le tableau suivant présente la description textuelle de cas d’utilisation « Remplir son emploi
du temps».
ENIG Page 49
RELEASE 3 :IMPLÉMENTATION DES OUTILS DE SUPERVISION
acteur Employé
correspondant à celle-ci.
Scénario nominal 3. L’employé choisit l’action à faire et la valide.
« Work Hours » et « Total Break » depuis les lignes entrées par l’employé.
Scénario alternatif Erreur lorsque l’employé oublie de saisir l’un des champs
TABLE 5.2 – Description textuelle du cas d’utilisation « Remplir son emploi du temps »
acteur administrateur
2. clique sur l’icône « Détail » puis sur le bouton « Last Time Sheet ».
Scénario nominal
3. Le système lui dirige vers le dernier emploi du temps de chaque employé.
4. clique sur le bouton « Time Sheet » affiche tous les plannings de chaque employé
ENIG Page 50
RELEASE 3 :IMPLÉMENTATION DES OUTILS DE SUPERVISION
5.3.3 Conception
La figure 4.3 présente le diagramme de séquence pour les cas d’utilisation « ajouter projet » et
FIGURE 5.3 – Diagramme de séquence d’ajout d’une ligne dans un "time sheet"
La figure 5.4 présente le diagramme de classes de sprint 7 qui se compose de quatre classes
(Emploi du jour, Employé, catégorie et ligne). :
ENIG Page 51
RELEASE 3 :IMPLÉMENTATION DES OUTILS DE SUPERVISION
ENIG Page 52
RELEASE 3 :IMPLÉMENTATION DES OUTILS DE SUPERVISION
Le tableau présente la description textuelle de cas d’utilisation « Partager son temps libre ».
Objectif Ce cas d’utilisation permet au membre du projet de partager son temps libre.
Scénario alternatif Erreur lorsque le membre du projet oublie de saisir l’un des champs.
TABLE 5.5 – Description textuelle du cas d’utilisation « Partager son temps libre »
ENIG Page 53
RELEASE 3 :IMPLÉMENTATION DES OUTILS DE SUPERVISION
2. L’utilisateur consulte l’icône « Détail » pour voir le temps libre des employés.
Scénario alternatif Erreur lorsque l’utilisateur oublie de saisir l’un des champs
5.4.3 Conception
La figure 5.6 présente le diagramme d’activité pour les cas d’utilisation « planification d’une
réunion ».
ENIG Page 54
RELEASE 3 :IMPLÉMENTATION DES OUTILS DE SUPERVISION
ENIG Page 55
RELEASE 3 :IMPLÉMENTATION DES OUTILS DE SUPERVISION
Le tableau 5.7 présente le backlog du sprint "Intégration du module rapport et statistique "
ENIG Page 56
RELEASE 3 :IMPLÉMENTATION DES OUTILS DE SUPERVISION
Scénario alternatif Erreur lorsque l’administrateur oublie de saisir l’un des champs .
ENIG Page 57
RELEASE 3 :IMPLÉMENTATION DES OUTILS DE SUPERVISION
5.5.3 Conception
5.6 Conclusion
Dans ce chapitre, nous avons délivré le troisième release de notre projet avec lequel nous avons
intégré les trois sprints : « intégration du module emploi du temps», « intégration du module
calendrier » et « La gestion des rapports ». Il nous manque la phase de réalisation qui sera
étudiée dans le chapitre suivant.
ENIG Page 58
Chapitre
6
Réalisation
Sommaire
6.1 Introduction................................................................................................. 60
6.2 Architecture et technologies utilisées .............................................. 60
6.2.1 Architecture de l’application ............................................................... 60
6.2.2 Architecture physique.......................................................................... 63
6.2.3 Architecture logique ............................................................................ 64
6.3 Aspet technique........................................................................................... 66
6.3.1 Technologie du frontend ..................................................................... 66
6.3.2 Technologie du backend .................................................................... 68
6.3.3 Base de données ................................................................................. 70
6.4 Présentation de l’environnement ........................................................ 70
6.4.1 Environnement matériel ..................................................................... 71
6.4.2 Environnement matériel ..................................................................... 71
6.5 Diagramme de déploiement .................................................................. 74
6.5.1 Définition .................................................................................................. 74
6.5.2 Éléments d’un diagramme de déploiement ........................................ 74
6.5.3 Diagramme de déploiement système .................................................. 74
6.6 Réalisation ..................................................................................................... 75
6.7 Conclusion .................................................................................................... 80
ENIG Page 59
RÉALISATION
6.1 Introduction
Le chapitre réalisation expose la derniere étape de notre projet. Dans ce chapitre, nous
décrivons l’architecture de notre application ainsi que l’environnement et les outils necessaire
qui facilite la réalisation de notre projet. Ensuite, nous définissons le diagramme de déploiement
et nous terminerons par la présentation des différents interfaces de notre application.
Afin de choisir l’architecture la plus compatible pour notre projet, nous avons réalisé une
étude comparative, illustrée par le tableau 6.1, entre les trois architectures les plus connues.
Formatage flexible
Données de requête
avantages Bien établi et bien des données basé
flexibles
connu sur des entités
Point de terminaison de
unique
ENIG Page 60
RÉALISATION
Nous avons proposé de suivre l’architecture api REST. Mais avant d’expliquer cette
architecture on doit tout d’abord définir le terme API.
ENIG Page 61
RÉALISATION
La figure 6.1 présente l’architecture du REST aPI, dans laquelle, les client ou les
consommateurs de service envoient des requêtes HTTP au serveur qui utilise l’architecture
REST, tout en spécifiant le type d’opération en utilisant les verbes HTTP correspondants :
ENIG Page 62
RÉALISATION
1. Client : c’est la couche présentation qui s’occupe par le simple affichage et quelques
traitements locaux exécutés coté client par le navigateur.
3. Serveur de base de données : c’est la couche responsable de garantir l’intégrité des données.
Il se charge principalement de servir les besoins du serveur d’application.
La figure 6.2 montre l’architecture 3-tiers .
ENIG Page 63
RÉALISATION
• La centralisation de données.
• L’accès à l’information se fait à travers une couche intermédiaire ce qui fortifie la sécurité de
donnée.
• La séparation en plusieurs couche augmente la performance par le partage des tâches sur les
différents niveaux.
ENIG Page 64
RÉALISATION
Modèle : couche de modélisation du système. Son objectif principal est de gérer les règles
métier du système et les données persistantes. Il est responsable de la communication avec la
base. Le Modèle est chargé de manipuler les données entre les différents éléments du module.
Vue : il est responsable de la couche d’affichage des informations utilisateur, comme la page
du produit et le formulaire de contact. Contrôlé par des fichiers de disposition (Layout) qui
assemblent des blocs, des conteneurs et des composants d’interface utilisateur dans une page
à afficher par un navigateur Web. Les blocs (Block) sont soutenus par du code PHP pour
générer du contenu de page dynamique. Ils sont généralement associés à des fichiers de modèle
PHTML (Template) facilement personnalisables pour générer des fragments de HTML qui
sont assemblés dans la page.
Contrôleur : Contrôleur : il s’agit de la couche qui définit les principales actions, demandes
et réponses des clients susceptibles de modifier l’état du modèle et de générer des vues de
données de la couche de modèle. Les contrôleurs contrôlent les flux de pages et l’orchestration
de la soumission des formulaires.
ENIG Page 65
RÉALISATION
En ce qui concerne la partie frontend j’ai travaillé avec Flutter version 2.8.2 basé sur le
langage Dart.
6.3.1.1 Dart
Dart est un langage de programmation orienté objet à usage général avec une syntaxe de
style C. Il est open-source et développé par Google en 2011. Le but de la programmation Dart
est de créer une interface utilisateur frontale pour les applications Web et mobiles. C’est un
langage important pour créer des applications Flutter. Le langage Dart peut être compilé à la
fois aOT (ahead-of-Time) et JIT (Just-in-Time).
6.3.1.2 Flutter
ENIG Page 66
RÉALISATION
Avantages de Flutter :
Les avantages populaires du framework Flutter sont les suivants :
• Développement multiplateforme : cette fonctionnalité permet à Flutter d’écrire le code une
seule fois, de le maintenir et de l’exécuter sur différentes plateformes. Cela permet d’économiser
du temps, des efforts et de l’argent aux développeurs.
• Développement plus rapide : Les performances de l’application Flutter sont rapides. Flutter
compile l’application en utilisant la bibliothèque arm C/C++ qui la rapproche du code machine
et donne à l’application une meilleure performance native.
• UI Focused : Il possède une excellente interface utilisateur car il utilise un widget centré sur
la conception, des outils de développement élevé, des aPI avancées.
• Documentation : Flutter a un très bon support de documentation. Il est organisé et plus
informatif. Nous pouvons obtenir tout ce que nous voulons écrire en un seul endroit.
ENIG Page 67
RÉALISATION
En ce qui concerne la partie backend j’ai travaillé sur la version 6 du framework NestJS basé
sur NodeJS.
6.3.2.1 NodeJS
Node.js est une plateforme logicielle libre en JavaScript orientée vers les applications réseau
événementielles hautement concurrentes qui doivent pouvoir monter en charge. Elle utilise
la machine virtuelle V8, la librairie libuv pour sa boucle d’évènements, et implémente sous
licence MIT les spécifications CommonJS. Parmi les modules natifs de Node.js, on retrouve
http qui permet le développement de serveur HTTP. Il est donc possible de se passer de
serveurs web tels que Nginx ou apache lors du déploiement de sites et d’applications web
développés avec Node.js. Concrètement, Node.js est un environnement bas niveau permettant
l’exécution de JavaScript côté serveur.avec cet environnement on peut créer rapidement une
application nécessitant peu de calculs et pouvant accueillir un nombre de requêtes à la seconde
très conséquent.
6.3.2.2 NestJS
NestJS est un framework Node.js progressif pour créer des applications côté serveur
efficaces, fiables et évolutives. Le framework va offrir les avantages de JavaScript avec sa
flexibilité et ses nombreuses librairies tout en incluant les concepts d’architectures modulaires
et de nombreux design-patterns. Pour réussir à ajouter ce concept d’architecture mature et
modulable à Node.js, NestJS va s’appuyer sur TypeScript aussi. NestJS applique les principes
de la programmation orientée objet, de la programmation fonctionnelle et la programmation
ENIG Page 68
RÉALISATION
fonctionnelle asynchrone. NestJS utilise par défaut le framework de serveur HTTP Express
mais il est possible d’utiliser d’autre framework comme Fastify. Express met en place
une infrastructure permettant de gé- nérer des serveurs web HTTP très facilement à l’aide
de méthodes HTTP utilitaires. Utiliser Express permet donc de continuer à utiliser les
fonctionnalités de Node.js. .
• Les providers : sont appelés par les controllers ou par d’autres providers. C’est dans ces classes
que le code le plus complexe d’une fonctionnalité va être développé.
• Les modules : permettent d’organiser la structure de l’application et la répartition du code.
En règle générale, un module va regrouper le controller et les providers spécifiques à une
fonctionnalité.
• NestJS qui offre une surcouche TypeScript à Node.js, devient donc une alternative solide à
Java et PHP.
ENIG Page 69
RÉALISATION
6.3.3.1 MongoDB
MongoDB est un système de gestion de base de données orienté document qui peut être
distribué sur n’importe quel nombre d’ordinateurs et n’a pas besoin d’un schéma de données
prédéfini. Il est écrit en C++. Le serveur et les outils sont distribués sous licence SSPL, les
pilotes sous licence apache et la documentation sous licence Creative Commons4 . Il fait partie
de la mouvance NoSQL.
• Installation simplifiée.
• Rentable.
• Support technique complet et documentation.
Afin d’accomplir notre projet, nous avons eu recours à un environnement matériel et logiciel.
ENIG Page 70
RÉALISATION
6.4.2.1 Postman
PostMan est un logiciel permettant de tester vos aPI mais aussi de les enregistrer. C’est-à-
dire qu’au lieu de tester vos aPI sur votre navigateur et de découvrir vos informations non
formalisées, vous allez utiliser postman pour tester les requêtes, les voir sous le bon format et
aussi enregistrer la requête.
Visual Studio Code est un éditeur de code extensible développé par Microsoft pour
Windows, Linux et macOS. Les fonctionnalités incluent la prise en charge du débogage, la mise
en évi- dence de la syntaxe, la complétion intelligente du code, les snippets, la refactorisation
du code et Git intégré.
ENIG Page 71
RÉALISATION
Propose une interface graphique pour MongoDB, vous permettant d’envisager de nouvelles
perspectives de gestion de vos bases de données NoSQL orientées documents. MongoDB Com-
pass vous permet de garder la main sur vos données confidentielles ainsi que de vous connecter
à un serveur MongoDB local.
ENIG Page 72
RÉALISATION
6.4.2.5 NPM
Npm est le package manager de NodeJS mais c’est aussi la plus grande bibliothèque de
projets open sources au monde. NPM est l’abréviation de Node Package Manager, qui est un
outil gérant les bibliothèques de programmation Javascript pour Node.js.
GitLab est un serveur Git plus moderne et complet, il est une forge fonctionnant sur
GNU/Linux. Il permet de gérer des dépôts Git ainsi que les utilisateurs et leurs droits d’accès
aux dépôts.
6.4.2.7 StarUML
StarUML est un logiciel de modélisation UML, qui a été « cédé comme open source »
par son éditeur, à la fin de son exploitation commerciale (qui visiblement continue ...), sous
une licence modifiée de GNU GPL. StarUML gère la plupart des diagrammes spécifiés dans la
norme UML 2.0. StarUML est écrit en Delphi1, et dépend de composants Delphi propriétaires
(non open-source). .
ENIG Page 73
RÉALISATION
6.5.1 Définition
— Les noeuds : sont les éléments logiciels ou matériels du système (tels que les machines,
les membres d’équipes ou les serveurs ...), décrit généralement par un cube ou une boite.
— Les composants : présentés par desp arallélépipède qui montrent les éléments logiciels.
— Les associations : sont des traits qui définient et joignent les liens d’échange des donnés
entre les différents parties de système.
ENIG Page 74
RÉALISATION
6.6 Réalisation
Dans cette partie, nous allons exposer les interfaces les plus importantes de notre projet.
— Interface d’authentification
Un formulaire se compose de deux champs "Email" et "Password" pour saisir les données
nécessaires, avec un bouton "Log In" pour les valider.
ENIG Page 75
RÉALISATION
ENIG Page 76
RÉALISATION
ENIG Page 77
RÉALISATION
La figure ci-dessous montre la liste des taches à réaliser ainsi que les taches assignées aux
autre membres .
L’utilisateur peut partagé son temps libre chaque jour afin de planifier les réunions et éviter
toute sorte de chevauchement . La figure ci-dessous montre le calendrier d’un employé.
ENIG Page 78
RÉALISATION
Emploi du temps
Chaque employé doit remplir son emploi du temps chaque jour. La figure ci-dessous montre
l’interface du "time sheet".
ENIG Page 79
RÉALISATION
6.7 Conclusion
Au niveau de ce chapitre, nous avons définis les technologies et les outils utilisés dans
notre projet. Dans la seconde partie nous avons exposé le diagramme de déploiement de notre
application. on conclu avec une présentation de notre travail avec des captures d’écran où on
décrit les fonctionnalités de chaque interface de notre projet.
ENIG Page 80
CONCLUSION GÉNÉRALE
En guise de conclusion, ce projet était une véritable opportunité pour apprécier et enrichir
notre formation à L’école nationale d’ingenieurs de Gabes (ENIG) en apprenant des nouvelles
technologies. Il était aussi, un véritable clé d’accès vers les meilleures perspectives de la future
vie active et professionnelle.
Les différentes étapes d’élaboration de notre solution ont été exposées à travers le présent
rapport. Nous avons commencé par présenter notre projet dans son cadre général, puis nous
avons présenté les spécifications des besoins fonctionnels et non fonctionnels, auxquels devra
répondre notre application. Une fois la conception élaborée, nous avons exposé le travail
effectué à travers quelques captures d’écran.
Dans notre projet, nous avons pu développer plusieurs fonctionnalités répondant aux
besoins de « PIXIMIND ». Comme perspective, nous visons à améliorer notre projet par
l’intégration d’une version mobile. L’objectif de cette intégration est de faciliter l’accés pour
les employés.
Pour conclure, ce projet était vraiment une importante station dans notre vie sociale et aussi
professionnelle. Chose sentis et approuvé durant la période du projet et à travers l’esprit collectif
stimulant le travail par groupe.
ENIG Page 81
BIBLIOGRAPHIE
[2] www.blog.nicolashachet.com/developpement-php/larchitecture-rest-expliquee-en-5-
regles/, L’architecture REST expliquée en 5 règles, Nicolas Hachet, Consulté le
20/03/2022.
[3] www.zestedesavoir.com/tutoriels/1280/creez-une-api-rest-avec-symfony-3/un-tour-
dhorizon-des-concepts-rest/, Un tour d’horizon des concepts REST, BestCoder, Consulté
le 20/03/2022.
ENIG Page 82