Académique Documents
Professionnel Documents
Culture Documents
A MA FAMILLE.
i
Remerciements
— M. GUIMEZAP Paul, Président Fondateur de l’IUC pour m’avoir permis d’avoir cette
formation d’ingénieurs ;
— M. DJAMOU Dave, pour m’avoir donné ma chance, son soutien et son encadrement
professionnel ;
— M. KEPSEU DJOMO Gaspard, Directeur général d’Inet Consulting Sarl, pour m’avoir
permis de faire ce stage ;
— Tout le corps enseignant de l’Institut Universitaire de la Côte (IUC) pour leur aide,
leur enseignements et leurs encouragements ;
ii
Avant Propos
— De permettre aux proches se trouvant l’étranger de payer les produits de leurs familles
au pays.
— De commander des articles depuis chez soi et se faire livrer cela à domicile.
iii
OPTIMISATION DU TEMPS DE COURSE DANS UN SUPERMARCHE avec une
Solution de SELF SCANNING
Bien que confronté aux difficultés, nous avons pu les contourner, afin d’obtenir des résultats
qui permettront à notre système d’entrer en vigueur. Étant donné que nous souhaitons
toucher tous les supermarchés, notre travail va s’appesantir sur le complexe de BAO.
L’avancée informatique de ces dernières années avait pour but de combler le fossé entre
le monde virtuel et le monde physique de l’information numérique. Cette vision a été ap-
pliquée à l’amélioration de la chaı̂ne d’approvisionnement dans le commerce de détail. Le
présent document fait office de mémoire de fin d’étude dont la problématique est appliquée
aux supermarchés du Cameroun (tels que le complexe Bao, Spar, Carrefour Market, Super
U. . .). En effet, le travail principal consistait à développer un système qui permettra aux
divers clients d’optimiser leur temps d’achats grâce au processus de préfacturation à partir
de leurs Smartphones. Pour ce faire, le client peut transférer le panier, si nécessaire, à un
compte distant pour s’assurer que tous les produits requis de la liste sont effectivement dans
le dit panier. Il peut également régler sa facture lui-même, ou la transférer à une tierce per-
sonne/utilisateur pour effectuer le paiement à distance via Orange Money, Mobile Money ou
carte visa. Cette solution vise d’une part à résoudre : le problème de file d’attente remarquée
régulièrement devant les caisses durant les jours ordinaires et les périodes évènementielles,
le problème de gain de temps et d’autre part de faciliter le processus de respect des mesures
barrières face à la pandémie de la COVID-19. Pour y parvenir, une analyse plus approfondie
de ce besoin a été faite, afin d’entrevoir la conception et la réalisation d’une application qui
permettra au client de scanner lui-même ces articles à partir du code barre et effectuer di-
rectement le paiement. Nous nous sommes dans un premier temps limité à l’implémentation
d’une solution pour le complexe de BAO et uniquement sur le système d’exploitation An-
droid. Cette implémentation a été précédée d’une modélisation à l’aide d’UML, adossé sur
la méthode Scrum Agile. Le résultat obtenu à ce jour est une application qui fonctionne à
74% des objectifs définis à l’avance. Toutefois, le travail se poursuit avec motivation puisque
ce qui est déjà fait est apprécié par le directeur technique d’Inet Consulting.
v
Abstract
The computer advancement of recent years was intended to bridge the gap between the
virtual world and the physical world of digital information. This vision has been applied to
improving the supply chain in retail. The present document is a dissertation whose proble-
matic is applied to supermarkets in Cameroon (such as the Bao complex, Spar, Carrefour
Market, Super U...). Indeed, the main work consisted in developing a system that will al-
low the various customers to optimize their shopping time thanks to the pre-billing process
from their Smartphones. To do this, the customer can transfer the basket, if necessary, to
a remote account to ensure that all the required products from the list are actually in the
said basket. They can also pay the bill themselves, or transfer it to a third party/user to
make the payment remotely via Orange Money, Mobile Money or Visa card. This solution
aims on the one hand to solve : the problem of queues regularly noticed in front of the
cash desks during ordinary days and event periods, the problem of saving time and on the
other hand to facilitate the process of respecting the barrier measures against the COVID-19
pandemic. In order to achieve this, a more in-depth analysis of this need was carried out,
in order to envisage the design and implementation of an application that would allow the
customer to scan these items from the barcode and make the payment directly. Initially, we
limited ourselves to the implementation of a solution for the BAO complex and only on the
Android operating system. This implementation was preceded by a modelling using UML,
based on the Scrum Agile method. The result to date is an application that is 74% of the
predefined objectives. However, the work continues with motivation as what is already done
is appreciated by the technical director of Inet Consulting.
vi
Sommaire
Dédicace i
Remerciements ii
Résumé v
Abstract vi
Sommaire vii
Introduction Générale 1
1 Etat de l’art 3
1.1 Supermarché . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 Etude des systèmes de caisse actuels . . . . . . . . . . . . . . . . . . . . . . 5
1.3 Théorie des files d’attente . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.4 Optimisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.5 Technologie de self Scanning . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.6 Étude de l’existants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2 MATERIELS ET METHODES 33
2.1 Cahier de charges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
vii
OPTIMISATION DU TEMPS DE COURSE DANS UN SUPERMARCHE avec une
Solution de SELF SCANNING
3 IMPLÉMENTATION ET RÉSULTATS 92
3.1 Plateforme de développement mobile . . . . . . . . . . . . . . . . . . . . . . 92
3.2 Outils, technologies et résultats obtenus . . . . . . . . . . . . . . . . . . . . . 97
— RE : Requirement Engineering
— XP : eXtreme Programming
ix
Liste des figures
2.1 selfcheckout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.2 Rayon du grand Bao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
2.3 Les temps moyens d’attente acceptable selon les clients . . . . . . . . . . . . 40
2.4 La fréquence à laquelle les clients viennent faire leurs courses . . . . . . . . 40
2.5 la fréquentation de ces 26 clients et la taille moyenne de leur panier . . . . . 41
2.6 Analyse SWOT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
2.7 Diagramme de Gantt prévisionnel . . . . . . . . . . . . . . . . . . . . . . . 46
2.8 Formule Effort . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
2.9 Formule Temps de développement . . . . . . . . . . . . . . . . . . . . . . . . 54
x
OPTIMISATION DU TEMPS DE COURSE DANS UN SUPERMARCHE avec une
Solution de SELF SCANNING
xii
Introduction Générale
L’innovation progresse rapidement dans tous les secteurs de l’industrie. Cette amélioration
et ce développement sont impératifs pour les industries. Certains sont à jour, d’autres
s’améliorent. Nous assistons déjà à l’ère de l’industrie dépendante de la technologie, où
la technologie joue un rôle clé dans les processus de fabrication. Ces nouvelles technologies
modifient le mode de fonctionnement des entreprises. Il est essentiel pour les supermarchés
qui se concentrent sur la fourniture d’un service rapide et fiable aux clients de suivre la
cadence.
Ces supermarchés ne cessent de croı̂tre chaque année au Cameroun, apportant avec elle
le problème de file d’attente à la caisse qui est de plus en plus croissant, les clients passant plus
de temps à la caisse de paiement que dans les rayons. Ceci est au cœur des préoccupations des
grandes surfaces de vente qui cherchent constamment de nouvelles solutions. Cependant il
est difficile de trouver un bon compromis entre la diminution de l’attente et les coûts que cela
pourrait engendrer. Plusieurs travaux scientifiques ont déjà été réalisé en occident dans ce
sens, mais il reste encore beaucoup à faire vu le contexte camerounais actuel. C’est pourquoi
nous nous sommes intéressés à la réduction du temps d’attente au niveau des caisses, ce
qui permettra au client de consacrer plus de temps au niveau du choix des articles dans les
rayons et de vérifier la facturation, afin de voir s’il a les moyens nécessaires pour payer.
Pour le client :
1
OPTIMISATION DU TEMPS DE COURSE DANS UN SUPERMARCHE avec une
Solution de SELF SCANNING
Pour atteindre ses objectifs il sera intéressant pour nous de débuter par une revue de la
littérature, ensuite présenter les matériels et les différentes méthodes que nous allons utiliser,
faire une implémentation et enfin présenter une conclusion générale.
Etat de l’art
Ce chapitre a pour but de faire le contour des différents concepts qui seront abordés dans
le projet pour avoir une idée de ce à quoi nous nous frotterons. Ici nous allons essayer de
comprendre les différents concepts qui seront abordés tout au long de la réalisation de ce
projet.
1.1 Supermarché
Afin de mieux comprendre la finalité du système que nous mettrons en place, nous nous
devons de le placer dans son contexte.
1.1.1 Définition
Un supermarché est un endroit où sont achetés et vendus, entre autres, des produits
alimentaires, d’hygiène et de soins personnels. La superficie varie entre 400 et 2500 mètre
[Carluer-Lossouarn, 2006].
3
OPTIMISATION DU TEMPS DE COURSE DANS UN SUPERMARCHE avec une
Solution de SELF SCANNING
Figure 1.1 – Le grand Bao Douala montée collège Saint-Michel Près de Chococam
Clarence Saunders a été un pionnier en créant le premier supermarché au monde où l’idée
lui est venue de mettre des marchandises à vendre à la merci des acheteurs. Son objectif était
de gagner du temps et du travail pour le vendeur, et il a réussi. Ainsi naquit Piggly Wiggly
en 1916, la première chaı̂ne de supermarchés au monde dans laquelle le client pouvait acheter
et observer les produits et payer à la sortie [Carluer-Lossouarn, 2006].
Les clients pénètrent dans l’établissement dans le but d’acquérir des biens pour leur
usage, qu’ils soient comestibles ou personnels. Ils le parcourent généralement avec un chariot
ou un panier pour pouvoir y loger tous les produits qu’ils souhaitent acheter. Les articles
sont organisés et distribués en sections qui ont été planifiées à l’avance et qui sont également
organisées selon les lignes de commercialisation pour obtenir une plus grande réussite com-
merciale. Par exemple, le fait qu’il existe certains produits en vue du consommateur au
détriment d’autres. Il est connu que les produits de première nécessité (œufs, lait, pain, pois-
son...) sont placés loin de l’entrée et sont répartis dans tout le supermarché de manière à ce
que le client puisse parcourir tout l’espace pour acheter plus d’épicerie pendant le trajet, par
exemple. Il y a aussi des exposants à la sortie, lorsque l’achat est à régler, avec des produits
tels que des bonbons, des chewing-gums, des piles, dont le but est l’achat impulsif pendant
que les produits passent en caisse. Dans les supermarchés, l’agencement, l’éclairage, l’ordre
et la distribution sont étudiés pour obtenir le plus grand effet sur les consommateurs et le
dernier objectif final est d’augmenter les ventes [Carluer-Lossouarn, 2006].
Il existe un besoin impérieux pour les entreprises de valoriser le temps des clients et
de mettre en place des systèmes de caisse plus efficaces afin d’améliorer l’efficacité des files
d’attente. Une enquête du Food Marketing Institute a révélé que 89% des acheteurs interrogés
ont indiqué qu’un processus de paiement rapide est l’une des priorités les plus importantes
dans leur choix d’un magasin qui répond à leurs attentes [Tomazelli, 2016].
caisse conventionnelle qui est facilitée par un employé du supermarché qui aide le client
à enregistrer les produits, calcule le montant dû et accepte le paiement [Tycho, 2008]. Ce
nouveau processus d’encaissement est développé et introduit sur le marché afin de minimiser
les coûts de main-d’œuvre. Ce système de caisse innovant est appelé ”caisse automatique”
et permet au client d’effectuer la plupart des tâches de caisse sans l’aide d’un employé
[Bickers, 2009].
Ce concept efficace nécessite différents systèmes de caisse qui remplacent les caisses as-
sistées, du processus de caisse conventionnel. Il permet à un employé de magasin de s’occuper
de plusieurs systèmes de caisse et peut donc contribuer à réduire les coûts de main-d’œuvre.
L’avantage de ce nouveau processus de caisse est une plus grande intimité pour le client et
la perception d’une caisse plus rapide [Christopher, 2009]. Le magasin peut traiter plus de
clients en même temps et donc réduire les files d’attente, sans avoir à augmenter le nombre
de caissiers.
L’accès aux applications, à l’internet et aux e-mails est considéré comme l’un des princi-
paux avantages de posséder un smartphone [Poushter, 2016].
Les applications mobiles qui permettent aux consommateurs d’interagir avec les pro-
duits du supermarché remonte à plusieurs années [Shintaro Okazaki, 2009]. Les premiers
prototypes étaient des dispositifs matériels personnalisés comme les assistants numériques
personnels (PDA) ou les ordinateurs de poche. Ils constituaient la plate-forme privilégiée
pour mettre en œuvre des prototypes de logiciels, qui ont ensuite été mis en œuvre sous
forme d’applications logicielles sur des téléphones mobiles. Certaines approches ont attaché
les assistants d’achat aux chariots ou aux paniers.
Dispositifs matériels
mobile qui pouvait être attaché à un chariot d’achat et présentait une interaction
vocale à l’aide d’un microphone et de casques. Il dirigeait les clients dans le ma-
gasin, fournissait des détails sur les produits qui les intéressaient grâce à son
écran intégré, effectuait des comparaisons de prix, indiquait les articles en solde
et réservait des listes de courses personnelles. Le système mettait également en
œuvre un lecteur de codes-barres.
Ordinateurs de poche
— Shopper’s Eye, un prototype idéaliste d’un agent logiciel basé sur la localisa-
tion et fonctionnant sur un PDA. et utilisant la localisation GPS et les objectifs
d’achat définis par l’utilisateur pour informer les utilisateurs de la disponibilité
et le prix des produits dans les magasins voisins a été présenté en 1998 par Fano
[Stephan Karpischek, 2009].
— Ubiquitous Computing (HUC). Le prototype a été conçu pour scanner les codes-
barres des livres dans les librairies et trouver le meilleur prix accessible en ligne.
Une première évaluation a montré que la vitesse de la connexion Internet était le
facteur le plus limitant pour une large adoption par les utilisateurs. L’objectif de
ce travail était d’étudier l’effet prédit avec les applications mobiles actuellement
déployées pour les consommateurs dans les supermarchés.
— D’après Chan (2012), en 2001, un explorateur de projet au laboratoire des médias
du Massachusetts Institute de technologie (MIT) a travaillé sur des applications
qui associaient des services virtuels aux personnes, aux lieux et aux objets. Le
projet a mis en œuvre un assistant personnel d’achat (PSA) sur un Pocket PC
attaché à un panier d’achat. Les consommateurs pouvaient scanner les produits
à l’aide d’un scanner de codes-barres. Le système fournissait des informations
supplémentaires sur les produits scannés, telles que des informations nutrition-
nelles, des recettes et des recommandations de produits à l’aide d’une version
préliminaire d’un Object ONS (Object Naming Service) et de services web. Par la
suite, le système a été doté de fonctionnalités supplémentaires telles qu’un lecteur
RFID et des produits étiquetés avec des codes de produits électroniques (EPC) sur
les étiquettes RFID [Stephan Karpischek, 2009]. Selon Chan (2012) le système a
été évalué par des essais informels d’utilisateurs dans un supermarché. L’avantage
le plus important pour les clients était de voir le coût total des articles scannés.
B - Applications mobiles
Adelmann et al. (2010) ont développé une boı̂te à outils rapide et fiable pour la lecture
des codes-barres, connue sous le nom de Batoo. Ses principales caractéristiques incluent
la possibilité de scanner les codes-barres sous n’importe quel angle. Les versions ultérieures
pouvaient même décoder des codes-barres dans des images floues, ce qui éliminait la nécessité
d’attendre l’autofocus de l’appareil photo. Karpischeck (2012) a comparé le Batoo à d’autres
scanners de codes-barres dans le cadre d’une une étude d’utilisateurs et a constaté que
Batoo était l’un des deux sur un total de 11 scanners de codes-barres mobiles avec une
fiabilité parfaite de 100 %. D’après Karpischeck (2012), l’autre lecteur de codes-barres avec
une fiabilité parfaite dans cette étude était ZXing.
Selon McMillan (2010), les recherches sur les assistants d’achat mobiles se sont jusqu’ici
concentrées sur des prototypes qui n’avaient pas été largement déployés et évalués à grande
échelle. Alors que d’autres applications mobiles ont fait l’objet de recherches à plus grande
échelle, tout comme l’utilisation des smartphones en général et que les chercheurs ont obtenu
de bons résultats en déployant des applications dans les boutiques d’applications(playstore).
Solomon et al. (2007) ont défini l’achat du consommateur comme une réponse à un besoin
où le consommateur subit une série d’étapes pour satisfaire ces besoins. Selon Kotler et Keller
(2008) l’achat du consommateur reflète le processus de prise de décision du consommateur,
dont les principales étapes sont l’identification du problème, la recherche d’informations,
l’évaluation des alternatives, la décision d’achat et l’après-achat. Solomon et al. (2007) ont
également expliqué que tous les processus de prise de décision n’étaient pas compatibles
avec ce modèle, car plusieurs facteurs externes pouvaient affecter la façon dont le consom-
mateurs progressent d’une étape à l’autre. Les achats sont considérés comme un processus
habituel de prise de décision. Les décisions relatives à la plupart des supermarchés exigent
un faible niveau de participation de la part des consommateurs, car elles sont fortement liées
à l’expérience d’achats antérieurs et aux routines d’achat [Solomon, 2007]. Les offres de pro-
duits des supermarchés et les autres environnements des magasins sont généralement associés
aux stimuli destinés à influencer le processus de décision du consommateur au moment de
l’achat.
Les clients sont généralement exposés aux présentoirs en magasin et aux catégories de
produits lorsqu’ils achètent. L’intensité de l’exposition étant influencée par plusieurs facteurs
contextuels tels que l’emplacement, le nombre d’allées, le type de déplacement et la partici-
pation à l’achat [Inman, 2014]. Les acheteurs sont motivés à l’achat par les stimuli auxquels
ils sont exposés en magasin. Ces stimuli sont influencés par un certain nombre de facteurs
tels que l’âge et le besoin d’un produit, l’impulsivité, le sexe, la taille du ménage, sans oublier
le revenu.
Maja (2014) a présenté une approche de l’utilisation des téléphones mobiles pour les
supermarchés. Elle a été divisée en quatre catégories : la publicité mobile (utilisation du
téléphone mobile par les détaillants), la technologie de localisation sans fil telle que le GPS
(pour ce repéré dans le supermarché), l’utilisation des téléphones mobiles lors dès l’achat
(pour avoir des informations sur certains produits) et les paiements mobiles.
tions de téléphonie mobile, comme le montre la figure 6. Selon Maja (2014), à l’avenir, les
supermarchés seront obligés d’intégrer l’utilisation des téléphones mobiles pour améliorer leur
relation avec les clients. Une recherche effectuée par KPMG International (2012) a déclaré
que les téléphones mobiles avaient une variété d’applications qui pourraient être utilisées
par les détaillants pour commercialiser leurs produits et tenir les clients informés des offres
spéciales, des arrivages de nouveaux produits et des ventes.
1.4 Optimisation
Parmi les problèmes rencontrés par le chercheur et l’ingénieur, les problèmes d’optimi-
sation occupent à notre époque une place de choix. Nous n’aborderons pas le problème de
l’optimisation d’un point de vue mathématique, mais simplement du point de vue générale.
L’optimisation c’est le fait de donner à quelque chose, à une machine, à une entreprise,
etc., le rendement optimal en créant les conditions les plus favorables ou en en tirant le
meilleur parti possible [(Auteur), 2021]. Il existe plusieurs types d’optimisation, notamment
l’optimisation du temps, du coût, de la main d’œuvre...etc.
Pour déterminer qu’elle serait l’axe d’optimisation que nous appliquerons aux super-
marchés nous avons eu à suivre la démarche présenté dans la figure si après :
Au ressortir de cette démarche, nous avons déterminé que nous pouvions optimisé le
temps de course des clients dans les supermarchés en réduisant le temps d’attente passé à la
caisse. Ce qui par ricochet augmentera les gains financiers des supermarchés.
A - QR-Code
QR-Code est l’abréviation de Quick Response Code. Selon Johannes Ullrich (2011), il
s’agit d’un type de code-barres matriciel ou bidimensionnel conçu initialement pour l’indus-
trie automobile au Japon. Un code à barres est défini comme une étiquette optique lisible
par une machine et contenant des informations sur un article auquel elle est attachée. La
figure suivante montre la structure du QR-Code [Bhardwaj, 2016] :
Les QR-Code pouvaient être utilisés sur une variété de systèmes d’exploitation de
téléphone mobiles. Les appareils mobiles prennent en charge la redirection d’URL qui per-
met aux codes d’envoyer des métadonnées aux applications sur l’appareil. De nombreuses
applications mobiles gratuites permettaient de scanner les QR-codes et d’établir un lien di-
rect avec des URL externes [SO, 2010]. Un QR-code est une sorte de symbole bidimensionnel
développé par Denso Wave. La figure suivante montre la comparaison entre un QR-code et
un code à barres traditionnel. Cette technologie a été lancée en 1994 dans le but d’être un
symbole facilement interprétable par un scanner [Wave, 2014].
Les QR-codes et les codes-barres sont des codes appartenant au domaine public, ce qui
signifie qu’ils sont libres de droits et qu’on à pas besoin de payer une licence pour les utiliser.
Les spécifications publiées et les exigences d’impression pour chaque code sont disponibles
auprès de l’organisation internationale de normalisation (ISO). Les normes ISO correspon-
dante pour chacun sont les suivantes :
— Les exigences relatives aux codes-barres sont spécifiées dans la norme internationale
ISO/IEC 16022.
— Les exigences relatives aux QR-codes sont spécifiées dans la norme internationale
ISO/IEC 18004.
des caméras et des scanners dédiés. L’image capturée est traitée en utilisant la correction
d’erreur Reed Solomon jusqu’à ce qu’elle puisse être interprétée de manière appropriée. Les
données ont été extraites des motifs des images présentées sur leurs composantes verticale et
horizontale. La quantité de données stockées dans un symbole de QR-Code dépend du type
de données, de la version et du niveau de correction des erreurs.
Utilisation des QR-codes : Selon Bhardwaj et Kumar (2016), les QR-codes étaient
plus couramment utilisés dans la publicité grand public. L’utilisation d’un smartphone
était privilégiée en tant que scanner de code qui pouvait convertir le code en données
utiles telles que l’URL standard d’un site web. Ainsi, l’utilisateur n’avait plus besoin
de taper l’URL dans un navigateur web. Les QR-codes ont également été utilisés dans
d’autres applications telles que le suivi commercial des marchandises, par exemple la
billetterie des spectacles et des transports, le marketing de produit ou de fidélisation
et l’étiquetage des produits en magasin.
B- Code Barre
Comme l’ont souligné Kato et Tan (2007), les codes-barres ont été conçus pour transporter
un grand nombre de données. Les téléphones mobiles sont passés d’un appareil de communi-
cation vocale mobile à ce qu’ils sont aujourd’hui, une plate-forme informatique multimédia
mobile. Le développement récent de la technologie et l’intégration de ces deux éléments ont
donné lieu à des applications intéressantes et diverses des codes à barres dans les systèmes
d’applications mobiles et les services de commerce électronique. Kuha et Chintho (2014) ont
déclaré que dans les systèmes de commerce mobile, les codes à barres pourraient être utilisés
pour soutenir les activités de prévente, d’achat et de vente, et d’après-vente pour les tran-
sactions commerciales mobiles. Les codes-barres pourraient être utilisés comme publicités,
coupons ou matériels de promotion qui peuvent être capturés et décodés par l’utilisateur avec
des appareils mobiles. De plus, les codes-barres permettent aux appareils mobiles de devenir
un dispositif de point de vente qui lit le code-barres et facilite les transactions de paiement,
les codes-barres pourraient être utilisés par les clients comme un reçu ou une preuve d’achat
pour avoir accès aux biens et services achetés avec leurs téléphones mobiles [Zhang, 2014].
— Les code-barres constituent un nouveau canal de saisie efficace pour les clients
mobiles équipés d’appareils photo intégrés.
— Les code-barres deviennent une approche populaire pour présenter des données
mobiles sémantiques dans des formats standard.
— Les code-barres favorisent une nouvelle approche interactive et efficace entre les
clients mobiles et les systèmes d’application sans fil.
— La technologie des codes-barres peut être et est utilisée dans diverses applications
du commerce mobile.
Roussos et College (2007) ont présenté une nouvelle forme de technologie de supermarché
intelligent, appelée Smart Market (SMart), qui poursuit trois objectifs :
— Le premier objectif est de permettre aux clients d’accéder facilement aux informations
sur les produits ou à d’autres fonctions du supermarché.
— Le deuxième objectif est d’offrir un passage en caisse rapide et souple, car le processus
actuel de passage en caisse est systématiquement considéré comme l’un des aspects les
Zheng et Meagher (2009) ont fourni un scénario pour expliquer davantage le fonction-
nement du SMart : un utilisateur se rend au terminal de service (ST) d’un supermarché et
saisit le numéro du produit. Le SMart affiche alors l’emplacement du produit et l’itinéraire
sur l’écran du ST. L’utilisateur doit ensuite localiser le produit qui possède une étiquette
RFID (Radio frequency identification) qui sera lue par le terminal de service. Le ST affiche
alors les informations sur le produit et les paiements qui suivent.
1.6.2 BarCroid
Benedict et Pacana (2016) ont conçu une application appelée BarCroid Scanner qui vi-
sait à aider les achats fastidieux et peu pratiques. Elle a été développée pour une meilleure
Limites
— De nombreux bugs
— Les commandes n’arrivent pas au complet, ce qui rend le service de livraison défectueux
1.6.3 Amazon Go
Figure 1.13 – Les caméras CIBO Express (Caméra de Vision nocturne infrarouge AHD
1920x1080Px) surveillent les achats Amazon GO
Figure 1.14 – Disposition des capteurs et des cameras dans les magasins amazon Go
La première chose qui vous accueille à la porte d’entrée est une rangée de trois tourniquets,
qui sont activés à l’aide d’un code QR unique trouvé dans l’application Amazon Go. Ces
tourniquets gardent ceux qui ne sont pas configurés avec l’application Amazon Go hors du
magasin tout en laissant ceux qui ont téléchargé l’application et l’ont liée à leur compte
Amazon. Ces tourniquets enregistrent les utilisateurs qui se trouvent dans le magasin et
quand ils partent.
Le plafond du magasin est recouvert de caméras qui surveillent chacun de vos mouve-
ments pendant que vous êtes dans le magasin. À l’aide du code QR que vous avez scanné au
tourniquet, les caméras peuvent aider à enregistrer quel utilisateur récupère quel article. Les
caméras fonctionnent en tandem avec les tourniquets pour s’assurer que ce avec quoi vous
quitté le magasin correspond à ce que vous payez.
Amazon n’en dira pas beaucoup plus sur le fonctionnement de ce système de vidéosurveillance,
si ce n’est qu’il implique des logiciels sophistiqués de vision par ordinateur et d’apprentissage
automatique. Cela signifie qu’il n’y a pas de puces de suivi sur la marchandise dans le maga-
sin. C’est le placement des articles sur les étagères et les caméras au plafond qui permettent
de savoir qui a ramassé quoi.
Limites
C’est une application qui permet aux clients de scanner des produits dans les rayons des
supermarchés Super U, de les préfacturés (en ayant un visuel sur le contenu et le montant
de leur facture) et par la suite d’effectuer le paiement via sa carte Super U ou en espèce.
L’application est disponible en version Android et iOS. Néanmoins des limites sont observées
de par nos propres tests et les commentaires laissées par les utilisateurs sur Play Store.
Limites
— D’après les commentaires laissés sur Play Store, U scanning est inopérante (difficulté
à payer avec sa carte Super U intégré à l’application, de fausses informations sur les
remises et promotion
Ces différentes solutions ont plusieurs limites étant donné notre contexte camerounais
actuel. Quelques-unes de ces limites sont entre autres :
— Pour le paiement il est nécessaire d’avoir soit un compte bancaire ou une carte de
crédit.
— Les applications d’Amazon go ou de Smart Market nécessite des smartphones ayant les
derniers version Android (9 à 12), ce qui posera problème étant donné que la majeure
partie de la population est des smartphone Android, la plupart sont encore à des
anciennes version (4 à 7).
— Ce système est ouvert à tous les clients. Permettre à tous les d’avoir accès à ce système
dans les supermarchés au pays serait problématique contenu de la mentalité de certains
clients.
Aux vues des limites énumérées plus haut lors de l’étude de l’existant, sans entrer dans
le cadrage du projet, nous pouvons positionner notre solution qui vient non seulement offrir
à aux clients une plus grande facilité d’utilisation, mais aussi de mieux garantir leur sécurité
en ces temps de COVID-19. Elle intègrera les fonctionnalités citées plus haut en addition
aux fonctionnalités innovants.
Tableau 1.2 – Comparatif de certaines solutions de l’étude de l’existant avec notre solution.
Au vu de ce qui précède, pour un résultat optimal, il est judicieux pour nous de procéder
à un cadrage du projet.
Le but de ce chapitre étant de faire une revue de littérature pour présenter les concepts
qui seront abordés dans ce projet, nous avons fait le tour des notions et concepts et nous
sommes à présent armés de connaissances qui nous seront utiles pour la suite du projet.
MATERIELS ET METHODES
Il s’agit d’une description des techniques choisies pour atteindre les objectifs du système
proposé. Il s’agit de décrit les méthodes utilisées pour mener la recherche, la façon dont la
solution a été mise en œuvre, les outils et les techniques utilisés.
2.1.1 Context
Les applications et les appareils mobiles offrent aux supermarchés bien plus que la
simple possibilité d’entrer en contact avec les consommateurs. Les appareils mobiles offrent
notamment la possibilité d’associer les fonctionnalités du téléphone, l’interaction et la re-
cherche d’informations pendant l’utilisation d’un produit ou les achats en magasin. Un appa-
reil mobile est le compagnon permanent d’un client, un accès à la relation entre le détaillant
et le consommateur. Cela fait de l’appareil mobile un canal complémentaire de la vente au
supermarché physique et de la vente à distance [Shankar et al., 2010].
33
OPTIMISATION DU TEMPS DE COURSE DANS UN SUPERMARCHE avec une
Solution de SELF SCANNING
La main-d’œuvre est le coût les plus importants supermarchés, en plus des produits
vendus, et les épiciers prennent déjà des mesures pour rendre les caissiers obsolètes grâce
aux caisses automatiques. Amazon a modifié le marché du travail du supermarché en mini-
misant la main-d’œuvre [Jake , 2018]. De plus, une évaluation réalisée par CISCO Internet
Business Solution a montré que les principales raisons pour lesquelles les clients utilisaient
les innovations technologiques étaient les suivantes :
L’une des plus grandes difficultés auxquelles les gens sont confrontés dans les super-
marchés est la longueur des files d’attente aux caisses. ACox (2015) a mené une enquête
auprès de 2 500 personnes pour connaı̂tre leurs habitudes d’achat au supermarché. Cela à
montrer que les longues files d’attente aux caisses sont un problème majeur et qu’il n’existe
pas de technologie efficace pour y remédier au Cameroun. Les clients finissent généralement
par abandonner les files d’attente et certains sont immédiatement rebutés par les longues files
d’attente lorsqu’ils entrent dans les supermarchés [Barclays, 2015]. Certains des problèmes
qui entraı̂nent longues files d’attente lors du passage en caisse sont les méthodes de paiement
proposées dans les supermarchés, telles que l’argent liquide, l’utilisation de la carte de crédit
et le paiement mobile. Il y a généralement des retards soit de la part du client du client ou
du supermarché qui facilite ces retards.
— Identifier les difficultés rencontrées par les clients en raison d’un système de caisse lent.
— Déterminer les technologies existantes qui facilitent les achats dans les supermarchés
de détail.
— Concevoir, développer et tester une application mobile permettant aux clients de scan-
ner et de régler leurs achats au supermarché.
— Quelles sont les difficultés rencontrées par les clients en raison d’un système de caisse
lent ?
— Comment l’application mobile peut-elle être utilisée pour scanner les articles et régler
les achats au supermarché ?
Nous avons réalisé une enquête sur les habitudes d’achat des gens afin de déterminer la
liste des choses que les clients détestent dans supermarché. L’un des principaux problèmes
est la longueur des files d’attente aux caisses. 62% des personnes interrogées ont déclaré que
c’était leur principal problème et la plupart d’entre elles partent sans rien acheter.
Nous avons pris contact avec les responsables de caisse de différentes grandes surfaces.
Certains ont refusé de travailler avec nous pour diverses raisons évoquées (données confi-
dentielles, étude déjà effectuée en interne, manque de temps). Deux enseignes ont accepté
de collaborer (Spar situé à Akwa et le grand BAO situé au vers le collège Saint-Michel près
de Chococam), nous avons préféré travailler avec le supermarché BAO) plutôt qu’avec le
supermarché de quartier Spar. En effet, pour ce dernier, la surface de vente est petite tout
comme le panier moyen ; la clientèle est fidèle et peut attendre un peu plus en caisse. La
diminution de l’attente n’est pas la principale demande du client dans les supermarchés de
quartier.
— Changement de caissière
— Caisse bloquée
— Le facteur le plus important est la variance entre les clients (différence de temps de
passage entre un gros caddie ou un petit panier)
Ici nous avons proposé un ensemble proposition et posé certaines questions au responsable
de caisse pour ainsi recueillir son avis sur notre thème de recherche.
Moyen pour indiquer aux clients les caisses où il y a moins d’attente : Il
faut éviter au maximum de faire se déplacer le client. C’est au magasin de suivre les
mouvements de personnes, par exemple si le magasin est sur plusieurs niveaux, ce
seront les caissières qui changeront de niveau.
Placer une aide pour emballer les articles en bout de tapis / si dans la
file d’attente, il y a des petits caddies ou paniers, un employé pourrait en
cas d’affluence pré-scanner leurs articles pour que la caissière n’ait qu’à
encaisser : Ces solutions impliquent l’embauche de personnes supplémentaires ce qui
a un coût et il faut des systèmes de scannage mobiles. En théorie, l’hôtesse de caisse
doit aider le client à emballer ses articles lorsqu’elle a fini le scanning mais en pratique,
cela n’est pas toujours réalisé.
Il n’y a par contre aucune donnée en ce qui concerne le temps que passe un client entre le
moment où il entre dans la file d’attente et le moment où il quitte la caisse avec ses articles
empaquetés. Nous avons donc effectué des chronométrages afin d’avoir une idée de ce temps.
D’autre part, nous avons questionné une centaine de clients afin de déterminer dans
quelle mesure le temps d’attente est important pour eux. Notre questionnaire client compor-
tait les questions suivantes :
— A quelle fréquence ?
Chronométrages client
Résultats des chronométrages : Ils ont été réalisés le premier soir des soldes et le
samedi après-midi suivant. Caisse(77 clients sur les 2 jours)
Analyse : Pour le premier jour des soldes, les plannings ont été réalisés en prévoyant
l’affluence, en conséquence, nous n’avons pas observé de très longues files d’attente.
On constate qu’un client avec un caddie rempli va mettre plus de temps à passer (10
à 13 minutes) et ce temps se répercute sur les clients suivants qui arrivent dans la file
pendant que le premier y est. L’attente est moindre si le client suivant arrive lorsqu’il
est en train de passer en caisse.
Questionnaires client
Les questions ont été posées à 105 clients, dans plusieurs caisses à divers endroits du
magasin. Le diagramme suivant présente les temps moyens d’attente acceptable selon
les clients :
Figure 2.3 – Les temps moyens d’attente acceptable selon les clients
Le diagramme suivant présente la fréquence à laquelle les clients viennent faire leurs
courses :
Figure 2.4 – La fréquence à laquelle les clients viennent faire leurs courses
En étudiant les résultats plus en profondeur, nous nous apercevons que, sur 61 clients
réguliers (soit environ 58% des personnes interrogées), 26 (soit 42%) seraient prêts à
changer d’hypermarché si le temps d’attente devenait trop long.
Nous avons traduit l’incidence d’une telle perte pour le magasin par le diagramme
qui suit. Il présente la fréquentation de ces 26 clients et la taille moyenne de leur panier
(entre parenthèses) :
On remarque que la perte de clients ne venant que 2 fois par mois est autant à prendre en
compte que celle des clients venant plus souvent, car leur panier est plus important.
Il est difficile de parler d’un projet avant d’avoir fait une analyse détaillée du travail à
faire. Il est cependant nécessaire d’effectuer une première estimation générale pour pouvoir
cadrer le projet. Le cadrage permettra entre autres de rappeler l’enjeu ou les intérêts et
les objectifs du projet. Elle a également pour objectifs, d’aligner les besoins à satisfaire.
C’est également l’occasion d’identifier les moyens nécessaires à la mise en œuvre du projet.
Pour assurer notre cadrage, nous avons appliqué la méthode CPS (Cadrage pragmatique et
Synthétique). Cette méthode est un moyen utile pour :
— Cadrer dans ses grandes lignes un programme ou un projet avant d’entrer dans les
détails
A - De quoi S’agit-il ?
Notre projet consiste à concevoir et à implémenter une application Android qui viendra
optimiser le processus d’achat des articles dans un supermarchés. La solution sera intitulée
Scan & Go.
— Fidéliser la clientèle
— Permettre aux clients de pré facturer son panier via son téléphone
— Permettre aux clients de transférer le contenu du panier pour une vérification des
éléments à distance par un autre utilisateur
Le volet fonctionnel spécifie les exigences que l’application doit remplir pour satisfaire
tous les besoins des utilisateurs du système. Ils sont entre autres :
Ces exigences spécifient les critères utilisés pour évaluer le fonctionnement du système.
Elles ont été assemblées en accord avec les exigences fonctionnelles qui définissent les fonc-
tions et le comportement spécifiques. Elles comprennent :
— Intégrité : Le système doit garantir que les données collectées et stockées ne sont pas
modifiées ou corrompues.
— Sécurité : Le système doit permettre aux seuls utilisateurs autorisés d’utiliser ses
fonctionnalités.
Les tests sont un aspect essentiel du développement d’application. Car ils permettent de
vérifier que l’application fonctionne correctement et garantir la meilleur expérience utilisateur
possible. Lest tests préviennent et garantissent le niveau de qualité du produit sur une
période déterminée. Ils donnent aussi des indications de fiabilité. Tout cela, permet de vérifier
l’adéquation du produit aux besoins exprimés par le client et donc de satisfaire la demande
du client. Les tests suivants nous permettrons d’assurer la qualité de notre application :
— Test de régression : c’est un test ayant pour but de détecter les régressions intro-
duites dans un logiciel après un changement effectué dans celui-ci.
La planification est une phase très importante dans la réalisation des projets infor-
matiques car elle vise à connaı̂tre exactement les délais de mise en place de la solution
informatique. Le système informatique sera conçu et réalisé sur une période de 6 mois.
Compte tenu du fait que les attaques informatiques (physique ou logique) sont presque
inévitables, nous devons prendre les dispositions adéquates afin de garantir le respect du
temps dédié à l’exécution du projet. Ces dispositions peuvent être à titre de prévention pour
éviter complètement une quelconque intrusion, soit atténuer leurs effets néfastes.
Notre application mobile doit être sécuriser dans la mesure où elles manipulent des
données personnelles et accèdent à des informations sensibles. La sécurité des applications
mobiles comprend différents aspects :
La sécurité du Backend (APIs et serveur) est généralement plus critique que la sécurité du
frontend (application iOS, Windows, Android), mais ceci dépend du contexte technique et
fonctionnel de l’application elle-même.
Faille d’injection : Les failles d’injection sont les répandues, les plus dangereuses et
les plus diverses (injection SQL, de code, XSS, XPath etc.). Il s’agit pour un attaquant
d’envoyer des requêtes ou des commandes de backend permettant d’exécuter un code
malveillant si les contrôles ne sont pas mis en place côté serveur. Par exemple, lors
d’une attaque d’injection SQL, en manipulant une requête SQL, un attaquant peut
récupérer des enregistrements de base de données ou manipuler le contenu de la base
de données.
Attaque IDOR (Insecure Direct Object Reference) : Elle repose sur les in-
jections, en s’appuyant sur le manque de contrôle de droits côté serveur, il devient
possible pour un utilisateur de modifier le comportement d’une application, héberger
des malwares, voler, altérer ou supprimer des données sensibles.
Stockage non sécurité des données : Une application mobile peut stocker différents
types de données (cookie, fichier, textes, paramètres, etc.) via divers moyens de sto-
ckages (base données SQL, magasins de données, fichiers XML, fichiers PLIST, carte
SD etc.). HTTP (Hyper texte transfert protocole) est la norme en matière de communi-
cation client-serveur. Cependant les communications peuvent potentiellement être in-
terceptés, modifiées ou rédigées. Car ce protocole n’intègre aucun dispositif de sécurité.
Attaque du Man in the Middle : Une des attaques courantes utilise l’empoisonne-
ment de cache ARP. Cette technique permet à un attaquant de détourner des flux de
communications transitant entre une application et une passerelle : routeur, box etc.
En somme, c’est une attaque Man in the Middle dans laquelle un attaquant envoie
de faux messages pour empoisonner le cache ARP d’un utilisateur et ainsi lier son
adresse MAC à l’adresse IP légitime. Ce faisant, il peut ensuite intercepter, modifier
ou supprimer toute communication qui transite entre l’application et le serveur.
Sécurité des composants tiers : La plupart des applications mobiles utilise des
composants tiers : librairies, Framework, API tierces etc. L’utilisation de ces compo-
sants permet de réduire considérablement le temps nécessaire entre la conception d’une
application et sa mise sur le marché. Ils peuvent cependant représenter un risque de
sécurité important, avec des possibilités de vulnérabilités diverses : injections, XSS,
mauvaise configuration etc.
Les solutions ci-dessous sont envisagés pour assurer notre politique de sécuritaire :
Vulnérabilité du serveur Il est nécessaire de mettre en place un système de validation des entrées
pour écarter tout risque de compromission des données.
Faille d’injection SQL Il est recommandé d’utiliser les requêtes préparées, permettant de
contrôler les informations envoyées par un utilisateur. En effet s’il y’a
un seul aspect de sécurité à retenir en réponse à cette problématique, de
ne jamais considérer toutes les données envoyées par un utilisateur ou
tout système comme étant sûres.
Attaque IDOR Il est très fortement conseillé d’intégrer une couche de sécurité en amont
de la publication de vos applications mobiles sur les stores.
Stockage non sécurisé des Pour un stockage sécurisé, il est essentiel que les données soient protégées
données et chiffrées efficacement. Pour les applications mobiles, cela signifie chif-
frer et appliquer les autorisations appropriées. Android et iOs offrent tous
deux magasins de stockage sécurisé apppelé Keychain pour iOS et Keys-
tore pour android, qui permettent de chiffrer des données
Sécurité d’change des Il suffit d’utiliser le protocole de sécurité TLS (successeur de SSL) ou
données et attaque Man the SSL pour rajouter une couche de sécurité qui garantit la confidentialité
Middle et l’intégrité des données qui transitent grâce au chiffrement des données.
En effet les deux sont des protocoles de chiffrement pour la couche de
transport d’internet. Seul TLS 1.3 est utilisé. SSL 2.0 et SSL 3.0 sont
obsolètes et pas considérés comme sûrs. Il en va de même des anciennes
versions de TLS 1.0 et 1.1(qui ne seront bientôt plus supportés).
Disponibilité Pour assurer la disponibilité de notre serveur, nous allons dupliquer notre
base de données en mode Load Balancing, de manière à ce que si un
serveur ne répond pas d’autre soit capable d’assurer la relève.
Méthode COCOMO :
Ce modèle cherche à limiter les erreurs de budget et les retards de livraison, qui sont
monnaie courante dans l’industrie du développement logiciel. Pour les projets basés sur
une technologie traditionnelle, le modèle original de 1981 est encore valable, d’autant
plus qu’il est maintenant rodé et bien documenté. COCOMO 81 est en fait constitué
de trois modèles :
— Modèle de Base : Le modèle de base est assez simpliste. Il estime l’effort (le nombre de
mois-homme) en fonction du nombre de lignes de code, la productivité (le nombre de
lignes de code par personne par mois) et un facteur d’échelle qui dépend du type de
projet. Les 3 types de projet identifiés sont :
— Modèle Expert : Le modèle expert inclue toutes les caractéristiques du modèle in-
termédiaire avec une estimation de l’impact de la conduite des coûts sur chaque étape
du cycle de développement : définition initiale du produit, définition détaillée, codage,
intégration. De plus, le projet est analysé en termes d’une hiérarchie : module, sous
système et système. Il permet une véritable gestion de projet, utile pour de grands
projets [estimancy, 2018].
Resource humaine
Également appelées ressource de travail, ces ressources sont les plus importantes, car
ce sont justement celles qui exécutent le travail. Regroupant à la fois les individus, les
groupes d’individus et les personnes morales, elles contribuent à effectuer les tâches
nécessaires au bon déroulement et la réalisation du projet.
Resource matérielles du projet C’est tout ce dont l’équipe projet va avoir be-
soin pour mener à bien le projet. Le tableau ci-dessous nous présente l’équipement
nécessaire :
Tableau 2.5 – Comparatif de certaines solutions de l’étude de l’existant avec notre solution.
Evaluer le coût d’un logiciel ou d’une application c’est évaluer l’ensemble des dépenses
à réaliser par le MOA(maı̂tre d’ouvrage) pour s’approprier un service informatique.
Mode(Type) a b C
Organique 2.4 1.05 0.38
Semi-détaché 3.0 1.12 0.35
Imbriqué 3.6 1.20 0.32
Notre projet utilisera le modèle de base organique et on estimera à 2000 le nombre total de
ligne de codes.
A.N : FSP=5/4=1.25
La modèle en cascade : Il fut le standard industrie dans les années 70, il est apparu
suite à la crise du logiciel. Il présente une série d’étapes subséquentes réalisées l’une
après l’autre. Une documentation était intégrée à chaque étape et des vérifications était
faites sur tous les livrables.
Cependant, la rigidité du modèle est fortement critiquée. Il est difficile d’évaluer cor-
rectement le projet au départ, car peu d’informations sont disponibles. Les spécifications
écrites permettent difficilement à l’utilisateur d’anticiper le système, ce qui limite les
chances de respecté les attentes.
Cependant cette méthode reste toujours rigide. En effet, il est difficile de revenir à
une phase lorsqu’elle est terminée. Bien que cela puisse être un handicap dans certains
projets logiciels, qui demandent une certaine flexibilité. On peut l’utiliser dans un
projet dont le cahier des charges ne change pas en cours de route. Par exemple dans
des projets lancés à partir d’un appel d’offres où le client a documenté ses exigences
très clairement.
Le modèle par prototype : Il fût créé du fait qu’il était difficile d’obtenir les
spécifications au début d’un projet. Ce modèle consiste à construire une version réduite
ou théorique du système, afin d’obtenir les approbations. Les commentaires permettent
de raffiner les spécifications. Ce modèle peut se greffer à un modèle en cascade ou
itératif.
Le modèle en spirale : Il a été conçu pour inclure les meilleurs éléments du prototy-
page et du modèle en cascade. Il introduit la notion d’évaluation des risques, pouvant
mener à l’arrêt du projet si ceux-ci sont jugés majeurs. Le terme spirale est utilisé pour
décrire la forme que prend le modèle. Il propose des solutions qui sont évaluées par le
client puis enrichies dans un cycle ultérieur. Il propose des solutions qui sont évaluées
par le client puis enrichies dans un cycle ultérieur. Comme l’approche par prototypage,
une première version est produite et raffinée suite aux évaluations.
Cependant, ce modèle est couteux, plus complexe que les autres modèles de cycle
de vie. Il dépend fortement de l’analyse des risques et nécessites une expertise très
spécifique.
L’ingénierie des exigences implique un certain nombre de processus de collecte, des exi-
gences en fonction des besoins et des demandes des utilisateurs et des parties prenantes du
produit logiciel. Ils impliquent certaines fonctionnalités importantes qui sont l’élicitassions,
l’analyse, la documentation et la gestion des exigences. Dans ces modèles, l’ingénierie des
exigences est présentée comme la première phase du processus de développement. Cette ap-
proche traditionnelle du processus RE(requirement Engineering) se concentre sur la collecte
de toutes les exigences et la préparation du document de spécification des exigences avant
de passer à la phase de conception.
Dans la méthode en cascade par exemple, le projet est séparé en étapes distinctes et
les engagements doivent être pris à un stade précoce, ce qui rend difficile la modification
des exigences si les clients changent d’avis. Ainsi, la cascade est plus appropriée lorsque les
exigences ne seront probablement pas modifiées pendant la période de mise en œuvre.
La plupart des méthodes agiles ont été élaborés et proposées par des praticiens dont
l’intention est de développer des approches innovantes de développement de logiciels qui
vont permettre à l’organisation de réagir rapidement et de s’adapter aux exigences et aux
technologies volatiles. Il existe plusieurs types de méthodes Agiles telles que XP, Scrum, le
développement de logiciels Crystal. . .
Cependant, toutes les cultures d’entreprise ne sont pas prêtes pour des changements
aussi drastiques que requiert la culture Agile Scrum. La confiance, la flexibilité, les in-
certitudes sont des variables qui peuvent être incompatibles avec les valeurs d’une entre-
prise. Cette méthode impose une collaboration sans limites, du temps supplémentaire
et un engagement plus important.
Cependant, elle reste limitée à des équipes de taille inférieure à 6 personnes. Les
processus et pratiques de Crystal conviennent parfaitement pour des petites structures.
Selon divers chercheurs, la méthodologie Agile est basée sur les principes suivants également
connus sous le nom de manifeste Agile. Ces principes sont assez simples dans leur concept,
mais sont profondément ancrés dans la pratique. Agile suppose que l’ingénierie des exigences
se poursuit tout au long de la durée de vie d’un système. Dans Agile, RE est réalisé grâce à
une collaboration continue tandis que la collecte, le développement et les tests des exigences
évolutives qui suggère que les exigences doivent évoluer avec le temps. La notion de manifeste
agile sous-entend l’idée d’une déclaration formelle. Elle préconise les valeurs suivantes :
Dans Agile, les exigences métier sont listés et documentées sous la forme d’histoires
d’utilisateurs (user stories), qui sont présentées du point de vue de l’utilisateur. Ces user
stories sont utilisées comme unité de travail principale et continuent de croı̂tre tout au long
du cycle de vie du projet. La méthode agile implique une planification continue, c’est-à-dire
la planification des versions, la planification des interactions et la planification au niveau des
tâches. La planification des itérations est effectuée pour chaque itération qui s’étend sur une
à trois semaines.
Il a été constaté que le processus d’exigence classique est un processus complexe où
dans la vie réelle, le développement nécessite un logiciel d’exigence efficace qui doit avoir un
processus flexible et rapide. Pour un projet réussi, un processus RE efficace est nécessaire.
L’objectif de RE reste le même dans toutes les méthodes logicielles.
Ces problèmes sont résolus par des pratiques agiles telles que la communication en face
à face pour minimiser les lacunes en matière de documentation et de communication, le détail
progressif des exigences pour réduire la portée excessive, la hiérarchisation des exigences par
les clients en fonction de la valeur de l’entreprise pour gérer la validation des exigences et une
interaction étroite de la part de l’équipe et du client afin d’éviter le manque de participation
du client.
A - Vocabulaire de Scrum
Plusieurs éléments de Scrum sont des métaphores de référant au rugby qui est un sport
où l’équipe est soudée et avance dans la même direction. Le développement est donc perçu
comme un jeu d’équipe.
Sprint Backlog : Liste des éléments et fonctionnels à produite au cours d’un sprint.
C’est un sous-ensemble du backlog produit. Elle comporte des éléments suffisamment
définis pour qu’ils soient réalisés au cours de la période du sprint.
Sprint : Une période de 30 jours maximum où un ensemble de travaux sont effectués
pour créer un livrable.
Règlement des rencontres Scrum : Protocole des réunions pour être efficaces. Afin
de minimiser la logistique, une série de règles uniformise la dynamique des rencontres.
Equipe Scrum : Equipe multidisciplinaire qui travaille sur les éléments du sprint.
Toutes les personnes (vente, service, clientèle, etc.) impliquées dans le projet sont
invitées à se joindre à l’équipe.
Les rôles Scrum sont assez différents des autres méthodes de développement de produit.
Scrum définit trois rôles dans une équipe Scrum définit trois rôles dans une équipe Scrum :
le product Owner, le scrum master et l’équipe de développement scrum. Pour la suite de
notre développement il est important de comprendre la notion d’équipe scrum.
Une équipe Scrum est équipe agile composée d’un groupe de personnes qui vont
travailler ensemble pendant les sprints pour développer un produit de valeur. Deux ca-
ractéristiques majeures sont importantes dans une équipe scrum :
— L’équipe projet agile doit être auto organisée. Il n’y a pas de figure de chef ou de
responsable. Chaque membre doit se sentir suffisamment engagé pour réaliser ses tâches
et contribue au succès de l’équipe de manière totalement autonome.
— Chaque équipe doit être inter fonctionnelle, en associant à tous les membres, elle doit
disposer de toutes les connaissances et compétences nécessaire au développement du
produit.
Concernant la taille de l’équipe, il est recommandé d’avoir une équipe de trois à neuf (3 à
9) personnes : le groupe doit être suffisamment petit pour faciliter la communication, mais
suffisant pour collaborer afin de faire vivre le produit et/ou le service ; Comme expliqué plus
haut, il y a trois rôle Scrum, dont les responsabilités sont :
La phase initiale : Elle est consacrée à préparer le travail à faire. Cette phase doit
construire la liste des éléments que comportera cette version de produit. Elle comporte
les objectifs suivants :
— Planning
— Architecture
Les phases de sprints : Ce sont phases itératives qui réalisent concrètement les
éléments qui composent le produit. Ce travail étant plus chaotique, il est aussi qualifié
de ≪ boı̂te noire ≫. Elle comporte les objectifs suivants :
— Période d’environ 30 jours, au cours de laquelle l’équipe est isolé des influences
extérieures. C’est-à-dire que la liste des éléments reste inchangée.
La phase de clôture : Elle prépare la documentation, finalise les tests et rend la ver-
sion fonctionnelle et présentable, à savoir documentation finale, préparatif et livraison.
Les variables d’un projet de développement de système sont les risques, les fonctionnalités,
les coûts, le temps et qualité. Ces variables sont généralement estimées au début du projet.
Chacune d’elle changera en cours de projet. Il existe une interrelation entre les variables. Par
exemple, nous pouvons améliorer les fonctionnalités en investissant plus de temps et d’argent.
Afin de permettre un suivi, différents contrôles existent dans scrum. Chaque élément peut
être quantifié, afin de permettre l’extraction de métriques qui permettent le suivi. On y
retrouve notamment :
Les problèmes sont des éléments qui doivent être solutionnés par un membre de
l’équipe, afin de permettre la réalisation des objets liés au backlog produit.
Ces contrôles sont mesurés, corrélés et suivis. Les principaux contrôles sont le backlog
et les risque. Le backlog doit être de haut niveau pour commencer et raffiné en cours de
projet. La liste des risques se rédige lorsque le backlog, les enjeux et les problèmes sont plus
détaillés. Lorsque le logiciel est complété, les risques sont rendus à un niveau acceptable.
Certains prétendent que scrum pourrait se voir étendre à divers secteurs de l’entreprise.
C’est un retour aux sources, car à son origine, scrum ne s’adressait pas au développement
logiciel. Puisant ses racines au milieu des années 1980, scrum amène une dynamique différente
de la gestion de projets des développements logiciels. Elle propose un équilibre entre la
portion définie et portion chaotique de développement de produit. Cette méthode ne précise
pas de technique de réalisation prise. Elle laisse cet aspect à la discrétion de l’équipe. Cette
ouverture permet l’inclusion de pratique provenant d’autres méthodes. En détachant l’aspect
logiciel et en portant cette approche a d’autre domaine d’ingénierie.
— OMT créer par James RUMBAUGH : elle représente les vues statiques et fonctionnelles
d’un système
— Booch créer par Grady Booch : Elle utilise 7 diagrammes pour représenter un système
orienté objets.
— OOSE créer par Ivar Jacobson : elle se base sur l’analyse fondée sur la description des
besoins des utilisateurs (use cas)
— Gain de précision
— Gage de stabilité
— Il cadre l’analyse
— UML n’est pas une méthode mais une notation qui laisse la liberté de conception
— Il permet de modéliser tous les types de système d’information, mais qui nécessite
toutefois une méthodologie de conception.
Les diagrammes sont représentés selon deux aspects : Statique (structure) et compor-
temental (qui embarque un aspect d’interaction).
Ces diagrammes, d’utilisé variable selon les cas, ne sont pas nécessairement tous pro-
duits à l’occasion d’une modélisation. Les plus importants pour la maitrise d’ouvrage sont
les diagrammes d’activités, cas d’utilisation, de classe, d’objets, de séquence et d’état transi-
tions. Les diagrammes d’œuvre qui permettent de formaliser les contraintes de la réalisation
et la solution technique. Dans notre cas pour notre travail, nous utiliserons parmi les 13
diagrammes proposés par UML :
— Le diagramme de classe
— Le diagramme de séquence
— Le diagramme de composant
— Le diagramme de déploiement
La conception d’un système d’information n’est pas évidente car il faut réfléchir à l’en-
semble de l’organisation que l’on doit mettre en place. La phase de conception nécessite
des méthodes permettant de mettre en place un modèle sur lequel on va s’appuyer. La
modélisation consiste à créer une représentation virtuelle d’une réalité de telle façon à faire
ressortir des points auxquels on s’intéresse. Ces différents modèles sont réalisés dans des AGL
(Atelier Génie Logiciel).
Visio, StarUML, ArgoUML, Enterprise Architect, Power AMC. . . etc, sont des alterna-
tives populaires qui aident surtout les programmeurs, les ingénieurs système pour concevoir
des diagrammes UML. Ils sont produits avec un grand nombre de fonctionnalités, ainsi que
des options de personnalisations et inclus tous les outils nécessaires pour aider les utilisateurs
à réaliser des schémas de conception à des fins diverses. Concernant notre projet, nous avons
jeté notre dévolu sur l’outil de conception StarUML. Afin de justifier le choix de notre AGL,
une étude comparative est nécessaire. Le tableau ci-dessous décrit les AGL cités plus haut
et justifie le choix de notre environnement.
NOM Description
PowerAMC c’est un outil cher (entre 2000 et 7000 ¿) mais permet une
modélisation extrêmement complète et performante. Ce logiciel est
plus adapté à un travail de groupe, il ouvre également la possibilité
à un freelance d’avoir un outil des plus performants sur le marché
de par ses fonctions d’analyse ou de partage de données. Il permet
la modélisation de données, la modélisation de processus métier,
la conception et la rétroconception. Le tout basé sur la méthode
Merise.
ArgoUML supporte sept types de diagrammes UML : cas d’utilisation, classes,
séquence, état, collaboration, activité et déploiement. La génération
du code à partir du diagramme de classe est supportée dans les
langages java, C++, C# et SQL.
StarUML Il a été cédé par son éditeur à la communauté open source. Elle
ce se substitue à des solutions commerciales coûteuses. Il n’a pas
été maintenu à jour depuis 2008 d’après son site, mais il permet
néanmoins de gérer la plupart des diagrammes d’UML.
Enterprise Architect Bien plus qu’un modeleur UML, Enterprise Architect permet de
s’interfacer avec les outils de développement IDE Visual Studio ou
Eclipse. Il est disponible en 6 versions (Corporate, Professional,
Desktop, Ultimate, Systems Engineering et Business). Une Version
d’évaluation limitée dans le temps est proposée.
A parti de ce tableau, nous justifions notre choix sur StarUML, car c’est un outil qui
permet d’analyser, de dessiner tous types de diagramme UML et de générer le code source
à partir de diagramme et d’élaborer la documentation.
Suite à l’analyse des besoins dans le cahier de charges, nous avons capturé les besoins
en fonction de l’acteur(client) dont les fonctionnalités respectives sont énumérées ainsi qui
suit :
— Valider ou annuler la facturation des produits se trouvant dans son panier d’achat
C - Diagrammes UML
Les différents éléments d’un diagramme de cas d’utilisation sont entre autres :
Les acteurs : un acteur représente un ensemble cohérent de rôles joués par les
utilisateurs des cas d’utilisation en interaction avec le système. En règle générale,
un acteur représente un rôle qu’un Homme, une machine ou même un autre
système joue avec le système. On distingue 4 grandes catégories d’acteurs.
— Les acteurs principaux : Cette catégorie regroupe les personnes qui utilisant
les fonctions principales du système.
— Les acteurs secondaires : Cette catégorie regroupe les personnes qui effectuent
des tâches administratives ou de maintenance.
— Les autres systèmes : Cette catégorie regroupe les systèmes avec lesquels le
système interagit.
Les relations entre les cas d’utilisation : UML définit trois types de relations
standardisée entre les cas d’utilisations :
— La relation d’inclusion : formalisée par le mot clé include, implique que le cas
d’utilisation de base doit incorporer explicitement un autre de façon obliga-
toire.
— La relation d’extension : formalisée par le mot clé extend, implique que le cas
d’utilisation de base en incorpore explicitement un autre, de façon optionnelle.
— Cas d’utilisation choisir agence (Un supermarché peu avoir plusieurs agence différente
repartie dans la ville ou le pays)
— Scanné le produit
Scénario Normal
— Le client reçoit le prix du produit
Scénario Normal
— Le client clique sur l’icône du panier
— Ajouter au panier
Scénario Normal
— Le client clique sur l’icône du panier
— Ajouter au panier
Scénario Normal
— Le client clique sur l’icône du panier
— Ouverture de l’interface
qu’ils fournissent. Les différents éléments qui composent un diagramme de classe sont :
— Classe d’objet : Ils décrivent un groupe d’objet ayant des propriétés similaires, un
comportement commun, des relations communes à tous les objets d’une classe.
— Une opération : Elle est associée à une classe. C’est une fonction ou une transfor-
mation qui peut être appliquée aux objets d’une classe. Une opération peut avoir
des paramètres.
— Un identifiant : C’est une propriété particulière d’un objet telle qu’il n’existe pas
deux occurrences de cet objet pour lesquelles cette propriété pourrait prendre une
même valeur.
— Une association : Appelé aussi relation, est un lien sémantique entre plusieurs
classes. Une association peut relier une, deux, ou plusieurs classes. Elle est dite
n-aire dans le cas où elle relie deux classes, elle est dite binaire. Les classes des
relations sont représentés par des hexagones dont l’intitulé décrit le type de re-
lation qui relie des classes d’entités (généralement un verbe d’action). On peut
éventuellement ajouter des propriétés aux classes de relations.
— Lignes de vie : Cela représente les objets entrant dans une interaction. Dans un
scénario d’un supermarché par exemple, les lignes de vie peuvent représenter des
objets commet le système de facturation ou un client. Chaque instance d’une
interaction est représentée par une ligne de vie.
Pour effectuer ses achats, le client ouvre l’application, choisis l’agence. L’appareil de
photo s’ouvre et il scanne le produit. Après le scanne, le système envois une requête
au serveur pour traiter les informations envoyées. Si les informations sont correctes
le client prendra connaissance du prix du produit et pourra ainsi l’ajouter ou non au
panier ou refaire un scan, sinon un message d’erreur sera affiché.
— Représentation précise d’une application logicielle avant que vous n’y apportiez
des changements ou des extensions
— Composants : Les composants sont les éléments du modèle qui représentent des les
éléments indépendants, interchangeables d’un système. Ils respectent et réalisent
une ou plusieurs interfaces fournies et obligatoire, qui déterminent le comporte-
ment des composants.
— Artefacts : Ce sont des éléments de modèle qui représente les entités physiques
dans un système logiciel. Les artéfacts représentent des unités physiques d’implémentation,
telles que des fichiers exécutables, des bibliothèques, des composants de logiciel,
des document et bases de document.
— Interfaces : Ce sont les éléments de modèle qui définissent des ensembles d’opérations
que d’autres éléments de modèle, tels que des classes ou des composants, doivent
— Nœud : Représentés par des cubes, sont des éléments de modèle qui représentent
les ressources informatiques d’un système, telles que les ordinateurs personnels,
les détecteurs, les périphériques d’impression ou de serveurs. Les nœuds peuvent
être connectés à l’aide de chemins de communications pour décrire les structures
de réseau.
— Composants : représentés par des boı̂tes rectangulaires avec deux rectangles sor-
tant du côté gauche, sont les différentes parties du système étudié.
— Artefacts : Ce sont des éléments de modèle qui représente les entités physiques
dans un système logiciel. Les artefacts représentent des unités physiques d’implémentation,
telles que des fichiers exécutables, des bibliothèques, des composants de logiciels,
des documents et bases de documents.
— Instances d’artefact : Ce sont des éléments de modèle qui représentent une ins-
tanciation ou une occurrence réelle d’un artefact. Les instances d’artefacts sont
basées sur des artefacts existants.
— Relation : C’est une connexion entre des éléments de modèle. Elle ajoute une
sémantique à un modèle en définissant la structure et le comportement entre les
éléments du modèle.
— Diagramme de déploiement
Ce chapitre est d’une grande importance pour la suite du travail, du fait qu’il projette
les notions théoriques vues dans l’étude bibliographique, sans laquelle la réalisation ne pourra
se faire comme il se doit. Dans ce chapitre nous avons d’abord décrit le fonctionnement
général de notre application, puis expliqué le fonctionnement détaillé de chaque sous-système
composant le système global par le moyen des schémas explicatifs et une modélisation par
des diagrammes UML. Le chapitre suivant du rapport sera consacré à l’implémentation.
IMPLÉMENTATION ET RÉSULTATS
92
OPTIMISATION DU TEMPS DE COURSE DANS UN SUPERMARCHE avec une
Solution de SELF SCANNING
été développée. Cela veut dire que si l’application native est développée en langage de
programmation Java ou Kotlin (dans l’IDE Android Studio), elle ne pourra fonctionner
qu’avec un smartphone ou une tablette dont le système d’exploitation est Android. Si
en revanche elle est développée en xCode, Swift ou Objective-C (dans un environnement
Apple), elle ne sera compatible qu’avec un iPhone ou un iPad. Ou encore si elle est
développée en C# (dans l’IDE Visual Studio de Microsoft), elle ne pourra fonctionner
qu’avec un smartphone ou une tablette dont le système est Windows.
L’avantage de l’application hybride est qu’elle est plus facile et plus rapide à développer
qu’une application native. La maintenance de l’application sera également plus facile
puisqu’il n’y a qu’une seule version à revoir pour plusieurs plateformes. Cordova, Phone-
Gap, Ionic sont par exemple des technologies qui permettent de réaliser une application
hybride.
Développement natif :
— Elle doit être réécrite à chaque fois qu’on la destine à une plateforme bien précise,
elle pose un problème de transférabilité des codes.
— Consommation du temps : Pour toucher une cible très large, il est donc nécessaire
d’adapter à chaque fois le langage de programmation à la plateforme ciblée, ce qui
exige un effort de programmation (écriture de code) et a un impact sur le nombre
d’heure de travail.
— Interface utilisateur limités : l’interface utilisateur n’est pas fluide, les possibilités
(3D par exemple) sont aussi limitées du fait de l’application du WebView qui ne
permet pas d’exploiter tout le potentiel du smartphone.
— Les interfaces utilisateurs : En matière de design, les interfaces sont moins im-
mersives comparer aux applications natives, l’aspect est standard sur toutes les
plateformes et manque souvent de personnalisation.
Bien que le terme d’application native ne soit pas très connu du grand public, cela
représente la grande majorité des applications que nous téléchargeons chaque jour. Ce mode
de développement offre une expérience utilisateur inégalée parmi toutes les applications mo-
biles et offre d’excellentes performances. Il est généralement envisagé lorsque la fréquence
d’utilisation de l’application est très régulière.
Une fois téléchargées et installées dans la mémoire d’un smartphone ou d’une tablette,
les applications natifs permettent aux utilisateurs de tirer pleinement profit de toutes les
fonctionnalités de son appareil et d’avoir accès sans limites à différents services tels que :
— Le GPS
— Appareil photo
— Vidéo
— Contact
— Accéléromètre etc.
Aujourd’hui plus que jamais auparavant, les smartphones sont au cœur de nos vie et
nous accompagnent au quotidien. Les applications que nous téléchargeons pour combler
nos besoins confirment bien cette tendance. Concernant le marché des applications mobiles,
Google et Apple dominent sur Windows. Android de Google représente environ 80% du
marché tandis que son principal concurrent, iOS qui est développé par Apple, représente un
peu moins de 20% du marché.
Face à cette différence considérable observée sur le marché, l’équipe projet prend la
résolution d’implémenter dans un premier temps une version Android afin de toucher la plus
grande partie des utilisateurs. Ce système d’exploitation se différencie principalement de ses
concurrents par le fait qu’il soit ouvert (Open Source). Le modèle économique de Google
semble très pertinent, l’adoption d’Android par les fabricants sera probablement rapide du
fait de la gratuité d’utilisation pour le constructeur.
Le développement d’un tel système nécessite l’utilisation de quelques outils. Dans ce qui
suit, nous citons les outils qui ont été utilisé.
Nom Description
Postman Postman permet de construire et d’exécuter des requête HTTP, de les stocker
dans un historique afin de pouvoir les rejouées, mais surtout de les organiser
en Collections.
WampSever c’est un ensemble de logiciels permettant de mettre en place un serveur web
local, un serveur FTP et un serveur de messagerie électronique. La version
utilisée est 3.2.1, Apache 2.4.48, MaraiDB 10.4.21, PHP 8.0.10, phpMyAdmin
5.1.1
MySQL (My Structured Query Language) version 5.7.19 est une base de données re-
lationnelle libre et Apache(serveur web), basé sur un modèle client-serveur.
Son rôle consiste à stocker et à gérer une grande quantité de données en les
organisant sous forme de table.
Android Studio c’est un environnement pour développement et programmation entièrement
intégré qui a été lancé par Google pour le système Android.
Software De- c’est une collection d’outils de développement logiciel dans un seul package
velopment Kit installable. Le développement d’une application Android sur la plateforme Java
(SDK) nécessite un kit de développement Java.
Gradle c’est un moteur de production fonctionnant sur la plateforme Java. Il permet
de construire des projets Java.
JDK (Java De- désignent un ensemble de bibliothèque logicielle de base de langage de pro-
velopment Kit) grammation java. C’est un outil avec lequel le code java est compilé.
JAVA c’est un langage qui permet la programmation des applications Android, des
logiciels pour Windows et linux et des librairies.
Firebase c’est un ensemble de services d’hébergement pour n’importe quel type d’appli-
cation. Il propose d’héberger en NoSQL et en temps réel des bases de données,
du contenu, de l’authentification sociale, et des notifications, ou encore des
services, tel que par exemple un serveur de communication temps réel.
Opérer une connexion directe à la base de données depuis le téléphone Android n’est pas
conseillé d’un point de vue architecture logicielle. Il est don nécessaire d’avoir une couche
serveur intermédiaire qui sera habilité à se connecter à la base donnée, ce qui est plus sécurisé.
Nous allons écrire les scripts en PHP pour gérer la base de données et exécuter ces scripts
en utilisant le protocole HTTPS.
3.2.2 Résultat
En résumé, il est question pour notre client une fois l’application installée et ouverte, il
pourra faire le choix de l’agence dans laquelle il se trouve, de scanner un produit, approuver
l’ajout au panier en renseignant sa quantité, de visualiser le contenu de son panier, de
modifier son panier, supprimer un élément, valider le paiement, transférer sa facture à un
compte distant pour le paiement ou le contrôle. Voici les captures des maquettes :
Sur cette interface de connexion, le client entre ces informations d’identification qui ont
été créé lors de l’inscription.
Sur cette interface si, le client s’inscrit en entrant son nom, son email et son mot de passe.
Les informations demandé on été allégé pour ne pas alourdir l’inscription sur la plateforme.
Sur cette interface si, le client peut réinitialiser son mot de passe en cas d’oubli d son
mont de passe.
Sur cette interface, le client scan les différents produits qui veut ajouter à son panier.
Sur l’interface suivante, le client peut voir les produits qu’il vient de scanner et le total
du prix de ceux-ci.
— La vérification entre le code barre en base de données et celui scanner par le client
Bien que nous soyons heurtés à ces difficultés, nous avons su trouver voie et moyen pour
palier à ces difficultés et accomplir 80% de notre travail.
Tableau 3.2 – Comparatif de certaines solutions de l’étude de l’existant avec notre solution.
Tâches Test
Version minimum Android 5.1(lollipop) Fait
Nombre d’interface (11) 7/11
Lecteur de Code barre Fait
Panier Fait
Page connexion Fait
Page Inscription Fait
Modification panier Fait
Ergonomie Fait
Lisibilité textuelle Fait
Paiement intégré (Api Orange Money) En cours
Profile Fait
Historique de paiement En cours
Transférer panier En cours
Application iOS En cours
Lecteur de QR-code En cours
B - Perspective
Nous pouvons à présent dire que le challenge de concevoir une application Android pour
l’optimisation du temps de course est atteints à un certain pourcentage, car sur l’univers du
développement des application, il n’existe aucunement de politique de sécurité et fiabilité à
100%. Il n’en demeure pas moins vrai que des améliorations soient possibles. Ces éventualités
sont :
— Permettre au client de faire ses achats depuis son domicile ou au bureau ou encore peu
importe sa situation géographique de se faire livrer
— Faire un penteste de sécurité de l’application pour trouver d’éventuel faille et les cor-
rigés
Nous devons indubitablement reconnaı̂tre que ce travail nous a permis d’affuter nos compétences
en matière e systèmes d’informations, notamment dans le domaine du développement mo-
bile.
Dans le cadre de notre mémoire de fin d’étude, il nous a été demandé d’optimiser le
temps de course dans un supermarché. Pour y parvenir nous avons commencé par faire des
études préliminaires qui nous ont permis de cerner les contours et les rouages du projet. Par
la suite nous sommes passé à la conception détaillée en nous appuyant sur la méthode de
développement Agile Scrum et le langage UML qui nous a permis de modéliser le système
en le matérialisant comme un ensemble d’objets. Pour l’implémentation de notre applica-
tion nous avons opté pour les choix des technologies suivante : Java, PHP, Xml. . . Durant
l’exécution de notre projet, nous avons rencontré des difficultés (l’implémentation du lecteur
de code barre, la connexion de notre API avec la base de données. . . etc.), certains ont pu
être résolue. Des perspectives ont été envisagées (intégré les solutions de paiement mobile,
développer la version iOS, permettre aux clients de faire des achats depuis leur domicile ou
ailleurs et de ce faire livrer) pour l’extension de l’application.
La réalisation de notre projet a été très bénéfique pour nous, car elle nous a permis
d’approfondir nos connaissances apprises tant théorique que pratique durant notre parcours
universitaire à travers la conception des systèmes d’informations et de développement des
logiciels d’application. Nous avons essayé de réaliser ce projet dans le but de réduire, voire
de supprimer la pénible attente des clients au niveau des caisses. Mais également de fidéliser
d’avantage la clientèle des supermarchés sur le territoire camerounais en leur permettant
d’optimiser leur processus d’achat. Nous avons appliqué autant que faire se peut les règles
de bases permettant d’avoir une solution performante et nous souhaitons que cette solution
trouve les conditions nécessaires pour entrer en vigueur.
107
Références Bibliographiques
[Bhardwaj, 2016] Bhardwaj, N., . K. R. (2016). Decoding Algorithm for color QR code :A
Mobile Scanner Application. Fifth International Conference on Recent Trends in Informa-
tion Technology. ieeexplore.
[Bianco, 2014] Bianco, Z. (2014). Speedy checkout wins retail technology of the year. retail-
customerexperience.
[BRM, ] BRM. Le taux de pénétration du mobile au cameroun est passé de 9,8 à 71%
entre 2004 et 2014. https ://www.investiraucameroun.com/telecom/1512-5922-le-taux-de-
penetration-du-mobile-au-cameroun-est-passe-de-9-8-a-71-entre-2004-et-2014. Vue le 10-
08-2022.
[Guyot, 2018] Guyot, M. (2018). Méthode agile vs méthode classique, quelle est la meilleure
façon de gérer son projet ? https ://www.marine-guyot.ovh/methode-agile-ou-classique/.
Vue 11-07-2022.
[Inman, 2014] Inman, J. J., F. R. . W. (2014). Where the rubber meets the road : A model
of in-store consumer decision-making. cba edu.
[Kasavana, 2017] Kasavana (2017). How amazon go is reinventing retail and its possible. re-
trieved from kioskmarketplace. https ://www.kioskmarketplace.com/blogs/how-amazon-
go-is-reinventing-retail-andits-possible-impact-on-micro-market-kiosks/. Vue 11-07-2022.
108
OPTIMISATION DU TEMPS DE COURSE DANS UN SUPERMARCHE avec une
Solution de SELF SCANNING
[Kirthi Kalyanam, 2009] Kirthi Kalyanam, R. L. . G. W. (2009). Retailing in the 21st Cen-
tury.
[Poushter, 2016] Poushter, J. (2016). Smartphone Ownership and Internet Usage Continues
to Climb in Emerging Economies. Pew Research Center.
[Rachuri, 2010] Rachuri, M. (2010). EmotionSense : a mobile phones based adaptive platform
for experimental social psychology research.
[Tomazelli, 2016] Tomazelli (2016). The effects of store environment elements on customer-
tocustomer interactions involving older shoppers.
[Zhang, 2014] Zhang, R. . X. (2014). Secure barcode-based visible light communication for
smartphones. ieeexplore.
Dédicace i
Remerciements ii
Résumé v
Abstract vi
Sommaire vii
Introduction Générale 1
1 Etat de l’art 3
1.1 Supermarché . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1.1 Définition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1.2 Comment est née le premier supermarché ? . . . . . . . . . . . . . . . 4
1.1.3 Parcours d’achat du client . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2 Etude des systèmes de caisse actuels . . . . . . . . . . . . . . . . . . . . . . 5
1.2.1 Caisse automatique et caisse conventionnelle . . . . . . . . . . . . . . 5
1.2.2 Le processus de prise décision d’achat . . . . . . . . . . . . . . . . . . 11
1.3 Théorie des files d’attente . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.4 Optimisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
110
OPTIMISATION DU TEMPS DE COURSE DANS UN SUPERMARCHE avec une
Solution de SELF SCANNING
2 MATERIELS ET METHODES 33
2.1 Cahier de charges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.1.1 Context . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.1.2 Énoncer du problème . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
2.1.3 Objectifs de la recherche . . . . . . . . . . . . . . . . . . . . . . . . . 35
2.1.4 Questions de recherche . . . . . . . . . . . . . . . . . . . . . . . . . . 35
2.1.5 Justification de recherche . . . . . . . . . . . . . . . . . . . . . . . . . 36
2.1.6 Analyse swot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
2.1.7 Cadrage du projet . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
2.2 Méthodologie de développement . . . . . . . . . . . . . . . . . . . . . . . . . 55
2.2.1 Méthode classique . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
2.2.2 Méthode agiles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
2.2.3 Comparaison des Méthodes classiques face aux Méthodes Agiles . . . 61
2.2.4 Présentation de la méthodologie adoptée : Agile Scrum . . . . . . . . 63
2.2.5 Présentation de la méthodologie adoptée : Agile Scrum . . . . . . . . 64
2.3 Étude Conceptuelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
2.3.1 Présentation du langage UML . . . . . . . . . . . . . . . . . . . . . . 69
2.3.2 Intérêt de concevoir avec UML . . . . . . . . . . . . . . . . . . . . . . 69
2.3.3 Les types de digrammes UML . . . . . . . . . . . . . . . . . . . . . . 70
2.3.4 Concept générale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
3 IMPLÉMENTATION ET RÉSULTATS 92
3.1 Plateforme de développement mobile . . . . . . . . . . . . . . . . . . . . . . 92
3.1.1 Présentation des plateformes de développement . . . . . . . . . . . . 92
3.1.2 Limites de ces plateformes de développement . . . . . . . . . . . . . . 94
3.1.3 Plateforme de développement choisie . . . . . . . . . . . . . . . . . . 95
3.2 Outils, technologies et résultats obtenus . . . . . . . . . . . . . . . . . . . . . 97
3.2.1 Outils, technologies et langages de développement . . . . . . . . . . . 97
3.2.2 Résultat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
3.2.3 Interprétations et discussion des résultats . . . . . . . . . . . . . . . . 104