Académique Documents
Professionnel Documents
Culture Documents
2021/2022
Résumé
Ce projet est réalisé au sein de SMARTEO. Il entre dans le cadre de notre ingénierie en génie
logiciel a l’EPI Polytechnique de sousse.. L’objectif principal est de bien gérer le projet avec
tous ses phases de développement ainsi la bonne synchronisation avec l’équipe en choisissons
une méthodologie adéquate .
La méthode du travail adoptée est une méthode agile à savoir le framework Scrum. On a
utilisé le langage de modélisation unifié (UML). Le développement de cette application est
effectué à l’aide des services web et du Framework Angular et nodeJS.
Mots clés : Gestion de projet, Agil, SCRUM, Angular, NodeJS, mongo db, DEVOPS,etc.
Abstract
Remerciements
2
Dédicace
3
Table des matières
Introduction générale 1
2 Gestion de projet 10
1 Le framework "Scrum" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.1 Les caracteristiques de Scrum . . . . . . . . . . . . . . . . . . . . . . 11
1.2 Scrum Team . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.3 Sprint Planning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.4 Daily Scrum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.5 Fonctionnement de GitFlow . . . . . . . . . . . . . . . . . . . . . . . 13
2 ProjeQtOr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3 Discord . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
4
Table des matières 5
4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3 Phase de planification 17
1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2 Identification des acteurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3 Besoins fonctionnels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
4 Besoins non fonctionnels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
5 Diagramme de cas d’utilisation global . . . . . . . . . . . . . . . . . . . . . 19
6 Planification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
7 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
4 Release 1 23
1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2 Le premier Sprint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.1 Backlog du sprint 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.2 Spécification des besoins de sprint 1 . . . . . . . . . . . . . . . . . . 25
2.3 Conception de sprint 1 . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.4 les maquettes sprint 1 . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.5 Review du sprint 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.6 Rétrospective du sprint 1 . . . . . . . . . . . . . . . . . . . . . . . . 36
3.0 Le deuxième sprint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
3.1 Spécification des besoins de sprint 2 . . . . . . . . . . . . . . . . . . 36
3.2 conception sprint2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
3.3 Les maquettes sprint 2 . . . . . . . . . . . . . . . . . . . . . . . . . . 47
3.4 Review du sprint 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
3.5 Rétrospective du sprint 2 . . . . . . . . . . . . . . . . . . . . . . . . 54
5 Release 2 55
1.0 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
2.0 le premier sprint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
2.1 Spécification des besoins de sprint . . . . . . . . . . . . . . . . . . . 55
2.2 conception sprint1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
2.3 Les maquettes sprint 1 . . . . . . . . . . . . . . . . . . . . . . . . . . 60
Table des matières 6
6 Phase de clôture 78
1.0 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
2.0 Environnement de travail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
2.1 Environnement matériel . . . . . . . . . . . . . . . . . . . . . . . . . 78
2.2 Environnement logiciel . . . . . . . . . . . . . . . . . . . . . . . . . . 78
3.0 Technologie utilisée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
3.1 Angular . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
3.2 NodeJS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
3.3 ExpressJS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
3.4 MongoDB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
3.5 Service web REST . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
4.0 Architecture de la solution . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
4.1 Architecture opérationnelle . . . . . . . . . . . . . . . . . . . . . . . . 82
4.2 Architecture applicative . . . . . . . . . . . . . . . . . . . . . . . . . 82
4.3 Architecture Web services . . . . . . . . . . . . . . . . . . . . . . . . 83
5.0 L’approche Devops . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
5.1 Approche d’intégration, livraison déploiement continus . . . . . . . . 85
6.0 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
Conclusion 87
Table des figures
7
Table des figures 8
6.1 MEAN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
6.2 Caption . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
6.3 NodeJS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
6.4 ExpresseJs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
6.5 MongoDB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
6.6 Caption . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
6.7 Architecture MVC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
Table des figures 10
11
Introduction générale
L’amélioration de la qualité de service est un challenge que toute entreprise dans le do-
maine professionnel cherche à atteindre. Afin d’y parvenir, il est primordial d’utiliser de
nouvelles technologies d’informations et de communications afin d’améliorer, d’une part, le
fonctionnement et la visibilité des entreprises, et d’autre part pour garantir la fidélité des
clients. De plus, l’outil informatique gagne de plus en plus de place dans tous les secteurs
d’activité. Chacun déploie l’outil informatique pour optimiser la gestion de toutes les tâches
qui y font partie.
"Attendez-vous au meilleur, planifiez le pire et préparez-vous à être surpris !"
Cette citation de Denis Waitley attire notre attention à l’importance de planification et
adaptation à tout changement qui sont les deux clés pour atteindre l’objectif d’un projet sans
dépasser les dates limite ni le budget dans ce contexte on présente La gestion de projets qui
revient à trouver la réponse à quelques questions cruciales.
D’autre parties, le domaine de publicité avec toutes ses catégories a pleinement profité de
L’informatisation de ses activités et nous ne nous pouvons plus imaginer un tel secteur
démuni des outils logiciels. La publicité digitale désigne initialement la publicité effectuée
sur Internet et ses différents terminaux (ordinateurs, smartphones, tablettes, etc.) et qui se
fait essentiellement sous forme d’affichage publicitaire ou de liens commerciaux. En moins
de 10 ans, la publicité digitale s’est imposée comme le premier levier de communication des
annonceurs.
Pour notre cas, nous avons développé ce dernier type de publicité par le rendre dynamique
et déplaçable et surtout réel « interaction émotionnelle entre la publicité et le client »
L’innovation s’importe au niveau des écrans numériques ou digitaux utilisés pour diffuser
de la publicité en extérieur et qui sont capables d’afficher du texte, des animations, des
images, des vidéos et d’autres informations. Pour la première fois en Tunisie, des panneaux
publicitaires connectés situés sur les taxis
Dans ce cadre se situe notre étude qui concerne à gérer un projet de développement d’une
plateforme pour la gestion des écrans connectés. En effet, ce besoin a été ressenti suite aux
différents problèmes remarqués citons :
— L’estimation le temps de travaille.
— La bonne synchronisation avec l’équipe.
— L’absence de suivie des écrans.
— Le paramétrage des écrans.
1
Introduction 2
Pour résoudre ces problèmes, nous avons fait une étude théorique pour mieux concerner le
contexte de notre travail.
Cette étude fait partie des objectifs du notre rapport qui est subdivisé en cinq chapitres.
Le premier chapitre « Présentation du cadre générale » est consacré à la mise en relief du
cadre de développement de notre application. Au niveau de ce chapitre introductif, nous
allons décrire brièvement notre projet suivi d’une présentation de notre organisme d’accueil.
Nous effectuons par la suite, une étude de la méthode de travail au sein de l’organisation
ainsi afin de l’étudier d’une manière critique et présenter la méthode de travail adéquate, puis
nous étudions l’existant avec une critique de sorte que nous puissions présenter la solution
appropriée et nous présenterons la méthodologie choisie et la modélisation adoptée.
Le second chapitre «Gestion de projet », nous allons commencer par la présentation du
framework scrum avec leur différent évènement et acteur, en deuxième lieu nous présentons
le git flow et finalement notre outil de gestion de projet "Projeqtor".
Le Troisième chapitre «Étude préalable » ce chapitre est basé essentiellement a l’étude
du faisabilité de notre projet en faisons tous les analyses nécessaires. Le quatrième chapitre
«Planification », durent ce chapitre nous allons identifier les acteur de notre platforme ainsi
nos besoins fonctionnelle et non fonctionnelles et le backlog du produit le cinquième chapitre,
constitue le corps de notre application, il est consacré par le développement des releases de
notre système.
Le quatrième chapitre « a phase de clôture », sera notre dernier chapitre où nous allons
détailler tous les outils utilisés pour la conception et le développement de notre projet.
Enfin, nous clôturons ce rapport par une conclusion présentant une récapitulation du tra-
vail et nous exposerons par la suite de nouveaux horizons à ce projet en donnant quelques
perspectives futures.
Chapitre 1
3
2. Présentation de l’organisme d’accueil 4
TAXIORA-PUB (figure1.2) est une société de service de marketing innovant basée sur
l’affichage dynamique des écrans connecter.
3 Étude de l’existant
En achetant les panneaux d’affichage, la société de vente a mis à la disposition de notre
société «SMARTEO» une plateforme gratuite appelée « Ledaips » qui est présenter dans
la figure 1.6 pour gérer ces panneaux en proposant des différentes fonctionnalités. L’étude
de l’existant est consacrée pour étudier la plateforme « Ledaips » qui gère les panneaux
publicitaires. C’est une phase importante pour découvrir les mécanismes et les failles de la
plateforme web afin de pouvoir proposer une solution correspondante.
3. Étude de l’existant 6
Faiblisse
— Certain zone ne retourne pas les cordonner GPS
— On ne peut pas communiquer avec la carte que si elle est connectée.
Opportunité
— développement de nouveau service a forte valeur ajouter
— un marché tunisien libre.
Menaces
— faiblesse des activités économiques
Après la réalisation de cette analyse on indique les points qu’on va l’exploiter pour assurer
la réussite de notre projet ainsi les points qu’on doit travailler plus pour diminuer le risque.
4 Méthodologie de travail
5 Conclusion
Dans ce chapitre, nous avons présenté la société d’accueil, avec une étude de la méthode
de travail ainsi l’existons, tout en effectuer un critique pour bien comprendre les besoins
manque au sein de notre organisme d’accueil ainsi sur le marché, en effet chaque innovation
et baser sur un critique pour terminer avec une proposition d’une méthode de gestion de
projets adéquats. Dans le suivant chapitre, nous présenterons le Framework qui s’adaptera à
la concrétisation de notre projet.
Chapitre 2
Gestion de projet
1 Le framework "Scrum"
Afin de répondre aux besoins évolutifs du besoins, notre choix s’est porté sur le framework
« Scrum». Ce framewok permet surtout de faire face aux différents problèmes qui font surface
lors de l’exécution du projet allant d’une mauvaise planification aux changements fréquents
des besoins.
Ainsi, on a choisi le framewok Scrum, car le développement logiciel est une activité complexe,
et Scrum permet de faire face à cette complexité par l’empirisme et elle a une vraie valeur
ajoutée dans le travail de l’équipe. pour bien appliqué le framework adapté j’ai choisi en pre-
mier lieux de faire une formation pour l’équipe de SMARTEO sur le notions de Agile et scrum.
10
1. Le framework "Scrum" 11
le point fort de Scrum est une petite équipe, la Scrum Team. La Scrum Team se compose
d’un Scrum Master, d’un Product Owner,un proxy product owner et des Développeurs. on
ne peut pas trouver une équipe dans une autre ou bien une hiérarchie entre eux. Il s’agit
d’une seule et même unité stable, composée de professionnels focalisés sur le même objectif
. le figure 2.3 présente notre scrum team :
La mise en page du sprint couvre les sujets suivants L’objectif de Sprint, les éléments du
Product Backlog sélectionnés pour le Sprint, ainsi que le plan pour les livrer, correspondent
à un ensemble appelé le Sprint Backlog.
il est imortant de noter que Le Sprint Planning est limité dans le temps à un maximum de
huit heures pour un Sprint d’un mois. Pour les Sprints plus courts, l’événement est généra-
lement plus court.
2 ProjeQtOr
Aprés une démonstration des fonctionnalités de PROJEQTOR a l’équipe de SMARTEO
nous avons décider de l’utiliser comme outil de gestion des projets pour notre projet.
ProjeQtOr est un Logiciel de gestion de projet open source, qui regroupe dans un outil unique
toutes les fonctionnalités nécessaires à l’organisation de vos projets. Il reste simple, facile à
utiliser au quotidien, tout en couvrant un maximum de fonctionnalités de la gestion de projet.
Sa particularité, outre sa complète, est d’être orienté qualité. Ceci signifie qu’il vous
permet d’enregistrer tous les événements de vos projets, et de simplifier de ce fait la mise en
conformité aux principaux standards de gestion de la qualité
nous utilisons cet outil pour gérée notre product backlog, gérer les rôle et affecter les tache au
développeur, de plus chaque développeur peut tracer chaque jour l’avancement de ces tache
qui nous aidons a suivi l’avancement de tous le projet grâce a des indicateur et le diagramme
de Gant.
3. Discord 15
le figure ci dessou explique les différents fonctionnalités de notre outils de gestion de projet
ProjeQtor [2].
La figure 2.9 présente les différents fonctionamlités offert par projeQtor [2].
3 Discord
Au cour de la réalisation de notre projet nous avons choisir discord, qui est un logiciel
propriétaire gratuit de VoIP et de messagerie instantanée. Il fonctionne sur les systèmes
d’exploitation Windows, macOS, Linux, Android, iOS ainsi que sur les navigateurs web. La
plateforme comptabilise le 21 juillet 2019 plus de 250 millions d’utilisateurs [3], comme outil
de communication entre l’équipe comme montre le figure 2.10,pour la gestion des version avec
git de telle sorte que chaque push chaque membre de l’équipe sera notifier comme represente
la figure suivante
4. Conclusion 16
4 Conclusion
Pendant ce chapitre, nous avons détaillé le cadre de scrum, ainsi que les outils de gestion
de projet que nous utiliserons pour gérer "TAXIORA PANNEAU".Le chapitre suivant sera
dédier pour la spécification des besoins détailler de notre projet qui est la premier activité
du processus unifié.
Chapitre 3
Phase de planification
1 Introduction
La phase de spécification des besoins est une étape primordiale pour realiser une applica-
tion avec succès. Dans ce chapitre, nous identifions d’abord les differents acteurs impliquées
dans notre application ainsi que leurs besoins fonctionnels représente es par les cas d’utilisa-
teur. Ensuite, nous specifions le diagramme de cas d’utilisateur et le Product Backlog. Enfin,
nous presentons les besoins non fonctionnels ‘a prendre en consideration dans la phase de
ddéveloppemen.
Un acteur est une personne, un materiel ou un logiciel qui interagit avec le système afin
d’obtenir une valeur ajoutee. Les acteurs interagissant avec notre système sont :
— Commercial :Le commercial a le même privilège que le designer, mais il peut gérer
des fonctionnalités supplémentaires par rapport au designer qui sont la gestion des
clients, la gestion des taxis, le suivi des écrans et suivi de traçage GPS de l’écran.
17
3. Besoins fonctionnels 18
3 Besoins fonctionnels
Les besoins que notre application doivent répondre à trois volets : ceux propres à l’ad-
ministrateur, le commercial et le designer Dans ce qui suit nous allons présenter toutes les
fonctionnalités : Notre application permet ‘a ses utilisateurs d’effectuer les opérations sui-
vantes :
— Gérer les utilisateurs :L’administrateur peut ajouter un contact comme étant un
autre utilisateur, peut aussi modifier, supprimer, chercher ou consulter un/des utili-
sateur.
— La performance : doit assurer la rapidité des activités et leurs fiabilités et être ca-
pable de manipuler un grand nombre d’enregistrements.
— La maintenabilité : Le code doit être suffisamment clair pour permettre des éven-
tuelles évolutions, améliorations ou corrections.
— Interface graphique et riche :l’utilisateur doit trouver une interface élegante, bien
structure, moderne d’une part et simple ‘a manipuler d’autre part.
Consulter le tableau de
bord (dashboard)
«include»
«include»
Designer Gérer les clients
«include»
«include»
«include»
«extends» «extends»
6 Planification
A partir des réunions, nous avons divisé le projet en des releases et des sprints. Chaque
sprint regroupe à son tour un ensemble de tâches. Nous avons élaboré un calendrier de
réalisation comme montré dans le tableau ci-dessous.
ID sprint Fonctionnalités
Release 1
Sprint 1 :
— lister/Ajouter/modifier/(activer/désactiver)
gestion des utilisateurs
utilisateur
gestion des rôles
— lister/Ajouter/modifier/(activer/désactiver)
login
rôle
Sprint 2 :
gérer les groupes — lister/Ajouter/modifier/
gérer les taxis (activer/désactiver) groupe
suivie des écrans — lister/Ajouter/modifier/(activer/désactiver)
taxi
— éteindre l’écran
— capture d’écran
— message en temps réelle
— interrupteur d’avertissement
Release 2
Sprint 3 :
— consulter tracking
Trace GPS
— consulter historique circulation
Sprint 4 :
— lister/Ajouter/modifier/(activer/désactiver)
gestion des clients
client
Gestion des médias de dash-
— uplode médias
board
— tester médias
— Consulter les statistiques
— Consulter le tableau de bord
7. Conclusion 22
7 Conclusion
Nous avons présenté le Backlog du produit qui sera notre référence fondamentale dans le
reste du travail. Dans l’étape suivante, nous présentons les différents sprints. En partant du
Backlog du produit défini, nous précisons la liste des tâches à exécuter à chaque sprint.
C’est le Backlog Sprint qui est une référence de chaque sprint en passant de l’analyse et la
conception vers la réalisation. Le résultat sera alors un produit partiel testé et potentielle-
ment livrable. Les sprints sont présentés dans les chapitres suivants.
Chapitre 4
Release 1
1 Introduction
Le terme release peut être défini comme une période de temps qui permet de produire une
version distribuée d’une application. Un release est constitué d’une suite d’itérations (sprint)
qui se terminent quand les incréments de ces derniers construisent un produit.
Dans ce chapitre, nous allons présenter le travail réalisé lors du premier sprint comportant
une phase de planification et les différentes taches tout en spécifiant à chaque sprint les
différentes parties : Backlog sprint, analyse des besoins, conception , sprint reviw et sprint
rétrospective
2 Le premier Sprint
Selon la planification établie, le premier Sprint porte principalement sur les cas d’utilisa-
tion suivants :
— « Gérer les utilisateurs »
— « Gérer les rôles »
23
2. Le premier Sprint 24
US2 3
— Api : post add user
— Front : Formulaire d’ajout user
US3 5
— Api :envoie lien pour créer un mot de passe
— Formulaire ajout mot de passe /confirma-
tion mot de passe (prototype figma)
US4 3
— Api :Put edit user
— Formulaire edit (remplir)
US5 3
— Api :Put édit user
— Formulaire édit (remplir)
US6 2
— Api :envoie lien pour créer un mot de passe
— Formulaire champ mail
US7 1
— Api :put édit satus
US8 1/2
— Sélect rôle
US10 — 2
US11 1
— API :get/role
US12 1/2
— (activer/ désactiver role )
2. Le premier Sprint 25
Sommaire
Nom Créer un utilisateur
Objectif La création d’un nouveau utilisateur
Acteur principal L’administrateur
Description des scénarios
Les prés conditions l’administrateur authentifié
Les post conditions Un nouveau utilisateur est ajouté avec
succès
Scénario nominal Scénario alternatif
10.1 L’administrateur n’a pas saisi les
bons identifiant : le système renvoie un
1 Le système affiche la page d’accueil. message d’erreur et signale à le com-
2 L’administrateur choisit la liste des utilisateurs. mercial de recommencer
3 Le système envoie la liste des utilisateurs.
4 L’administrateur choisit l’option
« Ajouter un utilisateur ».
5 Le système retourne le formulaire de
création d’un utilisateur.
6 L’administrateur saisit les informations
des utilisateurs
8 L’administrateur confirme l’ajout.
9 Le système valide les informations saisies.
10 Le système ajoute l’organisation.
Sommaire
Nom Modifier rôle
Objectif Modification du rôle
Acteur principal l’administrateur
Description des scénarios
Les prés conditions l’administrateur authentifié
Les post conditions Un rôle est Modifier avec succès
Scénario nominal Scénario alternatif
L’administrateur n’a pas saisi les bons
identifiant :le système renvoie un mes-
1 Le système affiche la page d’accueil. sage d’erreur et signale à le commercial
2 L’administrateur choisit la liste des rôles. de recommencer
3 Le système envoie la liste des rôles .
4 L’administrateur choisit l’option
« Modifier Rôle ».
5 Le système retourne le formulaire de
l’édition avec les champs remplies .
6 L’administrateur saisit nouveaux les informations
du rôle
8 L’administrateur confirme l’édition .
9 Le système valide les informations saisies.
10 Le système ajoute l’organisation.
Les diagrammes de séquences sont la représentation graphique des interactions entre les
acteurs et le système selon un ordre chronologique dans la formulation UML. Dans ce qui
suit, nous présentons le diagramme de séquence pour chaque cas d’utilisation dans notre
système
2. Le premier Sprint 29
•L’interface d’authentification
Chaque utilisateur de notre application doit s’authentifier.
• Gérer groupe
Un commercial peut gérer les groupes pour les écrans (créer, modifier, supprimer, consulter. . .
etc.) comme montre la figure 4.16 :
Sommaire
Nom désactiver un groupe
Objectif désactiver un groupe
Acteur principal l’administrateur
Description des scénarios
Les prés conditions L’utilisateur authentifié
Les post conditions un groupe est désactiver
Scénario nominal Scénario alternatif
6 L’utilisateur ne peux pas désactiver un
groupe en cas de problème le système renvoie
1 Le système affiche la page d’accueil un message d’erreur et signale au l’adminis-
2 l’administrateur choisi le groupe a désactiver trateur de recommencer
3 Le système envoie un message de confirmation
4 L’utilisateur choisi l’option « valider »
5 Le système retourne un message de succès
Sommaire
Nom lister les écrans
Objectif La création d’un commen-
taire sur une publication a
partir d’une page Facebook
Acteur principal L’utilisateur ou l’adminis-
trateur
Description des scénarios
Les prés conditions L’utilisateur est bien au-
thentifié
Les post conditions la liste des écrans est bien
affiché
Scénario nominal Scénario alternatif
1 Le système affiche la page d’accueil L’utilisateur n’a pas bien insérer le message
2 L’utilisateur choisit le menue suivie écran
3 Le système envoie la liste des écrans
Sommaire
Nom Modifier taxi
Objectif L’administrateur peux mo-
difier un taxi
Acteur principal administrateur
Description des scénarios
Les prés conditions L’utilisateur est authentifié
Les post conditions un taxi est modifier
Scénario nominal Scénario alternatif
8.1 L’utilisateur n’a pas
bien insérer le message : le
1 Le système affiche la page d’accueil système renvoie un message
2 L’utilisateur choisit la page facebook d’erreur et signale au utilia-
pour gérer sa boite de réception teur de recommencer
3 Le système envoie la boite de réception
4 L’utilisateur consulte les messages et
il ouvre la discussion pour envoyer un message
5 L’utilisateur créer un message
7 L’administrateur confirme l’envoie du message
8 Le système valide le message envoyés
Release 2
1.0 Introduction
Dans ce chapitre, nous allons présenter le travail réalisé lors du deuxième release compor-
tant les différentes parties : Backlog sprint, spécification des besoins, conception et réalisation.
Ce Release touche les cas d’utilisation
— « tracking GPS »
— « gestion des clients »
— « gestion des médiats »
— « Gestion de dashboard »
55
2.0. le premier sprint 56
Sommaire
Nom Créer une tâche
Objectif Trace GPS
Acteur principal Administrateur ou commer-
cial
Description des scénarios
Les prés conditions l’administrateur ou com-
mercial authentifié
Les post conditions Le tracage GPS est affiché
Scénario nominal Scénario alternatif
7.1 les informations données
pour faire le filtre ne sont
1 Le système affiche la page d’accueil pas correctes : le système
2 Le commercial choisit le menu Carte renvoi un message d’erreur
3 Le commercial choisit le menu tracking et signale à le commercial
4 Le système affiche l’interface tracage GPS de recommencer
6 Le commercial peut faire un filtre selon le groupe, écran et date
7 Le système affiche le tracage selon votre choix.
A la fin de ce sprint,tous les utilisateurs peuvent consulter le tableau de bord ainsi les sta-
tistiques .
Sommaire
Nom Consulter le tableau
de bord
Objectif La consultation de ta-
bleau de bord
Acteur principal L’utilisateur ou l’ad-
ministrateur
Description des scénarios
Les prés conditions L’utilisateur authenti-
fié
Les post conditions Le tableau de bord est
affiché
Scénario nominal Scénario alternatif
Sommaire
Nom Créer une tâche
Objectif Uploder médias
Acteur principal Administrateur ou commer-
cial
Description des scénarios
Les prés conditions l’administrateur ou com-
mercial authentifié
Les post conditions une nouvelle média est ajou-
ter a la platforme
Scénario nominal Scénario alternatif
7.1 le taille du fichier est très
grand : le système renvoie
1 1 Le système affiche la page d’accueil un message d’erreur et si-
2 Le commercial choisit le menue média gnale à le commercial
3 Le système envoie la liste des médias de recommencer
4 Le commercial choisit le bouton uplode nouveau média
5 Le système affiche le ficher pour choisir médias a partir du pc
6 Le commercial choisie le médias
et valide l’action
7 Le système vérifie le type de fichier (taille ,extention )
8 Le système ajoute le média.
4.1 Conclusion
Dans ce chapitre, nous avons arrivé à l’objectif désiré qui est le fait de pouvoir gérer les
opportunités convenables pour répondre aux besoins fixés pour ce release.
Chapitre 6
Phase de clôture
1.0 Introduction
La phase de clôture est la dernière phase dans le cycle de développement d’un logiciel
avec Scrum.Ce chapitre est consacré donc pour la présentation de l’environnement de travail
utilisé pour la réalisation de notre application.
78
3.0. Technologie utilisée 79
— Gitlab : c’est une plateforme permettant d’héberger et de gérer des projets web de A
à Z. Présentée comme la plateforme des développeurs modernes, elle offre la possibilité
de gérer ses dépôts Git et ainsi de mieux appréhender la gestion des versions de vos
codes sources.
— Pour la conception, nous avons utilisé Draw.io est une application gratuite en ligne,
accessible via son navigateur (protocole https) qui permet de dessiner des diagrammes
ou des organigrammes.Cet outil vous propose de concevoir toutes sortes de diagrammes,
de dessins vectoriels, de les enregistrer au format XML puis de les exporter
— pour la réalisationdes prototypes nous avons uitiliser figma qui est un éditeur gra-
phique baser en ligne .
Nous avons utilisé aussi des Frameworks comme :
— Illustrator : Pour les figures explicatives pour notre rapport nous utilisons Adobe
Illustrator qui est un éditeur graphique vectoriel.Il convient donc parfaitement à la
mise en page, la typographie, les logos.
3.1 Angular
Développé par Google, Angular est un Framework open source écrite en JavaScript qui
permet la création d’applications Web et plus particulièrement de ce qu’on appelle des «
Single Page Applications » : des applications web accessible via une page web unique qui
permet de fluidifier l’expérience utilisateur et d’éviter les chargements de pages à chaque
nouvelle action.Le Framework est basé sur une architecture du type MVC et permet donc de
séparer les données, le visuel et les actions pour une meilleure gestion des responsabilités.[6]
3.2 NodeJS
C’est une plateforme logicielle libre et événementielle en JavaScript basée sur la machine
virtuelle V8 orientée vers les applications réseaux qui doivent pouvoir monter en charge.
Node.js(figure6.3) ayant une performance optimale puisqu’il fonctionne en mode asynchrone
(mode non bloquant).Il est basé sur des boucles événementielles qui lui permettent de sup-
porter de gros volume de requête en même temps et d’une manière efficace.[7]
3.3 ExpressJS
3.4 MongoDB
MongoDB(figure 6.5) est une base de données No-SQL orientée document.Elle se distingue
des bases de données relationnelles par sa flexibilité et ses performances.[9]
REST (Représentationnel State Transfer) est une architecture logicielle de services web
qui permet de construire des applications pour les systèmes distribués comme le world wide
web et intranet.Les API REST sont basées sur HTTP, qui signifie HyperText Transfert
Protocol.C’est ce qui est au cœur de web. Ces APIs sont des méthodes qui définissent les
requetés que le client peut effectuer, dont GET, PUT, POST, DELETE et encore plus.
4.0. Architecture de la solution 82
L’architecture opérationnelle repose sur la distinction entre les différents niveaux phy-
siques de la solution.L’architecture de notre solution est 3-tiers composé d’un client léger, un
serveur d’application et un serveur de base de données :
— Un client léger : Il n’est autre qu’un navigateur web représentant un intermédiaire
entre l’utilisateur et l’application
— Le serveur web : Il englobe toutes les couches de notre application et harmonise le
logique métier avec les données de l’application
— Le serveur de données : Il contient le serveur de base de données.
La figure 6.6 illustre ces trois tiers de notre application :
concept de DevOps repose sur la mise en place d’une culture de collaboration entre des
équipes qui étaient, historiquement, cloisonnées. L’accent est mis sur le changement de men-
talité, la collaboration accrue et une intégration plus poussée.DevOps associe la méthodologie
Agile, l’automatisation, la livraison continue et bien plus encore pour aider les équipes de
développement et opérationnelles à gagner en efficacité, à innover plus rapidement et à offrir
plus de valeur ajoutée aux business et aux clients.
— Compilation : Cette phase consiste à gérer les versions logicielles et à exploiter des
outils automatisés pour compiler et intégrer le code en vue de sa mise en production.
— Test : Cette phase comprend des tests continus, qu’ils soient manuels ou automatisés,
et vise à assurer une qualité de code optimale à l’aide des logiciels JUnit, Codeception,
Selenium, Vagrant, TestNG ou BlazeMeter, par exemple.
— Supervision : Cette phase permet d’identifier les problèmes affectant une version
logicielle en production et de collecter les informations correspondantes à l’aide des
logiciels Datadog, Grafana, Nagios ou Slack, par exemple.
6.0 Conclusion
Au niveau de ce chapitre, nous avons présenté l’environnement matériel et logiciel de notre
projet, l’architecture adaptée et le diagramme de déploiement de notre application. En effet,
ce chapitre engendre la fin du cycle de vie du développement de l’application.Nous obtenons
donc le fruit du travail exécutable et prêt à être utilisé.
Conclusion et perspectives
En se basant sur la formation acquise durant notre cursus universitaire et sur les nouvelles
notions que nous avons pu assimiler au sein de l’entreprise dans laquelle nous avons effectué
notre stage, les objectifs que nous aient été fixés au départ sont en grandes parties atteintes.
Ce stage nous a permis non seulement de mettre en pratique les connaissances théoriques
acquises durant cinq années d’études mais également de maîtriser un ensemble de nouvelles
technologies. Nous avons eu quelques difficultés vu que c’était notre première expérience avec
SCRUM, nous avons consacré beaucoup de temps pour apprendre et maîtriser cette métho-
dologie. Mais malgré toutes les difficultés rencontrées et les contraintes de temps, nous avons
réussi à améliorer nos performances et nos connaissances depuis la conception jusqu’à la réa-
lisation d’un projet en pratiquant nos acquis et en dépassant toutes sorte de problèmes.
Notre travail ne s’arrête pas à ce niveau, en effet la solution développée reste extensible
à tout type d’amélioration et d’ajout de nouveaux modules. Pour ouvrir les horizons, nous
pouvons parler brièvement des améliorations qui peuvent être faites :
-Nous pouvons changer le programme automatiquement selon la position GPS.
-Nous pouvons faire un programme qui regroupe tout les médias ce qui aide a automatiser
les taches .
-Nous pouvons donner lacées au client pour uploder leur médias
-Nous pouvons devolopper une aplication pour les chauffeurs taxi pour signaler un probléme
si éxiste
87
Bibliographie 88
Bibliographie