Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
UNION-DISCIPLINE-TRAVAIL
___________________________________________________
MINISTERE DE L’ENSEIGNEMENT SUPERIEUR
ET DE LA RECHERCHE SCIENTIFIQUE
SOMMAIRE
SOMMAIRE .........................................................................................................................................I
DÉDICACE ........................................................................................................................................ II
SIGLES ET ABRÉVIATIONS .......................................................................................................... III
LISTE DES FIGURES.......................................................................................................................IV
LISTE DES TABLEAUX ................................................................................................................... V
LEXIQUES ........................................................................................................................................VI
REMERCIEMENTS ........................................................................................................................ VII
AVANT - PROPOS ....................................................................................................................... VIII
ABSTRACT .......................................................................................................................................IX
INTRODUCTION GÉNÉRALE ......................................................................................................... 1
PREMIERE PARTIE : GENERALITES ......................................................................................... 3
CHAPITRE-1. : PRÉSENTATION DE LA STRUCTURE D’ACCUEIL ............................... 4
CHAPITRE-2. : PRÉSENTATION ET CADRAGE DU PROJET .......................................... 7
DEUXIÈME PARTIE : ÉTUDE PRÉALABLE ............................................................................. 9
CHAPITRE-3. : ÉTUDE ET ANALYSE DE L’EXISTANT ................................................. 10
CHAPITRE-4. : PROPOSITION ET CHOIX DE SOLUTION ............................................. 12
TROISIEME PARTIE : ETUDE DETAILLEE DE LA SOLUTION RETENUE ....................... 18
PARTIE : ETUDE DETAILLEE DE LA SOLUTION RETENUE .............................................. 18
CHAPITRE-5. : ETUDE FONCTIONNELLE ....................................................................... 19
CHAPITRE-6. : ETUDE ORGANIQUE ................................................................................ 29
QUATRIEME PARTIE : IMPLEMENTATION ET DEPLOIEMENT DE LA SOLUTION ...... 53
CHAPITRE-7. : ETUDE TECHNIQUE ET RÉALISATION ................................................ 54
CHAPITRE-8. : DEPLOIEMENT ET PRESENTATION DU SYSTEME FINAL............... 62
CONCLUSION GENERALE ET PERSPECTIVES ......................................................................... 71
BIBLIOGRAPHIE ET WEBOGRAPHIE ................................................................................. LXXIII
ANNEXES ................................................................................................................................ LXXIV
TABLE DES MATIERES ........................................................................................................... XCIV
I
Conception d'un outil décisionnel pour la gestion efficiente et l'analyse de données massives
DÉDICACE
II
Conception d'un outil décisionnel pour la gestion efficiente et l'analyse de données massives
SIGLES ET ABRÉVIATIONS
XP : eXtrem Program
MERISE : Méthode d’Etude et de Recherche Informatique par Sous-Ensembles
III
Conception d'un outil décisionnel pour la gestion efficiente et l'analyse de données massives
IV
Conception d'un outil décisionnel pour la gestion efficiente et l'analyse de données massives
V
Conception d'un outil décisionnel pour la gestion efficiente et l'analyse de données massives
LEXIQUES
METABASE : est un logiciel open source permettant à tout un chacun d'explorer le contenu
d'une base de données et de mettre en corrélation les données entre elles. il est possible en
quelques secondes d'accéder à des données de manière individuelle ou d'aller plus loin en
explorant les autres données auxquelles elles sont rattachées.[]
Traefik : c’est un proxy inverse HTTP et un équilibreur de charge modernes qui facilitent le
déploiement de micro services. [15]
Marketing : un état d’esprit, qui cherche à privilégier les attentes et les besoins des parties
prenantes de cette organisation (marchande ou non-marchande) par rapport aux attentes
Campagne : un ensemble cohérent d’actions marketing entreprises sur une même période
et visant à promouvoir le même produit ou service. [18]
Data lakes : Un lac de données (en anglais data lake) est une méthode de stockage des
données utilisée par le big data (mégadonnées en français). Ces données sont gardées dans
marketing Internet qui sont fournies à l’annonceur par une société tierce autre que l’éditeur
utilisé comme site support pour une campagne.
VI
Conception d'un outil décisionnel pour la gestion efficiente et l'analyse de données massives
REMERCIEMENTS
De prime abord, nous adressons notre reconnaissance à la Direction du Groupe Pigier Côte
intellectuelle.
Nous adressons donc nos sincères remerciements à nos deux encadreurs de ce travail, à
Nous ne pouvons oublier les enseignants ayant intervenu dans notre formation,
particulièrement Docteur KADJO Tanoh Lambert pour ses nombreux conseils pour la
finalisation de ce manuscrit
Nous adressons un grand merci à notre binôme Romain Laisné qui fait partie des premières
Les intervenants et toutes les personnes qui par leurs paroles, leurs écrits, leurs conseils et
leurs critiques ont guidé nos réflexions et ont accepté de nous rencontrer et de répondre à
nos questions durant les recherches.
Nous présentons nos remerciements, nos respects et notre gratitude.
VII
Conception d'un outil décisionnel pour la gestion efficiente et l'analyse de données massives
AVANT - PROPOS
Le Groupe Pigier Côte d’Ivoire est l’une des plus anciennes grandes écoles de Côte
Groupe Pigier Côte d’Ivoire donne des formations dans les parcours Licence professionnelle
et Master professionnel dans différentes disciplines : Informatique, Marketing et
Comptabilité financière.
Par ailleurs, Pigier Côte d’Ivoire forme des ingénieurs capables de relever les défis futurs, et
répondre aux exigences du marché de l’emploi. Il s’attèle à dispenser un enseignement de
qualité à ses étudiants. La formation du Master Génie Informatique et Réseaux qui nous
concernent offre de nombreuses opportunités en matière de Technologies de l’Information
et de la communication.
Cette formation se déroule en deux phases : La première concerne des cours théoriques et
travaux pratiques pour l’acquisition des fondements indéniables pour un ingénieur accompli.
La deuxième phase porte sur un stage de production et des projets de fin d’études exigés
dans le cursus afin de parfaire la formation.
A cet effet nous avons effectué un stage chez Link to business Technology afin de parachever
Durant ce stage nous avons été confrontés au défi de la gestion de projets jusqu’à la
réalisation à travers le thème suivant « Conception d'un outil décisionnel pour la gestion
VIII
Conception d'un outil décisionnel pour la gestion efficiente et l'analyse de données massives
ABSTRACT
One of the largest French airport, ranked in the ten most frequented, has decided to
centralize its information system. Those informations comes from, among other things, the
website of the organization, Excel files containing the details of newsletters, free wifi access
points, travel reservations, parking subscriptions, etc. Previously the data was operated
manually from the Excel files which was very tedious.
The shortcomings associated with this system are due to the amount of data collected
over the years. This makes it difficult to exploit the information because of the amount of
data collected and the file format of that data. However, several questions raise our interest:
how to exploit those data coming from the different sources? How do you sort and organize
them to best use them as part of an efficient marketing strategy? There is, therefore, a need
for a computer solution to overcome these difficulties and facilitate the work of the airport.
This is the reason why, in the framework of our master dissertation, we have decided
to work on the following theme: "Designing a Business Intelligence tool for efficient
management and the analysis of massive data: the case of a French airport". The expected
purpose of this project is the realization of a Customer Data Platform (abbreviated "CDP").
However, the use of agile methods with the Jira and Github platform has been an
ongoing guide in the proper conduct of this project. The CDP (Customer Data Platform)
designed in PHP with the Symfony framework integrated into the Docker container can
respond to the need by providing the services of uniform data aggregation according to
data model in the database, METABASE connected drill, the BI tool for segment realization
and Marketing automation connected to MAUTIC for behavioral analysis that leads to the
proposition of a better offer or communication to customers.
The deployment also complies with the standard two-thirds (2 thirds) and is hosted
on the OVH server that it is accessible simultaneously by several users.
IX
Conception d'un outil décisionnel pour la gestion efficiente et l'analyse de données massives
INTRODUCTION GÉNÉRALE
concurrence exige de ces entreprises une surveillance très étroite du marché afin de ne pas
se laisser distancer par les concurrents et cela en répondant, le plus rapidement possible,
Pour se faire, les dirigeants d’entreprises, quel que soit d’ailleurs le domaine
d’activités, doivent être en mesure d’orienter leur politique dans le sens des attentes des
consommateurs. Ils devront prendre notamment les décisions les plus opportunes. Il s’agit
de prendre des décisions fondées, basées sur des informations claires, fiables et pertinentes.
Le problème est donc de savoir comment identifier ces informations et les présenter à qui
de droit.
Cette tâche est relativement complexe, sachant que les entreprises croulent d’une
part sous une masse considérable de données (internes et externes) et d’autre part les
décideurs des informations de qualité sur lesquelles ils pourront s’appuyer pour arrêter leurs
choix décisionnels. Désormais, la démarche décisionnelle se développe dans des secteurs
décisionnel dans chaque domaine. Ces outils permettent d’agréger des données de sources
multiples. Dans le domaine du marketing, le but est de cerner par exemple les
comportements des internautes pour mieux les cibler, adapter les messages et optimiser les
campagnes.
C’est pourquoi Link To Business l’éditeur de solution marketing XO propose à l’un des
plus grands aéroports de la France classé parmi les 10 aéroports les plus fréquentés au
monde [13], l’une de ses solutions marketing.
1
Conception d'un outil décisionnel pour la gestion efficiente et l'analyse de données massives
En effet, cet aéroport cumule chaque année, de nombreuses données de leurs clients.
Ces données sont enregistrées dans des fichiers. Ainsi, au fil des années elles sont de plus
Notre participation à ce projet est libellé sous : « Conception d'un outil décisionnel pour
la gestion efficiente et l'analyse de données massives : Cas d’un grand aéroport
français ».
L’objet de ce mémoire est donc de présenter l’aboutissement de notre travail et pour
l’analyse de l’existant et deuxièmement nous ferons des propositions de solutions qui sera
conclu par le choix d’une solution adaptée selon notre cahier de charges. Cette partie pose
premièrement une étude fonctionnelle où nous présenterons d’une part les méthodes
d’analyses et de conception choisies et d’autre part le choix de la méthodologie suivie de
2
Conception d'un outil décisionnel pour la gestion efficiente et l'analyse de données massives
Dans cette partie nous présentons l’environnement dans lequel le projet est exécuté et nous
expliquerons le thème soumis à notre étude.
3
Conception d'un outil décisionnel pour la gestion efficiente et l'analyse de données massives
depuis 19 ans. Implantée à GRENOBLE (38100), elle est spécialisée dans le secteur d'activité
de la programmation informatique et propose des activités diverses dans le domaine du
marketing. [1]
La société regroupe deux filiales distinctes :
1.1.1 MISSIONS
Chaque filiale intervient dans ses missions différentes présentées comme suit:
La filiale Bâtiment met à disposition de ses clients des services de conseils
stratégiques, de marketing opérationnel, de web marketing et de communication. Elle
offre également la possibilité, dans le cadre de leur accompagnement marketing,
La filiale Technology est dédiée à la création de solutions web basées sur des produits
configurables et adaptables. Elles sont sur mesure et se démarquent des solutions
4
Conception d'un outil décisionnel pour la gestion efficiente et l'analyse de données massives
le bâtiment (Somfy).
Intervenant dans de nombreux domaines, Link to Business se place donc au centre d'une
dynamique efficace, et se donne pour objectif de devenir un leader du marketing relationnel
de distribution.
XO-MATIC, outil de Marketing Automation pour personnaliser votre relation et vos
1.1.2 ORGANISATION
avec une agence chargée de la communication dans le secteur du bâtiment. De plus, une
équipe de développeurs participant au développement web en général et, plus
spécifiquement, à celui des plateformes marketing proposées par la société, est située à
Abidjan en Côte d'Ivoire.
Résultant de la variété des services proposés par l'entreprise, on retrouve des salariés
partagés entre les secteurs Bâtiment et Technology.
5
Conception d'un outil décisionnel pour la gestion efficiente et l'analyse de données massives
provenant du retour des clients sont gérées par l’équipe de développement de Côte d’Ivoire.
Elle est composée de développeurs dont des séniors et des juniors.
Ce chapitre nous a permis de présenter Link To Business et de décrire son activité. Nous
6
Conception d'un outil décisionnel pour la gestion efficiente et l'analyse de données massives
Dans ce chapitre, nous expliciterons de prime abord l’aspect organisationnel du projet visant
à cerner les exigences du client. Nous en ciblerons ensuite les contours, afin d’en
appréhender la complexité et d’établir un plan de gestion optimisé pour le mener à bien.
2.1 CONTEXTE
L’un des grands aéroports français classé parmi les 10 les plus fréquentés du monde [13]
sollicite l’expertise de notre structure dans le cadre de ses activités. En effet, cet aéroport
gère plusieurs activités en son sein et possède des informations diverses sur ses clients. Ces
données sont stockées dans des systèmes tiers et des fichiers Excel et concernent :
le site web de la structure,
les abonnements à la newsletter,
les inscriptions au point d’accès wifi gratuits,
réassemblage des fichiers et l’exploitation des informations pertinentes sur un client. Par
conséquent elles étaient difficilement utilisées. Cela freine l’aéroport sur la recherche
d’informations pertinentes pour faire de la connaissance client. Telle est la raison pour
laquelle, le projet ayant pour thème : « Conception et mise en exploitation d'un outil
décisionnel pour la gestion efficiente et l'analyse de données massives: Cas d’un grand
7
Conception d'un outil décisionnel pour la gestion efficiente et l'analyse de données massives
des documents qui ont contribué à la rédaction du mémoire. Nous avons dans un premier
temps approché le Directeur des opérations.
La première étape était une réunion dans laquelle les grandes lignes du projet ont
été données ;
Il s’en suit par la remise de dossier contenant des fichiers de l’aéroport qui allait nous
servir de sources pour démarrer le projet ;
Des échanges avec des spécialistes du domaine nous ont permis de collecter des
informations pertinentes pour notre thème ;
Ces spécialistes sont les professeurs et des personnes dans le domaine de
l’informatique décisionnel;
Nous avons présenté dans ce chapitre, les besoins que nous avons recueillis et la démarche
pour y aboutir. Après les différentes présentations, nous ferons ensuite une étude préalable
du système existant.
8
Conception d'un outil décisionnel pour la gestion efficiente et l'analyse de données massives
Dans cette partie nous ferons une analyse du système existant en prélude, ensuite nous
apporterons nos critiques puis nous proposerons des solutions et enfin faire un choix de
9
Conception d'un outil décisionnel pour la gestion efficiente et l'analyse de données massives
Dans cette partie nous allons décrire l’existant, ensuite nous ferons une analyse.
Ces données sont répertoriées dans des fichiers Excel et permettent de gérer:
le site web de la structure;
des newsletters;
les points d’accès wifi gratuits;
Les informations des fichiers sont traitées avec des formules Excel
Forces
Les atouts du système existant sont les suivants :
10
Conception d'un outil décisionnel pour la gestion efficiente et l'analyse de données massives
Faiblesses
Les insuffisances répertoriées sont les suivantes :
L’outil utilisé pour le traitement des informations ne supporte pas de gros volume de
données ;
Les données ne sont plus utilisées de manière optimum car elles sont départagées
dans des fichiers différents et très volumineux ;
Le format des données n’est pas facilement exploitable par certaines applications
métiers;
Les données sont délaissées car difficile à exploiter pour les besoins en temps réels.
Dans ce chapitre nous avons décrit le système existant et relevé ces insuffisances. Alors, il
serait intéressant de proposer une solution afin de pallier aux insuffisances de l’ancien
11
Conception d'un outil décisionnel pour la gestion efficiente et l'analyse de données massives
d’une manière intégrale les clients ou prospects de l’aéroport. Les solutions de CRM, DMP
et CDP, sont toutes des solutions de la collecte des données et leur. Les spécificités de
permettant de stocker des données historiques structurées non volatiles orientées sujet afin
de les analyser. [24]
processus ETL, si bien que les données d’un Datawarehouse sont structurées à leur entrée
dans le système (contrairement aux données des data lakes). En général, les Datawarehouses
4.1.1.2 Avantages
Elle permet de séparer les processus analytiques des processus d’exploitation
Elle permet de visualiser le passé sans affecter les opérations quotidiennes.
4.1.1.3 Inconvénients
Le marketing n’a pas les compétences requises pour gérer un Datawarehouse.
les Datawarehouses ne sont pas alimentés en temps réel. Ce qui peut poser un
12
Conception d'un outil décisionnel pour la gestion efficiente et l'analyse de données massives
la vente directe et de la fidélisation depuis les années 90. Leur but est de centraliser la
connaissance client autour d’un identifiant CRM en vue d’améliorer la qualité de la relation
client. Sur le plan de la donnée marketing, le CRM offre une vision nominative des clients et
des prospects. [22]
4.1.2.2 Avantages
Le CRM permet d’automatiser les actions de vente et de fidélisation auprès
4.1.2.3 Inconvénients
Le CRM est limité aux données offline (n’agrège pas les données des cookies par
exemple).
Le CRM est un outil « simple canal » uniquement contrairement aux plateformes
cross/multi/omni canal.
Le CRM est limité aux données structurées uniquement (ce qui représente une part
13
Conception d'un outil décisionnel pour la gestion efficiente et l'analyse de données massives
autour du cookie. Par simplification, nous pouvons la représenter comme une très grande
base de données. La DMP est conçue pour mieux opérer les campagnes digitales
(programmatiques) dans un monde ouvert. La DMP repose sur des technologies Hadoop1,
Hbase2, Map Reduce3 et consorts et elle offre une vision statistique des visiteurs et des
audiences. [22]
4.1.3.2 Avantages
Le ciblage précis d’une audience
L’intégration d’une DMP est plus simple et moins coûteuse qu’une CDP
bannières)
Les cookies collectés peuvent provenir de sites propriétaires (first-party data) comme
Certaines DMP ont des connecteurs avec des outils tiers de type CRM, marketing
automation (comme Marketo) et avec des DSP
Elle permet aussi de calculer le retour sur investissement (ROI) des campagnes par
canal
4.1.3.3 Inconvénients
Il manque des données offline pour atteindre l’objectif de connaissance client (valeur
hors média).
La durée de conservation des données est de quelques mois seulement. C’est trop
leur accès et leur activation marketing plus complexe que dans une CDP.
1 Hadoop : un framework libre et open source écrit en Java destiné à faciliter la création d'applications
distribuées et échelonnables permettant aux applications de travailler avec des milliers de nœuds et des
pétaoctets de données.
2 Hbase : HBase est un système de gestion de base de données non-relationnel distribuée, écrit en Java,
14
Conception d'un outil décisionnel pour la gestion efficiente et l'analyse de données massives
Les fonctions de Data Mining ou de machine Learning ne sont pas ou très peu
présentes.
La quatrième solution proposée est la CDP (Customer Data Platform) est une nouvelle
toutes les données clients online et offline. La CDP, née en 2013 du concept de David Raad4,
permet de créer une connaissance intégrale du client. Tout comme la DMP, la CDP prend
4.1.4.2 Avantages
Elle permet d’optimiser les campagnes multi canal et le « reach5 ».
Elle offre une vue à 360° du client et offre un levier de ciblage très précis.
La CDP permet de créer des segments précis et d’analyser les comportements d’achat.
Elle permet d’analyser le ROI multicanal de manière précise et des répercussions entre
canaux.
Elle facilite la mise en conformité avec le règlement européen sur la gestion des
données personnelles (RGPD) obligatoire à partir de mai 2018 : centralisation
des données personnelles, livraison des données sur demande et purge des données.
4 David Raad :
5 Reach est la couverture d'une campagne, d'un site ou d'un réseau
15
Conception d'un outil décisionnel pour la gestion efficiente et l'analyse de données massives
4.1.4.3 Inconvénients
Intégration complexe : la mise en place d’une CDP mobilise une partie importante de
différentes les unes des autres. Il est important d’avoir en tête les principales spécificités de
ces différents systèmes et bien savoir, par exemple, que : [12]
Une CDP peut être intégrée avec tous les systèmes, y compris la DMP.
La CDP permet de réellement disposer d’une vue à 360° de ses clients, contrairement
au CRM et à la DMP.
La CDP ingère des données brutes et les organise autour de profils clients.
La DMP utilise des données très fines mais avec des durées de vie limitées.
La CDP peut collecter des données sur tout le cycle de vie client.
La compréhension de ces spécificités est évidemment indispensable dans le choix des outils
correspondant à votre cible dans le cadre de campagnes publicitaires, la DMP peut être
l’option la plus appropriée.
Si vous souhaitez nourrir une Relation Clients dans la durée, travailler sur la fidélisation et
l’allongement de la lifetime6 de vos clients existants, le CRM convient mieux.
D’après le cahier de charges, nous optons pour le choix de la CDP car l’objectif de notre
étude repose sur la construction d’une Relation Clients unifiée et homogène sur tous nos
16
Conception d'un outil décisionnel pour la gestion efficiente et l'analyse de données massives
La CDP doit être envisagée car c’est là que réside la valeur ajoutée de la CDP : elle est l’outil
Le choix d’implémenter une Customer Data Platform doit s’inscrire dans le cadre de notre
projet car nous avons une vraie réflexion sur les parcours clients cibles, sur l’expérience
souhaitée qui sera délivré au client, sur les programmes relationnels que nous souhaiterons
Bien comprendre les parcours des clients existants et envisager les axes
d’amélioration en imaginant des parcours cibles.
Identifier les moments de vérité sur ces parcours, c’est-à-dire les points de contact
sur lesquels vous devez être particulièrement performants.
moments de vérité.
Suite à l’analyse de l’existant, nous avons proposé des solutions et retenue une qui fera
l’objet d’une étude détaillé dans la partie suivante.
17
Conception d'un outil décisionnel pour la gestion efficiente et l'analyse de données massives
Dans cette partie, nous présentons les différentes méthodes d’analyse et de conception,
suivis des choix opérés. Nous exposons enfin les différentes étapes de la conception du
système.
PARTIE : ETUDE DETAILLEE DE LA
SOLUTION RETENUE
18
Conception d'un outil décisionnel pour la gestion efficiente et l'analyse de données massives
méthodes d’analyses et de conception, suivies des choix que nous avons opérés.
projet. Il existe plusieurs méthodes d’analyse, mais nous ne présenterons que les deux
méthodes les plus utilisés, notamment Merise et Processus Unifié.
5.1.1 Merise
MERISE, est une méthode systémique de conception de Système d’Information, définie
comme Méthode d’Etude et de Recherche Informatique par Sous-Ensembles. Elle est à sa
modèles d’abstractions. Une validation permet de vérifier que tous les traitements
nécessaires à l’acquisition des données sont prévus et que toutes les données utiles à la
réalisation des traitements sont présentes dans l’objectif d’assurer une cohérence entre les
données et les traitements.
Le schéma directeur ;
L’étude préalable ;
L’étude détaillée ;
L’étude technique ;
La mise en œuvre et la maintenance.
19
Conception d'un outil décisionnel pour la gestion efficiente et l'analyse de données massives
correspondants.
DONNEES TRAITEMENTS
Conceptuel Qu’est ce qui est fait MCD MCT
? Quoi ? Signification des Activité du
informations sans domaine sans
contraintes préciser les
techniques ou ressources ou leurs
économiques organisations
Organisationnel Qui fait quoi ? MOD MOT
Quand ? Où ? Signification des Fonctionnement
informations avec du domaine avec
contraintes les ressources
organisationnelles utilisées et leurs
et économiques organisations
Logique Avec quoi ? MLD MLT
Description des Fonctionnement
données tenant du domaine avec
compte de leurs les ressources et
conditions leurs organisations
d’utilisation par les informatiques
traitements
Physique Avec quels moyens ? MPD MPT
Comment ? Description de la Architecture
ou des bases de technique des
données dans la programmes
syntaxe du logiciel
SGBD
20
Conception d'un outil décisionnel pour la gestion efficiente et l'analyse de données massives
UML est un langage de modélisation unifié en français, né de la fusion des trois méthodes
qui ont le plus influencé la modélisation objet au milieu des années 90. Ces méthodes sont
OMT de James Rumbaugh, OOD de Grady Booch et OOSE d’Ivar Jacobson. C’est un langage
graphique qui permet de représenter les divers aspects du système d’information. En 1995,
on assiste à la naissance d’UML 1.0 qui compte neuf (9) diagrammes.
Depuis que UML 2.0 est apparu en 2003, nous en sommes à treize (13) diagrammes.
N.B : Pour plus de détails sur les diagrammes d’UML, voir l’Annexe 1
traitement des données avec de celui des opérations. Il permet d’analyser, de concevoir et
de réaliser des solutions logicielles techniques, mais peut très bien prendre en compte tout
comme Merise les solutions logicielles orientées vers la gestion des systèmes d’information.
Les caractéristiques du Processus Unifié sont les suivantes:
Itératif et incrémental.
finaux.
Chaque phase inclut une évaluation en vue de la validation de la recette.
21
Conception d'un outil décisionnel pour la gestion efficiente et l'analyse de données massives
22
Conception d'un outil décisionnel pour la gestion efficiente et l'analyse de données massives
à notre projet.
Tableau comparatif
23
Conception d'un outil décisionnel pour la gestion efficiente et l'analyse de données massives
de déploiement et de
composants absent).
Tableau 3 : Etude comparative des méthodes d’analyse
orientée vers la gestion des systèmes d’information avec stockage des données dans des
bases de données relationnelles. Ensuite, nous constatons que le Processus Unifié utilisant
UML qui est basé sur l’approche objet, est très souvent utilisé dans l’informatique technique
(temps réel) et dans les projets évolutifs c’est à dire pouvant avoir différentes versions. Vu
les critères et exigences de notre cahier des charges et sachant qu’un Système Intégré est
24
Conception d'un outil décisionnel pour la gestion efficiente et l'analyse de données massives
amené à évoluer pour prendre en compte de nouvelles exigences, il nous est apparu
judicieux de retenir le Processus Unifié face à Merise pour les raisons suivantes :
Souci de continuité
Puisque nous avons précédemment opté pour une méthode agile du fait des exigences du
projet, nous pensons qu’il faille demeurer dans cette logique pour la bonne marche du
système à réaliser.
Solution modulaire
Vu la taille de notre projet, nous devons le scinder en plusieurs modules qui produiraient
des incréments pouvant être traités séquentiellement ou simultanément pour obtenir des
livrables. Ces livrables pourraient être testés, déployés et commercialisés au fur et à mesure.
Dans la démarche Merise, c’est à la fin de la dernière étape de la démarche que l’on obtient
les livrables.
Solution évolutive
Grâce aux livrables fournis avant la fin du projet, l’architecture globale de la solution peut
Une bonne représentation du déploiement technique de la solution doit être perçue dès la
conception pour faciliter le déploiement des composants et des modules sur les postes et
les serveurs des clients. Merise ne donne pas une représentation des composants techniques
sur l’architecture matérielle.
Au vu de ces raisons, nous avons opté pour le Processus Unifié en particulier sa déclinaison
2TUP. En effet, 2TUP est très approprié pour les projets de petite et grande taille et aux
changements réguliers d’un projet, il répond donc parfaitement aux exigences de la mise en
25
Conception d'un outil décisionnel pour la gestion efficiente et l'analyse de données massives
7
ValTech est une agence de marketing digital et technologique créée en 1993, présent dans 10 pays et
comptant environ 1 600 collaborateurs.
26
Conception d'un outil décisionnel pour la gestion efficiente et l'analyse de données massives
La figure suivante montre les différentes étapes de la déclinaison 2TUP. Il divise le cycle de
développement en deux pistes :
N.B : L’étape de conception est particulièrement importante dans la mesure où elle regroupe
un grand nombre d’informations. C’est ici que l’on construit les classes avec les méthodes
27
Conception d'un outil décisionnel pour la gestion efficiente et l'analyse de données massives
associées. Elle peut être placée après les deux branches en amont ou à la première étape de
la phase de réalisation.
Pour chaque phase du processus, des documents doivent être rédigés et adoptés par tous
les intervenants du projet. Dans le cadre d’un grand projet, les fonctionnalités sont
regroupées en modules. Un module est réalisé pendant un incrément du processus. Un
Conception préliminaire
Conception détaillée
Programmation et tests
Mise en œuvre de la recette provisoire.
En définitive nous avons présentés deux méthodes d’analyse MERISE et UML. Selon les
28
Conception d'un outil décisionnel pour la gestion efficiente et l'analyse de données massives
second lieu, le diagramme de cas d’utilisation, l’épine dorsale de cette étape nous présentera
dans un formalisme assez simple, les acteurs interagissant avec le système « XO-CDP ». Enfin,
nous présenterons la phase d’analyse selon les axes statique et dynamique du système par
le biais des différents modèles adaptés.
Connexion
prime abord le formalisme requis pour la modélisation d’un diagramme de cas d’utilisation.
29
Conception d'un outil décisionnel pour la gestion efficiente et l'analyse de données massives
6.1.2.1 Formalisme
Légende :
A B C D E
Relation de Représentation Cas d’utilisation Relation Relation
généralisation : d’un acteur : d’inclusion : le d’extension : on
L’acteur 1 peut humain. représente une cas a
accéder à tous La flèche simple fonctionnalité d’utilisation 2 la possibilité
les signifie qu’un du requiert d’accéder au
cas acteur effectue système l’exécution cas
d’utilisations de un préalable du d’utilisation 3
l’acteur 2. Mais cas d’utilisation cas en
l’inverse n’est d’utilisation 1 exécutant le cas
pas avant de d’utilisation 1
possible. s’exécuter
30
Conception d'un outil décisionnel pour la gestion efficiente et l'analyse de données massives
6.1.2.2 Modélisation
31
Conception d'un outil décisionnel pour la gestion efficiente et l'analyse de données massives
Ainsi a –t-il été question pour nous de recenser tous les scénarii nominaux, alternatifs et
d’exception régissant les différents cas d’utilisation, et c’est ce que nous présenterons dans
32
Conception d'un outil décisionnel pour la gestion efficiente et l'analyse de données massives
A2 :
33
Conception d'un outil décisionnel pour la gestion efficiente et l'analyse de données massives
34
Conception d'un outil décisionnel pour la gestion efficiente et l'analyse de données massives
Exception Aucune
6.1.4.1 Définition
Le diagramme de séquence a pour but de représenter les interactions entre objets en
indiquant la chronologie des échanges. Un diagramme de séquence sert aussi à illustrer un
35
Conception d'un outil décisionnel pour la gestion efficiente et l'analyse de données massives
cas d’utilisation en représentant les évènements et les messages échangés entre le système
et ses acteurs.
6.1.4.2 Formalisme
La figure ci-dessous (figure 7) présente le formalisme du diagramme de séquence :
36
Conception d'un outil décisionnel pour la gestion efficiente et l'analyse de données massives
6.1.4.3 Modélisation
significatif pour les acteurs du système étudié. Il contient des informations qui seront
persistées sur le support de stockage.
Ici, nous présenterons les diagrammes dans les différents packages vu dans les parties
précédentes. Avant de passer à la présentation des modèles, nous définirons le formalisme
37
Conception d'un outil décisionnel pour la gestion efficiente et l'analyse de données massives
6.1.5.1 Formalisme
La figure ci-dessous (figure 9) présente le formalisme du diagramme de classe :
6.1.5.2 Modélisation
38
Conception d'un outil décisionnel pour la gestion efficiente et l'analyse de données massives
39
Conception d'un outil décisionnel pour la gestion efficiente et l'analyse de données massives
40
Conception d'un outil décisionnel pour la gestion efficiente et l'analyse de données massives
La couche de présentation
Cette couche permet l’interaction de l’application avec l’utilisateur. C’est la partie visible de
notre système. Elle gère la présentation des informations à l’écran. Elle devait être conviviale,
sobre et ergonomique. De ce fait, nous avons opté pour un client léger. Notre interface
41
Conception d'un outil décisionnel pour la gestion efficiente et l'analyse de données massives
La couche applicative
Elle est constituée des traitements décrivant les travaux à réaliser par l’application. Ces
donnée.
Cette couche contient l’ensemble des mécanismes qui permettent l’accès aux différentes
sources de données de manière transparente (Fichiers CSV, etc.). Les données de la CDP
Les trois couches précédentes sont réparties de différentes manières sur les postes de
déploiement du système.
L’architecture un tiers ;
L’architecture deux tiers ;
42
Conception d'un outil décisionnel pour la gestion efficiente et l'analyse de données massives
regrouper toutes les images des composants utilisés (base de données ainsi que serveur
FTP). Elle est plus flexible et réduit l’utilisation d’espace physique en termes d’équipements.
PHP: Hypertext Preprocessor, plus connu sous son sigle PHP (acronyme récursif), est
un langage de programmation libre, principalement utilisé pour produire des pages Web
dynamiques via un serveur HTTP, mais pouvant également fonctionner comme n'importe
quel langage interprété de façon locale. PHP est un langage impératif orienté objet.
Nous n’avons pas effectué d’étude comparative pour les raisons suivantes :
Règle de l’entreprise
Link to Business développe les logiciels avec le langage PHP. Ce Framework fait partie de la
politique assurance qualité de l’entreprise.
Gain du temps
La disposition de bundles déjà réalisé et son système de paramétrage permet au
développement d’aller plus vite, il permet donc de libérer le produit dans les délais prévus.
6.1.6.2.1 SGBD
La fonction première d'un Système de Gestion de Base de Données (SGBD) est d'être un
outil de stockage d'informations offrant des fonctions de manipulation des données. L’un
des avantages des SGBD est que l'interrogation de ces informations s’effectue d’une manière
indépendante de l'architecture physique de stockage.
43
Conception d'un outil décisionnel pour la gestion efficiente et l'analyse de données massives
Le tableau (tableau 10) nous présente quelques caractéristiques des deux systèmes
WINDOWS LINUX
Notre choix se porte sur le système LINUX, étant donné que les données que nous
collecterons sont très importantes, nous avons besoin d’une bonne sécurité du système
d’exploitation en plus il est gratuit. Aussi l’installation de Traefik n’a été possible qu'avec le
système d’exploitation linux et Mac. Nous utiliserons les distributions avec interface
graphique pour faciliter les prises en mains.
Tous les cas d’utilisations recensés dans l’étude préliminaire ne seront pas tous représentés
avec ces diagrammes dynamiques, car en fonction de la logique d’enchaînement dans la
44
Conception d'un outil décisionnel pour la gestion efficiente et l'analyse de données massives
des opérations, et les transitions représentent les activités qui se produisent quand
l'opération est terminée. Aussi le diagramme d’activité comporte –il à la différence du
diagramme d’états, des nœuds de décisions, servant à matérialiser les choix et symbolisés
par les rectangles.
L'usage général des diagrammes d'activité permet de faire apparaître les flots de traitements
induits par les processus internes par rapport aux évènements externes. Dans la suite, nous
6.1.7.1 Formalisme
La figure ci-dessous (figure 11) montre le formalisme d’un diagramme d’état transition :
45
Conception d'un outil décisionnel pour la gestion efficiente et l'analyse de données massives
6.1.7.2 Présentation
La figure ci-dessous (figure 12) montre le formalisme d’un diagramme d’activité du cas
46
Conception d'un outil décisionnel pour la gestion efficiente et l'analyse de données massives
base de données relationnelle notamment MySQL. Néanmoins, le formalisme utilisé par UML
diffère de celui utilisé dans les modèles relationnels. Pour cela nous avons effectué une
correspondance entre les modèles objets et relationnels afin d’arriver à nos fins. Le tableau
ci-dessous (tableau 11) liste quelques correspondances entre modèles objets et relationnels,
Classe Entité
Association Relation/Association
Multiplicité Cardinalité
Héritage Héritage
Méthode Rien
Tableau 11 : Quelques correspondances Diagramme des classes-MCD
6.2.2 Règles de passage
Les méthodes des classes ne sont pas concernées par les règles de passage. Nous
présenterons quelques règles nécessaires pour notre travail.
CLASSE
#identifiant
-Attribut1
-Attribut2
+méthode()
Chaque classe devient une relation. Les attributs de la classe deviennent des attributs de la
47
Conception d'un outil décisionnel pour la gestion efficiente et l'analyse de données massives
CLASSE1 CLASSE2
#identifiant #identifiant2
1..* 0..1
-Attribut1 -Attribut3
-Attribut2 -Attribut4
+méthode() +méthode2()
Figure 14: Association un à plusieurs
Les associations un à plusieurs sont les plus nombreuses dans un modèle conceptuel. Or il
s’avère que c’est aussi le type d’association comportant la règle de dérivation la plus simple.
Elle se résume ainsi : la table dérivée de l’entité du côté de la multiplicité maximale plusieurs
(*) est considérée la table fille (CLASSE1). En conséquence, une copie de la clé primaire de la
deuxième table, la table mère (CLASSE2), est déposée dans la table fille à titre de clé
étrangère.
CLASSE1 CLASSE2
#identifiant 0..* 1..* #identifiant2
-Attribut1 -Attribut3
-Attribut2 -Attribut4
+méthode() +methode2()
CLASSE_ASSOCIATION
#identifiant3
-Attribut5
-Attribut6
+methode3()
Une association plusieurs à plusieurs donne lieu à une table fille (CLASSE_ASSOCIATION)
comportant comme clé primaire la combinaison des clés primaires des tables mères.
48
Conception d'un outil décisionnel pour la gestion efficiente et l'analyse de données massives
49
Conception d'un outil décisionnel pour la gestion efficiente et l'analyse de données massives
Figure 16: Modèle de données sous MySQL sous forme de modèle physique
50
Conception d'un outil décisionnel pour la gestion efficiente et l'analyse de données massives
51
Conception d'un outil décisionnel pour la gestion efficiente et l'analyse de données massives
Ce chapitre nous a permis de relever en premier lieu, les besoins fonctionnels par le biais
des diagrammes de cas d’utilisation et des descriptions textuelles. Nous avons présenté par
la suite, les choix techniques nécessaires à la réalisation du système. Enfin, nous avons étalé
les modèles dynamiques et statiques du système. Il sera question pour nous dans la dernière
partie de la réalisation proprement dite du système.
52
Conception d'un outil décisionnel pour la gestion efficiente et l'analyse de données massives
QUATRIEME PARTIE :
IMPLEMENTATION ET
DEPLOIEMENT DE LA SOLUTION
Dans cette partie, nous couronnons notre travail au travers de l’implémentation du système.
Ensuite nous faisons une estimation financière dudit système et en présentons enfin
quelques captures d’écrans.
53
Conception d'un outil décisionnel pour la gestion efficiente et l'analyse de données massives
Ce chapitre nous permet de faire une étude technique et de présenter les outils,
fonctionnalités les difficultés et leurs solutions. En outre la fiabilité du système sera décrite.
7.2 RÉALISATION
7.2.1 Présentation des outils utilisés
XO-CDP a été développé en Symfony (version 3) utilisant l’architecture MVC qui est un
Framework PHP car l’entreprise souhaiterait faire une application basique pour répondre aux
besoins de leurs clients.
Le logiciel est contenu dans un container DOCKER8 (Docker version 1.13.1, build
092cba3).
Ce container comprend toutes les images des logiciels (serveur de DB, PHPmyadmin,
Serveur SFTP, serveur web, le serveur d’application, le serveur PUREFTP, METABASE).
8 Docker est une technologie de conteneurisation qui permet la création et l'utilisation de conteneurs Linux.
54
Conception d'un outil décisionnel pour la gestion efficiente et l'analyse de données massives
o Le service ImportCSV
La première étape est le choix de la méthode d’import (API, Interface
ou Tâche CRON);
La fonction prend en paramètre fichier de données, le fichier de
55
Conception d'un outil décisionnel pour la gestion efficiente et l'analyse de données massives
fichier de mapping
Si l’entête n’est pas défini dans le fichier de mapping, sinon on
table
Les données sont importées dans les tables spécifiques
un rapport final est envoyé avec les succès et erreur. Ce rapport est
envoyé par mail soit à l’administrateur ou l’utilisateur qui a les droits.
o Le service Datamining
Une première étape où l'utilisateur peut sélectionner les tables avec
56
Conception d'un outil décisionnel pour la gestion efficiente et l'analyse de données massives
existe déjà,
o Le service SegmentPush
Mettre en oeuvre un table segmentpush pour suivre les segments déjà
segment
One-shot9 ou Synchronisé + fréquence (en heure);
supprimer/annuler;
Sélectionner les champs à importer ;
CDP,
Table contact-segmentxomatic pour suivre les contacts déjà
57
Conception d'un outil décisionnel pour la gestion efficiente et l'analyse de données massives
seront différentes,
Donc la CDP envoie tous les contacts dans le segment à chaque fois;
Suppression de contacts dans un segment XO-MATIC lors de la
synchronisation.
Command "xodmp:synchSegmentsToXomatic, tourney chaque minute.
1. Consultation
civilité qui peut être écrit sous plusieurs formes. Enfin générer un rapport
envoyé par mail aux administrateurs.
3. Explorer
L’exploration consiste à la création de segments c’est à dire une vue
58
Conception d'un outil décisionnel pour la gestion efficiente et l'analyse de données massives
de droit de fichier sous Windows etc. Pour finir le système utilisé a été linux pour le
développement.
10 Vue matérialisée : la différence d'une vue standard, dans une vue matérialisée les données sont dupliquées
59
Conception d'un outil décisionnel pour la gestion efficiente et l'analyse de données massives
Sur cette capture nous décrivons le système actuel et tous les composants du système.
utilisateur) ;
3. XO-CDP intégré à METABASE, permet de générer les segments ;
Le système de la CDP est sur un serveur OVH hébergé en France et sous la maintenance de
Romain Laisné.
60
Conception d'un outil décisionnel pour la gestion efficiente et l'analyse de données massives
Nous avons l’authentification avec htpasswd de Nginx pour avoir accès à l’interface.
Dans ce chapitre nous avons fait l’étude technique de notre solution en décrivant les outils
technique utilisés pour l'implémentation de la solution. Nous avons aussi décrit les
fonctionnalités du système.
61
Conception d'un outil décisionnel pour la gestion efficiente et l'analyse de données massives
de notre système. Il en étale ensuite l’évaluation financière que nous avons réalisée et en
montre enfin, quelques captures d’écrans.
8.1 DEPLOIEMENT
8.1.1 Notion
Le diagramme de déploiement se rapproche encore plus de la réalité physique,
puisqu’ il identifie les éléments matériels (PC, réseaux, postes de travail, serveur, etc.), leur
disposition physique (connexions) et la disposition des exécutables sur ces éléments
matériels.
Les concepts de bases sont :
● Les associations entre nœuds : Elles représentent les connections physiques, à savoir
une connexion internet ou des câbles.
62
Conception d'un outil décisionnel pour la gestion efficiente et l'analyse de données massives
8.1.2 Modélisation
La figure suivante (figure 18) présente l’architecture technique du système final. En
communication. [8]
Nous constatons que la CDP (plateforme de gestion des données), le serveur web, et
le dossier des fichiers Excel sont localisés sur le même serveur physique (Cloud). Les données
63
Conception d'un outil décisionnel pour la gestion efficiente et l'analyse de données massives
provenant des fichiers Excel et du site de l’aéroport sont transmises à la CDP, qui les traite
et les charge dans le modèle de données hébergé sur le serveur WEB qui contient (le SGBD
Mysql –MariaDB).
Les données ainsi stockées sont utilisées par METABASE afin que le client créer les
segments dont ils auront besoin dans le système. Les données contenues dans ces segments
sont alors envoyées à XO-MATIC via une API développé dans la CDP afin de réaliser des
OVH Cloud permet la mise en place rapide de machine virtuelle. Une machine peut
également rapidement être dupliquée pour mettre en œuvre un nouveau projet.
o Docker/Traefik
Docker permet la mise en place d’un environ containerisé et configuré via un fichier yaml.
Pour permettre les actions kernel.terminate11 après le retour des réponses sur Symfony.
o Nginx
11Kernel.terminate : Cet événement est dispatché lorsque la réponse HTTP à été transmise au client. L’intérêt
étant de pouvoir effectuer des traitements coûteux en temps
64
Conception d'un outil décisionnel pour la gestion efficiente et l'analyse de données massives
2- L’interface d’import
la fin du chargement.
65
Conception d'un outil décisionnel pour la gestion efficiente et l'analyse de données massives
suppression (pour les utilisateurs ayant les droits), la recherche d’une information dans la
base.
Cet figure ci-dessous (figure 22) présente outil de datamining pour permettre à
l’utilisateur de pouvoir créer des segments.
66
Conception d'un outil décisionnel pour la gestion efficiente et l'analyse de données massives
Les segments crées sous l’outil de datamining doivent être exportés vers l’outil de
marketing automation depuis l’API. Cette interface décrit le processus pour exporter ces
segments. La figure ci-dessous (figure 23) présente l’interface.
67
Conception d'un outil décisionnel pour la gestion efficiente et l'analyse de données massives
une application tierce qui a besoin d’interroger les données contenues dans la CDP, d’en
insérer ou de les modifier. Cette figure (figure 25) présente l’interface de l’outil:
68
Conception d'un outil décisionnel pour la gestion efficiente et l'analyse de données massives
fixée au préalable, tandis que l’exploitation et le support d’un logiciel peuvent prendre
plusieurs années. Notre structure d’accueil possède les licences des logiciels utilisés, ainsi
ces derniers ne seront pas répertoriés dans notre inventaire financier. Ce dernier ne prendra
donc en compte que la main d’œuvre la phase de conception et de réalisation de ce projet.
Ainsi notre évaluation financière ne concernera-t-elle que les ressources Humaines utilisées
durant la réalisation de tous les sprints du projet. Plusieurs méthodes s’offraient à nous pour
l’évaluation financière de notre solution, mais nous avons opté pour la méthode
Constructive Cost Model (COCOMO) [7], car elle concerne tous les types de projets et c’est
cette dernière que nous maîtrisons le mieux. Par ailleurs, elle est une référence dans le
domaine car fondée sur une base de données de plus de 60 projets différents. Notre projet
ayant un type organique, le tableau suivant (tableau 12) en résume l’évaluation financière :
Temps
Sprints Prix Unitaire(Euro) Total(Euro)
(Homme/jour)
Conception
Maintenance
69
Conception d'un outil décisionnel pour la gestion efficiente et l'analyse de données massives
d’œuvre.
70
Conception d'un outil décisionnel pour la gestion efficiente et l'analyse de données massives
avait pour but de faire une analyse sur le système existant de l’aéroport, notamment la
difficulté de réassemblage des données des fichiers et l’exploitation des informations
pertinentes sur les clients. Il s’agissait pour nous d’en déceler les difficultés et de proposer
des solutions informatiques en guise de palliatifs.
L’étude que nous avons alors menée, nous a permis de relever les différentes
insuffisances des processus existants. Après conjugaison de ces dernières et des besoins
exprimés par les responsables, nous avons trouvé deux axes principaux. Ces axes sont la
centralisation des informations dans une base de données centralisées et les outils pour la
d’accès wifi gratuits, les réservations de voyages, les abonnements de parking, etc. Et d’autre
part la configuration d’un outil d’exploration de données et d’un outil de marketing
l’aéroport de manière automatique ; par exemple lorsqu’un client s’inscrit pour la première
fois ses informations sont enregistrées dans la base de données de la CDP et un message
de bienvenue lui est envoyé. Enfin, il sert également à envoyer des emails ou SMS aux
71
Conception d'un outil décisionnel pour la gestion efficiente et l'analyse de données massives
bientôt expirer.
Nous avons procédé au déploiement avec différentes phases de tests. Le système est
présentement sur le serveur de production et est utilisé par l’aéroport. Des retours sont faits
Aussi avons-nous suivi un projet depuis la phase de test jusqu’à sa mise en production.
Il nous a également permis de prendre connaissance des exigences du monde
professionnel. Sur cette lancée, nous pouvons émettre les perspectives suivantes :
L’aéroport pourrait fidéliser sa clientèle en étant encore plus proche d’elle. Pour ce faire il
pourrait développer un module de compagnon qui permettrait d’envoyer à ses usagers des
SMS de notification pour les différents vols.
corrections. Ces dernières serviront à améliorer notre travail et nous permettront une
évolution de notre logiciel.
72
Conception d'un outil décisionnel pour la gestion efficiente et l'analyse de données massives
BIBLIOGRAPHIE ET WEBOGRAPHIE
MEMOIRES
[1] Eva BARDOU. « Réalisation d’une application web d’aide à la vente dans le domaine médical -
Link To Business ».mémoire de stage ; département informatique - iut 2 Grenoble, 2016-2017, 50
pages.
OUVRAGES
[3] NETBOOSTER . «Livre blanc - La Data au service de l’expérience client ». © NETBOOSTER, 2015,
60 pages. (http://www.netbooster.com/fr/Livre_Blanc_Data.pdf, consulté le 25 Janvier 2019 à 12h35)
[4] M. Arnaud Gallet . « XO-CDP Présentation »,Link to business, Septembre 2018, 10 pages.
[5] Joseph Gabay, David Gabay . « ANALYSE ET CONCEPTION Mise en œuvre guidée avec études de
cas ». EAN, Avril 2018, 240 pages. (https://www.dunod.com/sciences-techniques/uml-2-analyse-et-
conception-mise-en-oeuvre-guidee-avec-etudes-cas, consulté le 25 janvier 2019 à 13h30)
WEBOGRAPHIE
[6] http://blog.smile.fr/Retour-d-experience-sur-docker-ou-comment-mettre-d-accord-les-
administrateurs-systeme-et-les-developpeurs (Consulté le lundi 25 Février 2019 à 16h31m)
[7] https://fr.wikipedia.org/wiki/Constructive_Cost_Model(Estimation des coûts consulté le 26 Février
2019 à 14h48)
[8] https://www.cartelis.com/blog/customer-data-platforms/(consulté le 17 Janvier 2019 à 9h30)
[9] https://fr.wikipedia.org/wiki/Docker_(logiciel)(consulté le 17 Janvier 2019 à 9h45)
[10] https://www.custup.com/customer-data-platform-cdp-definition-et-differences-entre-le-crm-
et-la-dmp/ (consulté le 07 Avril 2019 à 20h45)
[11]https://fr.wikipedia.org/wiki/Liste_des_a%C3%A9roports_les_plus_fr%C3%A9quent%C3%A9s_en
_France (Consulté le 23 Avril 2019 à 15h14min)
[12] https://framalibre.org/content/mautic (Consulté le 01 Mai 2019 à 11h30)
[13] https://docs.traefik.io/ (Consulté le 01 Mai 2019 à 11h35)
[14] https://fr.wikipedia.org/wiki/Marketing (Consulté le 01 Mai 2019 à 11h40)
[15] https://www.definitions-marketing.com/definition/marketing-digital/ (Consulté le 01 Mai 2019 à 11h45)
[16] https://www.definitions-marketing.com/definition/campagne-marketing/ (Consulté le 01 Mai
2019 à 11h50)
[17] https://fr.wikipedia.org/wiki/Lac_de_données (Consulté le 01 Mai 2019 à 11h55)
[18] https://fr.wikipedia.org/wiki/Datamart (Consulté le 01 Mai 2019 à 12h00)
[19] https://www.noodo-wifi.com/faq/cookie-informatique/ (Consulté le 01 Mai 2019 à 12h15)
[20]https://www.definitions-marketing.com/definition/dmp-media/ (Consulté le 02 Mai 2019 à 09h36)
[21] https://fr.wikipedia.org/wiki/Gartner (Consulté le 02 Mai 2019 à 09h54)
[22] https://www.appvizer.fr/magazine/marketing/cdp/cdp-dmp-marketing-digital-
multicanal#definition-du-crm-ou-customer-relationship-management (Consulté le 02Mai à 13h17)
[23] https://rosemees.com/differences-entre-crm-dmp-et-cdp/ (Consulté le 02Mai à 13h29)
[24] https://www.lebigdata.fr/data-warehouse-entrepot-donnees-definition (Consulté le 02Mai à
13h29)
[25] https://www.01net.com/telecharger/windows/Bureautique/base_de_donne/fiches/137453.html
(consulté le 03 Mai 2019 à 9h35)
LXXIII
Conception d'un outil décisionnel pour la gestion efficiente et l'analyse de données massives
ANNEXES
Le diagramme de classe : représente les classes intervenant dans le système. Une classe est
un ensemble d’individus ayant les mêmes caractéristiques et les mêmes comportements.
Le diagramme objet : (objet : instance d’une classe) sert à représenter les instances utilisées
dans le système.
regrouper et d’organiser les éléments dans le modèle UML, le diagramme de paquetage sert
à représenter les dépendances entre paquetage.
rapport au système. Il permet d’indiquer toutes les fonctionnalités que doit avoir le système.
Le diagramme d’état-transition : permet de décrire sous forme de machine à état fini le
LXXIV
Conception d'un outil décisionnel pour la gestion efficiente et l'analyse de données massives
traitements et des interactions entre les éléments du système et/ou des acteurs.
diagramme d’activité).
Le diagramme de temps : permet de décrire les variations d’une donnée au cours du temps.
LXXV
Conception d'un outil décisionnel pour la gestion efficiente et l'analyse de données massives
LXXVI
Conception d'un outil décisionnel pour la gestion efficiente et l'analyse de données massives
LXXVII
Conception d'un outil décisionnel pour la gestion efficiente et l'analyse de données massives
LXXVIII
Conception d'un outil décisionnel pour la gestion efficiente et l'analyse de données massives
CONSTRAINT `FK_47CC8C9216227374`
FOREIGN KEY (`campagne_id`)
REFERENCES `dmpxo`.`campagne` (`id`))
ENGINE = InnoDB
AUTO_INCREMENT = 2
COMMENT = 'Stocke la définition de l\'action de la campagne marketing';
-- -----------------------------------------------------
-- Table `dmpxo`.`messagedefinition`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `dmpxo`.`messagedefinition` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`action_id` INT(11) NULL DEFAULT NULL,
`messagedefinition_insertion_date` DATETIME NULL DEFAULT NULL,
`message_modification_date` DATETIME NULL DEFAULT NULL,
`messagedefinition_type` VARCHAR(255) CHARACTER SET 'utf8' COLLATE
'utf8_unicode_ci' NOT NULL COMMENT 'email OU\nSMS',
`messagedefinition_libelle` VARCHAR(255) NOT NULL,
`messagedefinition_description` VARCHAR(255) CHARACTER SET 'utf8' COLLATE
'utf8_unicode_ci' NULL,
`messagedefinition_statut` VARCHAR(255) CHARACTER SET 'utf8' COLLATE
'utf8_unicode_ci' NULL,
PRIMARY KEY (`id`),
INDEX `IDX_B6BD307F9D32F035` (`action_id` ASC),
CONSTRAINT `FK_B6BD307F9D32F035`
FOREIGN KEY (`action_id`)
REFERENCES `dmpxo`.`action` (`id`))
ENGINE = InnoDB
AUTO_INCREMENT = 2
COMMENT = 'Stocke la définition du message envoyé (nom, SMS ou email)';
-- -----------------------------------------------------
-- Table `dmpxo`.`liendefinition`
-- -----------------------------------------------------
LXXIX
Conception d'un outil décisionnel pour la gestion efficiente et l'analyse de données massives
LXXX
Conception d'un outil décisionnel pour la gestion efficiente et l'analyse de données massives
CONSTRAINT `FK_E182EBEAE7A1254A`
FOREIGN KEY (`contact_id`)
REFERENCES `dmpxo`.`contact` (`id`),
CONSTRAINT `FK_resultatlien_liendefinition`
FOREIGN KEY (`liendefinition_id`)
REFERENCES `dmpxo`.`liendefinition` (`id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB
AUTO_INCREMENT = 23
COMMENT = 'Stocke le résultat des clics sur des liens/tags d\'une page d\'atterrissage d\'une
campagne XO-MATIC ou de navigation du site web';
-- -----------------------------------------------------
-- Table `dmpxo`.`messageresultat`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `dmpxo`.`messageresultat` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`contact_id` INT(11) NULL DEFAULT NULL,
`messagedefinition_id` INT(11) NULL DEFAULT NULL,
`messageresultat_insertion_date` DATETIME NULL DEFAULT NULL,
`messageresultat_modification_date` DATETIME NULL DEFAULT NULL,
`messageresultat_record_date` DATETIME NOT NULL,
`messageresultat_is_adresse` TINYINT(1) NOT NULL,
`messageresultat_is_abouti` TINYINT(1) NOT NULL,
`messageresultat_is_cliqueur` TINYINT(1) NULL,
PRIMARY KEY (`id`),
INDEX `IDX_271FABA1537A1329` (`messagedefinition_id` ASC),
INDEX `IDX_271FABA1E7A1254A` (`contact_id` ASC),
CONSTRAINT `FK_271FABA1537A1329`
FOREIGN KEY (`messagedefinition_id`)
REFERENCES `dmpxo`.`messagedefinition` (`id`),
LXXXI
Conception d'un outil décisionnel pour la gestion efficiente et l'analyse de données massives
CONSTRAINT `FK_271FABA1E7A1254A`
FOREIGN KEY (`contact_id`)
REFERENCES `dmpxo`.`contact` (`id`))
ENGINE = InnoDB
AUTO_INCREMENT = 136
COMMENT = 'Stocke le résultat de l\'envoi du message par rapport à un contact et une définition
de message';
-- -----------------------------------------------------
-- Table `dmpxo`.`projectexecutant`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `dmpxo`.`projectexecutant` (
`id` INT NOT NULL,
`executant_id` INT NOT NULL,
`projet_id` INT NOT NULL,
PRIMARY KEY (`id`),
INDEX `fk_projectexecutant_executant_idx` (`executant_id` ASC),
INDEX `fk_projectexecutant_projet1_idx` (`projet_id` ASC),
CONSTRAINT `fk_projectexecutant_projet1`
FOREIGN KEY (`projet_id`)
REFERENCES `dmpxo`.`operation` (`id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `dmpxo`.`versioning`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `dmpxo`.`versioning` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`bundle` VARCHAR(255) CHARACTER SET 'utf8' COLLATE 'utf8_unicode_ci' NOT NULL,
`bundle_repository_name` VARCHAR(255) CHARACTER SET 'utf8' COLLATE
'utf8_unicode_ci' NOT NULL,
LXXXII
Conception d'un outil décisionnel pour la gestion efficiente et l'analyse de données massives
LXXXIII
Conception d'un outil décisionnel pour la gestion efficiente et l'analyse de données massives
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `dmpxo`.`recherches- en v2` (
`id` INT(11) NOT NULL,
`contact_id` INT(11) NOT NULL,
`recherches_insertion_date` VARCHAR(45) NULL,
`recherches_modification_date` DATETIME NULL,
`recherches_nom` VARCHAR(255) NOT NULL,
`recherches_creation_date` DATETIME NULL,
`recherches_criteres` VARCHAR(255) NULL,
`recherches_is_actif` TINYINT(1) NULL,
PRIMARY KEY (`id`),
INDEX `fk_recherches_contact1_idx` (`contact_id` ASC),
CONSTRAINT `fk_recherches_contact1`
FOREIGN KEY (`contact_id`)
REFERENCES `dmpxo`.`contact` (`id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB
COMMENT = 'Stocke les recherche définies dans le compte utilisateur du site web';
-- -----------------------------------------------------
-- Table `dmpxo`.`resavoyage`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `dmpxo`.`resavoyage` (
`id` INT NOT NULL,
`contact_id` INT(11) NOT NULL,
`resavoyage_insertion_date` DATETIME NULL,
`resavoyage_modification_date` DATETIME NULL,
`resavoyage_date_reservation` DATETIME NULL,
`resavoyage_date_depart` DATETIME NULL,
`resavoyage_date_retour` DATETIME NULL,
`resavoyage_destination` VARCHAR(255) NULL,
LXXXIV
Conception d'un outil décisionnel pour la gestion efficiente et l'analyse de données massives
LXXXV
Conception d'un outil décisionnel pour la gestion efficiente et l'analyse de données massives
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB
COMMENT = 'Stocke les infos d\'optin pour toutes les sources de communication avec le contact.
Unicité sur contact_id et source.';
-- -----------------------------------------------------
-- Table `dmpxo`.`import`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `dmpxo`.`import` (
`id` INT(11) NOT NULL,
`contact_id` INT(11) NOT NULL,
`import_insertion_date` DATETIME NULL,
`import_modification_date` DATETIME NULL,
`import_date_maj` DATETIME NULL,
`import_fichier_source` VARCHAR(255) NULL,
`import_nom_source` VARCHAR(255) NULL,
`import_page` VARCHAR(255) NULL,
`import_code` VARCHAR(255) NULL,
PRIMARY KEY (`id`),
INDEX `fk_origine_contact1_idx` (`contact_id` ASC),
CONSTRAINT `fk_origine_contact1`
FOREIGN KEY (`contact_id`)
REFERENCES `dmpxo`.`contact` (`id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB
COMMENT = 'Stocke les infos de recrutement, import et origine (1er import)';
-- -----------------------------------------------------
-- Table `dmpxo`.`scoreresultat`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `dmpxo`.`scoreresultat` (
LXXXVI
Conception d'un outil décisionnel pour la gestion efficiente et l'analyse de données massives
LXXXVII
Conception d'un outil décisionnel pour la gestion efficiente et l'analyse de données massives
LXXXVIII
Conception d'un outil décisionnel pour la gestion efficiente et l'analyse de données massives
LXXXIX
Conception d'un outil décisionnel pour la gestion efficiente et l'analyse de données massives
-- -----------------------------------------------------
-- Table `dmpxo`.`envie`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `dmpxo`.`envie` (
`id` INT(11) NOT NULL,
`contact_id` INT(11) NOT NULL,
`envie_insertion_date` DATETIME NULL,
`envie_modification_date` DATETIME NULL,
`envie_reference` VARCHAR(255) NULL COMMENT 'réference de l\'envie (numéro 1, 2,
3...)\nou ref interne site web',
`envie_intitule` VARCHAR(255) NULL COMMENT 'Intitulé de l\'envie',
`envie_record_date` DATETIME NULL,
`envie_is_actif` TINYINT(1) NULL COMMENT 'J\'aime ou pas',
PRIMARY KEY (`id`),
INDEX `fk_envie_contact1_idx` (`contact_id` ASC),
CONSTRAINT `fk_envie_contact1`
FOREIGN KEY (`contact_id`)
REFERENCES `dmpxo`.`contact` (`id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `dmpxo`.`navigation`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `dmpxo`.`navigation` (
`id` INT(11) NOT NULL,
`contact_id` INT(11) NOT NULL,
`navigation_insertion_date` DATETIME NULL,
`navigation_modification_date` DATETIME NULL,
`navigation_titre_page` VARCHAR(255) NULL,
`navigation_langue_page` VARCHAR(255) NULL,
XC
Conception d'un outil décisionnel pour la gestion efficiente et l'analyse de données massives
-- -----------------------------------------------------
-- Table `dmpxo`.`resavoyagepax`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `dmpxo`.`resavoyagepax` (
`id` INT NOT NULL,
`resavoyage_id` INT NOT NULL,
`resavoyagepax_insertion_date` DATETIME NULL,
`resavoyagepax_modification_date` DATETIME NULL,
`resavoyagepax_nom` VARCHAR(255) NULL,
`resavoyagepax_prenom` VARCHAR(255) NULL,
`resavoyagepax_date_naissance` DATETIME NULL,
PRIMARY KEY (`id`),
INDEX `fk_resavoyagepax_resavoyage1_idx` (`resavoyage_id` ASC),
CONSTRAINT `fk_resavoyagepax_resavoyage1`
FOREIGN KEY (`resavoyage_id`)
REFERENCES `dmpxo`.`resavoyage` (`id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
XCI
Conception d'un outil décisionnel pour la gestion efficiente et l'analyse de données massives
ENGINE = InnoDB;
SET SQL_MODE=@OLD_SQL_MODE;
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;
Annexe 3
XCII
Conception d'un outil décisionnel pour la gestion efficiente et l'analyse de données massives
Annexe 4
XCIII
Conception d'un outil décisionnel pour la gestion efficiente et l'analyse de données massives
SOMMAIRE .........................................................................................................................................I
DÉDICACE ........................................................................................................................................ II
SIGLES ET ABRÉVIATIONS .......................................................................................................... III
LISTE DES FIGURES.......................................................................................................................IV
LISTE DES TABLEAUX ................................................................................................................... V
LEXIQUES ........................................................................................................................................VI
REMERCIEMENTS ........................................................................................................................ VII
AVANT - PROPOS ....................................................................................................................... VIII
ABSTRACT .......................................................................................................................................IX
INTRODUCTION GÉNÉRALE ......................................................................................................... 1
PREMIERE PARTIE : GENERALITES ......................................................................................... 3
CHAPITRE-1. : PRÉSENTATION DE LA STRUCTURE D’ACCUEIL ............................... 4
1.1 PRÉSENTATION DE LINK TO BUSINESS ............................................................. 4
1.1.1 MISSIONS ............................................................................................................... 4
1.1.2 ORGANISATION ................................................................................................... 5
1.2 PRÉSENTATION DU SERVICE D’ACCUEIL ......................................................... 6
CHAPITRE-2. : PRÉSENTATION ET CADRAGE DU PROJET .......................................... 7
2.1 CONTEXTE................................................................................................................. 7
2.2 DOMAINE D’ACTIVITÉ CONCERNÉE .................................................................. 7
2.3 OBJECTIFS DU PROJET ........................................................................................... 8
2.4 REVUE DOCUMENTAIRE ....................................................................................... 8
DEUXIÈME PARTIE : ÉTUDE PRÉALABLE ............................................................................. 9
CHAPITRE-3. : ÉTUDE ET ANALYSE DE L’EXISTANT ................................................. 10
3.1 ETUDE DE L’EXISTANT ........................................................................................ 10
3.1.1 Description du système actuel................................................................................ 10
3.1.2 Modélisation du système actuel (État des lieux) .................................................... 10
3.2 CRITIQUE DE L’EXISTANT .................................................................................. 10
CHAPITRE-4. : PROPOSITION ET CHOIX DE SOLUTION ............................................. 12
4.1 ÉBAUCHE DE SOLUTIONS ................................................................................... 12
4.1.1 Première solution ................................................................................................... 12
4.1.1.1 Description de la solution ................................................................................ 12
4.1.1.2 Avantages ........................................................................................................ 12
4.1.1.3 Inconvénients................................................................................................... 12
4.1.2 Deuxième solution ................................................................................................. 13
4.1.2.1 Description de la solution ................................................................................ 13
4.1.2.2 Avantages ........................................................................................................ 13
XCIV
Conception d'un outil décisionnel pour la gestion efficiente et l'analyse de données massives
4.1.2.3 Inconvénients................................................................................................... 13
4.1.3 Troisième solution.................................................................................................. 13
4.1.3.1 Description de la solution ................................................................................ 14
4.1.3.2 Avantages ........................................................................................................ 14
4.1.3.3 Inconvénients................................................................................................... 14
4.1.4 Quatrième solution ................................................................................................. 15
4.1.4.1 Description de la solution ................................................................................ 15
4.1.4.2 Avantages ........................................................................................................ 15
4.1.4.3 Inconvénients................................................................................................... 16
4.2 CHOIX DE LA SOLUTION ..................................................................................... 16
TROISIEME PARTIE : ETUDE DETAILLEE DE LA SOLUTION RETENUE ....................... 18
PARTIE : ETUDE DETAILLEE DE LA SOLUTION RETENUE .............................................. 18
CHAPITRE-5. : ETUDE FONCTIONNELLE ....................................................................... 19
5.1 MÉTHODE D’ANALYSE ET DE CONCEPTION DU SYSTÈME ........................ 19
5.1.1 Merise..................................................................................................................... 19
5.1.1.1 La démarche ou le cycle de vie ....................................................................... 19
5.1.1.2 Le Raisonnement ou le cycle d’abstraction;.................................................... 20
5.1.1.3 La maîtrise ou le cycle de décision. ................................................................ 20
5.1.2 UML et le processus Unifié ................................................................................... 21
5.1.2.1 Déclinaisons du Processus Unifié ................................................................... 22
5.2 ETUDE COMPARATIVE ET CHOIX DE LA METHODE D’ANALYSE ............ 23
5.3 JUSTIFICATION DU CHOIX .................................................................................. 24
5.4 METHODOLOGIE 2TUP ......................................................................................... 26
5.4.1 Historique ............................................................................................................... 26
5.4.2 Les deux phases du 2TUP ...................................................................................... 26
5.4.3 Etude détaillée des phases 2TUP ........................................................................... 27
CHAPITRE-6. : ETUDE ORGANIQUE ................................................................................ 29
6.1 ANALYSE ET CONCEPTION DU SYSTÈME ....................................................... 29
6.1.1 Capture des besoins fonctionnels ........................................................................... 29
6.1.1.1 Identification des cas d’utilisation et structuration en packages ..................... 29
6.1.2 Diagramme de cas d’utilisations ............................................................................ 29
6.1.2.1 Formalisme ...................................................................................................... 30
6.1.2.2 Modélisation .................................................................................................... 31
6.1.3 Description textuelle des cas d’utilisation ............................................................. 31
6.1.4 Diagramme de séquence ........................................................................................ 35
6.1.4.1 Définition......................................................................................................... 35
6.1.4.2 Formalisme ...................................................................................................... 36
6.1.4.3 Modélisation .................................................................................................... 37
6.1.5 Développement du modèle statique ....................................................................... 37
XCV
Conception d'un outil décisionnel pour la gestion efficiente et l'analyse de données massives
XCVI
Conception d'un outil décisionnel pour la gestion efficiente et l'analyse de données massives
XCVII