Vous êtes sur la page 1sur 75

Filière Sience Mathématrique et Informatique

Projet Tutoré
Semestre S6

Mémoire

Intitulé RZ Delivering
Présenté par:

DAHMAN Iliass
EZ-ZAIM Adnane
Encadrant : Mr EL FAR Mohamed

Soutenu le : Lundi 31 mai 2020

Jury : Examinateur 1 : Mr BENNANI Taj Mohamed

Examinateur 2 : Mr EL MOHAJIR Mohammed

Examinateur 3 : Mr ZINEDINE Ahmed

Encadrant : Mr EL FAR Mohamed

Année Universitaire : 2019/2020

1
2
A Dieu le tout puissant, le Majestueux, le glorieux et le bienveillant
A nos chers parents
A nos professeurs
A nos amies et nos camarades.

3
Remerciement

On remercie dieu le tout puissant de nous avoir donné la santé et la volonté d’entamer et
de terminer ce mémoire.

C’est un plaisir et un moment très agréable de rendre hommage et de formuler des


remerciements aux personnes qui, d’une manière ou d’une autre, ont apporté leur soutien et
contribué à finaliser ce travail.

Tout d’abord, ce travail ne serait pas aussi riche et n’aurait pas pu avoir le jour sans l’aide
et l’encadrement de Mr Mohamed EL FAR, on le remercie pour la qualité de son
encadrement exceptionnel, pour sa patience, sa rigueur et sa disponibilité durant notre
préparation de ce mémoire.

Notre remerciement s’adresse également à tous nos professeurs pour leurs générosités et
la grande patience dont ils ont su faire preuve malgré leurs charges académiques et
professionnelles. Nos profonds remerciements vont également à toutes les personnes qui
nous ont aidés et soutenue de près ou de loin principalement l’équipe de 000WebHost pour
leur assistance.

4
Résumé

Ce projet est réalisé sous la demande de la société RZ business sous forme de deux
applications Android Client et Vendeur et une interface web, il est destiné d’un côté pour
ses vendeurs qui travaillent dans des trajets spécifiques afin de faciliter leurs travails, et pour
l’autre côté aux clients qui veulent passer des demandes et des réservations depuis leurs
maisons et avoir une livraison à domicile , et finalement une interface web gérable par le
gestionnaire de l’application, afin d’ajouter, modifier ou supprimer : des vendeurs, produits,
promotions…, et réaffecter les trajets aux vendeurs de l’entreprise, ainsi d’autres
fonctionnalités.

5
Sommaire

---------------------------------------------------------------------------------------------------------------- 3
REMERCIEMENT ------------------------------------------------------------------------------------------------------- 4
RESUME ------------------------------------------------------------------------------------------------------------------ 5
SOMMAIRE -------------------------------------------------------------------------------------------------------------- 6
LISTE DES FIGURES ---------------------------------------------------------------------------------------------------- 8
LISTE DES TABLEAUX------------------------------------------------------------------------------------------------ 10
INTRODUCTION GENERALE --------------------------------------------------------------------------------------- 11
CHAPITRE I. 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é ---------------------------------------------------------------------------------- 13
II.4. Nomination d’équipe de travail ------------------------------------------------------------------ 13
II.5. La solution proposée -------------------------------------------------------------------------------- 14
II.6. Avantages de notre solution ---------------------------------------------------------------------- 14
III. SPECIFICATION DES BESOINS ----------------------------------------------------------------------------------- 15
III.1. Spécification des besoins fonctionnels ---------------------------------------------------------- 15
III.2. Spécification des besoins non fonctionnels ---------------------------------------------------- 16
IV. QUALITE DE PROJET -------------------------------------------------------------------------------------------- 16
IV.1. Choix de cycle de vie -------------------------------------------------------------------------------- 16
IV.2. Planification ------------------------------------------------------------------------------------------- 17
CHAPITRE II. CONCEPTION ET MODELISATION ------------------------------------------------------------ 19
I. INTRODUCTION ------------------------------------------------------------------------------------------------- 19
II. PRESENTATION UML ------------------------------------------------------------------------------------------ 19
III. LES ACTEURS : -------------------------------------------------------------------------------------------------- 20
IV. DIAGRAMME DE CAS D’UTILISATION --------------------------------------------------------------------------- 20
V. DICTIONNAIRE DE DONNEES ------------------------------------------------------------------------------------ 32
VI. DIAGRAMME DE CLASS ----------------------------------------------------------------------------------------- 36
VII. DIAGRAMMES DE SEQUENCE : ------------------------------------------------------------------------------ 37
VIII. CONCLUSION : ---------------------------------------------------------------------------------------------- 44

6
CHAPITRE III. LA TECHNOLOGIE UTILISEE ET REALISATION ---------------------------------------------- 45
I. INTRODUCTION : ----------------------------------------------------------------------------------------------- 45
II. ENVIRONNEMENT DE TRAVAIL : -------------------------------------------------------------------------------- 45
II.1. Environnement matériel --------------------------------------------------------------------------- 45
II.2. Environnement logiciel ----------------------------------------------------------------------------- 46
II.2.a. Environnement de développement --------------------------------------------------------------------- 46
II.2.b. Système de gestion de base de données -------------------------------------------------------------- 46
II.2.c. Logiciel de retouche d'image ---------------------------------------------------------------------------- 47
II.2.d. Logiciel de modélisation ----------------------------------------------------------------------------------- 47
II.2.e. Logiciel de planification ------------------------------------------------------------------------------------ 47
II.3. CHOIX TECHNIQUE ---------------------------------------------------------------------------------- 47
II.3.a. Les langages de programmation ------------------------------------------------------------------------- 47
II.3.b. Les langages de description ------------------------------------------------------------------------------- 48
II.4. L’architecture de l’application Android --------------------------------------------------------- 49
II.5. Architecture MVC de l’application web --------------------------------------------------------- 51
II.6. La base de données---------------------------------------------------------------------------------- 52
III. LES INTERFACES GRAPHIQUES ---------------------------------------------------------------------------------- 53
III.1. L’application Client ---------------------------------------------------------------------------------- 54
III.1.a. Fenêtre d’accueille ------------------------------------------------------------------------------------------ 54
III.1.b. Fenêtre de création de compte -------------------------------------------------------------------------- 55
III.1.c. Espace client -------------------------------------------------------------------------------------------------- 56
III.1.d. Ajouter demande -------------------------------------------------------------------------------------------- 57
III.1.e. Choix de quantité -------------------------------------------------------------------------------------------- 58
III.1.f. Définir la position -------------------------------------------------------------------------------------------- 59
III.1.g. le changement de photo de profile --------------------------------------------------------------------- 60
III.2. L’application Vendeur------------------------------------------------------------------------------- 61
III.2.a. Fenêtre d’accueille ------------------------------------------------------------------------------------------ 61
III.2.b. Espace Vendeur : -------------------------------------------------------------------------------------------- 62
III.2.c. Espace de vendeur ------------------------------------------------------------------------------------------ 63
III.2.d. Fonctionnalités supplémentaires ------------------------------------------------------------------------ 64
III.2.e. Les options de la carte : ------------------------------------------------------------------------------------ 65
III.2.f. La carte en plein d'écran ----------------------------------------------------------------------------------- 66
III.2.g. Notification---------------------------------------------------------------------------------------------------- 67
III.3. Interface web pour le gestionnaire -------------------------------------------------------------- 68
III.3.a. Gestion des vendeurs--------------------------------------------------------------------------------------- 68
III.3.b. Gestion des dépôts ------------------------------------------------------------------------------------------ 71
III.3.c. Gestion de produits ----------------------------------------------------------------------------------------- 72
IV. CONCLUSION --------------------------------------------------------------------------------------------------- 73
CONCLUSION GENERALE------------------------------------------------------------------------------------------- 74
WEBOGRAPHIE ------------------------------------------------------------------------------------------------------- 75

7
Liste des figures

FIGURE 1 : CYCLE DE VIE EN V ------------------------------------------------------------------------------------------- 17


FIGURE 2 : DIAGRAMME DE GANTT ----------------------------------------------------------------------------------- 18
FIGURE 3 : DIAGRAMME DE CAS D’UTILISATION ------------------------------------------------------------------------ 20
FIGURE 4:CAS D’UTILISATION « CRÉATION DE COMPTE CLIENT » ------------------------------------------------------- 21
FIGURE 5 : CAS D’UTILISATION « CONNEXION » ----------------------------------------------------------------- 22
FIGURE 6: CAS D’UTILISATION « DÉTAILS DE VENDEUR » ----------------------------------------------------- 23
FIGURE 7:CAS D’UTILISATION « DÉTAILS DE CLIENT » -------------------------------------------------------- 24
FIGURE 8:CAS D’UTILISATION « AJOUTER UNE DEMANDE » -------------------------------------------------- 25
FIGURE 9:CAS D’UTILISATION « AJOUTER UNE RÉSERVATION » -------------------------------------------- 26
FIGURE 10:CAS D’UTILISATION « CONFIRMATION PAR VENDEUR » --------------------------------------- 27
FIGURE 11:CAS D’UTILISATION « ANNULATION PAR VENDEUR » -------------------------------------------- 28
FIGURE 12:CAS D’UTILISATION « CONFIRMATION PAR CLIENT » ------------------------------------------- 29
FIGURE 13:CAS D’UTILISATION « ANNULATION PAR CLIENT » ----------------------------------------------- 30
FIGURE 14:CAS D’UTILISATION « VOIRE LA CARTE ------------------------------------------------------------- 31
FIGURE 15:DIAGRAMME DE CLASS -------------------------------------------------------------------------------------- 36
FIGURE 16:SÉQUENCE DE LA « CRÉATION DE COMPTE CLIENT » ----------------------------------------------- 37
FIGURE 17:SÉQUENCE DE LA « CONNEXION »------------------------------------------------------------------------ 38
FIGURE 18:SÉQUENCE DE LA « DÉTAILS VENDEUR ----------------------------------------------------------------- 39
FIGURE 19:SÉQUENCE DE LA « RÉSERVATION CLIENT » ---------------------------------------------------------- 40
FIGURE 20 : SÉQUENCE DE LA « DEMANDE CLIENT »--------------------------------------------------------------- 41
FIGURE 21:SÉQUENCE DE LA « CONFIRMATION »------------------------------------------------------------------- 42
FIGURE 22:SÉQUENCE DE LA « ANNULATION ------------------------------------------------------------------------ 43
FIGURE 23:SÉQUENCE DE LA « ÉTAT DE SOLDE VENDEUR » ------------------------------------------------------ 43
FIGURE 24:SÉQUENCE DE LA « L’AFFICHAGE DE LA CARTE » --------------------------------------------------- 44
FIGURE 25:ARCHITECTURE CLIENT/ SERVEUR -------------------------------------------------------------------------- 49
FIGURE 26:ARCHITECTURE MVC --------------------------------------------------------------------------------------- 51
FIGURE 27:LA BASE DE DONNEES---------------------------------------------------------------------------------------- 53
FIGURE 28:OUVERTURE DE L’APP CLIENT FIGURE 29: INTERFACE DE
LOGIN FIGURE 30:ESPACE CLIENT --------------------------------------------------- 54
FIGURE 31:RECEVOIR UN EMAIL ----------------------------------------------------------------------------------------- 55
FIGURE 32:CREATION D’UN COMPTE CLIENT
FIGURE 33:VALIDATION DE CODE --------------------------------------------------------------------------------- 55
FIGURE 34DIALOGUE D’AVIS -------------------------------------------------------------------------------------------- 56
FIGURE 35 : FRAGMENT DEMANDE FIGURE 36: FRAGMENT
RESERVATION FIGURE 37:INTERFACE DE DETAILS ---------------------------------------- 56

8
FIGURE 38:DIALOGUE DES PROMOS FIGURE 39:LES CATEGORIES DES PRODUITS
FIGURE 40:LES PRODUIT POUR DEMANDE OU RESERVE ----------------------------------------------------------- 57
FIGURE 41:DETERMINER DE QUANTITE (DEMANDE) FIGURE 42:DETERMINER DE QUANTITE (PROMO)
FIGURE 43:DETERMINER DE QUANTITE (RESERVATION) ---------------------------------------------------------- 58
FIGURE 44:DEMANDE L’AUTORISATION FIGURE 45: CHOIX DE POSITION
FIGURE 46: RECHERCHE DE POSITION ----------------------------------------------------------------------------- 59
FIGURE 47:CHOIX ET RECADRAGE D’IMAGE
FIGURE 48:RESULTAT DE CHANGEMENT DE PHOTO DE PROFILE -------------------------------------------------- 60
FIGURE 49:OUVERTURE DE L’APP CLIENT FIGURE 50: INTERFACE DE
LOGIN FIGURE 51:ESPACE CLIENT ---------------------------------------------------- 61
FIGURE 52 : CONFIRMATION D’ANNULATION --------------------------------------------------------------------------- 62
FIGURE 53:FRAGMENT DEMANDE --------- FIGURE 54:FRAGMENT
RESERVATION FIGURE 55:FRAGMENT CARTE -------------------------------------------- 62
FIGURE 56: LES PRODUITS FAIBLES FIGURE 57:LES PRODUIT DU VENDEUR
FIGURE 58: LES CATEGORIES DES PRODUITS DU VENDEUR -------------------------------------------------------- 63
FIGURE 59:CHOIX ET RECADRAGE D’IMAGE VENDEUR FIGURE 60: DEMANDE
D’ACCES AU POSITION COURANTE --------------------------------------------------------------------------------- 64
FIGURE 61:LES MARQUEURS DEMANDE/RÉSERVATION FIGURE 62: LE « HELP » DE LA CARTE
FIGURE 63:LE MARQUEUR DE DEPOT ----------------------------------------------------------------------------- 65
FIGURE 64:LA CARTE EN PLEINE D’ÉCRAN ------------------------------------------------------------------------------- 66
FIGURE 65:NOTIFICATION ----------------------------------------------------------------------------------------------- 67
FIGURE 66:PAGE DE LOGIN ---------------------------------------------------------------------------------------------- 68
FIGURE 67:PAGE D’ACCUEILLE ------------------------------------------------------------------------------------------ 68
FIGURE 68:PAGE DES VENDEURS ---------------------------------------------------------------------------------------- 68
FIGURE 69:DÉTAIL D’UN VENDEUR -------------------------------------------------------------------------------------- 69
FIGURE 70:LES PRODUITS DU VENDEUR --------------------------------------------------------------------------------- 69
FIGURE 71:FORMULE D’AJOUT D’UN VENDEUR ------------------------------------------------------------------------- 69
FIGURE 72:LA PAGE DES TRAJETS ---------------------------------------------------------------------------------------- 70
FIGURE 73:FORMULE D’AJOUT D’UN TRAJET ---------------------------------------------------------------------------- 70
FIGURE 74:RÉAFFECTATION DES TRAJETS ------------------------------------------------------------------------------- 70
FIGURE 75:LA PAGE DES DÉPÔTS ---------------------------------------------------------------------------------------- 71
FIGURE 76:FORMULE D’AJOUT D’UN DÉPÔT ---------------------------------------------------------------------------- 71
FIGURE 77:LA PAGE DES AGENTS ---------------------------------------------------------------------------------------- 71
FIGURE 78:FORMULE D’AJOUT D’UN AGENT ---------------------------------------------------------------------------- 72
FIGURE 79:LA PAGE DES PRODUITS-------------------------------------------------------------------------------------- 72
FIGURE 80:FORMULE D’AJOUT D’UN PRODUIT -------------------------------------------------------------------------- 72
FIGURE 81:LA PAGE DES PROMOTIONS---------------------------------------------------------------------------------- 73
FIGURE 82:FORMULE D’AJOUT D’UNE PROMOTION -------------------------------------------------------------------- 73

9
Liste des tableaux

TABLEAU 1 : CREATION DE COMPTE CLIENT ________________________________________________ 21


TABLEAU 2 : CONNEXION DES UTILISATEURS _______________________________________________ 22
TABLEAU 3 : DETAILS DE VENDEUR _____________________________________________________ 23
TABLEAU 4: DETAILS DE CLIENT _______________________________________________________ 24
TABLEAU 5: CREATION DEMANDE ______________________________________________________ 25
TABLEAU 6 : CREATION RESERVE ______________________________________________________ 26
TABLEAU 7: CONFIRMATION DE VENDEUR ________________________________________________ 27
TABLEAU 8 : ANNULATION DE VENDEUR__________________________________________________ 28
TABLEAU 9 : CONFIRMATION DE CLIENT __________________________________________________ 29
TABLEAU 10 : ANNULER RESERVATION CLIENT ______________________________________________ 30
TABLEAU 11 : VOIR LA CARTE ________________________________________________________ 31
TABLEAU 12 : DICTIONNAIRE DE DONNEES ________________________________________________ 35
TABLEAU 13: ENVIRONNEMENT MATERIEL ________________________________________________ 45

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 offre 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

gestion de déférents composants, afin de mettre en place un service de livraison pour

l’entreprise RZ business, Le présent rapport synthétise tout le travail que nous avons

effectué, il est composé de :

I. Le premier chapitre présente le contexte général du projet, la description du projet, la

problématique et la planification du projet.

II. Le deuxième chapitre concerne l’analyse et la conception, dans laquelle on présente

la méthode de modélisation et les déférents diagrammes.

III. Le dernier chapitre expose l’environnement matériel et logiciel utilisé et le résultat

final de l’application

11
Chapitre I. 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.

II. Étude de cahier des charges


II.1. Problématique
Le service de livraison devient un outil très connu par les entreprises pour gagner des
nouveaux clients, facilite la manière de vente et augmenter le chiffre d’affaire, alors c’est un
élément crucial de la réussite de l'entreprise.

II.2. Les objectifs


RZ business demande une application SMART pour la Gestion des vendeurs, et
Application Client-serveur, le client est une application SMART géographique et le serveur
contient la base de données Centralisée. L’application Smart permette de :

Gérer les quantités stockées chez chaque vendeur

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.

Donner aussi la possibilité au vendeur de consulter son compte pour savoir la


situation de son solde d’abonnement.

Donner la possibilité de savoir si un autre vendeur est déjà passé par un trajet ou non,
dans le cas de oui, donne le temps de passage?

Donner la possibilité à chaque vendeur de savoir les positions de chaque autre


vendeur.

Informer le vendeur par la position des plus proches clients potentiel

12
Chapitre I

Valider le client ayant un code de réservation.

Enregistrer le client, sa position et les quantités achetées

II.3. Étude de faisabilité


D’après l’analyse de cahier de charge et les différentes réunions avec le maitre d’ouvrage
MOA, nous sortons par deux besoins afin de réaliser ce projet : le 1er est matériel et autre
logiciel. Côté matérielle, 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é 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. Autrement dit un vendeur n’a pas besoin de savoir si un autre
vendeur est déjà emprunté son trajet ou non.

Finalement et afin de réaliser ce Projet, la période de 3 mois allouée, reste logique et


suffisante pour terminer ce projet.

II.4. Nomination d’équipe de travail


Pour le but de réaliser ce projet, et après une discussion entre l’équipe de travail, il est
décidé de travailler ensemble et de se collaborer dans les déférents taches du projet en
donnant le rôle de CHEF pour un entre nous dans chaque grande phase, pour éviter tous type
de conflit.

Il y a en générale deux grande phase, la conception et le développement, alors on était


d’accord de mettre EZ-ZAIM adnane un chef de conception, et DAHMAN iliass un chef de
développement.

13
Chapitre I

II.5. La solution proposée


Notre solution consiste á réaliser deux applications mobiles Client et Vendeur et une
interface web pour gérer les vendeurs, produits … :

Application Client : destiné pour les clients de l’entreprise, á partir de quelle le client
peut demander ou réserver un produit d’une manière moderne et profiter des promotions
chaque jour.

Application Vendeur : destiné à chaque vendeur de l’entreprise, avec laquelle il gère


son solde et son stock, et savoir les demandes et les réservations á livrées, en visualisant la
position exacte de chaque demande ou réservation ainsi que la position de dépôt s’il veut
charger son stock.

Interface web : pour le gestionnaire de l’entreprise, il gère avec cette interface plus part
des composant de ce system (gestion des vendeur, trajets, produits, promotions …).

II.6. Avantages de notre solution


Notre solution répond exactement au cahier de charge, et il apport plus d’amélioration
sur le projet, parmi ses avantages :

Gérer l’affectation des trajets au vendeur d’une manière dynamique.

Améliorer la façon de travail des vendeurs.

Gestion des vendeurs, produits et dépôts depuis une interface web.

Simplicité d’ajouter une promotion ou de le retirer.

Simple à manipuler notre application par l’utilisateur.

La connaissance des besoins des clients.

Consulter, acheter et recevoir le produit par un simple clic.

Savoir l’opinion des clients après la livraison.

Notifier le vendeur par les nouvelles demandes, réservations et l’état de son stock.

Bénéfice des promotions chaque jour.

14
Chapitre I

III. Spécification des besoins


La spécification de besoins constitue la phase de départ de toute application à développer
dans laquelle nous allons identifier les besoins de notre application. Nous distinguons des
besoins fonctionnels qui présentent les fonctionnalités attendues de notre application et les
besoins non fonctionnels pour éviter le développement d’une application non satisfaisante.

III.1. Spécification des besoins fonctionnels


Dans cette partie nous désignons les différents services offerts par notre application :

Application Client :

L’authentification de client.

Création de compte client.

Consulter les produits, et les promotions.

Demander ou réserver un produit.

Donner l’opinion sur le service.

Visualisation des produits déjà demandés ou réservés.

Annulation ou confirmation de demandes ou réservations.

Application Vendeur :

L’authentification de vendeur.

Consultation de stock et solde d’abonnement.

Visualisations des demandes et réservation d’aujourd’hui.

Visualisation des trajet et l’ensemble des position des demandes et réservations


dans la carte.

Annulation ou confirmation de demandes ou réservations.

Interface web :

L’authentification de gestionnaire.

15
Chapitre I

Gestion des vendeurs et leurs trajets

Gestion des dépôts et leurs agents.

Gestion des produits et promotions.

III.2. Spécification des besoins non fonctionnels


Les besoins non fonctionnels décrivent toutes les contraintes techniques, ergonomiques
et esthétiques auxquelles est soumis le système pour sa réalisation et pour son bon
fonctionnement. Et ce qui concerne nos applications, nous avons dégagé les besoins
suivants:

La disponibilité : l’application doit être disponible pour être utilisé par n’importe
quel utilisateur.

La sécurité de l’accès aux informations critiques : nous devons prendre en


considération la confidentialité des données de clients surtout au niveau de
l’authentification.

La fiabilité : les données fournies par l’application doivent être fiables.

La convivialité de l’interface graphique : l’application doit fournir une interface


conviviale et simple pour tout type d’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.

IV. Qualité de projet


IV.1. Choix de 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.

16
Chapitre I

Figure 1 : Cycle de vie en V

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.

17
Chapitre I

Figure 2 : Diagramme de GANTT

18
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.

II. Présentation UML


UML ( Unified Modelling Language ) est un langage standard, pour spécifier, visualiser,
concevoir et documenter tous les aspects d'un système d'information, il fournit un support
de communication : un langage graphique comportant 13 diagrammes standards (pour UML
2.0) représentant des 'vues' d'un système d'information, et il permet aussi d'exprimer et
d'élaborer des modèles objet, indépendamment de tout langage de programmation.

Nous allons présenter comme exemple de cette modélisation un ensemble de diagramme


de cas d'utilisation, diagramme de classe diagramme et de séquence.

Diagramme de cas d'utilisation : Un diagramme de cas d'utilisation capture le


comportement d'un système, permettent d'exprimer le besoin des utilisateurs d'un système,
ils sont donc une vision orientée utilisateur de ce besoin au contraire d'une vision
informatique.

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.

Diagramme de séquence: représentation graphique des interactions entre les acteurs et le


système selon un ordre chronologique dans la formulation Unified Modeling Language

19
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 ou réserver des produits à partir de l’application
client.

Vendeur : il a le rôle de livrer les produits aux clients.

Le gestionnaire : il gère les vendeurs, produits et dépôts.

IV. Diagramme de cas d’utilisation

Figure 3 : Diagramme de cas d’utilisation

20
Chapitre II
Description du cas d’utilisation « création de compte client »

Figure 4:cas d’utilisation « création de compte client »

SOMMAIRE
Titre : Création de compte client
But : La création d’un nouveau compte client.
Résumé : Le client clique sur le bouton « créer un compte » pour crée un nouveau compte client.
Acteur : Client.
DESCRIPTION DES ENCHAINEMENTS

Pré conditions Post conditions


- la création d’un nouveau compte client et
l’ajout de ce client á la base de données.
Scénario nominal
1.Le client clique sur le bouton « créer compte client »
2.Le client remplir tous les champs qui sont affiché par le système.
3.Le client clique sur le bouton validé pour envoie ces informations.
4.Le système va vérifier les informations des champs, et après va envoyer un email de la
validation à le client.
5. Le client entre le code de la validation.
6. Le système va ajouter les informations à la base de données.
7. Le client va connecter à son espace.
Enchaînement alternatif
1.11.1.a Client n’a pas rempli un 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.1

Tableau 1 : Création de compte client

21
Chapitre II
Description du cas d’utilisation « connexion »

Figure 5 : 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

Pré conditions Post conditions


- l’utilisateur avoir déjà un compte.

Scénario nominal
1. Le système afficher les champs pour faire la connexion.
2. L’utilisateur va remplir les champs qui sont affiché.
3. L’utilisateurs clique sur le bouton « connexion »
4. Le système va vérifier c’est cette espace existe ou non.
5. Le système afficher l’espace de cet utilisateur s’il existe.

Enchaînement alternatif
1.11.1.a Client 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

Tableau 2 : Connexion des utilisateurs

22
Chapitre II
Description du cas d’utilisation « détails de vendeur »

Figure 6: cas d’utilisation « détails de vendeur »

SOMMAIRE
Titre : Détails de vendeur
But : Le vendeur peut savoir ses détails concernant le solde et stock
Résumé : Le vendeur clique sur le bouton « affiche détails » le system lui affiche une liste de ses
produits et leurs quantités.

Acteur : Vendeur.
DESCRIPTION DES ENCHAINEMENTS
Pré conditions Post conditions
- vendeur est authentifié - affichage des détails de vendeur.

Scénario nominal
1. Le vendeur se connecte à son application mobile par email et un mot de passe.
2. Le système affiche l’état de solde et un bouton « affiche détails » et un bouton de notification
sur les produits faibles en quantité.
3. Le vendeur clique sur « affiche détails » pour afficher ces produits avec leur quantité.
4. Le vendeur clique sur « notification » pour afficher ces produits qui sont sous le seuil.
5. Le système expose l’affichage de ses produits avec la quantité de chacune.

Enchaînement alternatif
Tableau 3 : Détails de vendeur

23
Chapitre II
Description du cas d’utilisation « détails de client »

Figure 7:cas d’utilisation « détails de client »

SOMMAIRE
Titre : Détails de client
But : Le client peut savoir ses informations
Résumé : Le vendeur 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, télé).

Enchaînement alternatif

Tableau 4: Détails de client

24
Chapitre II
Description du cas d’utilisation « ajouter une demande »

Figure 8: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

Pré conditions Post conditions


- client est authentifié -l’enregistrement de la demande pour la
livraison.
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 avalable selon leur catégorie, et afficher un
dialogue contient les promotions d’aujourd’hui.
4. Le client click sur un de des produits afficher, ou bien sur une promo.
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. Lorsque le client terminer il clique sur le bouton « valider »
8. Le système ajoute sa demande et l’affecter à un vendeur selon le plan du trajet.

Enchaînement alternatif

Tableau 5: Création demande

25
Chapitre II
Description du cas d’utilisation « ajouter une réservation »

Figure 9:cas d’utilisation « ajouter une réservation »

SOMMAIRE
Titre : Réservation
But : Le client peut réserver une quantité d’un produit á partir de l’application.
Résumé : Le client clique sur le bouton « ajouter une réservation » le system lui affiche une liste
des produits pour sélectionner et déterminer la quantité et l'adresse de livraison.

Acteur : Client
DESCRIPTION DES ENCHAINEMENTS
Pré conditions Post conditions
- client est authentifié - enregistrer la réservation pour la livraison.

Scénario nominal
8. Le client se connecte à son application mobile par email et un mot de passe.
9. Le client clique sur « réservations »
10. Le client click sur bouton « ajouter »
11. Le système expose l’affichage des produits avalables selon leur catégorie.
12. Le client click sur un des produits.
13. Le system affiche une fenêtre pour le choix de la quantité et la date de livraison.
14. Lorsque le client terminer les choix il clique sur « valider »
15. Le système affiche une carte pour spécifier l'adresse de livraison.
16. Le client déterminer l'adresse de livraison click sur bouton « valider »
17. Le système ajoute la livraison et l’affecter à un vendeur selon le plan.

Enchaînement alternatif
1.11
Tableau 6 : Création réserve

26
Chapitre II
Description du cas d’utilisation « confirmation par vendeur »

Figure 10:cas d’utilisation « confirmation par vendeur »

SOMMAIRE
Titre : Confirmer
But : Le vendeur peut confirmer la demande / réservation si le client reçoit cette demande /
réservation, et le vendeur doit avoir un stock suffisant.
Résumé : Le vendeur se déplacer au fragment de la demande/réservation puis il clique sur le bouton
de la confirmation et comme ça la demande/réservation sera confirmer.

Acteur : Vendeur.
DESCRIPTION DES ENCHAINEMENTS

Pré conditions Post conditions


- vendeur est authentifié - enregistrer la confirmation de demande/réservation.

Scénario nominal
1.Le vendeur se connecte à son application mobile par email et un mot de passe.
2.Le vendeur se déplacé au fragment des « demandes » ou des « réservations ».
3.Le système va affichage toutes les demandes/réservations de ce vendeur.
4.Le vendeur choisir une et cliquer sur le bouton de la confirmation pour bien confirmer cette
demande/réservation.
5. La demande ou la réservation sera confirmée.
Enchaînement alternatif
1.11.
Tableau 7: Confirmation de vendeur

27
Chapitre II
Description du cas d’utilisation « annulation par vendeur »

Figure 11:cas d’utilisation « annulation par vendeur »

SOMMAIRE
Titre : Annulation (suppression)
But : Le vendeur peut annuler une demande/réservation s’il n’a pas un stock suffisant par
exemple.
Résumé : Le vendeur se déplacer au fragment de la demande/réservation puis il clique sur le bouton
de la suppression et comme ça la demande sera annulée pour lui.

Acteur : Vendeur.
DESCRIPTION DES ENCHAINEMENTS

Pré conditions Post conditions


- vendeur est authentifié - annulation de demande/réservation.

Scénario nominal
1. Le vendeur se connecte à son application mobile par email et un mot de passe.
2. Le vendeur se déplacé au fragment des « demandes » ou des « réservations »
3. Le système expose l’affichage de toutes les demandes/réservations
4. Le vendeur choisir une et cliquer sur le bouton de l’annulation.
5. La demande ou la réservation sera annulée.

Enchaînement alternatif

1.11.
Tableau 8 : Annulation de vendeur

28
Chapitre II
Description du cas d’utilisation « confirmation par client »

Figure 12:cas d’utilisation « confirmation par client »

SOMMAIRE
Titre : Confirmation
But : Le client peut confirmer une demande ou une réservation.
Résumé : Le client clique sur le bouton de la confirmation (demande/réservation), après le
système va demander au client de saisir un commentaire et son avis.

Acteur : Client.
DESCRIPTION DES ENCHAINEMENTS

Pré conditions Post conditions


- client est authentifié - la demande ou la réservation sera
confirmer.
Scénario nominal
1.Le client se connecte à son application mobile par email et un mot de passe.
2.Le client choisir passe à la liste de son « réservations » ou les « demandes ».
3.Le système expose l’affichage toutes les réservations/demandes.
4. Le client choisit la réservation/demande à confirmer, puis clique sur le bouton de la
confirmation.
5. Le system demande au client d’entrer un commentaire et son avis.
6. Le client saisir un commentaire et son avis puis il clique sur le bouton "validé" et la
réservation sera confirmer.
Enchaînement alternatif
Tableau 9 : Confirmation de client

29
Chapitre II
Description du cas d’utilisation « annulation par client »

Figure 13:cas d’utilisation « annulation par client »

SOMMAIRE
Titre : Annuler réservation
But : L’utilisateur peut annuler une Réservation.
Résumé : L'utilisateur clique sur le bouton "annuler réservation", après le système a demandé au
client de saisir un commentaire et son avis et par la suite il valide l'annulation de la
commande.
Acteur : Client.
DESCRIPTION DES ENCHAINEMENTS
Pré conditions Post conditions
- client est authentifié - annulation d’une réservation.

Scénario nominal
1.Le Client se connecte à son application mobile par email et un mot de passe.
2.Le Client choisir passe à la liste de son « réservations ».
3.Le système expose l’affichage toutes les réservations.
4. Le client choisit la réservation à annuler, puis clique sur le bouton "Annuler".
5. Le system demande au client d’entrer un commentaire et son avis.
6.Le client saisir un commentaire et son avis puis il clique sur le bouton "validé" et la
réservation sera annulée.
Enchaînement alternatif

Tableau 10 : Annuler réservation client

30
Chapitre II
Description du cas d’utilisation « voire la carte »

Figure 14:cas d’utilisation « voire la carte

SOMMAIRE
Titre : Voir la carte
But : Le vendeur peut naviguer vers la carte pour plus d’informations.
Résumé : Le vendeur clique sur la carte pour voir la zone de travail, les demandes, les réservations
et le dépôt le plus proche.
Acteur : Vendeur.
DESCRIPTION DES ENCHAINEMENTS

Pré conditions Post conditions


- vendeur est authentifié - la connaissance de plus de détails dans la
carte.
Scénario nominal
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/réservations/dépôts et une zone de travail.
3. Lorsque le vendeur clique sur un des marqueurs le system lui affiche les détails de client
concerné.
Enchaînement alternatif

Tableau 11 : Voir la carte

31
Chapitre II
V. Dictionnaire de données
Attribut Désignation Type

adresse_c L’adresse de client String

avisD L’avis de client pour une demande String

avisR L’avis de client pour une réservation String

categorie Catégorie de produit String

ClientClick La confirmation de client pour la demande Boolien

ClientConfirmer La confirmation de client pour la réservation Boolien

ClientDecline L’annulation de de vendeur pour la réservation Boolien

commentD Le commentaire de client a une demande String

commentR Le commentaire de client a une réservation String

day Le nom de jour de la semaine String

email_u L’adresse email de l’utilisateur String

Date_reservation La date d’une réservation Date

id_AgentDepot Id de l’agent de dépôt Int

id_Avoir Id de tableau avoir qui contient les produits pour chaque vendeur Int

id_Client Id de client Int

id_Demande Le id des demandes envoyer par un client Int

id_Depot Le id d’un dépôt de l’entreprise Int

id_ges Id de gestionnaire Int

id_logD Id de log de demande Int

id_logR Id de log de réservation Int

id_position Id de position Int

id_Produit Id de produit Int

id_promo Id de promotion Int

Id_reservation Id de la réservation Int

id_Trajet Id de trajet Int

32
Chapitre II
id_Utilisateur Le id de l’utilisateur Int

id_Vendeur Le id de Vendeur Int

id_VendeurPlan Id de plan des trajets de la semaine Int

Image_Produit Le URL d’image de produit String

img_promo Le URL d’image de la promotion String

login_agent Le login de l’agent de dépôt String

login_ges Le login de gestionnaire String

mot_de_pass Mot de passe de l’agent de dépôt String

nom_depot Le nom de dépôt String

nom_produit Nom de produit String

nom_u Le nom de l’utilisateur String

pass_ges Le mot de passe de gestionnaire String

passwd_ul Le mot de passe de l’utilisateur String

percent Le pourcentage de la promotion sur un produit Int

Point_Centre La position de centre de la zone de travaille pour le vendeur Position

prenom_u Le renom de l’utilisateur Sttring

prix Prix de produit Float

profileImg L’image de profil de l’utilisateur String

quantite_produit Quantité des produits pour chaque vendeur Double

quantite_pro_res La quantité d’un produit réservé. Int

quantite_res La quantité d’un produit demandé. Int

Quantitie_dep La quantité d’un produit dans le dépôt Int

solde_v Le solde de vendeur double

tele_depot Le numéro de téléphone de dépôt String

tele_u Le numéro de l’utilisateur String

VendeurConfirmer Le clique de confirmation de vendeur Boolien

VendeurDecline Le clique de l’annulation de vendeur Boolien

x Latitude Double

33
Chapitre II
y Longitude Double

Attribut Désignation Type

adresse_c L’adresse de client String

avisD L’avis de client pour une demande String

categorie Catégorie de produit String

ClientClick La confirmation de client pour la demande Boolien

ClientConfirmer La confirmation de client pour la réservation Boolien

ClientDecline L’annulation de de vendeur pour la réservation Boolien

commentD Le commentaire de client String

day Le nom de jour de la semaine String

email_u L’adresse email de l’utilisateur String

id_AgentDepot Id de l’agent de dépôt Int

id_Avoir Id de tableau avoir qui contient les produits pour chaque vendeur Int

id_Client Id de client Int

id_Demande Le id des demandes envoyer par un client Int

id_Depot Le id d’un dépôt de l’entreprise Int

id_ges Id de gestionnaire Int

id_logD Id de log de demande Int

id_logR Id de log de réservation Int

id_pos Id de position Int

id_Produit Id de produit Int

id_promo Id de promotion Int

id_Trajet Id de trajet Int

id_Utilisateur Le id de l’utilisateur Int

id_Vendeur Le id de Vendeur Int

id_VendeurPlan Id de plan des trajets de la semaine Int

image Le URL d’image de produit String

img_promo Le URL d’image de la promotion String

34
Chapitre II
login_agent Le login de l’agent de dépôt String

login_ges Le login de gestionnaire String

mot_de_pass Mot de passe de l’agent de dépôt String

nom_depot Le nom de dépôt String

nom_produit Nom de produit String

nom_u Le nom de l’utilisateur String

pass_ges Le mot de passe de gestionnaire String

passwd_ul Le mot de passe de l’utilisateur String

percent Le pourcentage de la promotion sur un produit Int

Pos_centre La position de centre de la zone de travaille pour le vendeur Position

prenom_u Le renom de l’utilisateur Sttring

prix Prix de produit Float

profileImg L’image de profil de l’utilisateur String

quantite_produit Quantité des produits pour chaque vendeur Double

quantite_pro_res La quantité d’un produit réservé. Int

quantite_res La quantité d’un produit demandé. Int

solde_v Le solde de vendeur double

tele_depot Le numéro de téléphone de dépôt String

tele_u Le numéro de l’utilisateur String

VendeurConfirmer Le clique de confirmation de vendeur Boolien

VendeurDecline Le clique de l’annulation de vendeur Boolien

x Latitude Double

y Longitude Double

Tableau 12 : Dictionnaire de données

35
Chapitre II
VI. Diagramme de class

Figure 15:Diagramme de class

36
Chapitre II
VII. Diagrammes de séquence :
Diagramme de séquence de la « création de compte client »

Figure 16:séquence de la « création de compte client »

37
Chapitre II
Diagramme de séquence de la « connexion »

Figure 17:séquence de la « connexion »

38
Chapitre II
Diagramme de séquence de la « détails vendeur »

Figure 18:séquence de la « détails vendeur

39
Chapitre II
Diagramme de séquence de la « réservation client »

Figure 19:séquence de la « réservation client »

40
Chapitre II
Diagramme de séquence de la « demande client »

Figure 20 : séquence de la « demande client »

41
Chapitre II
Diagramme de séquence de la « confirmation »

Figure 21:séquence de la « confirmation »

42
Chapitre II
Diagramme de séquence de la « annulation »

Figure 22:séquence de la « annulation

Diagramme de séquence de la « état de solde vendeur »

Figure 23:séquence de la « état de solde vendeur »

43
Chapitre II
Diagramme de séquence de la « l’affichage de la carte »

Figure 24:séquence de la « l’affichage de la carte »

VIII. Conclusion :
Au cours de ce chapitre, nous avons conçu les différents composants de notre système.

Maintenant, nos applications est prête à être codées. Le prochain chapitre concerne la
mise en place de nos applications.

44
Chapitre III. La technologie utilisée et réalisation

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.

Dans cette dernière partie on va présenter l’environnement matériel et logiciel utilisé


pour développer notre application, et le résultat final.

II. Environnement de travail :


II.1. Environnement matériel
Marque Lenovo Acer

Processeur INTEL CORE i5-7200U Inside INTEL CORE i5-6200U Inside

RAM 8GO 8Go

Disque dur 256GO SSD 1000GO HDD

Système Windows 10 Windows 10


d’exploitation
Tableau 13: Environnement matériel

45
Chapitre III

II.2. Environnement logiciel


II.2.a. Environnement de développement
Android Studio : Android Studio est un environnement de développement des
applications Android, est un des plus puissants éditeurs de code, il offre des
solutions plus rapides pour développer des applications performantes et de
qualité destinée aux appareils Android. De même il inclut tout ce dont vous
avez besoin pour développer une application : éditeur de code et débogueur
intelligents, outils d'analyse des performances, émulateurs, et bien plus

PHPSTORM Ce logiciel est un IDE pour PHP vraiment très puissant. Il est écrit en Java,
il propose une interface simple et efficace pour afficher les dossiers, sous-
dossiers et les fichiers d’un projet. De même il permet de gain le temps dans
le développement des applications web. il nous permet en plus de voir l’état
de nos variables ou objets dans le temps et de trouver plus facilement
l’origine d’un bug. Il a la capacité d'analyse du code et la retourne des
avertissements. De plus, il supporte le PHPDoc.

II.2.b. Système de gestion de base de données


MySQL est un système de gestion de base de données (SGBD). Selon le type
d'application, sa licence est libre ou propriétaire. Il fait partie des
logiciels de gestion de base de données les plus utilisés au monde,
autant par le grand public (applications web principalement) que par
des professionnels, en concurrence avec Oracle et Microsoft SQL
Server.

MySQL est un serveur de bases de données relationnelles SQL développé dans un souci
de performances élevées en lecture, ce qui signifie qu'il est davantage orienté vers le service
de données déjà en place que vers celui de mises à jour fréquentes et fortement sécurisées.
Il est multi-thread et multi-utilisateur.

46
Chapitre III

II.2.c. Logiciel de retouche d'image


Adobe Photoshop est un puissant programme d'édition d'images, retouche
d'image et de création graphique. Il en résulte un résultat de meilleure qualité.
Édité par la société Adobe. Constitue maintenant l'outil de base dans la plupart
des secteurs de l'industrie graphique.

II.2.d. Logiciel de modélisation


Enterprise Architect est un outil complet d'analyse et de conception d'UML, édité par la
société australienne Sparx Systems. Il comporte le rendement de
documentation de haute qualité de flexibilité, il est l'un des logiciels
de conception et de modélisation les plus reconnus.

II.2.e. Logiciel de planification


Microsoft Office Project, également appelé Microsoft Project, est un logiciel de gestion
de projets édité par Microsoft. Il permet la planification de projet, gérer les
ressources et le budget, ainsi que d'analyser et communiquer les données des
projets, et de même c’est le logiciel de gestion de projet le plus utilisé au
monde. Les principaux modules de Microsoft Project comprennent le travail
de projet et les équipes de projet, les calendriers et les finances. Il est conçu
pour aider les utilisateurs à définir des objectifs réalistes pour les équipes de projet et les
clients en créant des plannings, en répartissant les ressources et en gérant les budgets.

II.3. CHOIX TECHNIQUE


II.3.a. Les langages de programmation
Java est un langage de programmation inspiré du langage C++, avec un
modèle de programmation orienté objet. Le Java permet de créer des applications
interactives avec l’utilisateur, Une fois que vous avez écrit votre page elle ne
bouge plus. On ne peut pas gérer les clics ni rien donc c’est ce que va nous
permettre le java : créer l’interaction avec l’utilisateur.

47
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 …

II.3.b. Les langages de description


HTML: désigne un type de langage informatique descriptif. Il s'agit plus
précisément d'un format de données utilisé dans l'univers d'Internet pour la mise
en forme des pages Web. Il permet, entre autres, d'écrire de l'hypertexte, mais aussi
d'introduire des ressources multimédias dans un contenu.

CSS: est un acronyme pour Cascading Style Sheets ou feuille de style en


cascade en français., c’est le langage de balisage basé sur le Web utilisé pour
décrire l’apparence et la mise en forme d’un site Web dans le navigateur, le
plus couramment utilisé en HTML

XML:(Extensible Markup Language) est un langage qui permet de décrire des


données à l'aide de balises et de règles que l'on peut personnaliser.

48
Chapitre III

II.4. L’architecture de l’application Android


Client/ Serveur

Figure 25:Architecture Client/ Serveur

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 plus grande flexibilité/souplesse.

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 :

La couche de données liée au serveur de base de données (SGBD) : stockage et


accès aux données. Le système de stockage des données a pour but de conserver
une quantité plus ou moins importante de données de façon structurée. Nous
pouvons utiliser pour cette partie des systèmes très variés qui peuvent être des
systèmes de fichiers, des systèmes de bases de données relationnelles, etc.

49
Chapitre III

La logique applicative : il se compose généralement d’un script ou d’un


programme qui constitue les traitements métier nécessaires sur l’information afin
de le rendre exploitable par chaque utilisateur.

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.

Protocol et format de données

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 :

http://192.168.1.2:8080/nomapplication?parametre=valeur.

Format de données communiquées

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 :

Facile à apprendre, car sa syntaxe est réduite et non-extensible.

50
Chapitre III

Ses types de données sont connus et simples à décrire.

II.5. Architecture MVC de l’application web

Figure 26:Architecture MVC

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.

51
Chapitre III

MODÈLE: Il appartient à toutes les logiques liées aux données avec lesquelles
l'utilisateur travaille. Il peut être utilisé pour représenter:

Données en cours de transfert entre les composants View et Controller

Données liées à la logique métier

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.

VUE: Il est utilisé pour toute la logique UI de l'application.

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.

CONTRÔLEUR: Il appartient à l'interface entre les composants Model et View pour


traiter toutes les demandes entrantes et logiques de l'entreprise. Avec l'aide du composant
Contrôleur, nous sommes en mesure de manipuler les données à l'aide du composant Modèle
et de recevoir le résultat final.

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.

II.6. La base de données


Nous avons utilisé une base de données hébergé dans un site d’hébergement gratuit «
000.webhost.com » à cause du confinement.

52
Chapitre III

Figure 27:La base de données

III. Les interfaces graphiques


L’interface graphique est une partie très importante pour la réalisation d’une application
convenable, et conviviale offrant un certain plaisir l’utilisateur lors de sa navigation. Ainsi
ce critère peut faire la différence entre une application et un autre bien qu’elles aient les
mêmes fonctionnalités. Voici maintenant un ensemble de captures d’écrans de nos
applications.

53
Chapitre III
III.1. L’application Client
III.1.a. Fenêtre d’accueille
Au cas d’un client déjà identifier

Au cas non
identifier vous
passer ici

Figure 28:Ouverture de l’app client Figure 29: interface de login Figure 30:espace client

54
Chapitre III
III.1.b. Fenêtre de création de compte
En cliquant sur (créer un compte) elle vous affiche la fenêtre ci-dessous :

En cliquant sur « créer un compte » vous recevez


un code de confirmation sur l’email, que vous le
taper et cliquer sur valider

Figure 31:Recevoir un email

Figure 32:Création d’un compte client Figure 33:validation de code

55
Chapitre III
III.1.c. Espace client

Dans votre espace client vous pouvez naviguer entre les demandes et réservation et en cliquant « afficher plus » vous
allez voir vos informations

Quand vous allez confirmer


ou annuler vous voyez ce
dialogue pour qu’ il donne
son opinion

Figure 34Dialogue d’avis

Figure 35 : Fragment demande Figure 36: fragment réservation Figure 37:interface de détails

56
Chapitre III
III.1.d. Ajouter demande

En cliquant ajouter dans le fragment demande vous pouvez sélectionner un des promotions d’aujourd’hui ou bien ignorer
tous et choisir un produit selon 3 catégories. Mais si vous avez cliqué sur ajouter depuis le fragment réservation vous
allez directement aux produits, sans passer par les promotions.

Figure 38:Dialogue des promos Figure 39:les catégories des produits Figure 40:les produit pour demande ou réserve

57
Chapitre III
III.1.e. Choix de quantité

Voici les déférents interfaces de détermination des quantités selon votre choix

Le cas de demande Le cas de promotion Le cas de réservation


Le cas de demande

Figure 41:déterminer de quantité (demande) Figure 42:déterminer de quantité (promo) Figure 43:déterminer de quantité (réservation)

58
Chapitre III
III.1.f. Définir la position

Après avoir choisir la quantité et donner l’autorisation de connaitre votre position vous passer
à préciser la position de votre demande/réservation.

Figure 44:Demande l’autorisation Figure 45: choix de position Figure 46: recherche de position

59
Chapitre III
III.1.g. le changement de photo de profile

Voici une autre fonctionnalité, en cliquant


sur plus sous la photo de profile vous
pouvez la changer

Figure 47:Choix et recadrage d’image Figure 48:résultat de changement de photo de profile

60
Chapitre III
III.2. L’application Vendeur
III.2.a. Fenêtre d’accueille
Au cas d’un vendeur déjà identifier

Au cas non
identifier vous
passer ici

Figure 49:Ouverture de l’app client Figure 50: interface de login Figure 51:espace client

61
Chapitre III
III.2.b. Espace Vendeur :

Dans votre espace vendeur vous pouvez naviguer entre les demandes, réservations et la carte et vous pouvez voir l’état
de solde et les notifications sur les produits faible en quantité.

Figure 52 : confirmation d’annulation

Figure 53:Fragment demande Figure 54:fragment réservation Figure 55:fragment carte

62
Chapitre III
III.2.c. Espace de vendeur

En cliquant sur Le bouton de la notification En cliquant sur le bouton afficher plus pour voir les produits de ce vendeur selon les
pour voir les produits qui faible en quantité. catégories.

Figure 56: Les produits faibles Figure 57:les produit du vendeur Figure 58: les catégories des produits du vendeur

63
Chapitre III
III.2.d. Fonctionnalités supplémentaires

En cliquant sur la photo de profil pour Pour accéder a la carte il faut donner l’autorisation
la changer pour connaitre la position courante

Figure 59:choix et recadrage d’image vendeur Figure 60: demande d’accès au position courante

64
Chapitre III
III.2.e. Les options de la carte :

Voici les différents options du fragment de carte en fonction de votre besoin

Les marqueurs demande/réservation Le « help » de la carte La position du plus proche dépôt


avec la longueur de chemin de chacune

Figure 61:Les marqueurs demande/réservation Figure 62: Le « help » de la carte Figure 63:le marqueur de dépôt

65
Chapitre III
III.2.f. La carte en plein d'écran

Nous avons ajouté une version pleine d’écran avec les mêmes options de la carte de la carte pour facilite les choses au
vendeur

Figure 64:La carte en pleine d’écran

66
Chapitre III
III.2.g. Notification

Lorsque on a une nouvelle commande/réservation vienne ou un produit faible en quantité le


vendeur va recevoir une notification comme il est mentionner ci-dessous

Figure 65:Notification

67
Chapitre III
III.3. Interface web pour le gestionnaire

Ici le gestionnaire doit saisir


son login et mot de passe pour
entrer à l’accueille.

Figure 66:Page de login

Voici une page simple


d’accueille

Figure 67:Page d’accueille

III.3.a. Gestion des vendeurs

En cliquant « Gestion des


vendeur » le gestionnaire voit un
tableau de tous les vendeurs

Figure 68:Page des vendeurs

68
Chapitre III

On peut savoir tous les détails


d’un vendeur en cliquant sur
« détail »

Figure 69:Détail d’un vendeur

On peut lister ses produits en


cliquant sur « afficher tous »

Figure 70:Les produits du vendeur

On peut ajouter un nouveau


vendeur s’il y a déjà un trajet
vide pour lui

Figure 71:Formule d’ajout d’un vendeur

69
Chapitre III

Dans la même page « gestion


de vendeurs » on peut voir nos
trajets

Figure 72:La page des trajets

En cliquant « ajouter » dans la


table on peut ajouter un trajet

Figure 73:Formule d’ajout d’un trajet

Dans la partie « vendeurs » on


peut réaffecter les trajets pour
nos vendeurs (il faut que le
nombre des vendeurs soit égale
au nombre des trajets)

Figure 74:Réaffectation des trajets

70
Chapitre III
III.3.b. Gestion des dépôts

En cliquant « Gestion des dépôts »


le gestionnaire voit un tableau de
tous les dépôts

Figure 75:La page des dépôts

Il peut ajouter un dépôt comme il


peut le supprimer

Figure 76:Formule d’ajout d’un dépôt

Dans la même partie on peut


gérer les agents de dépôts aussi

Figure 77:La page des agents

71
Chapitre III

En cliquant « ajouter » dans le


tableau on peut ajouter un agent
de dépôt

Figure 78:Formule d’ajout d’un agent

III.3.c. Gestion de produits

En cliquant « Gestion des


produits » le gestionnaire voit un
tableau de tous les produits

Figure 79:La page des produits

Il peut ajouter un produit avec


son nom, son prix, sa image et sa
catégorie

Figure 80:Formule d’ajout d’un produit

72
Chapitre III

Dans la même partie il peut voir et


gérer les promotions

Figure 81:La page des promotions

Et il peut ajouter une promotion


qui référence sur un produit,
comme il peut le supprimer

Figure 82:Formule d’ajout d’une promotion

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 matériel et 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.

73
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.

Au même temps, nous avons appris l’importance de la recherche et de la communication


pour l’obtention des bonnes informations. Ainsi que l’importance de la gestion du temps et
de la planification des tâches pour le bon déroulement des travaux. Et grâce à un
environnement favorable pour le travail et la coordination d’efforts, nous avons pu réaliser
le projet demandé dans le cahier de charge et l’enrichi avec autre fonctionnalités afin de le
rendre plus efficace, et adorable.

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.

74
Webographie

MAPBOX pour la gestion des cartes :


https://www.mapbox.com/ (site officiel)

https://docs.mapbox.com/ (documentation mapbox)

Le hosting online :
https://www.000webhost.com/ (site de hosting online gratuit)

Documentation utile:
https://developer.android.com/docs

https://developer.android.com/guide/components/fragments (les fragment)

https://developer.android.com/guide/topics/ui/dialogs (les dialogs)

https://github.com/ArthurHub/Android-Image-Cropper (API de recadrage d’image)

https://javaee.github.io/javamail/docs/api/ (API pour envoi des emails)

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.jetbrains.com/phpstorm/ (PhpStorm)

https://sparxsystems.com/products/ea/15.1/ (Enterprise Architect)

https://www.adobe.com/products/photoshop.html (Photoshope)

75

Vous aimerez peut-être aussi