Académique Documents
Professionnel Documents
Culture Documents
net/publication/346097190
Développement d’une API Java de paiement en ligne sur les sites e-commerce
CITATIONS READS
0 1,751
1 author:
SEE PROFILE
All content following this page was uploaded by Tossou Osias Noël Nicodème Finagnon on 23 November 2020.
UNIVERSITÉ D’ABOMEY-CALAVI
INSTITUT DE FORMATION ET DE
RECHERCHE EN INFORMATIQUE
BP 526 Cotonou Tel : +229 21 14 19 88
http://www.ifri-uac.net Courriel : contact@ifri.uac.bj
MÉMOIRE
pour l’obtention du
Présenté par :
Osias Noël Nicodème Finagnon TOSSOU
—
Soutenu le 22 Juillet 2017 devant le jury composé de :
Prof. YAYA K. Abdoulaï (Président du Jury)
Doctorant METONGNON Lionel
Ing. AIKPE Roland
Sous la supervision :
i
Remerciements
Remerciements
Je tiens à remercier tous ceux qui ont participé à l’élaboration de ce travail particulièrement :
• tout le personnel de JTEK-Solutions pour leur esprit d’accueil et leur sens de partage,
ii
Table des matières
Dédicace i
Remerciements ii
Résumé/Abstract 2
Introduction 4
1 Revue de littérature 6
1.1 Etat de l’art . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.1.1 Présentation des solutions existantes . . . . . . . . . . . . . . . . . . . . . . 6
1.1.2 Intérêt du projet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.2 Quelques notions utiles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.2.1 e-commerce . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.2.2 e-paiement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.2.3 API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2 Matériels et méthodes 11
2.1 Matériels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.1.1 La technologie utilisée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.1.2 Présentation du SGBD Postgres . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.1.3 Outils de développement . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.2 Méthodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.2.1 Présentation de la méthode Scrum . . . . . . . . . . . . . . . . . . . . . . . 14
2.2.2 Présentation du modèle UML . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.2.3 Présentation des différentes diagrammes . . . . . . . . . . . . . . . . . . . 16
3 Résultats 20
3.1 Architecture générale de l’API eb-pay . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.2 Sécurité de l’API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.2.1 Sécurité côté marchand . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.2.2 Sécurité côté client . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.3 Principales interfaces graphiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
iii
TABLE DES MATIÈRES TABLE DES MATIÈRES
Conclusion 27
Bibliographie 28
iv
Table des figures
1
Résumé
Après avoir révolutionné les moyens de transmettre l’information, Internet vient révolution-
ner les pratiques commerciales avec le commerce électronique, en offrant la possibilité de trans-
mettre de l’argent (e-paiement). En effet, le e-paiement (paiement électronique) est un moyen
permettant d’effectuer des transactions commerciales pour l’échange de biens ou de services
sur Internet. Actuellement, il est très bien implanté et utilisé par la majorité des personnes et
entreprises ayant un commerce sur internet.
Cependant, plusieurs moyens de paiement en ligne existent, mais très peu sont adapté au
contexte africain plus particulièrement Béninois. Le présent mémoire vise à mettre en place
un moyen de paiement fiable et sécurisé en Afrique à travers la production d’une API Java
déportée du nom de « eb-pay » destiné au site e-commerce. Cette API utilisera les moyens de
paiement bancaire existants (les cartes bancaires : VISA, MasterCard....).
eb-pay permettra donc de vendre et d’acheter des produits et services dans le monde par
internet. Il garde le choix de l’établissement bancaire du marchand et du client ainsi que les
moyens de paiement acceptés.
2
Abstract
Having revolutionized the ways to pass on the information, Internet comes to revolutionize
the commercial practices with the e-commerce, by offering the possibility of passing on some
money (e-payment). Indeed, the e-payment (electronic payment) is a way allowing to make
commercial transactions for the exchange of the properties or the services on the Internet. At
present, he is implanted very well and used by the majority of the people and companies having
a trade on the Internet.
However, several on-line means of payment exist, but little are adapted to the African context
more particularly Beninese. The present report aims at setting up a means of payment reliable
and reassured(secured) in Africa through the production of API popular waltz deported by the
name of " eb-pay " intended for the e-commerce site. This API will use the existing banking
means of payment (bank cards: VISA, MasterCard).
eb-pay will thus allow to sell and to buy products and services(departments) in the world
by internet. He(it) keeps(guards) the choice of the banking institution of the trader and the
customer as well as the accepted means of payment.
Problématique
Ce sujet s’intéresse à la difficulté qu’ont les développeurs des applications e-commerce en
Afrique à intégrer un système de paiement fiable à leurs applications. Ce faisant, il met l’accent
sur les contraintes que représente le niveau du paiement électronique pour l’accroissement des
applications e-commerce. Pour ce fait, il propose une API basée sur les moyens de paiement
existant comme les cartes bancaires et paypal. Au regard des difficultés qu’ont les développeurs
dans les moyens de paiement électronique, on peut bien rechercher les avantages liés à la mise
en place d’une telle API.
Objectifs
Réaliser une API pouvant aider les commerçants à intégrer les moyens de paiement en ligne
sur leurs plateformes e-commerce.
Objectifs spécifiques
Ce module central concerne la gestion des marchands par les administrateurs. Il gé-
rera tout ce qui est de l’ordre de la création des comptes marchands, l’enregistrement des
informations du marchand, l’authentification sur le panel d’administration,. . .
4
Ce module permettra au marchand de consulter les différentes translations qu’il a eues.
Lors du processus d’un achat sur le site du marchand, le client est redirigé vers la plate-
forme eb-pay pour faire le paiement. Il saisit les informations bancaire de sa carte, qui sont
ensuite envoyées à sa banque qui se chargera de débiter son compte. Après la transaction,
nous informons le marchand.
Le présent mémoire fait le point de nos travaux et comporte trois (3) chapitres.
Le premier chapitre intitulé « Revue de littérature » synthétise l’état actuel de la recherche en lien avec
la problématique du sujet afin de montrer à la fin en quoi notre recherche est intéressante et innovante.
Le deuxième chapitre de ce travail intitulé « Matériels et méthodes » est constitué de l’analyse des be-
soins, de la conception du système, des outils de développement et matériels utilisés en vue de la concep-
tion et de la réalisation de la solution proposée
Ce travail s’achève par le dernier chapitre intitulé « Résultats », qui présente les résultats obtenus et plus
précisément les commentaires des captures d’écran et des simulations de l’application ainsi conçue.
Chapitre 1
Revue de littérature
L’objectif d’une revue de la littérature est de résumer l’état de l’art ou de la connaissance dans un
domaine et pour une période ou un territoire.
6
Chapitre 1. Revue de littérature 1.1. Etat de l’art
Il existe une panoplie de solutions de paiement en ligne au nombre desquelles nous pouvons citer :
1.1.1.1 PayPal
PayPal est un service de paiement en ligne qui permet de payer des achats, de recevoir
des paiements, ou d’envoyer et de recevoir de l’argent. Pour bénéficier de ces services, une
personne doit créer un compte puis transmettre diverses coordonnées bancaires à PayPal,
telles que le numéro de carte de paiement. Par la suite, les transactions sont effectuées sans
avoir à re-communiquer ces coordonnées bancaires, une adresse de courrier électronique
et un mot de passe étant suffisants.
1.1.1.2 S-money
1.1.1.4 Payzen
Payzen est une solution de paiement en ligne. Elle propose dans sa solution un
nombre important de moyens de paiement (cartes, Prélèvement, Banque en ligne,
financement, wallet..), afin de donner le maximum de choix à vos clients. Vous pou-
vez notamment, intégrer à votre forfait des moyens de paiement privatifs ou des
cartes cadeaux.
1.1.1.5 UniPay
La passerelle UniPay est une solution de paiement en ligne universelle, très robuste et open
source pour le traitement des paiements. C’est aussi un moteur d’orchestration de circula-
tion des paiements ; il est conçu non seulement comme le système de paiement en ligne ou
de la facturation récurrente, mais aussi comme la plate-forme de gestion des relations et
7
Chapitre 1. Revue de littérature 1.1. Etat de l’art
des marchands. UniPay est conçu pour accommoder les besoins des petits marchands dé-
tenant un compte marchand, aussi bien que les gros marchands ayant plusieurs comptes et
les entreprises multimarchand avec un grand nombre des clients, revendeurs et de comptes marchands
associés. C’est aussi une solution préférée de nombreuses organisations de ventes indépendantes (OVIs)
et les fournisseurs de services de paiement (PSP).
8
Chapitre 1. Revue de littérature 1.2. Quelques notions utiles
1.2.1 e-commerce
Le e-commerce ou le commerce électronique, un sous ensemble de l’e-business, est l’achat, la vente et
l’échange de biens et de services sur les réseaux informatiques (comme internet) par le biais duquel les
opérations ou les conditions de vente sont exercées par voie électroniques. Contrairement à la croyance
populaire, le commerce électronique n’est pas seulement sur le web. En fait, le commerce électronique est
bien vivant dans les transactions entre entreprise avant le web dans les années 70 par l’intermédiaire de
l’EDI (Electronic Data Interchange) a travers des VAN (Value-Added Networks). E-commerce peuvent
être répartis en quatre catégories principales : B2B1 , B2C2 , C2B3 et C2C4 .
1.2.2 e-paiement
Le e-paiement (paiement en ligne) est un échange d’argent par système électronique. Il s’agit des
paiements que l’on réalise sur Internet ou via des réseaux de télécommunications, générés à partir soit
d’un ordinateur, soit d’un téléphone mobile
1.2.3 API
Une API (Application Programming Interface) est une Interface Applicative de Programmation qui
permet d’établir des connexions entre plusieurs logiciels pour échanger des données. C’est un ensemble
1
B2B : Business-to-Business ,Ceux sont les entreprises qui font affaire avec d’autres, comme les fabricants qui
vendent a des distributeurs et grossistes, qui a leur tour vendent aux détaillants. La tarification est basée sur la
quantité de l’ordre et est souvent négociable
2
B2C : Business-to-consumer , Ceux sont les entreprises vendant au grand public en général grâce a des cata-
logues en utilisant des logiciels panier. En volume en dollars, B2B a la palme, cependant B2C est vraiment ce que
l’utilisateur, a en tête en ce qui concerne le commerce électronique, dans son ensemble.
3
C2B : Consumer-to-Business , Le consumer to business (C2B) est un modèle d’entreprise (business model)
dans lequel les consommateurs (les particuliers) sont au service de l’entreprise en apportant un produit ou une
prestation, et non le contraire comme c’est le cas traditionnellement.
4
C2C : Consumer-to-Consumer , Il existe de nombreux sites offrants de petites annonces gratuites, enchères, et
des forums ou les particuliers peuvent acheter et vendre en ligne grâce au système de paiements tels que PayPal
[2], ou les gens peuvent envoyer et recevoir de l’argent en ligne en toute simplicité. Le service d’enchère d’eBay
est un bon exemple de commerce de personne, des transactions ont lieu tous les jours depuis 1995.
9
Chapitre 1. Revue de littérature 1.2. Quelques notions utiles
normalisé de classes, de méthodes ou de fonctions qui sert de façade par laquelle un logiciel offre des
services à d’autres logiciels.
10
Chapitre 2
Matériels et méthodes
2.1 Matériels
Le langage Java, développé par Sun, est un langage orienté objet. En effet il possède
un mécanisme qui permet de décrire les caractéristiques d’un objet de façon unique
et de pouvoir lui faire subir des opérations. Le langage Java n’est pas interprété mais
les fichiers java, appelés portant l’extension .java, sont compilés en byte code, fichier
.class, puis lus par ce que l’on appelle une machine virtuelle Java (JVM). Le lan-
gage est donc indépendant de chaque machine, on parle de langage portable. Pour
programmer en Java, il suffit d’installer un JRE(Java Runtime Environement) ou un JDK(Java Develop-
pement Kit) qui comprend un JRE et d’autre outils, une JVM et un simple éditeur de texte. Le langage
JEE, qui peut être considéré comme une extension de Java, est un ensemble de spécifications destinées
aux applications d’entreprises. Ce langage permet la création d’applications performantes et robustes.
JEE s’appuie sur le modèle Modèle Vue Contrôleur (MVC). Le figure ci-après représente l’interaction en
le modèle, la vue et le contrôleur.
1
J2EE : Java Entreprise Edition Version 2
2
JavaServer Pages
3
Java Persistence API
11
Chapitre 2. Matériels et méthodes 2.1. Matériels
La couche Vue représente ce que l’utilisateur a sous les yeux. Le modèle peut être divers et varié. C’est
là que se trouvent les données. Il s’agit en général d’un ou plusieurs objets Java. Ces objets s’apparentent
généralement à ce qu’on appelle souvent « la couche métier » de l’application et effectuent des traite-
ments absolument transparents pour l’utilisateur. Par exemple, on peut citer des objets dont le rôle est
de gérer une ou plusieurs tables d’une base de données. La dernière couche permet de faire le lien entre
la vue et le modèle lorsqu’une action utilisateur est intervenue sur la vue.
Cette architecture permet aux développeurs de se concentrer sur la couche métier et au designer de
s’occuper de la vue.
Une servlet est une classe Java qui permet de créer dynamiquement des données
au sein d’un serveur HTTP. Ces données sont le plus généralement présentées au
format HTML, mais elles peuvent également l’être au format XML ou tout autre
format destiné aux navigateurs web. Les servlets utilisent l’API Java Servlet.
Une servlet s’exécute dynamiquement sur le serveur web et permet l’extension
des fonctions de ce dernier, Par exemple : l’accès à.des bases de données, transactions
d’e-commerce, etc. Une servlet peut être chargée automatiquement lors du démarrage du serveur web
ou lors de la première requête du client. Une fois chargées, les servlets restent actives dans l’attente
d’autres requêtes du client.
L’utilisation de servlets se fait par le biais d’un conteneur de servlets (framework) côté serveur. Celui-
ci constitue l’environnement d’exécution de la servlet et lui permet de persister entre les requêtes des
clients. L’API définit les relations entre le conteneur et la servlet. Le conteneur reçoit la requête du client,
et sélectionne la servlet qui aura à la traiter. Le conteneur fournit également tout un ensemble de services
12
Chapitre 2. Matériels et méthodes 2.1. Matériels
standards pour simplifier la gestion des requêtes et des sessions. La version actuelle des spécifications
servlet est la 3.1.
Le JavaServer Pages ou JSP est une technique basée sur Java qui permet aux dévelop-
peurs de créer dynamiquement du code HTML4 , XML5 ou tout autre type de page
web. Cette technique permet au code Java et à certaines actions prédéfinies d’être
ajoutés dans un contenu statique. Depuis la version 2.0 des spécifications, la syntaxe
JSP est complètement conforme au standard XML6 . La syntaxe du JSP ajoute des ba-
lises XML, appelées actions JSP, qui peuvent être utilisées pour appeler des fonctions.
De plus, cette technique permet la création de bibliothèques de balises JSP (taglib) qui agissent comme
des extensions au HTML7 ou au XML. Les bibliothèques de balises offrent une méthode indépendante
de la plate-forme pour étendre les fonctionnalités d’un serveur HTTP8 . Il existe aussi un langage de
script particulier, appelé Expression Language (EL) destiné à réduire l’injection de code java au sein
des pages JSP ainsi qu’à étendre les possibilités des taglibs, tel que la JSTL. Les JSP sont compilées par
un compilateur JSP pour devenir des servlets Java. Un compilateur JSP peut créer une servlet Java en
code source Java qui peut à son tour être compilé par le compilateur Java, ou peut créer le pseudo-code
Java interprétable directement. Dans les deux cas, il est bon de comprendre comment le compilateur JSP
transforme la page en servlet Java.
La Java Persistence API (abrégée en JPA), est une interface de programmation Java
permettant aux développeurs d’organiser des données relationnelles dans des appli-
cations utilisant la plateforme Java.
La Java Persistence API est à l’origine issue du travail du groupe d’experts JSR9 .
La persistance dans ce contexte recouvre 3 zones :
l’API elle-même, définie dans le paquetage javax.persistence le langage Java Persistence Query (JPQL)
l’objet/les métadonnées relationnelles
La Java Persistence API repose essentiellement sur l’utilisation des annotations, introduites dans Java
5. Elles permettent de définir facilement des objets métier, qui pourront servir d’interface entre la base
de données et l’application, dans le cadre d’un mapping objet-relationnel.
4
HyperText Markup Language, est le format de données conçu pour représenter les pages web
5
eXtensible Markup Language est un langage informatique de balisage générique.
6
eXtensible Markup Language est un langage informatique de balisage générique.
7
HyperText Markup Language, est le format de données conçu pour représenter les pages web
8
HyperText Transfer Protocol, est un protocole de communication client-serveur développé pour le World Wide
Web
9
JSP : Java Specification Requests est un système normalisé ayant pour but de faire évoluer la plate-forme Java.
13
Chapitre 2. Matériels et méthodes 2.2. Méthodes
2.2 Méthodes
Nous avons eu à utiliser différentes méthodes pour notre dévéloppement dont la méthode Scrum et
la modélisation UML11
Scrum est une méthode de développement agile orientée projet informatique dont les ressources sont
régulièrement actualisées. La méthode Scrum tire son nom du monde du rugby, (scrum = mêlée). Le
principe de base étant d’être toujours prêt à réorienter le projet au fil de son avancement. C’est une
approche dynamique et participative de la conduite du projet. La mêlée est une phase de jeu essentielle
au rugby. Elle permet au jeu de repartir sur d’autres bases. La réunion dans la méthode Scrum relaie la
métaphore.
10
PHP Hypertext Preprocessor, est un langage de scripts généraliste et Open Source, spécialement conçu pour
le développement d’applications web
11
UML : Unifed Modéling Language
14
Chapitre 2. Matériels et méthodes 2.2. Méthodes
Bien entendu, la méthode Scrum est conforme aux principes des méthodes agiles. Comme toutes les
méthodes agiles, Scrum privilégie la livraison rapide d’un prototype, opérationnel par définition, afin
que les clients, donneurs d’ordre et membres de l’équipe puissent l’évaluer.
Cette démarche participative active est un atout fondamental. Elle garantit pour le client le juste équi-
libre entre l’investissement prévu et le produit finalement livré. L’étude du prototype permet l’évalua-
tion des fonctionnalités réalisées, et facilite la réflexion commune sur l’opportunité de futurs développe-
ments. D’autre part, l’étroite intimité entre les clients utilisateurs et les prestataires développeurs facilite
l’appropriation future de l’outil.
UML est utilisé pour spécifier, visualiser, modifier et construire les documents nécessaires au bon
développement d’un logiciel orienté objet et offre un standard de modélisation, pour représenter l’archi-
tecture logicielle. Les différents éléments représentables sont :
• Acteurs
• Processus
• Composants logiciels
• Réutilisation de composants
12
Booch : de développement de logiciels pour la programmation orientée objet. Elle a été conçue par Grady
Booch qui l’a publiée en 1992 puis révisée en 1994. Elle se compose d’un langage de modélisation graphique, d’un
processus itératif de développement, et d’un ensemble de pratiques recommandées
13
OMT : (en anglais « object modeling technique », c’est-à-dire « technique de modélisation objet ») est une
technique de modélisation destinée à la conception et la modélisation pour la programmation orientée objet. Elle a
été conçue en 1991 par James Rumbaugh, Michael Blaha, William Lorensen, Frederick Eddy et William Premerlani
14
OOSE : OOSE est une méthode pour l’analyse initiale des usages de logiciels, basée sur les « cas d’utilisation
» et le cycle de vie des logiciels, créé par Ivar Jacobson
15
OMG : Object Management Group est une association américaine à but non lucratif créée en 1989 dont l’ob-
jectif est de standardiser et promouvoir le modèle objet sous toutes ses formes
15
Chapitre 2. Matériels et méthodes 2.2. Méthodes
Grâce aux outils de modélisation UML, il est également possible de générer automatiquement tout ou
partie du code d’une application logicielle, par exemple en langage Java, à partir des divers documents
réalisés.
Un acteur représente un rôle joué par une personne qui interagit avec le système. Par définition, les
acteurs sont à l’extérieur du système. Les acteurs se récrutent parmi les utilisateurs du système et aussi
parmi les responsables de sa configuration et de sa maintenance. Du point vue fonctionnel, les différentes
acteurs de notre système sont :
• le client
• le marchand
• l’administrateur de l’API
Les diagrammes de cas d’utilisation sont des diagrammes utilisés pour donner une version globale
du comportement fonctionnel d’un système logiciel. Ils sont utiles pour des présentations auprès de la
direction ou des acteurs d’un projet ; mais pour le développement, les cas d’utilisation sont plus appro-
priés. Un cas d’utilisation représente une unité discrète d’interaction entre un utilisateur (humaine ou
machine) et un système. Il est une unité significative de travail. Dans un diagramme de cas d’utilisation,
les utilisateurs sont appelés acteurs (actors), ils interagissent avec les cas d’utilisation.
16
Chapitre 2. Matériels et méthodes 2.2. Méthodes
Le diagrammes des classes permet d’exprimer comment les objets et les classes vont être définis, ainsi
que les relations qui existent entre les différentes classes. Il est considéré comme le plus important de la
modélisation orientée objet. Alors que le diagramme des cas d’utilisation montre un système du point
de vue des acteurs, le diagramme de classes en montre la structure interne. Il permet de fournir une
représentation abstraire des objets du système qui vont interagir pour réaliser les cas d’utilisation.
17
Chapitre 2. Matériels et méthodes 2.2. Méthodes
Le diagramme de séquence est un diagramme d’interaction qui nous permettra de décrire comment
les éléments du système interagissent entre eux et avec les acteurs :
• Les objets au coeur d’un système interagissent en s’échangeant des messages dans le cadre d’un
fonctionnement particulier du système.
Les diagrammes de séquences servent à développer en analysant les scénariid’utisation d’un système.
18
Chapitre 2. Matériels et méthodes 2.2. Méthodes
19
Chapitre 3
Résultats
L’architecture technique présente les différents outils utilisés dans le développement de chaque partie
du projet. La figure suivante présente l’architecture technique de notre API :
2. L’internaute clique sur le bouton "Passer au paiement", le serveur commerçant utilise l’API pour
afficher tous les moyens de paiement acceptés
3. En cliquant sur un de ces moyens de paiement, l’internaute se connecte au serveur de paiement eb-
pay. Le serveur de eb-pay affiche le formulaire approprié pour obtenir ses coordonnées bancaires
20
Chapitre 3. Résultats 3.2. Sécurité de l’API
4. Le serveur de eb-pay effectue une demande d’autorisation auprès d’une institution financière im-
pliquée dans le paiement sélectionné
5. et 5’. Après réception de la réponse d’autorisation, eb-pay envoie la réponse de la demande d’au-
torisation au serveur commerçant et affiche un message de confirmation sur l’écran de l’internaute
6. A partir de ce ticket, l’internaute peut cliquer sur un bouton pour retourner sur le serveur com-
merçant, qui reçoit ainsi toutes les informations concernant la transaction (identique à 5’)
7. eb-pay envoie la transaction pour remise en banque (crédit marchand et débit client)
Face au développement du commerce électronique et de ses failles sécuritaires, l’API eb-pay répond
aux besoins de sécurisation des paiements par l’Internet et met à la disposition de tout site marchand, un
terminal de paiement virtuel sécurisé, il utilise le protocole SSL1 pour le cryptage de toutes informations
lors des échanges entre les différents serveurs en jeux (marchand – eb-pay – Banque) avec des codes de
confirmation demandés à un moment donné aux acteurs.
La clé de sécurité est représentée de façon externe par des caractères hexadécimaux (par exemple :
6A8537ABEAAD34638). Cette clé est généré en cryptant la concaténation de quelques informations spé-
cifiques du marchand avec une clé générée grâce à l’algorithme DES à un instant donné. Le schéma
suivant présente le processus de génération de la clé de sécurité du marchand :
1
Secure Sockets Layer : est un protocole de sécurisation des échanges sur Internet
21
Chapitre 3. Résultats 3.3. Principales interfaces graphiques
La conception des interfaces de l’application est une étape importante puisque toutes les interactions
avec le cœur de l’application passent à travers ces interfaces, on doit alors guider l’utilisateur avec les
messages d’erreurs et de notification si besoin, ainsi présenter un système complet. Dans cette partie,
nous allons présenter quelques interfaces de l’application, répondant aux recommandations ergono-
miques de compatibilité, de guidage, de clarté, d’homogénéité et de souplesse. Nous avons choisi l’admi-
nistrateur comme utilisateur vu qu’il présente à travers ces interactions la majeure partie des principales
fonctionnalités de l’application.
22
Chapitre 3. Résultats 3.3. Principales interfaces graphiques
23
Chapitre 3. Résultats 3.3. Principales interfaces graphiques
24
Chapitre 3. Résultats 3.3. Principales interfaces graphiques
Apres choix du type de paiement, le formulaire pour récupérer les informations bancaire
25
Cette interface présente la liste des demandes de l’API eb-pay.
26
Conclusion
Notre projet de fin d’études consistait en l’étude, l’analyse, la conception et la réalisation d’une API
Java de paiement electronique sur les sites e-commerce. Cette API aidera les développeurs d’application
e-commerce dans leur réalisation.
Ce projet s’est déroulé en quatre phases. Dans la première phase, nous étions amenés à faire une étude
fonctionnelle dont le but était de spécifier et d’analyser les besoins. Dans la deuxième phase nous nous
sommes penchés sur la conception de notre système afin de bien structurer la couche métier de l’appli-
cation. La troisième phase a été consacrée à l’étude technique où l’on a détaillé l’architecture technique
et les outils et les Frameworks utilisés dans le développement. Enfin, la quatrième phase a été consacrée
à la réalisation et à la mise en œuvre des différents modules de notre système.
Ce stage a été pour nous l’occasion de faire le lien entre nos connaissances académiques et le monde
professionnel. En effet, il nous a permis de développer nos compétences techniques, d’approfondir nos
connaissances théoriques et les mettre en pratique. Cette expérience a aiguisé nos capacités d’analyse et
de synthèse, et nous a permis de renforcer nos connaissances concernant l’architecture JEE, notamment
le Framework JSP et l’API JPA.
Enfin, ce stage fut une expérience très enrichissante pour nous aussi bien sur le plan personnel que
professionnel. En effet, il a été l’occasion de découvrir le dynamisme et l’enthousiasme qui caractérisent
l’équipe de JTek-Solutions. Les réunions régulières effectuées avec le directeur de JTek-Solutions nous
ont permis de mettre en œuvre les concepts de gestion de projets acquis à l’IFRI.
27
Bibliographie
[1] Jasinska, Elisa (08/02/2017). JPA et Java Hibernate. , 500 pages ;
[2] Antonio Goncalves (3 mars 2011). Java EE 5. Collection Les cahiers du programmeur, http://www.
editions-eyrolles.com/Livre/9782212126587/java-ee-5 ;
28
29
View publication stats