Académique Documents
Professionnel Documents
Culture Documents
Projet Tutoré
Semestre S6
Mémoire
Intitulé : RZ Delivering
Présenté par:
AYOU Elmahdi
MOUHSSINE Youssef
Encadrant : Pr. EL FAR Mohamed
1
2
AVANT TOUT, NOUS TENONS à REMERCIER TOUTE PERSONNE QUI
NOUS A AIDÉ à LA RÉALISATION DU PROJET ET DE CE RAPPORT AU
LONG DE CES DEUX
DERNIERS MOIS DU PRES OU DE
LOIN.
FINALEMENT,
NOUS TENONS à REMERCIER L’ENSEMBLE DU CORPS PROFESSORAL
DU DÉPARTEMENT INFORMATIQUE SPÉCIALEMENT
A NOS PROFESSEURS ET MEMBRES DES JURES PRÉSENT QUI NOUS
FONT L’HONNEUR D’EXAMINER NOTRE TRAVAIL.
3
Ce projet est réalisé sous la demande de la société RZ business
sous forme d’une application Mobile Géographique (Client /
Vendeur) et une interface web.
4
T he Project carries out at the request of the company RZ
This study deals in particular with two main points which bring
together the client and service providers
For all this, a very detailed design will be mandatory for the
proper functioning of the project, a design carried out according
to the knowledgeof the UML modeling course.
5
LISTE DES FIGURES................................................................................................................................................. 8
LISTE DES TABLEAUX ........................................................................................................................................... 10
INTRODUCTION GENERALE .................................................................................................................................. 11
CHAPITRE 1 : ANALYSE ET ETUDE DE CAHIER DES CHARGES .................................................................................. 12
I. INTRODUCTION .................................................................................................................................................... 12
II. ÉTUDE DE CAHIER DES CHARGES .............................................................................................................................. 12
II.1. Problématique ....................................................................................................................................... 12
II.2. Les objectifs ........................................................................................................................................... 12
II.3. Étude de faisabilité ................................................................................................................................ 12
II.4. Nomination d’équipe de travail ............................................................................................................. 13
II.5. La solution proposée .............................................................................................................................. 13
III. SPECIFICATION DES BESOINS ................................................................................................................................... 14
III.1. Spécification des besoins fonctionnels ................................................................................................... 14
III.2. Spécification des besoins non fonctionnels ............................................................................................ 15
III.3. Avantages de notre solution .................................................................................................................. 15
I. INTRODUCTION .................................................................................................................................................... 18
II. PRESENTATION UML ............................................................................................................................................ 18
III. LES ACTEURS : ..................................................................................................................................................... 19
IV. DIAGRAMME DE CAS D’UTILISATION ......................................................................................................................... 19
V. DIAGRAMME DE CLASS .......................................................................................................................................... 27
VI. DIAGRAMMES DE SEQUENCE :................................................................................................................................. 28
VII. CONCLUSION : ................................................................................................................................................ 32
CHAPITRE III. LA TECHNOLOGIE UTILISEE ET REALISATION .............................................................................. 33
I. INTRODUCTION : .................................................................................................................................................. 33
II. ENVIRONNEMENT DE TRAVAIL : ............................................................................................................................... 33
II.1. Environnement logiciel .......................................................................................................................... 33
II.1.a. Environnement de développement ................................................................................................................... 33
II.1.b. Système de gestion de base de données ........................................................................................................... 34
II.1.c. Logiciel de retouche d'image ............................................................................................................................ 34
II.1.d. Logiciel de modélisation .................................................................................................................................... 34
II.2. CHOIX TECHNIQUE ................................................................................................................................. 35
II.2.a. Les langages de programmation ........................................................................................................................ 35
II.2.b. Les langages de description ............................................................................................................................... 36
II.3. L’architecture de l’application Android .................................................................................................. 37
II.4. Architecture MVC de l’application web ................................................................................................. 39
II.5. La base de données ................................................................................................................................ 40
III. LES INTERFACES GRAPHIQUES.................................................................................................................................. 41
III.1. L’application Client ............................................................................................................................... 42
III.1.a. L’inscription et l’Authentification....................................................................................................................... 43
6
III.1.b. Demander .......................................................................................................................................................... 45
III.2. L’application Vendeur ............................................................................................................................ 48
III.2.a. Authentification ................................................................................................................................................. 49
III.3. Interface web pour le gestionnaire ........................................................................................................ 51
III.3.a. Gestion des vendeurs......................................................................................................................................... 54
III.3.b. Gestion des dépôts ............................................................................................................................................ 57
III.3.c. Gestion de produits............................................................................................................................................ 58
IV. CONCLUSION ....................................................................................................................................................... 60
7
Liste des figures
8
9
Liste des tableaux
10
Introduction Générale
Vous l’avez probablement remarqué si vous prenez le temps d’observer ce qui se passe
autour de vous, une nouvelle génération de consommateurs adore naviguer sur leurs
appareils mobiles. Que ce soit pour magasiner, consulter une source d’information ou
simplement pour discuter avec des amis, les applications mobiles prennent de plus en plus
de place dans nos vies. Si la tendance se maintient, les applications mobiles deviendront le
meilleur moyen afin de rejoindre une clientèle grandissante.
Maintenant des petites et grandes entreprises veulent profiter de cette tendance et mettre
en disposition de leurs clients des applications qui les offrent certains services selon le type
de l’entreprise, afin de satisfaire les clients, et augmenter le chiffre d’affaire.
Parmi ces services on trouve le service de livraison. Le client, grâce à son smartphone,
sa tablette peut choisir et commander le produit qu’il veut et le vendeur, engagé avec
l’entreprise, va le livrer la commande à la maison.
Dans ce contexte vienne l’importance de notre projet intitulé RZ Delivering, qui a pour
le but de réaliser une application client/serveur avec une interface web simple pour la
l’entreprise RZ Business, Le présent rapport synthétise tout le travail que nous avons
problématique.
final de l’application
11
Chapitre 1 : Analyse et étude de cahier des charges
I. Introduction
Ce chapitre introduit le contexte général du projet. On va présenter le projet, la
problématique et la planification du projet.
Savoir s’il y a une rupture de stock ou non chez un vendeur, dans le cas d’une rupture
l’application informe le vendeur d’alimenter son stock dans le plus proche dépôt.
12
Chapitre I
deuxième est logiciel. Côté matériel, l’application a besoin d’un serveur dans lequel se
trouve une base de données contient toutes les informations et un ordinateur. Coté
développement, on a besoin des logiciels pour développer l’application mobile, et les scripts
de communications avec le serveur.
Donc l’application demandée est faisable, mais avec des petites modifications accordées
par le MOA.
D’une part le vendeur n’a pas besoin de choisir un trajet car les trajets sont affectés
automatiquement et d’une manière aléatoire aux vendeurs, avec un changement de l’ordre
d’affectation quotidienne.
Application Client : destinée pour les clients de l’entreprise, á partir de quelle le client
peut demander un produit d’une manière moderne chaque jour.
Interface web : pour le gestionnaire de l’entreprise, il gère avec cette interface la plupart
des composants de ce système (gestion des vendeurs, dépôts, produits).
13
Chapitre I
Application Client :
L’authentification de client.
Application Vendeur :
L’authentification de vendeur.
Consultation de stock.
Interface web :
L’authentification de gestionnaire.
14
Chapitre I
La disponibilité : l’application doit être disponible pour être utilisé par n’importe
quel utilisateur.
Une solution ouverte et évoluée : l’application peut être améliorée par l’ajout
d’autres fonctionnalités pour garantir la souplesse, l’évolutivité et l’ouverture de la
solution.
15
IV. Qualité de projet
IV.1. Cycle de vie
Nous avons choisi le cycle en V. Car
ce modèle est caractérisé par le
parallélisme. Dans ce modèle
verticalement nous trouvons les
étapes du développement et
horizontalement la vérification.
IV.2. Planification
Pour mieux planifier, analyser et contrôler le bon déroulement de la réalisation du
projet, ainsi qu’assurer une bonne qualité du produit dans des délais fixés et une
conformité entre ce qui est définie et ce qui est obtenu, nous avons utilisé les notions
de la gestion des projets informatiques et le respect des normes qualité. Dans ce
cadre nous allons présenter le diagramme de GANTT.
16
17
Chapitre II. Conception et modélisation
I. Introduction
Dans cette partie on présente quelques diagrammes qui schématisent les fonctionnalités
offertes par notre solution ainsi que leurs déroulements. Loin du code, cette représentation
est un moyen de communication entre le maître d’ouvrage et le développeur.
Diagramme de classe : Un diagramme de classes fournit une vue globale d'un système
en présentant ses classes, interfaces et collaborations, et les relations entre elles. Les
diagrammes de classes sont statiques : ils affichent ce qui interagit mais pas ce qui se passe
pendant l'interaction.
18
Chapitre II
III. Les acteurs :
Un acteur est l’archétype de l’utilisateur (personne, processus externe, ...) qui interagit
avec le système.
Client : son rôle consiste à demander des produits à partir de l’application client.
19
Chapitre II
Description du cas d’utilisation « création de compte client »
20
Chapitre II
Description du cas d’utilisation « connexion »
SOMMAIRE
Titre : Connexion des utilisateurs
But : La connexion des utilisateurs soit le client soit le vendeur.
Résumé : L’utilisateur clique sur le bouton « connexion vendeur » ou « connexion client » pour la
connexion a son espace.
Acteur : Vendeur, client.
DESCRIPTION DES ENCHAINEMENTS
Enchaînement alternatif
1.11.1. Client ou vendeur n’a pas rempli champ ou les données sont incorrectes.
1. Le système affiche un message d’erreur.
2. Retour à l’étape 1 du scénario nominal pour lancer à nouveau la connexion.1
21
Chapitre II
Description du cas d’utilisation « détails de vendeur »
SOMMAIRE
Titre : Détails de vendeur
But : Le vendeur peut savoir ses détails concernant le client
Résumé : Le vendeur clique sur le bouton « affiche détails » le système lui affiche une liste des
clients.
Acteur : Vendeur.
DESCRIPTION DES ENCHAINEMENTS
Pré conditions Post conditions
- vendeur est authentifié - affichage des détails de client.
Scénario nominal
1. Le vendeur se connecte à son application mobile par email et un mot de passe.
2. Le système affiche un bouton « affiche détails » et un bouton de position sur les clients.
3. Le vendeur clique sur « affiche détails » pour afficher ces clients et puis il clique sur un client
pour afficher ces détails.
4. Le système expose l’affichage de ses produits avec la quantité de chacune.
Enchaînement alternatif
22
Chapitre II
Description du cas d’utilisation « détails de client »
SOMMAIRE
Titre : Détails de client
But : Le client peut savoir ses informations
Résumé : Le client clique sur le bouton « affiche plus » le system lui affiche une liste de ses
informations.
Acteur : Client.
DESCRIPTION DES ENCHAINEMENTS
Pré conditions Post conditions
- client est authentifié - affichage des détails de client.
Scénario nominal
1. Le client se connecte à son application mobile par email et un mot de passe.
2. Il clique sur un bouton « affiche plus ».
3. Le système expose l’affichage de ses informations (nom, prénom, email, adresse, tele).
Enchaînement alternatif
23
Chapitre II
Description du cas d’utilisation « ajouter une demande »
SOMMAIRE
Titre : Demande
But : Le client peut Demander une quantité d’un produit à partir de l’application.
Résumé : Le client clique sur le bouton « ajouter » dans le fragment « demande » le système liste les produits le
client sélectionner un produit et de déterminer la quantité pour cette demande et la position et valider son
choix.
Acteur : Client.
DESCRIPTION DES ENCHAINEMENTS
Scénario nominal
1. Le client se connecte à son application mobile par l’email et un mot de passe.
2. Le client click sur le bouton « ajouter » dans le fragment « demande ».
3. Le système expose l’affichage des produits disponible selon leur catégorie.
4. Le client click sur un des produits affiché.
5. Le système affiche une fenêtre pour le choix de la quantité.
6. Le client choisi la quantité et définir par suite sa position.
7. Le système ajoute sa demande et l’affecter à un vendeur.
Enchaînement alternatif
24
Chapitre II
SOMMAIRE
Titre : Confirmation
But : Le client peut confirmer une demande.
Résumé : Le client clique sur le bouton de la confirmation.
Acteur : Client.
DESCRIPTION DES ENCHAINEMENTS
Enchaînement alternatif
Tableau 6 : Confirmation par client
25
Chapitre II
SOMMAIRE
Acteur : Vendeur.
1. Vendeur se connecte à son application mobile par l’email et un mot de passe, et basculer vers
le fragment de la carte.
2. Le système va afficher la carte, et des marqueurs représentent les demandes et les vendeurs.
Enchaînement alternatif
26
Chapitre II
V. Diagramme de class
27
Chapitre II
VI. Diagrammes de séquence :
Diagramme de séquence de la « création de compte client »
28
Chapitre II
Diagramme de séquence de la « connexion »
29
Chapitre II
Diagramme de séquence de la « détails vendeur »
30
Chapitre II
31
Chapitre II
VII. Conclusion :
Au cours de ce chapitre, nous avons conçu les différents composants de notre système.
Maintenant, nos applications sont prêtes à être codées. Le prochain chapitre concerne la
mise en place de nos applications.
32
Chapitre III
I. Introduction :
La phase de réalisation est une étape très importante dans le cycle de vie de nos
applications, cette phase permet de concrétiser notre projet par le développement des
interfaces et par des réalisations concrètes des fonctionnalités du système. Pour réaliser ces
applications nous avons en recourt à plusieurs outils de développement.
33
Chapitre III
34
Chapitre III
Plusieurs caractéristiques nous ont motiver à utiliser ce langage. D’abord il est Orienté-
objet, java intègre l'encapsulation, l'héritage, une gestion automatique de la mémoire …,
ensuite il est indépendant de la machine, sécurisé, et simple.
PHP est un langage de script côté Serveur. Il permet d’écrire des scripts qui
s’exécutent sur le serveur web afin de générer des pages HTML qui seront
envoyés par la suite vers le navigateur d’un côté, ou de générer un format
de données textuel JSON, qui sera envoyée au client, l’application mobile,
d’autre côté.
PHP est un module supporté par le serveur web Apache, le plus répandu
dans le monde, il permet d'exploiter facilement de très nombreuses bases
de données comme Oracle, MySQL, dBase, Sybase, PostgreSQL et MSQL, il s'exécute
rapidement avec une stabilité à toute épreuve, et il est multi plates-formes : Windows, UNIX
…
35
Chapitre III
36
Chapitre III
Dans l’architecture à trois niveaux, les applications au niveau serveur sont délocalisées,
c’est-à-dire que chaque serveur est spécialisé dans une tâche (serveur web/ serveur de base
de données par exemple). Il permet :
Une sécurité accrue car la sécurité peur être définie indépendamment pour chaque
service, et à chaque niveau.
De meilleures performances, étant donné le partage des tâches entre les différents
serveurs.
Cette architecture (appelée 3 tiers) fait intervenir trois parties indépendantes les unes des
autres :
37
Chapitre III
La couche présentation (ou affichage) associé au client qui de fait est dit « léger »
dans la mesure où il n’assume aucune fonction de traitement à la différence du
modèle 2-tiers. C’est la partie la plus immédiatement visible pour l’utilisateur.
Elle a donc une importance primordiale pour rendre l’information lisible,
compréhensible et accessible.
Dans notre projet, nous avons utilisé le protocole HTTP, afin de communiquer les
données entre la partie cliente mobile et le serveur web. En effet, Le HTTP est un protocole
qui définit la communication entre un serveur et un client (facilite le dispatch des fonctions).
En général, nous utilisons la méthode Post et Get, Dans notre cas la requête Get envoyée à
partir de l’application client vers le serveur est de la forme suivante :
JSON (JavaScript Object Notation) est un format de données textuel, générique, dérivé
de la notation des objets du langage ECMAScript. Il permet de représenter de l’information
structurée. Un document JSON ne comprend que deux éléments structurels : des ensembles
de paires nom/valeur ; des listes ordonnées de valeurs. Ces mêmes éléments représentent 3
types de données :
Des objets.
Des tableaux.
Des valeurs génériques de type tableau, objet, booléen, nombre, chaîne ou null.
Le principal avantage de l’utilisation de JSON, dans notre application, est qu’il est simple
à mettre en œuvre. Au rang des avantages, nous pouvons également citer :
38
Chapitre III
MVC, abréviation de Model, View, Controller, est un modèle de conception qui régit la
loi fondamentale selon laquelle la logique d'application doit être distincte de la présentation.
Il est un cadre architectural et également connu sous le nom de modèle de conception qui
divise une application en trois composants logiques principaux tels que:
Le modèle
La vue
Le control
Les trois composants sont très importants pour toute application car ils gèrent tous les
aspects de développement spécifiques de cette application. MVC fait partie des frameworks
de développement Web standard les plus utilisés pour la création de projets évolutifs et
extensibles.
MODÈLE: Il appartient à toutes les logiques liées aux données avec lesquelles
l'utilisateur travaille. Il peut être utilisé pour représenter:
39
Chapitre III
Par exemple, un objet Client récupère les informations client de la base de données, puis
les manipule et met à jour ses données dans la base de données.
Par exemple, la vue Client contient tous les composants de l'interface utilisateur tels que
les listes déroulantes, les zones de texte, etc. avec lesquels l'utilisateur final interagit.
Par exemple, le contrôleur client détient toutes les interactions et entrées de la vue client
et met à jour la base de données à l'aide du modèle client. Et ce contrôleur est également
utilisé pour afficher les données client.
40
Chapitre III
41
Chapitre III
Demande : qui contient tous les produits à demandés, le client peut les confirmer.
Le client peut demander un seul produit à la fois parmi les produits disponibles, après le
choix d’une quantité dans le cas de demande, le client va valider la demande puis cette
dernière va être ajouté dans le system, le client va finalement sélectionner la position dans
la carte géographique où il va reçu sa demande.
42
Chapitre III
43
Chapitre III
44
Chapitre III
III.1.b. Demander
45
Chapitre III
46
Chapitre III
47
Chapitre III
III.2. L’application Vendeur
Cette application permet au vendeur de s’identifier par son email et mot de passe, son
compte doit être créé par le gestionnaire de l’entreprise.
Dans son espace il voit sa photo de profile qu’il peut la changer, son nom, son prénom et
son téléphone, dans son espace aussi il y a un fragments :
48
Chapitre III
III.2.a. Authentification
49
Chapitre III
50
Chapitre III
51
Chapitre III
III.3. Interface web pour le gestionnaire
Dans cette interface, le gestionnaire peut gérer plusieurs composants du system :
La gestion des dépôts: Ici il peut ajouter un dépôt à condition qu’il y a un agent
pour travailler dans ce dernier, ce dépôt contient les différents produits de
l’entreprise, chaque produit peut être stocké dans des différents dépôts avec des
quantités différents, ces dernières se trouve partout dans la carte géographique, de
même le gestionnaire peut supprimer un dépôt.
52
Chapitre III
Ici le gestionnaire doit saisir son nom et mot de passe pour entrer à
l’accueille.
53
Chapitre III
En cliquant « Gestion des vendeurs » le gestionnaire voit un tableau de tous les vendeurs
et le nombre totale des vendeurs
On peut savoir tous les détails d’un vendeur en cliquant sur « nom de vendeur »
54
Chapitre III
55
Chapitre III
56
Chapitre III
On peut rechercher un vendeur par son nom et afficher le nombre des vendeurs trouvés
En cliquant « Gestion des dépôts » le gestionnaire voit un tableau de tous les dépôts et le
nombre totale des dépôts
57
Chapitre III
58
Chapitre III
En cliquant « Gestion des produits » le gestionnaire voit un tableau de tous les produits et le
nombre totale des produits
Il peut ajouter un produit avec son nom, son prix, son catégorie, son id et l’id de son dépôt
59
Chapitre III
IV. Conclusion
Dans ce chapitre nous avons présenté en détails le développement de notre système, Nous
avons commencé par présenter l’environnement logiciel, les choix techniques et les outils
de travail sur lesquels se base notre application, et enfin nous avons conclu par les scénarios
de test et de validation de l’application.
60
Conclusion générale
En effet, ce projet était une étape très importante dans notre cycle de formation vu qu’il
était une occasion très intéressante et bénéfique pour savoir comment appliquer sur le plan
pratique des connaissances théoriques déjà acquises et aussi il nous a permis d’acquérir de
nouvelles connaissances techniques.
C’est vrai que notre projet couvre tous les besoins de la société mais on peut ajouter des
nouvelles fonctionnalités comme les algorithmes décisionnels pour évaluer le rende de
chaque trajet, savoir le besoin de clients, et donne des suggestions pour le maximum
bénéfice.
61
Webographie
Documentation utile:
https://developer.android.com/docs
https://phpfrom0.blogspot.com/2016/08/organiser-son-code-selon-larchitecture.html
(documentation sur MVC)
Outils techniques :
https://developer.android.com/studio/ (Android Studio)
https://www.adobe.com/products/photoshop.html (Photoshop)
62