Académique Documents
Professionnel Documents
Culture Documents
RÉALISATION D’UNE
APPLICATION WEB ET DESKTOP
DU SYSTÈME D’ASSURANCE
1
Remerciements
2
Dédicaces
Je dédie ce travail :
À mes très chers parents
3
Table de matières
Remerciements 2
Dédicaces 3
Introduction 7
4
3. Conclusion : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Conclusion 39
Références 40
5
Table des figures
1 Diagramme de cas d’utilisation . . . . . . . . . . . . . . . . . . . . . . . . 22
2 Diagramme de classe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3 Diagramme de séquence . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
4 L’accueil-Web- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
5 Le profil de l’administrateur-Web- . . . . . . . . . . . . . . . . . . . . . . . 27
6 L’authentification-Web- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
7 Liste des clients-Web- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
8 Modification d’un client-Web- . . . . . . . . . . . . . . . . . . . . . . . . . 28
9 Ajout d’un client-Web- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
10 Liste des utilisateurs-Web- . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
11 Modification d’un utilisateur-Web- . . . . . . . . . . . . . . . . . . . . . . 30
12 Ajout d’un utilisateur-Web- . . . . . . . . . . . . . . . . . . . . . . . . . . 30
13 Liste des assurances-Web- . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
14 Modification d’une assurance-Web- . . . . . . . . . . . . . . . . . . . . . . 31
15 Ajout d’une assurance-Web- . . . . . . . . . . . . . . . . . . . . . . . . . . 32
16 L’accueil-Desktop- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
17 Le profil de l’administrateur-Desktop- . . . . . . . . . . . . . . . . . . . . . 33
18 L’authentification-Desktop- . . . . . . . . . . . . . . . . . . . . . . . . . . 33
19 Liste des clients-Desktop- . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
20 Modification d’un client-Desktop- . . . . . . . . . . . . . . . . . . . . . . . 34
21 Ajout d’un client-Desktop- . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
22 Liste des utilisateurs-Desktop- . . . . . . . . . . . . . . . . . . . . . . . . . 35
23 Modification d’un utilisateur-Desktop- . . . . . . . . . . . . . . . . . . . . 36
24 Ajout d’un utilisateur-Desktop- . . . . . . . . . . . . . . . . . . . . . . . . 36
25 Liste des assurances-Desktop- . . . . . . . . . . . . . . . . . . . . . . . . . 37
26 Modification d’une assurance-Desktop- . . . . . . . . . . . . . . . . . . . . 37
27 Ajout d’une assurance-Desktop- . . . . . . . . . . . . . . . . . . . . . . . . 38
6
Introduction
7
Partie 1 :
Présentation de l’entreprise : Mutuelle
d’Assurances des Transporteurs Unis
(MATU)
8
Partie 1 : Présentation de l’entreprise :
Mutuelle d’Assurances des Transporteurs
Unis (MATU)
1. Assurance et Mutuelle
Assurance
Une ASSURANCE est un organisme permettant à une personne appelée « l’assuré
» de bénéficier du secours et la gestion des risques assurables par « l’assureur » en cas
de survenance d’un sinistre. En souscrivant une assurance, vous transférez le coût d’une
perte potentielle à une compagnie d’assurance en échange d’une somme d’argent appelée
« prime » ou « cotisation » que l’assuré est tenu de verser selon les conditions et termes
du contrat.
Mutuelle
Un groupement son financement est solidaire : chaque membre apporte une cotisation,
permettant de financer une couverture sociale complémentaire à la Sécurité sociale, mais
aussi des actions de prévoyance, de solidarité et d’entraide.
2. Historique de la MATU assurance
La MATU a été créée par les professionnels du transport au début des années 80, afin
de répondre aux besoins en assurances de ce secteur vital pour l’économie marocaine.
Depuis sa création, la MATU a participé activement au développement du secteur
du transport, et de l’assurance automobile en particulier, en étant à l’écoute des profes-
sionnels, pour adapter au mieux nos solutions d’assurances à leurs besoins quotidiens.
Aujourd’hui, la MATU est fière de son statut d’expert en assurances automobile, parti-
culiers et flottes, capitalisant plus de 30 ans d’expérience aux services de tous les usagers
de la route.
Statut de mutuelle
9
4. Les différents services de la MATU
Direction générale :
Cette direction ne contient qu’un seul service qui s’en charge du marketing et commu-
nication générale avec les clients.
Direction financière :
10
Direction système d’information :
Ce service est le service où j’ai effectué mon stage, il est divisé en 2 parties, la partie
développement, qui s’en charge de tout ce qui est programmation et développement des
applications internes et interfaces. La deuxième partie s’en charge de support, la supervi-
sion du réseau ...
Indemnisation :
Indemnisation Matériel :
— Audit,
— Controle interne,
— Risque management.
11
Partie 2 :
Cahier des charges
12
Partie 2 : Cahier des charges
1. Contexte et objet du projet
Contexte du projet :
La MATU souhaite mettre en place une solution de la visualisation des Chiffre D’affaire
de ces clients. L’objectif est d’offrir aux responsables un outil de visualisation qui va leur
permettre de mieux suivre les assurances des clients.
Objectifs :
— Vision globale sur l’ensemble des assurances,
— Gain de temps dans l’élaboration des tableaux de bord,
— Accès à l’information en temps réel.
Périmètre du projet :
Besoins fonctionnels :
13
— Modifier utilisateur : Le système devra permettre la modification des informations
d’un utilisateur.
— Supprimer utilisateur : Le système devra permettre la suppression d’un utilisateur
dans le cas où il n’est plus habilité à utiliser l’application.
Gestion des clients :
— Ajouter client : Le système devra permettre l’ajout d’un client.
— Modifier client : Le système devra permettre la modification des informations d’un
client.
— Supprimer client : Le système devra permettre la suppression d’un client.
Gestion des assurances :
— Ajouter assurance : Le système devra permettre l’ajout d’une assurance.
— Modifier assurance : Le système devra permettre la modification d’une assurance.
— Supprimer assurance : Le système devra permettre la suppression d’une assurance.
14
Partie 3 :
Conception de l’application
15
Partie 3 : Conception de l’application
Introduction
Au cours de cette partie, j’ai présenté l’ensemble des outils et technologies utilisés pour
réaliser ce projet, passant à la solution UML pour tracer une vue globale du projet. Cette
partie est la base des parties suivantes concernant la réalisation de l’application.
Avantages :
— Légèreté : Spring Boot a la particularité d’être très léger et d’embarquer avec lui
le strict minimum pour faire tourner votre service.
— Intégration facilitée : Spring Boot s’intègre particulièrement bien dans une archi-
tecture orientée micro services... et c’est l’un des seuls ! En effet, l’adoption des
architectures micro services au sein des organisations étant relativement récente, il
n’existait pas dans l’univers de JAVA de framework capable de créer des services
suffisamment légers et performants.
— Simplicité de prise en main : Spring Boot permet donc de créer une API de services
très simplement. Il suffit d’embarquer directement le serveur d’application dans un
seul et unique Jar qui est exécutable, par exemple, directement dans un service de
conteneur.
Les composants de Spring boot :
Chaque projet SpringBoot est composé de librairies dont notre projet a besoin... et de
rien d’autre. Ainsi, chaque projet Spring Boot embarque uniquement le strict nécessaire.
De manière générale, le framework propose en standard tout ce qui est nécessaire pour :
— Se connecter à toute base de données
— Sécuriser son API
— Créer des services web performants
— Distribuer la configuration entre les microservices
— etc..
16
2. Spring Data :
Spring Data est un projet Spring qui a pour objectif de simplifier l’interaction avec
différents systèmes de stockage de données : qu’il s’agisse d’une base de données rela-
tionnelle, d’une base de données NoSQL, d’un système Big Data ou encore d’une API
Web.
Le principe de Spring Data est d’éviter aux développeurs de coder les accès à ces
systèmes. Pour cela, Spring Data utilise une convention de nommage des méthodes d’accès
pour exprimer la requête à réaliser.
3. Spring Security :
17
4. JWT :
JWT (abréviation de JSON Web Token) est la normalisation manquante pour l’uti-
lisation de jetons pour l’authentification sur le web en général, et pas seulement pour
les services REST. Il est actuellement à l’état de projet sous la forme de la RFC 7519.
Il est robuste et peut transporter beaucoup d’informations, mais reste simple à utiliser
même si sa taille est relativement petite. Comme tout autre jeton, JWT peut être utilisé
pour transmettre l’identité d’utilisateurs authentifiés entre un fournisseur d’identité et
un fournisseur de services (qui ne sont pas nécessairement les mêmes systèmes). Il peut
également porter toutes les demandes de l’utilisateur, comme les données d’autorisation,
de sorte que le fournisseur de services n’a pas besoin d’aller dans la base de données ou
dans des systèmes externes pour vérifier les rôles et les autorisations de l’utilisateur pour
chaque demande ; ces données sont extraites du jeton.
5. React js :
React (aussi appelé React.js ou ReactJS) est une bibliothèque JavaScript libre déve-
loppée par Facebook depuis 2013. Le but principal de cette bibliothèque est de faciliter la
création d’application web monopage, via la création de composants dépendant d’un état
et générant une page (ou portion) HTML à chaque changement d’état.
React est une bibliothèque qui ne gère que l’interface de l’application, considéré comme
la vue dans le modèle MVC. Elle peut ainsi être utilisée avec une autre bibliothèque ou
un framework MVC comme AngularJS. La bibliothèque se démarque de ses concurrents
par sa flexibilité et ses performances, en travaillant avec un DOM virtuel et en ne mettant
à jour le rendu dans le navigateur qu’en cas de nécessité2.
La bibliothèque est utilisée par Netflix3 (côté serveur uniquement depuis le 25 octobre
2017 pour gagner 50 % de performance4), Yahoo5, Airbnb6, Sony7, Atlassian8 ainsi que
par les équipes de Facebook, appliquant le dogfooding sur le réseau social éponyme, Ins-
tagram ou encore WhatsApp2. À la fin de 2015, WordPress.com annonce Gutenberg, une
interface pour les éditeurs de sites WordPress, développée en JavaScript avec Node.js et
React9,10.
18
6. Reactstrap :
Reactstrap est une bibliothèque compoent pour reactjs. Il fournit des composants
Bootstrap intégrés qui facilitent la création d’une interface utilisateur avec des composants
autonomes qui offrent une certaine flexibilité et des validations intégrées.
7. jQuery :
jQuery est une bibliothèque JavaScript libre et multiplateforme créée pour faciliter
l’écriture de scripts côté client dans le code HTML des pages web. La première version
est lancée en janvier 2006 par John Resig.
8. NW js :
NW.js est un moteur d’application basé sur Chromium et node.js. On peut écrire des
applications natives en HTML et JavaScript avec NW.js. Il permet également d’appeler
des modules Node.js directement depuis le DOM et offre une nouvelle façon d’écrire des
applications natives avec toutes les technologies Web. Il a été créé au sein du centre
technologique Open Source d’Intel.
19
9. Axios :
Axios est une bibliothèque JavaScript fonctionnant comme un client HTTP. Elle per-
met de communiquer avec des API en utilisant des requêtes. Comme avec les autres clients
HTTP, il est possible de créer des requêtes avec la méthode POST.
10. MySql :
11. Laragon :
20
Les technologies utilisées
1. Visual Studio Code :
Visual Studio Code est un éditeur de code extensible développé par Microsoft pour
Windows, Linux et macOS2.
Les fonctionnalités incluent la prise en charge du débogage, la mise en évidence de la
syntaxe, la complétion intelligente du code, les snippets, la refactorisation du code et Git
intégré. Les utilisateurs peuvent modifier le thème, les raccourcis clavier, les préférences
et installer des extensions qui ajoutent des fonctionnalités supplémentaires.
2. LucidChart :
La réalisation d’un projet doit être impérativement précédée d’une méthodologie d’ana-
lyse et de conception qui a pour objectif de permettre de formaliser les étapes préliminaires
du développement, afin de rendre ce développement plus fidèle aux besoins. Les outils de
modélisation sont nombreux, j’ai choisi pour modéliser cette application le langage UML
qui est un langage de modélisation couramment utilisé dans tous projets logiciels. Le choix
d’UML vient pour plusieurs raisons dont :
— L’élaboration des modèles objet, indépendamment de tout langage de programma-
tion, l’UML permet donc de normaliser les concepts objet.
— UML est un support de communication performant : Il cadre l’analyse et facilite
la compréhension de représentations abstraites complexes.
— La structuration cohérente des fonctionnalités et des données.
Le langage UML ne se limite pas à de jolies images. S’il est utilisé correctement, l’UML
indique précisément comment le code doit être mis en œuvre à partir de diagrammes.
S’il est interprété avec précision, le code implémenté reflétera correctement l’intention du
concepteur. Une classe UML peut être impliquée dans une ou plusieurs relations avec
d’autres classes.
21
Diagramme de cas d’utilisation :
Le diagramme des cas d’utilisation (Use Case Diagram) constitue la première étape
del’analyse UML en :
— Modélisant les besoins des utilisateurs.
— Identifiant les grandes fonctionnalités et les limites du système.
— Représentant les interactions entre le système et ses utilisateurs.
Le diagramme des cas d’utilisation apporte une vision utilisateur et absolument pas une
vision informatique. Il ne nécessite aucun connaissance informatique et l’idéal serait qu’il
soit réalisé par le client.
Le diagramme des cas d’utilisation n’est pas un inventaire exhaustif de toutes les fonctions
du système. Il ne liste que des fonctions générales essentielles et principales sans rentrer
dans les détails.
22
Diagramme de classe :
23
Diagramme de séquence :
3. Conclusion :
Cette partie a présenté les différents outils et technologies utilisés pour réaliser cette
application, ainsi que sa conception y compris les diagrammes de cas d’utilisation, sé-
quence et de classe.
24
Partie 4 :
Réalisation de l’application
25
Partie 4 : Réalisation de l’application :
1. Introduction :
Cette partie contient les interfaces de l’application, les figures ci-dessous représentent
quelques captures d’écran de pages de l’application. L’accueil, puis le profil de l’adminis-
trateur, on s’authentifie pour qu’on puisse ajouter des clients, modifier et supprimer, la
même chose pour les utilisateurs mais on peut changer les rôles aussi.
2. L’application Web
Figure 4 – L’accueil-Web-
26
Cette figure présente le profil de l’administrateur, l’ID, l’email, nom d’utilisateur, le
mot de passe et ses rôles.
Figure 6 – L’authentification-Web-
27
Dans cette figure, on affiche la liste des clients.
28
On ajoute un client comme suit :
29
On peut modifier les informations d’un utilisateur comme la figure ci-dessous.
30
Dans cette figure, on affiche la liste des assurances.
31
On ajoute une assurance comme suit :
3. L’application Desktop
Cette figure présente la page d’accueil.
Figure 16 – L’accueil-Desktop-
32
Cette figure présente le profil de l’administrateur, l’ID, l’email, nom d’utilisateur, le
mot de passe et ses rôles.
Figure 18 – L’authentification-Desktop-
33
Dans cette figure, on affiche la liste des clients.
34
On ajoute un client comme suit :
35
On peut modifier les informations d’un utilisateur comme la figure ci-dessous.
36
Dans cette figure, on affiche la liste des assurances.
37
On ajoute une assurance comme suit :
4. Conclusion :
Cette partie avait pour but la présentation des différentes fonctionnalités de l’applica-
tion que ça soit au niveau du web ou le desktop.
38
Conclusion
Ce Projet était, pour moi, une opportunité pour savoir des nouvelles tech-
nologies dans le domaine du web comme spring boot et react js qu’on a jamais
étudié.
J’ai gardé un excellent souvenir de ce projet. C’était une très bonne ex-
périence valorisante et encourageante pour moi dans l’avenir.
39
Références
— https://reactjs.org/
— https://spring.io/projects/spring-boot
— https://jquery.com/
— https://lucid.app/users/loggedOut?rskn=true
— https://matu-assurance.ma/
— https://reactstrap.github.io/
— https://github.com/axios/axios
— https://jwt.io/
— https://nwjs.io/
— https://github.com/nwjs/nw.js/
40