Académique Documents
Professionnel Documents
Culture Documents
Département Informatique
Rapport De Stage Ingénieur
Encadré par :
Mr. Neffati Ahmed
Période de stage :
Du 01/07/2023 jusqu’à 31/08/2023
1
Table des matières
Introduction Générale.........................................................................................................5
Chapitre I : Présentation générale l’entreprise..........................................................................6
I.1 Introduction...............................................................................................................6
I.2 Présentation de l’organisme de l’acceuil....................................................................6
I.2.1 Fiche d’identité...........................................................................................................6
I.2.2 Secteurs d’activités.....................................................................................................6
I.3 Conclusion..................................................................................................................6
Chapitre II : Spécification des besoins.................................................................................7
II.1 Introduction...............................................................................................................7
II.2 Présentation du projet...............................................................................................7
II.3 Objectifs globaux du projet........................................................................................7
II.4 Identification des besoins fonctionnels......................................................................8
II.4.1 Besoins fonctionnels...........................................................................................8
II.4.2 Besoins non-fonctionnels....................................................................................8
Conclusion.......................................................................................................................8
Chapitre III : Architecture et Conception..............................................................................9
III.1 Introduction.............................................................................................................9
III.2 Conception générale.....................................................................................................9
III.2.1 Architecture générale............................................................................................9
III.2.2 Architecture technique.......................................................................................9
III.2.2.1 Architecture du BackEnd...............................................................................10
III.2.2.2 Architecture du FrontEnd..............................................................................11
III.3 Conception détaillée...............................................................................................11
III.3.1 Diagramme de classes......................................................................................12
Conclusion.....................................................................................................................12
Chapitre IV : Développement et Réalisation.................................................................13
IV.1 Introduction...........................................................................................................13
VI.2 Environnement logiciel...........................................................................................13
VI.2.1 Outils de développement.................................................................................13
VI.2.2 Framework et langages de programmation......................................................14
VI.2.3 Choix techniques..............................................................................................15
VI. 3 Présentation de l’application.......................................................................................16
VI. 3 .1 Interface d’accueil................................................................................................16
2
VI. 3 .2 Interface du Login..........................................................................................16
VI. 3. 4 Interface administrateur................................................................................18
La capture présente l'interface administrateur du site, qui est la partie réservée aux
administrateurs du site. Cette interface est conçue pour faciliter la gestion efficace des
opérations liées au site e-commerce
...........................................................................................................................................
18
VI. 3. 5 Interface Add New Product............................................................................18
VI. 3.6 Interface de Show Product Details...................................................................19
VI. 3.7 Interface de View Photo..................................................................................19
VI. 3.8 Interface de Update Product...........................................................................20
Conclusion Générale..........................................................................................................21
3
Remerciements
Nous tenons par cette humble occasion à présenter nos profonds sentiments de
remerciements les plus dévoués et notre gratitude la plus sincère à notre
encadreur Mr, Naffeti Ahmed pour l’aide et le support tout au long de ce projet,
vos précieux conseils ont été d’un grand apport, autant sur le plan professionnel
que personnel et qui a gardé un oeil attentif sur le déroulement et l’avancement
de ce projet en ayant toujours des remarques .
4
Introduction Générale
Le commerce électronique, ou E-commerce, a connu une croissance exponentielle ces
dernières années, transformant radicalement la façon dont les consommateurs
interagissent avec les produits et les services. Grâce à Internet, les frontières
géographiques sont abolies et les transactions peuvent être réalisées à tout moment et
depuis n'importe quel endroit.
Notre projet vise à créer une plateforme de commerce en ligne complète, offrant aux
utilisateurs une expérience d'achat pratique, sécurisée et personnalisée. Nous croyons
fermement que le succès d'une entreprise dans le domaine de l'E-commerce repose sur
la facilité d'utilisation de son site web, la qualité de son design, la pertinence de ses
fonctionnalités et la fiabilité de son système de paiement.
5
Chapitre I : Présentation générale
l’entreprise
I.1 Introduction
Ce chapitre a pour objectif de situer le stage dans son contexte général à savoir
l’organisme d’accueil : sa création et ses services.
I.3 Conclusion
Ce chapitre a donné l’occasion de présenter l’entreprise accueillante Wimobi.
Dans le
chapitre suivant, je vais présenter le projet du stage et parler des outils et des
languages nécessaires pour effectuer les tâches de développement.
6
Chapitre II : Spécification des besoins
II.1Introduction
Dans ce chapitre composé de trois parties, nous exposons en premier lieu la
présentation du projet. La deuxième partie est consacré aux objectifs globaux du projet
et finalement identification des besoins (fonctionnel et non fonctionnel) .
II.2Présentation du projet
Mon projet consiste à la conception et le développement d’une application web de
E-commerce .
Notre application crée pour chaque acteur (utilisateur et administrateur) un espace sur
lequel il peut bénéficier des fonctionnalités qui lui ai accordé selon son rôle.
Ces fonctionnalités sont principalement les suivants :
• Consulter les produits dans le site (utilisateur) .
• Gérer les commandes (utilisateur + administrateur).
• Gérer les catégories et les produits (administrateur) .
• Gérer les produits (administrateur) .
II.3Objectifs globaux du projet
7
• Offrir une expérience d'achat conviviale : Nous souhaitons mettre l'accent sur la
convivialité de l'interface utilisateur, en veillant à ce que les utilisateurs puissent
facilement rechercher, filtrer et comparer les produits, et passer commande de manière
intuitive.
• Un utilisateur peut visualiser les produits et mettre son review pour chaque
produit.
II.4.2Besoins non-fonctionnels
• Performance : Le site web doit être rapide et réactif, avec des temps de chargement
rapides pour offrir une expérience utilisateur fluide. Il doit pouvoir gérer efficacement
un grand nombre de requêtes simultanées et maintenir une bonne performance même
en cas de trafic élevé.
Conclusion
Ce premier chapitre a été consacré à la présentation et la mise du projet dans son cadre
général avec l’analyse de besoin.
8
Chapitre III : Architecture et Conception
III.1 Introduction
Dans ce chapitre nous allons présenter les différents types de conception du projet:
• conception de l’architecture
• conception détaillée
En conséquence, on va présenter les architectures utilisés dans BackEnd et le
FrontEnd, le diagramme de classes .
9
III.2.2.1 Architecture du BackEnd
L'architecture typique d'une application Spring Boot suit souvent le modèle MVC
(Modèle-Vue-Contrôleur), bien que Spring Boot encourage la séparation claire des
préoccupations et offre une flexibilité considérable. Voici comment chaque composant
s'intègre dans l'architecture d'une application Spring Boot :
Modèle (Model) :
Dans une application Spring Boot, le modèle représente généralement les données et
la logique métier. Les classes d'entité, souvent annotées avec @Entity (si vous utilisez
JPA), définissent la structure des données stockées dans la base de données.
Contrôleur (Controller) :
Les contrôleurs sont responsables de la gestion des requêtes HTTP. Ils reçoivent les
demandes des clients, interagissent avec le modèle pour obtenir les données requises
et renvoient une réponse appropriée.
Service (Service) :
10
III.2.2.2 Architecture du FrontEnd
L'architecture d'une application Angular suit un modèle de conception basé sur les
composants. Angular est un framework JavaScript populaire pour le développement
d'applications web monopages (SPA) et suit une architecture modulaire qui facilite la
gestion et la maintenance de l'application. Voici une vue d'ensemble des principaux
composants de l'architecture d'une application Angular :
Modules :
Composants :
Les composants sont les éléments de base de l'interface utilisateur d'une application
Angular. Chaque composant est responsable d'une partie spécifique de l'interface
utilisateur et est généralement constitué d'un fichier de modèle (HTML), d'un
fichier de style (CSS) et d'une classe de contrôleur (TypeScript).
Les composants interagissent les uns avec les autres pour construire l'ensemble de
l'application.
Services :
Les services sont des classes qui contiennent la logique métier de l'application,
notamment la gestion des données, les appels d'API, la gestion de l'état, etc. Les
services sont souvent injectés dans les composants pour partager des données et des
fonctionnalités communes.
11
III.3.1 Diagramme de classes
Ce diagramme est composé 6 classes qui sont : User ,Role, OrderDetail , Product
et ProductImages .
Conclusion :
Dans ce chapitre nous avons présenté l’architecture générale et l’architecture
technique de notre application. Aussi nous avons développé le diagramme de classes
12
Chapitre IV : Développement et Réalisation
IV.1 Introduction
Dans ce chapitre, on va décrire la manière de réalisation de notre projet. Nous
présentons, tout d'abord, l'environnement logiciel utilisé. Ensuite, nous
présentons quelques interfaces graphiques contenant des fonctionnalités qui
correspondent au système que nous avons développé.
13
VI.2.2 Framework et langages de programmation
14
Bootstrap est une bibliothèque frontale composée d'un
ensemble d'outils permettant de concevoir la conception
des applications et des sites Web. Elle contient des codes
HTML, CSS, JavaScript, des composantes graphiques
(boutons, formulaires...) et des extensions JavaScript pour
simplifier le développement des interfaces côté client.
L'utilisation de Spring Boot et Angular ensemble est une combinaison puissante pour
le développement d'applications web. Voici quelques raisons courantes pour lesquelles
ces deux technologies sont souvent choisies conjointement :
Architecture Full Stack : Spring Boot est idéal pour le développement côté
serveur, tandis qu'Angular est un excellent choix pour le développement côté client.
Cette séparation des préoccupations permet de créer une architecture full stack où
chaque technologie se concentre sur sa propre sphère de compétence.
Sécurité : Spring Boot propose des fonctionnalités de sécurité robustes, telles que
Spring Security, pour protéger l'application. Angular offre une protection contre les
failles de sécurité courantes, notamment la protection contre les attaques XSS (Cross-
Site Scripting) et CSRF (Cross-Site Request Forgery), par défaut.
15
VI. 3 Présentation de l’application
On présentera notre application à travers une série de captures d’écran, chacune
représentant une fonctionnalité du système.
La capture présente l'interface d'accueil d'un site e-commerce E shopper, qui est la
page principale où les utilisateurs arrivent lorsqu'ils visitent le site.
L'interface est soigneusement conçue pour attirer l'attention et offrir une expérience
conviviale aux visiteurs.
16
VI. 3.3 Interface de Product details
La capture présente l'interface de "Product Details" du site , qui est la page dédiée à la
présentation détaillée d'un produit spécifique. L'interface est conçue pour fournir aux
utilisateurs toutes les informations essentielles dont ils ont besoin pour prendre une
décision d'achat éclairée et aussi l’apparition d’autres produits au dessous de
description.
17
VI. 3. 4 Interface administrateur :
La capture présente l'interface administrateur du site, qui est la partie réservée aux
administrateurs du site. Cette interface est conçue pour faciliter la gestion efficace
des opérations liées au site e-commerce .
L'interface "Add New Product" dans notre projet de vente de tableaux de peinture est
un élément essentiel pour l'enrichissement de notre catalogue.
18
VI. 3.6 Interface de Show Product Details :
L'interface "Show Product Details" dans notre projet de vente de tableaux de peinture
offre aux visiteurs et aux clients une expérience immersive pour explorer nos œuvres
d'art.
19
VI. 3.8 Interface de Update Product :
L'interface "Update" dans notre projet de vente de tableaux de peinture est un outil essentiel
pour les administrateurs ou les vendeurs afin de maintenir notre catalogue à jour. Cette
interface intuitive permet de modifier facilement les informations liées à un tableau, que ce
soit pour corriger des détails, mettre à jour des prix, ou ajouter de nouvelles œuvres à notre
collection.
2
Conclusion Générale
Ce stage m'a offert une précieuse opportunité d'approfondir mes compétences dans l'analyse,
la recherche et le développement web. Le projet sur lequel j'ai travaillé consistait à concevoir
et développer le site web l’art en vente, une plateforme permettant aux utilisateurs de créer
et gérer des demandes de services, indépendamment de la catégorie ou du domaine de
travail.
Au cours de mon stage, j'ai eu l'occasion de m'initier à de nouveaux langages de
programmation et d'explorer de nouveaux outils de développement. Cette expérience m'a
permis d'élargir mes connaissances théoriques en matière de développement web. J'ai
également acquis une expertise technique précieuse, notamment en matière de recherche et de
communication au sein de l'entreprise