Rapport Final
Rapport Final
Encadreurs(s):
Dr. Ahmad Khoureich KA Présenté par :
BABACAR DIOUF
MOUSSA SENE
Année académique
2021/2022
CONCEPTION ET REALISATION D’UNE APPLICATION DE GESTION DE RESTAURANT
2
CONCEPTION ET REALISATION D’UNE APPLICATION DE GESTION DE RESTAURANT
Dédicace
A nos très chers parents, nous tenons à exprimer toute notre gratitude pour leur amour,
leur tendresse, leurs sacrifices, leur soutien, leurs prières, leurs investissements et leur
patience tout au long de nos études. Nous tenons également à rendre hommage à nos
mères Khady SALL et Mbene Dione, que le paradis soient leurs éternel demeure.
Nous tenons à remercier chaleureusement nos chers oncles, tantes, frères, sœurs, cousins,
cousines et nos camarades étudiants. Aucune dédicace ne saurait exprimer l’immense
gratitude que nous éprouvons en vers envers vous. Grand MERCI.
A toutes les familles DIOUF, DIONE, SALL et SENE, nous tenons à les remercier pour leur
soutien tout au long de notre parcours universitaire. Nous adressons également nos
sincères remerciements à nos chers amis (es) qui nous ont toujours encourages et à qui
nous souhaitons beaucoup de succès.
MERCI
3
CONCEPTION ET REALISATION D’UNE APPLICATION DE GESTION DE RESTAURANT
Remerciements
Nous rendons grâce à Dieu le Tout-puissant et Miséricordieux de nous avoir donné la
volonté d’entreprendre et de terminer ce mémoire.
Ce travail n’aurait pas vue le jour sans l’aide et l’encadrement de Dr. Ahmad Khoureich
KA, à qui nous exprimons notre gratitude pour la qualité exceptionnelle de son
encadrement, sa patience, sa rigueur, son suivi, ses suggestions et sa disponibilité tout au
long de la préparation de ce mémoire.
Nos remerciements s’adressent également à nos familles pour leur soutien moral et
encouragement.
Enfin, nous remercions tous ceux qui ont contribués de près ou de loin à la réalisation de
notre travail.
4
CONCEPTION ET REALISATION D’UNE APPLICATION DE GESTION DE RESTAURANT
5
CONCEPTION ET REALISATION D’UNE APPLICATION DE GESTION DE RESTAURANT
6
CONCEPTION ET REALISATION D’UNE APPLICATION DE GESTION DE RESTAURANT
7
CONCEPTION ET REALISATION D’UNE APPLICATION DE GESTION DE RESTAURANT
Introduction Général
Le monde connaît aujourd’hui une avancée technologique considérable dans tous les secteurs
d’activité, et cela, grâce à l’informatique. Avec la technologie, le temps de recherche des données a chuté
de manière considérable, sa croissance rapide fait que nous observons la naissance de nouvelles
technologies qui vont nous faciliter la tâche dans notre vie quotidienne. Ainsi, l’informatique a été d’une
aide précise pour bon nombre de domaines. En effet, cette science a impacté considérablement la gestion
des restaurants. Avant l’introduction de l’informatique, ont assisté à l’augmentation de l’automatisation de
certaines tâches de l’entreprise afin de réduire les charges des employés, la transparence, les risques
d’incohérence, en un mot de faciliter le travail des employés. Ainsi le restaurant aura du mal à gérer
rapidement les commandes en ligne, la gestion efficace des stocks est crucial pour éviter les gaspillages et
les coûts supplémentaires. C’est pour remédier à tous ces problèmes que nous proposons une application
(SENRESTAURANT) permettant de gérer de manière efficace les commandes, le stock, les réservations
et les employées des restaurants.
L’objectif de notre application est que nous soyons à mesure : d’accroître l'efficacité et améliorer
les services fournis par le restaurant en rationalisant le processus de commande et de livraison en ligne, de
facilitée la surveillance en temps réel des niveaux de produits et la création d'alerte en cas de manque de
stock.
Notre travail est constitué de deux parties que nous détaillerons comme suit : Tout d’abord, il s’agira pour
nous d’aborder la conception de l’application, et avant de faire l’analyse des besoins, élaborer les
différents diagrammes afin de faire une description textuelle des cas d’utilisation, nous parlerons de
l’informatique dans le secteur de la restauration, son apport et les atouts qu’il présente pour le secteur.
Enfin nous traiterons la réalisation de l’application, en mentionnant les outils et technologies utilisés et
présenter les interfaces de l’application.
8
CONCEPTION ET REALISATION D’UNE APPLICATION DE GESTION DE RESTAURANT
Introduction
L’analyse et la conception sont faites autour d’un concept, d’un processus qui porte une philosophie
de mise en place d’un système logiciel. La première étape de la conception consiste à analyser la situation
pour tenir compte des contraintes, des risques et de tout autre élément pertinent afin de développer un
système répondant aux besoins du client suivant un processus. Un processus définit une séquence d'étapes,
partiellement ordonnée, qui concourent à l'obtention d'un système logiciel ou à l'évolution d'un système
existant. L'objectif d'un processus de développement est de produire des logiciels de qualité qui répondent
aux besoins de leurs utilisateurs dans des temps et des coûts prévisibles.
Le processus que nous avons suivi pour la réalisation de notre projet est le processus unifié. En effet, le
processus unifié semble être la solution idéale pour nous, il regroupe toutes les activités à mener pour
transformer les besoins d'un utilisateur en un système logiciel quelle que soit la classe, la taille et le domaine
d'application de ce système. Ainsi, nous utilisons le langage de modélisation unifié (UML) qui est une partie
intégrante du processus unifié pour décrire les différents aspects du système. UML met à disposition
plusieurs diagrammes qui permettent de décrire tout un système.
Dans la suite de ce chapitre, nous allons dans un premier temps effectuer l’informatique au service du
restaurant, ensuite élaborer l’analyse des besoins et enfin concevoir les différents diagrammes.
Les difficultés que connait la plupart des restaurants comme la gestion des commandes de ces clients et
aussi la carte de menu ne laisse pas la tâche facile aux clients de retrouver un article. Vue que ce menu n’a
pas d’image du plat proposer et qu’il change souvent, cette forme de travail pose souvent des préjudices,
pour cela, le choix d’une application informatique multiplateforme avec ses influences devant permettre de
fluidité le processus de traitement des commandes et d’éviter ainsi la falsification constatée en forte période
reste indispensable. C’est dans ce cadre que s’inscrit notre projet de fin d’étude. En effet, nous cherchons
à mettre sur pied un environnement qui renvoie à une conception et réalisation d’un logiciel multiplateforme
de gestion d’un restaurant. De tout ce qui précède, nous nous trouvons face à trois problèmes qui vont nous
préoccuper dans notre recherche :
9
CONCEPTION ET REALISATION D’UNE APPLICATION DE GESTION DE RESTAURANT
Comment stocker et traiter les différentes informations d’un restaurant moderne en rapport avec les
achats des clients ?
Comment faciliter la commande d’un client jusqu’à la livraison de la commande ?
Comment faciliter la réservation en ligne de table ?
Pour pallier à ces problèmes, il nous fallait mettre en place une application autrement dit une plateforme
web exclusivement à la disposition du restaurant pour faciliter le quotidien du gérant qui est en même
temps l’administrateur et qui a pour rôle de gérer les employés (caissier, livreur), les clients , le menu, les
articles les catégories, les commandes et les réservations de tables. Le gérant a aussi la possibilité de voir
les commandes et réservation des clients.
Nous avons aussi le Caissier qui peut délivrer une facture après une commande mais aussi il peut faire le
rapport journalier.
Nous avons les Clients qui peuvent voir le menu, faire des commandes, faire une réservation de table et la
possibilité de créer un compte pour des points de confidentialités.
En fin le Livreur doit livrer toutes les commandes effectuées en ligne, il a aussi la tache de valider la
livraison une fois livrer.
L’analyse des besoins nous permet d’identifier l’ensemble des fonctions implémentées dans notre
application. Elle vise à déterminer les fonctions d’une application en amont de sa réalisation afin d’analyser
les attentes pour mieux recadrer le projet. Nous présenterons les différentes fonctionnalités que peut offrir
notre application.
Les besoins fonctionnels représentent les principales fonctionnalités du système. Ces besoins
proviennent généralement des utilisateurs du système. L'application devra permettre :
Gestion des Employées :
Le gérant doit :
Enregistrer et attribuer un rôle a un employé
Activer ou désactiver un employé
Modifier un employé
Lister les employés
Gestion des Tables :
10
CONCEPTION ET REALISATION D’UNE APPLICATION DE GESTION DE RESTAURANT
Le gérant doit :
Ajouter une table
Modifier le statut du table (selon qu’il est occupé ou non)
Supprimer une table
Modifier une table
Mis à part les besoins fondamentaux de notre futur système, le système doit être en mesure aussi de
répondre aux critères suivants :
La rapidité du traitement : En effet, vu le nombre important des transactions quotidiennes, il est
impérativement nécessaire que la durée d'exécution des traitements s'approche le plus possible du
temps réel.
La performance : Un logiciel doit être avant tout performant c'est-à-dire à travers ses
fonctionnalités, il doit répondre à toutes les exigences des usagers d'une manière optimale.
11
CONCEPTION ET REALISATION D’UNE APPLICATION DE GESTION DE RESTAURANT
Ergonomie et convivialité : Le futur logiciel doit être facile à utiliser. En effet, les interfaces
utilisateur doivent être conviviales c'est-à-dire simples, ergonomiques et adaptées à l'utilisateur.
Le design des interfaces doit permettre une identification immédiate de ces différents éléments pour
permettre à l'utilisateur d'accéder de manière intuitive à ce qu'il cherche, dès la première utilisation.
La confidentialité : Vu que les données manipulées par notre application sont critiques, nous
devons garantir une sécurité optimale. Ainsi, les droits d'accès au système doivent être bien
attribués, afin d'assurer la sécurité des données.
3 Conception
Dans la conception d’une application, la modélisation des données est l’analyse et la conception de
l’information contenue dans le système afin de représenter la structure de ces informations et de structurer
les données informatiques [Wikipédia, 21 décembre 2020]. Alors il faut noter que la modélisation
conceptuelle est totalement indépendante de tout choix d’implémentation. [Philippe Rigaud, 30 juin 2001]
Pour mieux illustrer la conception de notre application, nous avons jugé nécessaire de présenter les
diagrammes de cas d’utilisation, quelques diagrammes de séquences, le diagramme de classes et le schéma
de base de données.
L'étape de l'analyse des besoins et de la modélisation est la deuxième phase de cycle de vie du
processus unifié et l'une des étapes les plus importantes à considérer ; en effet si les besoins sont mal
spécifiés et exprimés, ou mal analysés, toute la suite devra être refaite, d'où l'importance accordée à cette
activité. Notre objectif dans cette étape est donc d'exprimer les besoins attendus du futur système à
développer.
En UML, un diagramme de cas d’utilisation est utilisé pour une représentation du comportement du
système. Il décrit les fonctions générales et la portée du système. Par contre un cas d’utilisation décrit
l’interaction entre l’acteur et le système. Le diagramme de cas d’utilisation a pour rôle de servir à résumer
12
CONCEPTION ET REALISATION D’UNE APPLICATION DE GESTION DE RESTAURANT
les informations des utilisateurs du système (acteurs) et leurs interactions avec ce dernier. Il peut aider dans
la collaboration et la représentation :
Des scénarios dans lesquels le système interagit avec les acteurs, ou des systèmes externes.
Des objectifs que le système permet aux acteurs d’atteindre ;
De la porter de votre système.
<<include>>
Gerant
Livreur
GerantM
LivreurM
GerantS
Supprimer CaissierS
<<extend>>
LivreurS
13
CONCEPTION ET REALISATION D’UNE APPLICATION DE GESTION DE RESTAURANT
Occuper
Liberer
<<extend>>
Modier table
Ajouter article
<<extend>>
Mdifier article
<<extend>>
lister menu
Valider
Decliner Motif
<<extend>>
<<include>>
lister commande
14
CONCEPTION ET REALISATION D’UNE APPLICATION DE GESTION DE RESTAURANT
Enregistrer commande
<<include>>
15
CONCEPTION ET REALISATION D’UNE APPLICATION DE GESTION DE RESTAURANT
Vali de
<<extend>>
Lister commandes
<<extend>>
Supprimer Commande
Authentification3
<<extend>> Ajouter Reservation
Client
Modifier Reservation
<<extend>>
Gerer reservation
Supprimer Reservation
<<extend>>
Passer commande
<<extend>>
Lister pagnier
<<extend>>
Lister livraision
<<include>>
Authentifier2
Livreur
16
CONCEPTION ET REALISATION D’UNE APPLICATION DE GESTION DE RESTAURANT
Le diagramme de séquence permet de montrer les interactions d'objets dans le cadre d'un scénario d'un
Diagramme des cas d'utilisation. La dimension verticale du diagramme représente le temps, permettant de
visualiser l'enchaînement des actions dans le temps, et de spécifier la naissance et la mort d'objets. Les
périodes d'activité des objets sont symbolisées par des rectangles, et ces objets dialoguent à l'aide de
messages.
17
CONCEPTION ET REALISATION D’UNE APPLICATION DE GESTION DE RESTAURANT
DiagrammeSequence_1
Utilisateur
Demande de se connecter
(info correct)
Acces est autorisé info correct
DiagrammeSequence_1
Systeme Table
Gérant
ref
DiagrammeSequence_1(Authentification)
opt [Ajouter]
Demande de creer une table
Afficher le Formulaire
valide
Envoyer les données du tables
opt [Modifier]
Selectionné une table
Affichage du Formulaire
Modifier table
Afficher la table et un message de Envoyer la tables
confirmation
opt [Supprimer]
Supprimer table
Envoye la liste des tables
19
CONCEPTION ET REALISATION D’UNE APPLICATION DE GESTION DE RESTAURANT
Dans le langage UML, les diagrammes de classe appartiennent à l’un des six types de diagrammes
structurels. Les diagrammes de classes sont fondamentaux pour le processus de modélisation des objectifs
et modélisent la structure d’un système.
On peut utiliser les diagrammes de classe pour visualiser, définir et documenter des fonctions structurelles
des modèles.
Le diagramme nous permet de savoir comment les données seront stockées dans la base de données en
définissant les classes, les attributs, les relations qui existent entre les éléments etc…
Utilisateur
- IdEmp : int
- nom : String
- prenom : String
- adresse : String
- telephone : int
- login : String
- password : String
Caissier
Gerant
Client
- IdClient : int Administrateur
- prenom : String
- nom : String
- adresse : String
0..*
0..1 Livreur
- Statut : boolean
1..1 1..1
1..1
0..*
Commande
- IdCom : int 0..*
0..*
- date : Date
1..1
0..*
quantité Stocké
0..*
Paniers
1..*
- IdPanier : int
Reservation
- Idreservation : int Article
0..*
- jour : Date - IdArt : int Categorie
0..*
- heur : int - libele : String
- IdCat : int
- nombrePersone : int + description : String 0..*
- status : boolean - Image : String 1..1 - libelle : int
- Prix : int
0..*
Table
20
CONCEPTION ET REALISATION D’UNE APPLICATION DE GESTION DE RESTAURANT
Introduction
Ce chapitre est consacré à la partie pratique de la réalisation de notre application
(SENRESTAURANT). Il comporte une description des outils de développement utilisés ainsi qu'une
présentation de notre application. Le choix de nos outils de développement s'est fondé principalement sur
leur gratuité et l'open source. Effectivement, en implémentant une solution qui se base sur des technologies
gratuites et open source, nous avons plus de chance d'éviter toutes sortes de problèmes liés aux licences,
contrats, etc…, réduisant ainsi les coûts.
1 Outils et Technologies
Cette partie est très importante pour l’aboutissement du projet. En effet les technologies et les langages sont
très nombreux et très sophistiqués mais le choix pertinents par rapport à la demande du client fait différence.
Nous ferons une étude comparative des Frameworks pour justifier notre choix.
1.1.1 Outils
PowerAMC
POWER AMC est l’un des premiers outils qui permet d’élaborer des
modèles de données que cela soit MERISE, UML ou autre, de manière
graphique et de les implémenter quel que soit le SGBD et de manière
automatique. De même, l’outil permet de modéliser les processus métiers.
Le lien entre la modélisation des données et la modélisation des processus
peut être effectué.
Figure 9: PowerAMC Aussi Power AMC est une force dans tout nouveau projet d'entreprise car il
permet d'identifier avec précision quels processus, quelles personnes et/ou quelles données seront impactés.
21
CONCEPTION ET REALISATION D’UNE APPLICATION DE GESTION DE RESTAURANT
UML
Photoshop
Xampp Server
22
CONCEPTION ET REALISATION D’UNE APPLICATION DE GESTION DE RESTAURANT
MySQL
GitLab
23
CONCEPTION ET REALISATION D’UNE APPLICATION DE GESTION DE RESTAURANT
1.1.2 Technologies
Un Framework informatique est un ensemble d'outils et de composants logiciels organisés conformément
à un plan d'architecture et des patterns, l'ensemble formant ou promouvant un « squelette » de programme,
un canevas. Il est souvent fourni sous la forme d'une bibliothèque logicielle et accompagné du plan de
l'architecture cible du Framework.
Le choix des Framework s’avère un peu difficile mais paramètre permet de faire un choix pertinent. Pour
la réalisation de ce projet, on a utilisé Angular pour le Front-end et Django pour le Back-end.
[Link] Frontend
Angular
Angular est un Framework JS parmi les plus populaires et les plus utilisés. Tout ce qui fait la force d’un
Framework c’est-à-dire sa popularité est remarquée chez Angular :
Ils ont une communauté énorme. Ce qui est essentiel pour apprendre un Framework (vous trouverez
d’innombrables ressources, des réponses à des dizaines de milliers de questions etc.) et pour le
maintenir (la communauté participe à rapporter une quantité astronomique de bugs et à les corriger).
Ils ont des ressources gigantesques. Développer un Framework prend énormément de temps et
nécessite des développeurs exceptionnels qui sont payés des salaires très élevés. Il faut pouvoir
consacrer des dizaines de millions par an. Angular est créé par Google (plusieurs dizaines
d’ingénieurs à plein temps).
Ils sont là pour durer. Outre leur communauté et leurs ressources qui leur assurent une pérennité
certaine, ils sont à la pointe des technologies Web qui sont développées à une écrasante majorité
24
CONCEPTION ET REALISATION D’UNE APPLICATION DE GESTION DE RESTAURANT
par les GAFAM (Google, Amazon, Facebook, Apple et Microsoft). A chaque nouvelle innovation,
celle-ci est intégrée à ces Framework.
Angular ReactJS
Il n’existe pas un Framework meilleur qu’un autre. Chaque Framework a des avantages comme il a des
inconvénients. Le choix se base toujours sur les besoins que nous exprimons et sur la taille du projet.
Angular et ReactJS sont tous les deux en mesures de réaliser l’application. Pour des besoins spécifiques,
Nous avons choisi d’utiliser Angular pour le développement de l’application car angular propose sans cesse
de nouvelles fonctionnalités améliorées. Angular propose son propre système de routing et gère tous les
aspects de l’application ce qui n’est pas disponible au niveau de ReactJS. Il est développé et géré par Google
alors la probabilité qu’il disparaisse est proche de 0. Donc nous pouvons compter sur sa durabilité dans le
marché technologique. Il permet de créer rapidement des fonctionnalités avec des modèles simples. Il
25
CONCEPTION ET REALISATION D’UNE APPLICATION DE GESTION DE RESTAURANT
présente néanmoins un niveau de difficultés légèrement supérieur car en dehors du Framework, nous
sommes obligés d’apprendre un nouveau langage qui est le typescript.
Bootstrap
C'est un ensemble qui contient des codes HTML et CSS, des formulaires, boutons,
outils de navigation et autres éléments interactifs, la boîte à outils open source
front-end la plus populaire au monde, avec des variables et des mixins Sass, un
système de grille réactif, des composants préconstruits étendus et de puissants
plugins JavaScript.
Figure 19: Bootstrap
[Link] Backend
Django
Django est un Framework web open source populaire utilisé pour le développement rapide d’applications
web. Il est écrit en Python et suit le motif de conception Model-View-Controller (MVC).
Django fournit une infrastructure pour gérer les aspects courants des applications web, tels que
l’authentification des utilisateurs, les formulaires, les bases de données, la gestion des sessions, les fichiers
statiques, etc. Il est conçu pour être flexible et évolutif, ce qui permet de créer des applications web
complexes de manière efficace.
Django est utilisé par de nombreuses grandes entreprises et organisations pour leurs sites web et
applications, notamment Instagram, Pinterest, Mozilla, Spotify, Disqus, Bitbucket, etc. En raison de sa
popularité, Django dispose également d’une grande communauté de développeurs qui fournissent une
documentation exhaustive et un grand nombre de bibliothèques tierces pour étendre les fonctionnalités du
Framework.
26
CONCEPTION ET REALISATION D’UNE APPLICATION DE GESTION DE RESTAURANT
Architecture MVC
Ce modèle est un style d’architecture de logiciel très populaire vous permettant d’être efficace et structuré
lors d’un projet. Le M, modèle représente les données ; le V, vue affiche les données, que le modèle
contient, à l’utilisateur par exemple : formulaire, bouton, etc. ; et, le C, contrôleur traite les données de
l’utilisateur, il dépend et interagit avec le modèle ainsi que la vue.
API
Une API est un ensemble de définitions et de protocoles qui facilitent la création et l'intégration de logiciels
d'applications. L’API permet à un service de communiquer avec d'autres services sans connaître les détails
de leur mise en œuvre. Elle simplifie le développement d'applications et fait gagner du temps. Elle offre
plus de flexibilité, simplifie la conception, l'administration et l'utilisation, et donne les moyens d'innover.
Les API constituent un moyen simplifié de connecter les infrastructures au travers du développement
d'applications. Elles permettent également de partager des données avec les clients et d'autres utilisateurs
externes.
La figure ci-après illustre le fonctionnement d’une API
27
CONCEPTION ET REALISATION D’UNE APPLICATION DE GESTION DE RESTAURANT
Avec l’ensemble de ces ressources, qu’ont compte développer l’application avec les fonctionnalités
demandées.
2 Présentation de l’application
Dans cette partie nous allons présenter quelques pages de l’application
Après avoir cliquée sur le bouton « connexion », le formulaire d’authentifications s’affiche et l’utilisateur
doit saisir son login et son mot de passe. Une fois ses informations validées, il est redirigé vers son espace
de travail et il pourra faire toutes les tâches qui lui sont autorisées.
28
CONCEPTION ET REALISATION D’UNE APPLICATION DE GESTION DE RESTAURANT
Dans cette page l’administrateur pourra modifier, ajouter, ou supprimer les produits.
29
CONCEPTION ET REALISATION D’UNE APPLICATION DE GESTION DE RESTAURANT
30
CONCEPTION ET REALISATION D’UNE APPLICATION DE GESTION DE RESTAURANT
32
CONCEPTION ET REALISATION D’UNE APPLICATION DE GESTION DE RESTAURANT
33
CONCEPTION ET REALISATION D’UNE APPLICATION DE GESTION DE RESTAURANT
3 Conclusion
Nous voici au terme de notre travail portant sur la conception d'une application pour la gestion interactif
d'un restaurant. Nous avons été motivés par les soucis : de mettre à la disponibilité de clients d'un restaurant
moderne une carte de menu automatisé, vue que cette carte devrait leur faciliter de communiquer avec le
restaurateur pour lutter contre le problème de retard dans le service. Aussi le restaurateur devra facilement
communiquer avec le client et gérer leur facturation à partir de commande sur le menu automatisé.
Pour y parvenir nous avons utilisé les techniques documentaire et expérimentale, analyser certain travaux
d'une part et d'une autre part tester notre application. Conscients de ce qu'une application informatique ne
peut être certifié qu'à l'issue d'un test méticuleux, nous soumettons notre modeste travail à ce test et
promettons, dans la mesure de nos propres limites, de prendre en compte toute remarque constructive.
34
CONCEPTION ET REALISATION D’UNE APPLICATION DE GESTION DE RESTAURANT
Références
Bibliographie
[Philippe Rigaux, 30 juin 2001] : Philippe Rigaux «Cours de bases de données » 30 juin 2001, pages 21
[page consultée, le 20 février 2019]
Webographie :
[Link]
pt0[Link]
[Link]
[Link]
[Link]
[Link]
[Link]
35
CONCEPTION ET REALISATION D’UNE APPLICATION DE GESTION DE RESTAURANT
36