Vous êtes sur la page 1sur 65

Mémoire de projet de fin d’étude Présenté par

OUMESLAKHT Tarik
NAMA Youssef

En vue de l’obtention du diplôme


Master Universitaire Professionnelle Génie Logiciel

« Application E-commerce de Livres


Électroniques »

Tarik Oumeslakht/Youssef Nama


Année universitaire : 2022/2023
Liste des abréviations :

Abréviation Désignation

UML Unified Modeling Language

MVC Model Vue Controler

API Application Programming


Interface.
SGBD Système de gestion base de
données
REST Restreint la Technique de
Stimulation environnementale
MySQL My Structured Query Language

PAGE 1
Remerciement
Nous tenons à remercier tous ceux qui m’ont apporté leur
soutien durant toute la période de notre formation au sein

de la CIGMA-FST SETTAT, notamment notre encadrant


Mr. Mohamed-amine Hamma. Mes remerciements vont
aussi à monsieur le Professeur Mounir Mahfoud à toute
l’équipe pédagogique de Faculté des Sciences et Techniques
Settat et les intervenants professionnels responsables de la
formation Génie logiciel et web applications. Cette
formation nous a permis de consolider nos connaissances
et de confirmer notre passion pour ce domaine. Nous
tenions alors à vous remercier pour votre contribution
enrichissante dans le début de notre parcours
professionnel. Désormais. Nous vous remercions également
pour l’accueil particulièrement chaleureux qui nous a été
accordé, mais aussi pour vos conseils, votre patience et
votre professionnalisme.

Cette expérience fut très enrichissante et va nécessairement


nous aider à exceller tout au long de notre carrière.

PAGE 2
ABSTRACT
Dans le cadre de mon projet de fin d'études, je souhaite mettre en
place une application de-commerce de Livres Électroniques qui :

offre aux utilisateurs une expérience d'achat fluide et convivial, j’ai


choisi les étapes suivantes :

 déterminer les exigences fonctionnelles et non fonctionnelles


du projet.
 Effectuer une analyse technique et une conception
d’application détaillée.
 Mise en œuvre.

Pour développer avec succès ce projet, une méthodologie agile qui


met l’accent sur l’idée de ne pas spécifier et planifier un produit
avant le développement semble plus adaptée à notre contexte,
Spécifiquement la méthode SCRUM, avec le langage de
modélisation UML. Sur le plan technique, nous utiliserons les
nouvelles technologies et les meilleures pratiques de
développement, y compris les cadres et technologies suivants : Java,
Hibernate/JPA, Spring Boot, Spring Sécurité, Angular, etc.

Mots-clés : SCRUM, Stock Management, UML, Spring Boot,


Hibernate, Angular.

PAGE 3
Table des matières
CHAPITRE 1: ETUDE PRÉALABLE ........................................................................................................9

1 INTRODUCTION ...............................................................................................................................9

1.1 OBJECTIF DU PROJET DE FIN D'ÉTUDES : ............................................................................... 9


1.2 DESCRIPTION DE L'APPLICATION E-COMMERCE DE LIVRES ÉLECTRONIQUES : ........................ 9
1.3 CONTEXTE ET JUSTIFICATION DU PROJET : ...........................................................................10
1.4 DETERMINATION DES RISQUES : .......................................................................................... 11

2 OBJECTIFS DU PROJET .............................................................................................................. 11

2.1 DEVELOPPER UNE APPLICATION E-COMMERCE COMPLETE : ................................................. 11


2.2 METTRE EN ŒUVRE UNE INTERFACE UTILISATEUR CONVIVIALE ET REACTIVE : ..................... 12
2.3 INTEGRER DES FONCTIONNALITES AVANCEES : .................................................................... 12

3 EXIGENCES FONCTIONNELLES.............................................................................................. 12

3.1 SYSTEME D'AUTHENTIFICATION ET DE GESTION DES UTILISATEURS : .................................... 12


3.2 CATALOGUE DE LIVRES ÉLECTRONIQUES : ........................................................................... 13
3.3 PANIER D'ACHAT : .............................................................................................................. 13
3.4 PROCESSUS DE COMMANDE : .............................................................................................. 13
3.5 GESTION DES COMMANDES : ............................................................................................... 13
3.6 GESTION DES AVIS ET DES COMMENTAIRES : ........................................................................14
3.7 SYSTEME DE RECOMMANDATION : ......................................................................................14
3.8 GESTION DES PROMOTIONS : ..............................................................................................14
3.9 IDENTIFICATION DES ACTEURS : ..........................................................................................14
3.9.1.1 Rôles : ................................................................................................................................ 15
3.10 CHOIX METHODOLOGIQUE : .............................................................................................. 16
3.10.1.1 Définition : ........................................................................................................................ 16
3.10.1.2 Scrum ................................................................................................................................ 18
3.10.1.3 Les points forts de la méthode agile : .............................................................................. 20
3.10.1.4 Modélisation avec UML .................................................................................................... 21
3.10.1.5 Définition de UML ........................................................................................................... 22
3.10.1.6 Les Diagrammes de UML ................................................................................................ 23
3.11 DESCRIPTION DES PHASES : ................................................................................................ 24
3.11.1.1 Phase1 : Initialisation : ..................................................................................................... 24
3.11.1.2 Phase2 : Préparation et planification:.............................................................................. 24
3.11.1.3 Production : ..................................................................................................................... 25
3.11.1.4 Finalisation : .................................................................................................................... 26

CHAPITRE 2 : MISE EN ŒUVRE .......................................................................................................... 27

PAGE 4
1 EXIGENCES TECHNIQUES......................................................................................................... 27

3.12 ARCHITECTURE : ............................................................................................................... 27


3.13 BASE DE DONNEES :........................................................................................................... 27
3.14 API REST : ....................................................................................................................... 27
3.15 INTEGRATION DE SERVICES TIERS : ..................................................................................... 28
3.16 SECURITE : ........................................................................................................................ 28
3.17 PERFORMANCE : ................................................................................................................ 28
3.18 ENVIRONNEMENT LOGICIEL : ............................................................................................. 29
3.18.1.1 Environnement de développement intégré : ................................................................... 29
3.18.1.2 Choix technologique : ...................................................................................................... 30
3.19 ARCHITECTURE LOGICIELLE DE L’ APPLICATION :.................................................................. 32

4 INTERFACE UTILISATEUR ....................................................................................................... 37

4.1 CONCEPTION VISUELLE : ................................................................................................... 37


4.2 NAVIGATION : ................................................................................................................... 37
4.3 EXPERIENCE UTILISATEUR :................................................................................................ 37

5 CONTRAINTES DE DEPLOIEMENT ....................................................................................... 38

5.1 HEBERGEMENT : ................................................................................................................ 38


5.2 DEPLOIEMENT : ................................................................................................................. 38

6 MAINTENANCE ET ÉVOLUTIVITE ........................................................................................ 39

6.1 DOCUMENTATION : ........................................................................................................... 39


6.2 MAINTENANCE : ................................................................................................................ 39
6.3 ÉVOLUTIVITE : .................................................................................................................. 39
6.4 TESTS :.............................................................................................................................. 39

7 CONTRAINTES ............................................................................................................................... 41

7.1 CONTRAINTES DE COUT :....................................................................................................41


7.2 CONTRAINTES TECHNOLOGIQUES : .....................................................................................41
7.3 CONTRAINTES DE DELAI : ...................................................................................................41
7.4 CONTRAINTES DE SECURITE : ..............................................................................................41
7.5 CONTRAINTES DE PERFORMANCE : ..................................................................................... 42
7.5.1 Disponibilité : ....................................................................................................... 42
7.5.2 Capacité : ............................................................................................................... 42
7.5.3 Fiabilité :................................................................................................................ 42
7.5.4 Maintenabilité : .................................................................................................... 43
7.5.5 Sécurité : ................................................................................................................ 43
7.5.6 Tests de performance et de charge : .................................................................. 43

CHAPITRE 3 :ETUDE ET ANALYSE FONCTIONNELLE................................................................ 44

PAGE 5
1 CONCEPTION.................................................................................................................................. 44

7.6 UML ................................................................................................................................ 44


7.6.1.1 Les Diagrammes de UML ................................................................................................ 44
7.7 DIAGRAMME DE CAS D’UTILISATION : ................................................................................. 46
7.8 DIAGRAMME DE CLASSE : ................................................................................................... 48
7.9 DIAGRAMME DE SEQUENCE : .............................................................................................. 49

8 EXPLICATION DES CHOIX TECHNIQUES ........................................................................... 51

8.1 DANS LA PARTIE BACKEND : ................................................................................................ 51


8.2 DANS LA PARTIE FRONTEND : ............................................................................................. 51
8.3 LE SYSTEME DE GESTION DE BASE DE DONNEES : ................................................................... 51

CHAPITRE 4 : REALISATION................................................................................................................ 52

1 LES INTERFACES ........................................................................................................................... 52


2 BIBLIOTHEQUE .............................................................................................................................. 62
3 WEBOGRAPHIE .............................................................................................................................. 63
4 CONCLUSION .................................................................................................................................. 64

PAGE 6
Liste des Figures

Figure 1 : Schéma de processus Scrum ..............................................................................................16

Figure 2 Schéma de processus Scrum (2) .......................................................................................... 20

Figure 3 : Architecture logicielle ...................................................................................................... 32

Figure 4 : Architecture MVC ............................................................................................................ 35

Figure 5 : Diagramme de déploiement .............................................................................................. 36

Figure 6 : Diagramme de cas d’utilisation globale ............................................................................ 47

Figure 7 : Diagramme de classe ....................................................................................................... 48

Figure 8 : Diagramme de séquence ................................................................................................... 50

Figure 9 : page “ Books ” ................................................................................................................ 53

Figure 10 : page “ Mugs ” ............................................................................................................... 54

Figure 11 : page “ Mouse Pads ” ..................................................................................................... 55

Figure 12 : page “ Luggage Tags ” .................................................................................................. 56

Figure 13 : page de description ........................................................................................................ 57

Figure 14 : page de recherche .......................................................................................................... 58

Figure 15 : Produit non définit ......................................................................................................... 59

Figure 16 : Page de panier ............................................................................................................... 60

Figure 17 : Détail de client ................................................................................................................61

PAGE 7
Liste des tableaux
Tableau 1 : Identification des risques ................................................................................................. 11

Tableau 2 : Tableau des Acteurs ........................................................................................................ 15

Tableau 3 : description de la phase initialisation............................................................................... 24

Tableau 4 : Description de la phase préparation et planification ....................................................... 25

Tableau 5: description de la phase production .................................................................................. 25

Tableau 6: Description de la phase finalisation ................................................................................. 26

PAGE 8
CHAPITRE 1: ETUDE PRÉALABLE

1 INTRODUCTION
Bienvenue dans notre projet de livres électroniques ! Dans cet
univers numérique en constante évolution, nous avons entrepris
de créer une plateforme novatrice pour offrir aux amoureux de la
lecture une expérience immersive et pratique. Notre objectif est
de rassembler une vaste collection de livres électroniques de
haute qualité, accessibles instantanément depuis n'importe quel
appareil connecté.

1.1 Objectif du Projet de Fin d'Études :


L'objectif principal de ce projet de fin d'études est de concevoir et
développer une application e-commerce complète permettant
aux utilisateurs de rechercher, acheter et gérer des livres
électroniques de manière pratique et conviviale. Ce rapport
présente les différentes étapes du développement de
l'application, en mettant l'accent sur les aspects fonctionnels,
techniques et organisationnels du projet.

1.2 Description de l'Application E-commerce de Livres


Électroniques :
L'application e-commerce de livres électroniques vise à offrir aux
utilisateurs une plateforme en ligne pour découvrir, parcourir et
acheter une large sélection de livres électroniques. Elle permet

PAGE 9
également aux utilisateurs de gérer leurs achats, de laisser des
avis et des commentaires, et de bénéficier de fonctionnalités
avancées telles que des recommandations personnalisées et des
promotions spéciales.

1.3 Contexte et Justification du Projet :


Le marché des livres électroniques connaît une croissance
constante, offrant une alternative pratique et écologique à la
lecture de livres imprimés. Cependant, il existe un besoin de
plateformes conviviales et sécurisées permettant aux utilisateurs
de découvrir et d'acheter facilement des livres électroniques. Ce
projet vise à combler cette lacune en proposant une application
e-commerce spécialement conçue pour répondre aux besoins des
utilisateurs de livres électroniques.

PAGE 10
1.4 Détermination des risques :
Action
Les risques Le type Impact Probabilité
correctives

- Optimiser le
code
Problème de
Risque non Altération de la Moyen
lenteur de la - Simplifier les
bloquant qualité du produit
plateforme fonctionnalités

- Doubler l’effort et
Risque non Ralentissement des Faible travailler un temps
Absence ou maladie bloquant travaux extra.

Tableau 1 : Identification des risques

2 OBJECTIFS DU PROJET

2.1 Développer une Application E-commerce


Complète :
Le premier objectif du projet est de développer une application e-
commerce complète qui offre aux utilisateurs une expérience
d'achat fluide et conviviale. Cela comprend la mise en œuvre de
fonctionnalités telles que la recherche avancée de livres
électroniques, la gestion du panier d'achat, le processus de
commande et la gestion des commandes.

PAGE 11
2.2 Mettre en Œuvre une Interface Utilisateur
Conviviale et Réactive :
Un autre objectif clé est de concevoir et développer une interface
utilisateur attrayante, intuitive et réactive. Cela garantira une
expérience utilisateur optimale, permettant aux utilisateurs de
naviguer facilement dans l'application, d'explorer les livres
électroniques et de passer des commandes de manière
transparente.

2.3 Intégrer des Fonctionnalités Avancées :


Le projet vise également à intégrer des fonctionnalités avancées
pour améliorer l'expérience utilisateur. Cela inclut la gestion des
avis et des commentaires, la mise en œuvre d'un système de
recommandation personnalisée basé sur les habitudes de lecture
des utilisateurs, ainsi que la gestion des promotions et des offres
spéciales.

3 EXIGENCES FONCTIONNELLES

3.1 Système d'Authentification et de Gestion des


Utilisateurs :
Pour permettre aux utilisateurs d'accéder aux fonctionnalités de
l'application, un système d'authentification sécurisé sera mis en
place. Il permettra aux utilisateurs de s'inscrire, de se connecter
et de gérer leurs profils, y compris les informations personnelles
et les adresses de livraison.

PAGE 12
3.2 Catalogue de Livres Électroniques :
L'application affichera une liste de livres électroniques
disponibles avec leurs détails, tels que le titre, l'auteur, la
description, le prix et l'image de couverture. Les utilisateurs
pourront rechercher des livres par titre, auteur, catégorie et
mots-clés, et filtrer les résultats en fonction de leurs préférences.

3.3 Panier d'Achat :


Les utilisateurs pourront ajouter des livres électroniques au
panier d'achat, modifier les quantités, supprimer des articles et
obtenir le total automatiquement calculé. Cette fonctionnalité
facilitera le processus d'achat en permettant aux utilisateurs de
rassembler tous les livres souhaités avant de passer à la
commande.

3.4 Processus de Commande :


Le processus de commande permettra aux utilisateurs de
sélectionner les livres électroniques du panier, de choisir une
adresse de livraison parmi les adresses enregistrées, de
sélectionner une option de paiement (carte de crédit, PayPal,
etc.) et de confirmer la commande. Un numéro de commande
unique sera généré pour chaque commande.

3.5 Gestion des Commandes :


Les utilisateurs auront accès à leur historique de commandes, où
ils pourront consulter l'état des commandes en temps réel (en
attente, en cours de traitement, expédiée, livrée). Des factures

PAGE 13
seront générées pour les commandes passées, offrant ainsi une
traçabilité complète des achats.

3.6 Gestion des Avis et des Commentaires :


Les utilisateurs enregistrés auront la possibilité de laisser des avis
et des commentaires sur les livres électroniques qu'ils ont
achetés. Les avis et les évaluations moyennes seront affichés pour
chaque livre électronique, offrant ainsi des informations utiles
aux autres utilisateurs lors de leur décision d'achat.

3.7 Système de Recommandation :


Le système de recommandation analysera les habitudes de
lecture des utilisateurs pour proposer des recommandations
personnalisées basées sur leurs intérêts et leurs achats
précédents. Cela permettra aux utilisateurs de découvrir de
nouveaux livres électroniques correspondant à leurs préférences.

3.8 Gestion des Promotions :


L'application permettra la gestion des codes promotionnels et
des offres spéciales. Les utilisateurs pourront bénéficier de
réductions automatiques lorsqu'ils effectuent des achats,
améliorant ainsi leur expérience d'achat et leur fidélité à
l'application.

3.9 Identification des acteurs :

PAGE 14
Cette partie vise à définir les acteurs du l’application « Gestion et suivi
des projets ».
Les acteurs qui interagissent avec le Système sont :
 Acteurs humains :

 Directeur Projet
 Chef de Projet
 Ressource

 Acteur Système :

 Aucun acteur système n’est identifié.

3.9.1.1 Rôles :

Les Acteurs Cas d’utilisations


Directeur de projet  Gérer projets
 Gérer tâches
 Consulter planning
 Gérer ressources
Chef de projet  Gérer ressources
 Gérer tâches
 Consulter Planning
Ressource  Afficher le détail des projets
 Afficher le détail des tâches
 Mettre à jour l’avancement des
tâches
Tableau 2 : Tableau des Acteurs

PAGE 15
3.10 Choix méthodologique :

3.10.1.1 Définition :

Une méthode Agile est une approche itérative et collaborative,


capable de prendre en compte les besoins initiaux du client et ceux
liés aux évolutions.

Figure 1 : Schéma de processus Scrum

La méthode Agile se base sur un cycle de développement qui porte


le client au centre. Le client est impliqué dans la réalisation du
début à la fin du projet. Grâce à la méthode agile le demandeur
obtient une meilleure visibilité de la gestion des travaux qu’avec une
méthode classique.

L’implication du client dans le processus permet à l’équipe d’obtenir


un feedback régulier afin d’appliquer directement les changements
nécessaires.

PAGE 16
Cette méthode vise à accélérer le développement d’un logiciel. De
plus, elle assure la réalisation d’un logiciel fonctionnel tout au long
de la durée de sa création.

Le principe de base consiste à proposer une version minimale du


logiciel puis à intégrer des fonctionnalités supplémentaires à cette
base, par processus itératif. Le processus itératif regroupe une
séquence d’instructions à répéter autant de fois que possible, selon
le besoin. En ce qui concerne la réalisation d’un logiciel, les
instructions à répéter sont les suivantes :

• Les tests unitaires À la fin de chaque itération


• Le développement de l’application web

• L’intégration
• La relecture et amélioration des codes

La méthode agile nommée Manifeste Agile repose sur quatre grands


principes :

• COLLABORATION : Communication et cohésion


d’équipe passent avant les outils et les processus.

• EQUIPE : Le privilège de la relation équipe/client


est mis en avant plutôt que la négociation
contractuelle.

• APPLICATION : Préférer une application bien


construite à une documentation détaillée.

PAGE 17
• ACCEPTATION : Le choix de l’acceptation du
changement et de la flexibilité au détriment d’un plan
rigide.

En effet le changement de contexte et les modifications


interviennent dans le processus suite aux demandes du client qui
feront évoluer le projet plus rapidement.

Tous les jours à horaire régulier un « stand up meeting » est réalisé.


Lors de ce bref point quotidien d’environs chaque membre de
l’équipe va :

• Relater les faits actuels

• Partager les actions à prévoir pour le lendemain

• Exprimer les obstacles rencontrés et les difficultés


encourues

3.10.1.2 Scrum

« Scrum » est la méthode agile la plus populaire. Ce terme signifie


« mêlée » au rugby. La méthode scrum s’appuie sur des « sprints »
qui sont des espaces temps assez courts pouvant aller de quelques
heures jusqu’à un mois. Généralement et de préférence un sprint
s’étend sur deux semaines. À la fin de chaque sprint, l’équipe
présente ce qu’elle a ajouté au produit. Scrum regroupe trois
acteurs :

PAGE 18
• Le Product Owner : qui porte la vision du produit à
réaliser (représente généralement le client). Il gère
le Backlog du Produit, défini des priorités et accepte
ou rejette les livrables

• Le Scrum Master : membre de l’équipe, il a pour


but d’optimiser la capacité de production de

l’équipe. Pour se faire, le scrum master aide l’équipe

à travailler de façon autonome tout en s’améliorant

d’avantage.

• L’équipe opérationnelle (qui regroupe


idéalement moins de dix personnes) : la
particularité d’une équipe scrum est qu’elle est
dépourvue de toute hiérarchie interne. Une équipe
scrum est autoorganisée.

D’autres termes sont à connaître pour comprendre la


méthode scrum :

• Le product backlog (carnet du produit) : ce document


contient les exigences initiales dressées puis hiérarchisées
avec le client en début de projet. Néanmoins il va évoluer
tout au long de la durée du projet, en fonction des divers
besoins du client.

PAGE 19
• Le sprint backlog (carnet de sprint) : en chaque début de
sprint, l’équipe définit un but. Puis lors de la réunion de
sprint, l’équipe de développement choisit les éléments du
carnet à réaliser.

• L’ensemble de ces éléments constitue alors le sprint


backlog.

• User story : ce terme désigne les fonctionnalités décrites par


le client.

• Stand up meeting (scrum) : c’est une réunion d’avancement


organisée de manière quotidienne durant le sprint.

Figure 2 Schéma de processus Scrum (2)

3.10.1.3 Les points forts de la méthode agile :

PAGE 20
• L’équipe fait peu de hors sujet car cette méthode assure une
bonne et constante communication entre le client et
l’entreprise

• La documentation est réduite, ainsi l’efficacité en termes de


productivité est en augmentation

• La collaboration avec le client s’effectue de façon


quotidienne

• Une version fonctionnelle du logiciel est livrée


fréquemment

• La recherche constante de l’excellence technique : des tests


sont réalisés en continu

• Le résultat est percevable petit à petit, ce qui permet


d’éviter les mauvaises surprises

En clair, la méthodologie Agile est une méthode moderne,


favorisant un gain de productivité non négligeable, et la baisse
des coûts de production

3.10.1.4 Modélisation avec UML

Vu l’importance cruciale de la modélisation dans le cycle de vie de


n’importe quelle application, il fallait utiliser une méthode de
modélisation qui s’adapte le mieux à nos besoins et à nos

PAGE 21
exigences qui sont entre autres : L’ouverture, la réutilisabilité, la
modularité et l’extensibilité.

Pour répondre à ces exigences, nous avons choisis de modéliser


avec le langage de modélisation UML qui s’adapte parfaitement à
la modélisation des applications à base d’objets et qui offre grâce
à ses différents diagrammes une grande souplesse permettant la
modélisation de différents aspects de l’application.

Notre choix de ce langage se justifie aussi par le fait qu’UML est


devenu un standard de modélisation adopté pour toutes les
applications à aspect orienté objet.

3.10.1.5 Définition de UML

UML (Unified Modeling Langage) : Se définit comme un


langage de modélisation graphique et textuel destiné à
comprendre et décrire des besoins, spécifier, concevoir des
solutions et communiquer des points de vue.

UML unifie à la fois les notations et les concepts orientés objet. Il


ne s’agit pas d’une simple notation, mais les concepts transmis
par un diagramme ont une sémantique précise et sont porteurs de
sens au même titre que les mots d’un langage, c’est pour ça
qu’UML est présenté parfois comme une méthode alors qu’il ne
l’est absolument pas.

PAGE 22
UML unifie également les notations nécessaires aux différentes
activités d’un processus de développement et offre, par ce biais, le
moyen d’établir le suivi des décisions prises, depuis la définition
des besoins jusqu’au codage.

3.10.1.6 Les Diagrammes de UML

Ci-dessous une présentation rapide des différents diagrammes


UML qui vont être utilisés tout au long du projet :

Le diagramme des cas d’utilisation : Il représente la structure


des fonctionnalités nécessaires aux utilisateurs du système. Il est
normalement utilisé lors des étapes de capture des besoins
fonctionnels et techniques ;

Le diagramme de classes : Sûrement l’un des diagrammes les


plus importants dans un développement orienté objet. Sur la
branche fonctionnelle, ce diagramme est prévu pour développer
la structure des entités manipulées par les utilisateurs. En
conception, le diagramme de classes représente la structure d’un
code orienté objet.

Le diagramme de séquences : Il représente les échanges de


messages entre objets, dans le cadre d’un fonctionnement
particulier du système.

PAGE 23
3.11 Description des phases :
3.11.1.1 Phase1 : Initialisation :

DESCRIPTION

Objectifs Comprendre la problématique du projet, son scope et sa faisabilité


Définir la durée estimative, son budget et ses risques

Contrainte Définir l'opportunité du projet Évaluer


la faisabilité
Prérequis N/A
Livrables en sortie Charte du projet
Dépendance N/A
Critères de fin de phase Générer la fiche du projet

Tableau 3 : description de la phase initialisation

3.11.1.2 Phase2 : Préparation et planification:

DESCRIPTION

Objectifs identifiés les membres de l'équipe, discuter l’environnement et


demande initiaux.

Contrainte Travailler activement avec les parties prenantes Commencer


à construire l'équipe
réaliser une architecture initiale pour le système
Prérequis Avoir la fiche de projet
Livrables en sortie Cahier des charges
Plan Qualité Projet
Dossier de spécifications fonctionnelles
Dossier de specification technique

PAGE 24
Dépendance N/A
Critères de fin de phase Vérification et validation des livrables attendues par l’encadrent

Tableau 4 : Description de la phase préparation et planification

3.11.1.3 Production :
DESCRIPTION

Objectifs Fournir progressivement des modules applicatifs de haute qualité


qui répondent aux besoins changeants des parties prenantes

Contrainte Collaborer étroitement avec les parties prenantes et avec les


développeurs
Implémentation des fonctionnalités par ordre de priorité
Fournir périodiquement des solutions fonctionnelles Effectuer
des tests

Prérequis Avoir le cahier des charges, Plan Qualité Projet et les dossiers de
spécifications fonctionnelles et de spécification technique

Livrables en sortie Rapports d’avancement

Dépendance N/A

Critères de fin de phase Développement de tous les modules applicatifs

Tableau 5: description de la phase production

PAGE 25
3.11.1.4 Finalisation :

DESCRIPTION

Objectifs Mettre la solution en production.

Contrainte Test final du système


Finalisation de la documentation utilisateur
Former les utilisateurs finaux
Déployez le système
Prérequis La solution déjà développée

Livrables en sortie Documentation utilisateur

Dépendance N/A

Critères de fin de phase Validation de la recette par PO Vérification et validation des


livrables attendues par l’encadrent
Tableau 6: Description de la phase finalisation

PAGE 26
CHAPITRE 2 : MISE EN ŒUVRE

1 EXIGENCES TECHNIQUES

3.12 Architecture :
L'application sera développée en utilisant une architecture basée
sur le modèle MVC (Modèle-Vue-Contrôleur). Le back-end sera
développé avec le framework Spring Boot, offrant une gestion
efficace des fonctionnalités, des données et des connexions avec
la base de données. Le front-end sera développé avec Angular,
offrant une interface utilisateur réactive et interactive.

3.13 Base de Données :


Une base de données relationnelle sera utilisée pour stocker les
informations nécessaires, telles que les données des utilisateurs,
les détails des livres électroniques, les commandes, les avis, etc.
Des systèmes de gestion de base de données tels que MySQL ou
PostgreSQL peuvent être utilisés. Un modèle conceptuel de
données (MCD), un modèle logique de données (MLD) et un
dictionnaire de données seront élaborés pour définir la structure
et les relations des données.

3.14 API REST :


Les communications entre le front-end et le back-end se feront
via des API REST (Representational State Transfer). Des API
RESTful seront conçues pour chaque fonctionnalité de

PAGE 27
l'application, permettant une communication efficace et
sécurisée entre les différentes parties de l'application.

3.15 Intégration de Services Tiers :


Des services de paiement en ligne sécurisés tels que PayPal ou
Stripe seront intégrés à l'application pour faciliter les
transactions. Des API externes telles que l'API Open Library ou
l'API Google Books peuvent être utilisées pour récupérer des
informations supplémentaires sur les livres électroniques.

3.16 Sécurité :
Des mesures de sécurité seront mises en place pour protéger les
données des utilisateurs et assurer la confidentialité des
informations sensibles. Cela inclura le cryptage des mots de
passe et des données sensibles, l'implémentation de mécanismes
d'authentification et d'autorisation robustes, et la protection
contre les attaques courantes telles que les injections SQL et les
attaques XSS.

3.17 Performance :
L'optimisation des performances sera une préoccupation majeure
lors du développement de l'application. Des techniques telles que
la mise en cache, l'optimisation des requêtes et la gestion efficace
des ressources seront mises en œuvre pour garantir des temps de
réponse rapides, même dans des conditions de charge élevée.
Des tests de performance seront effectués pour valider les
performances de l'application.

PAGE 28
3.18 Environnement logiciel :

Nous allons présenter les outils techniques et les langages de


programmation que nous avons utilisée dans ce projet. Les
différents outils pour la réalisation de ce projet sont :

3.18.1.1 Environnement de développement intégré :

 Visual studio code : C’est un éditeur de code qui admet


plusieurs langages de programmation et qui offre plusieurs
fonctionnalités. Il est considéré comme une open source à
multiplateforme. Nous avons utilisé Visual Studio code pour
développer avec le Framework Angular

 Eclipse IDE : C’est un environnement de développement écrit


en java, il intègre plusieurs fonctionnalités et supporte des
différents langages de programmation, nous avons utilisé
éclipse pour développer avec le Framework Spring boot. Pour
faciliter le développement avec Spring boot nous intégrons
Spring Tools Suite dans Eclipse IDE, il ajoute des
Fonctionnalités spécifiques à ce Framework.

Les logiciels utilisés : Nous avons dans cette étape détaillé les
différents langages et les logiciels utilisés.

 XAMPP : est une distribution Apache entièrement gratuite et


facile à installer contenant MySQL, PHP et Perl. Le paquetage
open source. XAMPP a été mis au point pour être
incroyablement facile à installer et à utiliser.

PAGE 29
3.18.1.2 Choix technologique :

Nous avons dans cette étape détaillé les différents langages et les
logiciels utilisés.

 Angular: est un Framework basé essentiellement sur le


langage de programmation libre TypeScript. Donc Angular
nous aide à la création des classes, des variables, des interfaces
et à l’importation des modules pour les utilisée. Nous avons
utilisé la version 7.

 Spring Boot : est un micro Framework utilisé pour faciliter la


configuration des projets Spring. Spring Boot est considéré
comme un facteur majeur de la croissance de développement
rapide.

 Spring Security : est un Framework léger de sécurité des


projets fondés sur spring. Il accomplit une Authentification
et un appui d’autorisation en intégrant des différents
algorithmes des sécurité. L’avantage principal de
SpringSecurity est la personnalisation de sécurité
informatique

 Bootstrap : est un ensemble des outils utilisé pour la création


du graphisme de site ou d’application web

PAGE 30
 HTML : Ce langage est utilisé pour créer des pages web.
L'acronyme signifie HyperText Markup Langage, ce qui
signifie en français "langage de balisage d'hypertexte". Cette
signification porte bien son nom puisqu'effectivement ce
langage permet de réaliser de l'hypertexte à base d'une
structure de balisage.

 CSS 3 : Le CSS est un langage informatique utilisé sur


l'internet pour mettre en forme les fichiers HTML ou XML.
Ainsi, les feuilles de style, aussi appelé les fichiers CSS,
comprennent du code qui permet de gérer le design d'une
page en HTML.

 MySQL : Est un système de gestion de base de données


relationnelle open-source (SGBDR) qui est largement utilisé
pour stocker, gérer et récupérer des données. C’est l’une des
bases de données les plus populaires au monde et est connue
pour ses performances, sa fiabilité et sa facilité d’utilisation.

 AppacheTomcat : Apache Tomcat est un conteneur web libre


de servlets servlets et JSP Java EE. Issu du projet Jakarta, c'est
un des nombreux projets de l’apache Software Foundation. . Il
implémente les spécifications des servlets et des JSP du java
CommunityProcess, est paramétrable par des fichiers XML et
des propriétés, et inclut des outils pour la configuration et la
gestion. Il comporte également un serveur http.

PAGE 31
3.19 Architecture logicielle de l’application :

Pour décrire d’une manière symbolique et schématique les


différents éléments de notre système leurs interrelations et leurs
interactions, On a recours à une architecture qui garantit la stabilité
et l’efficacité de notre application. C’est l’architecture trois tiers qui
est élaboré pour notre plateforme

Figure 3 : Architecture logicielle

• Le premier tiers est la couche présentation associée au

client qui dispose d'un navigateur web et accède à

l’application. Il s‘agit d‘un ensemble de page web.

• Le 2ème tiers est la couche métier correspond à la


partie fonctionnelle de l'outil qui est déployée dans le
serveur d'application et qui est chargé de fournir la
ressource mais faisant appel à un autre serveur.

PAGE 32
• Le 3ème tiers est la couche accès aux données, elle
permet de fournir au serveur d'application les
données dont il a besoin.

L’architecture MVC

Modèle-vue-contrôleur ou L'architecture MVC a été retenue


pour ses nombreux avantages.

 Séparation des responsabilités : L'architecture MVC divise


l'application en trois composants principaux : le modèle, la
vue et le contrôleur. Cela permet de séparer clairement les
différentes responsabilités et d'organiser le code de manière
plus structurée.

 Le modèle représente la logique métier et les données du livre


électronique. Il gère la manipulation des données, les
opérations de lecture/écriture et les interactions avec la base
de données ou tout autre système de stockage.

 La vue est responsable de l'interface utilisateur. Elle gère


l'affichage des pages du livre, les interactions avec les
utilisateurs et la présentation des informations.

PAGE 33
 Le contrôleur agit comme un intermédiaire entre le modèle et
la vue. Il reçoit les demandes de l'utilisateur à partir de la vue,
effectue les actions nécessaires sur le modèle et met à jour la
vue en conséquence.

 Maintenance facilitée : En séparant les différentes couches


de l'application, l'architecture MVC facilite la maintenance du
code. Chaque composant peut être modifié ou amélioré
indépendamment des autres, ce qui rend les mises à jour et les
corrections de bugs plus faciles à gérer.

 Réutilisation du code : L'architecture MVC encourage la


réutilisation du code grâce à la séparation claire des
responsabilités. Par exemple, le modèle utilisé pour un livre
électronique peut être réutilisé dans d'autres projets
similaires, la vue peut être adaptée à différents appareils ou
interfaces utilisateur, et le contrôleur peut être ajusté pour
prendre en charge de nouvelles fonctionnalités.

 Testabilité : L'architecture MVC facilite également les tests


unitaires et fonctionnels. En isolant les différentes parties de
l'application, il devient plus facile de tester chaque composant
de manière indépendante, ce qui contribue à une meilleure
qualité logicielle.

PAGE 34
 Scalabilité : L'architecture MVC offre une bonne extensibilité
et scalabilité. Si le projet de livres électroniques évolue et
nécessite l'ajout de nouvelles fonctionnalités ou la prise en
charge de plus d'utilisateurs, il est plus facile d'ajuster ou
d'ajouter des composants spécifiques sans perturber
l'ensemble de l'application.

Figure 4 : Architecture MVC

PAGE 35
Diagramme de déploiement

En vue de représenter l’aspect statique qui sert à modéliser l'utilisation de


l'infrastructure physique par le système et la manière dont les composants
du système sont répartis ainsi que les relations échangées entre eux.

Figure 5 : Diagramme de déploiement

PAGE 36
4 INTERFACE UTILISATEUR

4.1 Conception Visuelle :


Une attention particulière sera accordée à la conception visuelle
de l'application. Une interface utilisateur attrayante, cohérente et
réactive sera développée pour offrir une expérience agréable aux
utilisateurs. Des principes de conception modernes seront
appliqués pour assurer une convivialité et une esthétique
optimales.

4.2 Navigation :
Une hiérarchie de navigation claire et intuitive sera mise en place
pour faciliter la recherche et l'accès aux différentes
fonctionnalités de l'application. Des menus, des liens et des
boutons intuitifs seront utilisés pour guider les utilisateurs dans
leur parcours d'achat.

4.3 Expérience Utilisateur :


L'expérience utilisateur sera au cœur de la conception de
l'application. Des retours d'actions appropriés seront fournis
pour informer les utilisateurs des résultats de leurs actions. Des
interactions fluides, des temps de chargement rapides et une
facilité d'utilisation globale seront recherchés pour garantir une
expérience utilisateur optimale.

PAGE 37
5 CONTRAINTES DE DEPLOIEMENT

5.1 Hébergement :
L'application sera hébergée sur un serveur cloud fiable tel que
AWS, Azure ou Google Cloud. Le serveur sera configuré pour
répondre aux exigences de performances, de disponibilité et de
sécurité de l'application.

5.2 Déploiement :
Le déploiement de l'application se fera à l'aide de processus
automatisés et de scripts de déploiement. Des tests et des
vérifications rigoureux seront effectués avant le déploiement
pour assurer la stabilité et le bon fonctionnement de l'application
dans l'environnement de production.

PAGE 38
6 MAINTENANCE ET ÉVOLUTIVITE

6.1 Documentation :
Une documentation complète du code source sera réalisée,
comprenant des commentaires clairs et des explications
détaillées sur les fonctionnalités et l'architecture de l'application.
Cela facilitera la maintenance future de l'application et permettra
à d'autres développeurs de comprendre et de contribuer au
projet.

6.2 Maintenance :
Des processus de maintenance réguliers seront établis pour
assurer le bon fonctionnement de l'application. Cela comprendra
la mise à jour de la sécurité, la correction de bugs, l'optimisation
des performances et l'ajout de nouvelles fonctionnalités en
fonction des besoins des utilisateurs.

6.3 Évolutivité :
L'architecture de l'application sera conçue de manière modulaire
et évolutive pour permettre l'ajout de nouvelles fonctionnalités et
la gestion d'un trafic croissant. Cela garantira que l'application
pourra s'adapter aux besoins futurs et aux évolutions du marché.

6.4 Tests :
Des tests rigoureux seront effectués tout au long du processus de
développement pour garantir la qualité de l'application. Cela

PAGE 39
comprendra des tests unitaires, des tests d'intégration et des
tests fonctionnels pour valider le bon fonctionnement de chaque
fonctionnalité.

PAGE 40
7 CONTRAINTES

7.1 Contraintes de Coût :


Le projet sera réalisé dans le respect d'un budget défini. Une
utilisation efficace des ressources disponibles sera assurée pour
respecter les contraintes budgétaires tout en fournissant une
application de qualité.

7.2 Contraintes Technologiques :


Le projet sera développé en utilisant les technologies spécifiées,
notamment Spring Boot pour le développement back-end et
Angular pour le développement front-end. Les bonnes pratiques
et les normes de développement recommandées seront suivies
pour assurer la qualité et la maintenabilité de l'application.

7.3 Contraintes de Délai :


Un calendrier précis sera établi pour le développement et la
livraison de l'application. Les délais convenus pour chaque phase
du projet seront respectés afin d'assurer une progression
régulière et une livraison dans les délais prévus.

7.4 Contraintes de Sécurité :


Des mesures de sécurité seront mises en place pour protéger les
données des utilisateurs et assurer la confidentialité des
informations sensibles. Cela inclura le cryptage des données,

PAGE 41
l'implémentation de mécanismes d'authentification et
d'autorisation robustes, ainsi que la protection contre les
attaques potentielles.

7.5 Contraintes de Performance :

7.5.1 DISPONIBILITE :
L'application sera conçue pour assurer une disponibilité élevée,
garantissant ainsi un accès sans interruption aux utilisateurs. Des
mécanismes de sauvegarde et de récupération seront mis en
place pour minimiser les temps d'arrêt imprévus.

7.5.2 CAPACITE :
L'application sera dimensionnée pour gérer efficacement un
grand nombre d'utilisateurs et de transactions simultanées. Des
techniques d'optimisation des performances seront utilisées pour
garantir des temps de réponse rapides, même dans des
conditions de charge élevée.

7.5.3 FIABILITE :
Des mécanismes de sauvegarde et de redondance seront mis en
place pour éviter les défaillances matérielles et logicielles
critiques. Les erreurs et les exceptions seront gérées de manière
robuste pour minimiser les interruptions de service.

PAGE 42
7.5.4 MAINTENABILITE :
Des bonnes pratiques de développement et de documentation
seront adoptées pour faciliter la maintenance future de
l'application. Des outils appropriés seront utilisés pour surveiller
et gérer les performances de l'application en temps réel.

7.5.5 SECURITE :
La sécurité sera une préoccupation majeure pour l'application.
Des mécanismes de protection des données, tels que le
chiffrement des communications, le stockage sécurisé des
informations sensibles et l'implémentation de bonnes pratiques
en matière d'authentification et d'autorisation, seront mis en
place pour garantir la confidentialité et l'intégrité des données
des utilisateurs.

7.5.6 TESTS DE PERFORMANCE ET DE CHARGE :


Des tests de performance et de charge seront effectués
régulièrement pour évaluer les performances de l'application
dans des conditions réelles. Ces tests permettront d'identifier les
éventuels problèmes de performance, de mesurer la capacité de
l'application à gérer une charge élevée et de prendre des mesures
correctives si nécessaire

PAGE 43
CHAPITRE 3 :ETUDE ET ANALYSE
FONCTIONNELLE

1 CONCEPTION
7.6 UML

UML (Unified Modeling Langage) : Se définit comme un


langage de modélisation graphique et textuel destiné à
comprendre et décrire des besoins, spécifier, concevoir des
solutions et communiquer des points de vue.

UML unifie à la fois les notations et les concepts orientés objet. Il


ne s’agit pas d’une simple notation, mais les concepts transmis
par un diagramme ont une sémantique précise et sont porteurs de
sens au même titre que les mots d’un langage, c’est pour ça
qu’UML est présenté parfois comme une méthode alors qu’il ne
l’est absolument pas.

UML unifie également les notations nécessaires aux différentes


activités d’un processus de développement et offre, par ce biais, le
moyen d’établir le suivi des décisions prises, depuis la définition
des besoins jusqu’au codage.

7.6.1.1 Les Diagrammes de UML

PAGE 44
Ci-dessous une présentation rapide des différents diagrammes
UML qui vont être utilisés tout au long du projet :

Le diagramme des cas d’utilisation : Il représente la


structure des fonctionnalités nécessaires aux
utilisateurs du système. Il est normalement utilisé lors
des étapes de capture des besoins fonctionnels et
techniques ;

Le diagramme de classes : Sûrement l’un des diagrammes


les plus importants dans un développement orienté
objet. Sur la branche fonctionnelle, ce diagramme est
prévu pour développer la structure des entités
manipulées par les utilisateurs. En conception, le
diagramme de classes représente la structure d’un
code orienté objet.

Le diagramme de séquences : Il représente les échanges


de messages entre objets, dans le cadre d’un
fonctionnement particulier du système.

PAGE 45
7.7 Diagramme de cas d’utilisation :

Nous présentons ci-dessous un diagramme de cas d’utilisation


global qui regroupe tous les cas d'utilisation de notre application. Ce
diagramme décrit les besoins fonctionnels de façon globale de notre
application et il définit aussi les rôles de chaque acteur.

PAGE 46
Figure 6 : Diagramme de cas d’utilisation globale

PAGE 47
7.8 Diagramme de classe :

Le diagramme de classe est considéré comme le plus important de


la modélisation orientée objet, c'est le seul diagramme obligatoire
lors d'une telle modélisation. Il permet de définir la structure
interne du système

Figure 7 : Diagramme de classe

PAGE 48
7.9 Diagramme de séquence :

Le diagramme de séquence système est une modélisation de la vue


dynamique du système. Ce diagramme reflète les interactions et les
échanges entre un acteur et le système par des messages dans leurs
ordres chronologiques

PAGE 49
Figure 8 : Diagramme de séquence

PAGE 50
8 EXPLICATION DES CHOIX
TECHNIQUES

8.1 Dans la partie BackEnd :

 SpringBoot : Parce que c’est un Framework Open Source Java


stable, performant, facilement configurable, et qui profite
d’une large communauté et qui couvre les différents aspects
d’une application WEB.

 Éclipse c’est L’IDE référence pour le développement Java, qui


offre plusieurs extensions qui facilite la génération et le
développement du code source.

8.2 Dans la partie FrontEnd :

 On a choisi d’utiliser le Framework Angular parce qu’il répond


à l’objectif du projet de créer une application Web
 Angular est un framework JavaScript populaire développé par
Google. Il est utilisé pour créer des applications web riches et
dynamiques côté client

8.3 Le système de gestion de base de données :

 Pour la persistance des données, on utilise MySQL. On a opté


pour ce SGBD en raison de ses performances, sa simplicité
d’utilisation et sa facile intégration avec SpringBoot, ainsi que
de la grande communiée derrière sur le WEB.

PAGE 51
CHAPITRE 4 : REALISATION

1 LES INTERFACES

 Page de produit « Books »

L'image présente la page de produit dédiée à notre collection


de livres. La mise en page graphique est soignée et attrayante,
avec des couleurs chaudes et une mise en page claire et
intuitive. Une bibliothèque virtuelle est mise en évidence en
arrière-plan, créant une atmosphère qui évoque la passion
pour la lecture.

PAGE 52
Figure 9 : page “ Books ”

PAGE 53
 Page de produit « Coffee Mugs »

L'image présente la page de produit dédiée à notre gamme de


tasses à café. La mise en page est élégante et moderne,
mettant en valeur les différents modèles de tasses disponibles.
En arrière-plan, un décor caféiné, avec des grains de café et
des feuilles de café, crée une ambiance chaleureuse et
invitante.

Figure 10 : page “ M ugs ”

PAGE 54
 Page de produit « Mouse pads »

L'image présente la page de produit dédiée à notre gamme de


tapis de souris en mousse. La présentation est moderne et
attractive, soulignant les divers modèles de tapis de souris
disponibles. Un arrière-plan sobre, mettant en avant des
motifs géométriques et des nuances de couleurs
harmonieuses, crée une ambiance professionnelle .

Figure 11 : page “ Mouse Pads ”

PAGE 55
 Page de produit « Luggage Tags »

L'image montre la page produit consacrée à notre gamme de balises


bagages, affichée sur un écran d'ordinateur. La présentation est
attrayante et fonctionnelle, soulignant les différentes étiquettes
disponibles.

Figure 12 : page “ Lugg age Tags ”

PAGE 56
 Page de détail de projet :

L'image présente la page de détail du produit, affichée sur un


écran d'ordinateur. La mise en page est soignée et conviviale,
mettant en avant toutes les informations essentielles sur le
produit.

Figure 13 : page de description

PAGE 57
 Page de recherche :
L'image présente une capture d'écran de la méthode de recherche
de produit sur votre projet. L'interface est claire et conviviale,
permettant aux utilisateurs de trouver facilement les produits qu'ils
recherchent.

Figure 14 : page de recherche

PAGE 58
Sur cette capture, nous avons constaté que si nous
recherchons un produit qui n'existe pas sur la base, un
message d'erreur est affiché "No produts found"

Figure 15 : Pro duit non définit

PAGE 59
 Page de liste des achats :

L'image présente la page de liste des achats de produits,


L'interface est organisée et claire, offrant aux utilisateurs une
vue d'ensemble de leurs achats.

Figure 16 : Page de panier

PAGE 60
 Page de détail de client :

Une fois que vous avez saisi les produits recherchés, cliquez sur
le bouton checkout qui nous mène à la page suivante. Cette
page contient des informations sur les clients " nom, email..." et
la livraison " ville, pays, code postal... "

Figure 17 : Détail de client

PAGE 61
2 BIBLIOTHEQUE

Développez https://openclassrooms.com/fr/courses/4668271-
des developpez-des-applications-web-avec-angular
applications
Web avec
Angular

Méthodes https://www.youtube.com/watch?v=C-vxyX5wkDs
agiles et
Scrum

Spring et https://www.udemy.com/course/bien-debuter-avec-
Spring Boot spring-et-spring-boot/
pour Java

La gestion du https://www.youtube.com/watch?v=E6XbxK3R7y4
temps,
organisation
du travail et
maîtrise du
stress" par Dr
Rachid
AMOKRANE

PAGE 62
3 WEBOGRAPHIE

 https://www.ideematic.com/actualites/2015/01/methodes-
agiles-definition/

 https://www.definitions-marketing.com/definition/methode-
scrum/

 https://www.manutan.fr/blog/methode-travail/5-avantages-
methodescrum/#:~:text=Appliquer%20Scrum%2C%20c'est%2
0subdiviser,un%20%C5%93il%20critique%20leur%20ex%C3%
A9cution.

 https://www.journaldunet.fr/web-tech/guide-de-l-entreprise-
digitale/1443838-methodeagile-definition-comparatif-et-
avantages/

 https://bubbleplan.net/blog/agile-scrum-gestion-projet/

 https://stackoverflow.com/

 https://www.angularchef.com/

 https://spring.io/

 https://openclassrooms.com/fr/courses/5641591-testez-votre-
application-c/5641598-pourquoi-tester-son-application

PAGE 63
4 CONCLUSION

Ce rapport a présenté les différents aspects de conception et de


développement de l'application e-commerce de livres électroniques.
Les objectifs du projet ont été clairement définis, les exigences
fonctionnelles et techniques ont été identifiées, et des contraintes
importantes ont été prises en compte. La conception UML, le
modèle conceptuel de données, le modèle logique de données et le
dictionnaire de données ont été présentés pour fournir une vision
détaillée de l'application.

L'application e-commerce de livres électroniques vise à offrir une


expérience d'achat en ligne pratique et agréable aux utilisateurs. La
mise en œuvre de fonctionnalités avancées telles que la gestion des
utilisateurs, le catalogue de livres électroniques, le panier d'achat,
les processus de commande, la gestion des commandes, les avis et
les commentaires, les recommandations personnalisées et les
promotions spéciales permettra de répondre aux besoins des
utilisateurs et d'améliorer leur expérience d'achat.

Le respect des contraintes de déploiement, la maintenance régulière


et l'évolutivité de l'application garantiront sa pérennité et sa
capacité à s'adapter aux futurs besoins des utilisateurs. Enfin, une
attention particulière sera accordée à la sécurité, aux performances
et à l'interface utilisateur pour offrir une application robuste,
performante et conviviale.

PAGE 64

Vous aimerez peut-être aussi