Académique Documents
Professionnel Documents
Culture Documents
Introduction Générale
Introduction Générale
De nos jours, il est devenu de plus en plus courant de faire appel à des professionnels pour
réaliser des travaux ou des services à domicile. Cependant, trouver le professionnel adapté à ses
besoins peut s'avérer difficile et chronophage. C'est dans ce contexte que nous avons développé
une application mobile qui permet à l'utilisateur de chercher des professionnels qualifiés et
disponibles pour intervenir chez lui.
Notre application a pour objectif de faciliter la vie de l'utilisateur en lui permettant de trouver
rapidement et facilement un professionnel pour répondre à ses besoins. En utilisant notre
application, l'utilisateur peut choisir parmi une large gamme de professionnels qualifiés, triés par
spécialité et zone géographique dans un temps réduit.
Nous avons choisi de développer cette application en raison de la croissance rapide des services
à domicile et de la nécessité de faciliter la recherche de professionnels compétents pour effectuer
des travaux chez soi.
Dans ce projet, nous présenterons en détail les fonctionnalités de notre application et les
technologies utilisées pour son développement. Nous aborderons également les enjeux de
sécurité et de confidentialité liés à l'utilisation d'une telle application. Enfin, nous évaluerons les
résultats obtenus par l'application et ses perspectives d'avenir.
Ce présent rapport présente tout le travail que nous avons réalisé tout au long de ce projet. Il se
divise en trois chapitres décrits brièvement comme suit :
• Le premier chapitre aborde le cadre général du travail au sein duquel le projet a été réalisé,
notre étude préalable, la spécification des besoins et la méthodologie utilisée.
• Le second chapitre présente, pour sa part, la conception de notre application et la description
des principes de la solution à l’aide du langage UML.
• Le troisième chapitre se focalise sur la description de l’environnement de travail et la
présentation du fonctionnement de la solution avec ses principaux aperçus graphiques
En conclusion, nous mentionnons les différents atouts de ce projet et nous récapitulons tout
le travail réalisé en proposant quelques perspectives capables d’améliorer encore plus notre
solution.
1
Chapitre 1 : Etude préalable
1. Introduction
L’étude préalable est une analyse permettant de vérifier la viabilité technique d’un
projet. En effet, dans ce chapitre nous fournirons une meilleure idée sur ce projet en le
comparant aux solutions utilisées actuellement tout en précisant les besoins fonctionnels et
non fonctionnels.
Il propose des solutions innovantes adaptées aux divers besoins de nos clients,
combinant expertise créative et les dernières technologies informatiques pour garantir des
services numériques efficaces et conviviaux. Il déploie également beaucoup d’efforts pour
créer des stratégies marketing solides qui garantiront le succès de son produit.
La réalisation de tout projet doit être précédée par une étude de l'existant qui détermine
les points faibles et les points forts des systèmes actuels et les besoins du client en vue de les
prendre en considération lors de la conception et de la réalisation. Cette section nous mène
alors à une étude basée sur les observations de différents outils spécialisés dans le domaine de
gestion de tournées. Cette étude nous permet de dégager et donner leurs atouts et leurs
faiblesses afin de déterminer les besoins et de les traiter.
La recherche d'un professionnel qualifié et fiable pour réaliser des travaux ou des
services à domicile peut être un processus difficile et fastidieux pour les particuliers. Les
clients potentiels doivent non seulement trouver des prestataires de services adaptés à leurs
besoins, mais aussi s'assurer qu'ils disposent des compétences, de l'expérience et des
qualifications nécessaires pour mener à bien les travaux ou les services requis.
« Ijeni » est une application mobile de prestation de service. Il permet aux utilisateurs de
demander de services et aux prestataires de service de recevoir des offres d’emploi.
L’application compte plusieurs utilisateurs et prestataires de service actif.
3
Figure 3: logo de l'application chantier.tn
Critique de l’existant
La critique de l'existant met en évidence les principaux des fonctionnements du système
actuel. Par la suite la situation actuelle présente les inconvénients suivants :
- L’application Ijeni ne fournit pas suffisamment d'informations sur les prix et les
tarifs pour les services proposés, ce qui peut décourager les utilisateurs de
Pour répondre aux besoins des utilisateurs qui cherchent à trouver rapidement et
facilement des professionnels qualifiés pour les services à domicile, notre projet d'application
mobile se concentre sur la création d'une plateforme de recherche innovante et facile à utiliser.
Nous prévoyons de développer une application mobile qui permettra aux utilisateurs de
trouver des professionnels triés par spécialité et zone géographique, et d'obtenir des
informations sur les services proposés, et une approximation de prix dans un intervalle bien
4
précis
Notre application mobile offrira également des fonctionnalités clés telles que la prise
de rendez-vous en ligne, la gestion des réservations et la possibilité de laisser des
commentaires et des avis sur les services proposés. Nous prévoyons également d'utiliser des
technologies de pointe pour assurer la sécurité et la fiabilité des professionnels proposés sur
notre plateforme, en vérifiant leurs certifications et qualifications avant de les autoriser à
offrir leurs services.
5
1.4.2 Besoins fonctionnels
Ces sont les actions et les réactions que le système doit faire suite à une demande d’un
acteur principal. Notre solution doit assurer les fonctionnalités suivantes à chacun de
ces acteurs.
1.4.2.1 Visiteur
Le visiteur a la possibilité de faire les tâches suivantes :
● S’inscrire : Créer un compte sur notre application
● Consulter les services : Il peut naviguer sur la plateforme, parcourir les services offerts
par les professionnels, et prendre une décision éclairée avant de s'inscrire ou de réserver
un service
1.4.2.2 Client
Le client a la possibilité de faire les tâches suivantes :
● Consulter les services : Il peut naviguer sur la plateforme, parcourir les services offerts
par les professionnels.
● Demander un service : il peut demander un service.
● Noter le service : Il peut donner une note au professionnel, la note sera marquée sur
son profil.
● Gérer son profil : Consulter, modifier et supprimer son profil.
1.4.2.3 Professionnel
Le professionnel a la possibilité de faire les tâches suivantes :
● Gérer son profil : Consulter, modifier et supprimer son profil.
● Gérer sa disponibilité : Préciser s’il est disponible pour la réservation ou non
● Consulter les statistiques : Voir les statistiques de son profile
● Gérer les Demande : Il peut accepter ou refuser les demandes des clients en temps réel
1.4.2.4 Administrateur
L’administrateur a la possibilité de faire les tâches suivantes :
● Gérer les clients : Consulter, ajouter, modifier et supprimer des clients
● Gérer les services : Consulter, ajouter, modifier et supprimer des services
● Consulter les avis : Consulter, ajouter, modifier et supprimer des avis
● Gérer les employés : Consulter, ajouter, modifier et supprimer des employés.
● Consulter les demandes
● Consulter les statistiques : Voir les statistiques de l’application.
6
1.4.3 Besoins non fonctionnels
Ce sont les besoins qui permettent de fournir un produit fiable qui respecte les exigences de
l’utilisateur et qui peut faire face à des risques de panne ou de dysfonctionnement. Les besoins
non fonctionnels de notre application seront :
● Confidentialité : Chaque utilisateur peut accéder à son espace sachant qu’il est déjà
authentifié à travers son login et mot de passe.
● Performance : Notre application doit être performante, autrement-dit, elle doit répondre
aux besoins de ses utilisateurs d’une façon optimale et en un temps réduit. - Le temps
de réponse : À la suite des actions des utilisateurs, l’application doit réagir dans un
délai raisonnable.
● La disponibilité : Le système doit être toujours accessible.
● Ergonomie : L’application offre une interface conviviale et facile à utiliser.
1.5 Méthodologie en de travail
Avec la complexité croissante des solutions logicielles, le besoin d'un ensemble de règles pour
organiser la programmation est devenu une nécessité absolue. Par conséquent, de nombreuses
lignes directrices sont apparues et ont été condensées dans ce que nous appelons aujourd'hui les
méthodologies de développement logiciel. L'objectif de ces méthodologies est de diviser le flux
de travail du projet en différentes phases dans l’intention d’une meilleure planification et
gestion.
1.5.1 Méthodologie en V
Pour notre projet nous avons opté pour la méthode en V qui est une amélioration du modèle en
cascade qui était auparavant le modèle le plus utilisé lors de la réalisation des projets. Le cycle
en V est composé de neuf (9) étapes appartenant à trois (3) grandes phases, à savoir :
conception, réalisation et validation, comme le montre la figure suivante
7
Figure 4:Schéma descriptif du modèle en V[1]
8
Figure 5:Diagramme de GANTT[2]
2. Conclusion
Ce chapitre a été dédié à la définition du contexte général du projet ainsi que la spécification des
besoins divers de l’application. Il nous a servi à bien comprendre le problème posé afin de préciser nos
objectifs à atteindre. Cet aperçu général est l’appui et le support de base de notre conception que nous
mettrons en évidence dans le chapitre qui suit.
9
Chapitre 2 : Etude Conceptuelle
Introduction
Dans le chapitre précédent, nous avons précisé les différents acteurs de notre solution
en détaillant les nombreuses fonctionnalités qu’ils seront capables d’exploiter. Nous arrivons
maintenant à l’une des phases les plus importantes lors du développement d’une application,
la conception. Dans cette étape nous allons présenter le diagramme de cas d’utilisation général
et raffiné, le diagramme de classes et les diagrammes de séquences.
.1 Définition UML
UML a été choisi comme langage de modélisation, car la notion UML est la plus
appropriée pour les projets orientés objets. Ce choix peut être justifié également par plusieurs
raisons :
Trois acteurs majeurs (Grady Booch, Ivra Jacobson et Jim Rumbaugh) se sont
regroupés au sein de la société rational pour définir le langage unifié UML. On se contente de
modéliser notre système en créant les trois diagrammes UML suivants :
10
Dans ce qui suit, nous présentons les diagrammes des cas d’utilisation avec une brève
description de chaque cas. Ensuite, nous introduisons le diagramme de classes qui nous
donnera une vue globale du système. Enfin nous passons au diagramme de séquences avec les
Scénario correspondants.
11
1.2.1 Diagramme de cas d’utilisation général
12
Diagrammes de cas d'utilisation raffinés de l’administrateur système [Web]
Nous allons présenter les cas les plus marquants tout en les analysant.
Le diagramme de cas d’utilisation raffiné de gérer les services est illustré par la figure
suivante:
Acteur Administrateur
13
une liste détaillée des
services
L’administrateur peut
ajouter un nouveau
service
L’administrateur peut
modifier les
informations du service
ou la supprimer
totalement
1.2.1.2 Diagramme de cas d'utilisation raffiné de gérer les utilisateurs
Le diagramme de cas d’utilisation raffiné de gérer les utilisateurs est illustré par la
figure suivante :
14
Post condition Affichage , ajout ,suppression et modification
des utilisateurs
Description L’administrateur affiche une liste détaillée
des utilisateurs
L’administrateur peut ajouter un nouvel
utilisateur
L’administrateur peut modifier les
informations du l’utilisateur ou le supprimer
totalement
Le diagramme de cas d’utilisation raffiné de gérer son profile est illustré par la figure
suivante :
15
Description Le client peut consulter son profile
16
Figure 11: Diagramme de classe
17
2. Conclusion
Dans de ce chapitre, nous avons défini l’aspect statique et l’aspect dynamique de notre
système grâce au diagramme de classes, une description détaillée des différents cas
d’utilisation et les diagrammes de séquences. Dans le chapitre suivant, nous allons procéder à
l’étape de réalisation de notre solution.
18
Chapitre 3 : réalisation
1. Introduction
Après la phase de conception, nous arrivons à une étape critique : la réalisation du
projet. Afin de réussir cette phase, il est important de choisir judicieusement les outils et les
technologies à utiliser
Dans cette sous-section, nous décrivons les Framework et les logiciels exploités pour
concevoir notre solution.
1.1.1.1 Node Js
Elle utilise la machine virtuelle V8, la bibliothèque libuv pour sa boucle d'évènements,
et implémente sous licence MIT les spécifications CommonJS.
19
Parmi les modules natifs de Node.js, on retrouve http qui permet le développement de
serveur HTTP. Ce qui autorise, lors du déploiement de sites internet et d'applications web
développés avec Node.js, de ne pas installer et utiliser des serveurs webs tels que Nginx ou
Apache.
1.1.1.2 Express Js
Express.js est un Framework pour construire des applications web basées sur Node.js.
C'est de fait le Framework standard pour le développement de serveur en Node.js. L'auteur
original, TJ Holowaychuck, le décrit comme un serveur inspiré de Sinatra dans le sens qu'il
est relativement minimaliste tout en permettant d'étendre ses fonctionnalités via des plugins.
1.1.1.3 Socket.io
Socket.IO est une bibliothèque qui permet une communication à faible latence,
bidirectionnelle et basée sur les événements entre un client et un serveur.
20
Figure 14 Logo socket.io [6]
1.1.1.4 Flutter
Flutter est un Framework open-source, parfois appelé kit de développement logiciel
(SDK), utilisé pour créer des applications multiplateformes compilées en mode natif.
Vous pouvez créer des solutions mobiles, web et Mac à partir d’une base de code
unique.
21
1.1.1.2 DART :
Le Dart est un langage de programmation développé par Google. Il a été conçu pour être utilisé
principalement dans le développement d'applications mobiles, en particulier avec le Framework
Flutter. Dart est un langage orienté objet, statiquement typé et destiné à la création d'applications
performantes.
1.1.3 Logiciel
Il s’agit d’un éditeur de code extensible gratuit et open-source développé par Microsoft.
22
Figure 19: Logo Android Studio[10]
Xcode
1.1.3.3 PostMan
PostMan est une application permettant de tester des API, créée en 2012 par Abhinav
Asthana, Ankit Sobti et Abhijit Kane à Bangalore pour répondre à une problématique de test
d'API partageable. D'abord module complémentaire de Google Chrome, puis client lourd, et
finalement client léger, elle est à présent utilisée par plus de 500 000 entreprises dans le
monde et a son siège à San Francisco
23
.
Figure 21: Logo Postman[11
24
Ce patron de conception répond aux besoins des applications interactives en séparant
les problématiques liées aux différents composants au sein de leur architecture respective. Les
trois principaux composants sont les suivants :
Dans cette partie, nous allons exposer quelques interfaces de notre application Mobile
en essayant de présenter les fonctionnalités les plus importantes dans notre travail.
25
1.3.1. Interface Authentification
26
Figure 24: interface d'acceuil
27
Figure 25: l'interface de demande d’un service
28
Figure 26: interface de gestion de profil
1 Conclusion
29
Conclusion générale et perspectives
Nous avons développé cette application en tenant compte des défis courants tels que la
difficulté de trouver des professionnels fiables et qualifiés, ainsi que la complexité de la
recherche et de la réservation des services à domicile. Notre application offre des
fonctionnalités clés telles que la recherche par spécialité et zone géographique, ainsi que la
prise de rendez-vous en ligne et la gestion des réservations.
Nous avons également pris en compte les besoins des utilisateurs en leur permettant de
laisser des commentaires et des avis sur les professionnels, favorisant ainsi la transparence et
la confiance.
En réalisant ce projet, nous avons relevé des défis techniques, tels que le
développement d'une interface utilisateur conviviale, l'intégration de fonctionnalités avancées
et la mise en place de mesures de sécurité robustes. Cependant, nous sommes fiers du résultat
final qui offre une expérience utilisateur améliorée et une solution pratique pour la recherche
de professionnels à domicile.
Pour l'avenir, nous envisageons d'élargir notre application pour couvrir d'autres
régions et secteurs de travail, offrant ainsi une plus grande variété de services à nos
utilisateurs. Nous continuerons également à mettre à jour et à améliorer notre application en
fonction des commentaires et des besoins des utilisateurs, afin de garantir une expérience
optimale et une satisfaction continue.
30
En résumé, notre projet d'application mobile a pour objectif de simplifier la recherche
de professionnels à domicile en offrant une plateforme conviviale, sécurisée et fiable. Nous
croyons fermement que notre application améliorera la vie des utilisateurs en leur permettant
de trouver rapidement les professionnels dont ils ont besoin, tout en favorisant des relations de
confiance et de qualité entre les utilisateurs et les professionnels.
31
Références
32
Tables des matières
Introduction générale .............................................................................. Error! Bookmark not defined.
Chapitre 1 : Etude préalable .................................................................................................................... 2
1. Introduction................................................................................................................................. 2
1.1 Présentation de la société ..................................................................................................... 2
1.2 Contexte générale de projet ....................................................................................................... 2
1.3 Etude de l‘existant ............................................................................................................... 3
1.3.1 Analyse de l’existant .................................................................................................. 3
1.3.1.1 L’application mobile ijeni : .......................................................................................... 3
1.3.1.2 Chantier Pro ................................................................................................................. 3
1.3.2 Solution envisagée ...................................................................................................... 4
1.4 Spécifications des besoins .................................................................................................... 5
1.4.1 Identification des acteurs ........................................................................................... 5
1.4.2 Besoins fonctionnels ................................................................................................... 6
2. Conclusion ..................................................................................................................................... 9
Chapitre 2 : Etude Conceptuelle ............................................................................................................ 10
Introduction............................................................................................................................... 10
.1 Définition UML..................................................................................................................... 10
2. Diagrammes de cas d’utilisation ............................................................................................ 11
1.2.1 Diagramme de cas d’utilisation général ...................................................................... 12
1.2.1.1 Diagramme de cas d'utilisation raffiné de gérer les services ........................................ 13
Cas d’utilisation .................................................................................................................................... 13
Gérer les services .................................................................................................................................. 13
Acteur................................................................................................................................................... 13
Administrateur .............................................................................................................................. 13
Pré condition ........................................................................................................................................ 13
Authentification ............................................................................................................................ 13
Post condition ....................................................................................................................................... 13
Description ........................................................................................................................................... 13
1.2.1.2 Diagramme de cas d'utilisation raffiné de gérer les utilisateurs .................................... 14
1.2.1.3 Diagramme de cas d'utilisation raffiné de gérer son profile ......................................... 15
1.3 Diagramme de classe ......................................................................................................... 16
3. Conclusion ................................................................................................................................ 18
Chapitre 3 : réalisation .......................................................................................................................... 19
1. Introduction............................................................................................................................... 19
1.1 Environnement de développement ..................................................................................... 19
1.1.1 Technologie utilisées................................................................................................. 19
1.1.1.1 Node Js ..................................................................................................................... 19
33
1.1.1.2 Express Js ................................................................................................................. 20
1.1.2 Langage de programmation ........................................................................................ 21
1.1.1.2 DART : ..................................................................................................................... 22
1.1.3 Logiciel ..................................................................................................................... 22
1.1.3.3 PostMan.................................................................................................................... 23
1.2. Les patrons de conception .................................................................................................. 24
1.2.1. Le patron MVC ........................................................................................................ 24
1.3. Présentation de la solution Mobile ..................................................................................... 25
1.3.1. Interface Authentification ........................................................................................ 26
1.3.2 Interface d’accueil .................................................................................................... 26
1.2.1 Interface demander un service : .............................................................................. 27
1 Conclusion ................................................................................................................................ 29
Conclusion générale et perspectives ...................................................................................................... 30
Références ............................................................................................................................................ 32
Liste des tableaux ................................................................................................................................. 35
34
Liste des figures
Figure 1 : logo de la société..................................................................................................................... 2
Figure 2: logo de l'application mobile Ijeni.............................................................................................. 3
Figure 3: logo de l'application chantier.tn ............................................................................................... 4
Figure 4:Schéma descriptif du modèle en V[1] ........................................................................................ 8
Figure 5:Diagramme de GANTT[2] ........................................................................................................ 9
Figure 6:Logo UML[3] ......................................................................................................................... 11
Figure 7:Diagramme de cas d'utilisation globale .................................................................................. 12
Figure 8 Diagramme de cas d'utilisation Gérer les services .................................................................... 13
Figure 9: Diagramme de cas d'utilisation Gérer les utilisateurs .............................................................. 14
Figure 10 : Diagramme de cas d'utilisation Gérer profile ...................................................................... 15
Figure 11: Diagramme de classe ........................................................................................................... 17
Figure 12 : logo de nodejs ..................................................................................................................... 20
Figure 13 : logo de expressjs ................................................................................................................. 20
Figure 14 Logo socket.io [6] ................................................................................................................. 21
Figure 15: Logo Flutter[7]..................................................................................................................... 21
Figure 16: Logo JavaScript ................................................................................................................... 21
Figure 17: logo DART .......................................................................................................................... 22
Figure 18 : logo de vscode .................................................................................................................... 22
Figure 19: Logo Android Studio[10] ..................................................................................................... 23
Figure 20: Logo Xcode ......................................................................................................................... 23
Figure 21: Logo Postman[11 ................................................................................................................. 24
Figure 22 :patron de conception MVC................................................................................................... 25
Figure 23: interface d'authentification ................................................................................................... 26
Figure 24: interface d'acceuil ................................................................................................................ 27
Figure 25: l'interface de demande d’un service...................................................................................... 28
Figure 26: interface de gestion de profil ................................................................................................ 29
35