SlideShare a Scribd company logo
1 of 52
Download to read offline
‫ﺍ‬‫ﺍﻟﺘﻘﻨﻲ‬ ‫ﺍﻟﺘﻌﻠﻴﻢ‬ ‫ﻸﺳﺎﺗﺬﺓ‬ ‫ﺍﻟﻌﻠﻴﺎ‬ ‫ﻟﻤﺪﺭﺳﺔ‬
‫ﺍﻟﻤحﻤﺪيﺔ‬
‫ﺍﻟﺒﻴﻀﺎﺀ‬ ‫ﺑﺎﻟﺪﺍﺭ‬ ‫ﺍﻟﺜﺎﻧﻲ‬ ‫ﺍﻟحﺴﻦ‬ ‫ﺟﺎﻣﻌﺔ‬
E N S E T
Ecole Normale Supérieure de l’Enseignement
Technique Mohammedia
Université Hassan II de Casablanca
ENSET, Avenue Hassan II - B.P. 159 - Mohammedia - Maroc
 05 23 32 22 20 / 05 23 32 35 30 – Fax : 05 23 32 25 46 - Site Web: www.enset-media.ac.ma
E-Mail : contact@enset-media.ac.ma
Département Mathématiques et Informatique
Rapport de Stage Ingénieur
Filière :
« Génie du Logiciel et des Systèmes Informatiques Distribués »
GLSID
Lieu du stage : REC Média à Agadir
Soutenu le 16/11/2018
Année Universitaire : 2018-2019
Réalisation d’une application web
de gestion commerciale
Réalisé par : Encadré par :
Abdessamad REDOUANI M. El hassan BOUTHANOUTE
M. Ibrahim SIMALI
Remerciement
Je tiens à adresser mon profonde extrême et gratitude à tous ceux qui m’ont aidé, de près ou
de loin, à réaliser ce modeste projet.
Je tiens aussi à remercier M. El hassan BOUTHANOUTE et M. Ibrahim SIMALI d’avoir
m’encadrer tout au long de la période de ce stage. Ils ont été toujours disponibles, à l’écoute
de mes nombreuses questions, et toujours intéressés par l’avancement de mon travail.
Je remercie également le corps professoral de la filière Génie du Logiciel et des Systèmes
Informatiques Distribués qui a été toujours présent pour assurer la bonne formation dans le
domaine concerné.
Enfin je tiens à remercier également les membres du jury qui ont accepté d’évaluer mon
travail.
Sommaire
Remerciement
Sommaire
Table des figures
Introduction............................................................................................................................................. 1
Chapitre I : Contexte générale du projet
1. Présentation de l’établissement d’accueil ...................................................................................... 3
1.1. Situation géographique :............................................................................................................. 3
1.2. Activité, lieu, objectif................................................................................................................... 3
1.3. Structure et effectif de l'entreprise :........................................................................................... 4
1.4. Clients de REC Media :................................................................................................................. 4
1.5. Partenaires de REC Media :......................................................................................................... 5
1.6. Valeurs clés de REC Media .......................................................................................................... 5
2. Cahier des charges........................................................................................................................... 6
2.1. Mission (objectif)......................................................................................................................... 6
2.2. Organisation du projet (démarche et méthodologie)................................................................. 6
2.3. Besoins et fonctionnalités techniques et métiers....................................................................... 7
Chapitre II : Conception et modélisation
1. La méthode UML............................................................................................................................. 9
2. Diagrammes de cas d’utilisation ..................................................................................................... 9
3. Diagramme de classes................................................................................................................... 16
Chapitre III : Réalisation de l’application
1. Les outils de développement ........................................................................................................ 20
1.1. Logiciels et outils utilisés........................................................................................................... 20
1.2. Langages utilisés........................................................................................................................ 21
1.3. Technologies et bibliothèques utilisés ...................................................................................... 21
2. La création du projet..................................................................................................................... 24
2.1. Structure de projet ..................................................................................................................... 24
2.2. Configuration de sécurité ........................................................................................................... 26
3- Les interfaces réalisées.................................................................................................................. 28
Conclusion............................................................................................................................................. 46
Webographie......................................................................................................................................... 47
Table des figures
Figure 1: Logo de l'entreprise REC Media ............................................................................................... 3
Figure 2: Situation géographique de l'entreprise REC Media ................................................................. 3
Figure 3: Clients de REC Media................................................................................................................ 4
Figure 4: Partenaires de REC Media........................................................................................................ 5
Figure 5: Diagramme de cas d'utilisations ............................................................................................ 10
Figure 6: Diagramme de cas d'utilisation : gestion de produits............................................................ 11
Figure 7: Diagramme de cas d'utilisation : gestion des clients ............................................................. 12
Figure 8: Diagramme de cas d'utilisation : gestion des fournisseurs.................................................... 12
Figure 9: Diagramme de cas d’utilisation : gestion des dossiers........................................................... 13
Figure 10: Diagramme de cas d'utilisation : gestion des commandes.................................................. 14
Figure 11: Diagramme de cas d'utilisation : gestion des factures......................................................... 14
Figure 12: Diagramme de cas d'utilisation : gestion des utilisateurs.................................................... 15
Figure 13: Diagramme de classes.......................................................................................................... 17
Figure 14: Architecture Spring Boot...................................................................................................... 24
Figure 15: Structure de projet............................................................................................................... 25
Figure 16: Formulaire d'authentification .............................................................................................. 28
Figure 17: Template web de l'application............................................................................................. 29
Figure 18: Tableau de bord ................................................................................................................... 30
Figure 19: Interface de statistiques....................................................................................................... 31
Figure 20: Interface de gestion de dossiers .......................................................................................... 33
Figure 21: interface de gestion de produits .......................................................................................... 34
Figure 22: Interface de gestion de clients ............................................................................................. 35
Figure 23: Interface de gestion de fournisseurs.................................................................................... 36
Figure 24: La liste des commandes ....................................................................................................... 37
Figure 25: Commande d'achat .............................................................................................................. 38
Figure 26: Commande de vente............................................................................................................ 38
Figure 27: Formulaire d'ajout/modification de commande.................................................................. 39
Figure 28: Liste des factures.................................................................................................................. 40
Figure 29: Détails d'une facture ............................................................................................................ 40
Figure 30: Exemple de facture en format PDF ...................................................................................... 41
Figure 31: Formulaire d'ajout/modification de facture ........................................................................ 42
Figure 32: Interface de gestion des utilisateurs.................................................................................... 43
Figure 33: Liste des permissions............................................................................................................ 43
Figure 34: Informations de la société.................................................................................................... 44
Figure 35: Page non trouvé (404).......................................................................................................... 45
Figure 36: Page accès refusé(403)......................................................................................................... 45
1
Introduction
Pour assurer une formation professionnelle performante aux étudiants, les cours proposés au
sein des établissements sont complétés par un stage permettant de valider les connaissances déjà acquis
tout au long de la formation et de faire une comparaison entre la théorie étudié et la pratique afin de
concrétiser ces connaissances et être plus proche au domaine de l’emploi.
Dans le cadre de la formation à l’Ecole Normale Supérieure de l’Enseignement Technique de
Mohammedia et afin d’appliquer les méthodologies et les notions enseignées tout au long de l’année, je
devais réaliser un stage d’ingénieur d’une durée de huit semaines au sein de de l’entreprise REC Media,
après avoir préparé toutes les obligations et les documents nécessaires pour commencer le projet du
stage, sous la tutelle de son directeur M. BOUTHANOUTE El Hassan.
La mission qui ma a été confiée est tout d’abord, la réalisation d’une application web dynamique de
gestion commerciale avec le Framework Spring Boot, en travaillant sur toutes les fonctionnalités fournit
par celui-ci.
Mon travail s’articulera autour de trois parties dont le premier sera consacré à la présentation générale
de la société, et de présentation de cahier des charges, le deuxième abordera à l’analyse et conception
du problème. Enfin présenter les différentes démarches adoptées pour réaliser l’application. Une
webographie sera également mise à la disposition du lecteur.
2
Chapitre I
Contexte générale du projet
3
Contexte générale du projet
1. Présentation de l’établissement d’accueil
Figure 1: Logo de l'entreprise REC Media
1.1. Situation géographique :
La présente section s’intéresse à la présentation de l’organisme d’accueil qui est le REC Media,
qu’elle est implantée au N° 380 Avenue 9 juillet LKHIAM 1 Agadir.
Figure 2: Situation géographique de l'entreprise REC Media
1.2. Activité, lieu, objectif
Créée en 2015, REC Media est une agence de communication événementielle, spécialisée dans :
► La communication et publicité.
► Développement web & web-marketing.
► Production audiovisuelle.
► Des logiciels de gestion personnalisés.
► La maintenance du réseau informatique.
4
► Des sites internet avec base de données.
► Installation et réparation de matériel informatique.
► Centre de formation agrée (progiciels REC Media et produits Microsoft).
L’objectif de la société est avant tout regrouper un pôle de compétences dynamique qui répond
aux besoins des sociétés, en leur apportant des solutions personnalisées lors d’événements
professionnels et de conseils en communication événementielle. L’avantage de REC Media sur une
grande partie de ses concurrents réside dans le fait qu'est une agence indépendante et innovante, leur
domaines d’interventions sont multiples : Conférence, web séminaire, e-conférence, forum, vœux,
événements institutionnels, inventives, kick off, lancement de produits, relations publiques, séminaires
interne / externe, soirées d’entreprises, team Building.
1.3. Structure et effectif de l'entreprise :
REC Media est une filiale de l’entreprise SARL qui elle s’occupe de l’organisation des
événements dans une agence à Agadir.
 Le design des images et le montage des vidéos sont réalisés par des indépendants « free-
lance » qui sont rémunérés au prorata de leurs travaux.
 Mr Mouad Dibe, responsable de la production audiovisuelle et multimédia.
 Le gérant de l’agence (BOUTHANOUTE El Hassan, Fondateur et Directeur de la société)
s’occupe de la maintenance du site internet et des commandes passées par les clients.
1.4. Clients de REC Media :
Tout en développant son activité, REC Media veille à maintenir une grande diversification de sa
clientèle et des secteurs d’activités auxquels elle s’adresse, de façon à contenir le risque de concentration
sur un nombre restreint de Clients.
Figure 3: Clients de REC Media
5
1.5. Partenaires de REC Media :
Figure 4: Partenaires de REC Media
1.6. Valeurs clés de REC Media
Des valeurs clés caractérisent REC Media, telles :
 L’excellence : c’est l’essence même de la culture REC Media. L’expertise, reconnue par les
clients, les partenaires est l'expression de la motivation et de l'engagement du REC Media.
 Le dynamisme et l’innovation : REC Media évolue en permanence, innove et sait se remettre
en question. REC Media est une société vivante qui ne se satisfait pas d’un schéma type, mais
qui recherche sans cesse des idées pour progresser. REC Media encourage fortement ceux
qui vont de l’avant.
 L’esprit d’équipe : chaque personne est à l’écoute et prêt à apporter son soutien chaque fois
que ses compétences le permettent. Le partage est reconnu comme une valeur essentielle du
REC Media et indispensable au développement de tous.
6
2. Cahier des charges
2.1. Mission (objectif)
Une bonne gestion d'entreprise passe indéniablement par une bonne gestion commerciale qui
permet de piloter une entreprise. En effet, la gestion commerciale permet par exemple de fixer un prix
de vente, de suivre l'évolution de ses stocks ou encore d'accéder rapidement aux informations d'un
client ou d'un fournisseur. La gestion commerciale donne les indices qui permettent aux dirigeants de
prendre les bons choix stratégiques.
Aujourd’hui la gestion commerciale nécessite l’utilisation des technologies d’informatique pour la rendre
plus efficace et plus rapide, de minimiser la perte d’informations qui freinent le processus de
développement de l’entreprise. Pour cela l’objectif principal de mon projet est la création d’une
application Web qui permet aux directeurs des entreprises de gérer les commandes/factures d’une
manière facile. De plus, consulter facilement les statistiques des achats et des ventes effectuées
automatiquement.
2.2. Organisation du projet (démarche et méthodologie)
Après que j’ai reçu le sujet de ce projet, il était obligatoire de déterminer une méthode à suivre
durant le développement de l’application. Pour cela je prends en considérations trois phases à procéder
qui sont présentés dans la figure ci-dessous :
 Phase préparatoire :
 Analyse du sujet à l’aide des documents primaire fournit pour mettre sur écrit ce qu’il faut
faire et comment le faire.
 En se fixant des objectifs et les moyens en actions.
 Déterminer la méthode avec laquelle on souhaite réaliser les objectifs.
 Phase de réalisation :
 Mise en place des objectifs avec les moyens prévus à cet effet (planification)
 La mise en œuvre de ressources et les outils de développements
 Phase d’évaluation :
 Vérifier que les objectifs fixés sont atteints.
 Vérifier si les moyens ont répondus, aux attentes.
Phase
préparatoire
Phase de
réalisation
Phase
d'évaluation
7
2.3. Besoins et fonctionnalités techniques et métiers
L’application attendu doit répondre aux certains fonctionnalités techniques et métiers. Il doit
permettre aux utilisateurs de :
 Gérer les produits.
 Gérer les commandes.
 Gérer les factures.
 Gérer les clients.
 Gérer les fournisseurs.
 Gérer les utilisateurs.
 Consulter toutes les statistiques.
Pour aboutir réaliser les objectives de ce projet, il faut faire une étude conceptuelle, comme une
première phase, qui consiste à formuler le problème à résoudre d’une manière objective, simple,
cohérente et complète.
Le suivant chapitre présente le travail fait durant cette phase, à travers les diagrammes UML les plus
utilisés, à savoir le diagramme de cas d’utilisation et le diagramme de classes correspondant au projet.
8
Chapitre II
Conception et modélisation
9
Conception et modélisation
1. La méthode UML
Apres avoir déterminé les différents besoins, les fonctionnalités métiers et techniques et les règles
de gestion de l’application, la réalisation de celle-ci est doit passer par l’étape de conception, l’étape la
plus importante parce qu’elle présente la base sur laquelle l’application est réalisé.
Afin d’avoir une conception clair, j’ai décidé d’utiliser la méthode UML à l’aide du logiciel « Entreprise
Architect », en regardant les modèles qu’elle fournit, tel que le diagramme de classes, de cas d’utilisation
et le diagramme de séquence etc…
2. Diagrammes de cas d’utilisation
Les diagrammes de cas d'utilisation sont des diagrammes UML utilisés pour donner une vision globale
du comportement fonctionnel d'un système logiciel. Ils sont utiles pour des présentations auprès de la
direction ou des acteurs d'un projet, mais pour le développement, les cas d'utilisation sont plus
appropriés.
Un cas d'utilisation représente une unité discrète d'interaction entre un utilisateur (humain ou machine)
et un système. Il est une unité significative de travail. Dans un diagramme de cas d'utilisation, les
utilisateurs sont appelés acteurs (Actors), ils interagissent avec les cas d'utilisation (Use cases).
Le diagramme suivant représente les différents cas d’utilisations principaux qui définissent le
fonctionnement de l’application à réaliser.
10
Figure 5: Diagramme de cas d'utilisations
Les acteurs qui interagissent avec le system d’application sont limites dans deux acteurs ;
Administrateur et Utilisateur. L’objectif de mettre l’acteur Utilisateur est simplifier la représentation des
cas d’utilisation qui sont communes entre les deux acteurs fils.
Grace à l’outil de modélisation Entreprise Architect qui fournit la fonctionnalité de regroupement des
cas d’utilisations, ce diagramme regroupe plusieurs cas d’utilisation sous forme des packages dont
chaque package désigne un module ou une partie du système. Il existe six diagrammes de cas
d’utilisations pour :
Entre outre, le diagramme de cas d’utilisation qui concerne la gestion d’utilisateurs qui prend la partie
particulière pour un administrateur. Les détails de ces diagrammes seront présentés dans la suite.
 Gestion des dossiers
 Gestion des commandes
 Gestion des factures.
 Gestion des clients
 Gestion des fournisseurs
 Gestion des produits
11
Figure 6: Diagramme de cas d'utilisation : gestion de produits
Le diagramme de gestion de produits contient onze cas d’utilisation qu’un utilisateur peut
réaliser ; il peut ajouter ou modifier un produit avec l’affectation du TVA et de catégorie correspondant.
En même temps s’il n’existe pas de catégorie ou de TVA souhaité, il a la possibilité de les ajouter, modifier
ou de les supprimer selon le besoin.
L’affectation d’une catégorie et de TVA est obligatoire dès la première fois qu’on ajoute un produit. Et
facultatif dans le cas de mise à jour.
12
Figure 7: Diagramme de cas d'utilisation : gestion des clients
Le diagramme de cas d’utilisation de gestion des clients constitué de 3 principales cas classique
qui sont l’ajout, la suppression et la mise à jour d’un client.
La même chose pour le diagramme de cas d’utilisation représentant la gestion des fournisseurs ci-
dessous :
Figure 8: Diagramme de cas d'utilisation : gestion des fournisseurs
13
Figure 9: Diagramme de cas d’utilisation : gestion des dossiers
Le diagramme ci-dessus représente les cas d’utilisation à réaliser par un utilisateur en ce qui
concerne les dossiers contenant de documents commerciale.
L’utilisateur gère les dossiers en :
- Création d’un nouveau dossier
- Modification d’un dossier existant
- Consultation d’un dossier
- Fermeture d’un dossier
- Suppression d’un dossier
14
Les deux diagrammes suivant représentent l’interaction d’utilisateur avec le système de gestion des
commandes et de factures. L’utilisateur a la possibilité de :
 Consulter les informations d’une commande
 ajouter une nouvelle commande
 Corriger une commande (Mise à jour d’informations)
Figure 10: Diagramme de cas d'utilisation : gestion des commandes
En ce qui concerne les systèmes de gestion des factures, l’utilisateur peut :
 Ajouter une facture
 Consulter une facture
 Valider une facture
 Corriger une facture
 Supprimer une facture
 Valider une commande
 Supprimer une commande
Figure 11: Diagramme de cas d'utilisation : gestion des factures
15
Figure 12: Diagramme de cas d'utilisation : gestion des utilisateurs
Ce diagramme est réservé seulement pour les administrateurs comme acteurs. Il représente les
opérations qui peuvent être réalisé dans le système de gestion des utilisateurs.
Un administrateur peut ajouter un nouvel utilisateur en lui affectant au moins une permission qui est
nécessaire.
Un administrateur a la possibilité de modifier les informations d’un utilisateur soit :
- Mise à jour de ses informations
- Affectation des permissions
- Retire des permissions
- Activation ou désactivation de son compte
Enfin l’administrateur a le droit de supprimer un utilisateur.
16
Le diagramme des cas d’utilisation ne présente pas totalement le système d’application, car il s’agit
seulement d'une représentation qui indique les actions qu’un acteur peut faire sur ceci. Alors, les
questions qui se posent s’arrêtent sur la manière et les objets sur lesquels ces actions interagissent.
3. Diagramme de classes
La méthode UML fournit le diagramme de classes, un schéma utilisé en génie logiciel pour présenter
les classes et les interfaces des systèmes ainsi que les différentes relations entre celles-ci. Ce diagramme
fait partie de la partie statique d'UML car il fait abstraction des aspects temporels et dynamiques.
Une classe décrit les responsabilités, le comportement et le type d'un ensemble d'objets. Les éléments
de cet ensemble sont les instances de la classe. C’est un ensemble de fonctions et de données (attributs)
qui sont liées ensemble par un champ sémantique.
Les classes sont utilisées dans la programmation orientée objet. Elles permettent de modéliser un
programme et ainsi de découper une tâche complexe en plusieurs petits travaux simples. Elles peuvent
être liées entre elles grâce au mécanisme d'héritage qui permet de mettre en évidence des relations de
parenté. D'autres relations sont possibles entre des classes, chacune de ces relations est représentée par
un arc spécifique dans le diagramme de classes. Elles sont finalement instanciées pour créer des objets.
Elles sont finalement instanciées pour créer des objets (une classe est un moule à objet : elle décrit les
caractéristiques des objets, les objets contiennent leurs valeurs propres pour chacune de ces
caractéristiques lorsqu'ils sont instanciés)
Le suivant diagramme représente toutes les classes qui font les parties structurales et données de
l’application.
17
Figure 13: Diagramme de classes
Le diagramme contient quinze classes déférents et liant entre elle par des diverses relations :
 La classe Produit
Il contient les attributs suivant : la désignation d’un produit, son prix, la quantité en stock,
quantité d’alerte et la référence. De plus, cette classe a des relations d’association avec d’autres
classes telles que TVA et Catégorie ;
Un produit appartient à une seule catégorie et ne peut avoir qu’une seule TVA qui se caractérise par
une désignation et un taux.
 La classe Stock
Définie par la quantité en stock et la date de son changement, elle concerne un seul produit.
Cependant un produit peut avoir plusieurs stocks.
 La classe Personne : c’est une spécification des deux classes Fournisseur et Client.
- La classe Fournisseur se caractérise par une adresse, le capital, l’email, le numéro de fax, le
numéro de téléphone, la raison sociale et un code.
- La classe Client se caractérise par l’adresse, l’âge, le nom et un numéro de téléphone.
 La classe dossier
18
Défini par son nom, son numéro et la date de sa création et la date de fermeture. Un dossier peut
contenir plusieurs commandes et plusieurs factures, alors qu’une facture ou une commande ne peut
être enregistré que dans un seul dossier.
 Classe Commande
Une commande peut contient une ou plusieurs lignes de commande, alors qu’une ligne ne
concerne qu’une seule commande. Une ligne de commande concerne un seul produit et défini la
quantité de ce produit et son prix de vente ou d’achat. La commande concerne soit un fournisseur
ou un client.
 La classe Facture
Une facture concerne une seule commande, ainsi un fournisseur (facture d’achat) ou bien un
client (facture de vente), contient au moins une ligne de facture. De plus elle peut avoir une
réduction et une règlemente ou plusieurs et une seule livraison.
En se basant sur ces diagrammes des cas d’utilisation et de classes données créés dans la phase de
conception, on peut maintenant commencer la phase de réalisation, à construire l’application dont les
deux parties Front-End et Back-End.
19
Chapitre III
Réalisation de l’application
20
Réalisation de l’application
1. Les outils de développement
La réalisation de cette application a besoin d’utilisation de plusieurs logiciels, des langages pour
implémenter, des technologies et des Frameworks afin de créer la conception de l’application, dans la
phase de conception, les traitements principaux de côté serveur, et la mise en page/forme des interfaces
graphiques et d’autres options dans la phase de réalisation.
1.1. Logiciels et outils utilisés
1.1.1. Entreprise Architect
Un logiciel de modélisation et de conception UML, édité par la société
australienne Sparx Systems. Couvrant, par ses fonctionnalités,
l'ensemble des étapes du cycle de conception d'application, il est l'un des
logiciels de conception et de modélisation les plus reconnus.
1.1.2. IDE Eclipse
- IDE Eclipse L’entreprise a choisi de développer sur l’IDE Eclipse.
C’est donc sur cet environnement que j’ai réalisé mes
développements. Cela a permis d’utiliser les outils déjà mis en
place pour le projet comme par exemple le module Spring Boot
qui permet de lancer facilement un serveur en local.
1.1.3. XAMP
Un ensemble de logiciels permettant de mettre en place facilement un
serveur Web confidentiel, un serveur FTP et un serveur de messagerie
électronique. Il s'agit d'une distribution de logiciels libres (X (cross) Apache
Maria DB Perl PHP) offrant une bonne souplesse d'utilisation, réputée pour
son installation simple et rapide.
21
1.2. Langages utilisés
HTML : L’HyperText Markup Language est un langage de balisage, le
format de données conçu pour représenter les pages web.
CSS : Les feuilles de style en cascade (Cascading Style Sheets), forment
un langage informatique qui décrit la présentation des documents HTML
et XML.
JavaScript : un langage de programmation de scripts orienté objet à prototype,
principalement utilisé dans les pages web interactives.
1.3. Technologies et bibliothèques utilisés
1.1.4. Java Enterprise Edition (JEE)
La plateforme Java entreprise (Java EE) est un ensemble de spécifications coordonnées et
pratiques qui permettent un ensemble des solutions pour le développement, le déploiement, et de la
gestion des applications multi tiers centralisées sur un serveur. Construit sur la plateforme de Java 2
édition standard (Java SE), la plateforme Java EE ajoute les possibilités nécessaires pour fournir une
plateforme complète, stable, sécurisée, et rapide de Java au niveau entreprise.
1.1.5. Java 8
Java 8 est la dernière version de Java et offre notamment la possibilité d’utiliser des lambda
expressions, une nouvelle API de gestion de dates et heures ainsi que l'utilisation des “Optionals” qui
permettent une meilleure gestion des références null.
1.1.6. Spring Boot
Spring Boot est un framework qui permet la mise en
place d’application Spring rapidement et facilement. Il se
base sur le Framework Spring et permet de s’affranchir de
la plupart des configurations de celui-ci à mettre en place
pour créer une application.
Les principales fonctions :
Java : un langage de programmation orienté objet créé par James
Gosling et Patrick Naughton, La particularité et l'objectif central de Java
est que les logiciels écrits dans ce langage doivent être très
facilement portables sur plusieurs systèmes d’exploitation
22
- Une gestion des dépendances Spring simplifiée
- Un déploiement facilité
- Intégrez directement Tomcat, Jetty ou Undertow (inutile de déployer des fichiers WAR)
- La configuration automatique de bibliothèques Spring et autres
- La configuration des propriétés externes plus lisible
- Facilités pour créer des repositories
- Des possibilités de déclarer des sorties JSON multiples
- L’exposition des ressources par REST juste avec une annotation
- Aucune génération de code et aucune exigence pour la configuration XML
1.1.7. Spring Security
Spring Security, est un contrôleur d’authentification flexible et puissant pour assurer une
application Web Java basé sur Spring.
1.1.8. Hibernate Framework
Est un Framework open source gérant la persistance des objets en base de données relationnelle.
Hibernate est adaptable en termes d'architecture, il peut donc être utilisé aussi bien dans un
développement client lourd, que dans un environnement web léger de type Apache Tomcat ou dans un
environnement Java EE complet : WebSphere, JBoss Application Server et Oracle WebLogic Server
1.1.9. BOOTSTRAP
Un Framework développé par l'équipe du réseau social Twitter,
utilisant les langages HTML, CSS et JavaScript fournit aux développeurs des
outils pour créer un site facilement. Il sert à développer des sites avec un
design responsive, qui s'adapte à tout type d'écran.
Il fournit des outils avec des styles déjà en place pour des typographies, des
boutons, des interfaces de navigation et bien d'autres encore.
1.1.10. FusionCharts
Une bibliothèque JavaScript de cartographie propose aux
développeurs un composant pour intégrer des graphiques de toutes
sortes sur un site Internet de manière simple et efficace. Ce module
permet de créer des graphes animés et interactifs, pratique pour des
présentations en ligne ou des applications Web.
23
1.1.11. Maven
Maven est un outil permettant d'automatiser la gestion de projets Java.
Il offre entre autres les fonctionnalités suivantes :
 Compilation et déploiement des applications Java (JAR, WAR)
 Gestion des librairies requises par l'application
 Exécution des tests unitaires
 Génération des documentations du projet (site web, pdf, Latex)
 Intégration dans différents IDE (Eclipse, JBulder)
24
2. La création du projet
2.1. Structure de projet
La création de projet Spring Boot nécessite la mise en place d’une organisation de sa structure
suivant les couches et les modules que Spring fournit.
L'illustration ci-dessous montre la structure de Spring Boot :
Figure 14: Architecture Spring Boot
 IoC Container : C'est la base la plus importante et également la base, le fondement du Spring. C'est
le rôle de la configuration et de la gestion de dépendances et la gestion du cycle de vie des objets
Java
 Il fait La configuration automatique pour lier les implémentations à leurs interfaces (injection
de dépendances)
 WEB : il contient un serveur web Tomcat et l’ensemble des contrôleurs qui permet de traiter les
requêtes. Ainsi, l’ensemble des vues HTML.
 Métier : il contient les interfaces des métiers et les implémentations.
 DAO : Contient toutes les classes Repository permettant l’accès à la base de données
HTML
CSS
Spring Boot IOC Containner
WEB Métier DAO
Serveur TomCat
Contrôleurs
Vues
Spring MVC
Spring
Security
Interfaces
Métiers
Implémentations
Métiers
Browser
Spring Data
JPA
Hibernate
JDBC
HTTP
HTML
Entités
JPARepository
25
Suite à cette architecture, la structure du projet est comme suit :
Il compose de huit package
- Package de base gc.rec qui contient la main pour le
démarrage de l’application.
- Packages DAO : gc.rec.dao et gc.rec.entities
- Packages métier : gc.rec.imetier et gc.rec.metier
- Packages WEB : gc.rec.web
- Package pour la configuration de securité :
gc.rec.security
- Package utile : gc.rec.conversions
Figure 15: Structure de projet
26
2.2. Configuration de sécurité
Spring Security est un module incontournable d’une application développée en Spring. Il apporte
tout le nécessaire pour sécuriser une application et il a l’avantage d’être vraiment personnalisable. Les
deux notions essentielles sont : l’authentification (savoir qui je suis) et les autorisations (savoir ce que
j’ai le droit de faire). Spring Security essaye d’apporter une solution à ces deux problématiques.
Pour configurer cette application j’utilise la Java Config. Cette dernière est plus qu’encouragée avec les
dernières versions de Spring. La classe permettant de le créer devra être annotée par
@EnableWebSecurity et hérité de la classe abstraite WebSecurityConfigurerAdapter qui fournit trois
méthodes dont chacune a un rôle :
Authentification
- La méthode configure pour gérer l’authentification : il prend comme paramètre un objet de type
AuthenticationManagerBuilder qui permet de définir quel sera le mode d’authentification des
utilisateurs et de vérifier la cohérence entre les informations saisit et celles qui se trouve dans la base
de donnés.
Autorisations
- La méthode configure pour contrôler l’accès aux ressources, il prend comme paramètre un objet de
type HttpSecurity qui permet de définir des autorisations liées aux requêtes. Par exemple dans notre
application nous avons :
Requête Permission
"/" et "/index" "SHOW_DASHBOARD"
"/statistiques" "SHOW_STATISTIQUES"
"/dossiers" "SHOW_DOSSIERS"
"/commandes" "SHOW_COMMANDES"
"/factures" "SHOW_FACTURES"
"/produits" "SHOW_PRODUCTS"
"/clients" "SHOW_CLIENTS"
"/fournisseurs" "SHOW_FOURNISSEURS"
27
Requête Permission
"/dossiers/add"
"/dossiers/update"
"/dossiers/delete"
"UPDATE_DOSSIERS"
"/commandes/nouveau"
"/commandes/edit"
"/commandes/add"
"/commandes/update"
"/commandes/delete"
"UPDATE_COMMANDES"
"/factures/nouveau"
"/factures/edit"
"/factures/add"
"/factures/update"
"/factures/delete"
"UPDATE_FACTURES"
"/fournisseurs/add"
"/fournisseurs/update"
"/fournisseurs/delete"
"UPDATE_FOURNISSEURS"
"/produits/add"
"/produits/update"
"/produits/delete"
"/familles/save"
"/familles/delete"
"/tva/dave"
"/tva/delete"
"UPDATE_PRODUITS"
"/factures/print" "PRINT_FACTURES"
Chaque utilisateur a un ensemble de permissions et lorsqu’il veut accéder à une ressource, il doit avoir
la permission correspondant à la ressource qui le permet.
- La méthode configure qui prend en paramètre un objet de type WebSecurity permet d’ignorer des
requête à traiter par la classe de configuration de sécurité.
Dans notre application, la requête à ignorer est celle de récupération des ressources statiques telles
que les fichiers css, javascript et des images.
28
3- Les interfaces réalisées
3.1. L’authentification
Figure 16: Formulaire d'authentification
La première page qui s’affiche est la page d’authentification qui compose d’un formulaire dans
lequel un utilisateur doit saisir son identification, ici c’est le nom d’utilisateur et le mot de passe.
Cette page est appelée automatiquement quand un utilisateur fait appel à une requête qui nécessite
une authentification. C’est le module Spring-Security qui occupe de gérer ces requêtes en utilisant la
classe WebSecurityConfigurerAdapter fourni.
Une fois les informations sont correctes, l’application sera redirigée vers la page d’accueil qui contient le
tableau de bord. Dans le cas contraire l’application reste dans la page d’authentification en notifiant
l'utilisateur par un message que les informations saisies sont l'incorrect.
29
3.2. Template utilisé
Figure 17: Template web de l'application
La Template utilisé se compose de quatre parties :
- L’entête (Header) : une barre fixe en haut de la page grâce aux classes de Framework Bootstrap. Il
contient le nom et la location de la page courant, un bouton de changement de thème et un pour la
déconnexion.
- Pied de page (Footer) : Barre en bas de la page, contient le logo de la société et son adresse.
- La barre de menu : une barre fixe à gauche de la page qui peut être caché selon le choix d’utilisateur
et selon la dimension de l’écran. Il contient un ensemble de liens, regroupés selon la catégorie
concerné, permettant d’accéder à tous le contenu de l’application.
Grace au moteur de Template Thymleaf ayant des fonctionnalités telles que : la gestion des Layouts et
des Fragments qui permettent de d’utiliser une seule Template pour toutes les pages de l’application.
En-tête(Header)
Contenu
En-pied (footer)
Barre de menu
30
3.3. Tableau de bord
Figure 18: Tableau de bord
C’est la première page affiché dès l’authentification d’utilisateur. Cette page représente une
vision globale sur les opérations faite pendant des durées différentes.
Cette interface compose de quatre parties :
- Partie haut-gauche : présente le nombre de commandés effectués, les quantités des produits
vendu, le revenu et la croissance du mois courant, ainsi le rapport par rapport au mois dernier.
- Partie haut-droite : un diagramme montre les opérations d’achats, de ventes et les revenus pour
chaque mois de l’année courant.
- Partie gauche-bas : un tableau qui présente les produits les plus vendus.
- Partie bas-droit : un diagramme montre la variation de stock des produits.
31
3.4. L’interface de statistiques
Figure 19: Interface de statistiques
Cette interface présente un ensemble de statistiques qui concerne :
- Les deux diagrammes à barres présentent les ventes : un pour les quantités de produits vendus en
fonction de mois, et l’autre pour les revenues des ventes.
32
- Les achats : Le diagramme à gauche présente les quantités de produits achetés. Et le diagramme à
droite pour les couts d’achats. Tous en fonction de mois.
- Les deux diagrammes à secteurs présentent les différents produits achetés (gauche) et vendus
(droite) pendant l’année courant.
L’utilisateur a la possibilité de filtrer les statistiques à l’aide du
formulaire suivant soit par le choix de :
- Dossier
- L’année
- Le mois
- Le jour
- La catégorie des produits
- Le produit
33
3.5. Interface pour la gestion des dossiers
L’interface ci-dessous contient la liste de dossiers crées par les utilisateurs. L’utilisateur a la
possibilité de rechercher un dossier selon son nom, sa date de création ou par la date quand il ferme. Il
peut les regrouper selon les dossiers fermés ou ouverts. L’interface fournit aussi un bouton permettant
la création d’un nouveau dossier.
Figure 20: Interface de gestion de dossiers
L’ouverture d’un dossier affiche ses détails tel que le nombre de commandes et factures dans ce dossier,
le nombre de produits acheté/vendus et les montants total. De plus l’utilisateur qui créer ce dossier.
34
3.6. Interface de gestion des produits
Cette interface compose d’une liste de produits que la société dispose sous forme d’un tableau
ou il est défini par sept colonnes : la référence de produit, sa désignation, son prix et la famille à quel il
appartient, la quantité en stocke et la quantité d’alerte, De plus une colonne qui contient les bottons
permettant de supprimer ou de la mise à jour d’un produit.
Les quantités en stock sont affichées en vert lorsque ses valeurs sont supérieures aux quantités d’alerte,
et en rouge dans le cas contraire.
En cliquant sur le bouton nouveau, un formulaire pour la saisie d’un nouveau produit s’affiche à gauche
du tableau. La même chose dans le cas de mise à jour.
Figure 21: interface de gestion de produits
35
3.7. Interface de gestion des clients
Figure 22: Interface de gestion de clients
Cette interface contient un tableau de clients qui contient les colonnes suivant : le nom du client,
son prénom, son âge, son adresse, l’e-mail et le numéro de téléphone. Et une colonne de gestion (les
bottons d’ajout, de suppression et de modification)
L’affichage de formulaire d’ajout de nouveau client se fait en cliquant sur le bouton nouveau, et le même
pour le bouton de modification.
36
3.8. Interface de gestion des fournisseurs
Cette interface contient un formulaire de l’ajout de nouveau, ou de modification des informations
d’un fournisseur. Et une liste des fournisseurs déjà existés définies par :
Le code de fournisseur, le nom, l’adresse, le raison social, le capital, l’email, le numéro de téléphone et
le numéro de fax ; et une colonne contenant les boutons de gestion de ces fournisseurs.
Figure 23: Interface de gestion de fournisseurs
37
3.9. Interface de gestion des commandes
Nous avons trois interfaces pour la gestion des commandes :
- La liste des commandes : l’interface nous offre la liste des commandes enregistrés dans un dossier,
et qui sont regrouper en commandes d’achats (fournisseurs) et commandes de ventes (clients)
o Commandes d’achats : présenté sous forme de tableau dont les colonnes sont le numéro,
la date, le fournisseur et la validité de commande.
o Commande de ventes : un tableau contenant les colonnes : numéro, date et la validité de
la commande et le client.
L’utilisateur a la possibilité de filtrer ces commandes soit par la date, la précision du
fournisseur/client et sa validité ou par le saisit de numéro de la commande.
Figure 24: La liste des commandes
- Les détails d’une commande
Les utilisateurs peuvent consulter les détails d’une commande en cliquant sur le bouton
« détails » dans la liste des commandes. Le résultat obtenu présente comme suit :
Elle peut être une commande d’achat ou de vente. Elles contiennent des informations générales telles
que le numéro de commande, la date, sa validité et le nombre de produits commandés. De plus la liste
de produits commandé ; ses quantités, les TVA, les sous-total et le montant total.
La différence entre les deux est que la commande d’achat contient de plus les informations du
fournisseur concerné. Cependant dans la commande de vente, elle contient celles du client.
38
Figure 25: Commande d'achat
Figure 26: Commande de vente
- Formulaire de mise à jour et d’ajout d’une nouvelle commande
L’ajout d’une commande se fait en saisissant la date de commande qui doit respecter un format
spécifique. Il faut aussi déterminer si cette commande est validée ou non, par défaut l’option est
mise à non. La détermination du type de commande soit en choisissant un client (vente) ou un
fournisseur (achat).
L’utilisateur doit au moins ajouter un produit commandé d’après le formulaire à droite, qui
propose une liste des produits avec ses prix, ainsi la saisie de la quantité commandé qui doit être au
minimum égal à 1.
39
La mise à jour d’une commande se fait de la même manière.
Figure 27: Formulaire d'ajout/modification de commande
40
3.10. Interface de gestion des factures
La liste des factures est similaire au celle des commandes.
Figure 28: Liste des factures
Détails d’une facture
Figure 29: Détails d'une facture
Les principales informations d’une facture sont :
- Les informations générales : contient le numéro et la date de la facture. Le nombre de produits
commandés, le total hors taxe et le total toutes taxes comprises TTC
41
- La liste des produits commandés : contient les noms des produits, les prix, les quantités et les sous-
totaux.
- La partie concerné et ses informations : soit un client ou bien un fournisseur.
- Les réductions sur les produits.
- Les règlements
- La livraison : la date et l’adresse (facultatif)
L’interface contient aussi un bouton qui permet d’imprimer la facture en version PDF :
Exemple :
Figure 30: Exemple de facture en format PDF
42
Formulaire de mise à jour et d’ajout d’une nouvelle facture
Figure 31: Formulaire d'ajout/modification de facture
L’utilisateur peut établir la facture à partir d’une commande en cliquant sur le bouton « facturer »
dans la liste des commandes.
La mise à jour ou la modification d’une facture se fait de la même manière que la commande. La
déférence est que lors d’établir de facture, l’utilisateur peut ajouter des options tels que les règlements
de la facture, les réductions, la date et l’adresse de livraison.
43
3.11. Interface de gestion des utilisateurs
Cette interface est accessible seulement par les administrateurs, ils peuvent consulter la liste des
utilisateurs de cette application, les permissions affectés, et les statuts de leurs compte, c’est-à-dire s’ils
sont activé ou non.
Un administrateur peut ajouter ou modifier un utilisateur à l’aide de formulaire affiché à gauche, en
saisissant le nom d’utilisateur qui ne doit pas être existe déjà et un mot de passe, ensuite il doit affecter
au moins une permission.
Figure 32: Interface de gestion des utilisateurs
L’affectation des permissions se fait dans une boite
de dialogue qui sera affiché après la clique sur le
bouton bleu dans la ligne permission
Figure 33: Liste des permissions
44
3.12. Interface de gestion des informations de la société
Cette interface présente les informations et le logo de la société qui utilise cette application. Si
l’utilisateur connecter à l’application est un administrateur il a la possibilité de modifier ces informations.
Figure 34: Informations de la société
45
3.13. Page pour les requêtes introuvables
Cette page s’affiche lorsque l’utilisateur essaye d’accéder à une ressource inexistante dans
l’application.
Figure 35: Page non trouvé (404)
3.14. La page 403 pour les requêtes inaccessible
Figure 36: Page accès refusé(403)
46
Conclusion
Au terme de ce travail, il sera nécessaire de s’interroger sur son efficacité et son
adéquation avec les objectifs tracés initialement.
Ce projet a été très intéressant et enrichissant pour moi car il m’a permis d’améliorer mes
compétences en réalisation du projet, et en développement de l’application web avec un nouvel
outil, Framework Spring, ce qui est un avantage et point de plus pour moi.
De plus, il a été bénéfique et formateur tant sur le plan technique que humain. Techniquement
car j’ai vu améliorer mes compétence dans la programmation web en apprenant notamment le
modèle MVC, la sécurité et le concept ORM du Framework Spring qui permettent d’organiser le
code de manière à ce que celui-ci puisse être plus facilement réutilisable et maintenable.
Enfin, je voudrais signaler que ce stage m’a été bénéfique à plus d’un titre. En effet, il me
permet d’appliquer mes connaissances théoriques et pratiques que j’ai acquises durant mon
curseur universitaire dans le domaine professionnel, et aussi de les améliorer.
47
Webographie
Site officiel de REC Media :
http://www.rec.ma/
Documentation et concepts de base
http://www.wikipedia.com
Framework de développement de mise en page et mise en forme
http://www.bootstrap.com
Bibliothèque de création des diagrammes et graphiques
https://www.fusioncharts.com
Concepts de base de Framework Spring Boot
http://spring.io/projects/spring-boot
Collection des dépendances et bibliothèques nécessaires du projet
https://mvnrepository.com/

More Related Content

What's hot

Conception et developpement d'un site web pour la suggestion et notification ...
Conception et developpement d'un site web pour la suggestion et notification ...Conception et developpement d'un site web pour la suggestion et notification ...
Conception et developpement d'un site web pour la suggestion et notification ...Mohamed Boubaya
 
Rapport pfe-ayoub mkharbach
Rapport pfe-ayoub mkharbachRapport pfe-ayoub mkharbach
Rapport pfe-ayoub mkharbachAyoub Mkharbach
 
Rapport stage
Rapport stageRapport stage
Rapport stageTECOS
 
rapport de projet de fin d'étude_PFE
rapport de projet de fin d'étude_PFErapport de projet de fin d'étude_PFE
rapport de projet de fin d'étude_PFEDonia Hammami
 
Conception et réalisation d’un Système d’information des étudiants du départe...
Conception et réalisation d’un Système d’information des étudiants du départe...Conception et réalisation d’un Système d’information des étudiants du départe...
Conception et réalisation d’un Système d’information des étudiants du départe...Ilyas CHAOUA
 
Projet de fin d'etude gestion informatique
Projet de fin d'etude gestion informatiqueProjet de fin d'etude gestion informatique
Projet de fin d'etude gestion informatiquejihene Ab
 
Rapport final pfe_systeme_de_gestion _de_cabinet_de_formation_mobile_web
Rapport final pfe_systeme_de_gestion _de_cabinet_de_formation_mobile_webRapport final pfe_systeme_de_gestion _de_cabinet_de_formation_mobile_web
Rapport final pfe_systeme_de_gestion _de_cabinet_de_formation_mobile_webSalma Gouia
 
Rapport gestion de stock.pdf
Rapport gestion de stock.pdfRapport gestion de stock.pdf
Rapport gestion de stock.pdfAchrafAntri2
 
Medical openerp
Medical openerpMedical openerp
Medical openerpHORIYASOFT
 
Presentation stage Tunisie Telecom
Presentation stage Tunisie TelecomPresentation stage Tunisie Telecom
Presentation stage Tunisie Telecomlitayem bechir
 
Application mobile bancaire sous la plateforme Android
Application mobile bancaire sous la plateforme AndroidApplication mobile bancaire sous la plateforme Android
Application mobile bancaire sous la plateforme AndroidKhaled Fayala
 
Rapport pfe Conceptionet Developpement d'une Application web et Mobile
Rapport pfe Conceptionet Developpement d'une Application web et  Mobile Rapport pfe Conceptionet Developpement d'une Application web et  Mobile
Rapport pfe Conceptionet Developpement d'une Application web et Mobile Raoua Bennasr
 
Rapport pfe talan_2018_donia_hammami
Rapport pfe talan_2018_donia_hammamiRapport pfe talan_2018_donia_hammami
Rapport pfe talan_2018_donia_hammamiDonia Hammami
 
Rapport du Projet de Fin d'année Génie informatique
Rapport du Projet de Fin d'année Génie informatique Rapport du Projet de Fin d'année Génie informatique
Rapport du Projet de Fin d'année Génie informatique ayoub daoudi
 
Rapport de stage d'été
Rapport de stage d'étéRapport de stage d'été
Rapport de stage d'étéJinenAbdelhak
 
Rapport de pfe gestion de parc informatique et Helpdesk
Rapport de pfe gestion de parc informatique et HelpdeskRapport de pfe gestion de parc informatique et Helpdesk
Rapport de pfe gestion de parc informatique et HelpdeskRaef Ghribi
 
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2Sofien Benrhouma
 
Architectures 3-tiers (Web)
Architectures 3-tiers (Web)Architectures 3-tiers (Web)
Architectures 3-tiers (Web)Heithem Abbes
 

What's hot (20)

Rapport de stage
Rapport de stageRapport de stage
Rapport de stage
 
Conception et developpement d'un site web pour la suggestion et notification ...
Conception et developpement d'un site web pour la suggestion et notification ...Conception et developpement d'un site web pour la suggestion et notification ...
Conception et developpement d'un site web pour la suggestion et notification ...
 
Rapport pfe-ayoub mkharbach
Rapport pfe-ayoub mkharbachRapport pfe-ayoub mkharbach
Rapport pfe-ayoub mkharbach
 
Rapport stage
Rapport stageRapport stage
Rapport stage
 
rapport de projet de fin d'étude_PFE
rapport de projet de fin d'étude_PFErapport de projet de fin d'étude_PFE
rapport de projet de fin d'étude_PFE
 
Conception et réalisation d’un Système d’information des étudiants du départe...
Conception et réalisation d’un Système d’information des étudiants du départe...Conception et réalisation d’un Système d’information des étudiants du départe...
Conception et réalisation d’un Système d’information des étudiants du départe...
 
Projet de fin d'etude gestion informatique
Projet de fin d'etude gestion informatiqueProjet de fin d'etude gestion informatique
Projet de fin d'etude gestion informatique
 
Rapport final pfe_systeme_de_gestion _de_cabinet_de_formation_mobile_web
Rapport final pfe_systeme_de_gestion _de_cabinet_de_formation_mobile_webRapport final pfe_systeme_de_gestion _de_cabinet_de_formation_mobile_web
Rapport final pfe_systeme_de_gestion _de_cabinet_de_formation_mobile_web
 
Rapport de stage
Rapport de stage Rapport de stage
Rapport de stage
 
Rapport gestion de stock.pdf
Rapport gestion de stock.pdfRapport gestion de stock.pdf
Rapport gestion de stock.pdf
 
Medical openerp
Medical openerpMedical openerp
Medical openerp
 
Presentation stage Tunisie Telecom
Presentation stage Tunisie TelecomPresentation stage Tunisie Telecom
Presentation stage Tunisie Telecom
 
Application mobile bancaire sous la plateforme Android
Application mobile bancaire sous la plateforme AndroidApplication mobile bancaire sous la plateforme Android
Application mobile bancaire sous la plateforme Android
 
Rapport pfe Conceptionet Developpement d'une Application web et Mobile
Rapport pfe Conceptionet Developpement d'une Application web et  Mobile Rapport pfe Conceptionet Developpement d'une Application web et  Mobile
Rapport pfe Conceptionet Developpement d'une Application web et Mobile
 
Rapport pfe talan_2018_donia_hammami
Rapport pfe talan_2018_donia_hammamiRapport pfe talan_2018_donia_hammami
Rapport pfe talan_2018_donia_hammami
 
Rapport du Projet de Fin d'année Génie informatique
Rapport du Projet de Fin d'année Génie informatique Rapport du Projet de Fin d'année Génie informatique
Rapport du Projet de Fin d'année Génie informatique
 
Rapport de stage d'été
Rapport de stage d'étéRapport de stage d'été
Rapport de stage d'été
 
Rapport de pfe gestion de parc informatique et Helpdesk
Rapport de pfe gestion de parc informatique et HelpdeskRapport de pfe gestion de parc informatique et Helpdesk
Rapport de pfe gestion de parc informatique et Helpdesk
 
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2
 
Architectures 3-tiers (Web)
Architectures 3-tiers (Web)Architectures 3-tiers (Web)
Architectures 3-tiers (Web)
 

Similar to Rapport de stage - gestion commerciale @REC MEDIA

Conception et développement de la gestion de visa sous Dynamics Ax R2
Conception et développement de la gestion de visa sous Dynamics Ax R2Conception et développement de la gestion de visa sous Dynamics Ax R2
Conception et développement de la gestion de visa sous Dynamics Ax R2Rawdha MABROUKI
 
Rapport de Projet de Fin d'étude .
Rapport de Projet de Fin d'étude .Rapport de Projet de Fin d'étude .
Rapport de Projet de Fin d'étude .Oussama Ben Sghaier
 
Rapport (Mémoire de Master) de stage PFE pour l’obtention du Diplôme Nationa...
Rapport (Mémoire de Master) de stage PFE pour  l’obtention du Diplôme Nationa...Rapport (Mémoire de Master) de stage PFE pour  l’obtention du Diplôme Nationa...
Rapport (Mémoire de Master) de stage PFE pour l’obtention du Diplôme Nationa...Mohamed Amine Mahmoudi
 
Rapport de stage boite à idées innovantes avec dashboard
Rapport de stage boite à idées innovantes avec dashboardRapport de stage boite à idées innovantes avec dashboard
Rapport de stage boite à idées innovantes avec dashboardSiwar GUEMRI
 
JOB NETWORK - Réseau social collaboratif d’emploi
JOB NETWORK - Réseau social collaboratif d’emploiJOB NETWORK - Réseau social collaboratif d’emploi
JOB NETWORK - Réseau social collaboratif d’emploiYoussef NIDABRAHIM
 
Rapport de stage de perfectionnement - Mahmoudi Mohamed Amine
Rapport de stage de perfectionnement - Mahmoudi Mohamed AmineRapport de stage de perfectionnement - Mahmoudi Mohamed Amine
Rapport de stage de perfectionnement - Mahmoudi Mohamed AmineMohamed Amine Mahmoudi
 
Développement d’une application de gestion des licences des contrôleurs aériens
Développement d’une application de gestion des licences des contrôleurs aériensDéveloppement d’une application de gestion des licences des contrôleurs aériens
Développement d’une application de gestion des licences des contrôleurs aériensGhassen Chaieb
 
Rapport Stage Alstom Otmane Douieb
Rapport Stage Alstom Otmane DouiebRapport Stage Alstom Otmane Douieb
Rapport Stage Alstom Otmane DouiebOtmaneDouieb
 
Dossier de clôture : Fusex Padmée 2010
Dossier de clôture : Fusex Padmée 2010Dossier de clôture : Fusex Padmée 2010
Dossier de clôture : Fusex Padmée 2010CLES-FACIL
 
Gestion des actifs applicatifs
Gestion des actifs applicatifsGestion des actifs applicatifs
Gestion des actifs applicatifsSafaAballagh
 
Rapport de stage PFE ( DUT) chez Synthèse Conseil - Jaiti Mohammed
Rapport de stage PFE ( DUT) chez Synthèse Conseil  - Jaiti MohammedRapport de stage PFE ( DUT) chez Synthèse Conseil  - Jaiti Mohammed
Rapport de stage PFE ( DUT) chez Synthèse Conseil - Jaiti MohammedMohammed JAITI
 
eQ Services PFE
eQ Services PFEeQ Services PFE
eQ Services PFEfayway
 
Rapport Stage ingénieur
Rapport Stage ingénieurRapport Stage ingénieur
Rapport Stage ingénieurMhamdi Imed
 
Projet Passerelle sécurisée intelligente pour l'internet des objets
Projet Passerelle sécurisée intelligente pour l'internet des objetsProjet Passerelle sécurisée intelligente pour l'internet des objets
Projet Passerelle sécurisée intelligente pour l'internet des objetsUniversité de Rennes 1
 
Rapport Projet de fin d'etude sur le parc informatique
Rapport Projet  de fin d'etude sur le parc informatiqueRapport Projet  de fin d'etude sur le parc informatique
Rapport Projet de fin d'etude sur le parc informatiqueHicham Ben
 

Similar to Rapport de stage - gestion commerciale @REC MEDIA (20)

Conception et développement de la gestion de visa sous Dynamics Ax R2
Conception et développement de la gestion de visa sous Dynamics Ax R2Conception et développement de la gestion de visa sous Dynamics Ax R2
Conception et développement de la gestion de visa sous Dynamics Ax R2
 
Rapport atef
Rapport atefRapport atef
Rapport atef
 
Rapport pfev7
Rapport pfev7Rapport pfev7
Rapport pfev7
 
Rapport de Projet de Fin d'étude .
Rapport de Projet de Fin d'étude .Rapport de Projet de Fin d'étude .
Rapport de Projet de Fin d'étude .
 
Rapport (Mémoire de Master) de stage PFE pour l’obtention du Diplôme Nationa...
Rapport (Mémoire de Master) de stage PFE pour  l’obtention du Diplôme Nationa...Rapport (Mémoire de Master) de stage PFE pour  l’obtention du Diplôme Nationa...
Rapport (Mémoire de Master) de stage PFE pour l’obtention du Diplôme Nationa...
 
Rapport de stage boite à idées innovantes avec dashboard
Rapport de stage boite à idées innovantes avec dashboardRapport de stage boite à idées innovantes avec dashboard
Rapport de stage boite à idées innovantes avec dashboard
 
JOB NETWORK - Réseau social collaboratif d’emploi
JOB NETWORK - Réseau social collaboratif d’emploiJOB NETWORK - Réseau social collaboratif d’emploi
JOB NETWORK - Réseau social collaboratif d’emploi
 
Rapport PFE2021.pdf
Rapport PFE2021.pdfRapport PFE2021.pdf
Rapport PFE2021.pdf
 
Rapport de stage de perfectionnement - Mahmoudi Mohamed Amine
Rapport de stage de perfectionnement - Mahmoudi Mohamed AmineRapport de stage de perfectionnement - Mahmoudi Mohamed Amine
Rapport de stage de perfectionnement - Mahmoudi Mohamed Amine
 
Développement d’une application de gestion des licences des contrôleurs aériens
Développement d’une application de gestion des licences des contrôleurs aériensDéveloppement d’une application de gestion des licences des contrôleurs aériens
Développement d’une application de gestion des licences des contrôleurs aériens
 
Rapport Stage Alstom Otmane Douieb
Rapport Stage Alstom Otmane DouiebRapport Stage Alstom Otmane Douieb
Rapport Stage Alstom Otmane Douieb
 
Dossier de clôture : Fusex Padmée 2010
Dossier de clôture : Fusex Padmée 2010Dossier de clôture : Fusex Padmée 2010
Dossier de clôture : Fusex Padmée 2010
 
Gestion des actifs applicatifs
Gestion des actifs applicatifsGestion des actifs applicatifs
Gestion des actifs applicatifs
 
Rapport de stage PFE ( DUT) chez Synthèse Conseil - Jaiti Mohammed
Rapport de stage PFE ( DUT) chez Synthèse Conseil  - Jaiti MohammedRapport de stage PFE ( DUT) chez Synthèse Conseil  - Jaiti Mohammed
Rapport de stage PFE ( DUT) chez Synthèse Conseil - Jaiti Mohammed
 
eQ Services PFE
eQ Services PFEeQ Services PFE
eQ Services PFE
 
Rapport Stage ingénieur
Rapport Stage ingénieurRapport Stage ingénieur
Rapport Stage ingénieur
 
Belwafi bilel
Belwafi bilelBelwafi bilel
Belwafi bilel
 
Belwafi bilel
Belwafi bilelBelwafi bilel
Belwafi bilel
 
Projet Passerelle sécurisée intelligente pour l'internet des objets
Projet Passerelle sécurisée intelligente pour l'internet des objetsProjet Passerelle sécurisée intelligente pour l'internet des objets
Projet Passerelle sécurisée intelligente pour l'internet des objets
 
Rapport Projet de fin d'etude sur le parc informatique
Rapport Projet  de fin d'etude sur le parc informatiqueRapport Projet  de fin d'etude sur le parc informatique
Rapport Projet de fin d'etude sur le parc informatique
 

Rapport de stage - gestion commerciale @REC MEDIA

  • 1. ‫ﺍ‬‫ﺍﻟﺘﻘﻨﻲ‬ ‫ﺍﻟﺘﻌﻠﻴﻢ‬ ‫ﻸﺳﺎﺗﺬﺓ‬ ‫ﺍﻟﻌﻠﻴﺎ‬ ‫ﻟﻤﺪﺭﺳﺔ‬ ‫ﺍﻟﻤحﻤﺪيﺔ‬ ‫ﺍﻟﺒﻴﻀﺎﺀ‬ ‫ﺑﺎﻟﺪﺍﺭ‬ ‫ﺍﻟﺜﺎﻧﻲ‬ ‫ﺍﻟحﺴﻦ‬ ‫ﺟﺎﻣﻌﺔ‬ E N S E T Ecole Normale Supérieure de l’Enseignement Technique Mohammedia Université Hassan II de Casablanca ENSET, Avenue Hassan II - B.P. 159 - Mohammedia - Maroc  05 23 32 22 20 / 05 23 32 35 30 – Fax : 05 23 32 25 46 - Site Web: www.enset-media.ac.ma E-Mail : contact@enset-media.ac.ma Département Mathématiques et Informatique Rapport de Stage Ingénieur Filière : « Génie du Logiciel et des Systèmes Informatiques Distribués » GLSID Lieu du stage : REC Média à Agadir Soutenu le 16/11/2018 Année Universitaire : 2018-2019 Réalisation d’une application web de gestion commerciale Réalisé par : Encadré par : Abdessamad REDOUANI M. El hassan BOUTHANOUTE M. Ibrahim SIMALI
  • 2.
  • 3. Remerciement Je tiens à adresser mon profonde extrême et gratitude à tous ceux qui m’ont aidé, de près ou de loin, à réaliser ce modeste projet. Je tiens aussi à remercier M. El hassan BOUTHANOUTE et M. Ibrahim SIMALI d’avoir m’encadrer tout au long de la période de ce stage. Ils ont été toujours disponibles, à l’écoute de mes nombreuses questions, et toujours intéressés par l’avancement de mon travail. Je remercie également le corps professoral de la filière Génie du Logiciel et des Systèmes Informatiques Distribués qui a été toujours présent pour assurer la bonne formation dans le domaine concerné. Enfin je tiens à remercier également les membres du jury qui ont accepté d’évaluer mon travail.
  • 4. Sommaire Remerciement Sommaire Table des figures Introduction............................................................................................................................................. 1 Chapitre I : Contexte générale du projet 1. Présentation de l’établissement d’accueil ...................................................................................... 3 1.1. Situation géographique :............................................................................................................. 3 1.2. Activité, lieu, objectif................................................................................................................... 3 1.3. Structure et effectif de l'entreprise :........................................................................................... 4 1.4. Clients de REC Media :................................................................................................................. 4 1.5. Partenaires de REC Media :......................................................................................................... 5 1.6. Valeurs clés de REC Media .......................................................................................................... 5 2. Cahier des charges........................................................................................................................... 6 2.1. Mission (objectif)......................................................................................................................... 6 2.2. Organisation du projet (démarche et méthodologie)................................................................. 6 2.3. Besoins et fonctionnalités techniques et métiers....................................................................... 7 Chapitre II : Conception et modélisation 1. La méthode UML............................................................................................................................. 9 2. Diagrammes de cas d’utilisation ..................................................................................................... 9 3. Diagramme de classes................................................................................................................... 16 Chapitre III : Réalisation de l’application 1. Les outils de développement ........................................................................................................ 20 1.1. Logiciels et outils utilisés........................................................................................................... 20 1.2. Langages utilisés........................................................................................................................ 21 1.3. Technologies et bibliothèques utilisés ...................................................................................... 21 2. La création du projet..................................................................................................................... 24 2.1. Structure de projet ..................................................................................................................... 24 2.2. Configuration de sécurité ........................................................................................................... 26 3- Les interfaces réalisées.................................................................................................................. 28 Conclusion............................................................................................................................................. 46 Webographie......................................................................................................................................... 47
  • 5. Table des figures Figure 1: Logo de l'entreprise REC Media ............................................................................................... 3 Figure 2: Situation géographique de l'entreprise REC Media ................................................................. 3 Figure 3: Clients de REC Media................................................................................................................ 4 Figure 4: Partenaires de REC Media........................................................................................................ 5 Figure 5: Diagramme de cas d'utilisations ............................................................................................ 10 Figure 6: Diagramme de cas d'utilisation : gestion de produits............................................................ 11 Figure 7: Diagramme de cas d'utilisation : gestion des clients ............................................................. 12 Figure 8: Diagramme de cas d'utilisation : gestion des fournisseurs.................................................... 12 Figure 9: Diagramme de cas d’utilisation : gestion des dossiers........................................................... 13 Figure 10: Diagramme de cas d'utilisation : gestion des commandes.................................................. 14 Figure 11: Diagramme de cas d'utilisation : gestion des factures......................................................... 14 Figure 12: Diagramme de cas d'utilisation : gestion des utilisateurs.................................................... 15 Figure 13: Diagramme de classes.......................................................................................................... 17 Figure 14: Architecture Spring Boot...................................................................................................... 24 Figure 15: Structure de projet............................................................................................................... 25 Figure 16: Formulaire d'authentification .............................................................................................. 28 Figure 17: Template web de l'application............................................................................................. 29 Figure 18: Tableau de bord ................................................................................................................... 30 Figure 19: Interface de statistiques....................................................................................................... 31 Figure 20: Interface de gestion de dossiers .......................................................................................... 33 Figure 21: interface de gestion de produits .......................................................................................... 34 Figure 22: Interface de gestion de clients ............................................................................................. 35 Figure 23: Interface de gestion de fournisseurs.................................................................................... 36 Figure 24: La liste des commandes ....................................................................................................... 37 Figure 25: Commande d'achat .............................................................................................................. 38 Figure 26: Commande de vente............................................................................................................ 38 Figure 27: Formulaire d'ajout/modification de commande.................................................................. 39 Figure 28: Liste des factures.................................................................................................................. 40 Figure 29: Détails d'une facture ............................................................................................................ 40 Figure 30: Exemple de facture en format PDF ...................................................................................... 41 Figure 31: Formulaire d'ajout/modification de facture ........................................................................ 42 Figure 32: Interface de gestion des utilisateurs.................................................................................... 43 Figure 33: Liste des permissions............................................................................................................ 43 Figure 34: Informations de la société.................................................................................................... 44 Figure 35: Page non trouvé (404).......................................................................................................... 45 Figure 36: Page accès refusé(403)......................................................................................................... 45
  • 6. 1 Introduction Pour assurer une formation professionnelle performante aux étudiants, les cours proposés au sein des établissements sont complétés par un stage permettant de valider les connaissances déjà acquis tout au long de la formation et de faire une comparaison entre la théorie étudié et la pratique afin de concrétiser ces connaissances et être plus proche au domaine de l’emploi. Dans le cadre de la formation à l’Ecole Normale Supérieure de l’Enseignement Technique de Mohammedia et afin d’appliquer les méthodologies et les notions enseignées tout au long de l’année, je devais réaliser un stage d’ingénieur d’une durée de huit semaines au sein de de l’entreprise REC Media, après avoir préparé toutes les obligations et les documents nécessaires pour commencer le projet du stage, sous la tutelle de son directeur M. BOUTHANOUTE El Hassan. La mission qui ma a été confiée est tout d’abord, la réalisation d’une application web dynamique de gestion commerciale avec le Framework Spring Boot, en travaillant sur toutes les fonctionnalités fournit par celui-ci. Mon travail s’articulera autour de trois parties dont le premier sera consacré à la présentation générale de la société, et de présentation de cahier des charges, le deuxième abordera à l’analyse et conception du problème. Enfin présenter les différentes démarches adoptées pour réaliser l’application. Une webographie sera également mise à la disposition du lecteur.
  • 8. 3 Contexte générale du projet 1. Présentation de l’établissement d’accueil Figure 1: Logo de l'entreprise REC Media 1.1. Situation géographique : La présente section s’intéresse à la présentation de l’organisme d’accueil qui est le REC Media, qu’elle est implantée au N° 380 Avenue 9 juillet LKHIAM 1 Agadir. Figure 2: Situation géographique de l'entreprise REC Media 1.2. Activité, lieu, objectif Créée en 2015, REC Media est une agence de communication événementielle, spécialisée dans : ► La communication et publicité. ► Développement web & web-marketing. ► Production audiovisuelle. ► Des logiciels de gestion personnalisés. ► La maintenance du réseau informatique.
  • 9. 4 ► Des sites internet avec base de données. ► Installation et réparation de matériel informatique. ► Centre de formation agrée (progiciels REC Media et produits Microsoft). L’objectif de la société est avant tout regrouper un pôle de compétences dynamique qui répond aux besoins des sociétés, en leur apportant des solutions personnalisées lors d’événements professionnels et de conseils en communication événementielle. L’avantage de REC Media sur une grande partie de ses concurrents réside dans le fait qu'est une agence indépendante et innovante, leur domaines d’interventions sont multiples : Conférence, web séminaire, e-conférence, forum, vœux, événements institutionnels, inventives, kick off, lancement de produits, relations publiques, séminaires interne / externe, soirées d’entreprises, team Building. 1.3. Structure et effectif de l'entreprise : REC Media est une filiale de l’entreprise SARL qui elle s’occupe de l’organisation des événements dans une agence à Agadir.  Le design des images et le montage des vidéos sont réalisés par des indépendants « free- lance » qui sont rémunérés au prorata de leurs travaux.  Mr Mouad Dibe, responsable de la production audiovisuelle et multimédia.  Le gérant de l’agence (BOUTHANOUTE El Hassan, Fondateur et Directeur de la société) s’occupe de la maintenance du site internet et des commandes passées par les clients. 1.4. Clients de REC Media : Tout en développant son activité, REC Media veille à maintenir une grande diversification de sa clientèle et des secteurs d’activités auxquels elle s’adresse, de façon à contenir le risque de concentration sur un nombre restreint de Clients. Figure 3: Clients de REC Media
  • 10. 5 1.5. Partenaires de REC Media : Figure 4: Partenaires de REC Media 1.6. Valeurs clés de REC Media Des valeurs clés caractérisent REC Media, telles :  L’excellence : c’est l’essence même de la culture REC Media. L’expertise, reconnue par les clients, les partenaires est l'expression de la motivation et de l'engagement du REC Media.  Le dynamisme et l’innovation : REC Media évolue en permanence, innove et sait se remettre en question. REC Media est une société vivante qui ne se satisfait pas d’un schéma type, mais qui recherche sans cesse des idées pour progresser. REC Media encourage fortement ceux qui vont de l’avant.  L’esprit d’équipe : chaque personne est à l’écoute et prêt à apporter son soutien chaque fois que ses compétences le permettent. Le partage est reconnu comme une valeur essentielle du REC Media et indispensable au développement de tous.
  • 11. 6 2. Cahier des charges 2.1. Mission (objectif) Une bonne gestion d'entreprise passe indéniablement par une bonne gestion commerciale qui permet de piloter une entreprise. En effet, la gestion commerciale permet par exemple de fixer un prix de vente, de suivre l'évolution de ses stocks ou encore d'accéder rapidement aux informations d'un client ou d'un fournisseur. La gestion commerciale donne les indices qui permettent aux dirigeants de prendre les bons choix stratégiques. Aujourd’hui la gestion commerciale nécessite l’utilisation des technologies d’informatique pour la rendre plus efficace et plus rapide, de minimiser la perte d’informations qui freinent le processus de développement de l’entreprise. Pour cela l’objectif principal de mon projet est la création d’une application Web qui permet aux directeurs des entreprises de gérer les commandes/factures d’une manière facile. De plus, consulter facilement les statistiques des achats et des ventes effectuées automatiquement. 2.2. Organisation du projet (démarche et méthodologie) Après que j’ai reçu le sujet de ce projet, il était obligatoire de déterminer une méthode à suivre durant le développement de l’application. Pour cela je prends en considérations trois phases à procéder qui sont présentés dans la figure ci-dessous :  Phase préparatoire :  Analyse du sujet à l’aide des documents primaire fournit pour mettre sur écrit ce qu’il faut faire et comment le faire.  En se fixant des objectifs et les moyens en actions.  Déterminer la méthode avec laquelle on souhaite réaliser les objectifs.  Phase de réalisation :  Mise en place des objectifs avec les moyens prévus à cet effet (planification)  La mise en œuvre de ressources et les outils de développements  Phase d’évaluation :  Vérifier que les objectifs fixés sont atteints.  Vérifier si les moyens ont répondus, aux attentes. Phase préparatoire Phase de réalisation Phase d'évaluation
  • 12. 7 2.3. Besoins et fonctionnalités techniques et métiers L’application attendu doit répondre aux certains fonctionnalités techniques et métiers. Il doit permettre aux utilisateurs de :  Gérer les produits.  Gérer les commandes.  Gérer les factures.  Gérer les clients.  Gérer les fournisseurs.  Gérer les utilisateurs.  Consulter toutes les statistiques. Pour aboutir réaliser les objectives de ce projet, il faut faire une étude conceptuelle, comme une première phase, qui consiste à formuler le problème à résoudre d’une manière objective, simple, cohérente et complète. Le suivant chapitre présente le travail fait durant cette phase, à travers les diagrammes UML les plus utilisés, à savoir le diagramme de cas d’utilisation et le diagramme de classes correspondant au projet.
  • 14. 9 Conception et modélisation 1. La méthode UML Apres avoir déterminé les différents besoins, les fonctionnalités métiers et techniques et les règles de gestion de l’application, la réalisation de celle-ci est doit passer par l’étape de conception, l’étape la plus importante parce qu’elle présente la base sur laquelle l’application est réalisé. Afin d’avoir une conception clair, j’ai décidé d’utiliser la méthode UML à l’aide du logiciel « Entreprise Architect », en regardant les modèles qu’elle fournit, tel que le diagramme de classes, de cas d’utilisation et le diagramme de séquence etc… 2. Diagrammes de cas d’utilisation Les diagrammes de cas d'utilisation sont des diagrammes UML utilisés pour donner une vision globale du comportement fonctionnel d'un système logiciel. Ils sont utiles pour des présentations auprès de la direction ou des acteurs d'un projet, mais pour le développement, les cas d'utilisation sont plus appropriés. Un cas d'utilisation représente une unité discrète d'interaction entre un utilisateur (humain ou machine) et un système. Il est une unité significative de travail. Dans un diagramme de cas d'utilisation, les utilisateurs sont appelés acteurs (Actors), ils interagissent avec les cas d'utilisation (Use cases). Le diagramme suivant représente les différents cas d’utilisations principaux qui définissent le fonctionnement de l’application à réaliser.
  • 15. 10 Figure 5: Diagramme de cas d'utilisations Les acteurs qui interagissent avec le system d’application sont limites dans deux acteurs ; Administrateur et Utilisateur. L’objectif de mettre l’acteur Utilisateur est simplifier la représentation des cas d’utilisation qui sont communes entre les deux acteurs fils. Grace à l’outil de modélisation Entreprise Architect qui fournit la fonctionnalité de regroupement des cas d’utilisations, ce diagramme regroupe plusieurs cas d’utilisation sous forme des packages dont chaque package désigne un module ou une partie du système. Il existe six diagrammes de cas d’utilisations pour : Entre outre, le diagramme de cas d’utilisation qui concerne la gestion d’utilisateurs qui prend la partie particulière pour un administrateur. Les détails de ces diagrammes seront présentés dans la suite.  Gestion des dossiers  Gestion des commandes  Gestion des factures.  Gestion des clients  Gestion des fournisseurs  Gestion des produits
  • 16. 11 Figure 6: Diagramme de cas d'utilisation : gestion de produits Le diagramme de gestion de produits contient onze cas d’utilisation qu’un utilisateur peut réaliser ; il peut ajouter ou modifier un produit avec l’affectation du TVA et de catégorie correspondant. En même temps s’il n’existe pas de catégorie ou de TVA souhaité, il a la possibilité de les ajouter, modifier ou de les supprimer selon le besoin. L’affectation d’une catégorie et de TVA est obligatoire dès la première fois qu’on ajoute un produit. Et facultatif dans le cas de mise à jour.
  • 17. 12 Figure 7: Diagramme de cas d'utilisation : gestion des clients Le diagramme de cas d’utilisation de gestion des clients constitué de 3 principales cas classique qui sont l’ajout, la suppression et la mise à jour d’un client. La même chose pour le diagramme de cas d’utilisation représentant la gestion des fournisseurs ci- dessous : Figure 8: Diagramme de cas d'utilisation : gestion des fournisseurs
  • 18. 13 Figure 9: Diagramme de cas d’utilisation : gestion des dossiers Le diagramme ci-dessus représente les cas d’utilisation à réaliser par un utilisateur en ce qui concerne les dossiers contenant de documents commerciale. L’utilisateur gère les dossiers en : - Création d’un nouveau dossier - Modification d’un dossier existant - Consultation d’un dossier - Fermeture d’un dossier - Suppression d’un dossier
  • 19. 14 Les deux diagrammes suivant représentent l’interaction d’utilisateur avec le système de gestion des commandes et de factures. L’utilisateur a la possibilité de :  Consulter les informations d’une commande  ajouter une nouvelle commande  Corriger une commande (Mise à jour d’informations) Figure 10: Diagramme de cas d'utilisation : gestion des commandes En ce qui concerne les systèmes de gestion des factures, l’utilisateur peut :  Ajouter une facture  Consulter une facture  Valider une facture  Corriger une facture  Supprimer une facture  Valider une commande  Supprimer une commande Figure 11: Diagramme de cas d'utilisation : gestion des factures
  • 20. 15 Figure 12: Diagramme de cas d'utilisation : gestion des utilisateurs Ce diagramme est réservé seulement pour les administrateurs comme acteurs. Il représente les opérations qui peuvent être réalisé dans le système de gestion des utilisateurs. Un administrateur peut ajouter un nouvel utilisateur en lui affectant au moins une permission qui est nécessaire. Un administrateur a la possibilité de modifier les informations d’un utilisateur soit : - Mise à jour de ses informations - Affectation des permissions - Retire des permissions - Activation ou désactivation de son compte Enfin l’administrateur a le droit de supprimer un utilisateur.
  • 21. 16 Le diagramme des cas d’utilisation ne présente pas totalement le système d’application, car il s’agit seulement d'une représentation qui indique les actions qu’un acteur peut faire sur ceci. Alors, les questions qui se posent s’arrêtent sur la manière et les objets sur lesquels ces actions interagissent. 3. Diagramme de classes La méthode UML fournit le diagramme de classes, un schéma utilisé en génie logiciel pour présenter les classes et les interfaces des systèmes ainsi que les différentes relations entre celles-ci. Ce diagramme fait partie de la partie statique d'UML car il fait abstraction des aspects temporels et dynamiques. Une classe décrit les responsabilités, le comportement et le type d'un ensemble d'objets. Les éléments de cet ensemble sont les instances de la classe. C’est un ensemble de fonctions et de données (attributs) qui sont liées ensemble par un champ sémantique. Les classes sont utilisées dans la programmation orientée objet. Elles permettent de modéliser un programme et ainsi de découper une tâche complexe en plusieurs petits travaux simples. Elles peuvent être liées entre elles grâce au mécanisme d'héritage qui permet de mettre en évidence des relations de parenté. D'autres relations sont possibles entre des classes, chacune de ces relations est représentée par un arc spécifique dans le diagramme de classes. Elles sont finalement instanciées pour créer des objets. Elles sont finalement instanciées pour créer des objets (une classe est un moule à objet : elle décrit les caractéristiques des objets, les objets contiennent leurs valeurs propres pour chacune de ces caractéristiques lorsqu'ils sont instanciés) Le suivant diagramme représente toutes les classes qui font les parties structurales et données de l’application.
  • 22. 17 Figure 13: Diagramme de classes Le diagramme contient quinze classes déférents et liant entre elle par des diverses relations :  La classe Produit Il contient les attributs suivant : la désignation d’un produit, son prix, la quantité en stock, quantité d’alerte et la référence. De plus, cette classe a des relations d’association avec d’autres classes telles que TVA et Catégorie ; Un produit appartient à une seule catégorie et ne peut avoir qu’une seule TVA qui se caractérise par une désignation et un taux.  La classe Stock Définie par la quantité en stock et la date de son changement, elle concerne un seul produit. Cependant un produit peut avoir plusieurs stocks.  La classe Personne : c’est une spécification des deux classes Fournisseur et Client. - La classe Fournisseur se caractérise par une adresse, le capital, l’email, le numéro de fax, le numéro de téléphone, la raison sociale et un code. - La classe Client se caractérise par l’adresse, l’âge, le nom et un numéro de téléphone.  La classe dossier
  • 23. 18 Défini par son nom, son numéro et la date de sa création et la date de fermeture. Un dossier peut contenir plusieurs commandes et plusieurs factures, alors qu’une facture ou une commande ne peut être enregistré que dans un seul dossier.  Classe Commande Une commande peut contient une ou plusieurs lignes de commande, alors qu’une ligne ne concerne qu’une seule commande. Une ligne de commande concerne un seul produit et défini la quantité de ce produit et son prix de vente ou d’achat. La commande concerne soit un fournisseur ou un client.  La classe Facture Une facture concerne une seule commande, ainsi un fournisseur (facture d’achat) ou bien un client (facture de vente), contient au moins une ligne de facture. De plus elle peut avoir une réduction et une règlemente ou plusieurs et une seule livraison. En se basant sur ces diagrammes des cas d’utilisation et de classes données créés dans la phase de conception, on peut maintenant commencer la phase de réalisation, à construire l’application dont les deux parties Front-End et Back-End.
  • 25. 20 Réalisation de l’application 1. Les outils de développement La réalisation de cette application a besoin d’utilisation de plusieurs logiciels, des langages pour implémenter, des technologies et des Frameworks afin de créer la conception de l’application, dans la phase de conception, les traitements principaux de côté serveur, et la mise en page/forme des interfaces graphiques et d’autres options dans la phase de réalisation. 1.1. Logiciels et outils utilisés 1.1.1. Entreprise Architect Un logiciel de modélisation et de conception UML, édité par la société australienne Sparx Systems. Couvrant, par ses fonctionnalités, l'ensemble des étapes du cycle de conception d'application, il est l'un des logiciels de conception et de modélisation les plus reconnus. 1.1.2. IDE Eclipse - IDE Eclipse L’entreprise a choisi de développer sur l’IDE Eclipse. C’est donc sur cet environnement que j’ai réalisé mes développements. Cela a permis d’utiliser les outils déjà mis en place pour le projet comme par exemple le module Spring Boot qui permet de lancer facilement un serveur en local. 1.1.3. XAMP Un ensemble de logiciels permettant de mettre en place facilement un serveur Web confidentiel, un serveur FTP et un serveur de messagerie électronique. Il s'agit d'une distribution de logiciels libres (X (cross) Apache Maria DB Perl PHP) offrant une bonne souplesse d'utilisation, réputée pour son installation simple et rapide.
  • 26. 21 1.2. Langages utilisés HTML : L’HyperText Markup Language est un langage de balisage, le format de données conçu pour représenter les pages web. CSS : Les feuilles de style en cascade (Cascading Style Sheets), forment un langage informatique qui décrit la présentation des documents HTML et XML. JavaScript : un langage de programmation de scripts orienté objet à prototype, principalement utilisé dans les pages web interactives. 1.3. Technologies et bibliothèques utilisés 1.1.4. Java Enterprise Edition (JEE) La plateforme Java entreprise (Java EE) est un ensemble de spécifications coordonnées et pratiques qui permettent un ensemble des solutions pour le développement, le déploiement, et de la gestion des applications multi tiers centralisées sur un serveur. Construit sur la plateforme de Java 2 édition standard (Java SE), la plateforme Java EE ajoute les possibilités nécessaires pour fournir une plateforme complète, stable, sécurisée, et rapide de Java au niveau entreprise. 1.1.5. Java 8 Java 8 est la dernière version de Java et offre notamment la possibilité d’utiliser des lambda expressions, une nouvelle API de gestion de dates et heures ainsi que l'utilisation des “Optionals” qui permettent une meilleure gestion des références null. 1.1.6. Spring Boot Spring Boot est un framework qui permet la mise en place d’application Spring rapidement et facilement. Il se base sur le Framework Spring et permet de s’affranchir de la plupart des configurations de celui-ci à mettre en place pour créer une application. Les principales fonctions : Java : un langage de programmation orienté objet créé par James Gosling et Patrick Naughton, La particularité et l'objectif central de Java est que les logiciels écrits dans ce langage doivent être très facilement portables sur plusieurs systèmes d’exploitation
  • 27. 22 - Une gestion des dépendances Spring simplifiée - Un déploiement facilité - Intégrez directement Tomcat, Jetty ou Undertow (inutile de déployer des fichiers WAR) - La configuration automatique de bibliothèques Spring et autres - La configuration des propriétés externes plus lisible - Facilités pour créer des repositories - Des possibilités de déclarer des sorties JSON multiples - L’exposition des ressources par REST juste avec une annotation - Aucune génération de code et aucune exigence pour la configuration XML 1.1.7. Spring Security Spring Security, est un contrôleur d’authentification flexible et puissant pour assurer une application Web Java basé sur Spring. 1.1.8. Hibernate Framework Est un Framework open source gérant la persistance des objets en base de données relationnelle. Hibernate est adaptable en termes d'architecture, il peut donc être utilisé aussi bien dans un développement client lourd, que dans un environnement web léger de type Apache Tomcat ou dans un environnement Java EE complet : WebSphere, JBoss Application Server et Oracle WebLogic Server 1.1.9. BOOTSTRAP Un Framework développé par l'équipe du réseau social Twitter, utilisant les langages HTML, CSS et JavaScript fournit aux développeurs des outils pour créer un site facilement. Il sert à développer des sites avec un design responsive, qui s'adapte à tout type d'écran. Il fournit des outils avec des styles déjà en place pour des typographies, des boutons, des interfaces de navigation et bien d'autres encore. 1.1.10. FusionCharts Une bibliothèque JavaScript de cartographie propose aux développeurs un composant pour intégrer des graphiques de toutes sortes sur un site Internet de manière simple et efficace. Ce module permet de créer des graphes animés et interactifs, pratique pour des présentations en ligne ou des applications Web.
  • 28. 23 1.1.11. Maven Maven est un outil permettant d'automatiser la gestion de projets Java. Il offre entre autres les fonctionnalités suivantes :  Compilation et déploiement des applications Java (JAR, WAR)  Gestion des librairies requises par l'application  Exécution des tests unitaires  Génération des documentations du projet (site web, pdf, Latex)  Intégration dans différents IDE (Eclipse, JBulder)
  • 29. 24 2. La création du projet 2.1. Structure de projet La création de projet Spring Boot nécessite la mise en place d’une organisation de sa structure suivant les couches et les modules que Spring fournit. L'illustration ci-dessous montre la structure de Spring Boot : Figure 14: Architecture Spring Boot  IoC Container : C'est la base la plus importante et également la base, le fondement du Spring. C'est le rôle de la configuration et de la gestion de dépendances et la gestion du cycle de vie des objets Java  Il fait La configuration automatique pour lier les implémentations à leurs interfaces (injection de dépendances)  WEB : il contient un serveur web Tomcat et l’ensemble des contrôleurs qui permet de traiter les requêtes. Ainsi, l’ensemble des vues HTML.  Métier : il contient les interfaces des métiers et les implémentations.  DAO : Contient toutes les classes Repository permettant l’accès à la base de données HTML CSS Spring Boot IOC Containner WEB Métier DAO Serveur TomCat Contrôleurs Vues Spring MVC Spring Security Interfaces Métiers Implémentations Métiers Browser Spring Data JPA Hibernate JDBC HTTP HTML Entités JPARepository
  • 30. 25 Suite à cette architecture, la structure du projet est comme suit : Il compose de huit package - Package de base gc.rec qui contient la main pour le démarrage de l’application. - Packages DAO : gc.rec.dao et gc.rec.entities - Packages métier : gc.rec.imetier et gc.rec.metier - Packages WEB : gc.rec.web - Package pour la configuration de securité : gc.rec.security - Package utile : gc.rec.conversions Figure 15: Structure de projet
  • 31. 26 2.2. Configuration de sécurité Spring Security est un module incontournable d’une application développée en Spring. Il apporte tout le nécessaire pour sécuriser une application et il a l’avantage d’être vraiment personnalisable. Les deux notions essentielles sont : l’authentification (savoir qui je suis) et les autorisations (savoir ce que j’ai le droit de faire). Spring Security essaye d’apporter une solution à ces deux problématiques. Pour configurer cette application j’utilise la Java Config. Cette dernière est plus qu’encouragée avec les dernières versions de Spring. La classe permettant de le créer devra être annotée par @EnableWebSecurity et hérité de la classe abstraite WebSecurityConfigurerAdapter qui fournit trois méthodes dont chacune a un rôle : Authentification - La méthode configure pour gérer l’authentification : il prend comme paramètre un objet de type AuthenticationManagerBuilder qui permet de définir quel sera le mode d’authentification des utilisateurs et de vérifier la cohérence entre les informations saisit et celles qui se trouve dans la base de donnés. Autorisations - La méthode configure pour contrôler l’accès aux ressources, il prend comme paramètre un objet de type HttpSecurity qui permet de définir des autorisations liées aux requêtes. Par exemple dans notre application nous avons : Requête Permission "/" et "/index" "SHOW_DASHBOARD" "/statistiques" "SHOW_STATISTIQUES" "/dossiers" "SHOW_DOSSIERS" "/commandes" "SHOW_COMMANDES" "/factures" "SHOW_FACTURES" "/produits" "SHOW_PRODUCTS" "/clients" "SHOW_CLIENTS" "/fournisseurs" "SHOW_FOURNISSEURS"
  • 32. 27 Requête Permission "/dossiers/add" "/dossiers/update" "/dossiers/delete" "UPDATE_DOSSIERS" "/commandes/nouveau" "/commandes/edit" "/commandes/add" "/commandes/update" "/commandes/delete" "UPDATE_COMMANDES" "/factures/nouveau" "/factures/edit" "/factures/add" "/factures/update" "/factures/delete" "UPDATE_FACTURES" "/fournisseurs/add" "/fournisseurs/update" "/fournisseurs/delete" "UPDATE_FOURNISSEURS" "/produits/add" "/produits/update" "/produits/delete" "/familles/save" "/familles/delete" "/tva/dave" "/tva/delete" "UPDATE_PRODUITS" "/factures/print" "PRINT_FACTURES" Chaque utilisateur a un ensemble de permissions et lorsqu’il veut accéder à une ressource, il doit avoir la permission correspondant à la ressource qui le permet. - La méthode configure qui prend en paramètre un objet de type WebSecurity permet d’ignorer des requête à traiter par la classe de configuration de sécurité. Dans notre application, la requête à ignorer est celle de récupération des ressources statiques telles que les fichiers css, javascript et des images.
  • 33. 28 3- Les interfaces réalisées 3.1. L’authentification Figure 16: Formulaire d'authentification La première page qui s’affiche est la page d’authentification qui compose d’un formulaire dans lequel un utilisateur doit saisir son identification, ici c’est le nom d’utilisateur et le mot de passe. Cette page est appelée automatiquement quand un utilisateur fait appel à une requête qui nécessite une authentification. C’est le module Spring-Security qui occupe de gérer ces requêtes en utilisant la classe WebSecurityConfigurerAdapter fourni. Une fois les informations sont correctes, l’application sera redirigée vers la page d’accueil qui contient le tableau de bord. Dans le cas contraire l’application reste dans la page d’authentification en notifiant l'utilisateur par un message que les informations saisies sont l'incorrect.
  • 34. 29 3.2. Template utilisé Figure 17: Template web de l'application La Template utilisé se compose de quatre parties : - L’entête (Header) : une barre fixe en haut de la page grâce aux classes de Framework Bootstrap. Il contient le nom et la location de la page courant, un bouton de changement de thème et un pour la déconnexion. - Pied de page (Footer) : Barre en bas de la page, contient le logo de la société et son adresse. - La barre de menu : une barre fixe à gauche de la page qui peut être caché selon le choix d’utilisateur et selon la dimension de l’écran. Il contient un ensemble de liens, regroupés selon la catégorie concerné, permettant d’accéder à tous le contenu de l’application. Grace au moteur de Template Thymleaf ayant des fonctionnalités telles que : la gestion des Layouts et des Fragments qui permettent de d’utiliser une seule Template pour toutes les pages de l’application. En-tête(Header) Contenu En-pied (footer) Barre de menu
  • 35. 30 3.3. Tableau de bord Figure 18: Tableau de bord C’est la première page affiché dès l’authentification d’utilisateur. Cette page représente une vision globale sur les opérations faite pendant des durées différentes. Cette interface compose de quatre parties : - Partie haut-gauche : présente le nombre de commandés effectués, les quantités des produits vendu, le revenu et la croissance du mois courant, ainsi le rapport par rapport au mois dernier. - Partie haut-droite : un diagramme montre les opérations d’achats, de ventes et les revenus pour chaque mois de l’année courant. - Partie gauche-bas : un tableau qui présente les produits les plus vendus. - Partie bas-droit : un diagramme montre la variation de stock des produits.
  • 36. 31 3.4. L’interface de statistiques Figure 19: Interface de statistiques Cette interface présente un ensemble de statistiques qui concerne : - Les deux diagrammes à barres présentent les ventes : un pour les quantités de produits vendus en fonction de mois, et l’autre pour les revenues des ventes.
  • 37. 32 - Les achats : Le diagramme à gauche présente les quantités de produits achetés. Et le diagramme à droite pour les couts d’achats. Tous en fonction de mois. - Les deux diagrammes à secteurs présentent les différents produits achetés (gauche) et vendus (droite) pendant l’année courant. L’utilisateur a la possibilité de filtrer les statistiques à l’aide du formulaire suivant soit par le choix de : - Dossier - L’année - Le mois - Le jour - La catégorie des produits - Le produit
  • 38. 33 3.5. Interface pour la gestion des dossiers L’interface ci-dessous contient la liste de dossiers crées par les utilisateurs. L’utilisateur a la possibilité de rechercher un dossier selon son nom, sa date de création ou par la date quand il ferme. Il peut les regrouper selon les dossiers fermés ou ouverts. L’interface fournit aussi un bouton permettant la création d’un nouveau dossier. Figure 20: Interface de gestion de dossiers L’ouverture d’un dossier affiche ses détails tel que le nombre de commandes et factures dans ce dossier, le nombre de produits acheté/vendus et les montants total. De plus l’utilisateur qui créer ce dossier.
  • 39. 34 3.6. Interface de gestion des produits Cette interface compose d’une liste de produits que la société dispose sous forme d’un tableau ou il est défini par sept colonnes : la référence de produit, sa désignation, son prix et la famille à quel il appartient, la quantité en stocke et la quantité d’alerte, De plus une colonne qui contient les bottons permettant de supprimer ou de la mise à jour d’un produit. Les quantités en stock sont affichées en vert lorsque ses valeurs sont supérieures aux quantités d’alerte, et en rouge dans le cas contraire. En cliquant sur le bouton nouveau, un formulaire pour la saisie d’un nouveau produit s’affiche à gauche du tableau. La même chose dans le cas de mise à jour. Figure 21: interface de gestion de produits
  • 40. 35 3.7. Interface de gestion des clients Figure 22: Interface de gestion de clients Cette interface contient un tableau de clients qui contient les colonnes suivant : le nom du client, son prénom, son âge, son adresse, l’e-mail et le numéro de téléphone. Et une colonne de gestion (les bottons d’ajout, de suppression et de modification) L’affichage de formulaire d’ajout de nouveau client se fait en cliquant sur le bouton nouveau, et le même pour le bouton de modification.
  • 41. 36 3.8. Interface de gestion des fournisseurs Cette interface contient un formulaire de l’ajout de nouveau, ou de modification des informations d’un fournisseur. Et une liste des fournisseurs déjà existés définies par : Le code de fournisseur, le nom, l’adresse, le raison social, le capital, l’email, le numéro de téléphone et le numéro de fax ; et une colonne contenant les boutons de gestion de ces fournisseurs. Figure 23: Interface de gestion de fournisseurs
  • 42. 37 3.9. Interface de gestion des commandes Nous avons trois interfaces pour la gestion des commandes : - La liste des commandes : l’interface nous offre la liste des commandes enregistrés dans un dossier, et qui sont regrouper en commandes d’achats (fournisseurs) et commandes de ventes (clients) o Commandes d’achats : présenté sous forme de tableau dont les colonnes sont le numéro, la date, le fournisseur et la validité de commande. o Commande de ventes : un tableau contenant les colonnes : numéro, date et la validité de la commande et le client. L’utilisateur a la possibilité de filtrer ces commandes soit par la date, la précision du fournisseur/client et sa validité ou par le saisit de numéro de la commande. Figure 24: La liste des commandes - Les détails d’une commande Les utilisateurs peuvent consulter les détails d’une commande en cliquant sur le bouton « détails » dans la liste des commandes. Le résultat obtenu présente comme suit : Elle peut être une commande d’achat ou de vente. Elles contiennent des informations générales telles que le numéro de commande, la date, sa validité et le nombre de produits commandés. De plus la liste de produits commandé ; ses quantités, les TVA, les sous-total et le montant total. La différence entre les deux est que la commande d’achat contient de plus les informations du fournisseur concerné. Cependant dans la commande de vente, elle contient celles du client.
  • 43. 38 Figure 25: Commande d'achat Figure 26: Commande de vente - Formulaire de mise à jour et d’ajout d’une nouvelle commande L’ajout d’une commande se fait en saisissant la date de commande qui doit respecter un format spécifique. Il faut aussi déterminer si cette commande est validée ou non, par défaut l’option est mise à non. La détermination du type de commande soit en choisissant un client (vente) ou un fournisseur (achat). L’utilisateur doit au moins ajouter un produit commandé d’après le formulaire à droite, qui propose une liste des produits avec ses prix, ainsi la saisie de la quantité commandé qui doit être au minimum égal à 1.
  • 44. 39 La mise à jour d’une commande se fait de la même manière. Figure 27: Formulaire d'ajout/modification de commande
  • 45. 40 3.10. Interface de gestion des factures La liste des factures est similaire au celle des commandes. Figure 28: Liste des factures Détails d’une facture Figure 29: Détails d'une facture Les principales informations d’une facture sont : - Les informations générales : contient le numéro et la date de la facture. Le nombre de produits commandés, le total hors taxe et le total toutes taxes comprises TTC
  • 46. 41 - La liste des produits commandés : contient les noms des produits, les prix, les quantités et les sous- totaux. - La partie concerné et ses informations : soit un client ou bien un fournisseur. - Les réductions sur les produits. - Les règlements - La livraison : la date et l’adresse (facultatif) L’interface contient aussi un bouton qui permet d’imprimer la facture en version PDF : Exemple : Figure 30: Exemple de facture en format PDF
  • 47. 42 Formulaire de mise à jour et d’ajout d’une nouvelle facture Figure 31: Formulaire d'ajout/modification de facture L’utilisateur peut établir la facture à partir d’une commande en cliquant sur le bouton « facturer » dans la liste des commandes. La mise à jour ou la modification d’une facture se fait de la même manière que la commande. La déférence est que lors d’établir de facture, l’utilisateur peut ajouter des options tels que les règlements de la facture, les réductions, la date et l’adresse de livraison.
  • 48. 43 3.11. Interface de gestion des utilisateurs Cette interface est accessible seulement par les administrateurs, ils peuvent consulter la liste des utilisateurs de cette application, les permissions affectés, et les statuts de leurs compte, c’est-à-dire s’ils sont activé ou non. Un administrateur peut ajouter ou modifier un utilisateur à l’aide de formulaire affiché à gauche, en saisissant le nom d’utilisateur qui ne doit pas être existe déjà et un mot de passe, ensuite il doit affecter au moins une permission. Figure 32: Interface de gestion des utilisateurs L’affectation des permissions se fait dans une boite de dialogue qui sera affiché après la clique sur le bouton bleu dans la ligne permission Figure 33: Liste des permissions
  • 49. 44 3.12. Interface de gestion des informations de la société Cette interface présente les informations et le logo de la société qui utilise cette application. Si l’utilisateur connecter à l’application est un administrateur il a la possibilité de modifier ces informations. Figure 34: Informations de la société
  • 50. 45 3.13. Page pour les requêtes introuvables Cette page s’affiche lorsque l’utilisateur essaye d’accéder à une ressource inexistante dans l’application. Figure 35: Page non trouvé (404) 3.14. La page 403 pour les requêtes inaccessible Figure 36: Page accès refusé(403)
  • 51. 46 Conclusion Au terme de ce travail, il sera nécessaire de s’interroger sur son efficacité et son adéquation avec les objectifs tracés initialement. Ce projet a été très intéressant et enrichissant pour moi car il m’a permis d’améliorer mes compétences en réalisation du projet, et en développement de l’application web avec un nouvel outil, Framework Spring, ce qui est un avantage et point de plus pour moi. De plus, il a été bénéfique et formateur tant sur le plan technique que humain. Techniquement car j’ai vu améliorer mes compétence dans la programmation web en apprenant notamment le modèle MVC, la sécurité et le concept ORM du Framework Spring qui permettent d’organiser le code de manière à ce que celui-ci puisse être plus facilement réutilisable et maintenable. Enfin, je voudrais signaler que ce stage m’a été bénéfique à plus d’un titre. En effet, il me permet d’appliquer mes connaissances théoriques et pratiques que j’ai acquises durant mon curseur universitaire dans le domaine professionnel, et aussi de les améliorer.
  • 52. 47 Webographie Site officiel de REC Media : http://www.rec.ma/ Documentation et concepts de base http://www.wikipedia.com Framework de développement de mise en page et mise en forme http://www.bootstrap.com Bibliothèque de création des diagrammes et graphiques https://www.fusioncharts.com Concepts de base de Framework Spring Boot http://spring.io/projects/spring-boot Collection des dépendances et bibliothèques nécessaires du projet https://mvnrepository.com/