DEDICACES
Je dédie ce mémoire :
A ma famille je vous aime tous.
A tous mes promotionnaires, ce fut deux années sans
regrets. A l'équipe de SITBusiness, on assurera toujours,
A mes amis,
A mon futur neveu, bienvenue,
A tous mes amis, je ne citerais pas de nom,
A tous ceux qui nous ont quittés tôt.
1
Mise en place d'une plateforme de commerce électronique
avec l'outil d'oracle (Oracle Application Express)
REMERCIEMENTS
J'adresse mes remerciements les plus chaleureux à :
Mr Amadou GAYE, chef de département
Génie Informatique, Mr Ibrahima FALL, Responsable
pédagogique du DIT,
Mr Mamadou NIANG mon encadreur et Maître
de Stage, Le corps enseignant du département Génie
Informatique
Je tiens à vous exprimer mes remerciements les plus
sincères pour m'avoir choisi et confié ce travail. Votre aide
pédagogique inestimable et votre soutien moral durant les moments
difficiles, m'ont beaucoup marqué. J'espère que ce travail
témoigne de ma profonde reconnaissance et de ma haute
considération
Un grand merci également à toutes les personnes
travaillant au laboratoire LIMBI du département informatique pour leur
accueil.
Un grand merci a mes parents pour tout le soutien que vous
m'avez apporté durant mes études, pour votre présence
incommensurable sans vous, nous j'aurais peiné à y arriver,
encore Merci,
Toutes les personnes qui de prés ou de loin, ont
contribué à la réalisation de ce document.
AVANT-PROPOS
Établissement public à caractère
administratif doté de la personnalité juridique et de l'autonomie
financière, l'École Supérieure Polytechnique fait partie
intégrante de l'université Cheikh Anta DIOP de Dakar. Elle a
été créée par la loi n° 94-78 du 24 novembre
1994.
L'Ecole Supérieure Polytechnique a pour missions de :
- Former tant sur le plan théorique que pratique
des : Techniciens Supérieurs ;
Ingénieurs Technologues ;
Ingénieurs de Conception ;
Managers en Gestion d'Entreprises ;
Docteurs.
- Dispenser un enseignement supérieur en vue de
préparer aux fonctions d'encadrement dans :
La Production ;
La Recherche Appliquée ;
Les Services.
- Organiser des enseignements et des activités de
recherche visant : Au perfectionnement permanent ;
À l'adaptation et à la participation à :
L'évolution scientifique et technologique ;
L'évolution économique et managériale.
- Procéder à des expertises à
l'intention des entreprises publiques et privées.
3
Mise en place d'une plateforme de commerce électronique
avec l'outil d'oracle (Oracle Application Express)
Table des matières
Sigles et Abréviations .6
Table des figures 7
Introduction 8
Chapitre I : Présentation du Sujet
I. 1 Présentation du lieu de stage(Laboratoire LIMBI)
..9
I. 2 Présentation du projet 9
I. 2.1 Qu'est ce que le commerce électronique ou
« E-Commerce » ? 9
I. 2.2 Objectifs 10
I. 2.3 Cibles et caracteristiques .10
I. 2.4 Description du contenu 11
Chapitre II : Spécification
détaillée des exigences
|
|
II.1. Principales fonctionnalités
|
.12
|
II.1.1 Fonctionnalités en front office
|
12
|
II.1.2 Fonctionnalités en back office
|
12
|
II.2.Gestion de la sécurité de la plateforme
|
13
|
II.2.1 Confidentialité
|
.13
|
II.2.2 Droits d'accès
|
..14
|
II.2.3 Authentification
|
14
|
II.3. Maintenance et Mise à jour
|
14
|
Chapitre III : Analyse et Conception de la
plateforme
III.1. Pourquoi utiliser une méthode ?
|
16
|
III.2. Exemple de méthode
|
..16
|
III.2.1 Merise
|
.16
|
III.2.2. UML
|
17
|
III.3. Choix d'une méthode d'analyse et de conception
|
..18
|
III.4 Analyse du Système
|
18
|
III.4.1 Description des cas d'utilisation fondamentaux
|
19
|
III.4.1.1. Cas d'utilisation: « S'authentifier
»
|
.21
|
III.4.1.2.Cas d'utilisation: « Maintenir
catalogue»
|
21
|
III.4.1.3. Cas d'utilisation: « Rechercher
produits»
|
.22
|
III.4.1.4. Cas d'utilisation: « Effectuer
commande»
|
.22
|
III.4.1.5. Cas d'utilisation: « Gérer son
panier»
|
23
|
III.4.2 Les Diagrammes de séquence
|
23
|
III.4.2.1 Diagramme de séquence « Maintenir
le catalogue »
|
24
|
III.4.2.2 Diagramme de séquence « Rechercher
produits»
|
25
|
III.4.2.3 Diagramme de séquence «Effectuer
commande »
|
.26
|
III.4.2.4 Diagramme de séquence «Gérer
son panier»
|
.27
|
III.5 Conception de la plateforme
|
28
|
III.5.1 Le Diagramme de classes de conception
|
28
|
III.5.2 Diagramme de classes de la
Généralisation
|
29
|
III.5.2 .1 Description des tables de la
généralisation
|
29
|
III.5.2.1.1 Table Produits
|
30
|
III.5.2.1.2 Table Acteur
|
30
|
III.5.2.1.3 Table ActeurActe
|
32
|
III.5.2.1.4 Table Acte
|
32
|
III.5.2.1.5 Table Règlement
|
34
|
III.5.2.1.6 Table ListeDeValeurs
|
35
|
III.6 Présentation de « Oracle Application
Express »
|
36
|
III.6.1 Définition
|
37
|
III.6.2 Architecture
|
38
|
III.6.3 Les composants
|
38
|
III.7. Conception de la plateforme de commerce
électronique avec Apex
|
39
|
III.7.1 Création des tables
généralisées
|
.39
|
III.7.2 Création de l'application à partir
d'une application exemple
|
.41
|
III.7.3 Création d'une page
|
.43
|
Chapitre IV : Implémentation de la solution
IV.1 Architecture 46
IV.2 Diagramme de déploiement 47
IV.3 Sécurité de la plateforme 48
IV.4 Présentation de l'application 48
Conclusion et Perspectives 52
Bibliographie / « Wébographie » .
.53
Index .54
Annexes 55
5
Mise en place d'une plateforme de commerce électronique
avec l'outil d'oracle (Oracle Application Express)
Sigles et abréviations
Nous présentons ici certains sigles et abréviations
que nous utiliserons dans le document.
UML
|
Unified Modeling
Language
|
APEX
|
Oracle Application
Express
|
RAD
|
Rapid Application
Developement
|
SGBD
|
Système de
Gestion de Base de Données
|
B2E
|
Business to Employee
|
B2C
|
Business to Customer
|
B2B
|
Business to Business
|
HTML
|
Hypertext Markup
Language
|
C
|
Customer to Customer
|
XML
|
Extensible Markup
Language
|
PL/SQL
|
Procedural Language /
Structured Query Language
|
SQL
|
Structured Query
Language
|
Table des figures
Figure III.4.1 : Diagramme des cas d'utilisation
|
.19
|
Figure III.4.2.1 : Diagramme de séquence « Maintenir
Catalogue »
|
..24
|
Figure III.4.2.2 : Diagramme de séquence «Rechercher
produit »
|
.25
|
Figure III.4.2.3 : Diagramme de séquence « Effectuer
Commande »
|
.26
|
Figure III.4.2.4 : Diagramme de séquence «
Gérer panier »
|
27
|
Figure III.5.1 : Diagramme de classes de conception
|
28
|
Figure III.5.2 : Diagramme de classes de la
généralisation
|
..29
|
Figure III.5.2.1.1 : Description de la table « Produits
»
|
30
|
Figure III.5.2.1.2 : Description de la table « Acteur »
|
.30
|
Figure III.5.2.1.3 : Description de la table « ActeurActe
»
|
.32
|
Figure III.5.2.1.4 : Description de la table « Acte »
|
32
|
Figure III.5.2.1.5 : Description de la table «
Règlement »
|
34
|
Figure III.5.2.1.6 : Description de la table «
ListeDeValeurs »
|
35
|
Figure III.6.1.2 : Schéma de l'architecture d'APEX
|
38
|
Figure IV.1 : Architecture générale de notre
application
|
.46
|
Figure IV.2 : Diagramme de déploiement de la plateforme
|
47
|
7
Mise en place d'une plateforme de commerce électronique
avec l'outil d'oracle (Oracle Application Express)
INTRODUCTION
Depuis son avènement, l'internet n'a cessé
d'évoluer donnant naissance à de nombreux services dont le
commerce électronique ou « e-commerce ». L'histoire du
e-commerce, comme la plupart le pensent, a eu une ligne de temps court mais
intéressant. La plupart d'entre eux ne réalisent pas que le
commerce électronique et sa technologie sous-jacente (internet) ont
été présents pendant environ quarante ans.
Cependant, le commerce électronique n'est pas encore
trop répandu en Afrique du fait d'une compréhension tardive des
enjeux des technologies de l'information et de la communication (TIC) et du
rôle stratégique qu'ils jouent.
C'est dans cette optique que la mission suivante nous a
été confiée lors de notre stage au laboratoire d'imagerie
médicale et de bioinformatique de l'École Supérieure
Polytechnique : « Conception et réalisation d'une plateforme de
commerce électronique avec l'outil d'oracle (Oracle Application
Express).
Nous allons tout d'abord faire une présentation du
sujet ainsi que des objectifs que nous nous sommes fixés à
travers ce travail. Ensuite, après avoir défini les exigences
fonctionnelles, nous allons présenter quelques méthodes d'analyse
et de conception afin de choisir la mieux adaptée. Enfin, la
dernière partie consistera à expliciter les différentes
phases de l'implémentation de notre plateforme.
CHAPITRE I
Présentation du sujet
I.1 Présentation du lieu de stage (Laboratoire
LIMBI)
Le Laboratoire d'Imagerie Médicale et de Bio
informatique de l'ESP est né d'un partenariat entre informaticiens et
biologistes. Il développe aujourd'hui des travaux fondamentaux et
appliqués dans un large spectre de l'informatique, en traitement
d'images et en Bioinformatique.
I.2 Présentation du sujet
I.2.1 Qu'est ce que le commerce électronique ou
« E-Commerce » ?
Le commerce électronique est la
faculté de vendre par le biais du réseau Internet des biens
matériels ou immatériels. Ce mode de distribution ne laisse
personne indifférent. Sur un site de commerce électronique, on
trouve des informations sur les produits ou la société, mais
également la possibilité de prise de commande automatique, le
paiement en ligne sécurisé, la présence d'outils marketing
d'analyse du profil consommateur et même quelques fois la livraison du
produit en ligne comme pour les logiciels en téléchargement.
La nécessité de prendre en compte le nouvel
environnement économique conduit les entreprises à accéder
au commerce électronique.
Le commerce électronique ne se limite pas au seul
réseau Internet. Dans le cadre du commerce interentreprises, on utilise
depuis de nombreuses années des réseaux de type EDI ( Electronic
Data Interchange). Des transactions électroniques se réalisent
également sur les réseaux téléphoniques mobiles. On
parle de m-commerce (mobile commerce).
9
Mise en place d'une plateforme de commerce électronique
avec l'outil d'oracle (Oracle Application Express)
On distingue ainsi :
> Le commerce électronique entre entreprises
appelé B2B (Business to Business).
> Le commerce électronique à destination des
particuliers ou B2C (Business to Consumer), par exemple les sites web
marchands.
> Le commerce électronique entre particuliers ou C
(Consumer-to-Consumer). Il
s'agit de sites web permettant la vente entre particuliers par
exemple : EBay.
> L'échange électronique entre une entreprise
et ses employés appelé B2E (Business to
Employee).
> L'échange électronique entre les entreprises
privées et le gouvernement appelé B2G (Business To
Government).
I.2.2 Objectifs
Ce projet vise à :
> Mettre en place une plateforme de e-commerce.
> Exposer le catalogue des produits ou des services.
> Vendre les produits en ligne avec un système de
paiement sécurisé.
Notre plateforme de e-commerce sera du type B-to-C.
Le B-to-C, ou Business-to-Customer désigne les
activités commerciales ayant le consommateur individuel comme client.
Les centres commerciaux et indirectement les producteurs de biens de
consommation tels que les vêtements, la nourriture ou les
activités de loisirs, relèvent de cet univers.
I.2.3. Cibles et caractéristiques :
Le projet doit viser un public très large notamment : >
Les particuliers,
> Les professionnels,
> Les collectivités.
I.2.4 Description du contenu
Le site devra permettre de présenter les
éléments informationnels suivants :
> La présentation sur la page d'accueil des gammes de
produits,
> Les informations sur l'activité (coordonnées
de l'entreprise, conditions générales de
ventes, conditions de retour, etc....les contenus de base
(textes, images, photos)
De plus grâce à un moteur de recherche rapide, des
informations peuvent être obtenues selon des critères de recherche
bien définis.
11
Mise en place d'une plateforme de commerce électronique
avec l'outil d'oracle (Oracle Application Express)
CHAPITRE II
Spécification détaillée des
exigences
II.1 Principales
fonctionnalités
II.1.1 Fonctionnalités en front office
Le site doit permettre d'accéder aux
fonctionnalités suivantes :
> La gestion de l'espace client
o Inscription du client.
o Système d'authentification des clients par login et mot
de passe.
o Paiements et transactions sécurisés
o Gestion des commandes
o Téléchargement de fichiers (PDF) : le visiteur
aura la possibilité de télécharger les plaquettes, les
bons de commandes, les devis, les factures, etc.
> La gestion du catalogue des produits.
o Affichage de l'ensemble des caractéristiques de chaque
produit dans une organisation homogène.
o Tri des produits pour chaque catégorie par prix
(croissant - décroissant). o Affichage des meilleures ventes.
II.1.2 Fonctionnalités back office
L'administration du site est accessible par un login et un mot de
passe attribué à une personne physique. Il pourra ainsi assurer
:
> La gestion des utilisateurs :
o Ajout / modification / suppression des profils (administrateurs
/ utilisateurs). > La gestion du contenu visuel :
o Ajout / modification / suppression de rubriques, contenus
(images /texte). o Gestion des styles graphiques
> La gestion du contenu informationnel :
o Ajout / modification / suppression des actualités
(activation / désactivation). > La gestion du catalogue
:
o Ajout / Modification / Suppression des fiches produits.
o Modification de l'ordre d'affichage des articles. >
La gestion des stocks :
o Ajout / modification / suppression des quantités
disponibles par produit.
o Ajout / modification / suppression des catégories des
produits
o Illustration des produits par plusieurs photos.
o Génération automatique d'un catalogue de produits
imprimable au format HTML et PDF.
> La gestion des commandes :
o Ajout / Modification / Suppression d'une commande. o Gestion
des factures et des bons de livraison.
o Édition des factures et des bons de livraison au format
HTML et PDF.
o Gestion des bons de réduction.
> La gestion des fonctionnalités
o Gestion des accès aux statistiques.
o Statistiques sous forme de rapport des ventes o Statistiques
des produits commandés,
o Statistiques sur la marge totale générée
par les ventes. o Statistiques sur les ventes mensuelles.
II.2 Gestion de la sécurité de la
plateforme
L'interface doit être accessible par un navigateur
internet. Il est ainsi important de définir des profils et leurs
droits.
L'utilisateur client possède un login et un mot de passe
personnel. Il lui sera possible d'accéder à son espace client et
d'effectuer des commandes.
II.2.1 Confidentialité
Il s'agit tout d'abord d'interdire l'accès en lecture et
en écriture aux informations considérées comme
privées à chaque utilisateur.
Un autre aspect concerne la confidentialité des
transmissions, qui devront être cryptées pour tous les services
où l'utilisateur est identifié.
Les fichiers de données personnelles (clients, commandes
et abonnements) sont cryptés afin
13
Mise en place d'une plateforme de commerce électronique
avec l'outil d'oracle (Oracle Application Express)
d'assurer la tranquillité des visiteurs.
Le client est redirigé vers le serveur du service de
paiement qui confirme le succès ou l'échec du règlement de
la commande, à aucun moment les coordonnées des transactions des
clients ne doivent être divulguées.
II.2.2 Droits d'accès
L'accès sera contrôlé selon le profil
d'utilisateur. Pour chaque type d'information, les droits d'accès
(lecture, écriture) devront être déterminés par la
catégorie et par l'identité de l'utilisateur.
II.2.3 Authentification
Le site devra procéder à une authentification
sécurisée des utilisateurs afin d'assurer la
traçabilité de leurs actions, ainsi que l'intégrité
et la non-falsification des informations.
Toutes les pages intégrant un formulaire de saisie
d'identifiant et de mot de passe pour les accès privés seront
sécurisées. Les échanges de données sensibles avec
le serveur seront cryptés.
II.3 Maintenance et Mise à jour
Les mises à jour se font directement à partir de
l'interface d'Apex.
La maintenance attendue doit permettre d'assurer : > le bon
fonctionnement du site,
> la mise à jour des liens externes rompus, > la
mise à jour des rubriques,
> la mise à jour de la base de données,
> la mise à jour du système de paiement en
ligne, > la mise à jour des dispositifs de sécurité,
> la sauvegarde des données,
> la mise à jour des fonctionnalités
II.3.1 Accompagnement
Le produit livrable devrait être accompagné par :
· le support technique,
· la fourniture d'un guide d'utilisation,
· l'installation et la configuration de l'outil,
· l'installation du paiement sécurisé du
(des) service(s) choisi(s).
15
Mise en place d'une plateforme de commerce électronique
avec l'outil d'oracle (Oracle Application Express)
CHAPITRE III
Analyse et conception de la plateforme
III.1. Pourquoi utiliser une méthode ?
Malgré la complexité des systèmes
d'information, les temps de développement n'en sont pas pour autant
extensibles. Il faut, dès lors, privilégier l'approche
métier, associer utilisateurs et informaticiens, optimiser les
ressources et la technologie pour garantir délais et budget.
Les méthodes répondent à ces exigences et
permettent la construction d'application fonctionnellement et techniquement
conformes aux attentes des divers intervenants du projet.
Le succès d'un projet dépend désormais de
deux facteurs essentiels : l'implication des utilisateurs et la méthode
garantissant la réussite du projet tout autant que la qualité de
l'application.
III.2. Exemple de méthodes
III.2.1 Merise
La méthode Merise d'analyse et de conception propose
une démarche articulée simultanément selon 3 axes pour
hiérarchiser les préoccupations et les questions auxquelles
répondre lors de la conduite d'un projet :
- Cycle de vie : phases de conception, de
réalisation, de maintenance puis nouveau cycle de projet.
- Cycle de décision : des grands
choix, la définition du projet jusqu'aux petites décisions des
détails de la réalisation et de la mise en oeuvre du
système d'information. Chaque étape est documentée et
marquée par une prise de décision.
- Cycle d'abstraction : niveaux conceptuels,
logique/organisationnel et physique/opérationnel (du plus abstrait au
plus concret) L'objectif du cycle d'abstraction est de prendre d'abord les
grandes décisions métier, pour les principales activités
(Conceptuel) sans rentrer dans le détail de questions d'ordre
organisationnel ou technique.
III.2.2. UML
UML n'est pas une méthode, ces auteurs ont en effet
estimé qu'il n'était pas opportun de définir une
méthode en raison de la diversité des cas particuliers. Ils ont
préféré se borner à définir un langage
graphique qui permet de représenter et de communiquer les divers aspects
d'un système d'information. Aux graphiques sont bien sur associés
des textes qui expliquent leur contenu.
UML 2.0 comporte treize types de diagramme regroupés en
diagrammes structurels ou statiques, diagrammes comportementaux et diagrammes
d'interaction ou dynamiques.
III.3. Choix d'une méthode d'analyse et de
conception
Afin de réaliser un bon système, une
étude et une conception normalisée selon la norme de
modélisation universellement reconnue polyvalente et performante,
l'utilisation d'UML s'avère nécessaire.
Dans notre démarche, pour la réalisation du
système du projet, nous retenons les étapes suivantes :
- détermination des acteurs potentiels du système -
description des cas d'utilisation fondamentaux
- les diagrammes de séquence
- le diagramme de classe de conception
- le diagramme de classe de conception de la
généralisation
17
Mise en place d'une plateforme de commerce électronique
avec l'outil d'oracle (Oracle Application Express)
III.4 Analyse du Système
III.4.1 Description des cas d'utilisation fondamentaux
Figure III.4.1 : Diagramme des cas
d'utilisation
La description qu'on va élaborer est structurée
comme suit : > Titre du cas d'utilisation.
> Pré conditions.
> Acteurs
> Scénario nominal.
> Exceptions.
> Post conditions.
III.4.1.1 Cas d'utilisation: « S'authentifier
»
Pré condition:
L'utilisateur saisit ses droits d'accès (login et mot de
passe)
Acteurs:
Tous les acteurs.
Scénario nominal :
Identification
L'utilisateur saisit ses droits d'accès.
Le système vérifie si les champs ne sont pas vides,
si erreur alors Exception1. Il vérifie ensuite si les informations sont
valides, si erreur alors Exception2. Le système redirige l'acteur vers
son espace selon son rôle.
Inscription
L'utilisateur introduit les informations demandées dans le
formulaire et valide son inscription.
Le système vérifie si les champs obligatoires sont
renseignés. Si erreur alors
exécuter Exception3.
Le système vérifie si les informations sont
valides, si erreur alors Exception4. Il vérifie si le pseudo et l'email
existent ou pas, si oui alors Exception5.
Exceptions :
Exception1 : message d'erreur « Un
champ est vide ». L'acteur s'authentifie une 2ème fois.
Exception2 : message d'erreur «
login et mot de passe doivent avoir au moins 6 caractères ».
L'utilisateur s'authentifie une 2ème fois.
Exception3 : un message d'erreur
contenant : « Un champ obligatoire est vide ». L'acteur doit remplir
les champs obligatoires.
Exception4 : message d'erreur «
login et mot de passe doivent avoir au moins 6 caractères ».
L'acteur doit revérifier les champs.
19
Mise en place d'une plateforme de commerce électronique
avec l'outil d'oracle (Oracle Application Express)
Exception5 : un message d'erreur
contenant : ou bien c'est un champ qui est vide, ou bien le nom existe
déjà. L'utilisateur est invité à corriger son
erreur et revalider.
Post condition :
Ouverture de l'espace client
III.4.1.2. Cas d'utilisation: « Maintenir
catalogue»
Acteurs:
Administrateur du système
Pré condition:
L'acteur doit s'authentifié.
Scénario nominal:
Ajouter un produit au catalogue
L'acteur remplit les champs du formulaire.
Le système vérifie si un champ est vide, invalide
ou produit existant, si erreur alorsException1.
Il valide l'ajout du nouveau produit.
Modifier un produit
L'acteur sélectionne le produit qu'il veut modifier.
Il met à jour les informations concernées par la
modification et valide, si erreur alors Exception1.
Lister des produits
Le système lui affiche la liste des produits appartenant
à cette catégorie. Supprimer un produit
L'acteur choisi le produit qu'il veut supprimer.
Exceptions:
Exception1: un message d'erreur
apparaît relatif à l'erreur rencontrée.
Post conditions:
Catalogue mis à jour.
Mise à jour de la base de données.
III.4.1.3. Cas d'utilisation: « Rechercher
produits»
Acteurs:
Administrateur du système, Client, Internaute
Pré condition:
Aucune.
Scénario nominal:
Rechercher un produit
L'acteur remplit le champ de recherche et valide.
Le système vérifie si un champ est vide, invalide,
si erreur alors Exception1.
Exceptions:
Exception1: un message d'erreur
apparaît relatif à l'erreur rencontrée. Post
conditions:
Produit trouvé.
Affichage détails produit
III.4.1.4. Cas d'utilisation: « Effectuer
commande»
Acteurs :
Client
Pré condition:
L'acteur doit s'authentifié.
Scénario nominal:
Ajouter des produits au panier
L'acteur choisit les produits constituant sa commande
Le système vérifie la disponibilité du
produit si erreur alors Exception1. Il valide son panier
Il choisit la méthode de paiement
Il valide sa commande
21
Mise en place d'une plateforme de commerce électronique
avec l'outil d'oracle (Oracle Application Express)
Modifier une commande
L'acteur sélectionne les champs de la commande qu'il veut
modifier.
Il met à jour les informations concernées par la
modification et valide, si erreur alors Exception1.
Lister les commandes
Le système lui affiche la liste des commandes.
Exceptions:
Exception1: Un message d'erreur
apparaît relatif à l'erreur rencontrée.
Post conditions:
Commande effectuée avec succès. Mise à
jour de la base de données.
III.4.1.5. Cas d'utilisation: « Gérer son
panier»
Acteurs:
Client, Internaute
Pré condition:
Aucune
Scénario nominal:
L'internaute enregistre les produits qui l'intéressent
dans un panier virtuel (voir le cas d'utilisation
Rechercher un produit
L'internaute demande l'accès à son panier
Le système affiche l'état de son panier
L'internaute valide son panier pour demander à effectuer
une commande (voir cas d'utilisation « Effectuer une commande »)
Exceptions:
Exception1: Un message d'erreur
apparaît relatif à l'erreur rencontrée
Post conditions:
Aucune
III.4.2 Les Diagrammes de séquence
A partir du diagramme de cas d'utilisation et de la description
des cas d'utilisation fondamentaux, nous obtenons les diagrammes de
séquence suivants :
III.4.2.1 Diagramme de séquence « Maintenir
le catalogue »
Figure III.4.2.1 : Diagramme de séquence «
Maintenir Catalogue »
23
Mise en place d'une plateforme de commerce électronique
avec l'outil d'oracle (Oracle Application Express)
III.4.2.2 Diagramme de séquence «
Rechercher produits»
Figure III.4.2.2 : Diagramme de séquence
«Rechercher produit »
III.4.2.3 Diagramme de séquence «Effectuer
commande »
Figure III.4.2.3 : Diagramme de séquence
« Effectuer Commande »
25
Mise en place d'une plateforme de commerce électronique
avec l'outil d'oracle (Oracle Application Express)
III.4.2.4 Diagramme de séquence
«Gérer son panier»
Figure III.4.2.4 : Diagramme de séquence
« Gérer panier »
III.5 Conception de la plateforme
III.5.1 Le Diagramme de classes de conception
Le diagramme de classe est le point central de la
modélisation du système pour exprimer sa structure
statique.
Figure III.5.1 : Diagramme de classes de
conception
III.5.2 Diagramme de Classes de la
généralisation
Dans le souci de permettre à notre
plateforme de cohabiter, de communique r et de partager les
mêmes classes avec d'autres applications, nous avons
procédé à une généralisation des classes
présentes dans notre diagramme de classe de
conception. Cette généralisation consiste à
regrouper les donnée s pouvant avoir le même
comportement dans une même classe. Ainsi, dans
notre cas, les classes « Fournisseur », «
Client » et
« Expéditeur » sont
généralisées dans la classe « Acteur
» du diagramme de classes de la
généralisation. La classe « Acte »
généralise la classe « Commande ». La
facturation et l'expédition aussi s'y
retrouvent. La classe pro duit du diagramme de classe
de la généralisation permet de
représenter tout type de produits et services qui pourront
être proposés dans notre application et dans les
autres (E-Learning, Mutuelle d'habitat, Micro
27
Mise en place d'une plateforme de commerce
électronique avec l'outil d'oracle (Oracle Application
Express)
finance). Etant donné qu'on a
généralisé, il est important de savoir distinguer les
classes et les type de données qui y sont stockées ; d'où
la nécessité d'introduire la classe
« ListeDeValeur » qui contiendra toutes les listes de
valeurs des différentes classes de notre diagramme
généralisé.
Figure III.5.2 : Diagramme de classes de la
généralisation
III.5.2 .1 Description des tables de la
généralisation
III.5.2.1.1 Table « Produits »
Table contenant toutes les informations relatives aux
différents produits proposés.
Attributs
|
Type
|
Description
|
IdProduit
|
Int
|
Il s'agit de l'identifiant du produit. Il est
unique et s'auto-incrémente à chaque nouvelle
insertion
|
|
Libelle
|
Varchar(100)
|
Nom du produit
|
Catégorie
|
Varchar(100)
|
Catégorie a laquelle le produit appartient
|
Prix
|
Int
|
Prix du produit
|
Description
|
Varchar(100)
|
Description brève du produit
|
Image
|
Varchar(100)
|
Image/Photo du produit
|
QuantiteStock
|
Boolean
|
Quantité en stock du produit
|
Taille
|
Int
|
Taille de l'objet
|
Couleur
|
Varchar(100)
|
La couleur
|
Marque
|
Varchar(100)
|
Marque s'il s'agit de produits de marque
|
DateCreation
|
Date
|
Date à laquelle on a créé le produit
|
DateDebut
|
Date
|
Date de début de validité
|
DateFin
|
Date
|
Date de fin de validité
|
IdCreateur
|
Int
|
L'acteur qui a crée le produit
|
NumeroApplication
|
Int
|
Numéro de l'application Concernée
|
29
Mise en place d'une plateforme de commerce électronique
avec l'outil d'oracle (Oracle Application Express)
Numéro Module
|
Int
|
Module de l'application
|
PaysDuclient
|
Varchar(100)
|
Pays du client
|
VilleDuClient
|
Varchar(100)
|
Ville du client
|
NumeroClient
|
Int
|
Numéro du client
|
Figure III.5.2.1.1 : Description de la table «
Produits »
III.5.2.1.2 Table « Acteur »
Elle regroupe les données de tous les types d'acteur
pouvant interagir avec notre système.
Attributs
|
Type
|
Description
|
|
|
|
IdActeur
|
Int
|
Identifiant unique de l'acteur
|
|
Nom
|
Varchar(50)
|
Nom de l'acteur
|
Prenom
|
Varchar(50)
|
Prénom de l'acteur
|
TelephoneFixe
|
Varchar(100)
|
Téléphone fixe
|
TelephoneMobile
|
Varchar(100)
|
Son Téléphone Mobil
|
Email
|
Varchar(100)
|
Adresse Mail de l'acteur
|
Pseudo
|
Varchar(100)
|
Pseudonyme pour la
connexion
|
Password
|
Varchar(100)
|
Mot de passe pour la
connexion
|
SiteWeb
|
Varchar(100)
|
Site web
|
|
Varchar(100)
|
Image/Photo de l'acteur
|
Image
|
|
|
TypeActeur
|
Varchar(100)
|
Type d'acteur (Client,
Admin,...)
|
Organisation
|
Varchar(100)
|
Organisation a laquelle il
appartient
|
Pays
|
Varchar(100)
|
Pays de résidence
|
Ville
|
Varchar(100)
|
Ville
|
CodePostal
|
Varchar(100)
|
Code postal
|
Adresse1
|
Varchar(100)
|
Adresse domicile
|
Adresse2
|
Varchar(100)
|
Autre adresse
|
DateEnregistrement
|
Date
|
Date d'inscription
|
Fax
|
Varchar(100)
|
Son Fax
|
DateDeNaissance
|
Int
|
Date de naissance de l'acteur
|
Sexe
|
Varchar(100)
|
Sexe de l'acteur
|
IdCreateur
|
Int
|
Identifiant du créateur d
l'acteur
|
NumeroApplication
|
Int
|
Numéro de l'application Concernée
|
Numéro Module
|
Int
|
Module de l'application
|
PaysDuclient
|
Varchar(100)
|
Pays du client
|
VilleDuClient
|
Varchar(100)
|
Ville du client
|
NumeroClient
|
Int
|
Numéro du client
|
31
Mise en place d'une plateforme de commerce électronique
avec l'outil d'oracle (Oracle Application Express)
Figure III.5.2.1.2 : Description de la table «
Acteur »
III.5.2.1.3 Table « ActeurActe »
Attributs
|
Type
|
Description
|
|
|
|
IdActeur#
|
Int
|
Identifiant unique de la liste de valeurs
|
|
idActe#
|
Varchar(100)
|
Type de la liste de valeur
|
|
NumeroApplication
|
Int
|
Numéro de l'application Concernée
|
Numéro Module
|
Int
|
Module de l'application
|
PaysDuclient
|
Varchar(100)
|
Pays du client
|
VilleDuClient
|
Varchar(100)
|
Ville du client
|
NumeroClient
|
Int
|
Numéro du client
|
Figure III.5.2.1.3 : Description de la table «
ActeurActe »
III.5.2.1.4 Table « ProduitsActe »
Table contenant les informations concernant un produit et l'acte
qui fait intervenir ce produit.
Attributs
|
Type
|
Description
|
|
|
|
Id
|
Int
|
Il s'agit de l'identifiant. Il est unique et
s'auto-incrémente à chaque nouvelle insertion
|
|
IdActe#
|
Int
|
Identifiant de l'acte. C'est
une clé étrangère.
|
|
Idproduit#
|
Int
|
Il s'agit de l'identifiant du
produit. C'est une clé étrange
|
|
Quantite
|
Int
|
Quantité en jeu
|
Montant
|
Int
|
Montant total
|
PrixUnitaire
|
Int
|
Prix d'un produit.
|
Taxe
|
Int
|
Taxe s'il y en a.
|
Remise
|
Int
|
Remise s'il y en a.
|
NumeroApplication
|
Int
|
Numéro de l'application Concernée
|
Numéro Module
|
Int
|
Module de l'application
|
PaysDuclient
|
Varchar(100)
|
Pays du client
|
VilleDuClient
|
Varchar(100)
|
Ville du client
|
NumeroClient
|
Int
|
Numéro du client
|
Figure III.5.2.1.3 : Description de la table «
ActeurActe »
III.5.2.1.5 Table « Acte » Contient les
données de tous les types d'actes.
Attributs
|
Type
|
Description
|
|
|
|
IdActe
|
Int
|
Identifiant unique de l'acte
|
|
TypeActe
|
Varchar(100)
|
Type de l'acte (paiement,
commande etc....)
|
Référence
|
Varchar(100)
|
Référence de l'acte
|
33
Mise en place d'une plateforme de commerce électronique
avec l'outil d'oracle (Oracle Application Express)
DateActe
|
Date
|
Date à laquelle l'acte a été
effectué
|
Taxe
|
Int
|
Taxe s'il y en a
|
DureeRequise
|
Date
|
Durée requise pour l'exécution de l'acte
|
Adresse
|
Varchar(100)
|
Adresse de l'acte
|
Montant
|
Int
|
Montant total de l'acte
|
IdCreateur
|
Int
|
Identifiant du créateur de
l'acte. Clé étrangère
|
NumeroApplication
|
Int
|
Numéro de l'application concernée
|
Numéro Module
|
Int
|
Module de l'application
|
PaysDuclient
|
Varchar(100)
|
Pays du client
|
VilleDuClient
|
Varchar(100)
|
Ville du client
|
NumeroClient
|
Int
|
Numéro du client
|
Figure III.5.2.1.4 : Description de la table «
Acte »
III.5.2.1.6 Table « Règlement »
Concerne le règlement ou paiement d'un type d'acte
donné.
Attributs
|
Type
|
Description
|
|
|
|
|
|
IdReglement
|
Int
|
Identifiant règlement
|
unique
|
du
|
|
IdActe#
|
Int
|
Identifiant étrangère
|
de l'acte.
|
Clé
|
|
TypePaiement
|
Varchar(100)
|
Il s'agit du type de paiement
|
ModePaiement
|
Varchar(100)
|
Il s'agit du mode de
paiement
|
EtatPaiement
|
Varchar(100)
|
Etat du paiement
|
DatePaiement
|
Date
|
Date à laquelle le paiement a été
effectué.
|
Montant
|
Int
|
Montant du paiement
|
NumeroApplication
|
Int
|
Numéro de l'application Concernée
|
Numéro Module
|
Int
|
Module de l'application
|
PaysDuclient
|
Varchar(100)
|
Pays du client
|
VilleDuClient
|
Varchar(100)
|
Ville du client
|
NumeroClient
|
Int
|
Numéro du client
|
Figure III.5.2.1.5 : Description de la table «
Règlement »
III.5.2.1.7 Table « ListeDeValeurs »
Contient comme son nom l'indique, les listes de valeurs.
Attributs
|
Type
|
Description
|
|
|
|
Id
|
Int
|
Identifiant unique de la liste de valeurs
|
Type
|
Varchar(100)
|
Type de la liste de valeur
|
Nom
|
Varchar(100)
|
Nom de la liste
|
|
Int
|
Valeur
|
35
Mise en place d'une plateforme de commerce électronique
avec l'outil d'oracle (Oracle Application Express)
Valeur
|
|
|
Infos
|
Varchar(100)
|
Informations relatives à la
liste de valeur
|
NumeroApplication
|
Int
|
Numéro de l'application Concernée
|
Numéro Module
|
Int
|
Module de l'application
|
PaysDuclient
|
Varchar(100)
|
Pays du client
|
VilleDuClient
|
Varchar(100)
|
Ville du client
|
NumeroClient
|
Int
|
Numéro du client
|
Figure III.5.2.1.6 : Description de la table «
ListeDeValeurs » III.6 Présentation de « Oracle
Application Express »
La méthode RAD (Développement Rapide
d'Applications) est la première méthode de conception de
logiciels ou le cycle de développement est en rupture fondamentale avec
le cycle de développement antérieur. Cette méthode
recommande l'utilisation d'outils de programmation qui permettent d'obtenir
rapidement des prototypes. Il existe plusieurs outils de développement
rapides comme Windev de Windows , Leonardi et Apex d'oracle .
Le choix d'Oracle Application Express se justifie par le fait
qu'il est l'outil de développement rapide d'un SGBD puissant qu'est
Oracle.
III.6.1 Définition
Oracle Application Express ou Apex est un outil de
développement rapide d'application Web centré base de
données. C'est l'unique outil de développement rapide pour
Oracle. Il est entièrement basé navigateur (développement,
déploiement, utilisation).Apex permet la conception déclarative
d'applications Web 2.0 à la fois performantes et
sécurisées. Il exploite pleinement les capacités d'Oracle
Database et les compétences en SQL & PL/SQL.
III.6.1.2 Architecture
Apex se compose d'un référentiel de
métadonnées qui stock les définitions de l'application et
d'un moteur qui génère le processus des pages. Ce moteur est
constitué de données dans des tables et d'une grande
quantité de code PL/SQL (environ 300 tables et 200 objets PL/SQL
contenant plus de 300 000 lignes de code). Créer ou étendre une
application n'implique pas d'écrire du code. En fait, des
métadonnées sont créées ou modifiées puis
stockées dans les tables de la base de données. Les applications
sont rendues en temps réel depuis le référentiel de
métadonnées stocké dans ces tables. Le moteur
d'Application Express est implémenté en PL/SQL et est accessible
depuis un simple navigateur Web à travers l'Oracle HTTP Server (Apache)
et le module mod_plsql.
Figure 6.1.2 : Architecture d'oracle Application
Express
III.6.1.3 Les composants
L'outil de développement n'est pas une fin en soi, sa
valeur ajoutée doit résider dans la réponse qu'il apporte
aux problèmes de l'entreprise.
Les principaux points forts d'Apex sont les suivants :
37
Mise en place d'une plateforme de commerce électronique
avec l'outil d'oracle (Oracle Application Express)
> la conception rapide et à faible coût
des applications puissantes et sécurisées,
> la maintenance rapide grâce au mode
déclaratif de l'outil,
> la prise en compte immédiate des
modifications,
>
Tout composant développé est
immédiatement disponible pour être réutilisé dans
une autre application.
Application Express
fournit au développeur un ensemble de composants
que l'on peut classer en plusieurs catégories :
> Une interface graphique,
> Un accès aux données,
> Une logique applicative,
> La sécurité.
III.7 Conception de la plateforme de commerce
électronique avec Apex
Après l'installation, pour
commencer l`utilisation de l'outil il est
bien sûr nécessaire de se loguer en
précisant son nom d'utilisateur, le nom de son
espace de travail et son mot de passe :
comme le montre la figure suivante
III.7.1 Création
des tables généralisées
Exemple de la table « ListeDeValeur »
etapes
Les captures d'ecran suivantes illustrent les de la
creation de la table
« ListeDeValeur ».
Etape1 : A la page d'accueil allez dans
Home->SqlWorkshop->Object Browser.
Cliquer sur create pour créer une table
Etape2 :Renseigner les champs puis
valider
39
Mise en place d'une plateforme de commerce
électronique avec l'outil d'oracle (Oracle Application
Express)
Etape3 : Valider et
créer la table.
41
Mise en place d'une plateforme de commerce
électronique avec l'outil d'oracle (Oracle Application
Express)
III.7.2 Création
de l'application à partir d'une application exemple
Etape1 : Aller dans
Home->Application Builder->Create Application
Etape3 : Choisir
l'application exemple puis valider
III.7.3 Création d'une page
« Gestion des utilisateurs » Exemple de
la page
Etape1 : Aller dans
Home->Application builder->Nom de
l'application->Create page
43
Mise en place d'une plateforme de commerce
électronique avec l'outil d'oracle (Oracle Application
Express)
Etape 2 : Suivre les instructions puis choisir
les champs sur lesquels on veut agir.
Etape3 : Une fois la page
créée on pourra soit la lance ou bien
l'éditer.
45
Mise en place d'une plateforme de commerce
électronique avec l'outil d'oracle (Oracle Application
Express)
PITRE IV
Implémentation de la solution
IV.1 Architecture
L'architecture générale
de notre application suis la même
que celle d'une application apex
normale comme le montre le schéma
ci-dessous :
Figure IV.1 : Architecture générale de
notre application
47
Mise en place d'une plateforme de commerce
électronique avec l'outil d'oracle (Oracle Application
Express)
IV.2 Diagramme de déploiement
Le diagramme de déploiement montre la disposition
physique des matériels et la répartition Notre diagramme
de déploiement
des composants sur ces matériels. est basé
sur ce modèle.
Figure IV.2 : Diagramme de déploiement de la
plateforme
IV.3 Sécurité de la plateforme
L'aspect sécuritaire est essentiel pour toute
application web et doit être traitée avec la plus grande
discrétion. P
our nous, il s'agit de sécuriser l'accès
à l'application à travers les et d'assurer
mécanismes d'authentification la
confidentialité et l'intégrité des
données.
L'accès à l'application passe par
l'étape d'authentification. Les informations nécessaires
(lo
gin, mot de passe) sont stockées dans la base
de données Oracle en prenant soins de crypter les mots
de passe. Des vérifications ont lieu pour voir si les informations
fournies sont conformes à celle de la base.
L'accès est autorisé, au cas échéant il est
refusé.
Notre application est accessible au réseau local,
des échanges d'information ont souvent lieu entre le
système et ses différents acteur du même
réseau.
Toujours pour sécuriser
l'accès, et pour éviter l'abus de confiance ou
l'usurpation des droits d'accès, oracle Express
gère cela, en donnant pour chaque utilisateur l'accès aux
données selon ces droits.
IV.4 Présentation de l'application
La présentation de notre application se fera
à travers le cas d'utilisation
« EffectuerCommande ».
présente comme sur la figure suivante
:
> La page d'accueil de la plateforme se
49
Mise en place d'une plateforme de commerce
électronique avec l'outil d'oracle (Oracle Application
Express)
> Pour accéder à son espace client, l'
utilisateur renseigne son nom d'utilisateur et son mot de
passe. Il a aussi la possibilité de s'inscrire et de
récupérer son mot de passe s 'il l'a
oublié.
L'utilisateur choisi ses produits et les ajoute au
panier.
> L'utilisateur valide son panier et passe au
paiement
51
Mise en place d'une plateforme de commerce
électronique avec l'outil d'oracle (Oracle Application
Express)
CONCLUSION ET PERSPECTIVES
Le projet que nous avons réalisé a
consisté en la conception et la réalisation d'une plateforme de
commerce électronique avec l'outil Apex d'oracle répondant aux
besoins du client.
Nous avons toutefois réalisé une plateforme
composée de plusieurs modules contenant les fonctionnalités
nécessaires pour le bon déroulement des différentes
gestions côté client (panier, commande, profils, paiement,
livraison...) et côté administrateur (administration, produits,
catalogue, marque, stock, fournisseur...). Bien que nous aillons mis en place
une plateforme sécurisée, nous sommes conscient que des
améliorations restent à faire dans ce domaine.
Pour la conception nous avons fait en sorte que nos composants
puissent être réutilisés dans d'autres systèmes et
qu'on puisse facilement faire l'intégration de nouveaux modules ou
composants grâce à la généralisation de nos classes.
Pour le développement, nous avons choisi Apex pour son
évolutivité, son SGBD oracle, sa fiabilité et surtout sa
sécurité.
Perspectives :
Pour que notre travail puisse être une contribution au
développement du concept e-commerce en Afrique et dans le monde, nous
jugeons nécessaire d'améliorer notre plateforme en y ajoutant de
nouvelles fonctionnalités à savoir :
- La cartographie des clients selon une zone géographique
donnée c'est-à-dire du GeoMarketing avec l'intégration de
Google maps ; Ce qui nous permettra de mieux cibler nos clients.
- L'amélioration de la sécurité du paiement
en adoptant 3DSecure qui
est un système permettant de s'assurer, lors de chaque
paiement en ligne, que la carte est bien utilisée par son titulaire.
53
Mise en place d'une plateforme de commerce électronique
avec l'outil d'oracle (Oracle Application Express)
Bibliographie
Bibliographie
> Créer un site e-commerce 4e édition, Auteurs :
Delphine
Bouton, Sandrine Houst, François Houst,
Raphaëlle Roux, Collection : LeCampus
Wébographie
> Documentation sur Oracle APEX
http://download.oracle.com/docs/cd/E10513
01/welcome.html
> Documentation Oracle APEX,
http://apex.oracle.com/i/index.html
> Plugin Apex, http://www.apex-plugin.com/
> Documentation Apex
http://www.oracle.com/technetwork/developertools/apex/overview/index.html
Index
X
XML 31
A
APEX 49,50
B
B2E 46
B2C
B2B
C
C 14
E
ESP 9
H
HTML 49
M
Mersie 19
O
Oracle 27
P
PL/SQL 32
R
RAD 20, 43
S
SGBD 44
SQL 13
U
UML 17
55
Mise en place d'une plateforme de commerce électronique
avec l'outil d'oracle (Oracle Application Express)
Annexes
>
Page d'accueil de l'administrateur de la
plateforme
> Page d'administration des utilisateurs
> Affichage du catalogue coté
administrateur (Modifier, Ajouter,Supprimer des
produits)
> Statistique des meilleures ventes par
catégorie.
> Code PL/SQL permettant d'afficher les
détails de la commande d'un client .
begin
for x in (select prenom, nom, address1,
address2,Pays,CodePostale from acteur, acte where acteur.idacteur
= acte.idacteur and acte.idacte =
:P14_ORDER_ID)
loop
htp.p('<span
style="font-size:16px;font-weight:bold;"> Panier' ||
v('P14_ORDER_ID') || ' Detail</span><br />');
htp.p(htf.escape_sc(x.nom) || ' ' ||
htf.escape_sc(x.prenom) || '<br />');
htp.p(htf.escape_sc(x. address1) || '<br
/>');
if x. address2 is not null then
htp.p(htf.escape_sc(x.address2) || '<br
/>');
end if;
htp.p(htf.escape_sc(x. ville) || ', ' || x.pays
|| ' ' || htf.escape_sc(x. codepostale) || '<br /><br
/>');
end loop;
end;
57
Mise en place d'une plateforme de commerce
électronique avec l'outil d'oracle (Oracle Application
Express)
|