Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
Application web
Boutique en ligne
1
SOMMAIRE
I. Introduction p.04
III. Conception
IV. Développement
V. Conclusion p.43
2
Application web
Boutique Moroccoshop
3
Introduction
A travers ce mémoire, je vous présente un projet E-commerce. Une application de boutique en ligne
qui utilise la technologie Java EE et Spring Boot. C’est un projet pour lequel j’ai défini les objectifs
suivants :
Produire un back-office que se veut de gérer une base de données d’une boutique en
ligne via une interface intuitive,
produire un Front-End,
Ce mémoire que je vous expose, s’échelonnera sur trois parties. Dans un premier temps, je ferai
une présentation du projet en passant par les technologies choisis et l’étude du besoin. Vient la
phase de conception et réalisation du projet où là, je présenterai mes différentes productions. Enfin,
j’aborderai en conclusion mon expérience de ce stage.
4
Présentation
Entreprise
Description du projet
Le projet consiste à développer un projet de commerce en ligne ayant une partie Back-office
pour l’administration du site et une partie Front-end pour le client.
Le Back-End comprend :
Un Serveur web
Pour développer une telle application, un choix des technologies à utiliser doit se faire. Tanto
pour la conception tanto pour la réalisation, mes choix ont été les suivants :
5
L’IHM (Interface Homme Machine) a été faite en html5, CSS, javaScript et Bootstrap.
Comme Framework côté serveur, j’ai utilisé Spring boot pour principalement spring MVC
et spring data.
Pour la couche persistance des données, j’ai choisi JPA avec une implémentation Hiber-
nate, le module Spring data de Spring Boot et Sql Server pour la base de données.
6
Étude du besoin
Ma mission première est avant tout de conceptualiser l’application, travailler sur la partie Back-End
pour développer un back-office qui servira à gérer les produits en fonction des catégories. Le
back-office doit passer par une authentification.
7
Conception
8
Diagramme de classes
9
Persistance des données
L’API JDBC permet un accès simple et rapide à un grand nombre de bases de données. En
Java EE (Java Entreprise Edition), il y a une couche par abstraction au-dessus de JDBC appelée
JPA (Java Persistence API). De cette dernière, découlent plusieurs implémentations comme Eclips
Link, Hibernate ou encore Open JPA.
Dans ce projet, j’ai choisi d’utiliser Hibernate qui est un ORM (Objet Reationnal Mapping) pour le
langage de programmation Java.
Un ORM a pour objectif de faire le lien entre le monde de la base de données et le monde Objet.
Avec JPA, la description du mapping entre la classe et la table peut être faite en utilisant les anno-
tations ou un fichier XML de mapping.
Classes produit
10
Classes catégorie
11
Affichage de La base de donnée SQLSERVER MoroccoShop
12
Développement
Étude du besoin
Un Package DAO contenant les interfaces JPA pour l’accès aux données,
Afin de coder une bonne application, faciliter la mise à jour et son maintenance, il faut
absolument la répartir en plusieurs couches. J’ai coupé l’application en trois couches:
13
La Création du projet
J’ai installé le framwork spring boot et commencé par créer un projet Spring Starter Project
en utilisant l’outil de gestion de projet Apache Maven.
Maven est un outil de gestion de projet qui automatise certaines tâches et gère les dépendances vis
à vis des bibliothèques nécessaires au projet. Maven reconnaît un projet qu’il gère par trois para-
mètres : groupeID, artifactID et le numéro de version.
La création du projet par Maven m’a demandé de renseigner ces trois paramètres et de choisir les
dépendances pour le besoin de l’application. Les dépendances sont gérées dans un fichier xml
pom.xml. C’est dans ce dernier qu’on rajoute ou supprime une dépendance pour que maven met en
place la bibliothèque correspondante dans son repository.
Fichier pom.xml
14
Des configurations doivent être apporter pour le bon fonctionnement de l’application avec Spring
boot. Pour ce faire, J’ai ajouté des commandes au fichier application.properties. C’est dans ce der-
nier que se fait la configuration de spring boot où on répertorie la datasource, le numéro de port
etc...
L’application spring boot utilise un serveur tomcat embarqué qui est un conteneur web de servlets.
Fichier application.properties
j’ai créé un package nommé Entity. Ce package intègre différentes classes avec notamment
leurs attribues, un constructeur ainsi que les getters et les setters pour l’encapsulation. J’ai ensuite
utilisé Hibernate avec le jeux des annotations afin de rendre les classes persistantes.
15
Je vous expose un exemple de classes persistantes :
Classe produit
16
Classe Catégorie
17
Classe Adresse
18
Classe ligne de commande
19
Classe panier
20
La couche DAO
J’ai créé un package que j’ai nommé DAO. Ce dernier contient les interfaces qui héritent de
l’interface JPA Repository de SpringData. Cela va faciliter les échanges avec la base de données.
Une interface nommée “ProduitRepository” extends de JpaRepository<T, ID> avec pour T l’objet
concerné et ID comme type identifiaction choisi.
L’interface va hériter de toutes les méthodes de type CRUD. Mais on peut aussi ajouter des
méthodes personnalisées, par exemple, j’avais besoin de récupérer un produit par mot clé ou des
produits selectionnés etc.
21
Interface ProduitRepository
22
La couche métier
Cette couche va me permettre de mettre en évidence les fonctionnalités métiers. Elle per-
mettera aussi de séparer d’une façon claire le code métier du code technique.
23
La couche web
J’ai créé un package Web au sein duquel j’ai introduit deux classes. Afin d’indiquer à Spring
qu’une classe est un contrôleur, il faut ajouter l’annotation @controler. Un premier contrôleur con-
cerne la partie Back-office et un second la partie Internaute.
L’application respecte le design pattern MVC (modèle vue contrôleur). Le contrôleur appelle la
couche métier et DAO pour alimenter le modèle avant de le renvoyer à la vue.
24
Contrôleur → catégories
25
26
Contrôleur → produits
27
28
Le modèle MVC est un disign pattern intégrant dans sa méthodologie la partie Vues. Ce
sont des pages en HTML ayants une communication avec le contrôleur via le modèle.
Autrement dit, ce sont des interfaces homme-machine utilisant le moteur de template Thymeleaf
avec les technologies CSS, Bootstrap et javaScript.
29
La page accueil du Back-office
30
31
32
La page qui liste les catégories avec un lien supprimer et éditer
33
34
La page qui liste les produits avec un lien supprimer et éditer
35
36
La page formulaire pour ajouter un nouveau produit
37
La page formulaire pour ajouter une catégorie de produit
38
La page accueil du Front-End
39
La page qui liste les produits de la catégorie Huile
40
La page lien pour voir le produit en détail et l’ajouter au panier
41
La page panier
42
Conclusion
L’informatique est une technique et un savoir-faire qui au-delà de la théorie demande une
pratique quotidienne.
Grâce à ce stage, j’ai pu mettre en place un site me permettant de comprendre les subtilités tech-
niques à la réalisation d’une application.
En effet, j’ai pu augmenter mes capacités à conceptualiser, développer et gérer un réel projet infor-
matique.
Je peux dire que l’expérience de ce stage a fait émerger en moi un esprit de conquête, celui d’ap-
prendre encore plus de nouvelles technologies et de pouvoir monter en compétences.
J’ai par ailleurs pris en compte que ce métier est fait pour moi puisque au-delà d’une profession,
l’informatique est une passion et un quotidien.
Ce stage m’a donc confirmé à quel point la pratique à réaliser des projets informatique reste la
meilleure façon d’augmenter ses compétences.
43