Académique Documents
Professionnel Documents
Culture Documents
Rapport de Stage
Elaboré Par
Salma MEJRI
En collaboration avec
Introduction générale 1
2
1.1 Problématique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 Etude et critique de l’existant . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.3 Solution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.4 Méthodologie et langage de conception . . . . . . . . . . . . . . . . . . . . . . . 5
1.4.1 Méthodologie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.4.1.1 C’est quoi SCRUM . . . . . . . . . . . . . . . . . . . . . . . . 5
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.4.1.3 Le processus de SCRUM . . . . . . . . . . . . . . . . . . . . . 6
1.4.2 Langage de conception . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2 Sprint 0 8
2.1 Spécification des besoins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
. . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.1.2 Spécifications des besoins fonctionnels . . . . . . . . . . . . . . . . . . . 9
2.1.3 Spécifications des besoins non-fonctionnels : . . . . . . . . . . . . . . . . 10
2.2 Diagramme de cas d’utilisation . . . . . . . . . . . . . . . . . . . . . . . . 12
2.3 Diagramme de . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.4 Pilotage du projet avec SCRUM . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.4.1 Équipe et rôles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.4.2 Le backlog du produit . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.4.3 Structure et découpage du projet . . . . . . . . . . . . . . . . . . . . . . 15
16
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
23
4.1 Environnement de développement : . . . . . . . . . . . . . . . . . . . . . . . . . 24
. . . . . . . . . . . . . . . . . . . . . . . . . . 24
4.1.2 Environnement logiciel . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
ii
4.2 Technologie et . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
4.2.1 Technologies et langages utilisées : . . . . . . . . . . . . . . . . . . . . . . 26
Conclusion générale 28
Bibliographie 29
iii
Table des figures
iv
Liste des tableaux
v
Introduction générale
formation continue de son personnel. Toutefois, gérer et coordonner les inscriptions aux forma-
tions, ainsi que le suivi de leur déroulement, représente un défi logistique de taille. C’est dans
cette perspective que s’inscrit notre mission : concevoir et développer une application mobile
dédiée, qui simplifiera et améliorera significativement la gestion des inscriptions aux
formations pour les employés de TeamWill.
Afin de bien présenter notre travail, le présent mémoire présente six parties :
1
CHaPItre 1
ETUDE PRELIMInaIRE
Plan
1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
3 Solution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Introduction
Ce chapitre s’intitule ‘Etude de projet’ dans lequel nous abordons en premier temps une
analyse de l’étude de l’existant en s’appuyant sur les points forts et faibles pour proposer une
solution afin d’atténuer les problèmes existants. Finalement, nous introduisons le choix de la
méthodologie du travail et le langage de conception choisi.
1.1 Problématique
Au cœur de mon projet de stage réside une question cruciale : comment faciliter et amélio-
rer le processus d’inscription aux formations, tout en permettant aux employés de TeamWill
d’avoir une visibilité claire sur les formations à venir ? Cette problématique découle de la réa-
lité qu’au sein de toute entreprise axée sur la croissance et l’innovation, la formation continue
est un impératif incontournable. Cependant, la gestion des inscriptions aux formations peut
rapidement devenir complexe et chronophage, entravant ainsi la participation des employés et
la performance globale de l’entreprise. De plus, le manque de transparence quant aux forma-
tions à venir limite la capacité des employés à planifier leur développement professionnel. Il
devient alors essentiel de mettre en place une solution qui réponde à ces défis tout en offrant
une expérience utilisateur optimale.
3
Chapitre 1. Etude Preliminaire
En outre, l’absence d’une plateforme numérique dédiée pour la gestion des formations ne
permet pas d’exploiter pleinement le potentiel offert par les technologies actuelles pour auto-
matiser les processus, faciliter la communication, et offrir une expérience utilisateur optimale.
Cette analyse met en lumière les lacunes et les inefficacités du système actuel, démontrant
ainsi la nécessité pressante de notre projet d’application mobile. Notre solution vise à rationa-
liser le processus d’inscription, à éliminer les erreurs potentielles, à centraliser les informations
sur les formations, et à offrir une expérience utilisateur fluide et conviviale. Elle répond ainsi
de manière directe aux défis identifiés dans l’étude de l’existant, en contribuant à la
modernisation
des processus de formation au sein de TeamWill.
4
Chapitre 1. Etude Preliminaire
1.4.1 Méthodologie
Depuis longtemps, les méthodes de développement des projets informatiques étaient basées
sur la planification et le découpage extensifs du projet en lots séquentiels.Néanmoins, le
marché technologique devient de plus en plus concurrentiel et les clients de plus en plus
exigeants. C’est pour cela à la fin des années 90 les méthodes classiques étaient remplacées par
les méthodes agiles ce qui permettent l’implication et la participation active du client tout au
long du projet. En effet, cette approche a été principalement créée pour les projets
informatiques. Mais, elle a pris une grande place même dans des entreprises d’autres domaines
grâce à sa gestion réactive, incrémentale et itérative.
1.4.1.1 C’est quoi SCRUM ?
Scrum est la méthode Agile la plus utilisée de nos jours. Elle est créée en 2002 par Ken
Schwaber et Mike Beedle. Son objectif est d’améliorer la productivité des équipes. Cette ap-
proche est caractérisée par une répartition des tâches à faire, elle s’appuie sur le découpage
d’un projet en « boites de temps » appelées sprints. Ces derniers peuvent durer entre quelques
heures et un mois, chaque sprint se termine par une démonstration du résultat achevé : on
ne peut pas passer d’une tache à une autre qu’après l’analyse attentive de sprint achevé afin
d’améliorer les pratiques du développement et surmonter les lacunes provoquées.
1.4.1.2 Les rôles
• Scrum Master : (chef de mêlée) : Membre de l’équipe dont l’objectif phare est de faciliter
les interactions entre les membres de Scrum, il joue le rôle d’un gardien de la bonne
application en éliminant tous types d’obstacles qui peuvent empêcher l’équipe d’atteindre
les objectifs fixés pour son travail.
5
Chapitre 1. Etude Preliminaire
6
Chapitre 1. Etude Preliminaire
Pour la spécification des besoins, nous allons utiliser UML (Unified Modeling Language).
C’est un langage désigné pour modéliser graphiquement les données et les traitements à base
de pictogrammes. De plus, grâce à sa notation graphique, il permet d’exprimer visuellement
une solution objet, ce qui facilite la comparaison et l’évaluation des solutions.
Conclusion
Au cours de ce chapitre, nous avons introduit le contexte et la problématique de notre projet
suivi d’une étude critique de l’existant. Cette dernière nous a permis de présenter une solution
qui va remédier aux lacunes des applications actuelles en présentant finalement la
méthodologie de travail ainsi que le langage de modélisation. Le chapitre suivant va
s’intéresser au sprint 0 de ce projet.
7
CHaPItre 2
SPRInT 0
Plan
1 Spécification des besoins . . . . . . . . . . . . . . . . . . . . . . . . . 9
3 Diagramme de . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Introduction
Ce chapitre vise à appliquer la méthode Scrum qui sert à organiser le projet, définir ses
fonctionnalités et améliorer la performance de l’application en vue. En premier temps, nous
allons commencer par « Le sprint zéro » qui est la première étape placée au début de chaque
nouveau projet. Cette étape consiste à mettre les bonnes bases, aider l’équipe de se former
et d’apprendre le principe de travail collaboratif. Par la suite, nous spécifions les différents
acteurs, les besoins fonctionnels et non-fonctionnels, le pilotage des projets avec Scrum ainsi
que la planification d’autres sprints.
• Admin
C’est un utilisateur inscrit, Un administrateur peut gérer la partie back office de l’ap-
plication, gérer les formations ,gérer les évènements, Consulter le tableau de bord et les
réclamations etc . . .
• Employés
C’est un utilisateur inscrit. Un employé peut gérer les informations liées à son compte,
consulter les événements ou les formations etc . . ..
Admin :
• Authentification
L’admin peut s’authentifier.
9
Chapitre 2. Sprint 0
Employé :
• S’inscrire
l’employé doit créer un compte
• Authentification
L’Employé peut se connecter à travers : Email(Email TeamWill)/Mot de passe.
• Gestion de profil
l’Employé peut modifier ses informations personnelles.
• Evaluation
Les employés peuvent évaluer les formations auxquelles ils ont participé.
Ces besoins fondamentaux sont des contraintes techniques que notre application doit les
satisfaire :
• La rapidité
le temps d’exécution des différents traitements de l’application doit être aussi proche que
possible du temps réel.
• La performance
Le temps de réponse de l’application doit être le plus court possible.
10
Chapitre 2. Sprint 0
• La sécurité
Nous devons garantir les données.
• La fiabilité
Notre application doit toujours fonctionner sans erreur.
• L’extensibilité
Le système doit garantir la sécurité, la confidentialité des accès, la gestion des utilisateurs
et la traçabilité.
• La maintenance
Pour pouvoir être réutilisé et modifié, le code doit être facile à comprendre et modulaire
• L’ergonomie et la convivialité
L’application doit avoir une interface facile à lire et à comprendre
11
Chapitre 2. Sprint 0
12
Chapitre 2. Sprint 0
L’équipe d’un projet se basant sur Scrum assemble différents membres remplissant des rôles :
• Le Scrum Master : Son rôle est de s’assurer de la coopération des membres et les
protéger des perturbations extérieures.
13
Chapitre 2. Sprint 0
14
Chapitre 2. Sprint 0
Dans ce qui suit, nous présentons le découpage de notre projet en des incréments
regroupant des fonctionnalités et qui sont nommés « Sprints ». Un Sprint dure d’une à
quatre semaines. Il est caractérisé par une publication sur la production de différentes tâches
effectuées. Nous allons détailler les différentes Sprints qui vont aboutir au développement de
notre projet dans la figure ci-dessous.
Conclusion
Dans ce chapitre, nous avons déterminé les spécifications et les exigences de notre applica-
tion.Ainsi, nous avons identifié les rôles de notre équipe scrum suivi du backlog du produit qui
a été découpé en des sprints. Dans ce qui suit, nous allons entamer le premier incrément de
notre application en détaillant les différentes fonctionnalités qui le décrivent.
15
CHaPItre 3
RéaLIsaTIon
Plan
1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Chapitre 3. Réalisation
Introduction
Cette activité est la dernière phase du cycle de développement du sprint. Nous allons ap-
pliquer les pratiques des tests qui permettent de vérifier les résultats obtenus lors de la phase
de développement afin d’assurer une version de bonne qualité. Dans ce qui suit, nous allons
illustrer la phase de développement par des captures d’écrans des fonctionnalités développées.
3.1 Test
17
Chapitre 3. Réalisation
18
Chapitre 3. Réalisation
19
Chapitre 3. Réalisation
20
Chapitre 3. Réalisation
21
Chapitre 3. Réalisation
22
CHaPItre 4
Phase de cLôTURE
Plan
1 Environnement de développement : . . . . . . . . . . . . . . . . . . . 24
2 Technologie et . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Chapitre 4. Phase de clôture
Introduction
Dans le sixième et l’ultime chapitre de notre rapport, nous allons nous intéresser à la phase
de clôture qui est une phase essentielle dans laquelle nous présentons l’environnement matériel
et les logiciels utilisés lors de la réalisation de ce projet.
Le tableau ci-dessous présente les caractéristiques techniques des machines que nous avons
utilisés :
Ordiateur portable 1
Processeur core i7
Ram 20Go
Disque Dur 512Go SSD
Système d’exploitation Windows 10 professionnel
Dans cette section, nous présentons les différentes technologies utilisées pour l’élaboration
de notre projet :
Visual Studio Code est un éditeur de code open-source développé par Microsoft supportant
un très grand nombre de langages grâce à des extensions. Il supporte l’autocomplétion, la
coloration syntaxique, le débogage, et les commandes git.
24
Chapitre 4. Phase de clôture
Visual Paradigm est un logiciel de création de diagrammes dans le cadre d’une programma-
tion. Tout en un, il possède plusieurs options permettant une large possibilité de modélisation
en UML .
Il est basé sur le cloud et nous permet de stocker notre conception en ligne.
OverLeaf est un éditeur du langage LaTeX basé sur le cloud.Cet éditeur nous a permis de
partager le rapport de notre projet et de donner un accès choisi, lire seulement ou modifier avec
le propriétaire du projet.
Latex est un langage de description gratuit, libre et facile à utiliser.Latex nous permet de
nous concentrer sur le contenu du document .Tandis que tout le reste est généré automatique-
ment.
25
Chapitre 4. Phase de clôture
GitHub est une plateforme en ligne qui offre des services d’hébergement et de gestion de
code source, ainsi que des outils de collaboration pour les développeurs de logiciels.[?]
Google Drive est un espace de stockage et de partage de fichiers sur le cloud. Nous l’avons
utilisé pour stocker les versions de notre projet.
26
Chapitre 4. Phase de clôture
Dart est un langage de programmation optimisé pour les applications sur plusieurs plate-
formes. Il est développé par Google et est utilisé pour créer des applications mobiles, de
bureau, de serveur et web.
Flutter est un kit de développement logiciel d’interface utilisateur open-source créé par
Google. Il est utilisé pour développer des applications pour Android, iOS, Linux, Mac, Windows,
Google Fuchsia et le web à partir d’une seule base de code.
Strapi est un système de gestion de contenu (CMS) open source qui permet de créer, de
gérer et de fournir des contenus numériques de manière flexible et personnalisée.
Conclusion :
Dans ce chapitre, nous avons mentionné les différentes technologies et logiciels avec
lesquels nous avons pu développer notre application. Notre choix est principalement axé sur les
nouvelles tendances de l’ingénierie actuelle et du développement . Nous disposons
actuellement d’une version de l’application qui répond aux exigences et aux besoins cités au
début du projet.
27
Conclusion générale
28