Rapport de Pfe Application Ecom de Livvre Electronique
Rapport de Pfe Application Ecom de Livvre Electronique
Rapport de Pfe Application Ecom de Livvre Electronique
OUMESLAKHT Tarik
NAMA Youssef
Abréviation Désignation
PAGE 1
Remerciement
Nous tenons à remercier tous ceux qui m’ont apporté leur
soutien durant toute la période de notre formation au sein
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 :
PAGE 3
Table des matières
CHAPITRE 1: ETUDE PRÉALABLE ........................................................................................................9
1 INTRODUCTION ...............................................................................................................................9
3 EXIGENCES FONCTIONNELLES.............................................................................................. 12
PAGE 4
1 EXIGENCES TECHNIQUES......................................................................................................... 27
7 CONTRAINTES ............................................................................................................................... 41
PAGE 5
1 CONCEPTION.................................................................................................................................. 44
CHAPITRE 4 : REALISATION................................................................................................................ 52
PAGE 6
Liste des Figures
PAGE 7
Liste des tableaux
Tableau 1 : Identification des risques ................................................................................................. 11
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é.
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.
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.
2 OBJECTIFS DU PROJET
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.
3 EXIGENCES FONCTIONNELLES
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.
PAGE 13
seront générées pour les commandes passées, offrant ainsi une
traçabilité complète des achats.
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 :
3.9.1.1 Rôles :
PAGE 15
3.10 Choix méthodologique :
3.10.1.1 Définition :
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.
• L’intégration
• La relecture et amélioration des codes
PAGE 17
• ACCEPTATION : Le choix de l’acceptation du
changement et de la flexibilité au détriment d’un plan
rigide.
3.10.1.2 Scrum
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
d’avantage.
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.
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
PAGE 21
exigences qui sont entre autres : L’ouverture, la réutilisabilité, la
modularité et l’extensibilité.
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.
PAGE 23
3.11 Description des phases :
3.11.1.1 Phase1 : Initialisation :
DESCRIPTION
DESCRIPTION
PAGE 24
Dépendance N/A
Critères de fin de phase Vérification et validation des livrables attendues par l’encadrent
3.11.1.3 Production :
DESCRIPTION
Prérequis Avoir le cahier des charges, Plan Qualité Projet et les dossiers de
spécifications fonctionnelles et de spécification technique
Dépendance N/A
PAGE 25
3.11.1.4 Finalisation :
DESCRIPTION
Dépendance N/A
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.
PAGE 27
l'application, permettant une communication efficace et
sécurisée entre les différentes parties de l'application.
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 :
Les logiciels utilisés : Nous avons dans cette étape détaillé les
différents langages et les logiciels utilisés.
PAGE 29
3.18.1.2 Choix technologique :
Nous avons dans cette étape détaillé les différents langages et les
logiciels utilisés.
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.
PAGE 31
3.19 Architecture logicielle de l’application :
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
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.
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.
PAGE 35
Diagramme de déploiement
PAGE 36
4 INTERFACE UTILISATEUR
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.
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
PAGE 41
l'implémentation de mécanismes d'authentification et
d'autorisation robustes, ainsi que la protection contre les
attaques potentielles.
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.
PAGE 43
CHAPITRE 3 :ETUDE ET ANALYSE
FONCTIONNELLE
1 CONCEPTION
7.6 UML
PAGE 44
Ci-dessous une présentation rapide des différents diagrammes
UML qui vont être utilisés tout au long du projet :
PAGE 45
7.7 Diagramme de cas d’utilisation :
PAGE 46
Figure 6 : Diagramme de cas d’utilisation globale
PAGE 47
7.8 Diagramme de classe :
PAGE 48
7.9 Diagramme de séquence :
PAGE 49
Figure 8 : Diagramme de séquence
PAGE 50
8 EXPLICATION DES CHOIX
TECHNIQUES
PAGE 51
CHAPITRE 4 : REALISATION
1 LES INTERFACES
PAGE 52
Figure 9 : page “ Books ”
PAGE 53
Page de produit « Coffee Mugs »
PAGE 54
Page de produit « Mouse pads »
PAGE 55
Page de produit « Luggage Tags »
PAGE 56
Page de détail de projet :
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.
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"
PAGE 59
Page de liste des achats :
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... "
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
PAGE 64