Memoireabibatoumbacke 1
Memoireabibatoumbacke 1
Memoireabibatoumbacke 1
INTITULE
INTITULE
II
2022-2023
ANNEE UNIVERSTITAIRE 2022-2023
A la mémoire de
III
Dédicace
IV
Remerciements
Après avoir rendu grâce à Dieu et prié au nom du prophète (PSL), je profite de cette
occasion pour remercier :
Merci à tous…
V
Avant-propos
Dans ce sujet, il s’agit de développer une application qui permet la vente des produits
locaux. Cette application a pour but de promouvoir la production et la transformation des
produits agroalimentaires simplifiant ainsi l’accessibilité de ces produits aux consommateurs.
VI
Sommaire
1.1 Contexte--------------------------------------------------------------------------------------- - 4 -
VII
Glossaire
UI User Interface
VIII
Liste des figures
IX
Listes des tableaux
IX
Résumé
L’informatique est une branche technique qui permet de rendre automatique certaines
tâches, ainsi que les traitements sur l’information par le biais de programmes ou
d’applications. Au regard du monde actuel, nous constatons que cette science se trouve de
plus en plus au cœur de tous les secteurs d’activité qui souhaitent optimiser leur productivité.
Par conséquent, une plateforme web peut avoir un impact positif sur la vente de
produits agroalimentaires en améliorant la visibilité, la facilité d'achat, la gestion des stocks,
la personnalisation des recommandations, l'interaction client et la prise de décision basée sur
les données. Pour cela, nous avons décidé de mettre en place une application qui peut
contribuer à optimiser les opérations commerciales, à augmenter les ventes et à renforcer la
relation avec les clients.
X
Abstract
Computer science is a technical branch which makes it possible to make certain tasks
automatic, as well as the processing of information through programs or applications.
Looking at today's world, we see that this science is increasingly at the heart of all sectors of
activity that wish to optimize their productivity.
Therefore, a web platform can have a positive impact on the sale of food and beverage
products by improving visibility, ease of purchasing, inventory management, personalization
of recommendations, customer interaction and data-based decision making. data. For this, we
decided to implement an application that can help optimize business operations, increase sales
and strengthen relationships with customers.
XI
Introduction générale
L'essor de l'informatique est l'un des plus grands événements de notre époque,
affectant presque tous les aspects de la vie moderne. Depuis le premier ordinateur jusqu'à
aujourd'hui, la technologie informatique a évolué rapidement, modifiant radicalement notre
façon de travailler, de communiquer, de nous divertir et même d'éduquer. Les ordinateurs sont
de plus en plus utilisés dans presque tous les domaines d'activité à travers le monde, en
particulier dans la commercialisation des produits agricoles, un secteur important de
l'économie comprenant la production, la transformation et la distribution d'aliments agricoles
destinés à la consommation humaine. C'est un secteur qui se développe dans plusieurs pays,
notamment au Sénégal.
A l’issue de notre étude, nous avons constaté que, malgré l’évolution de ce secteur
certains producteurs trouvent toujours des problèmes pour évacuer leurs stocks. Ils optent la
stratégie ancienne qui consiste à exposer les produits dans les marchés. Ce qui marche bien
néanmoins la visibilité est accentuée sur une partie très minoritaire. Cette méthode engendre
des problèmes comme : non-disponibilité dans certaines zones, gestion de la vente, etc. C'est
dans cette perspective que nos interrogations s'articulent autour de la question suivante :
Comment faciliter la relation entre producteurs et consommateurs ?
L’objectif principal de cette mémoire est de mettre en place une application web
fiable, conviviale et facile à intégrer dans l’environnement agricole assurant la vente de
produits, en prenant en compte les besoins et les exigences des consommateurs. Les objectifs
spécifiques sont de simplifier la commercialisation, en facilitant l’accessibilité des produits
aux clients, et en offrant une plateforme centralisée pour la gestion et le stockage des produits.
Ce mémoire va explorer les différentes fonctionnalités et les exigences techniques pour la
mise en œuvre de cette application, ainsi que les meilleures pratiques en matière de
développement de logiciels pour garantir un produit de haute qualité.
Si nous avons choisi ce sujet c’est parce que nous avons remarqué que le système
actuel laisse apparaître quelques limites et nous voulons profiter de l’avantage de
l’informatique pour apporter une solution efficace et pratique.
A l’issue de ce travail nous supposons qu’on aura mis en place une plateforme web
disponible et fiable qui permet de gérer tous les aspects du processus de commercialisation et
-1-
qui contribue à optimiser les opérations commerciales, à augmenter les ventes et à renforcer la
relation avec les clients.
Pour mieux aborder notre sujet nous avons eu à faire quelques investigations pour
recueillir le maximum d’informations. Ces données ont été obtenues sur internet mais aussi
dans des documents (ouvrages) traitant ce problème. Aussi nous nous sommes basés sur des
idées novatrices tirées d’échanges entre plusieurs acteurs activant dans ce domaine mais aussi
au niveau des consommateurs.
Ce sujet est structuré autour de trois parties : nous aborderons d'abord la présentation
du sujet, puis nous passerons à l'analyse et à la conception de notre système, et enfin à la mise
en œuvre et à la présentation de notre solution.
-2-
I. Présentation du sujet
-3-
I. Présentation du sujet
1.1 Contexte
Mais en analysant de plus près on peut constater que la commercialisation des produits
agricoles présente divers défis et enjeux auxquels les entreprises de cette industrie doivent
faire face. Ces défis ont un impact sur les stratégies de marketing et le succès global de
l'entreprise. Les problèmes les plus courants sont : la concurrence intense au sein de l'industrie
alimentaire, la sensibilité aux prix, la gestion de la chaîne d'approvisionnement, l’évacuation
de son stock, la visibilité des produits, entre autres.
-4-
Donc avec une application bien conçue et adaptée aux besoins des utilisateurs, on peut
simplifier la vente des produits et offrir une expérience d’achat pratique et agréable pour les
clients.
1.2 Problématique
Plusieurs problèmes entravent le processus d'achat pour les consommateurs ainsi que
la commercialisation pour les producteurs.
D’abord la recherche de bons produits peut s'avérer fastidieuse, avec des informations
parfois difficiles à trouver, des créneaux horaires limités et une variété de services peu
clairement définis.
Ensuite les délais d'attente pour obtenir des produits frais et de qualité sont souvent
source de frustration. Les consommateurs doivent parfois faire face à des retards dans
l'approvisionnement de produits essentiels, mettant en lumière la nécessité d'une solution
permettant un accès plus fluide aux produits agroalimentaires.
-5-
producteurs, et la préservation de la confidentialité des données des clients revêt une
importance capitale.
En définissant les objectifs du projet, nous pourrons déterminer les mesures de réussite
de l’application et nous assurer que les besoins des utilisateurs sont satisfaits.
1.3 Objectifs
La diversité est au cœur de notre proposition. Les consommateurs ont accès à un large
choix de produits agroalimentaires, allant des produits frais locaux aux spécialités
internationales. Des informations détaillées sur l'origine et les valeurs nutritionnelles
garantissent une prise de décision éclairée.
Du côté des producteurs, l'application offre une plateforme organisée pour présenter et
gérer leur catalogue de produits. La gestion des ventes est facilitée par des outils avancés,
permettant un suivi efficace des commandes et une gestion agile des stocks.
-6-
pour répondre aux attentes des consommateurs.
L'engagement client est au cœur de notre approche. Les producteurs peuvent renforcer la
fidélisation en participant à des programmes spéciaux, offrant des promotions attractives, et
en recueillant les retours d'expérience pour améliorer continuellement leurs services.
En somme, notre application aspire à créer une synergie entre la commodité pour les
consommateurs et l'efficacité pour les producteurs. Nous mettons l'accent sur une expérience
utilisateur optimale, la transparence dans les transactions, et une gestion opérationnelle
facilitée pour redéfinir le paysage de l'achat en ligne de produits agroalimentaires.
Cette première partie nous a permis de faire une présentation de notre sujet. Dans la
partie suivante nous allons procéder à l’analyse et la conception de la solution dans laquelle
nous allons faire le choix d’une méthode d’analyse et de conception avant de modéliser la
solution.
-7-
II . Analyse et conception
-8-
II. Analyse et conception
Dans cette partie, nous allons entrer dans une étape très importante pour mettre en
œuvre notre projet. L'analyse et la conception sont des étapes critiques du processus de
développement de logiciels. Ils aident à comprendre les besoins et les objectifs de
l'application, à décrire l'architecture appropriée et à définir les fonctionnalités et l'interface
utilisateur. Il convient maintenant de faire une étude analytique avant de procéder à la
conception de notre système.
Les spécifications des exigences jouent un rôle essentiel dans la réussite d'un projet car
elles constituent la base de la conception, du développement et de la mise en œuvre du
système. Le système que nous voulons mettre en place doit être opérationnel, évolutif,
convivial et en fournissant les informations nécessaires en temps réel.
Pour cela, le système à créer doit répondre aux exigences de tous les utilisateurs. Nous
présentons ci-dessous toutes les exigences fonctionnelles par acteur ainsi que les exigences
non fonctionnelles communes à tous ces acteurs.
• Besoins fonctionnels
Les besoins fonctionnels décrivent les fonctionnalités spécifiques et les actions que le
système doit être capable de réaliser pour répondre aux attentes des acteurs. Ils se concentrent
sur les actions et les comportements du système.
Un acteur est une personne, un matériel ou un logiciel qui interagit avec le système dans
le but de réaliser une plus-value.
- Les clients
- Les visiteurs ou utilisateurs simples
- L’administrateur
- S’inscrire
- Avoir accéder à l’application
-9-
- Accéder à tous les catégories de produits
- Effectuer des recherches
- Voir les détails du produit
- S’authentification
- Accéder à leur historique de commande
- Ajouter des produits dans leur panier
- Gérer leur panier
- Sélectionner des options de de paiements
- Passer des commandes
L’administrateur peut :
- 10 -
- Compatibilité multiplateforme : les applications doivent être compatibles avec
différents navigateurs Web et appareils, y compris les ordinateurs de bureau et les appareils
mobiles.
En somme les spécifications des besoins sont une partie importante qui vise à définir les
exigences fonctionnelles et non fonctionnelles du système de manière précise et détaillée. Ces
besoins guideront la conception, le développement et les tests du système, ainsi que
l'évaluation de sa conformité aux attentes des utilisateurs.
Donc l’analyse nous a permis de connaître les besoins et spécialités de l’application. Par
ailleurs pour une étude plus détaillée de notre système nous allons faire une projection sur la
conception de notre application.
2.2 Conception
Ce chapitre est très important dans le développement de notre application car nous
permettant de démontrer une compréhension approfondie du projet et de proposer une
approche solide pour le réaliser. Il s’agit de représenter des diagrammes UML récemment
décrit. Pour ce projet il nous est nécessaire de choisir 3 diagrammes : cas d’utilisation, des
classes et de séquence. Nous allons d’abord décrire d’abord l’architecture générale de notre
système et ensuite réaliser les diagrammes.
- Modèle
Représente le comportement de l'application : traitements des données, interactions
avec la base de données, etc. Il décrit les données manipulées par l'application et définit les
méthodes d'accès.
- Vue
Représente les interfaces graphiques qui s'affichent sur la machine d'un client. Le
rôle de la vue n'est pas restreint à afficher les fenêtres de l'application, elle intercepte aussi les
actions (évènements) de l'utilisateur comme les clics de la souris et la saisie des textes avec le
clavier. À la suite de la réception de ces évènements, la vue ne fait pas de traitement, elle les
transmet au contrôleur.
- 11 -
- Contrôleur
Prend en charge la gestion des événements synchrones pour mettre à jour les vues ou
les modèles. Il n'effectue aucun traitement, ne modifie aucune donnée, il analyse la requête du
client, il appelle simplement le modèle approprié et retourne la vue correspondant à la
requête.
- 12 -
Cas d’utilisation : s’authentifier
Titre S’authentifier
Auteurs Client, administrateur
Résumer Pour la sécurité de notre système,
l’utilisateur doit s’identifier avec un login et
un mot de passe avant d’effectuer certaines
tâches.
Précondition Ayant une connexion internet, l’utilisateur
doit disposer d’un compte et de se munir de
son login et mot de passe et doit accéder au
formulaire d’authentification.
Scénario 1. L’utilisateur donne son login et son
nominal mot de passe
2. Le système vérifie les informations
3. Le système valide l’existence du
compte
4. L’utilisateur est connecté
Scénarios alternatifs Les informations saisies par l’utilisateur sont
incorrectes.
L’enchainement démarre au point 2 du
scénario nominal
4. Le système indique à l’utilisateur que les
données sont incorrectes
champs obligatoires
Le scénario nominal reprend au point 1
Exception L’enchainement démarre au point 2 du
scénario nominal
Le compte n’existe pas
Post condition Accès autorisé
- 13 -
Scénario 1. L’utilisateur donne ses informations
nominal 2. Le système vérifie si les informations
sont correctes ou si le compte
n’existe pas déjà
3. le système valide
4. Le système enregistre l’inscription
Scénarios alternatifs L’enchainement démarre au point 2 du
scénario nominal
5. Champ vide ou données mal saisies
Le scénario nominal reprend au 1
Exception Le compte existe déjà
Postcondition Compte créé
Titre Rechercher
Auteur Client, visiteur
Résumé L’utilisateur peut effectuer des recherches
de produits.
Précondition Accéder à la page avec une connexion
internet
Scénario nominal 1. L’utilisateur fait un cherche en tapant
le nom du produit dans la barre de
recherche
2. Le système vérifie le nom et
l’existence du produit
3. Il affiche le produit
Scénarios alternatifs L’enchainement démarre au point 2 du
scénario nominal
4. Champ vide ou données mal saisies
Le scénario nominal reprend au point
1
Exception Produit n’existe pas
Postcondition Produit affiché
Titre AjouterProduit
- 14 -
Auteur Administrateur
Résumé L’administrateur peut ajouter un produit.
Précondition Accéder à la page d’ajout de produit avec
une connexion internet
Scénario nominal 1. Il fait un ajout en saisissant les
informations du produit dans les
champs respectifs.
2. Le système vérifie les informations et
l’existence du produit
3. Il ajoute le produit.
Scénarios alternatifs L’enchainement démarre au point 2 du
scénario nominal
4. Champ vide ou données mal saisies
Le scénario nominal reprend au point
1
Exception Produit existe déjà
Postcondition Produit ajouté avec succès
Tableau 4 : Description cas d’utilisation « ajouterProduit »
- 15 -
Figure 2 : Diagramme de classe du système
- 16 -
Figure 3 : Diagramme de séquence du scénario « s’authentifier »
- 17 -
Figure 4 : Diagramme de séquence du scénario « s’inscrire »
- 18 -
Figure 5 : Diagramme de séquence du scénario «rechercher »
- 19 -
Figure 6 : Diagramme de séquence du scénario « ajouterProduit »
Dans cette partie, nous avons spécifié les besoins de notre application en identifiant le
secteur et les fonctionnalités du système. Cette description est traduite à travers des
diagrammes de cas d’utilisation, fiches textuelles, diagrammes de séquence et diagramme de
classe.
Dans la partie qui suive nous allons détailler la mise en œuvre et présenter la solution.
- 20 -
III. Mise en œuvre et présentation de la solution
- 21 -
III. Mise en œuvre et présentation de la solution
3.1 Architecture
Dans le cadre de notre travail, nous sommes invités à choisir des outils et des
technologies qui nous permettront de réaliser le système qui correspond à une application
web.
3.1.1.1 Outils
Pour la réussite de ce projet nous avons choisi les outils suivants :
➢ Visual studio code
- 22 -
Figure 8 : Logo WampServer
➢ MySQL
➢ Canva
- 23 -
Figure 11 : Logo Canva
Canva est une plateforme en ligne de conception graphique qui permet à quiconque
de créer facilement des designs visuellement attrayants sans avoir besoin de compétences en
conception graphique avancées.
3.1.1.2 Langage de programmation
Dans cette sous-section il s’agit de voir les langages de programmation utilisés lors
du développement de l’application.
➢ ReactJS
ReactJS est une bibliothèque JavaScript open-source développée par Facebook. C'est
l'une des bibliothèques les plus populaires pour la construction d'interfaces utilisateur (UI)
interactives et réactives pour les applications web. React a été initialement créé pour gérer
l'interface utilisateur de Facebook, Instagram et WhatsApp, mais il est rapidement devenu
un choix préféré pour de nombreux développeurs et entreprises du monde entier.
➢ CSS
CSS, abréviation de "Cascading Style Sheets" (Feuilles de style en cascade), est un
langage de balisage utilisé pour définir l'apparence et la mise en forme des pages web. Il offre
un haut degré de personnalisation et de contrôle sur l'apparence du contenu, ce qui permet aux
développeurs web de créer des sites web esthétiques, conviviaux et adaptés aux différents
appareils et tailles d'écran.
➢ SpringBoot
Spring Boot est un framework open-source basé sur Spring, destiné à faciliter le
développement rapide d'applications Java. Il est conçu pour simplifier la configuration et le
déploiement des applications, en mettant l'accent sur les conventions plutôt que sur la
configuration, ce qui permet aux développeurs de se concentrer sur le code métier plutôt que
sur la configuration complexe.
3.1.2 Stratégies de sécurité
- 24 -
La sécurité informatique est l’ensemble des moyens techniques, organisationnels,
juridiques et humains nécessaires à la mise en place de moyens visant à conserver, rétablir et
garantir la sécurité des systèmes d'informations. De ce fait, assurer la sécurité d’une
application web est essentiel pour protéger les données sensibles et garantir une expérience
utilisateur sécurisée. C’est sur cette base que nous appliquons plusieurs types de sécurité à
différents niveaux : mises à jour régulières, utilisation du protocole HTTPS, gestion des
sessions et des, contrôle d'accès, sécurisation de l'infrastructure, éducation et sensibilisation à
la sécurité, tests de sécurité.
En résumé, nous avons décrit notre choix parmi les différents outils et technologies ;
également les stratégies de sécurité du système.
Ainsi, après avoir détaillé le processus de développement de l'application, il est
maintenant pertinent d'examiner de plus près la solution en elle-même.
- 25 -
Figure 12 : interface accueil
- 26 -
• Accueil
• Produits transformés
• Produits cultivés
• Inscription/Connexion
• Panier de produits
• La barre de recherche où l’utilisera peur rechercher un produit de par son nom.
Après la navigation vient tout juste des images glissantes où l’utilisateur aura des
liens vers chaque catégorie décrite par l’mage. Il pourra aussi avoir accès à une liste de
produits, voir les à propos de l’entreprise et des producteurs et à la fin le pied de page où il
trouvera les contacts et adresses de l’entreprise et aussi des liens vers les différentes
catégories
Les utilisateurs doivent être inscrits pour pouvoir ajouter des produits au panier.
- 27 -
Figure 14 : interface connexion
Juste après l’inscription l’utilisateur peut se connecter pour effectuer ses achats
- 28 -
3.2.5 Interface détails produit
En cliquant sur le bouton « voir » (à voir sur l’image de chaque produit), l’utilisateur
verra cette interface qui est une description détaillée de chaque produit. Il pourra cliquer
sur le bouton « acheter » qui l’amènera directement vers l’interface panier.
Dans cette interface on peut voir les produits ajouter au panier en cliquant sur le
bouton « ajouter au panier » (qu’on peut voir sur chaque image de produit) ou sur le
bouton « acheter » (dans l’interface détails produit). L’utilisateur peut ajuster la quantité
de produit à commander en cliquant sur le « + » ou le « - » (dans ce cas la quantité est
supérieure à 1). Il peut aussi supprimer un produit du panier en cliquant sur « x ». Il
pourra voir le total à payer et s’il clique sur le bouton « payer » il le mènera directement
vers l’interface paiement.
- 29 -
3.2.7 Interface paiement
Dans cette interface l’utilisateur doit entrer son adresse de livraison avant de choisir
son mode de paiement. Il peut payer par palpal , carte de crédit , Orange Money ou bien par
Wave.
- 30 -
Figure 20 : interface accueil (admin)
Cette interface consiste l’interface accueil de l’administrateur. Il peut voir la quantité de
produits disponibles en stock, le nombre de catégories et de clients et aussi recevoir des alertes en
cas de commandes de produits. Il gère le catalogue de produit.
- 31 -
Figure 22 : interface ajoutProduit (admin)
Ici l’admin saisit les informations et clique sur le bouton « ajouter produit » pour ajouter un
nouveau produit.
Dans cette dernière partie nous nous sommes intéressés à la mise en œuvre et la
présentation de la solution.
- 32 -
Conclusion générale
Nous avons initié notre démarche en identifiant les besoins spécifiques, afin de
comprendre les processus existants et les exigences des intervenants clés. En suivant, notre
analyse a engendré la conception d'une architecture fondamentale, constituant ainsi le socle de
notre développement. Pour ce faire, nous avons fait appel à UML comme langage de
modélisation. L'étape cruciale de la mise en place a permis de transformer notre vision en
réalité, en tenant compte des paramètres matériels et logiciels. . À chaque étape, nous nous
sommes efforcés de garantir que notre solution respecte l'ensemble des normes et contraintes
inhérentes aux technologies employées ainsi qu'aux attentes des utilisateurs.
Pour accomplir ce travail, nous avons dû faire face à plusieurs défis. La collecte et la
gestion des données relatives aux produits se sont révélées être des tâches complexes,
exigeant une méthodologie rigoureuse et des collaborations étroites avec les producteurs. De.
Cependant, avec persévérance, dévouement et la guidance précieuse de notre directeur de
recherche, nous sommes parvenus à surmonter ces difficultés.
Il est essentiel de noter que toute solution est sujette à l'amélioration continue. Bien
que notre application de vente agroalimentaire représente une avancée significative, des
perspectives d'amélioration restent à explorer :
- 33 -
Bibliographie
Mémoires :
XIII
Webographie
XIV
Annexes
XV
Table des matières
Dédicace ................................................................................................................................... IV
Remerciements .......................................................................................................................... V
Avant-propos ............................................................................................................................ VI
Sommaire ................................................................................................................................VII
Résumé ...................................................................................................................................... X
Abstract .................................................................................................................................... XI
1.3 Objectifs.................................................................................................................. - 6 -
XVI
3.2.2 Interface inscription .......................................................................................... - 27 -
Annexes .................................................................................................................................. XV
XVII