Vous êtes sur la page 1sur 50

REPUBLIQUE DU SENEGAL

Un peuple - un but - une foi

MINISTERE DE L’ENSEIGNEMENT SUPERIEUR DE LA RECHERCHE ET


DE L’INNOVATION
DIRECTION GENERALE DE L’ENSEIGNEMENT SUPERIEUR
DIRECTION DE L’ENSEIGNEMENT SUPERIEUR PRIVE

ECOLE SUPERIEURE DE TECHNOLOGIE ET DE MANAGEMENT

MEMOIRE DE FIN DE CYCLE


Pour l’obtention de la Licence en TELEINFORMATIQUE
Option Génie Logiciel et Administration Réseaux

INTITULE

Conception et réalisation d’une application de vente de


produits agroalimentaires: Agrokhidma

Présenté et soutenu par : Sous la direction de :


Mlle Abibatou MBACKE Dr. El Bassirou TOURE
Spécialité :
Enseignant chercheur

ANNEE UNIVERSITAIRE 2022-2023


REPUBLIQUE DU SENEGAL

Un peuple - un but - une foi

MINISTERE DE L’ENSEIGNEMENT SUPERIEUR DE LA RECHERCHE ET


DE L’INNOVATION
DIRECTION GENERALE DE L’ENSEIGNEMENT SUPERIEUR
DIRECTION DE L’ENSEIGNEMENT SUPERIEUR PRIVE

ECOLE SUPERIEURE DE TECHNOLOGIE ET DE MANAGEMENT

MEMOIRE DE FIN DE CYCLE


Pour l’obtention de la Licence en TELEINFORMATIQUE
Option Génie Logiciel et Administration Réseaux

INTITULE

Conception et réalisation d’une application de vente de


produits agroalimentaires : Agrokhidma

Présenté et soutenu par : Sous la direction de :


Mlle Abibatou MBACKE Dr. El Bassirou TOURE
Spécialité :
Enseignant chercheur

II
2022-2023
ANNEE UNIVERSTITAIRE 2022-2023
A la mémoire de

• Mouhamed MBACKE qui est parti à la fleur de l’âge


• Ya Aby MBACKE
• Tous ceux qui ont contribué à notre éducation, à notre formation et à notre réussite
et qui ne sont plus là malheureusement

Paix à leur âme et que Dieu les accueille au paradis. Amine.

III
Dédicace

Tout d’abord je rends grâce à DIEU, le Tout Puissant.


Je dédie ce mémoire à :
Mes chers parents Mame Thierno Mikhdad MBACKE et Bintou KARE en guise de
reconnaissance et de gratitude pour leur amour, leur patience, leur soutien, leur
encouragement et leur sacrifice.
Aucun mot, aucune dédicace ne pourrait exprimer notre respect, notre considération
ainsi que l’expression de notre profond amour.
Puisse Dieu vous accorde santé, bonheur et longue vie afin que nous puissions un jour
combler de joie vos vieux jours.
Mes oncles, tantes, frères et sœurs pour leur soutien matériel et moral.

Mes amis d’ici et d’ailleurs ….

IV
Remerciements

Après avoir rendu grâce à Dieu et prié au nom du prophète (PSL), je profite de cette
occasion pour remercier :

✓ Ma tante Fatou DIOP et mes grands-parents Pa Khassim DIAGNE Aminata CISSE


qui ont été là et m’ont toujours soutenu.;
✓ Ma sœur Fatou SEYE qui m’a énormément soutenu sur tous les côtés ;
Je tiens également à exprimer mes vifs remerciements à tous ceux qui du fait de leurs
conseils ont participés à la réalisation de ce mémoire à savoir :
✓ Mon directeur de recherche Monsieur Elhadji Bassirou TOURE pour m’avoir assistée
minutieusement tout au long de ce processus en faisant preuve d’un extrême sens de
professionnalisme, de patience et de compréhension ainsi qu’à tout le corps
professoral de l’ESTM ;
✓ Notre surveillant général Monsieur Moustapha FALL, de par son aide, sa disponibilité
et sa bienveillance.
✓ Tous mes professeurs pour la qualité de l'enseignement qu'ils m'ont prodigué ;
✓ Tous mes chers amis qui m’ont soutenu moralement dans la rédaction de ce
document ;
✓ Nous remercions également tous les membres du jury d’avoir accepté de corriger ce
travail.

Merci à tous…

V
Avant-propos

L’Ecole Supérieure de Technologie et de Management a été créée en 2002. Spécialisée


entre autres dans les domaines de l’informatique, de la télécommunication et du management
des entreprises, elle a pour mission de former les étudiants qui souhaitent se distinguer sur le
marché du travail, du fait de leurs connaissances et compétences acquises à l’issue de leur
formation. Forte de son expérience, elle a toujours su se hisser parmi les meilleures écoles de
la place évoluant dans le même secteur d’activité. Les diplômes délivrés en licence et en
master sont homologués par les institutions académiques (CAMES, ANAQ-SUP).

Pour l’obtention de la licence en téléinformatique, ESTM exige aux étudiants la


rédaction d’un mémoire de fin de cycle. C’est dans ce cadre que nous avons élaboré ce
document qui a pour sujet : Conception et réalisation d’une application de vente de
produits agroalimentaires : Agrokhidma

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.

Ce document constitue notre premier travail de recherche académique, c’est pourquoi


nous sollicitons de la part du jury, beaucoup d’indulgence pour ce qui concerne son
évaluation.

VI
Sommaire

Introduction générale ----------------------------------------------------------------------------------- - 1 -

I. Présentation du sujet ------------------------------------------------------------------------------ - 4 -

1.1 Contexte--------------------------------------------------------------------------------------- - 4 -

1.2 Problématique -------------------------------------------------------------------------------- - 5 -

1.3 Objectifs -------------------------------------------------------------------------------------- - 6 -

II. Analyse et conception ------------------------------------------------------------------------- - 9 -

2.1 Analyse des besoins --------------------------------------------------------------------------- - 9 -

2.2 Conception ------------------------------------------------------------------------------------ - 11 -

2.2.1 Diagramme de cas d’utilisation -------------------------------------------------------- - 12 -

2.2.2 Diagramme de classe ------------------------------------------------------------------- - 15 -

2.2.3 Diagramme de séquence --------------------------------------------------------------- - 16 -

III. Mise en œuvre et présentation de la solution --------------------------------------------- - 22 -

3.1 Architecture -------------------------------------------------------------------------------- - 22 -

3.1.1Outils et langage de programmation --------------------------------------------------- - 22 -

3.2 Présentation de la solution --------------------------------------------------------------- - 25 -

VII
Glossaire

ANAQ-SUP Autorité Nationale d’Assurance Qualité de


l’enseignement Supérieur

CAMES Conseil Africain et Malgache pour


l’Enseignement Supérieure

CSS Cascading Style Sheet

ESTM Ecole Supérieure de Technologie et de


Management

GLAR Génie Logiciel et Administration Réseaux

IDE Integrated Development Environment

MVC Modèle Vue Contrôleur

PHP Hypertext Preprocessor

PSL Paix et Salut sur Lui

SGBDR Système de Gestion de Base de Données


Relationnel

UI User Interface

UML Uniformed Modeling Language

VIII
Liste des figures

Figure 1 : Diagramme de cas d’utilisation du système .................................................... - 12 -

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 » ................................ - 20 -

Figure 7 : Logo Visual Studio Code ................................................................................ - 22 -

Figure 8 : Logo WampServer .......................................................................................... - 23 -

Figure 9 : Logo MySQL .................................................................................................. - 23 -

Figure 10 : Logo Draw.io ................................................................................................ - 23 -

Figure 11 : Logo Canva ................................................................................................... - 24 -

Figure 12 : interface accueil ............................................................................................ - 26 -

Figure 13 : interface inscription....................................................................................... - 27 -

Figure 14 : interface connexion ....................................................................................... - 28 -

Figure 15 : interface contact ............................................................................................ - 28 -

Figure 16 : interface détails du produit ............................................................................ - 29 -

Figure 17 : interface panier .............................................................................................. - 29 -

Figure 18 : interface paiement ......................................................................................... - 30 -

Figure 19 : interface historique ........................................................................................ - 30 -

Figure 20 : interface accueil (admin) ............................................................................... - 31 -

Figure 21 : interface listeProduits (admin) ...................................................................... - 31 -

Figure 22 : interface ajoutProduit (admin) ...................................................................... - 32 -

Figure 23 : interface listCommandes (admin) ................................................................. - 32 -

IX
Listes des tableaux

Tableau 1 : Description cas d’utilisation « s’authentifier » ........................................................... - 13 -

Tableau 2 : Description cas d’utilisation « s’inscrire » ................................................................. - 14 -

Tableau 3: Description cas d’utilisation «rechercher » ................................................................. - 14 -

Tableau 4 : Description cas d’utilisation « ajouterProduit » ......................................................... - 15 -

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.

En perspective, l’implémentation d’une application bien conçue et adaptée aux besoins


des utilisateurs peut simplifier la vente de produits agroalimentaires et offrir une expérience
d'achat pratique et agréable pour 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.

In perspective, the implementation of a well-designed and user-friendly application


can simplify the sale of agri-food products and provide a convenient and pleasant shopping
experience for 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

On vise à créer une plateforme virtuelle pour la vente de produits agroalimentaires


qui répondra aux besoins des consommateurs et contribuera au développement du secteur
agroalimentaire.
Cette application va permettre aux clients de parcourir une variété de produits
alimentaires, de les sélectionner et de les commander en ligne, puis de les faire livrer à leur
domicile.
Elle va aussi faciliter la gestion des opérations, la mise en marché des produits, la
gestion de stocks, la traçabilité des produits et la communication avec les clients. C’est dans
cette optique que nous allons décrire le contexte, la problématique et les objectifs de notre
application.

1.1 Contexte

La commercialisation agricole joue un rôle clé dans l'industrie alimentaire en reliant


les producteurs et les consommateurs. Il s'agit d'un processus complexe qui comprend
diverses activités telles que la segmentation du marché, la promotion, la distribution et la
vente de produits. Le but ultime de la commercialisation est de créer de la valeur pour les
produits agricoles, de répondre aux besoins des consommateurs et de générer des revenus
pour les entreprises en même temps.

L’évolution de la vente de produits agroalimentaires est très constatée dans notre


monde actuel. Ce qui permet de promouvoir la consommation locale qui consiste à
consommer les produits que nous produisons.

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.

Toutefois force est de reconnaitre qu’une problématique bien définie pourrait


permettre la réussite d’un tel projet.

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.

De plus la fluctuation saisonnière de la demande, les variations d'approvisionnement


en fonction des saisons et d'autres facteurs influencent grandement la disponibilité des
produits agroalimentaires. En outre Pour les producteurs, gérer efficacement cette dynamique
de l'offre et de la demande tout en optimisant leur production est un défi de taille.

Aussi l'achat de produits agroalimentaires implique souvent la collecte et le partage


d'informations sensibles concernant les préférences alimentaires et les habitudes d'achat des
clients. Assurer la confidentialité et la sécurité de ces données est essentiel pour établir une
relation de confiance avec les consommateurs.

En somme les consommateurs rencontrent des difficultés dans la recherche et l'achat


de produits. Les informations sont souvent peu accessibles, les horaires d'achat restreints et
les services mal définis. Les délais pour obtenir des produits frais sont parfois une source de
mécontentement. La variation de la demande en fonction des saisons pose un défi pour les

-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

Notre projet d'application de vente de produits agroalimentaires vise à révolutionner


l'expérience d'achat en ligne, en offrant une plateforme intégrée qui profite tant aux
consommateurs qu'aux producteurs.

- Pour les Consommateurs :

Dans un monde de plus en plus connecté, l'application se veut être le symbole de la


commodité. Une interface utilisateur intuitive simplifie le processus d'achat, permettant aux
consommateurs de parcourir un catalogue diversifié, d'explorer des informations détaillées sur
les produits, et de finaliser leurs achats en toute simplicité.

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.

La facilité de choix est accentuée par des fonctionnalités de recherche avancée, de


comparaison de produits, et des recommandations personnalisées. Des options de paiement
sécurisées viennent parfaire une expérience d'achat sans tracas.

- Pour les Producteurs :

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.

La logistique de livraison est optimisée, assurant une expérience fluide et garantissant la


fraîcheur des produits. Les producteurs peuvent intégrer des solutions de livraison efficaces

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

2.1 Analyse des besoins

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 acteurs en interaction avec notre système sont :

- Les clients
- Les visiteurs ou utilisateurs simples
- L’administrateur

Les visiteurs peuvent effectuer les actions suivantes :

- 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

En plus des actions des visiteurs, les clients pourront aussi :

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

- Ajouter, mettre à jour ou supprimer un produit


- Avoir accès à la liste des produits, des clients et des commandes
- Mettre à jour le statut de commandes
- Gérer l’évolution des commandes

• Besoins non fonctionnels


Les besoins non fonctionnels décrivent les contraintes, les caractéristiques et les qualités
globales que le système doit respecter, en dehors des fonctionnalités spécifiques. Donc notre
système doit répondre aux critères suivants :
- Performance : les applications doivent être rapides et réactives, même lorsqu'elles
gèrent simultanément un grand nombre de produits et d'utilisateurs.
- Convivialité : L'interface utilisateur doit être intuitive, conviviale et accessible pour
faciliter la navigation et l'achat.
- Sécurité : des protocoles de cryptage et des normes de sécurité doivent être utilisés
pour assurer la sécurité des transactions et des données des utilisateurs.
- Évolutivité : l'application doit être conçue de manière à pouvoir prendre en charge une
augmentation du nombre d'utilisateurs et de produits sans affecter les performances.

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

• Choix de l’architecture MVC


Le modèle MVC (Modèle, Vue, Contrôleur) est une architecture qui organise les
composants d'une application. Son principe consiste à séparer les données, les interfaces
graphiques et les traitements en trois parties distinctes : modèle, vue et contrôleur.

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

Donc, l'architecture MVC offre plusieurs avantages à notre application en permettant


la séparation claire des responsabilités, la facilité de maintenance et la réutilisabilité du code.
Elle permet également d'apporter des modifications ou des mises à jour à une partie spécifique
de l'application sans affecter les autres parties.

2.2.1 Diagramme de cas d’utilisation

Un diagramme de cas d'utilisation est un type de diagramme est une description de


l’application qui privilégie le point de vue de l’utilisateur. L’élaboration et la description de ce
diagramme permet de comprendre les exigences de tous les utilisateurs notre application. Par
conséquent nous allons représenter graphiquement les interactions des utilisateurs avec le
système comme suit :

Figure 1 : Diagramme de cas d’utilisation du système

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

Tableau 1 : Description cas d’utilisation « s’authentifier »

Cas d’utilisation : s’inscrire


Titre S’inscrire
Auteurs Client, visiteur
Résumé Permettre à l’utilisateur d’avoir un compte
Précondition L’utilisateur doit accéder au formulaire
d’inscription en ayant une connexion
internet.

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

Tableau 2 : Description cas d’utilisation « s’inscrire »

Cas d’utilisation : rechercher

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é

Tableau 3: Description cas d’utilisation «rechercher »

Cas d’utilisation : ajouterProduit

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 »

2.2.2 Diagramme de classe

Un diagramme de classes exprime la structure statique d'un système en termes de


classes et les relations entre ces classes. Le rôle du diagramme de classes est de modéliser
les entités du système d'information. Les diagrammes de classes permettent de représenter
toutes les informations éventuelles pour la gestion de domaine. L'information est structurée,
c'est-à-dire qu'elle a été regroupée en classes. Le diagramme met en évidence les relations
possibles entre ces classes.

- 15 -
Figure 2 : Diagramme de classe du système

2.2.3 Diagramme de séquence

La description de la vue dynamique de notre application est réalisée à travers les


différents diagrammes de séquence. En effet, un diagramme de séquence illustre la
communication et la séquence des opérations entre l'utilisateur et le système. Il peut être
utilisé pour comprendre les flux d'interaction et faciliter la conception et la mise en œuvre 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

Dans la dernière partie de ce document nous allons aborder la mise en œuvre et la


présentation de la solution. Pour ce faire nous allons d’abord décrire l’architecture avant de
présenter la solution.

3.1 Architecture

Notre système correspond à une application web. On y accède avec un navigateur.


Aucune installation n’est nécessaire pour son utilisation au niveau des clients en vue que
l’application sera centralisée dans un serveur. Le système repose autour d’un serveur web
dans lequel sera déployé le logiciel applicatif. Cela sera accompagné d’un serveur de base de
données qui sera dupliqué pour assurer le stockage des données. L’échange entre les clients et
l’application se fait avec le protocole http.
Dans ce chapitre, nous allons d’abord présenter notre environnement de travail qui
désigne l’ensemble des logiciels système et les langages de programmation utilisés et ensuite
parler de la stratégie de sécurité mise en jeu.

3.1.1 Outils et langage de programmation

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

Figure 7 : Logo Visual Studio Code

C’est un éditeur de code source développé par Microsoft. Il s'agit d'un


environnement de développement intégré (IDE) léger et gratuit, largement utilisé par les
développeurs pour écrire et modifier du code dans différents langages de programmation.
➢ WampServer

- 22 -
Figure 8 : Logo WampServer

C’est un logiciel open-source qui permet de créer un environnement de développement local


pour des applications web. Le nom "WampServer" est dérivé de l'acronyme "WAMP", qui
fait référence aux composants logiciels qu'il regroupe : Windows, Apache, MySQL, PHP.

➢ MySQL

Figure 9 : Logo MySQL

MySQL est un système de gestion de base de données relationnelles (SGBDR) open-


source, largement utilisé dans le développement d'applications web et d'autres projets
logiciels. Il a été développé par MySQL AB, puis acquis par Oracle Corporation.
➢ Draw.io

Figure 10 : Logo Draw.io

Egalement connu sous le nom de diagrams.net, il est un outil de dessin et de création


de diagrammes en ligne. Il permet aux utilisateurs de créer facilement une variété de
diagrammes, tels que des organigrammes, des diagrammes de flux, des diagrammes UML,
des maquettes d'interface utilisateur, des schémas réseau, des diagrammes de processus, des
organigrammes et bien d'autres.

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

3.2 Présentation de la solution


Dans ce chapitre, nous allons présenter l’application.

3.2.1 Interface accueil


Pour tous les utilisateurs nous aurons une page d’accueil pour l’accès aux différentes
interfaces de notre application.

- 25 -
Figure 12 : interface accueil

L’utilisateur va se retrouver dans la page d’accueil où il y a une barre de navigation


incluant :

- 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

3.2.2 Interface inscription

Figure 13 : interface inscription

Les utilisateurs doivent être inscrits pour pouvoir ajouter des produits au panier.

3.2.3 Interface connexion

- 27 -
Figure 14 : interface connexion
Juste après l’inscription l’utilisateur peut se connecter pour effectuer ses achats

3.2.4 Interface contact

Figure 15 : interface contact

Dans cette interface, l’utilisateur (connecté ou non connecté) pourra contacter


l’entreprise en remplissant le formulaire ou bien en cliquant sur les icônes qui sont des liens
vers les différents réseaux sociaux de l’entreprise. Il a aussi le numéro de téléphone et les
adresses (physique et mail).

- 28 -
3.2.5 Interface détails produit

Figure 16 : interface détails du 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.

3.2.6 Interface panier

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

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

3.2.8 Interface historique

Figure 19 : interface historique


Dans cette interface le client peut voir l’historique de ces commandes.

3.2.9 Interface accueil (admin)

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

3.2.10 Interface listeProduits (admin)

Figure 21 : interface listeProduits (admin)


En cliquant sur « Produits » l’admin aura cette interface qui lui donne la liste de produits. Il
peut alors supprimer ou modifier un produit. Il peut aussi ajouter en cliquant sur le bouton « ajouter
produit » qui va l’amener dans l’interface ajoutProduit.

3.2.11 Interface ajoutProduit (admin)

- 31 -
Figure 22 : interface ajoutProduit (admin)
Ici l’admin saisit les informations et clique sur le bouton « ajouter produit » pour ajouter un
nouveau produit.

3.2.12 Interface listCommandes (admin)

Figure 23 : interface listCommandes (admin)


En cliquant sur commandes l’admin aura cette page qui lui permet de voir la liste des
commandes. Il pourra mettre à jour le statut, par exemple après livraison il change le
statut « payée » en « livrée ».

Au niveau de cette chapitre nous nous sommes penchés essentiellement sur la


présentation de l’application. Nous avons exposé et commenté quelques interfaces de
l’application réalisé.

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

En définitive, l'évolution rapide de l'informatique a eu un impact significatif sur


divers secteurs d'activité, y compris l'industrie agroalimentaire. Notre problématique s'est
concentrée sur l'optimisation de ce secteur en exploitant les avantages de l’informatique.
Ainsi notre objectif était de mettre en place application de vente qui sera une solution efficace
pour dynamiser le commerce agroalimentaire.

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 :

• Des fonctionnalités pour le suivi de commande


• Evolution des ventes
• Des fonctionnalités de recommandation et de personnalisation pour améliorer
l'expérience utilisateur.

- 33 -
Bibliographie

Mémoires :

➢ BENLAHCENE Sarra et BENMANSOUR Hadjer Selsabil, Conception et


réalisation d’un site web e-Commerce, 2014/2015, 41 pages.
➢ OKALA M.Rolandb-Brice, Réalisation d’un site de vente en ligne : cas DecoHome,
Ecole Supérieure de Technologie et de Management, 2017-2018, 49 pages.
➢ Synibar Symphorien NIYONZIMA, Conception d'une plateforme web d'e-
commerce au sein d'une entreprise commerciale. « cas de l'entreprise wika », ISIG
Goma, 2017, 62 pages.

XIII
Webographie

➢ https://www.agroalimentaire.sn/ 20/07/2023, 10h30


➢ https://www.au-senegal.com/l-agroalimentaire-au-senegal,3587.html 20/07/2023,
21h04
➢ https://www.memoireonline.com/11/22/13303/m_Conception-dune-plateforme-web-
de-commerce-au-sein-dune-entreprise-commercia15.html 03/08/2023, 20h35
➢ https://www.codewithmurad.com/2022/09/ecommerce-project-using-reactjs-
springboot.html 23/08/2023, 14h50
➢ https://www.youtube.com/watch?v=gzGzTza3IuQ 30/08/2023, 19h40
➢ https://www.youtube.com/watch?v=4w2ZYxiIvkc 10/09/2023, 11h10
➢ https://www.youtube.com/watch?v=T9LnzDMINF8 10/09/2023, 13h20
➢ https://stackoverflow.com/questions/74926838/spring-boot-and-react-js-paypal-rest-
api-payment-gateway 15/10/2023, 22h40
➢ https://developer.paypal.com/sdk/js/ 10/10/2023, 10h55
➢ https://doc.paytech.sn/#apikey 24/10/2023, 22h50
➢ https://doc.paytech.sn/PayTech.pdf 24/10/2023, 23h05

XIV
Annexes

Guide d’entretien auprès des Consommateurs

1. Vous êtes Consommateur? OUI NON


2. Où achetez-vous vos produits ?
o Au marché
o Dans les supermarchés
o Je commande en ligne
Quelles sont les procédures que vous aviez faites ?
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
……………………………………………
4. Quelles sont les problèmes rencontrés ?
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
……………………………………………
5. Critique du système actuel.
…………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………
Guide d’entretien auprès des producteurs

1. Quel est le système d’information utilise par votre service ?


…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………
2. Comment arrivez-vous à évacuer votre stock de produits ?
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………
3. Quelles sont les problèmes rencontrés au niveau du système actuel ?
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
………………………………………

XV
Table des matières

A la mémoire de ....................................................................................................................... III

Dédicace ................................................................................................................................... IV

Remerciements .......................................................................................................................... V

Avant-propos ............................................................................................................................ VI

Sommaire ................................................................................................................................VII

Glossaire ................................................................................................................................ VIII

Liste des figures ....................................................................................................................... IX

Listes des tableaux ................................................................................................................... IX

Résumé ...................................................................................................................................... X

Abstract .................................................................................................................................... XI

Introduction générale ............................................................................................................. - 1 -

I. Présentation du sujet ...................................................................................................... - 4 -

1.1 Contexte .................................................................................................................. - 4 -

1.2 Problématique ......................................................................................................... - 5 -

1.3 Objectifs.................................................................................................................. - 6 -

II. Analyse et conception ................................................................................................ - 9 -

2.1 Analyse des besoins ................................................................................................... - 9 -

2.2 Conception ............................................................................................................... - 11 -

2.2.1 Diagramme de cas d’utilisation ......................................................................... - 12 -

2.2.2 Diagramme de classe ........................................................................................ - 15 -

2.2.3 Diagramme de séquence ................................................................................... - 16 -

III. Mise en œuvre et présentation de la solution ........................................................... - 22 -

3.1 Architecture .......................................................................................................... - 22 -

3.1.1 Outils et langage de programmation ............................................................. - 22 -

3.2 Présentation de la solution .................................................................................... - 25 -

3.2.1 Interface accueil ................................................................................................ - 25 -

XVI
3.2.2 Interface inscription .......................................................................................... - 27 -

3.2.3 Interface connexion ........................................................................................... - 27 -

3.2.4 Interface contact ................................................................................................ - 28 -

3.2.5 Interface détails produit ..................................................................................... - 29 -

3.2.6 Interface panier ................................................................................................. - 29 -

3.2.7 Interface paiement ............................................................................................. - 30 -

3.2.8 Interface historique ........................................................................................... - 30 -

3.2.9 Interface accueil (admin) .................................................................................. - 30 -

3.2.10 Interface listeProduits (admin) .......................................................................... - 31 -

3.2.11 Interface ajoutProduit (admin) .......................................................................... - 31 -

3.2.12 Interface listCommandes (admin) ..................................................................... - 32 -

Conclusion générale ............................................................................................................ - 33 -

Bibliographie ......................................................................................................................... XIII

Webographie ......................................................................................................................... XIV

Annexes .................................................................................................................................. XV

Table des matières ................................................................................................................. XVI

XVII

Vous aimerez peut-être aussi