Application de Paiement Mobile en Algérie
Application de Paiement Mobile en Algérie
N° d’ordre : …RTIC02/M2/2023
Ayche Sabrine
Intitulé de Projet :
I
Remerciements
Je souhaite également remercier les membres du jury pour leur intérêt et leur attention
portée à notre travail.
II
Résumé
Afin de réaliser cette application de paiement mobile avancée, nous avons adopté une
approche méthodique basée sur des méthodes UML (Unified Modeling Language) pour
garantir une conception claire, cohérente et bien structurée. En utilisant le langage de
programmation Dart et le framework Flutter, nous avons pu développer une interface
utilisateur intuitive et réactive, offrant une expérience utilisateur fluide et agréable.
Pour renforcer la sécurité des transactions et la protection des données des utilisateurs,
nous avons intégré des fonctionnalités avancées, telles que l’authentification des utilisa-
teurs par le biais d’un système à code unique (OTP) et l’utilisation de Firebase comme
plateforme de développement mobile, offrant une base de données hébergée dans le cloud
avec une synchronisation en temps réel des informations. De plus, nous avons mis en place
des mesures de sécurité robustes, telles que l’utilisation de protocoles sécurisés tels que
HTTPS.
III
Abstract
This graduation thesis focuses on the in-depth design and development of a mobile
payment application intended to facilitate financial transactions in Algeria. The main
objective of this ambitious project is to provide users with a complete and user-friendly
platform, allowing them to create a personalized payment account and benefit from a
wide range of functionalities to manage their financial transactions in a practical, secure
and adapted way. payment methods in force in the country.
To enhance transaction security and user data protection, we have integrated advanced
features, such as user authentication through a one-time code (OTP) system and the use
of Firebase as a mobile development, offering a cloud-hosted database with real-time
synchronization of information. Additionally, we have robust security measures in place,
such as the use of secure protocols such as HTTPS.
The major contributions of this dissertation project lie in achieving a full range of
functionality for users. This includes the ability to create and customize a payment ac-
count, perform real-time transactions, make transfers between accounts, instantly view
balance and transaction history, and easily update information. account personal.
IV
ملخص
تركز أطروحة التخرج هذه على التصميم المتعمق وتطوير تطبيق الدفع عبر الهاتف المحمول الذي يهدف إلى تسهيل
المعاملات المالية في الجزائر .الهدف الرئيسي لهذا المشروع الطموح هو تزويد المستخدمين بمنصة كاملة وسهلة
الاستخدام ،مما يسمح لهم بإنشاء حساب دفع مخصص والاستفادة من مجموعة واسعة من الوظائف لإ دارة معاملاتهم
المالية بطريقة عملية وآمنة ومكيفة .طرق الدفع المعمول بها في الدولة.
نهجا منهج ًيا يعتمد على أساليب UML
من أجل تحقيق هذا التطبيق المتقدم للدفع عبر الهاتف المحمول ،اعتمدنا ً
)لغة النمذجة الموحدة( لضمان تصميم واضح ومتسق ومنظم جيدًا .باستخدام لغة البرمجة Dartو إطار عمل Flutter
،تمكنا من تطوير واجهة مستخدم سهلة الاستخدام وسريعة الاستجابة ،مما يوفر تجربة مستخدم سلسة وممتعة.
لتعزيز أمان المعاملات وحماية بيانات المستخدم ،قمنا بدمج ميزات متقدمة ،مثل مصادقة المستخدم من خلال
نظام رمز لمرة واحدة ) (OTPواستخدام Firebaseكتطوير للهاتف المحمول ،مما يوفر قاعدة بيانات مستضافة على
السحابة مع مزامنة في الوقت الفعلي المعلومات .بالإ ضافة إلى ذلك ،لدينا إجراءات أمنية قوية مطبقة ،مثل استخدام
البروتوكولات الآمنة مثل .HTTPS
تكمن المساهمات الرئيسية لمشروع الأطروحة هذا في تحقيق مجموعة كاملة من الوظائف للمستخدمين .يتضمن
ذلك القدرة على إنشاء حساب دفع وتخصيصه ،و إجراء معاملات في الوقت الفعلي ،و إجراء تحويلات بين الحسابات
،وعرض الرصيد وسجل المعاملات على الفور ،وتحديث المعلومات بسهولة.حساب شخصي.
V
Table des matières
Résumé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . III
Abstract . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . IV
V . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ملخص
Introduction générale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Problématique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Objectifs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
VI
Table des matières
3 Conception . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.2 La conception détaillée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.2.1 Diagramme de classe . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.2.2 Diagramme de séquence «Ouvrir un compte de paiement» . . . . . 26
3.2.3 Diagramme de séquence «Alimenter le compte de paiement» . . . . 27
3.2.4 Diagramme de séquence « Réaliser un paiement» . . . . . . . . . . 28
3.2.5 Diagramme de séquence «Réaliser un virement» . . . . . . . . . . . 29
3.3 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
4 Réalisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
4.2 Choix techniques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
4.2.1 Choix du langage de programmation . . . . . . . . . . . . . . . . . 32
4.2.2 Choix de l’architecture de l’application . . . . . . . . . . . . . . . . 32
4.2.3 La base de données implémentée . . . . . . . . . . . . . . . . . . . 33
4.2.4 Les méthodes et technologies de sécurité utilisés . . . . . . . . . . . 35
4.2.5 Environnement de développement . . . . . . . . . . . . . . . . . . . 35
4.3 Interfaces de l’application réalisée . . . . . . . . . . . . . . . . . . . . . . . 38
4.3.1 Page d’accueil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
4.3.2 Page d’inscription et ouverture d’un compte de paiement . . . . . . 39
4.3.3 Page de connexion . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
4.3.4 Page d’authentification avec OTP . . . . . . . . . . . . . . . . . . . 41
4.3.5 Page pour le PinCode . . . . . . . . . . . . . . . . . . . . . . . . . 42
4.3.6 Page principale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
4.3.7 Page d’alimentation du compte de paiement . . . . . . . . . . . . . 44
4.3.8 Confirmation d’alimentation . . . . . . . . . . . . . . . . . . . . . . 45
4.3.9 Page d’authetification . . . . . . . . . . . . . . . . . . . . . . . . . 46
4.3.10 Page d’alimentation par CIB . . . . . . . . . . . . . . . . . . . . . 47
4.3.11 Page d’alimentation par EDAHABIYA . . . . . . . . . . . . . . . . 48
4.3.12 Page de génération d’un QR code pour le paiement . . . . . . . . . 49
4.3.13 Page de scan d’un QR code pour le paiement . . . . . . . . . . . . 50
4.3.14 Confirmation de paiement . . . . . . . . . . . . . . . . . . . . . . . 51
4.3.15 Page de virement . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
4.3.16 Page d’historique des transactions . . . . . . . . . . . . . . . . . . 53
4.3.17 Page de modification des informations personnelles . . . . . . . . . 54
4.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Conclusion générale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
VII
Table des figures
VIII
Table des figures
IX
Liste des tableaux
X
Introduction générale
L’utilisation croissante des smartphones a changé la façon dont nous effectuons nos
paiements. Les téléphones portables sont devenus indispensables, offrant un accès facile à
l’information et à des fonctionnalités avancées. C’est pourquoi les applications de paiement
mobile sont de plus en plus populaires, offrant une alternative pratique et sécurisée aux
méthodes de paiement traditionnelles.
Dans ce mémoire de fin d’études, nous nous concentrons sur la création d’une applica-
tion de paiement mobile. Notre objectif principal est de rendre les transactions financières
plus faciles pour les utilisateurs.
Pour La création d’une application de paiement mobile Il faut tenir compte des exi-
gences pratiques et techniques, comme la capacité à traiter les transactions en temps réel,
la gestion des comptes utilisateurs et des historiques de paiement, ainsi que le support
des différentes méthodes de paiement (CIB , EDAHABIYA, etc.). La sécurité est très
importante pour les paiements en ligne. Les applications de paiement mobile utilisent
plusieurs méthodes de sécurité pour protéger les informations financières des utilisateurs.
Elles utilisent des techniques spéciales pour crypter les données, comme des mots de passe
ou des codes d’accès uniques par exemple accès par OTP. utilisent aussi des protocoles
sécurisés tels que HTTPS pour assurer la sécurité des transactions et que l’utilisateur est
bien authentifié.
De plus, il est important de choisir les bonnes technologies pour le développement
de l’application. Cela peut inclure des langages de programmation tels que Java, Swift,
Kotlin, des frameworks de développement d’applications mobiles tels que React Native
ou Flutter, et l’intégration avec des API de services de paiement ou des passerelles de
paiement.
Il est important de mentionner des technologies sans contact, telles que les codes QR.
Ces technologies permettent aux utilisateurs de payer en scannant un code QR, offrant
une expérience de paiement encore plus fluide.
Au cours de ce mémoire, nous étudierons les différentes étapes du processus de concep-
tion et de développement d’une application de paiement mobile. Nous aborderons les
exigences fonctionnelles et non fonctionnelles, les choix technologiques.
1
Introduction générale
En conclusion, ce projet de mémoire de fin d’études vise à établir une base solide
pour la conception et la réalisation d’une application de paiement mobile. Nous espé-
rons que ce rapport fournira des informations précieuses aux développeurs, chercheurs et
professionnels de l’industrie intéressés par les applications de paiement mobile et leurs
implications.
Problématique
En Algérie, malgré les différentes initiatives et mesures gouvernementales on constate
aujourd’hui que la circulation fiduciaire hors banques ne cesse d’augmenter, où elle a at-
teint 33,35% du total de la masse monétaire à fin septembre 2022, ce qui représente 7
395,1 milliards de dinars(Banqued ’Algrie 2023) .
En effet, les algériens ont besoin la plus part du temps à prendre avec eux de l’argent
liquide pour régler leurs achats quotidiens, en raison notamment du nombre très limité
des terminaux de paiement électronique (TPE) en exploitation par les commerçant, qui
s’élève à 46.000 en 2022 (GIEM 2023).
En face à ces constats, on trouve que le nombre d’abonnées aux offres internet mobile
(en 3G et 4G) ne cesse d’augmenter, où il a atteint plus de 44 millions d’abonnés en
2022 (ARPCE 2023). Cela démontre la forte possession de dispositifs mobiles par la po-
pulation, qui est devenue inséparable de leur smartphone, étant donné que celui-ci est
rarement oublié par son propriétaire.
En se basant sur ces données, nous pensons que l’utilisation de Smartphone comme un
moyen de paiement peut constituer une alternative réelle à l’utilisation de l’argent liquide
et contribue à diminuer, par conséquence, la circulation fiduciaire hors banques.
Dans cette optique, le présent travail cherche à répondre à cette problématique en pro-
posant une solution de paiement électronique à travers une application mobile, qui doit
apporter des réponses aux problématiques subsidiaires suivantes :
• Comment rendre cette application facilement accessible, y compris pour les per-
sonnes peu familiarisées avec les nouvelles technologies ?
2
Introduction générale
Objectifs
Dans le but de favoriser le développement de l’économie numérique et donner un réel
coup de pousse à l’économie réelle et formelle, ce projet a pour objectif de créer une ap-
plication mobile permettant aux utilisateurs de réaliser diverses opérations. Ils pourront
ainsi créer un compte de paiement, effectuer des paiements, procéder à des virements,
vérifier le solde et l’historique des transactions. Ces services doivent être inclus dans une
seule solution adaptée aux différentes méthodes de paiement utilisées en Algérie.
Voici des bénéfices potentiels de développer une application de paiement mobile en Algé-
rie :
• Accroitre le nombre de clients qui pourront effectuer des transactions et gérer leur
argent, même celles qui n’ont pas accès aux services bancaires traditionnels.
• Attirer une nouvelle population, notamment les personnes moins familiarisées avec
la technologie, de profiter des avantages des paiements mobiles en Algérie grâce à
une interface simple.
3
Chapitre 1
4
Chapitre 1. Aperçu général et cadre du projet
1.1 Introduction
Les téléphones intelligents sont des dispositifs hautement avancés qui offrent des fonc-
tionnalités supplémentaires par rapport aux téléphones mobiles traditionnels, telles que
la télévision, la navigation sur le web, la consultation et l’envoi de courriels, la messagerie
vocale et visuelle, etc. Le but de ce chapitre est de présenter les principes fondamentaux
des applications de paiement mobile, y compris leur définition et quelques concepts liés
au développement d’applications de paiement mobile.
1.2.1 Définition
Une application mobile est un logiciel conçu pour s’exécuter sur un appareil mobile,
tel qu’un smartphone ou une tablette.Les applications mobiles permettent aux utilisa-
teurs d’accéder à des services et des fonctionnalités spécifiques, tels que des jeux, des ré-
seaux sociaux, des applications de productivité, des systèmes de navigation, etc.(MERAH
2019/2020)(Aissa 2018 /2019)
Une application native est une application créée pour une plateforme spécifique, en
utilisant les outils de développement conçus pour cette plateforme. Elle est développée
en utilisant un langage de programmation spécifique au système d’exploitation de cette
5
Chapitre 1. Aperçu général et cadre du projet
plateforme et est disponible uniquement via son store d’application (App Store pour IOS,
Play Store pour Android, etc.). Si l’on souhaite développer une application pour deux
plateformes différentes, il est conseillé de développer deux applications distinctes. (Aissa
2018 /2019)
Une WebApp est une application mobile qui est créée à l’aide des outils de dévelop-
pement web actuels tels que HTML5, CSS3 et JavaScript. Elle peut être accessible et
exécutable sur tous les smartphones via leur navigateur web. Les avantages de ces appli-
cations sont le gain de temps et d’argent réalisé grâce à leur développement unique et leur
déploiement multiplateformes. Alors que dans le cas d’une application native, vous devez
développer une application distincte pour chaque plateforme (Android, IOS et Windows
Phone), les WebApps offrent une solution qui permet de développer une seule application
pour toutes les plateformes. (Aissa 2018 /2019)(MERAH 2019/2020)
Les applications hybrides sont des applications qui partagent le plus de code possible
ou parfois le même code entre plusieures plateformes également appelées applications
cross-plateformes(REKOUANE Hichem. 2019-2020), se situent entre les applications
mobiles et web. Elles sont accessibles sur toutes les plateformes d’application et combinent
les caractéristiques d’une application web développée en langage HTML 5 avec celles d’une
application native mentionnée précédemment. Cette technologie multiplateforme permet
un gain de temps considérable pour les projets peu complexes qui ne nécessitent pas le
développement de plugins spécifiques. (MERAH 2019/2020)
6
Chapitre 1. Aperçu général et cadre du projet
les participants au système. Il repose normalement sur un accord entre les participants et
l’opérateur du système, le transfert de fonds étant effectué au moyen d’une infrastructure
technique convenue.».(Règlements Internationaux 2001)
Les services mobiles ont un potentiel non négligeable en matière de paiement, ce qui
attire sur ce marché de nombreux acteurs soucieux de développer leurs offres, de toucher
et fidéliser une nouvelle clientèle. (Laetitia 2013) Grâce à sa commodité, sa rapidité
et sa sécurité, le paiement mobile a gagné en popularité. Il permet aux consommateurs
d’effectuer des paiements sans transporter de l’argent liquide ou , tandis que les commer-
çants peuvent accepter des paiements via des technologies simples et peu coûteuses. Dans
les pays en développement, où l’accès aux services bancaires traditionnels est limité, les
paiements mobiles sont devenus une alternative importante.(Yang Xiao 2013)
Les paiements mobiles par application utilisent des applications mobiles dédiées pour
effectuer des transactions financières. Les utilisateurs peuvent télécharger ces applications
sur leur smartphone et les utiliser pour effectuer des achats en ligne ou en magasin.(Yang
Xiao 2013)
Les paiements mobiles sans contact permettent aux utilisateurs de payer en utilisant
simplement leur téléphone portable. Les utilisateurs approchent leur téléphone portable
7
Chapitre 1. Aperçu général et cadre du projet
d’un terminal de paiement sans contact et le paiement est effectué(Yang Xiao 2013)
Les portefeuilles électroniques sont des applications mobiles qui stockent des infor-
mations de paiement, telles que les détails de la carte de crédit. Les utilisateurs peuvent
utiliser ces applications pour effectuer des transactions en ligne ou en magasin(Yang
Xiao 2013)
• Permission Juridique :
Lois, normes, procédures et réglementation établis par les tribunaux et les législa-
tions pour encadrer le processus de transfert des paiements et le fonctionnement des
marchés des services de paiement.(Fella 2017) Ici en Algérie, pour développer une
application de paiement mobile, il est nécessaire d’obtenir certaines autorisations
ou agréments de la part des autorités compétentes.
• Application mobile :
C’est l’interface utilisateur qui permet aux utilisateurs d’effectuer des transactions,
paiement , alimentation et de gérer leurs comptes.
• Comptes utilisateurs :
Les utilisateurs doivent créer un compte chez notre application de paiement mobile
pour effectuer des transactions. Le compte est lié à un numéro de téléphone.
• Instrument de paiement :
• Sécurité :
8
Chapitre 1. Aperçu général et cadre du projet
Il existe plusieurs types de systèmes de paiement, mais pour notre projet, nous concen-
trons sur les paiements effectués via une application de paiement mobile. Voici comment
cela fonctionne :
• L’authentification :
• La méthode de paiement :
• Autorisation du paiement :
L’utilisateur peut être invité à saisir un code PIN pour autoriser le paiement. Cela
ajoute une couche de sécurité pour éviter les utilisations non autorisées.
L’utilisateur peut consulter l’historique des transactions effectuées via son compte
de paiement, dans l’application. Cela permet de garder une trace des dépenses et
des reçus électroniques.
9
Chapitre 1. Aperçu général et cadre du projet
La carte CIB
La carte CIB est une carte interbancaire, elle est reconnaissable par le logo CIB de
l’inter-bancarité monétique. On y trouve également le logo et la dénomination de la banque
émettrice de la carte. La carte est équipée d’un micro-processeur appelé communément
« puce » qui gère et sécurise les transactions de paiement, elle permet à son titulaire appelé
« porteur de carte » de régler ses achats auprès de différents commerces de détail. C’est
un instrument de paiement et de retrait interbancaire domestique qui est accepté chez les
commerçants affiliés au réseau monétique interbancaire et sur tous les DAB installés sur
le territoire national.(Sadika 2022) (Refafa Brahim) (SATIM 2023)
10
Chapitre 1. Aperçu général et cadre du projet
La carte EDAHABIA
La carte EDAHABIA est une carte de paiement et de retrait électroniques sous système
EMV (assurant la sécurité des transactions à ses porteurs), permettant d’effectuer diverses
opérations de retrait et de paiement sur le compte (CCP), sur les guichets automatiques
des banques (GAB) et aussi sur les terminaux de paiement électronique (TPE) (Poste
2023). Cette carte est distribuée par Algérie poste pour ses clients à titre gratuit suite à
leurs demandes. Ce qu’il faut savoir c’est que pour se procurer une carte CIB/EDAHABIA
il faut tout d’abord être détenteur d’un compte bancaire /compte CCP auprès de l’une
des banques adhérentes au réseau monétique y compris Algérie Poste. Il faut souligner
aussi que les cartes bancaires CIB et carte EDAHABIA sont des cartes de débit non pas
de crédit, ce qui signifie que le paiement n’aura lieu que si seulement si le client dispose
de l’argent sur son compte, et les dépenses sont prélevées au fur et à mesure sur le compte
courant du client (bancaire ou ccp).(Sadika 2022)(Poste 2023)
11
Chapitre 1. Aperçu général et cadre du projet
• Rapides et instantanés, ce qui permet aux utilisateurs de gagner du temps lors des
transactions quotidiennes.
1.4 Conclusion
Ce chapitre nous a permis de donner un aperçu général des notions de base liées
aux applications mobiles, y compris les différents types d’applications et les systèmes
d’exploitation associés. Nous avons également abordé le sujet du paiement mobile, en
discutant de ses types, de ses composants et de son fonctionnement. De plus, nous avons
examiné les différents moyens de paiement électronique utilisés en Algérie.
Dans le chapitre suivant, nous présenterons une analyse détaillée des besoins spéci-
fiques de notre projet, ainsi que les spécifications qui en découlent.
12
Chapitre 2
13
Chapitre 2. Analyse et spécification des besoins
2.1 Introduction
Dans l’étude préliminaire, nous nous concentrons sur l’identification du contexte du
système. Nous cherchons à comprendre clairement les besoins fonctionnels et non fonc-
tionnels, ainsi qu’à identifier les différentes situations où le système sera utilisé, appelées
cas d’utilisation. Ces cas d’utilisation décrivent des interactions entre les utilisateurs et le
système.
Dans ce chapitre, nous adopterons une approche basée sur des diagrammes de cas
d’utilisation pour exprimer les besoins de manière visuelle
14
Chapitre 2. Analyse et spécification des besoins
• Performance : L’application mobile doit être réactive, offrir une expérience utilisa-
teur fluide avec des temps de chargement rapides et des interactions fluides.
• Fiabilité : L’application doit être stable et fiable, minimisant les plantages et les
erreurs imprévues.
2.4 Limites
Pour réaliser une application de paiement mobile, il existe des contraintes spécifiques.
La réglementation algérienne exige que les applications fournissant des services de paie-
ment soient autorisées par la Banque d’Algérie. Par conséquent, il est difficile d’avoir
une interaction directe avec la poste dz et les banques, ce qui nous empêche d’utiliser
directement l’API de paiement avec la carte CIB et EDAHABIYA.
2.5 Solution
Après une recherche approfondie, nous avons trouvé une solution qui consiste à utiliser
une API fournie par le passerelle de paiement Chargily ePay. Cette API permet d’accepter
les paiements en ligne avec de nombreux moyens de paiement en Algérie, y compris la
CIB et l’EDAHABIYA. Ainsi, nous utilisons cette API dans l’opération d’alimentation
du compte de nos clients.
Lorsque le client sélectionne la méthode de paiement pour recharger son compte de
paiement dans notre application, il choisit soit la méthode CIB, soit la méthode EDA-
HABIYA, puis entre le montant à recharger. À ce moment-là, une requête est envoyée à
la passerelle de paiement ePay Chargily, qui effectue ensuite une redirection vers Algérie
Poste ou la banque. La poste dz ou la banque affiche alors une page de paiement contenant
un formulaire pour remplir les informations de la carte CIB ou EDAHABIYA.
Une fois que le client a terminé cette opération avec succès, les fonds sont transférés
sur le compte de notre application chez Chargily. Lorsque nous recevons ces fonds, nous
effectuons la recharge du compte de paiement de notre client.
15
Chapitre 2. Analyse et spécification des besoins
16
Chapitre 2. Analyse et spécification des besoins
• Il offre des abstractions et des niveaux de modélisation qui aident à gérer la com-
plexité des systèmes logiciels.
• Acteurs : Ce sont les entités externes qui interagissent avec le système. Les ac-
teurs peuvent être des utilisateurs humains, d’autres systèmes ou des composants
externes.
• Relations acteur-cas d’utilisation : Ces relations montrent les interactions entre les
acteurs et les cas d’utilisation.
• Inclusions et extensions : Les inclusions représentent les relations entre les cas d’utili-
sation lorsque l’exécution d’un cas d’utilisation inclut systématiquement l’exécution
d’un autre cas d’utilisation.
• Système : Le système est représenté en tant qu’entité globale avec laquelle les acteurs
interagissent.
17
Chapitre 2. Analyse et spécification des besoins
Acteur Rôle
Client (utilisateur mobile)
• Ouvrir un compte de paiement .
• Consulter le solde .
18
Chapitre 2. Analyse et spécification des besoins
19
Chapitre 2. Analyse et spécification des besoins
20
Chapitre 2. Analyse et spécification des besoins
Tab. 2.7 : Documentation Cas d’utilisation : Alimenter le compte de paiement par carte.
21
Chapitre 2. Analyse et spécification des besoins
22
Chapitre 2. Analyse et spécification des besoins
2.8 Conclusion
En résumé, après avoir effectué une analyse approfondie et une spécification détaillée
des exigences, nous sommes à présent prêts à entamer la phase suivante du projet, qui est
la conception . Nous disposons d’un socle solide qui nous permettra de guider efficacement
nos efforts de développement et de garantir le succès du système final.
23
Chapitre 3
Conception
24
Chapitre 3. Conception
3.1 Introduction
Après l’analyse et l’identification des besoins, nous passons maintenant à une étape
très importante pour le développement d’un système, à savoir l’étape de conception. Celle-
ci donne une vision à notre système, ses fonctionnalités et son fonctionnement. Ainsi,
nous représentons dans cette phase la méthodologie de développement, les modèles de
conception et les différents diagrammes.
25
Chapitre 3. Conception
26
Chapitre 3. Conception
27
Chapitre 3. Conception
28
Chapitre 3. Conception
29
Chapitre 3. Conception
3.3 Conclusion
Au cours de cette étape, nous avons procédé à la conception d’une application de
paiement mobile en utilisant les diagrammes du langage UML, tels que le diagramme de
classe et les diagrammes de séquence. Dans la prochaine phase, nous nous concentrerons
sur la réalisation de ce système .
30
Chapitre 4
Réalisation
31
Chapitre 4. Réalisation
4.1 Introduction
Cette section fournira une présentation complète pour exposer les choix techniques
et logiciels utilisés dans le développement et la conception de l’application en question.
Nous débuterons en évoquant brièvement les différents outils de développement qui ont été
employés pour mener à bien ce projet, aussi nous présentons l’implémentation le travail
réalisé, afin de vous donner une compréhension claire du processus de développement de
l’application.
Dart
1
https://dart.dev/overview (visité le 15/05/2023).
32
Chapitre 4. Réalisation
Le deuxième niveau est le serveur, qui correspond à l’ensemble des serveurs Firebase
hébergés dans le cloud. Le serveur est responsable de la gestion des données stockées
dans Firebase Realtime Database, de la synchronisation des données entre les différents
appareils des utilisateurs, ainsi que de la sécurité et de l’authentification des utilisateurs.
La Firebase Realtime Database est une solution pratique pour développer des applications
en temps réel, offrant une synchronisation en temps réel, une réactivité, une facilité de
développement et une intégration avec d’autres services Firebase. Elle permet de créer
des applications en temps réel performantes et évolutives.
Nous allons maintenant présenter l’interface de notre base de données en temps réel,
ainsi que la structure de celle-ci. Voici comment elle est organisée :
Le nœud racine de notre base de données s’appelle ”users”. Ce nœud contient plusieurs
nœuds ”user”, chacun représentant un utilisateur identifié par son numéro de téléphone.
Chaque nœud ”user” comprend plusieurs nœuds enfants tels que” :
2
https://firebase.google.com/docs/database (visité le 15/05/2023).
33
Chapitre 4. Réalisation
• ”le récepteur” (dans le cas d’une transaction de type débit) et ”l’émetteur” (dans le
cas d’une transaction de type crédit).
34
Chapitre 4. Réalisation
• La vérification d’identité des clients se fait par l’envoi d’un SMS à leur numéro
de téléphone, contenant un code d’accès généré par la méthode OTP fournie par
Firebase.
• Chaque utilisateur dispose d’un code PIN unique pour une sécurité supplémentaire.
Flutter
3
https://flutter.dev/ (visité le 15/05/2023).
35
Chapitre 4. Réalisation
Android studio
Firebase
4
https://code.visualstudio.com/docs (visité le 15/05/2023).
5
https://flutter.dev/docs/get-started/editor. (visité le 15/05/2023).
6
https://firebase.google.com/docs/database (visité le 15/05/2023).
36
Chapitre 4. Réalisation
Chargily ePay
7
https://dev.chargily.com/docs/intro (visité le 02/06/2023).
8
https://git-scm.com/ (visité le 15/05/2023).
9
ttps://github.com/about (visité le 02/06/2023).
37
Chapitre 4. Réalisation
38
Chapitre 4. Réalisation
39
Chapitre 4. Réalisation
40
Chapitre 4. Réalisation
41
Chapitre 4. Réalisation
42
Chapitre 4. Réalisation
43
Chapitre 4. Réalisation
44
Chapitre 4. Réalisation
45
Chapitre 4. Réalisation
46
Chapitre 4. Réalisation
47
Chapitre 4. Réalisation
48
Chapitre 4. Réalisation
49
Chapitre 4. Réalisation
50
Chapitre 4. Réalisation
51
Chapitre 4. Réalisation
52
Chapitre 4. Réalisation
53
Chapitre 4. Réalisation
54
Chapitre 4. Réalisation
4.4 Conclusion
Dans ce chapitre, nous discutons des différentes technologies utilisées et de l’envi-
ronnement de développement de notre application de paiement mobile. Ensuite, nous
présentons les différentes interfaces de notre application qui détaillent les fonctionnalités
disponibles.
55
Conclusion générale
Conclusion générale
En conclusion, ce projet de mémoire de fin d’études a été consacré à la conception et
au développement d’une application mobile visant à faciliter les transactions financières
en Algérie. L’objectif principal était de permettre aux utilisateurs de créer un compte de
paiement, d’effectuer des paiements, des virements, de consulter le solde et l’historique des
transactions, tout en garantissant la sécurité des données et en s’adaptant aux méthodes
de paiement en vigueur dans le pays.
Au cours de ce projet, nous avons analysé les besoins spécifiques des utilisateurs et des
systèmes de paiement en Algérie, en tenant compte des normes et des pratiques locales.
Nous avons utilisé ces informations pour concevoir une interface utilisateur conviviale et
intuitive, offrant une expérience utilisateur agréable et fluide.
Les chapitres de ce rapport ont couvert les études conceptuelles et techniques, ainsi
que les différentes étapes qui ont conduit à la réalisation de la solution. Cette expérience a
représenté une opportunité irremplaçable pour acquérir des connaissances en développe-
ment mobile, faire face à des contraintes réelles et vivre les phases clés du développement
et de la production d’une application.
Pour concevoir ce travail, nous avons adopté les méthodes UML pour une modélisation
claire et structurée. L’application mobile a été développée en utilisant le langage Dart et le
framework Flutter SDK, avec l’environnement de développement intégré (IDE) VSCode
et l’émulateur d’Android Studio. Nous avons également utilisé Firebase, une plateforme
de développement mobile de Google, pour des fonctionnalités essentielles, telles que l’au-
thentification des utilisateurs via l’OTP et l’utilisation de Firebase Realtime Database
comme base de données hébergée dans le cloud. Les données sont stockées au format
JSON et synchronisées en temps réel avec chaque client connecté. Les contributions que
notre projet a pu apporter peuvent se résumer dans les points suivants :
• L’ouverture d’un compte de paiement, offrant aux utilisateurs une solution pratique
pour gérer leurs transactions financières.
• La possibilité d’alimenter le compte de paiement a travers la methode CIB ou EDA-
HABIYA.
• La réalisation de paiements avec QR code, offrant une expérience utilisateur fluide
.
56
Conclusion générale
En somme, ce projet a abouti à une application mobile qui répond aux besoins des
utilisateurs en termes de gestion des paiements et des transactions financières. Il a éga-
lement ouvert la voie à de nombreuses perspectives d’amélioration et de développement
futur, afin d’offrir une expérience encore plus complète et satisfaisante aux utilisateurs.
57
Bibliographie
Aissa, Boudraf (2018 /2019). “Développement d’une application mobile pour randon-
neurs”. UNIVERSITE MOHAMED BOUDIAF - M’SILA.
Fella, El Garrot (2017). “Moyens de paiement électroniques : Etat des lieux et pers-
pectives de développement Cas : Natixis Algérie”. ECOLE SUPERIEURE DE COM-
MERCE –KOLEA.
Journal Officiel de la République Algérienne (16 mai 2018). “Loi n° 18-05
relative au commerce électronique”. In : N° 28, P 05.
Laetitia, Chaix (2013). “Le paiement mobile : perspectives économiques, modèles d’af-
faires et enjeux concurrentiels”. Université Nice Sophia Antipolis.
MERAH, AISSAOUI Saliha Nacera (2019/2020). “Conception et réalisation d’une appli-
cation mobile pour la gestion d’archive médical personnel basé sur le Cloud”. Université
Aboubakr Belkaïd – Tlemcen – Faculté de TECHNOLOGIE.
Règlements Internationaux, Banque des (2001). “Principes fondamentaux pour les
systèmes de paiement d’importance systémique”.
REKOUANE Hichem., ADJ SAID Nadine et (2019-2020). “Mise en place d’une solu-
tion de paiement mobile pour une entreprise commerciale”. Université Mouloud MAM-
MERI de Tizi-Ouzou Faculté DE Génie Électrique et d’Informatique.
Sadika, BENMADANI (2022). “Les Moyens de Paiement Electronique en Algérie : Etat
des lieux et Perspectives Electronic Payment Means in Algeria : Status and Perspec-
tives”. In : N° : 01 (2022), P 791-810.
Wiley, Danita Hunter. (2014). Mobile Payment Technologies For Business : A Compre-
hensive Guide to Mobile Payment Systems Used by Consumers and Merchants.
Yang Xiao, Xiaolin Chang et (2013). Mobile Payment Systems : Secure Network Archi-
tectures and Protocols. Auerbach Publications.
58
Webographie
(OMG), Object Management Group (December 2017). ”Unified Modeling Language (UML).
url : https://www.omg.org/spec/UML/2.5.1.
ARPCE, Autorité De Régulation De La Poste Et Des Communications Electroniques
(2023). Observatoire Du Marché De L’internet. url : https://www.arpce.dz/fr/
file/p9b2z6 (visité le 10/03/2023).
Banqued ’Algrie (2023). Rapport sur les Tendances Monétaires et Financières. url : https:
//www.bank-of-algeria.dz/wp-content/uploads/2023/03/Note-de-conjoncture-
neuf-premiers-mois-2022.pdf (visité le 10/03/2023).
edahabia (2023). url : https://www.carte- edahabia.com/en- instance/ (visité le
03/06/2023).
GIEM, Groupement d’intérêt économique de la monétique (2023). Activité des paiements
sur TPE. url : https://giemonetique.dz/activite-paiement-sur-tpe/ (visité
le 10/03/2023).
Poste, Algérie (2023). edahabia. url : https://www.poste.dz/customer/edahabia
(visité le 03/06/2023).
Qu’est-ce que le langage UML ? (2023). url : https://www.lucidchart.com/pages/
fr/languml (visité le 20/05/2023).
SATIM (2023). Carte CIB. url : https://www.satim.dz/fr/services-cib/carte-
cib.html (visité le 03/06/2023).
59