Vous êtes sur la page 1sur 45

École d’Ingénieurs

MEMOIRE DE FIN D’ETUDES

Présenté par :
M. MERJANE Ziad

Pour l’obtention du diplôme de Licence professionnelle


Filière Informatique appliquée – Option Développement
logiciel
Sujet
Application mobile de suivi des projets.
Sous la direction de :
Mme HACHEM Ilham : Encadrante Entreprise
Mme Imane BEQQALI HASSANI : Encadrante Académique

Projet de fin d’études soutenu le 04 juillet 2023, devant le jury composé de:
Pr BEQQALI : Encadrante Académique
Dr mouchawrab : Rapporteur
Dr kahlaoui : Examinateur

Année Universitaire : 2022 -2023


Référence: 12-EI-LINFO-2022/2023
Dédicace
Du profond de mon cœur, je dédie ce travail à tous ceux qui me sont chers,

A MES CHERE PARENTS


Aucune dédicace ne saurait exprimer mon respect, mon amour éternel et ma considération

pour les sacrifices que vous avez consenti pour mon instruction et mon bien être. Je vous

remercie pour tout le soutien et l’amour que vous me portez depuis mon enfance et j’espère

que votre bénédiction m’accompagne toujours. Que ce modeste travail soit l’exaucement de

vos vœux tant formulés, le fruit de vos innombrables sacrifices. Puisse Dieu, le Très Haut,

vous accorder santé, bonheur et longue vie.

Remerciements

Au terme de ce travail, je tiens à exprimer ma profonde gratitude envers Mme Imane


BEQQALI HASSANI, ma professeure et encadrante, pour avoir accepté mon sujet et pour
son suivi, son soutien inestimable et ses conseils tout au long de cette période de projet. Elle a
fait preuve d'un dévouement exceptionnel et a fourni des feedbacks précieux qui ont
grandement contribué à la réussite de ce projet. Je souhaite également exprimer ma
reconnaissance envers tous les autres professeurs qui ont contribué à ma formation tout au
long de ces trois années d'études. Leurs connaissances, leur enseignement et leur expertise
m'ont permis d'acquérir les compétences nécessaires pour mener ce projet à bien.

J'adresse mes sincères remerciements aux ingénieurs M. Hassan et M. Issam pour leur temps
précieux, leur aide et les informations précieuses qu'ils m'ont fournies avec intérêt et
compréhension. Je tiens à exprimer ma profonde gratitude envers ma collègue de travail au
sein de l'entreprise, Salma, pour sa collaboration, ses contributions et notre travail d'équipe
tout au long du projet. Sa présence et son soutien ont été d'une grande valeur.

Enfin, je voudrais dédier des remerciements spéciaux à mes parents, qui ont toujours cru en
moi et ont investi énormément dans mon avenir. Leur amour inconditionnel, leur soutien
indéfectible et leurs sacrifices ont été les fondements de ma réussite. Je leur suis infiniment
reconnaissant pour leur encouragement sans limites et leur générosité infinie. Que toutes les
personnes que j'ai mentionnées, ainsi que toutes celles qui ont contribué de près ou de loin à
la réussite de ce projet, trouvent ici l'expression de ma plus profonde reconnaissance.

Résumé:

Notre contribution au sein de l’entreprise Merjaninox se focalise sur une application mobile
Android spécifiquement conçue pour la gestion de projets au sein de l'entreprise. L'objectif
principal de cette application est de fournir une plateforme pratique et efficace permettant la
planification, l'organisation, la collaboration et le suivi des projets.

En outre, nous examinons les avantages de l'utilisation de cette application mobile pour la
gestion de projet par rapport aux méthodes traditionnelles telles que les tableurs, les
documents partagés et les e-mails. Nous mettons également en lumière les avantages de
l'application pour les différentes parties prenantes impliquées dans notre projet, y compris les
chefs de projet, les membres de l'équipe et les parties prenantes externes.
Ce rapport propose une analyse approfondie de l'application mobile Android dédiée à la
gestion de projet, accompagnée de recommandations visant à aider l'entreprise à exploiter au
mieux ses fonctionnalités. Nous avons pour ambition que cette application serve de ressource
précieuse pour les entreprises cherchant à améliorer leur gestion de projet et le rendre
pratique et efficace.

Mots clés:

Application mobile, Gestion de projet, Tâches, Android Studio, Productivité.

Abstract:

This report will focus on an Android mobile application specifically designed for project
management within the company Merjaninox. The main objective of this application is to
provide a convenient and efficient platform for project planning, organization, collaboration,
and tracking.

Furthermore, we will examine the advantages of using this mobile application for project
management compared to traditional methods such as spreadsheets, shared documents, and
emails. We will also highlight the benefits of the application for different stakeholders
involved in a project, including project managers, team members, and external stakeholders.

This report will provide a comprehensive analysis of the Android mobile project management
application, along with recommendations to help the company make the most of its features.
Our hope is that this report will serve as a valuable resource for companies seeking to
improve their project management using a practical and efficient mobile application.

Keywords:
Mobile application, Project management, Tasks, Android Studio, Productivity.

Table des matières


INTRODUCTION......................................................................................................................9
CHAPITRE 1 : CONTEXTE GÉNÉRAL DU STAGE...........................................................10
I. Présentation de l'organisme d'accueil...........................................................................10
II. Présentation du projet...................................................................................................12
1. Problématique et motivation du projet......................................................................12
2. Objectif.....................................................................................................................13
3. Conduite du projet....................................................................................................14
a. Processus de développement logiciel...................................................................14
b. Planning du projet.................................................................................................16
CHAPITRE 2 : RECUEIL DES BESOINS FONCTIONNELS ET TECHNIQUES..............18
I. Recueil des besoins fonctionnels..................................................................................18
1. Description de l’existant...........................................................................................18
2. Étude de l'existant.....................................................................................................18
3. Exigences fonctionnelles..........................................................................................19
II. Recueil des besoins techniques.....................................................................................20
1. Exigences qualité......................................................................................................20
CHAPITRE 3 : ANALYSE ET CONCEPTION......................................................................24
I. Étude préliminaire.........................................................................................................24
1. Identification des acteurs..........................................................................................24
2. Modules du projet.....................................................................................................24
3. Règles de gestion......................................................................................................25
4. Langage de conception UML...................................................................................26
II. Conception de l'application...........................................................................................26
1. Diagramme de cas d'utilisation général........................................................................26
2. Description détaillée des cas d'utilisation.....................................................................27
a. Diagramme de cas d'utilisation de gestion de projet.................................................28
b. Diagramme de cas d'utilisation de gestion de collaborateurs (Membres d’équipes)
29
c. Diagramme de cas d'utilisation de gestion des tâches..............................................30
3. Diagramme de classes...................................................................................................30
CHAPITRE 4 : MISE EN ŒUVRE DU PROJET...................................................................32
I. Technologies et outils utilisés.......................................................................................32
1. Outils.........................................................................................................................32
2. Langage.....................................................................................................................33
3. Architecture de navigation de l'application..............................................................33
II. Réalisation....................................................................................................................35
III. Tests et déploiement.................................................................................................47
CONCLUSION ET PERSPECTIVES......................................................................................48
BIBLIOGRAPHIE....................................................................................................................49
ANNEXE A..............................................................................................................................50
Liste des figures
Figure 1:l’infrastructure de l’entreprise._______________________________________15
Figure 3: Diagramme de cas d’utilisation général________________________________26
Figure 4: Diagramme de cas d'utilisation de gestion des projets manipulé par
l’administrateur_________________________________________________________27
Figure 5: Diagramme de cas d'utilisation de gestion des projets manipulé par le chef de
Projet.________________________________________________________________28
Figure 6: Diagramme de cas d'utilisation de gestion de membres Equipe.____________28
Figure 7: Diagramme de cas d'utilisation de gestion des tâches_____________________29
Figure 8 : Diagramme de classe de l’application_________________________________30
Figure 9: Menu administrateur____________________________37
Figure 10: Menu Chef de Projet___________________________38
Figure 11: Menu Membre d’équipe________________________39
Figure 12 : Button ChefsProjet du menu Administrateur pour creation du
compte______________________________________40
Figure 13: Bouton Membres d’équipe du Menu Chef de Projet pour creation du
compte_________________________________40
Figure 14: Button ChefsProjet du menu Administrateur______41
Figure 15 : Button Projet du menu Administrateur___________41
Figure 16 : Button Suivi du menu Administrateur____________42
Figure 17: Bouton Membres d’équipe du Menu Chef de Projet_42
Figure 18: Bouton listes Membres d’équipe du Menu Membres
d’équipe_______________________________________________43
Figure 19: Bouton Taches du Menu Chef de Projet___________44
Figure 20: les sections de menu Taches du Menu Chef de
Projet_________________________________________________45
Figure 21: Bouton Mes Taches du Menu Membres D’équipes__46
Figure 22: Menu chat____________________________________47
Introduction

La gestion de projet, une discipline dont les origines remontent au XIXe siècle, a connu une
évolution majeure à partir des années 60 avec l'avènement de l'informatique. Cette révolution
a permis d'automatiser de nombreuses tâches autrefois réalisées manuellement, offrant ainsi
de nouvelles perspectives à la gestion d'entreprise.
Cependant, c'est l'avènement d'Internet et du Web qui a véritablement transformé la donne.
Aujourd'hui, la quasi-totalité des systèmes d'entreprise sont connectés à un réseau, permettant
ainsi une circulation rapide de l'information à l'intérieur et à l'extérieur de l'organisation. Dans
ce contexte, l'utilisation de logiciels de suivi et de gestion de projet est devenue essentielle.
Parallèlement, les applications mobiles ont connu une popularité croissante depuis
l'apparition des smartphones et des tablettes. Elles sont désormais utilisées aussi bien par les
entreprises que par les particuliers, couvrant une multitude d'activités.
C'est dans ce contexte que ce rapport présente une application mobile de gestion des projets,
conçue pour faciliter la collaboration et la communication entre les membres d'une équipe.
L'objectif principal de cette application est de permettre aux utilisateurs de créer des projets et
d'assigner des tâches à chaque membre de l'équipe. Grâce à cette application, les membres de
l'équipe peuvent consulter en temps réel leur liste de tâches et les mettre à jour, offrant ainsi
une visibilité accrue sur l'avancement du projet.
Cette application mobile offre ainsi une solution pratique et efficace pour optimiser la gestion
des équipes et favoriser la coordination des activités. Son utilisation peut contribuer
significativement à l'amélioration de la productivité et à la réussite des projets au sein de
l'entreprise.
Dans les sections suivantes de ce rapport, nous examinerons en détail les fonctionnalités de
cette application, son impact sur la gestion de projet et les bénéfices qu'elle peut apporter aux
différentes parties prenantes impliquées.
Chapitre 1 : Contexte général du stage

• Présentation de l'organisme d'accueil

Merjaninox, une entreprise pionnière dans le domaine de la conception et de la fabrication de


solutions en acier inoxydable, se distingue par son expertise dans les industries alimentaires,
pharmaceutiques et cosmétiques. Depuis sa création, Merjaninox s'est engagée à fournir des
produits de haute qualité répondant aux normes les plus strictes de ces secteurs exigeants.

L'organisme d'accueil, Merjaninox, met en avant une large gamme de produits allant des
équipements de traitement alimentaire aux systèmes de stockage et de transport en passant
par les structures de support et les accessoires en acier inoxydable. Grâce à leur savoir-faire
technique et à leur maîtrise des dernières technologies, ils sont en mesure de répondre aux
besoins spécifiques de leurs clients, en offrant des solutions sur mesure adaptées à chaque
projet.

Depuis 2015, et avant l'utilisation d'un système informatisé pour la gestion de projet,
Merjaninox s'appuyait sur des méthodes traditionnelles telles que des tableaux, des fichiers
papier et des communications manuelles. Cependant, ces approches présentaient des limites
en termes de coordination, de suivi et de collaboration. Merjaninox a entrepris une
démarche de modernisation de ses systèmes en amorçant la transition vers une
informatisation complète. Cette initiative témoigne de leur volonté d'améliorer l'efficacité de
leurs processus internes et de renforcer leur compétitivité sur le marché. Grâce à cette
transformation numérique, Merjaninox est en mesure de gérer de manière plus efficace ses
opérations, d'optimiser la traçabilité des produits et d'améliorer la communication et la
collaboration au sein de l'entreprise.

L'engagement de Merjaninox envers la qualité et la satisfaction client est au cœur de son


activité. Ils travaillent en étroite collaboration avec leurs clients pour comprendre leurs
besoins spécifiques et fournir des solutions sur mesure qui répondent aux exigences les plus
élevées en termes de sécurité, d'hygiène et de durabilité.
Figure1 : l’infrastructure de l’entreprise

Cet organigramme démontre la structure hiérarchique et la répartition des responsabilités au


sein de Merjaninox, en soulignant l'importance accordée à chaque service pour assurer le bon
fonctionnement et la croissance de l'entreprise.

Le service Informatique, où j'ai effectué mon stage, est dirigé par le Responsable du Service
Informatique. Ce département est responsable du développement de solutions logicielles, de
la gestion des systèmes informatiques, et de la maintenance des infrastructures
technologiques de l'entreprise. L'équipe de Développement Logiciel se concentre sur la
création et la mise en œuvre de logiciels personnalisés pour répondre aux besoins internes de
l'entreprise, tandis que l'équipe de Gestion des Systèmes s'occupe de la gestion et de la
maintenance des infrastructures informatiques.

• Présentation du projet
Dans cette partie nous allons présenter une vision globale sur le projet, la planification et
l’organisation, en détaillant ainsi les choix méthodologiques du projet.

• Problématique et motivation du projet


La réussite d'un projet repose sur la volonté commune du sponsor, du chef de projet, de
l'équipe et des bénéficiaires de partager une vision commune. Dès le début, il est crucial de
prendre en compte la gestion du changement afin de favoriser l'appropriation des objectifs et
leur acceptation.
Le succès d'un projet se mesure par la satisfaction du client et la qualité des livrables, c'est-à-
dire la conformité du produit aux attentes, respectant les délais et le budget alloué.
Cependant, les projets sont souvent confrontés à des risques tels que les dépassements
budgétaires, les retards ou même l'abandon du projet.
L'un des problèmes les plus courants dans la gestion de projet réside souvent dans la
communication entre les parties prenantes. Il est essentiel de clarifier le rôle de chaque acteur
afin que toutes les contributions se traduisent en une véritable valeur ajoutée.
Pour remédier à ces défis, il est primordial de se doter d'une solution informatique à la fois
simple, pratique et robuste. Cette solution permettra de faciliter la communication, de suivre
efficacement l'avancement du projet, de gérer les ressources et les contraintes, et d'assurer
une collaboration harmonieuse entre les différents intervenants.
En mettant en place une telle solution, nous pourrons maximiser nos chances de succès en
optimisant la coordination, en réduisant les risques de dépassement de budget et de délais, et
en favorisant une communication fluide et transparente au sein de l'équipe projet.
Ainsi, la problématique centrale de notre projet réside dans la recherche d'une solution
informatique qui répondra aux besoins spécifiques de gestion de projet, en favorisant la
communication, la coordination et la maîtrise des risques. Cependant, la fonctionnalité
essentielle qui nous permettra de maîtriser les risques dans notre projet est la capacité de la
solution informatique à gérer de manière efficace et proactive les risques identifiés. Cette
fonctionnalité englobe plusieurs aspects clés tels que l’évaluation du projet, la planification
des taches, le suivi du projet. En utilisant cette solution, notre équipe projet pourra facilement
recenser les risques potentiels, évaluer leur impact et probabilité, élaborer des stratégies
d'atténuation, et suivre l'évolution de chaque projet. De plus, la solution facilitera la
communication entre les membres du projet, assurant ainsi une transparence et une prise de
décision éclairée. En intégrant la fonctionnalité du suivi de l’évolution du projet dans notre
solution informatique, nous renforcerons notre capacité à anticiper, prévenir et résoudre les
problèmes, minimisant ainsi les retards, les dépassements budgétaires et les obstacles
potentiels, et augmentant nos chances de réussir le projet conformément aux attentes des
parties prenantes. En nous appuyant sur cette solution, nous serons en mesure de maximiser
nos chances de réussite et de livrer un projet conforme aux attentes de nos parties prenantes.

• Objectif

Le projet vise à développer une application mobile pour Android dont l'objectif est de créer
des listes de tâches collaboratives et de les organiser en fonction de leur statut, afin de
simplifier la gestion de projet. Cette application permettra une organisation optimale pour le
travail collaboratif, en offrant un environnement qui facilite la répartition de la charge de
travail, l'organisation des tâches définies en amont par l'équipe, leur hiérarchisation, leur
attribution et leur synchronisation.
Les objectifs de l'application sont les suivants :
• Fournir un menu permettant aux utilisateurs d'effectuer des tâches spécifiques en
fonction de leur profil.
• Répondre aux besoins d'un chef de projet en mettant en place un suivi pour avoir une
vision globale de l'avancement du projet.
• Mettre en œuvre des fonctionnalités de recherche simples et multicritères pour
permettre des opérations d'ajout, de suppression et de modification des informations
dans la base de données préalablement définie.
Le projet est dirigé par un chef de projet qui est responsable de la coordination et de
l'organisation du projet. Il accompagne son équipe dans la répartition des tâches et le suivi du
projet.
Les principaux modules à développer dans ce projet sont :
• Gestion des projets.
• Gestion des membres de l'équipe.
• Gestion des tâches.
• Gestion du suivi de progression du projet.

En atteignant ces objectifs, l'application vise à rationaliser les processus de gestion de projet,
à améliorer la collaboration et à accroître l'efficacité globale du projet.

• Conduite du projet
La gestion de projet est avant tout une méthode qui consiste à planifier, exécuter et suivre les
actions d'une équipe ayant des objectifs communs. Il est essentiel de coordonner les membres
de l'équipe en prenant en compte divers aspects tels que le temps, les ressources humaines,
matérielles, etc. Les méthodologies de gestion de projet sont utilisées aussi bien dans le
secteur privé que public, car elles garantissent la réussite. Il est important de choisir la
méthodologie la plus adaptée au projet, qu'il s'agisse de la méthode Kanban, d'autres
méthodes agiles, du cycle en V, etc.

Le cycle de vie du projet définit les phases qui relient le début d'un projet à sa fin. Par
exemple, lorsqu'une organisation identifie une opportunité à laquelle elle voudrait répondre,
elle autorise souvent une étude de faisabilité avant de décider si elle doit entreprendre le
projet. La définition du cycle de vie du projet peut aider le chef de projet à déterminer s'il doit
traiter l'étude de faisabilité en tant que première phase du projet ou en tant que projet séparé
et indépendant.

En général, les cycles de vie du projet définissent :


• Le travail technique à exécuter dans chaque phase.
• Le moment où les livrables doivent être générés dans chaque phase et la manière de
les passer en revue, de les vérifier et de les valider.
• Les participants à chaque phase.
• Les modalités de maîtrise et d'approbation de chaque phase.

Notre projet se compose de phases, elles-mêmes découpées en tâches, ou lots de travaux.


Chaque lot de travail se caractérise par la production d’un « livrable ». Il en est de même pour
chaque phase pour laquelle le livrable final validé.

• Processus de développement logiciel

Dans le cadre de mon projet, nous avons utilisé la méthodologie Scrum pour le
développement logiciel. Scrum est un Framework agile qui se concentre sur la collaboration,
la flexibilité et la livraison itérative des fonctionnalités. Il s'agit d'une approche itérative et
adaptative, où le travail est organisé en sprints de durée fixe (habituellement de deux à quatre
semaines) et chaque sprint aboutit à une version fonctionnelle du produit. Scrum met l'accent
sur la transparence, l'auto-organisation de l'équipe et les ajustements continus pour maximiser
la valeur du produit. Les principaux rôles dans Scrum sont le Product Owner, qui représente
les besoins et les attentes des parties prenantes, le Scrum Master, qui facilite le processus et
aide à surmonter les obstacles, et l'équipe de développement, qui réalise les tâches et livre les
fonctionnalités. Le processus Scrum comprend des événements clés tels que la planification
de sprint, les réunions quotidiennes de coordination (Daily Scrum), la revue de sprint et la
rétrospective de sprint. Ces événements permettent une communication régulière, une
adaptation continue des objectifs et des ajustements en fonction des retours d'expérience. En
choisissant Scrum, nous avons pu bénéficier d'une approche itérative et collaborative,
favorisant la flexibilité et la communication au sein de l'équipe projet. Cette méthode nous a
permis de livrer des fonctionnalités de manière itérative, en recueillant les commentaires des
parties prenantes tout au long du processus et en ajustant notre planification en conséquence.
• La phase d’initialisation:

Dans cette phase, notre équipe à définit les objectifs du projet, identifiés les livrables et
établit le calendrier général. On a ensuite examiné les besoins des parties prenantes et les
contraintes du projet, puis crée le backlog du projet en regroupant les tâches à accomplir.
Dans le cadre de notre méthodologie de développement logiciel, qui est Scrum, nous avons
adapté les différentes phases du cycle de développement pour répondre aux principes et aux
pratiques de cette approche agile.
• Phase de Sprint:

Dans cette phase, après avoir réalisé l'analyse des besoins, nous avons procédé à la
planification du sprint. Cette planification a permis d'identifier les fonctionnalités à
développer et de déterminer les cas d'utilisation et les diagrammes de séquences système
associés. Nous avons également effectué une modélisation rapide des classes participantes,
des classes et des diagrammes de séquence pour faciliter le développement itératif. Nous
avons aussi structuré en sprints de deux à quatre semaines, conformément à la durée des
itérations dans Scrum. Nous avons utilisé des techniques de développement agile pour mettre
en œuvre les fonctionnalités identifiées lors de la planification du sprint. Cette phase a inclus
la programmation, la mise en place de l'architecture technique et la réalisation des différents
modules de l'intranet.
• Phase de Clôture :

Dans Scrum, les tests sont intégrés tout au long du processus de développement. Nous avons
effectué des tests unitaires pour chaque composant de l'intranet, afin de vérifier leur bon
fonctionnement individuel. Ensuite, nous avons réalisé des tests d'intégration pour mesurer
l'interopérabilité entre les différents composants. Ces tests ont permis de détecter et de
corriger les erreurs ou les anomalies. Il est important de noter que Scrum encourage la
flexibilité et l'adaptation continue. Ainsi, les différentes phases du développement peuvent se
chevaucher et être itératives. Par exemple, si des changements de conception ou de besoins
surviennent pendant la réalisation, ils peuvent être pris en compte dans les prochains sprints
pour assurer une évolution constante du produit.
En résumé, notre méthodologie de développement Scrum a guidé l'organisation des phases de
conception, de réalisation et de tests. Elle nous a permis d'adopter une approche itérative et
flexible, en favorisant la collaboration, l'adaptation et la livraison régulière de fonctionnalités
de l'intranet.

• Planning du projet
Conclusion
En conclusion, ce chapitre nous a permis de poser les bases nécessaires pour comprendre le
contexte général du stage chez Merjaninox. Nous avons pu découvrir l'entreprise, sa
spécialisation dans le domaine de l'acier inoxydable, ainsi que ses valeurs d'excellence et
d'innovation. Cette introduction nous a fourni une vision d'ensemble qui servira de point de
départ pour les développements ultérieurs dans les prochains chapitres.
Chapitre 2 : Recueil des besoins fonctionnels et techniques

• Recueil des besoins fonctionnels


Dans cette section, nous allons aborder les besoins fonctionnels pour notre projet, ainsi que
les exigences fonctionnelles clés de notre application.
• Étude de l'existant
Avant d'aborder le développement de l'application sur laquelle j'ai travaillé lors de mon stage
de PFE, il était essentiel de comprendre comment mon entreprise gérait ses projets avant cette
initiative. L'étude de l'existant se réfère à l'état actuel des pratiques et processus utilisés par
l'entreprise pour gérer ses projets.

Dans le cas de mon entreprise, avant le développement de cette application, la gestion des
projets était principalement basée sur des méthodes traditionnelles telles que le suivi manuel
des tâches, les réunions fréquentes et la communication par e-mail. Les équipes travaillaient
avec des feuilles de calcul pour gérer les ressources, les délais et les livrables.

Parmi les points forts de l'existant, on pouvait noter la participation active des parties
prenantes à travers les réunions régulières, ce qui permettait de suivre de près l'avancement
des projets et d'apporter des ajustements si nécessaires. De plus, les équipes étaient
familiarisées avec les processus existants, ce qui facilitait la coordination entre les différents
acteurs.

Cependant, l'existant présentait également quelques points faibles. Tout d'abord, la


dépendance aux méthodes manuelles et à la communication par e-mail pouvait entraîner des
retards et des erreurs de suivi. De plus, l'absence d'un système centralisé pour la gestion des
tâches, des ressources et des délais rendait difficile la visualisation globale des projets et la
prise de décision éclairée. Enfin, le manque d'automatisation pouvait entraîner une utilisation
inefficace des ressources et une perte de productivité.

C'est dans ce contexte que l'application sur laquelle j'ai travaillé lors de mon stage de PFE est
intervenue pour améliorer et optimiser la gestion des projets au sein de mon entreprise. Elle
visait à résoudre les problèmes identifiés et à fournir une plateforme intégrée, automatisée et
collaborative pour la gestion des tâches, des ressources et des délais. En exploitant les
avantages de la technologie, cette application avait pour objectif de rationaliser les processus,
d'améliorer la communication et la coordination entre les équipes, et de permettre une
meilleure prise de décision pour la réussite des projets.

L'étude de l'existant a donc constitué une étape fondamentale pour jeter les bases solides de
ce projet. En documentant et en analysant attentivement les résultats de cette étude, nous
avons pu proposer des fonctionnalités ciblées et des améliorations concrètes, qui répondaient
aux besoins réels des utilisateurs et contribuaient à l'optimisation globale de notre domaine
d'activité. Grâce à cette application, j'ai pu constater les avantages d'une approche plus
moderne de la gestion de projets, offrant une meilleure visibilité, une coordination facilitée et
une utilisation optimisée des ressources.
• Exigences fonctionnelles

Les exigences fonctionnelles définissent les fonctionnalités et les capacités spécifiques que
notre application doit offrir pour répondre aux besoins de gestion de projet de l'entreprise.
Ces exigences fournissent une base solide pour le développement de l'application, en veillant
à ce qu'elle réponde aux attentes et aux objectifs de Merjaninox. Examinons donc de plus
près les différentes exigences fonctionnelles qui sont essentielles pour garantir le succès et
l'efficacité de notre application de gestion de projet.
• Permettre la création de projets, l'attribution de tâches, la définition de délais et
l'affectation de ressources. Les utilisateurs doivent pouvoir visualiser l'avancement du
projet, suivre les étapes complétées, gérer les dépendances entre les tâches.
• Faciliter la communication et la collaboration entre les membres de l'équipe. Elle doit
permettre d’afficher les cordonnées de projet, et des discussions.
• Offrir la possibilité de suivre le temps passé sur chaque tâche, d'enregistrer les
ressources utilisées. Cela permettra d'évaluer l'efficacité de l'équipe, de gérer les
budgets et d'optimiser l'allocation des ressources.
• Fournir des fonctionnalités pour identifier, évaluer et suivre les risques liés aux
projets.
• Pouvoir s'intégrer à d'autres outils et plates-formes couramment utilisés dans
l'entreprise, tels que les outils de gestion de documents, les calendriers et les
applications de messagerie. Cela favorisera une meilleure coordination et une
communication fluide entre les différentes parties prenantes.
• Mettre en place des mesures de sécurité pour protéger les données sensibles des
projets. Elle doit garantir l'accès restreint aux informations confidentielles, assurer la
sauvegarde régulière des données et proposer des fonctionnalités de récupération en
cas de perte de données.
• Recueil des besoins techniques

Dans cette partie consacrée au "Recueil des besoins techniques", nous allons explorer les
éléments clés qui seront nécessaires pour le développement et la mise en œuvre de
l'application de gestion de projet pour l'entreprise Merjaninox. L'objectif de cette phase est
d'identifier et de comprendre les exigences techniques spécifiques afin de garantir que
l'application soit robuste, performante et en adéquation avec les besoins de l'entreprise.
• Exigences qualité

Notre projet d'application mobile de gestion de projets pour Merjaninox, vise à garantir un
niveau de qualité élevé qui répondra aux attentes des utilisateurs et des parties prenantes.
Nous avons créé une application robuste, conviviale et fiable qui optimisera la planification,
l'organisation et la collaboration des projets au sein de l'entreprise.

Pour atteindre cet objectif, nous avons pris en considération plusieurs aspects clés de la
qualité de l'application. Tout d'abord, nous avons assuré des performances optimales, en
veillant à ce que l'application soit rapide, réactive et capable de gérer efficacement les
opérations complexes liées à la gestion de projet.

En termes de sécurité, nous nous sommes rassurés que l'application met en œuvre les
meilleures pratiques de protection des données et de confidentialité, en respectant les
réglementations en vigueur. Les informations sensibles des projets et des utilisateurs sont
stockées de manière sécurisée et les mesures de sécurité appropriées sont mises en place pour
prévenir les incidents de sécurité.

Nous avons accordé également une grande importance à l'ergonomie et à la convivialité de


l'application. L'interface utilisateur est intuitive, avec une navigation fluide et des
fonctionnalités facilement accessibles. Les utilisateurs peuvent interagir de manière naturelle
avec l'application, sans nécessiter une formation complexe. Nous avons pris en compte les
commentaires des utilisateurs lors du processus de conception pour garantir une expérience
utilisateur optimale.

Enfin, nous avons veillé à ce que l'application soit compatible avec différentes plateformes et
dispositifs, notamment les smartphones et les tablettes Android les plus courants. Nous nous
sommes engagé à maintenir la compatibilité avec les versions les plus récentes du système
d'exploitation Android, ainsi qu'à assurer une adaptation fluide à mesure que de nouvelles
versions sont publiées.

En conclusion, le recueil des besoins fonctionnels et techniques a été une phase fondamentale
dans le développement de notre application. Grâce à une étude approfondie des besoins de
nos utilisateurs, nous avons pu définir les fonctionnalités clés qui répondent à leurs attentes et
améliorent leur expérience. De plus, en identifiant les contraintes techniques, nous avons pu
anticiper les défis potentiels et élaborer des solutions adaptées.

Maintenant, avec une base solide de besoins fonctionnels et techniques, nous pouvons passer
à l'étape suivante : l'analyse et la conception. Cette phase nous permettra de traduire les
besoins identifiés en spécifications détaillées et en une architecture logicielle solide.
Chapitre 3 : Analyse et conception

• Étude préliminaire
L'étude préliminaire constitue une phase cruciale dans la planification d'un projet. Elle vise à
recueillir et à analyser toutes les informations pertinentes afin de déterminer la faisabilité et la
viabilité du projet. Dans cette partie, nous allons effectuer une étude approfondie en
examinant les objectifs, les contraintes, les ressources disponibles et les besoins spécifiques
liés à notre application.
• Identification des acteurs
Dans le cadre de l'application Project Management, il est essentiel d'identifier les acteurs clés
qui interagiront avec le système. Ces acteurs peuvent être classés en différentes catégories en
fonction de leur rôle et de leur niveau d'implication.
Tout d'abord, nous avons les utilisateurs finaux qui seront les principaux bénéficiaires de
l'application. Ils peuvent être des chefs de projet, des membres d'équipe ou des collaborateurs
impliqués dans la gestion de projets au sein de l'entreprise. Leur participation active dans
l'application est cruciale pour assurer une utilisation efficace du système.
Ensuite, nous avons les administrateurs système qui auront la responsabilité de gérer les
paramètres, les autorisations et la sécurité de l'application. Ils garantiront le bon
fonctionnement et la disponibilité du système pour les utilisateurs. En outre, les responsables
de projet joueront un rôle clé dans la supervision et la coordination des activités liées aux
projets. Ils seront responsables de la planification, de l'attribution des tâches, du suivi des
progrès et de l'évaluation des performances.
L'identification précise de ces acteurs permettra de comprendre leurs besoins, leurs rôles et
leurs responsabilités, ce qui contribuera à la conception d'une application adaptée et à la
fourniture d'une expérience utilisateur optimale.
• Modules du projet
Dans le cadre du projet « Project Management », plusieurs modules ont été identifiés pour
répondre aux besoins de gestion de projets de l'entreprise. Chaque module représente une
fonctionnalité spécifique de l'application, contribuant à la gestion globale des projets de
manière efficace et organisée.
Le premier module est le module de planification, qui permet aux utilisateurs de créer et de
gérer des plans de projet détaillés. Il offre des fonctionnalités telles que la définition des
objectifs, l'établissement des délais, l'allocation des ressources et la création de diagrammes
de Gantt pour visualiser la chronologie des tâches.
Le deuxième module est le module de suivi et de gestion des tâches. Il permet aux utilisateurs
de créer des tâches, d'assigner des responsabilités aux membres de l'équipe, de suivre
l'avancement des tâches et de recevoir des notifications sur les échéances et les dépendances
entre les tâches.
Le troisième module est le module de collaboration, qui facilite la communication et la
collaboration entre les membres de l'équipe. Il propose des fonctionnalités telles que les
discussions en temps réel.
Enfin, le quatrième module est le module de suivi des ressources, qui permet de gérer les
ressources du projet. Il offre des fonctionnalités telles que la planification des ressources, le
suivi des dépenses et l'évaluation de l'utilisation des ressources.
Ces modules interagissent entre eux de manière cohérente pour offrir une solution complète
de gestion de projets aux utilisateurs de l'application Project Management. Chaque module
est conçu pour répondre à des besoins spécifiques, tout en étant intégré dans un système
global offrant une expérience utilisateur fluide et efficace.
• Règles de gestion
Dans le cadre du projet Project Management, plusieurs règles de gestion ont été définies pour
assurer un fonctionnement harmonieux de l'application et garantir la cohérence des données
et des processus. Ces règles de gestion jouent un rôle essentiel dans la gestion des projets au
sein de l'entreprise. Voici quelques-unes des règles de gestion clés :
1. Gestion des autorisations : L'application Project Management met en place un système de
gestion des autorisations afin de contrôler l'accès aux fonctionnalités et aux données
sensibles. Les utilisateurs sont assignés à des rôles spécifiques qui déterminent leurs droits
d'accès et leurs capacités à effectuer certaines actions.
2. Validation des données : Des règles de validation sont appliquées pour garantir l'intégrité
et la validité des données saisies dans l'application. Cela inclut la vérification des formats, des
contraintes et des plages de valeurs acceptables pour chaque champ de données.
3. Gestion des dépendances : L'application Project Management gère les dépendances entre
les différentes entités et les différents modules. Par exemple, la création d'une tâche peut
dépendre de l'achèvement d'une autre tâche préalable. Ces dépendances sont identifiées et
prises en compte lors de la planification et de la gestion des projets.
4. Gestion des conflits : Lorsque plusieurs utilisateurs travaillent simultanément sur un même
projet, des règles de gestion sont mises en place pour gérer les éventuels conflits. Cela peut
inclure des mécanismes de verrouillage des ressources partagées ou des procédures de
résolution des conflits.
5. Archivage des données : Pour des raisons de traçabilité et de conformité, l'application
Project Management prévoit un mécanisme d'archivage des données. Les données relatives
aux projets terminés ou clôturés sont conservées de manière sécurisée et peuvent être
consultées ultérieurement si nécessaire.
Ces règles de gestion contribuent à assurer la qualité, la cohérence et la fiabilité des
opérations de gestion de projets au sein de l'entreprise Project Management. Elles sont
intégrées à l'application pour guider les utilisateurs dans leurs actions et garantir le respect
des meilleures pratiques en matière de gestion de projets.

• Langage de conception UML


Le langage de conception UML (Unified Modeling Language) joue un rôle essentiel dans le
projet de gestion de projet en fournissant une notation standardisée pour représenter les
différentes parties du système, les relations entre les éléments et les interactions entre les
acteurs. UML est largement utilisé dans le domaine du développement logiciel pour
visualiser, spécifier, construire et documenter les systèmes.
Dans le cadre du projet de gestion de projet, nous utilisons UML pour concevoir et modéliser
les différents aspects de l'application, y compris les cas d'utilisation, les diagrammes de
classes, les diagrammes de séquence et les diagrammes d'activités. Ces diagrammes
permettent de représenter visuellement les différentes fonctionnalités, les interactions entre
les acteurs et les flux de travail du système.
Les avantages de l'utilisation d'UML dans le projet de gestion de projet sont multiples. Tout
d'abord, UML fournit un langage graphique intuitif qui facilite la communication entre les
membres de l'équipe de développement et les parties prenantes. Les diagrammes UML
permettent de clarifier les exigences, de définir la structure du système et de visualiser les
scénarios d'utilisation.
En outre, UML permet de documenter le système de manière rigoureuse et complète. Les
différents diagrammes UML servent de support de documentation pour décrire les différentes
parties du système, leurs relations et leurs comportements attendus. Cela facilite la
maintenance, l'évolution et la compréhension du système tout au long de son cycle de vie.
En conclusion, l'utilisation du langage de conception UML dans le projet de gestion de projet
contribue à une meilleure compréhension, communication et documentation du système. Il
fournit une représentation visuelle claire des fonctionnalités et des interactions, permettant
ainsi une conception plus précise et une mise en œuvre plus efficace de l'application.
• Conception de l'application

• Diagramme de cas d'utilisation général


Dans notre projet, nous avons opté pour 4 blocs de packages. Le premier représente le bloc de
gestion des projets manipulé par un administrateur ainsi que par le chef de projet.
L’administrateur gère l’ajout, la modification et la suppression d’un projet et le chef de projet
gère l’affectation des collaborateurs à un projet ainsi que la décomposition d’un projet en
tâches, et dernièrement gère le suivi de projet. Le deuxième représente le bloc de gestion des
membres d’équipe manipulé aussi par l’administrateur. En troisième lieu, le bloc de gestion
des tâches manipulé par le chef de projet. Et finalement le quatrième bloc qui représente le
bloc de gestion de suivi des projets qui est manipulé par le chef de projet et aussi les membres
d’équipe selon le schéma suivant :

Figure 3: Diagramme de cas d’utilisation général

• Description détaillée des cas d'utilisation

L'étude des cas d'utilisation vise à déterminer les attentes de chaque utilisateur vis-à-vis du
système. Dans le contexte de notre projet, voici les fonctionnalités disponibles pour chaque
acteur :
Administrateur:
• Consultation des listes de tâches collaboratives.
• Visualisation de l'état des tâches (en cours, terminées, etc.).
• Recherche de tâches spécifiques en utilisant des critères de recherche.
• Gestion des comptes utilisateur.
• Gestion des projets.
• Gestion des membres d'équipe.
• Gestion des autorisations d'accès.
• Gestion des paramètres système.

Chef de Projet :
• Création de nouvelles tâches.
• Attribution des tâches aux membres de l'équipe.
• Modification des détails des tâches.
• Suivi de l'avancement des tâches assignées.
• Visualisation des tâches par statut (en cours, terminées, etc.).
• Gestion des projets et décomposition en tâches.
Membre d'Équipe :
• Consultation des tâches qui leur sont assignées.
• Mise à jour de l'état d'avancement des tâches.
• Discussions sur les tâches assignées.
Ces fonctionnalités fournissent un aperçu des attentes et des interactions attendues de chaque
acteur dans le système.
• Diagramme de cas d'utilisation de gestion des projets

Figure 4: Diagramme de cas d'utilisation de gestion des projets


Ce diagramme de cas d'utilisation met en évidence les actions principales que l'administrateur
et le chef de projet peuvent effectuer dans la gestion des projets.
• Diagramme de cas d'utilisation de gestion de collaborateurs (Membres
d’équipes)
Figure 5: Diagramme de cas d'utilisation de gestion de membres Equipe.
Le chef de projet peut ajouter, modifier, consulter les membres de l'équipe. Ces
fonctionnalités leur permettent de gérer efficacement la composition et les informations des
membres de l'équipe dans le système.
• Diagramme de cas d'utilisation de gestion des tâches

Figure 6: Diagramme de cas d'utilisation de gestion des tâches


Le diagramme de cas d'utilisation de gestion des tâches offre une vision globale des
fonctionnalités disponibles pour le chef du projet dans le processus de gestion des tâches.

• Diagramme de cas d'utilisation de gestion des comptes de chef de projet et des


membres d’équipe
Figure 7: Diagramme de cas d'utilisation de gestion de compte
L'objectif principal de ce diagramme de cas d'utilisation est de mettre en évidence la manière
dont le système informatisé facilite la gestion des comptes pour les chefs de projet et les
membres de l'équipe.
• Diagramme de classes
Figure 8 : Diagramme de classe de l’application
Conclusion
L'étude préliminaire a été cruciale pour jeter les bases solides de notre projet de
gestion de projet. Elle nous a permis de mieux appréhender les enjeux et les
exigences du projet, et de prendre des décisions éclairées concernant les
technologies à utiliser, les fonctionnalités à implémenter et les approches de
conception à adopter. Nous sommes maintenant prêts à passer à la prochaine
étape de notre projet, qui consistera à réaliser une étude conceptuelle et
technique approfondie pour détailler davantage notre solution de gestion de
projet.
Chapitre 4 : Mise en œuvre du projet

• Technologies et outils utilisés


Dans cette partie consacrée aux technologies et aux outils utilisés, nous avons examiné les
différentes technologies et les outils essentiels qui ont été employés dans le développement
de notre application de gestion de projet. Notre sélection a été basée sur des critères tels que
la performance, la compatibilité, la facilité d'utilisation et la capacité à répondre aux besoins
spécifiques de notre projet. Nous avons fait le choix de technologies modernes et robustes,
ainsi que d'outils puissants et fiables, afin de garantir la qualité et l'efficacité de notre
application. Grâce à cette approche, nous sommes en mesure de proposer une solution
technologiquement avancée qui répond aux exigences de notre entreprise et de nos
utilisateurs.
• Outils
Dans cette partie nous allons présenter les différents outils utilisés pour la mise en place de
notre solution
• Android Studio :

Android Studio est l'environnement de développement intégré (IDE) officiel des


applications Android. Basé sur le puissant outil de développement et d'édition de code
d'IntelliJ IDEA, Android Studio offre encore plus de fonctionnalités qui améliorent votre
productivité lorsque vous créez des applications Android.
Voici une liste non exhaustive de ses fonctionnalités :
✓ Un système de compilation flexible basé sur Gradle,
✓ Un émulateur rapide et riche en fonctionnalités,
✓ Un environnement unifié pour un développement sur les appareils Android,
✓ Une option "Apply Changes" pour appliquer les modifications de code et de collaborateurs
à votre application en cours d'exécution sans la redémarrer,
✓ Des modèles de code et l'intégration GitHub pour vous aider à compiler des fonctionnalités
d'application courantes et à importer des exemples de code,
✓ Des outils et Framework de test complet,
✓ Des outils Lint permettant de détecter les problèmes de performances, d'ergonomie, de
compatibilité des versions, etc.
✓ Compatibilité C++ et NDK,
- Les avantages :
Android Studio permet d'avoir un IDE totalement dédié aux développements
Android, pour d'autre type de développements JAVA il faut utiliser IntelliJ IDE ou
Eclipse. Cette restriction peut paraître contraignante mais elle permet de ne pas mélanger
différents types de développements sur un même IDE et donc évite la surcharge de l'IDE et
les erreurs de compatibilités entre les différents types de développements.
Android Studio dispose d'une interface intuitive et simple d'utilisation. Si vous êtes habitué à
utiliser Eclipse vous n'aurez aucun mal à vous adapter à Android Studio et vous vous rendrez
vite compte que le développement Android est facilité.
Le fait de télécharger Android Studio évite aussi de télécharger un IDE puis de télécharger un
SDK Android qu'on rajoute ensuite à notre IDE. Ici on a tout ce qu'il nous faut en
téléchargeant uniquement Android Studio
En conclusion, le téléchargement et l'utilisation d'Android Studio représente un gain de temps
conséquent.
• Firebase

Firebase est le nom d’une plateforme mobile de Google qui facilite la création de back-end
performant. Et aussi c’est une plateforme qui permet de développer rapidement des
applications pour mobile et pour le web. L’objectif de la création de Firebase.google.com en
2011 par James Tamplin et Andrew Lee est d’éviter aux professionnels et aux particuliers de
s’engager dans un processus complexe de création et de maintenance d’une architecture
serveur. De plus, la plateforme peut être exploitée par plusieurs utilisateurs en même temps
sans connaître un quelconque bug. La praticité est également au rendez-vous grâce à ses
fonctionnalités intuitives. Depuis le rachat par Google en 2014, Firebase SDKs a connu de
nombreuses améliorations et n’a de cesse de satisfaire ses utilisateurs.
• Langage

Kotlin est un langage de programmation orienté objet et fonctionnel, avec un typage


dynamique qui permet de compiler pour la machine virtuelle Java, JavaScript, et vers
plusieurs plateformes en natif (grâce à LLVM). Kotlin devient le second langage de
programmation officiellement pris en charge par Android3 après Java. Le 8 mai 2019,
toujours lors de la conférence Google I/O, Kotlin devient officiellement le langage de
programmation voulu.
Saut
• Architecture de navigation de l'application
L'architecture de navigation de notre application a été conçue de manière à offrir aux
utilisateurs une expérience fluide et intuitive lors de leur interaction avec l'application. Nous
avons adopté une approche basée sur la navigation par écrans pour faciliter la compréhension
et la prise en main de l'application. Voici comment l'architecture de navigation a été mise en
place :

• Navigation par menu latéral :

L'application dispose d'un menu latéral qui offre aux utilisateurs un accès facile aux
fonctionnalités principales de l'application. Ce menu est accessible depuis n'importe quel
écran de l'application en glissant simplement depuis le côté gauche de l'écran. Il comprend
des liens vers les différentes sections de l'application, telles que la liste des projets, la gestion
des membres de l'équipe, les tâches, etc….

2. Hiérarchie des écrans :


Les écrans de l'application sont organisés de manière hiérarchique, ce qui permet aux
utilisateurs de naviguer de manière logique entre les différentes sections. Par exemple, à
partir de l'écran principal, les utilisateurs peuvent accéder à la liste des projets. En
sélectionnant un projet, ils sont dirigés vers l'écran de détails du projet, où ils peuvent
visualiser les informations et les tâches associées. De là, ils peuvent accéder à l'écran de
gestion des tâches pour attribuer des tâches aux membres de l'équipe, et ainsi de suite.

3. Boutons d'action contextuelle :


Dans certains écrans, nous avons utilisé des boutons d'action contextuelle pour permettre aux
utilisateurs d'effectuer des actions spécifiques en fonction du contexte. Par exemple, dans
l'écran de détails du projet, les utilisateurs peuvent trouver un bouton d'ajout de tâche qui les
dirige directement vers l'écran de création de tâche pour ce projet spécifique. Cela simplifie et
accélère le processus de création de tâches.
• Retour et navigation en arrière :
Pour faciliter la navigation et permettre aux utilisateurs de revenir en arrière, nous avons
intégré des fonctionnalités de retour et de navigation en arrière. Les utilisateurs peuvent
utiliser le bouton de retour du système d'exploitation pour revenir à l'écran précédent, ou
utiliser la fonction de navigation en arrière fournie dans l'interface de l'application pour
parcourir leur historique de navigation.

• Réalisation

La phase de réalisation de notre projet a consisté à développer les différentes interfaces de


l'application. Nous avons utilisé les technologies modernes et les bonnes pratiques de
développement pour garantir la qualité et la robustesse de notre solution.
Nous avons accordé une grande importance à l'interface utilisateur de l'application pour offrir
une expérience agréable aux utilisateurs. En nous basant sur les principes de conception
d'interface utilisateur (UI), nous avons créé des maquettes et des prototypes pour valider le
flux de navigation et la disposition des éléments. Nous avons utilisé des librairies et des outils
de conception tels que Matériel Design pour garantir une interface moderne et intuitive.
Figure 9: Menu administrateur

L'interface principale propose une mise en page claire et bien organisée, permettant aux
utilisateurs d'accéder facilement aux fonctionnalités essentielles de l'application.
Figure 10: Menu Chef de Projet
Figure 11: Menu Membre d’équipe

La création de compte est une étape importante pour nos utilisateurs. Nous avons développé
une interface dédiée, accessible depuis la page d'inscription.

Figure 12 : Button ChefsProjet du menu Administrateur pour creation du compte

Figure 13: Bouton Membres d’équipe du Menu Chef de Projet pour creation du compte

En plus des interfaces mentionnées ci-dessus, nous avons également développé d'autres
interfaces spécifiques pour répondre aux besoins de nos utilisateurs. Parmi elles, nous avons
créé des pages de détail, des formulaires interactifs et des interfaces de gestion de contenu.
Chaque interface a été soigneusement conçue pour offrir une expérience utilisateur optimale
Le bouton "Chefs Projet" joue un rôle essentiel. Il s'agit d'un outil centralisé permettant aux
administrateurs de gérer les chefs de projet au sein de l'organisation. Cette fonctionnalité
offre une interface conviviale et intuitive pour attribuer, suivre et mettre à jour les
responsabilités des chefs de projet.

Figure 14: Button ChefsProjet du menu Administrateur

Le bouton "Projet" joue un rôle clé. Il s'agit d'un outil centralisé qui permet aux
administrateurs d'accéder et de gérer tous les projets en cours au sein de l'organisation.

Figure 15 : Button Projet du menu Administrateur

Le bouton "Suivi" du menu Administrateur est une fonctionnalité essentielle de l'application.


Il offre aux administrateurs une vue d'ensemble complète de tous les projets en cours,
permettant ainsi un suivi précis et en temps réel de leur avancement.
Figure 16 : Button Suivi du menu Administrateur

Le bouton "Membres d'équipe" du menu Chef de Projet est une fonctionnalité clé de
l'application qui permet aux chefs de projet de gérer et d'organiser efficacement leur équipe
de travail. En utilisant ce bouton, les chefs de projet peuvent ajouter, modifier et supprimer
les membres de leur équipe, ainsi que gérer les rôles et les responsabilités de chacun.

Figure 17: Bouton Membres d’équipe du Menu Chef de Projet


Le bouton "Listes Membres d'équipe" du menu Membres d'équipe offre aux utilisateurs de
l'application une vue complète et détaillée des membres de leur équipe. En cliquant sur ce
bouton, les membres d'équipe peuvent accéder à une liste qui répertorie tous les membres
associés au projet.

Figure 18: Bouton listes Membres d’équipe du Menu Membres d’équipe

Le bouton "Tâches" du menu Chef de Projet permet aux responsables de projet de gérer et de
superviser toutes les tâches liées à leur projet. En cliquant sur ce bouton, le chef de projet
accède à une liste complète des tâches assignées à l'équipe.
Figure 19: Bouton Taches du Menu Chef de Projet

En utilisant les différentes sections du menu "Tâches", le chef de projet peut organiser et
gérer efficacement les tâches du projet, garantissant ainsi une exécution fluide, une
collaboration optimale de l'équipe et l'accomplissement des objectifs fixés.
Figure 20: les sections de menu Taches du Menu Chef de Projet

En utilisant la section "Mes Tâches", les membres de l'équipe peuvent gérer efficacement
leurs responsabilités, suivre leur travail individuel et collaborer de manière transparente avec
les autres membres de l'équipe.
Figure 21: Bouton Mes Taches du Menu Membres D’équipes
Le menu "Chat" favorise la communication efficace, la collaboration en temps réel et le
partage d'informations au sein de l'équipe. Il permet aux membres de rester connectés, de
résoudre les problèmes rapidement, de prendre des décisions conjointes et de maintenir une
communication transparente tout au long du projet.
Figure 22: Menu chat

Nous avons intégré différentes technologies pour enrichir les fonctionnalités de l'application.
Par exemple, nous avons utilisé une API de géolocalisation pour permettre aux utilisateurs de
localiser les projets sur une carte.

Nous avons également intégré une base de données SQLite pour stocker les informations des
projets et des tâches de manière sécurisée et efficace.
Après avoir développé les fonctionnalités principales, nous avons effectué des tests
approfondis pour détecter les éventuels bugs et assurer la stabilité de l'application. Nous
avons réalisé des tests unitaires pour vérifier le bon fonctionnement de chaque composant et
des tests d'intégration pour valider les interactions entre les différentes parties de
l'application. Nous avons corrigé les problèmes identifiés et nous nous sommes assurés que
l'application fonctionne correctement sur différentes versions d'Android
Nous avons optimisé les performances de l'application en utilisant des techniques telles que la
mise en cache des données, la gestion efficiente de la mémoire et l'optimisation des requêtes
vers la base de données. Nous avons également pris en compte les contraintes liées aux
ressources matérielles des appareils mobiles pour garantir une utilisation fluide de
l'application, même sur des appareils moins puissants.
• Tests et déploiement

Dans cette partie dédiée aux tests et au déploiement de notre application de gestion de projet,
nous avons réalisé des activités rigoureuses pour garantir la qualité, la fiabilité et la
performance de notre solution avant sa mise en production. Nous avons suivi une approche
méthodique comprenant plusieurs étapes clés pour assurer le bon fonctionnement de
l'application.
• Tests unitaires
Nous avons effectué des tests unitaires pour chaque composant et fonctionnalité de
l'application afin de vérifier leur bon fonctionnement individuellement. Ces tests ont été
réalisés en utilisant des Framework et des outils appropriés. Ils nous ont permis de détecter et
de corriger les erreurs et les dysfonctionnements au niveau du code.
Une fois les tests terminés avec succès, nous avons procédé au déploiement de l'application.
Nous avons utilisé des outils de déploiement tels que Google Play Store pour la distribution
de l'application sur les appareils Android. Nous avons également suivi les bonnes pratiques
de déploiement pour garantir la sécurité et la stabilité de l'application lors de son utilisation
par les utilisateurs.
Conclusion et perspectives

Le développement de cette application mobile pour la gestion de projet ouvre de nombreuses


perspectives pour l'entreprise Merjaninox. Tout d'abord, cette solution informatique permet
d'améliorer significativement l'efficacité et la productivité de l'équipe projet en simplifiant la
répartition des tâches, en favorisant l'organisation et la coordination, et en facilitant la
communication entre les membres de l'équipe. Grâce à la fonctionnalité de gestion proactive
des risques intégrée à l'application, l'entreprise peut également anticiper les obstacles
potentiels et mettre en place des stratégies d'atténuation adéquates, ce qui réduira les retards,
les dépassements budgétaires et les risques de non-conformité aux attentes des parties
prenantes.
De plus, l'application mobile offre des fonctionnalités de recherche avancée et de suivi de
progression du projet, ce qui permet aux responsables de projet d'avoir une vision globale de
l'avancement des différentes tâches et de prendre des décisions éclairées en temps réel. Cette
transparence accrue favorise la confiance et la satisfaction des parties prenantes, renforçant
ainsi la réputation de Merjaninox en tant que partenaire fiable et compétent dans la gestion de
projets.
Cependant, il existe plusieurs perspectives d'amélioration pour enrichir davantage
l'application.
Sur le plan du développement, certaines fonctionnalités pourraient être ajoutées
ultérieurement pour améliorer l'expérience utilisateur. Par exemple, l'ajout d'un module de
gestion des réunions permettrait aux utilisateurs de planifier et d'organiser des réunions
directement depuis l'application. De plus, l'intégration d'un service intelligent, tel qu'une
assistante vocale, pourrait faciliter l'interaction avec l'application et offrir une expérience plus
conviviale.
D'autres améliorations pourraient également être apportées sur le plan graphique. L'ajout
d'options telles que le basculement vers le mode sombre, le changement de langue et
l'intégration de couleurs pour représenter l'état d'avancement et la criticité des tâches et des
projets pourrait améliorer la convivialité et la personnalisation de l'application.
En conclusion, le développement de cette application mobile pour la gestion de projet
représente une avancée significative dans l'amélioration des processus de travail chez
Merjaninox. Grâce à cette solution informatique, l'entreprise pourra optimiser ses ressources,
réduire les risques et les obstacles, et améliorer la collaboration et la communication entre les
membres de l'équipe projet. En intégrant une approche proactive de gestion des risques,
Merjaninox se positionne en tant qu'entreprise innovante et axée sur l'amélioration continue
de ses processus. L'application mobile offre un potentiel prometteur pour accroître l'efficacité
globale de la gestion de projet, renforcer la satisfaction des parties prenantes et consolider la
position de Merjaninox en tant que leader dans son secteur d'activité.
Bibliographie

[1] Apprendre à programmer sur Android Studio à travers des formations


https://www.youtube.com/watch?v=35Bb2hJIKKg HYPERLINK
"https://www.youtube.com/watch?
v=35Bb2hJIKKg&list=PLrMZu04URlemBKhgst3KocUiT9iv-85nt"& HYPERLINK
"https://www.youtube.com/watch?
v=35Bb2hJIKKg&list=PLrMZu04URlemBKhgst3KocUiT9iv-
85nt"list=PLrMZu04URlemBKhgst3KocUiT9iv-85nt

https://www.youtube.com/watch?v=yT9syHJs4Xo HYPERLINK
"https://www.youtube.com/watch?v=yT9syHJs4Xo&list=PLVaasf-
927w7lMfrqWoGs458q17jgPBtg"& HYPERLINK "https://www.youtube.com/watch?
v=yT9syHJs4Xo&list=PLVaasf-927w7lMfrqWoGs458q17jgPBtg"list=PLVaasf-
927w7lMfrqWoGs458q17jgPBtg

https://www.youtube.com/watch?v=3ekIXqCO5n0 HYPERLINK
"https://www.youtube.com/watch?
v=3ekIXqCO5n0&list=PL1aYsXmhJ1We0IzYIHTtDNRiurKTUPM1E"& HYPERLINK
"https://www.youtube.com/watch?
v=3ekIXqCO5n0&list=PL1aYsXmhJ1We0IzYIHTtDNRiurKTUPM1E"list=PL1aYsXmhJ1
We0IzYIHTtDNRiurKTUPM1E

https://www.youtube.com/watch?v=wTZDkbnPdpE HYPERLINK
"https://www.youtube.com/watch?v=wTZDkbnPdpE&list=PLtDOowF52ol-
6fuMGaZszmIMfWwFvi7y3"& HYPERLINK "https://www.youtube.com/watch?
v=wTZDkbnPdpE&list=PLtDOowF52ol-6fuMGaZszmIMfWwFvi7y3"list=PLtDOowF52ol-
6fuMGaZszmIMfWwFvi7y3

[2] apprendre des notions importantes sur la programmation avec Kolín sur Android Studio
https://www.youtube.com/watch?v=ACOiGZoqC8w HYPERLINK
"https://www.youtube.com/watch?
v=ACOiGZoqC8w&list=PLDoPjvoNmBAw4eOj58MZPakHjaO3frVMF"& HYPERLINK
"https://www.youtube.com/watch?
v=ACOiGZoqC8w&list=PLDoPjvoNmBAw4eOj58MZPakHjaO3frVMF"list=PLDoPjvoNm
BAw4eOj58MZPakHjaO3frVMF
[3] apprendre le GitHub pour fusionner nos travaux Disponible à l’adresse:
https://reactnavigation.or

[4] GITHUB. Documentation sur les librairies et bugs [en ligne].


Disponible à l'adresse : https://github.com

[5] GITHUB, 2009. Wikipédia : l'encyclopédie libre [en ligne]. Disponible à l'adresse :
http://fr.wikipedia.org/w/index.php?title=GitHub HYPERLINK
"http://fr.wikipedia.org/w/index.php?title=GitHub&oldid=153686913"& HYPERLINK
"http://fr.wikipedia.org/w/index.php?title=GitHub&oldid=153686913"oldid=153686913

[6] NOETICSUNIL. App Development: Cordova vs React Native vs Xamarin vs DIY.


Noeticforce.com
https://noeticforce.com/mobile-app-development-cordova-vs-react-native-vsxamarin

[7] NPM. Documentation sur les librairies [en ligne]. Disponible à l'adresse:
https://www.npmjs.com

[8] Quel langage de programmation ? Application mobile iOS & Android.


Openclassrooms.com
https://openclassrooms.com/forum/sujet/quel-langage-de-programmation-5

[9] NODEJS FOUNDATION. À propos de Node.js. Nodejs.org [en ligne].


Disponible à l'adresse : https://nodejs.org/fr/about

[10] REACT NAVIGATION. Documentation sur la librairie React Navigation [en ligne].
Disponible à l’adresse http://developper.android.com
Annexe A 

Vous aimerez peut-être aussi