République Tunisienne Ministère de l’Enseignement Supérieur et de la Recherche Scientifique Université de Carthage Faculté des sciences économiques et de gestion de Nabeul
Rapport de Projet de Fin d’Études
Présenté en vue de l’obtention du
Diplôme De Mastère Professionel Ingénierie des Systèmes d’Information et des
Connaissances
Par
Khaoula BOUGHZELA
Reporting temps réel sur un cluster MongoDB
Encadrant professionnel :
Monsieur Ibrahim BELAZREG
Encadrant académique :
Monsieur Taieb FELFEL
Réalisé au sein de Vermeg
Année Universitaire 2017 - 2018
Encadrant professionnel, Monsieur Ibrahim BELAZREG
Signature et cachet
Encadrant académique, Monsieur Taieb FELFEL
Signature
Dédicaces
Je dédie ce travail à toute ma famille et particulièrement
A ma mère , mon père , aux membre de ma famille qui m’ont comblé
de leur soutien, que cet humble travail témoigne mon affection.
A ma chère grand-mère, pour son soutien quotidien, ses encouragements
qu’elle trouve ici l’expression et le témoignage de ma gratitude ressentie.
A mon fiancé Wassim , pour sa compréhension, son soutien et
ses encouragements, qu’il trouve ici l’expression de ma reconnaissance.
À ma Sœur Khouloud pour son soutien moral,
des bons conseils et du réconfort.
À mes collègues,ma cousine et les personnes auprès desquelles j’ai toujours
trouvé le bon accueil et un joli sourire.
iii
Remerciements
C’est avec plaisir que je réserve ces quelques lignes en signe de gratitude et de profonde
reconnaissance à tous ceux qui m’ont écouté, conseillé, critiqué, encadré et contribué d’une façon
ou d’une autre à l’aboutissement de ce travail.
Je tiens à remercier dans un premier temps, Monsieur Taieb FELFEL, mon encadrant académique
à la faculté des sciences économiques et de gestion de Nabeul, pour l’aide et les conseils pertinents qu’il
m’a apportés lors de ses différents suivis concernant les missions évoquées dans ce rapport et durant
tout mon projet.
Je remercie également Monsieur Ibrahim BELAZREG, mon encadrant technique à Vermeg,
pour m’avoir bien accueilli au sein de l’équipe, pour m’avoir accordé ce stage et cru en moi et pour
m’avoir guidé et conseillé au cours de mes différentes missions. J’exprime envers lui tous mes sentiments
d’appréciation et de gratitude.
J’adresse mes remerciements aux membres du jury pour avoir accepter de juger ce travail.
Ainsi que tous les professeurs qui ont contribué à ma formation et qui m’ont largement fait pofiter de
leurs connaissances et leurs conseils.
iv
Table des matières
Introduction générale
1 Contexte Général
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.1 Entreprise d’accueil : VERMEG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.1.1 Organisation de Vermeg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.1.2 Produits et activités . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.1.3 Unité d’accueil
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2 Présentation du projet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2.1 Contexte du projet
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2.2 Travail demandé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.3 Méthodologie de développement : 2TUP . . . . . . . . . . . . . . . . . . . . . . . . . .
1
3
4
4
5
6
7
8
8
8
9
Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10
2 Étude Préalable
2.1 Concepts du domaine de l’assurance
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.1.1 Présentation de l’assurance . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.1.2 Les acteurs
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.1.3 Le contrat d’assurance ou Police d’assurance
. . . . . . . . . . . . . . . . . . .
2.1.4 Les avenants
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.1.5 Prime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.1.6
Sinistre
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2 Le projet décisionnel
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.1 Choix de la base de données NoSql
. . . . . . . . . . . . . . . . . . . . . . . .
2.2.2 Choix de la Base de données MongoDB . . . . . . . . . . . . . . . . . . . . . .
2.3 Les tableaux de bord
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3.1 Rôles des tableaux de bord . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3.2 Les instruments du tableau de bord . . . . . . . . . . . . . . . . . . . . . . . .
2.3.3 Choix des indicateurs d’un tableau de bord . . . . . . . . . . . . . . . . . . . .
2.4 Le reporting
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.5 Concept de clustering (regroupement de bases de données) . . . . . . . . . . . . . . . .
2.6 Les contraintes d’intégrations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
v
12
13
13
14
15
15
16
16
16
17
19
20
20
21
21
22
23
25
2.6.1 Protocoles de transmision de messages SOAP . . . . . . . . . . . . . . . . . . .
2.6.2 Conversion de SOAP à REST . . . . . . . . . . . . . . . . . . . . . . . . . . .
Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3 Analyse des Besoins
3.1
Identification des acteurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.1.1 L’IT analyste : L’expert d’assurance . . . . . . . . . . . . . . . . . . . . . . . .
3.1.2 L’administrateur métier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2 Recensement des besoins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2.1 Besoins fonctionnels
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2.2 Besoins non fonctionnels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2.3 Besoins techniques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3 Analyse des besoins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3.1 Diagrammes de cas d’utilisation global . . . . . . . . . . . . . . . . . . . . . . .
Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4 Conception et architecture
4.1 Architecture globale du système
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.1.1 Architecture physique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.1.2 Architecture logique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2 La modélisation des données dans le cluster mongoDB . . . . . . . . . . . . . . . . . .
4.2.1 Les données sources
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2.2 L’intégration des données
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.3 Aspect statique du système . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.3.1 Diagramme de paquetage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.3.2 Déploiement de l’application . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5 Réalisation
5.1 Environnement de travail
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.1.1 Environnement matériel
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.1.2 Environnement logiciel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.2 Les Serveurs
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.2.1
Conteneur web de servlets : Apache Tomcat Apache . . . . . . . . . . . . . . .
5.2.2
Serveur de base de données :MongoDB . . . . . . . . . . . . . . . . . . . . . . .
26
26
27
28
29
Publicité
29
29
29
30
30
31
31
31
36
37
38
38
39
40
40
41
44
44
45
46
47
48
48
49
52
52
52
vi
5.2.3
Serveur de la restitution : Qlik Sense
. . . . . . . . . . . . . . . . . . . . . . .
5.3 Réalisation de la solution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.3.1
Implémentation et déploiement de l’architecture du cluster MongoDB . . . . .
5.3.2 Réalisation de l’application spring boot
. . . . . . . . . . . . . . . . . . . . . .
5.4 Réalisation du tableau de bord . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.4.1 Authentification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.4.2 La visualisation du Tableau de bord Claims . . . . . . . . . . . . . . . . . . . .
Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Conclusion Générale
Bibliographie
53
53
53
55
59
60
61
64
65
66
vii
Table des figures
1.1 Clients de Vermeg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2 Les Départements de Vermeg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.3 Solution proposée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5
6
9
1.4 Processus 2TUP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10
2.1 Le secteur d’assurance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2 La chaine décisionnelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3 Les types des bases NoSQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.4 Architecture replication cluster
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.5 Architecture shard cluster . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.6 Architecture JAXB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.1 Diagramme de cas d’utilisation général
. . . . . . . . . . . . . . . . . . . . . . . . . .
3.2 Diagramme de cas d’utilisation : « Gérer les données sources » . . . . . . . . . . . . .
3.3 Diagramme de cas d’utilisation : « Gérer les tableaux de bord »
. . . . . . . . . . . .
3.4 Diagramme de cas d’utilisation :« Gérer les utilisateurs » . . . . . . . . . . . . . . . . .
3.5 Diagramme de cas d’utilisation :« Consulter les tableaux de bord» . . . . . . . . . . .
4.1 Architecture physique de l’application . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2 Architecture logique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.3
Invoquer WS dans SoapUI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.4 Le document Claims . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.5 La modélisation des données de notre tableau de bord . . . . . . . . . . . . . . . . . .
4.6 Le Diagramme de paquetage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.7 Le Diagramme de déploiement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.1
Interface graphique de draw.io . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.2 Environnement logiciel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.3 Architecture du cluster Mongodb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.4 Connexion au master
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.5 La connexion entre le Master et les config servers . . . . . . . . . . . . . . . . . . . . .
5.6 La configuration des replicats sets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.7 Tester web service dans soapUI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
13
17
19
24
25
27
32
34
34
35
36
38
39
41
42
43
44
45
49
50
53
54
55
55
56
viii
5.8 Les classes générer
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.9 Code de consommation des données . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.10 Application springboot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.11 Persistance des données
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.12 Page d’authentification
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.13 Dashboard des sinistres
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.14 Le tableau de suivi des sinistres et les filtres
. . . . . . . . . . . . . . . . . . . . . . .
5.15 Représentation du nombre des sinistres selon leurs statuts . . . . . . . . . . . . . . . .
5.16 représentation des types de sinistres les plus affecté
. . . . . . . . . . . . . . . . . . .
5.17 Peprésentation des types de sinistres les plus fréquent
. . . . . . . . . . . . . . . . . .
57
58
58
59
61
61
62
63
63
64
ix
Liste des tableaux
2.1 Comparaison SQL / MongoDB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
20
3.1 Description textuelle de cas d’utilisation général
. . . . . . . . . . . . . . . . . . . . .
3.2 Description textuelle CU « Gérer les données sources » . . . . . . . . . . . . . . . . . .
3.3 Description textuelle CU « Gérer les tableaux de bord » . . . . . . . . . . . . . . . . .
3.4 Description textuelle CU « Gérer les utilisateurs » . . . . . . . . . . . . . . . . . . . .
3.5 Description textuelle CU « Consulter les tableaux de bord » . . . . . . . . . . . . . . .
33
34
35
35
36
4.1 Les règles de passage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
42
5.1 Framework et outils utilisés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.2 Configuration des nœud du cluster
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.3 Architecture KPI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
50
Publicité
54
60
x
Introduction Générale
De nos jours, le contexte de mondialisation est caractérisé par l’omniprésence de l’information
qui représente une matière première stratégique à tous les niveaux de la prise de décision. La difficulté
ne réside plus dans la collecte de l’information, mais plutôt dans la mise à disposition de celle-ci sous
le bon format, au bon moment et à la bonne personne qui saura l’exploiter et en tirer de la valeur
ajoutée. Avec l’essor des grandes plateformes Web (par exemple, Google, Facebook, Twitter, Amazon),
ont été développées des solutions de gestion des mégadonnées (big data) basées sur des approches
décentralisées permettant la gestion et le stockage de gigantesques masses de données.
Cette approche décentralisée repose sur le principe de la scalabilité, c’est-à-dire l’ajustement
d’une manière progressive et continue du stockage et des traitements au volume des données. Les SGBD
de Big data, qualifiés de systèmes not-only-SQL (ou NoSQL), relaxent les fondements de l’approche
relationnelle pour pouvoir supporter les masses de données distribuées. De ce fait, il est envisageable
de construire des entrepôts de données massives reposant sur ce principe de scalabilité de l’espace de
stockage.
Côté entreprises, ces informations représentent un véritable potentiel d’avantage concurrentiel, une
possibilité de connaissance infinie sur son environnement et un élément différenciateur à long terme.
Dans ce contexte, l’informatique décisionnelle (Business intelligence ou BI) occupe une place
prédominante du fait qu’elle permet à l’organisation d’assurer sa position avant-gardiste. Cet objectif
se concrétise à travers l’ensemble de moyens permettant de mettre en place des tableaux de bord ayant
pour but d’offrir aux décideurs à la fois une vue d’ensemble sur l’activité de l’entreprise et la prise de
décisions.
Les assureurs commencent tout juste à entrevoir les possibilités qu’ouvre l’analyse de données
pour leur métier, notamment pour définir les profils de risque et accélérer sur la prévention.
Les tableaux de bord permettent de suivre en temps réel les performances de la gestion des sinistres et
des équipes correspondantes à l’aide de représentations visuelles faciles à comprendre. Cette fonctionnalité
permet aux superviseurs de mieux gérer leurs équipes, aux gestionnaires de sinistres de répartir leur
charge de travail plus efficacement et à l’encadrement de suivre l’évolution des performances et des
tendances sur une période donnée, que ce soit à l’échelle de l’entreprise ou bien dans des domaines
spécifiques.
Notre mission consiste à collecter les données à partir des web services Solife et les stocker dans un
cluster mongoDB afin de réaliser une restitution sous forme de tableaux de bord. La partie applicative,
va consister en un déploiement d’un cluster mongoDB avec tous ses composants dans un environnement
1
Introduction générale
distribué.
Le présent rapport s’articule autour de cinq chapitres :
— Le premier chapitre intitulé "Contexte Général" présente l’organisme d’accueil, donne une
présentation générale de notre projet ainsi que la méthodologie adoptée.
— Le deuxième chapitre intitulé "Etude préalable"consiste à introduire les concepts clés nécessaires
à la compréhension de notre projet et toutes les études effectuées pour la réalisation du projet.
— Le troisième chapitre intitulé "Analyse des besoins " présente l’analyse des besoins fonctionnels
et non fonctionnels suivi par une modélisation de ces besoins par le recours aux diagrammes de
cas d’utilisation.
— Le quatrième chapitre intitulé "Conception et architecture" comporte l’architecture, l’analyse
et la conception de la solution.
— Le cinquième chapitre intitulé "Réalisation " permet de présenter les différents frameworks et
technologies que nous avons manipulées pour aboutir à la solution finale ainsi que le fonctionnement
de notre solution.
Nous clôturons ce rapport par une "Conclusion Générale" dans laquelle nous résumons notre
solution et exposons quelques perspectives futures.
2
Chapitre 1
Contexte Général
Plan
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
2
Entreprise d’accueil : VERMEG . . . . . . . . . . . . . . . . . . . . . . . . .
Présentation du projet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3 Méthodologie de développement : 2TUP . . . . . . . . . . . . . . . . . . . .
4
4
8
9
Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Chapitre 1. Contexte Général
Introduction
Ce chapitre a pour but de situer le projet dans son environnement organisationnel et contextuel.
Nous commençons par présenter l’environnement du stage à travers une présentation de l’entreprise
d’accueil. Par la suite, nous décrivons le travail demandé, ainsi que la méthodologie utilisée pour
résoudre les problématiques du projet.
1.1 Entreprise d’accueil : VERMEG
Le projet a été réalisé au sein de VERMEG située aux Berges du lac à Tunis, c’est une entreprise
« off-shore » développée depuis plus de 20 ans comme intégrateur de solutions et de services. VERMEG
est désormais un partenaire clé pour les transformations métier et digitale dans le secteur de l’assurance
et de la finance. Elle est dotée d’une ingénierie experte en monétique et en édition de logiciels bancaires
et financiers pour la gestion des titres et des capitaux. Depuis sa création, elle n’a cessé de développer
son expertise en finance pour offrir une large gamme de logiciels innovants pour les middle et back-offices
des institutions financières concernées par le traitement des titres. Son atout majeur est sa capacité de
capitalisation d’expertise utilisée à des fins d’innovation, ce qui explique l’utilisation de ses produits
par de grandes institutions financières dans quinze pays à travers trois continents.
VERMEG a plusieurs clients renommés à travers le monde englobant les banques, les gestionnaires de
fonds, les assurances tels que le Banco Santander, la Banque de France, BNP paribas, HSBC,Nordea
et Société Générale figure 1.1.
Elle compte aujourd’hui plus de 700 collaborateurs, principalement des consultants d’affaires et des
technologies de l’information, leur mission est d’ouvrir des services spécialisés dans le domaine de la
finance, de conseiller les clients et d’être à l’écoute de leurs besoins afin de les satisfaire dans la mesure
du possible.
Dans le cadre de son expansion, VERMEG a pris le contrôle de BSB, une entreprise belge spécialisée
en édition de logiciels d’assurances et de gestion d’actifs financiers.
4
Chapitre 1. Contexte Général
Figure 1.1: Clients de Vermeg
1.1.1 Organisation de Vermeg
Vermeg couvre toute la chaîne de valeur par le biais de 3 métiers et propose des services
numériques ainsi qu’une technologie pour accompagner les mutations de plusieurs métiers. Ces 4
domaines d’expertise correspondent également à 4 divisions en termes d’organisation :
— Assurance de personnes /Assurance de biens
— Gestion d’actifs et de patrimoine
— Marchés financiers et metier titre
— Bespoke Solutions Development
Chaque domaine d’expertise au sein de Vermeg correspond à un département et chacun a developpé
son produit dans le marché. On cite donc :
— Bespoke Solutions Development : Palmyra By Vermeg
— Marchés financiers et metier titre : Megara By Vermeg
— Assurance de personnes : Solife By Vermeg
— Gestion d’actifs et de patrimoine :Soliam By Vermeg
— Assurance de biens :Massai By Vermeg
5
Chapitre 1. Contexte Général
Figure 1.2: Les Départements de Vermeg
1.1.2 Produits et activités
Vermeg offre une gamme de produits, parmi lesquels nous citons la suite Megara et Omega FA,
une plateforme de développement Palmyra ainsi que le logiciel d’assurance vie Vermeg Life.
— Megara suite : Megara est un ensemble de modules pour le traitement des valeurs mobilières
pouvant être implémentés séparément et indépendamment. Elle permet une automatisation des
tâches du middle et back office des principales institutions bancaires possédant une structure
multi-marché, multidevises et multi entités.
— Omega FA : Omega FA est une application orientée métier, fournissant les fonctionnalités Front-office,
Middle-office et Back-office qui sont destinées aux gestionnaires d’actifs. Elle est conçue aussi
bien pour s’intégrer facilement avec les systèmes d’informations des clients que pour assurer une
meilleure productivité. Omega FA est compatible avec l’environnement Windows.
— Palmyra : Palmyra est un Framework propre à Vermeg. Son objectif principal étant de générer
automatiquement toute une application à partir d’un simple modèle UML. Les applications que
génère « PALMYRA » visent principalement les métiers de la banque et de la bourse. Il repose
sur l’analyse et la conception orienté objet, et utilise des modèles et des outils standards tels
que le modèle UML et le standard J2EE. En Novembre 2007, Le label ’IBM SOA Exploit’ a été
décerné au Framework PALMYRA, après plusieurs suites de tests techniques et métier, faisant
ainsi de ce Framework la base du concept d’architecture orientée services des applications de
Vermeg.
— Vermeg Life :C’est un progiciel d’administration de police d’assurance-vie. Il offre la gestion du
6
Chapitre 1. Contexte Général
cycle de vie du contrat depuis la souscription, en passant par la création jusqu’à la clôture. La
première version était développée en 2005.D’un point de vue technologique, Vermeg Life utilise
une architecture orientée services (SOA) et est développé en technologie Java.
Vermeg est composé de quatre unités appelé Business Unit (BU) qui sont les suivantes :
— Pension and Insurance : c’est l’unité chargé de développer la solution SoLife pour la gestion des
polices d’assurance.
— Wealth and Asset Management : C’est l’unité chargé de développer la solution SOLIAM pour la
gestion des portefeuilles des gestionnaires d’actifs institutionnels de fortune.
— Financial Markets and Securities Services : il s’agit de l’unité qui développe la solution Megara
dédiée au traitement des titres.
— Digital Financial Services : unité responsable de la solution Palmyra.
1.1.3 Unité d’accueil
Vermeg Turkana anciennement BSB est le département d’accueil. BSB a été repris par Vermeg
group en 2014 après 4 années de résultats négatifs. Elle a été créée en 1995 sous le nom de « Business
Solutions Builders », par trois personnes initiées au monde de la consultance bancaire : Jean Martin,
Michel Isaac, et Marc van Steenwinkel.
BSB est un éditeur de logiciels axé sur l’assurance-vie, les pensions et les soins de santé, la
gestion d’actifs et les secteurs de gestion de patrimoine. En effet, BSB développe des solutions métiers
et fournit des services IT aux professionnels de la finance et de l’assurance.
Solife est un système d’administration des politiques complet et performant, conçu par et pour
les assureurs, sur la base d’une connaissance et d’une pratique de l’expérience utilisateur depuis 20 ans.
Elle permet aux sociétés d’assurance vie et santé de gérer de bout en bout leurs nouvelles activités,
polices et sinistres, avec toutes les fonctionnalités nécessaires : gestion de trésorerie et des événements,
gestion des flux, distribution et frais, gestion des déclarations...
La bibliothèque étendue d’API de Solife permet une intégration transparente avec les réseaux
bancaires, les intermédiaires et les partenaires, les portails d’assurance numérique.[1]
7
Chapitre 1. Contexte Général
1.2 Présentation du projet
Dans cette section, nous présentons les objectifs de notre stage de fin d’études. Dans un premier
temps nous évoquons le contexte du projet et nous enchainons par la suite avec la description du travail
demandé.
Publicité
1.2.1 Contexte du projet
La mise en place d’une solution décisionnelle est devient nécessaire pour l’assurance qui vise à
s’améliorer et se développer de manière continue et qui fournit aux décideurs une vision synthétique
du passé, du présent et ,par conséquent, du futur de l’assurance.
La finalité générale derrière ce type de solutions est d’avoir un tableau de bord composé d’un ensemble
de graphiques et d’informations significatives qui donnent une idée sur la performance du client Solife
à tout moment.
1.2.2 Travail demandé
Afin de faciliter la prise de décision et automatisation des processus de traitement et d’analyse
et la visualisation des données pour le client Solife. Nous proposons de développer une plateforme de
reporting pour la solution de Solife .
Notre travail comporte trois principales parties :
— Le développement d’une application pour la consommation des données à partir des web services
SOAP du client Solife.
— Le stockage des données dans un cluster MongoDB.
— La création d’un tableau de bord qui communique avec le cluster MongoDB et qui donne
l’opportunité de générer des rapports automatiques pour des fins d’analyse et de suivi.
La figure 1.3 est l’architecture de la solution proposée qui récapitule ce que nous souhaitons mettre en
place.
8
Chapitre 1. Contexte Général
Figure 1.3: Solution proposée
1.3 Méthodologie de développement : 2TUP
Le cycle de développement d’un logiciel désigne toutes les étapes du développement d’un
logiciel. C’est un processus qui conduit à la production d’un logiciel. Il commence avec la décision de
développer un logiciel et se termine avec sa livraison et son installation. Ainsi, plusieurs méthodologies
de développement sont apparues afin de couvrir les différents types de projets. Les méthodes agiles et
unifiées[2] sont les plus adoptées pour de développement logiciel.
Nous avons opté pour la méthodologie 2TUP vu qu’elle garantit une évolution flexible de notre
application en exploitant l’axe fonctionnel et l’axe technique en parallèle. La nature du projet représente
des besoins de nature métier, solife assurance vie, reporting et fonctionnelle au même degré que les
besoins techniques identifiés en termes de techniques de collecte, de stockage ,cluster Mongodb, KPI,
technique outil BI pour front end et la nature de la base.
Le processus 2TUP (Two Track Unified Process) est un processus de développement unifié qui
préconise un cycle de développement en Y et qui dissocie les aspects fonctionnels de l’application des
aspects techniques et architecturaux. Le processus 2TUP commence par une étude préliminaire qui
permet de cerner le périmètre du projet et d’étudier sa faisabilité.
9
Chapitre 1. Contexte Général
Au cours de cette étape, le concepteur établit une première idée sur le système à implémenter. Il
recense les traitements informatiques prévus et identifie l’architecture candidate. La figure 1.4 présente
les différentes étapes constituants les branches du processus 2TUP. Le processus 2TUP est composé
de trois branches qui sont les suivantes :
— La branche technique : Dans cette branche, il faut fixer les besoins techniques et déterminer
l’architecture logicielle et matérielle. Dans cette partie, nous avons choisi les technologies et les
outils adéquates. Dans cette partie, nous avons choisi les techniques de consommation des données
ainsi que les technologies et les outils à utiliser.Ensuite, nous avons établi la conception générique
qui définit les éléments essentiels à la construction de l’architecture technique indépendamment
des aspects fonctionnels.
— La branche fonctionnelle : Cette branche permet la capture des besoins fonctionnels et d’analyser
ses besoins pour obtenir une idée de ce que va réaliser le système en terme de métier.
Au cours de cette étape, nous avons essayé de comprendre le métier de l’assurance vie et dégager
les indicateurs clé de performance . Nous avons aussi déterminé les besoins fonctionnels et non
fonctionnels de notre futur système.
— Branche conception et développement logiciel : Cette branche correspond à la fusion des deux
précédentes afin d’avoir un système qui répond aux attentes des utilisateurs finaux.[3]
Figure 1.4: Processus 2TUP
10
Chapitre 1. Contexte Général
Conclusion
Dans ce premier chapitre, nous avons commencé par la présentation de l’organisme d’accueil,
ensuite nous avons décrit le cadre général du projet. En vue d’avoir une idée plus claire sur le projet, une
étude préalable fait l’objet du prochain chapitre pour comprendre les concepts généraux et d’étudier
les outils existants.
11
Chapitre 2
Étude Préalable
Plan
1
2
3
4
5
6
Concepts du domaine de l’assurance
. . . . . . . . . . . . . . . . . . . . . . 13
Le projet décisionnel
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Les tableaux de bord . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Le reporting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Concept de clustering (regroupement de bases de données) . . . . . . . . . 23
Les contraintes d’intégrations . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Chapitre 2. Étude Préalable
Introduction
Ce chapitre constitue le maillon de départ de notre projet. il expose une présentation du monde
de l’assurance. Dans la deuxième partie, il présente une étude pour le choix de la base de données NoSQL
mongoDb. Enfin, il définit les notions nécessaires pour la bonne compréhension de notre projet.
2.1 Concepts du domaine de l’assurance
Dans cette partie, nous décrivons les différents concepts qui constituent le fondement du projet
afin de mieux comprendre notre travail. Nous présentons ci-dessous quelques concepts utilisés dans le
métier des assurances.
2.1.1 Présentation de l’assurance
Une assurance est un service qui fournit une prestation lors de la survenance d’un risque. La
prestation, généralement financière, peut être destinée à un individu, une association ou une entreprise,
en échange de la perception d’une cotisation ou prime.
Par extension, l’assurance est le secteur économique qui regroupe les activités de conception, de
production et de commercialisation de ce type de service. La figure 2.1 est une représentation générale
du secteur d’assurance.
Figure 2.1: Le secteur d’assurance
13
Chapitre 2. Étude Préalable
Le secteur de l’assurance contient deux métiers indépendants :
- Les Assurances Non Vie (Assurances de Biens, Assurances de Responsabilité et Assu-rances Santé).
- Les Assurances Vie (Vie, décès, épargne, retraite...).
Cette distinction entre ces deux types d’assurances repose sur la différence du mode de gestion des
primes. En effet, de manière générale, les Assurances Non Vie gèrent les primes par répartition, c’est
un mode de gestion collectif où les primes de la communauté des assurés servent à payer les sinistres
de la communauté des assurés au titre du même exercice.
Les Assurances Vie les gèrent par capitalisation, c’est un mode de gestion individuel où les primes de
l’assuré servent à lui délivrer une prestation au moment de la survenance du risque.[5]
2.1.2 Les acteurs
Les assureurs
Un assureur est une personne physique ou morale qui, moyennant le paiement d’une prime, accepte de
prendre financièrement en charge un risque que lui demande de garantir un souscripteur qui, le plus
souvent dans les contrats individuels, se confond avec l’assuré.
Le souscripteur
Dans un contrat individuel, c’est la personne physique ou morale qui souscrit le contrat d’assurance vie
directement auprès d’une société d’assurance vie pour garantir certains risques. Il a le droit de choisir
les bénéficiaires de la rente ou bien du capital en cas de décès de l’assuré.
L’assuré
C’est la personne sur laquelle repose le risque, il doit être consentant. Pour les assurances en cas de
décès, c’est lui qui remplit le questionnaire médical le cas échéant.
Le bénéficiaire
C’est la personne désignée qui percevra la prestation. En cas de vie le souscripteur est généralement
le bénéficiaire, en cas de décès le bénéficiaire est celui qui a été désigné par le souscripteur. Il peut
être désigné directement (nom, prénom), indirectement (le conjoint, les enfants, etc.) ou encore être
bénéficiaire acceptant. Le bénéficiaire peut être à la fois l’assuré et même le souscripteur.
14
Chapitre 2. Étude Préalable
L’agent d’assurance
L’agent général d’assurances est un professionnel indépendant exerçant l’activité d’intermédiaire pour
le compte d’une ou de plusieurs compagnies dont il a reçu un mandat. La compagnie d’assurance fixe
des objectifs à ses agents qui doivent être atteints à la fin de la période fixée.
Certains contrats ou décisions ne peuvent être réalisés directement par les agents et doivent passer la
compagnie dans un premier temps.
Le courtier
Un courtier d’assurances est un commerçant indépendant, servant d’intermédiaire dans une opération
commerciale entre une compagnie d’assurances et le consommateur final. Il ne faut pas confondre
entre le courtier en assurances et l’agent général d’assurances. Si le premier est un intermédiaire en
assurances, le second n’a pas la qualité de commerçant indépendant. L’agent est limité dans le choix
des produits ou de sa politique commerciale. Indépendant de la pression des objectifs commerciaux des
compagnies, le courtier fournit un conseil objectif.
Expert d’assurances
Après un sinistre, l’expert d’assurances intervient à la demande d’un client et il doit évaluer le montant
des dommages matériels et éventuellement, celui du préjudice moral subi par le client.
2.1.3 Le contrat d’assurance ou Police d’assurance
C’est un document qui constate l’engagement réciproque de l’assureur et de l’assuré. Ce document
est composé au moins des conditions générales et des conditions particulières dans lesquelles le service
sera rendu. Il comprend la prime, la prestation et le risque.
2.1.4 Les avenants
Au cours d’un contrat d’assurance, le souscripteur a la possibilité d’envoyer plusieurs types de
réclamations à son assureur :
— Un avenant de précision
— Un avenant d’appréciation ou de dépréciation de l’objet assuré.
— Un avenant de changement de garanties.
— Une demande de résiliation
— Une demande de rachat.
15
Chapitre 2. Étude Préalable
2.1.5 Prime
C’est un versement effectué par le souscripteur ou l’adhérent en contrepartie des garanties
accordées par l’assureur.
2.1.6 Sinistre
Réalisation de l’événement incertain, créant des dommages. [4]
2.2 Le projet décisionnel
Introduction
La Busine