Académique Documents
Professionnel Documents
Culture Documents
Présenté par :
M. MERJANE Ziad
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
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,
Remerciements
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:
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.
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
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.
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.
• 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.
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
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.
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é.
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.
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
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
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….
• Réalisation
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 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.
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.
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.
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
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
[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
[7] NPM. Documentation sur les librairies [en ligne]. Disponible à l'adresse:
https://www.npmjs.com
[10] REACT NAVIGATION. Documentation sur la librairie React Navigation [en ligne].
Disponible à l’adresse http://developper.android.com
Annexe A