Académique Documents
Professionnel Documents
Culture Documents
RAPPORT DE STAGE
En vue d'obtenir le diplôme de Licence Fondamentale en Informatique de Gestion
Soutenu Le : .../.../2021
Maitre de Stage
Encadrant académique
Besbes Salsabil
2
Résumé :
Lors de mon stage au sein de l'équipe Devoteam, j’ai eu l'opportunité de développer mes
compétences en travaillant sur une application de gestion et de staffing recommandée par le
manager.
Cette application est un tableau bord qui aidera à gagner du temps et à organiser le travail.
Par conséquent, la méthodologie utilisée est Scrum et le langage de programmation est java.
Je voudrais présenter le projet mentionné dans ce rapport en étudiant tous ses aspects.
Mots -clés :
Abstract :
During the internship within the Devoteam team, I had the opportunity to develop my skills
by working on a production and staffing management application proposed by the manager.
This application is a Dashboard that saves time and helps organize work.
So, the methodology used is Scrum and the programming language is PHP.
I would like to present to you this project in question in this report by studying all its aspect
Key Words :
Product Backlog, employe, use cas Diagram, Sprint Backlog, sequence Diagram, Scrum, Class
Diagram
3
Dédicace
Je dédie ce travail à :
Mon très cher père, Nulle dédicace ne saurait exprimer mon profond amour et l’immense
respect que je te porte.
Tes conseils pertinents ont toujours guidé mes pas vers la réussite, ta patience sans fin, ta
compréhension et ton encouragement sont pour moi le soutien indispensable que tu as
toujours su m’apporter. J’espère que tu trouveras dans ce travail le fruit de ton indulgence et
de tes sacrifices.
Ma très chère mère, Je ne trouverai jamais les mots pour t’exprimer ma grande
reconnaissance pour la joie, l’amour, la tendresse et le bonheur que tu n’as cessé de m’offrir
depuis ma naissance.
Tes prières qui m’ont accompagné au fil des années de travail et d’effort ont été pour moi les
stimulants quotidiens et la motivation affective nécessaire.
Tu as toujours été mon refuge tout en étant présente pour m’écouter, m’encourager, me
consoler et prévenir le moindre de mes besoins.
Que cette thèse soit le témoignage de mon immense amour et de mon humble
reconnaissance pour les nombreux sacrifices que tu as convertis à notre égard. Que dieu
t’accorde bonne santé et longue vie.
Mon cher frère, Tu garderas toujours une place de choix dans mon cœur.
Que ce travail soit pour toi l’expression de ma grande affection et de mon indéfectible
attachement.
4
A la douce mémoire de mes grands-parents, J’aurais aimé partager ces moments avec vous,
j’espère avoir réalisé l’un de vos rêves.
Que dieu vous accorde son pardon et vous fasse miséricorde, que dieu vous épargne de tout
châtiment.
Reposez en paix.
Je voudrai exprimer toute ma reconnaissance envers mes amis qui m’ont apporté leur soutien
moral et intellectuel durant mon cursus scolaire.je vous remercie du fond du cœur pour vote
aide précieuse.
5
Remerciement
Je tiens à remercier les autorités académiques en général et les autorités d’Esprit School of
Business en particulier de m’avoir accordé l’occasion d’effectuer ce stage très profitable à ma
formation.
Tous mes remerciements sont également à madame salsabil besbes mon encadrante pour son
attention constante et ses conseils avisés.
Vous m’avez fait un grand honneur en acceptant de diriger ce travail. En espérant avoir été à
la hauteur de la confiance que vous m’avez accordée, je vous exprime à travers ce travail, ma
profonde gratitude et ma reconnaissance pour l’aide et les conseils que vous m’avez prodigué
ainsi que pour le savoir que vous m’avez inculqué.
Rien ne pourra vous exprimer chère madame, ma reconnaissance pour toute votre générosité.
J’ai fait appel à votre jugement, connaissant votre expérience, votre sens du savoir et votre
compétence qui n’ont cessé de m’impressionner.
Je saisis pareillement l’occasion pour remercier monsieur zied ben Youssef mon maitre de
stage pour ses conseils toujours pertinents, de son soutien sans faille et surtout pour ses
qualités humaines.
Vous avez gracieusement accepté à contribuer à ce projet et je vous suis très reconnaissante.
Enfin, un grand MERCI à toute ma famille qui m’a gratifié de son amour et fourni les
motivations qui ont permis l’aboutissement de mes entreprises. Je leur adresse toute ma
gratitude du fond du cœur.
6
Tables de matières
Introduction...........................................................................................................................................16
1. Présentation Devoteam............................................................................................................16
1.1 Présentation générale........................................................................................................16
1.2 Fiche technique .................................................................................................................16
1.3 Organigramme Devoteam..................................................................................................17
2. Etude de l’existant ....................................................................................................................17
3. Problématique..........................................................................................................................18
4. Objectif de stage ......................................................................................................................19
5. Choix de la méthodologie .........................................................................................................19
5.1 Les méthodes agiles ...........................................................................................................19
5.2 La méthodologie SCRUM ...................................................................................................20
Conclusion .........................................................................................................................21
Introduction ..........................................................................................................................................23
Introduction...........................................................................................................................................32
1. Architecture .............................................................................................................................32
2. Environnement de travail .........................................................................................................33
7
2.1 Choix technologiques ................................................................................................................33
2.2 Environnement logiciel ..............................................................................................................34
2.2.1 Wampserver.....................................................................................................34
2.2.2 Bootstrap..........................................................................................................34
2.2.3 Visual Studio ....................................................................................................35
2.2.4 Eclipse ..............................................................................................................35
Conclusion .......................................................................................................36
Introduction ......................................................................................................................................38
Introduction .......................................................................................................................................49
8
2.3 Interface Liste des congés.............................................................................................52
2.4 Interface demande de congé........................................................................................52
2.5 Interface enregistrement de la demande de congé.....................................................53
2.6 Interface de responsable de production.......................................................................53
Conclusion ....................................................................................................................54
Conclusion general........................................................................................................55
Webographies...............................................................................................................56
9
Table de figures
Figure 7 : Angular.....................................................................................................................33
Figure 9 : WampServer.............................................................................................................34
Figure 12 : Eclipse....................................................................................................................35
10
Figure 23 : Interface création projet........................................................................................46
11
Liste des tableaux
12
Introduction Générale
« Le temps c’est de l’argent » dit Benjamin Franklin, De nos jours le temps est si précieux
chaque secondes, minutes compte.
Dans un monde où le rythme est accéléré, le stress représente une routine et le temps a de la
valeur.
Les entrepreneurs subissent une pression énorme ce qui les poussent à consacrer plus
d’énergie et de temps afin de suivre l’évolution technologiques afin d’être le mieux adapté à
être concurrentiel.
L’agilité d’une entreprise c’est sa façon d’évoluer d’une façon itérative et continu en se basant
sur l’intelligence collective.
D'une certaine manière, c'est l'inspiration qui nous permet de créer de nouvelles solutions.
Devoteam, bien qu’une équipe dynamique où les relations sont basées sur le partage, la
communication et l’entraide. Néanmoins, la production de staffing semble être moins
efficiente.
13
Le deuxième chapitre « Analyse et spécification des exigences » comprend l’analyse des
exigences fonctionnels et non fonctionnels de l’application.
En plus d’afficher les diagrammes de cas d’utilisation global et de classe, le backlog produit et
l’organisation des sprints.
Pour finir, les deux derniers chapitres ‘Release 1’ et ‘Release 2’ présentent les sprints du
projet.
Nous clôturons ce rapport par une conclusion générale et une exposition des perspectives du
travail.
14
Chapitre 1 : Contexte du travail
15
Introduction
1 Présentation Devoteam
1.1Présentation générale
C’est une boite de Consulting Française fondée en 1995 qui possédé plus de 8 000
collaborateurs dans 18 pays en Europe et Moyen- orient.
Récemment, Elle s’est implantée sur le marché tunisien et elle est dirigée par Tarek Akrout.
16
1.3. Organigramme Devoteam
La figure 1 ci-dessous présente l’organigramme de l’entreprise Devoteam
2.Etude de L’existant
Pour avoir une étude détaillée sur l’entreprise Devoteam, nous avons choisi de travailler avec
la méthode d’analyse SWOT.
17
- Menaces : Principaux facteurs négatifs de l’environnement de l’entreprise qui risquent
de compromettre le succès.
- Opportunités : Principaux facteurs positifs de l’environnement de l’entreprise qui
favorisent le succès.
3. Problématique
La problématique posée par l’entreprise est l’absence d’une plateforme qui permet de gérer
l’avancement et la gestion des ressources humaines et financières.
En effet, les ressources humaines sont gérées de manière préhistorique.
L’ajout d’employés, la suppression d’employés et la modification des données d’employés se
font manuellement, de la part du responsable des ressources humaines.
18
4. Objectif Du Stage
Le présent projet a pour but de réaliser une application web de projets pour l’équipe de
Devoteam Tunisie qui désire avoir une vision bien détaillée de ses ressources humaines,
Pouvoir initier un projet, le suivre dans le temps en respectant les coûts et le délai et affecter
à chaque employé un rôle bien précis pendant une durée.
5.Choix de la méthodologie
5.1 Les méthodes agiles
19
Crystal Clear -Une communication Non recommandé s'il y a
efficace de l'équipe. des conflits au sein des
-Flexibilité. équipes.
-Les tests sont effectués de Vous ne pouvez pas
manière continu. progresser sur un
projet s'il y a des contraintes
budgétaires.
contraintes budgétaires.
XP Des progrès basés sur le Ne convient pas aux grands
concept " au jour le jour ". projets
-Amélioration du code à Les grands projets, car son
chaque organisation n'est pas adaptée
amélioration du code à chaque à une équipe de plusieurs
étape. personnes.
-Une approche opérationnelle
et haute qualité à la fin
de chaque étape.
SCRUM Une vue d'ensemble claire La méthodologie Scrum
et précise. est qualifiée de
-L'optimisation continue : "carrée". En effet, elle
est ne supporte pas
Fait à la fin de chaque sprint les modifications dans son
-Chaque membre aura accès principe.
à l'achèvement des tâches Il est indiqué dans le
des autres membres, ainsi Guide officiel que "les
qu'au résultat attendu. Rôles, Artéfacts
événements et règles
de Scrum sont immuables
La méthode Scrum elle-même représente la méthode AGILE de base. Elle offre un moyen
agréable pour les novices. Mais Scrum n'est pas seulement connu pour sa facilité d'utilisation.
En effet, si nous parvenons à le maîtriser parfaitement, Scrum nous apportera des bénéfices
significatifs par rapport aux autres méthodes agiles. Les aspects collaboratifs de Scrum ne
doivent pas être négligés. En raison de l'esprit de collaboration, les membres de l'équipe
partageront des relations familiales, la prise de décision est donc simplifiée, et ils auront
tendance à développer une confiance mutuelle et à s'adapter les uns aux autres pour mieux
s'intégrer dans l'équipe. Des réunions quotidiennes et hebdomadaires permettent de
maintenir cette idée collaboration, contact direct entre les membres.
20
Le concept de débat est également très intéressant, permettant à n'importe quel membre
d'utiliser son génie.
Conclusion
21
Chapitre 2 : Analyse et
spécification des exigences
22
Introduction
Dans ce chapitre, nous allons définir les exigences fonctionnelles et non fonctionnelles de
notre application.
Puis nous passons à l'analyse à travers des diagrammes de cas d'utilisation et de classe.
1.Exigences Fonctionnels
La future application doit satisfaire la liste des besoins fonctionnels suivants :
-Authentification obligatoire pour tous les utilisateurs.
-L’admin peut :
❖ Créer un projet.
❖ Affecter des consultants
❖ Mentionner pour chaque consultant la durée (0.25 unité minimale).
(Si le consultant est déjà affecté à un autre projet un système d’arbitrage s’impose : les deux
seniors managers s’organisent entre eux avec priorité au projet le plus urgent s’ils ne trouvent
pas une solution le responsable production prend la décision de l’affectation.)
❖ Traiter les demandes de congés : Autoriser ou non une demande de congé d’un
consultant.
❖ Recherche des consultants :
• Le chef projet peut filtrer les consultants selon sa séniorité.
• Le chef projet peut filtrer les consultants par projet.
• Le chef projet filtre les consultants par profil.
23
- Le responsable production peut :
2. Exigences non-fonctionnels
-L’ergonomie : notre application doit présenter une interface simple pour que l’utilisateur ait
une manipulation aisée.
- La Performance : notre application doit être performante, c'est-à-dire qu'à travers ses
fonctionnalités, elle doit répondre à toutes les exigences des utilisateurs de manière optimale
et dans un temps de réponse raisonnable.
-La convivialité : Les interfaces graphiques de l’application doivent être adaptables aux
différents écrans des appareils mobiles.
- La Sécurité :
24
• L’application doit fournir une sécurité des sessions des utilisateurs dans les normes
requises.
• Le système doit garantir à l’utilisateur l’intégrité et la confidentialité de ses données.
Un acteur décrit un rôle joué par une personne, système externe pour réagir avec notre
système
Et ajouter une valeur. Notre application fait entrer en scène trois acteurs qui interagissent
avec le système :
• Manager : celui qui gère les projets et qui traite les demandes de congés des
consultants.
• Administrateur : celui qui gère la plateforme en totalité, il gère les employés, les
paramètres, faire le suivi.
• Consultant : Celui qui demande des congés à travers la plateforme et qui vérifie son
time -Sheets.
• Responsable production : celui qui a l’accès d’un tableau de production pour avoir une
idée de la contribution de chaque consultant.
Le diagramme de cas d'utilisation est utilisé pour fournir une vue d'ensemble du
comportement fonctionnel du système logiciel.
Il y a des acteurs qui représentent les utilisateurs de l'application et des cas d'utilisation qui
structurent les exigences des utilisateurs et les objectifs du système. [1]
25
Figure 3 : Diagramme de cas d’utilisation global.
Les diagrammes de classes sont l'un des types de diagrammes UML les plus utiles, car ils
décrivent clairement la structure d'un système particulier en modélisant ses classes, ses
attributs, ses opérations et les relations entre ses objets. [2]
26
Figure 4 : Diagramme de classe général
6.Planification Du Travail
27
Figure 5 : planification des realeses
7.Back log du produit :
Selon la méthode SCRUM choisie comme méthode de développement, le backlog produit est
un tableau contenant les principaux modules du produit.
Il s'agit d'une liste d'activités prioritaires qui définissent les caractéristiques du produit.
Gestion des
1 Utilisateurs En tant qu’administrateur, j’ajoute des employés. 9 3
28
En tant qu’administrateur, je supprime des employés. 5 2
Gestion de
congés En tant que Manager, je traite la demande du congé. 9 2
3
En tant que Consultant, je vérifie le solde de mes 8 2
congés.
29
En tant que responsable de production j’accède au
4 Acceder a un tableau de production de chaque consultant 5 3
tableau de
production
Conclusion :
Dans ce chapitre, nous avons étudié les exigences fonctionnels et non fonctionnels du projet
et nous avons présenté les diagrammes de cas d’utilisation et classe afin d’avoir une
structuration cohérente des fonctionnalités.
Par la suite nous avons exposé le back-log produit qui nous a servi à mieux détailler ces
fonctionnalités et pour finir nous avons défini notre planification du travail tout au long du
projet.
Le chapitre suivant est le sprint 0 ce qui veut dire l’initialisation du projet, nous allons définir
notre choix des outils et langages utilisés pour le développement de l’application.
30
Chapitre 3 : Sprint 0 :
Initialisation du Projet
31
Introduction :
On exposera l’architecture de la solution ainsi que les outils utilisés durant ce projet.
1. Architecture :
Pour cette Application, j’ai choisi de travailler avec une architecture MVC car elle permet la
séparation des données, de l’affichage et des actions.
On utilise cette Architecture pour avoir une conception claire et efficace et un gain du temps
de maintenance grâce à la séparation des couches.[4]
2.Environnement de travail
32
2.1. Choix technologiques
- Angular : un framework open source basé sur Type Script, et codirigé par l'équipe du projet
Angular chez Google. Il permet la création d'applications web, basées sur une architecture
MVC.[5]
Figure 7 : Angular
-Spring Boot : Spring est un cadre open source permettant de construire et de définir
l'infrastructure d'une application Java, ce qui facilite le développement et les tests..[6]
33
- Système d’exploitation : Windows 10
2.2.1 WampServer
Figure 9 : WampServer
2.2.2 Bootstrap
Bootstrap est une collection d'outils utiles pour la création de sites Web et d'applications.
C'est un paquet qui contient du code HTML et CSS, des formulaires, des boutons, des outils de
navigation et d'autres éléments interactifs, ainsi que des extensions JavaScript facultatives.
Bootstrap est également open source, c'est-à-dire qu'il est accessible à tous. [8]
Figure 10 : BootStrap
34
2.2.3 Visual Studio
Visual Studio Code est un éditeur de code open-source développé par Microsoft qui prend en
charge un large éventail de langages grâce à des extensions. Il prend en charge l'auto-
complétion, la coloration syntaxique, le débogage et les commandes git..[9]
2.2.4 Eclipse
Figure 12 : Eclipse
35
Conclusion
Ce chapitre s’agit de l’initialisation du projet où nous avons défini l’architecture, les outils
technologiques et l’environnement du travail utilisé afin de commencer le développement
sprints.
Le chapitre qui suit sera consacré à la réalisation du release des sprints en question.
36
Chapitre 4 : Release 1
37
Introduction
Dans ce chapitre, nous allons exposer le backlog produit pour présenter les besoins du premier
release, ensuite nous présenterons un raffinement du diagramme de cas d’utilisation en
s’appuyant sur des descriptions textuelles et des diagrammes de séquences.
1. backlog produit
L’organisation des sprints est primordiale pour la méthode scrum, chaque user story est défini
en un ensemble de taches où on précisera son responsable et son estimation par heure.
Tableau 4 : Sprint 1
Spécification ID Fonctionnalités Taches Estimation
du carnet
D’itération
Préparation du modèle employés.
Gestion des 6
employés
Sprint 1 1
38
Sprint 1 Gestion des Préparation du modèle projet
projets 3
1
Tester les projets.
2.conception sprint 1
Il s’agit d’un Raffinement des cas d’utilisation et des descriptions textuelles relatives aux
sprints.
Cette étape, permet d’analyser chaque cas d'utilisation en s’appuyant sur un diagramme de
39
- Description Textuelle du cas d’utilisation « gérer les employés »
Tableau 5 : Description textuelle du cas d’utilisation « Gérer les employés »
40
Description textuelle du cas d’utilisation « gérer projet » :
41
2.4 Diagramme de Séquence relatif « créer un projet »
42
3.Réalisation
Cette interface permet à l’utilisateur de saisir son adresse mail et son mot de passe pour
accéder à l’application.
Cette interface permet l’ajout des employés, l’administrateur doit saisir les données de
l’employé puis appuyer sur le bouton valider.
Après l’ajout des utilisateurs, l’administrateur reçoit une notification de validation (figure 19)
44
3.5 Interface de la liste des employés
L’administrateur peut consulter la liste de tous les employés . Il a la possibilité de modifier les
données de l’utilisateur ou de les supprimer .
Après authentification, le manager peut consulter la liste projets sur lesquels il travaille.
45
3.7 Interface de création projet :
Cette interface permet au manager de saisir les données du projet et d’affecter un consultant
à un projet.
46
Conclusion
Dans ce chapitre, nous avons présenté le premier release à travers son backlog de sprint et son
analyse conceptuelle.
47
Chapitre 5 : Release 2
48
Introduction
Dans ce dernier chapitre, nous allons exposer le deuxième release en détaillant ses
fonctionnalités à travers le Backlog produit.
Par la suite, nous élaborons les diagrammes de cas d’utilisations et séquences et nous
présentons les interfaces réalisées.
1.Backlog produit :
Le deuxième Release est divisé en deux sprints : Le premier sprint comporte la fonctionnalité
« Gestion des congés » et le deuxième Sprint comporte la fonctionnalité « accés au tableau de
production ».
49
2. Conception des sprints
Raffinement des cas d'utilisation et des descriptions textuelles pour les sprints :
50
2.2 Diagramme de séquence « demander un congé »
51
3. Réalisation des Sprints
52
4.3 Interface enregistrement de la demande de congé :
Cette interface affiche une notification d’enregistrement de demande ainsi qu’elle permet
au consultant de voir l’état de sa demande : en attente ou rejeté ou bien validé.
53
Conclusion
Dans ce chapitre nous avons finalisé notre solution après avoir ajusté les deux releases et
Présenté une analyse conceptuelle à travers différents diagrammes de cas d’utilisation et de
séquence.
54
Conclusion générale
J'ai commencé à travailler chez Devoteam en avril 2020, dans l'équipe Recherche et
Développement où j'ai développé une application web pour la gestion de la production et du
personnel.
Ce stage est le point de départ de ma vie professionnelle, où j'ai développé mes notions
théoriques requises pendant le cursus universitaire à une expérience professionnelle. J'ai
travaillé au sein d'une équipe adoptant Scrum comme méthodologie de gestion de projet.
De plus, j'ai amélioré mes soft skills grâce aux échanges, au partage et à la convivialité entre
les membres de l'équipe, et j'ai également acquis de nouvelles compétences.
Mon expérience chez Devoteam a été très intéressante au sens propre du terme, elle a été
une source d'enrichissement tant sur le plan personnel que professionnel.
En conclusion, les modules créés restent un point de départ qui laisse de grandes possibilités
d'extension et d'amélioration, comme par exemple avoir un suivi de production ou un
calendrier qui affiche les tâches à effectuer sur une période de temps (un mois, une semaine,
etc.).
Webographies
55
[1] Diagramme de cas d'utilisation :
https://atefsd.weebly.com/uploads/5/0/3/6/503639/csi_02_chap02.pdf
https://www.lucidchart.com/pages/fr/diagramme-de-classes-uml
https://hubvisory.com/blog/qu-est-qu-un-backlog-comment-le-construire-et-le-gerer/
{4] Architecture :
https://openclassrooms.com/fr/courses/4670706-adoptez-une-architecture-mvc-en-
php/4678736-comment-fonctionne-une-architecture-mvc
{5] WampServer :
https://www.wampserver.com/
[6] Bootstrap :
https://fr.wikipedia.org/wiki/Bootstrap_(framework)
https://framalibre.org/content/visual-studio-code
[8] Angular :
https://fr.wikipedia.org/wiki/Angular
https://fr.wikipedia.org/wiki/Spring_(framework)
[10] Eclipse :
https://fr.wikipedia.org/wiki/Eclipse_(projet)
56
57