SlideShare une entreprise Scribd logo
1  sur  96
Télécharger pour lire hors ligne
I
J’autorise l’étudiant à faire le dépôt de son rapport de stage en vue d’une soutenance.
Encadrant professionnel, Mlle
MEJRI Khaoula.
Signature et cachet
J’autorise l’étudiant à faire le dépôt de son rapport de stage en vue d’une soutenance.
Encadrant académique, Mr LABBANE Walid.
Signature
II
Dédicaces
Mes chers parents Tarek & Samira
Mes deux sœurs adorables Salma & Hend
Ma chère femme magnifique Sabrine, ma vie, mon amour éternel
Mes Frères Walid & Sami
Mes deux anges Yasmine & Céline
Ma deuxième Famille : Chokri, Faten, Amen, Mima...
En témoignage de ma reconnaissance pour leurs sacrifices durant mes années d’étude. Qu'ils récoltent maintenant le
fruit de leur patience et de leur amour.
Je leur dédie ce travail en reconnaissance de tous les sacrifices qu'ils ont consentis pour maréussite.
Que ce travail soit l'expression de ma grande affection et un témoignage de mon profond attachement.
A l’âme de ma grand-mère Douja qui me manque énormément
A ma grand-mère Jamila que j’aime trop
A toute ma famille
A l’âme de mon ami Youssef
A tous mes amis
J’espère par ce modeste travail avoir répondu à laconfiance qu'ils m'ont accordée.
III
Remerciements
Je tiens tout d’abord à remercier M.Walid Labbane mon encadrant à Esprit pour son
engagement à mon égard, son écoute, sa disponibilité, ses orientations et ses remarques
constructives pour mener ce travail dans les meilleures conditions.
Je tiens à remercier tout particulièrement et à témoigner toute ma reconnaissance à Mon
encadrant à la société Mme. Khaoula Mejri pour l'aide qu'elle m’a apporté, pour sa patience et
son encouragement à finir ce travail. Son œil critique m’a été très précieux pour structurer ce
travail et pour améliorer la qualité des différentes sections.
Je remercie également tous les membres de la société « TIMSOFT » pour leur accueil et leurs
idées constructives durant ces mois au sein de leur établissement.
Je remercie vivement tous les membres de jury pour l'honneur qu'ils me font en jugeant et
examinant mon travail et tout mon effort. Enfin, je me trouve très reconnaissant à toutes les
enseignantes et tous les enseignants du département informatique d’ESPRIT, pour leurs efforts
et leur accompagnement au cours de mes études.
Aussi mes remerciements à tous ceux qui ont contribué de près ou de loin à l'élaboration de ce
travail, qu’ils veuillent bien trouver ici l'expression de nos salutations les plus distinguées.
IV
Résumé
Ce projet a été réalisé au sein de TIMSOT pour le client LC WAIKIKI dans le domaine de la
vente au détail.
Ce projet consiste à mettre en place un système de configuration de Data Warehouse et de
reporting.
Ce dernier nous a permis dans un premier temps de générer des fichiers intégrables par l’ERP
Cegid Business Retail de CEGID.
Il nous a aussi permis de générer des tableaux de bord selon les besoins de notre client.
Mot clés : Talend,QlikSense,Reporting,Datawarehouse,SQLserver
Abstract
This project was realized within TIMSOT for the customer LC WAIKIKI in the retail sale field.
This project involves setting up a Data Warehouse configuration and a reporting system.
This last allowed us initially to generate files integrable by the CEGID’sCegid Business Retail
ERP.
It also allowed us to generate dashboards according to the needs of our client.
Mot clés : Talend,QlikSense,Reporting,Datawarehouse,SQLserver
V
Liste des abréviations
ETL : Extract Transform Load
DW : DataWarehouse (entrepôt de données)
ERP : Enterprise Resource Planning
BD : Base de Données
BI : Business Intelligence
ODS : Operating Data Store
SGBD : Système de Gestion de Base de Données
CRM : Customer Relationship Management
CBR : Cegid Business Retail
VI
Table des matières
Dédicaces..................................................................................................................................II
Remerciements ...................................................................................................................... III
Liste des figures ....................................................................................................................... X
Liste des tableaux ................................................................................................................XIII
Introduction Générale.............................................................................................................. 1
Chapitre I : Cadre général du projet ..................................................................................... 3
1. Organisme d’accueil........................................................................................................... 4
1.1. Présentation de TIMSOFT .......................................................................................... 4
1.2. L’organigramme de TIMSOFT ................................................................................... 6
2. Contexte du projet .............................................................................................................. 7
2.1. Enjeux du projet .......................................................................................................... 7
2.2. Problématique.............................................................................................................. 7
2.3. Étude de l’existant.......................................................................................................7
2.4. Solution Proposée........................................................................................................ 8
3. Méthodologie de travail......................................................................................................9
3.1. Etude comparative des méthodologies ........................................................................ 9
3.1.1. L’approche de Kimball......................................................................................... 9
3.1.2. L’approche d’Inmon........................................................................................... 10
3.2. La méthodologie adaptée........................................................................................... 11
Chapitre II : Analyse et spécification des besoins ............................................................... 14
1. Planification du projet ...................................................................................................... 15
2. Identification des Besoins.................................................................................................16
2.1. Besoins fonctionnels..................................................................................................16
2.2. Besoins non fonctionnels........................................................................................... 16
3. Environnement technique du travail................................................................................. 17
VII
3.1. Stockage des données................................................................................................ 17
3.2. Intégration des données ............................................................................................. 18
3.3. Analyse de données et Reporting .............................................................................. 19
3.4. Scrapping des données .............................................................................................. 21
Chapitre III : Identification et description des données.................................................... 23
1. Identification des sources de données (Input) ..................................................................24
1.1. Fichier TO ................................................................................................................. 24
1.2. Fichier RO ................................................................................................................. 26
1.3. Fichier INV................................................................................................................ 27
1.4. Fichier TO_*_Product INV_*_Product ....................................................................29
2. Extraction des données.....................................................................................................30
3. Format des fichiers intégrables par l’ERP CBR (Output)................................................ 32
3.2. Fichier TO ................................................................................................................. 32
3.2. Fichier RO ................................................................................................................. 33
3.3. Fichier INV................................................................................................................ 34
3.4. Fichier TO PRODUCT & INV PRODUCT.............................................................. 35
Chapitre IV : Génération des outputs et développement de l’ETL...................................41
1. Business Model ................................................................................................................ 42
2. Préparation des données ...................................................................................................43
3. Génération des Outputs ....................................................................................................44
3.1. Fichier TO & RO....................................................................................................... 44
3.2. Fichier INV................................................................................................................ 45
3.3. Fichier «TO_PRODUCT » et « INV_PRODUCT »................................................. 46
3.4. Rassemblement des Jobs ........................................................................................... 47
4. Intégration des données....................................................................................................47
4.1. Extraction des données.............................................................................................. 47
4.1.1. TO_ETL ............................................................................................................. 47
4.1.2. RO_ETL ............................................................................................................. 48
VIII
4.1.3. PRODUCT_ETL................................................................................................ 49
4.1.4. Geographie_ETL................................................................................................ 50
Chapitre V : Création du Datawarehouse et Migration des données................................ 52
1. Conception du modèle physique ...................................................................................... 53
1.1. Magasin de données « Facture » ............................................................................... 53
2. Préparation des dimensions .............................................................................................. 54
2.1. Dimension Catégorie.................................................................................................54
2.2. Dimension Groupe.....................................................................................................55
2.3. Dimension produit.....................................................................................................56
2.4. Dimension StoreCible ............................................................................................... 57
2.5. Dimension Transfert..................................................................................................58
2.6. Dimension Temps...................................................................................................... 59
3. La Table de Fait « Facture »............................................................................................. 59
4. Journalisation Talend........................................................................................................ 60
5. Migration de données vers Qlik Sense ............................................................................. 62
Chapitre VI : Restitution des données................................................................................. 63
1. Spécification de l’application utilisateur.......................................................................... 64
2. Les Feuilles d’application.................................................................................................64
2.1. Suivi des Transferts ...................................................................................................64
2.2. Suivi des Boutiques...................................................................................................65
2.3. Feuilles d’application Suivi de la fréquence des transferts ....................................... 65
2.4. Feuilles d’application Suivi des Produits ..................................................................66
2.5. Feuilles application Gestion des Produits par tranche d’âge.....................................67
3. Développement de l’application utilisateur...................................................................... 67
3.1. Feuille d’accueil ........................................................................................................ 67
3.2. Suivi des Transferts ...................................................................................................68
3.3. Suivi des Boutiques...................................................................................................69
3.4. Suivi de la fréquence des transferts........................................................................... 70
IX
3.5. Suivi des Produits transférés ..................................................................................... 71
3.6. Suivi des Produits transférés par tranche d’âge......................................................... 71
Conclusion Générale .............................................................................................................. 73
Annexes ...................................................................................................................................74
Annexe A : génération des fichiers logs et Stats & creation du fichier «
emailDetails.properties »...................................................................................................... 75
Annexe B : Les étapes de migration des données ................................................................ 76
Annexe C : Automatisation ..................................................................................................79
Webographie........................................................................................................................... 82
X
Liste des figures
Figure 1 : Les Clients de TIMSOFT .......................................................................................... 6
Figure 2 : Organigramme de TIMSOFT .................................................................................... 6
Figure 3 : Représentation schématique de l’approche de Kimball........................................... 10
Figure 4 : Représentation schématique de l’approche d’Inmon............................................... 11
Figure 5 : Cycle de vie d’un projet décisionnel de Kimball..................................................... 13
Figure 6 : Diagramme de Gantt................................................................................................ 15
Figure 7 : Logo de SQL Server ................................................................................................ 18
Figure 8 : Le Quadrant magique de Gartner pour l’intégration des données 2018[4] ............. 18
Figure 9 : Logo de Talend........................................................................................................ 19
Figure 10 : comparatif des principaux logiciels d’aide à la décision [5] .................................19
Figure 11 : Logo de Qlik Sense................................................................................................ 21
Figure 12 : Logo d’Octoparse ..................................................................................................22
Figure 13 : Exemple d’un fichier TO.XML ............................................................................. 25
Figure 14 : Exemple d’un fichier RO.XML............................................................................. 26
Figure 15 : Exemple d’un fichier INV.XML ........................................................................... 27
Figure 16 : Exemple d’un fichier TO_*_PRODUCT.XML .................................................... 29
Figure 17 : Exemple d’un fichier INV_*_PRODUCT.XML................................................... 29
Figure 18 : Configuration des paramètres de l’outil Octoparse ............................................... 31
Figure 19 : Résultat d’extraction des données ......................................................................... 31
Figure 20 : Fichier XML .......................................................................................................... 32
Figure 21 : Business Model du projet décisionnel ...................................................................42
Figure 22 : Base de données ODS............................................................................................ 43
Figure 23 : Base de données ODS ‘Talend’............................................................................. 43
Figure 24 : Le Job d’output du Fichier TO .............................................................................. 44
Figure 25 : Composant « tMap » (RO) .................................................................................... 45
Figure 26 : Figure représentative du JOB (INV)...................................................................... 45
Figure 27 : Figure représentative du Job «TO_PRODUCT » et « INV_PRODUCT .............. 46
Figure 28 : Exemple du résultat d’un fichier output généré..................................................... 46
Figure 29 : Rassemblement des Jobs........................................................................................ 47
XI
Figure 30 : Configuration « tMap » du fichier TO...................................................................48
Figure 30 : Configuration « tMap » du fichier RO ..................................................................49
Figure 31 : Configuration « tMap » du fichier PRODUCT ..................................................... 50
Figure 32 : Configuration « tMap » des données du scrapping ............................................... 50
Figure 33 : Constructeur d’expression ‘Géographie’............................................................... 51
Figure 34 : Schéma de l’entrepôt de données .......................................................................... 54
Figure 35 : Job d’alimentation de la dimension « Dim _Catégorie » ...................................... 55
Figure 36 : Composant tMap du Job Dim_Categorie............................................................... 55
Figure 37 : Partie du job d’alimentation de la dimension «Dim_Groupe» .............................. 55
Figure 38 : Composant tMap du Job Dim_Groupe..................................................................56
Figure 39 : Partie du job d’alimentation de la dimension Dim_Produit ..................................56
Figure 40 : Composant tMap du Job Dim_Produit ..................................................................57
Figure 41 : Partie du job d’alimentation de la dimension Dim_StoreCible............................. 57
Figure 42 : Composant tMap du Job Dim_StoreCible............................................................. 58
Figure 43 : Partie du job d’alimentation de la dimension Transfert......................................... 58
Figure 44 : Composant tMap du Job Dim_Transfert ............................................................... 59
Figure 45 : Alimentation de la Table fait «Fact_Facture» ....................................................... 59
Figure 46 : Composant tMap du Job «Fact_Facture» .............................................................. 60
Figure 47 : Job envoie mail...................................................................................................... 61
Figure 48 : configuration du composant « tSenMail».............................................................. 61
Figure 49 : Configuration des relations entre les tables........................................................... 62
Figure 50 : Suivi des Transferts ............................................................................................... 64
Figure 51 : Suivi des boutiques................................................................................................ 65
Figure 52 : Suivi des boutiques................................................................................................ 66
Figure 53 : Suivi des Produits ..................................................................................................66
Figure 54 : Suivi des Produits par tranche d’âge .....................................................................67
Figure 55 : Feuille d’accueil.....................................................................................................68
Figure 56 : Suivi des Transferts ............................................................................................... 69
Figure 57 : Suivi des Boutiques ............................................................................................... 70
Figure 58 : Suivi de la fréquence des transferts ....................................................................... 70
Figure 59 : Suivi des Produits ..................................................................................................71
Figure 60 : Suivi des Produits transférés par tranche d’âge..................................................... 72
Figure 61 : Options de journalisation Talend........................................................................... 75
Figure 62 : Fichier emailDetails.properties.............................................................................. 76
XII
Figure 63 : Connexion aux sources de données ....................................................................... 76
Figure 64 : Création de la connexion ....................................................................................... 77
Figure 65 : Affichage des données après la connexion............................................................ 77
Figure 66 : Interface des associations dans Qlik Sense............................................................ 78
Figure 67 : Résultat d’association des tables ........................................................................... 79
Figure 68 : Construire un job ...................................................................................................80
Figure 69 : Planification d’une tache Windows....................................................................... 81
XIII
Liste des tableaux
Tableau 1 : Tableau comparatif de l'approche Inmon et Kimball............................................ 12
Tableau 2 : Tableau des avantages et inconvénients des deux approches................................ 12
Tableau 3 : Tableau comparatif des outils de stockages de données ....................................... 17
Tableau 4 : La structure du fichier TO.XML........................................................................... 25
Tableau 5 : La structure du fichier RO.XML........................................................................... 27
Tableau 6 : La structure du fichier INV.XML ......................................................................... 28
Tableau 7 : La structure du fichier INV_*_PRODUCT.XML................................................. 30
Tableau 8 : Description du fichier TO...................................................................................... 33
Tableau 9 : Description du fichier RO ..................................................................................... 34
Tableau 10 : Description du fichier INV.................................................................................. 35
Tableau 11 : Description de la forme FN1C1 .......................................................................... 35
Tableau 12 : Description de la forme FN1C2 .......................................................................... 36
Tableau 13 : Description de la forme LA1C1.......................................................................... 37
Tableau 14 : Description de la forme LA2C1.......................................................................... 37
Tableau 15 : Description de la forme DI1C1 ........................................................................... 37
Tableau 16 : Description de la forme DI2C1 ........................................................................... 38
Tableau 17 : Description de la forme DI3C1 ........................................................................... 38
Tableau 18 : Description de la forme ARDC1......................................................................... 39
Tableau 19 : Description de la forme REFC1.......................................................................... 40
Tableau 20 : Description de la forme SPEC1........................................................................... 40
1
Introduction Générale
De nos jours, l’informatique décisionnelle (qui désigne l’ensemble des technologies
permettant aux entreprises d’analyser les données au profit de leurs prises de décisions) est
considérée comme une importante approche pour l’évolution d’une entreprise.
Pour aider les décideurs à prendre les décisions, l’analyse de données peut être très
utile. Il est nécessaire de faire usage à une large variété d’outils et de technologies pour faire la
collection et l’analyse des données. C’est la Business Intelligence.
Les grandes quantités de données accumulées des systèmes d’informations des
entreprises ne deviennent des informations pertinentes que si elles répondent à des questions
bien précises sur l’entreprise.
Pour faire la décision, les décideurs ont besoin d’indicateurs de performance (KPI) afin d’être
aidés dans leurs choix.
L’informatique décisionnelle a pour démarche de connaître, mesurer, prévoir et agir
dans le seul objectif de préciser la stratégie de l’entreprise.
Dans ce contexte, la Société de Service Informatique ‘TIMSOFT’, un acteur dynamique dans
le secteur de l’informatique décisionnelle, a pris les devants et propose une solution BI pour
son client LCWAIKIKI.
C’est dans ce cadre que s'inclut ce projet de fin d’étude, qui consiste à mettre en place
et configurer un entrepôt de données & un système de Reporting.
Ce présent rapport s’organise sur cinq chapitres principaux.
Le premier chapitre « Cadre Général du Projet » contient une présentation de
l’organisme d’accueil, une vision sur le sujet ainsi qu’une étude de la partie existante et la
solution proposée. Il englobe aussi une partie consacrée à la méthodologie de travail.
Le deuxième chapitre « Analyse et spécification des besoins » présente l’environnement
et les outils de travail suivi par l’identification des besoins fonctionnels et non fonctionnels.
2
Le troisième chapitre « Identification & description des données » consiste à la
présentation des fichiers d’entrée donnés et les formats des fichiers de sortie intégrable par
l’ERP CEGID.
Le quatrième chapitre « Conception, développement de l’ETL & génération des
Outputs » il comporte les différentes phases afin de pouvoir développer l’ETL et générer les
fichiers de sortie intégrable par la base CBR.
Le dernier chapitre « Entrepôt de données & Reporting » présente le travail effectué
pour la réalisation de la solution. Il comporte également les tables de dimensions et de faits
crées & les principales Dashboard et résultats obtenus durant le projet.
3
Chapitre I :
Cadre général du projet
Chapitre I : Cadre générale du projet
4
Introduction
Le premier chapitre du rapport est consacré à la présentation de l’organisme d’accueil,
et les domaines d’activités. Ensuite nous passons à décrire la problématique qui nous a mené à
réaliser le projet, l’étude de l‘existant, la solution proposée, et enfin le choix de la méthodologie
de travail.
1. Organisme d’accueil
1.1. Présentation de TIMSOFT
Fondée en 2003, TIMSOFT est un chef de file tunisien qui assure la distribution
exclusive des produits CEGID (Société spécialisée dans l'édition de logiciels de gestion et de
systèmes d'information pour les entreprises et les entrepreneurs) en Tunisie.
C’est une société assez dominante dans le domaine de l’intégration et le déploiement des
solutions de gestion, dans tous les secteurs, pour garantir à ces clients des coûts et des délais
maîtrisés dans la réalisation et l’installation des projets informatiques, ce qui garantit à ces
derniers une évolution accélérée et un processus optimisé. De ce fait, elle les accompagne dans
leur croissance.
La société TIMSOFT ne cesse d'augmenter, elle a élargi ses opérations au-delà des
frontières tunisiennes avec l’ouverture de bureaux en France et au Maroc, permettant de
présenter ses services de conseil dans plus de 20 pays africains, européens et du Moyen-Orient.
En complément des progiciels, TIMSOFT propose un service complet et de proximité :
Conduite de projets complexes et intégrés, de l’avant-vente à la mise en œuvre opérationnelle.
Conseil dans la mise en place des plates-formes systèmes et réseaux et orientation vers les
nouvelles technologies répondant aux prérequis CEGID.
Formation et transfert des compétences sur site pour permettre à l’utilisateur de tirer rapidement
profit de ses progiciels.
Chapitre I : Cadre générale du projet
5
Hotline dédiée et assistance spécialisée par métier pour répondre aux attentes des clients.
L’équipe de TIMSOFT représente l’un de ses points forts, elle dispose 35 experts répartis sur
3 départements :
Le Département Commercial et Marketing (DCM) : structuré de manière à renforcer
la relation avec les clients et d’avoir un meilleur suivi des diverses transactions avec ces
derniers.
Le Département Technique : Recrutés pour leurs performances techniques et leur passion
pour les nouvelles technologies, les membres du Département Technique (DT) s'engagent à
offrir un service de qualité dès le premier contact et jusqu'au déploiement complet de la
solution.
Le Département Ressources Humaines : garantit l’évolution des diverses équipes et
assure la culture d’entreprise ainsi que le respect des valeurs de la société, il applique une
politique de formation continue notamment en matière de communication afin de répondre
au mieux aux exigences de ses clients.
A ce jour, TIMSOFT est leader du secteur Retail en Tunisie. Fort de cette réussite, la société
est en train d'accélérer sa croissance sur les autres secteurs d'activité.
TIMSOFT s’est constitué un écosystème riche, dont chaque acteur lui apporte une
expertise métier à forte valeur ajoutée, pour être toujours à la pointe de la technologie et
répondre aux besoins évolutifs de ses clients.
Le principal atout de TIMSOFT est la satisfaction de ses clients d’où elle englobe
toutes les notions nécessaires pour exercer une réelle et pragmatique activité professionnelle
adaptée au secteur d’activité du client. Elle agit en spécialiste et apporte à l'entreprise les
meilleurs outils pour une vision globale et en temps réel de son activité. De plus, les équipes
TIMSOFT apportent maîtrise et coordination pour accompagner chaque entreprise au
quotidien et à chaque étape de son activité.
Dans la première figure, nous présentons quelques clients de TIMSOFT
Chapitre I : Cadre générale du projet
6
Figure 1 : Les Clients de TIMSOFT
1.2. L’organigramme de TIMSOFT
La figure 2 représente l’organigramme de TIMSOFT. [1]
Figure 2 : Organigramme de TIMSOFT
Chapitre I : Cadre générale du projet
7
2. Contexte du projet
2.1. Enjeux du projet
De nombreux bénéfices pour l’entreprise peuvent être récoltés des programmes de
business intelligence. Ces bénéfices donnent la possibilité d’accélérer et de perfectionner la
prise de décision.
Ils permettent aussi l’optimisation des processus internes, la génération de nouveaux
revenus, l’augmentation de l’efficience d’exploitation et la prise d’avantage sur la
concurrence.
Les systèmes d’informatique décisionnelle aident également les entreprises à repérer les
problèmes qui doivent être résolus et à identifier les tendances du marché.
2.2. Problématique
« Réduire les dépenses » est l’un des conseils pour faire la bonne gestion d’argent
pour l’entreprise, dans ce contexte TIMSOFT utilise BLUEWAY qui est un outil de
manipulation et d’intégration de fichiers payant. Son coût mensuel peut atteindre plus que
10 Milles euro, ainsi TIMSOFT doit rechercher les moyens de rationalisation sans
compromettre la qualité et l'impact.
Dans le cadre de la mise en place de CEGID BUSSINESS RETAIL chez le client
LCWAIKIKI qui est un client de TIMSOFT, et pour suivre la stratégie proposée auparavant,
les fichiers en Input et les données venant des différentes sources externes (CRM, données
de marchés, fichiers clients, inventaires etc…) paraissent incompatibles et non intégrables
avec la base CEGID.
Cependant, Pour avoir une vision globale de son activité LCWAIKIKI espère consolider et
exploiter toutes ses données.
2.3. Étude de l’existant
L’outil Blueway utilisé par TIMSOFT assure la transformation et l’intégration des
données après leur téléchargement depuis le serveur FTP du fournisseur puis passant par ces
étapes :
 Traiter le fichier réceptionné.
Chapitre I : Cadre générale du projet
8
 Intégrer les fichiers traités dans la base CBR.
 Sauvegarder les fichiers originaux sur le disque Local (Ces fichiers seront sauvegardés par
type de fichier et par jour en ajoutant dans le nom de fichier la date et l’heure).
Cependant aucun module BI n’est désormais consommé par notre client.
2.4. Solution Proposée
Lors de l’exécution du job, les fichiers disponibles sur le serveur FTP vont être
téléchargés, stockés, puis transformés. Nos inputs vont être sauvegardés dans une première
base pour assurer la traçabilité, on parle ici de l’étape EL (Extract-Load).
Ensuite on passe à la deuxième étape qui est la génération des outputs en format «. Txt »
intégrable par l’ERP CBR de CEGID.
Le scénario d’exécution comprend les étapes suivantes :
 Téléchargement des fichiers disponibles.
 Stockage des données dans une base.
 Traitement immédiat des fichiers.
 La génération des fichiers intégrables par CEGID (CBR).
Dans une deuxième phase, nous aspirons à offrir une solution de Business
Intelligence générique et configurable pour notre client LCWIKIKI. Notre mission durant le
stage est présentée dans les tâches suivantes :
 Comprendre le processus d'affaires au sein de TIMSOFT pour réussir à répondre aux
besoins désirés.
 Analyser les données existantes et les besoins.
 Concevoir le module BI, ses différentes dimensions et faits.
 Charger des données dans les structures existantes.
 Générer des rapports.
Chapitre I : Cadre générale du projet
9
3. Méthodologie de travail
3.1. Etude comparative des méthodologies
En général, un projet BI est différent des autres projets informatiques en termes de matière
de précision lors de la restitution des données d’une entreprise et de matière de performance
lors de la création des Dashboard. Par conséquence nous somme dans l’obligation
d’implémenter une méthodologie autre que celles du développement des systèmes
transactionnels dont on peut citer quelques exemples :
 Approche en V
 Approche dite classique (en cascade)
 Approche en spirale
Cependant les experts s’accordent sur le fait que ces approches ne répondent pas parfaitement
aux besoins d’implantation des systèmes décisionnels, ils ont alors défini d’autres approches
dont on cite :
 L’approche Bottom-Up de Ralph Kimball
 L’approche Top-Down de Bill Inmon
 L’approche Hybride.
3.1.1. L’approche de Kimball
Ralph Kimball a préparé un procédé pour concevoir un entrepôt qui, en son temps, était
novateur : le modèle dimensionnel.
Sa méthodologie a été bien utilisée pour la réalisation des projets de l’entrepôt de données
et de business intelligence dans les différents domaines.
Kimball discerne les tâches de création d’entrepôts entre trois spécialisations du monde de
l’intelligence d’affaires :
 L’environnement technique
 Les données
 Les applications analytiques
Chapitre I : Cadre générale du projet
10
Figure 3 : Représentation schématique de l’approche de Kimball
 Le chemin technique qui est orienté vers le choix et la configuration des outils utilisés
pour les entrepôts. Aussi c’est dans ce chemin que se définit l’architecture technique,
et donc l’ensemble des éléments matériels et logiciels formant l’environnement d’un
entrepôt.
 Le chemin des données qui est emprunté par les programmeurs qui modélisent les
magasins de données et acheminent les données des systèmes sources vers ces
magasins.
 Le chemin pour le développement d’applications analytiques, c’est prévu pour les
développeurs de rapports, d’analyses et de tableaux de bord typiquement dans des
logiciels prévus pour la consommation de données analytiques.
Ces trois chemins sont intégrés au moment du déploiement c’est à dire en fin de projet. Et
ce processus complet est répété pour chaque nouveau magasin de données demandé par les
utilisateurs.
3.1.2. L’approche d’Inmon
Inmon définit l’entrepôt de données comme un référentiel centralisé pour l'ensemble
de l'entreprise. Cet entrepôt stocke les données au plus bas niveau de détail. Et des dépôts
de données dimensionnels sont ensuite créés à partir de cet entrepôt.
Chapitre I : Cadre générale du projet
11
Figure 4 : Représentation schématique de l’approche d’Inmon
Il définit alors l'entrepôt de données dans les termes suivants :
1. Orienté sujet : les données de l'entrepôt de données sont organisées de manière à ce
que tous les éléments de données relatifs au même événement ou objet du monde
réel soient liés.
2. Variante temporelle : les modifications apportées aux données de la base de données
sont suivies et enregistrées, des rapports peuvent ainsi être générés afin d’indiquer
les modifications dans le temps.
3. Non volatile : les données de l'entrepôt de données ne sont jamais écrasées ni
supprimées. Une fois validées, les données sont statiques, en lecture seule et
conservées pour les futurs rapports.
4. Intégré : la base de données contient des données provenant de la plupart ou de la
totalité des applications opérationnelles d'une organisation et rend ces données
cohérentes. [2]
3.2. La méthodologie adaptée
Kimball Inmon
Les datamarts sont implémentés de
façon incrémentale et intégrée en
utilisant les dimensions conformes
L'entrepôt de données utilise un modèle
normalisé et les datamarts utilisent des
données dimensionnelles orientés sujet
Commence par la conception du modèle
dimensionnel pour les datamarts
Commence par la conception du modèle
de l'entrepôt de données
Chapitre I : Cadre générale du projet
12
Les datamarts peuvent fournir une vue
entreprise ou processus
L’entrepôt de données contient les
données atomiques et les datamarts les
données agrégées
L’architecture est composée d’un staging
area et de datamarts alors que l'entrepôt
de données physique n’existe pas
L’architecture est composée d’un staging
area permanent, d’un entrepôt de données
et de datamarts dépendants
Les datamarts contiennent les données
atomiques et agrégées
L’entrepôt de données est orienté
entreprise et les datamarts sont orientés
processus
Les utilisateurs peuvent effectuer des
requêtes sur l'entrepôt de données et les
datamarts
Tableau 1 : Tableau comparatif de l'approche Inmon et Kimball
Le tableau comparatif nous montre une opposition effective des deux modèles. Cependant
aucun d’entre eux n’est à privilégier. Alors le choix de la meilleure approche dépendra de
l’activité de l’entreprise ainsi que de ses objectifs à long et court terme sur le plan décisionnel.
Avantages inconvénients des 2 approches
Kimball Inmon
Approche Buttom-Up : Commence
par la conception du
modèle dimensionnel pour
les
Datamarts
Top-Down : Commence
par la conception du
modèle de
l’entrepôt de données
Durée de mise en œuvre Court Long
Construction du modèle Rapide Couteux en temps
Cout Cout initial modéré Cout initial élevé
Intégration des données Par domaine métier Au niveau d’entreprise
Tableau 2 : Tableau des avantages et inconvénients des deux approches
Chapitre I : Cadre générale du projet
13
D’après les résultats, nous pouvons remarquer que l’approche Bottom-Up est plus
rentable en termes de temps.
Et par conséquent, l’approche de Ralph Kimball nous semble être la plus adéquate,
vu que nous optons pour un mode de gestion basé sur la réactivité et la coopération, la
méthodologie suivante peut nous fournir une solution adéquate aux besoins de notre client
avec bonne organisation de travail.
Figure 5 : Cycle de vie d’un projet décisionnel de Kimball
Conclusion
Ce chapitre introductif nous a permis d’essayer de détailler le cadre général du projet
en présentant l’entreprise, la solution que nous allons développer et la méthodologie qu’on a
adopté pour la réalisation du projet.
14
Chapitre II :
Analyse et spécification des besoins
Chapitre II : Analyse et spécification des besoins
15
Introduction
L’analyse des besoins métiers est primordiale pour les projets informatiques, dans le
but de réussir les opérations de conception et de développement.
Pour comprendre le contexte du système, il est essentiel de passer par la phase de spécification
des besoins fonctionnels et non fonctionnels et faire l’étude des outils techniques utilisés.
En effet nous allons planifier le projet, présenter et définir les besoins métiers et les outils
techniques.
1. Planification du projet
Pour représenter visuellement l’état d’avancement du projet des différentes activités, le
diagramme de Gantt qui est un outil efficace et souvent utilisé en gestion de projet peut nous
être utile.
La planification du projet est décrite par la Figure ci-dessous qui représente le digramme de
GANTT.
Figure 6 : Diagramme de Gantt
Chapitre II : Analyse et spécification des besoins
16
2. Identification des Besoins
2.1. Besoins fonctionnels
Le besoin fonctionnel représente les services offerts à l’utilisateur et met en évidence
les fonctions techniques et les fonctions de services.
Les besoins que notre solution doit satisfaire sont :
 Traitement d’informations
 Extraction des données depuis le serveur FTP du client
 Garantir un bon traitement des fichiers
 Conserver les nouvelles données dans une base intermédiaire
 Exclure la redondance des données
 Génération des fichiers de sortie intégrables par CEGID (CBR)
 Conception et mise en place d’un Entrepôt de Données afin de gérer les informations
pertinentes
 Restitution des données et l’élaboration des tableaux de bord
 Suivi des traitements effectués entre les dépôts et les boutiques
2.2. Besoins non fonctionnels
Pour une meilleure qualité et plus de fiabilité, notre solution doit respecter des
contraintes supplémentaires qui décrivent l’aspect technique, esthétique et ergonomique pour
sa réalisation et son bon fonctionnement. Ces besoins sont appelés les besoins non fonctionnels
que nous avons dégagé quelques-uns :
 Convivialité : l’interface graphique de l’application doit être simple et conviviale
puisqu’elle présente le premier contact entre la solution et l’utilisateur.
 Rapidité : il est nécessaire que le temps de réponse ne soit pas lent, et la durée d’exécution
et du traitement soit rapide.
 Évolutivité : la solution reste ouverte avec la possibilité d’ajout d’autres modules afin de
l’améliorer.
Chapitre II : Analyse et spécification des besoins
17
3. Environnement technique du travail
Nous citons ci-dessous les environnements logiciels sur lesquels se base la réalisation de
notre projet :
 Stockage de données : SQL Server
 ETL : Talend Data Intégration
 Reporting : Qlik Sense
3.1. Stockage des données [3]
-Service Web ✓ ✓ ✓
-Support XML ✓ ✕ ✓
-Compression des
données
✕ ✕ ✓
-Administration aisée ✓ ✓ ✓
-Open source ✕ ✓ ✓
-Grande base de
données.
Pour plus de 200Go
et plus 300
utilisateurs, les
écarts de
performances sont
visibles par rapport
à d’autre SGBD
✓ ✕ ✕
-Supporte les 4
niveaux d’isolation
transactionnelle de
la norme SQL
✓ ✕ ✓
Tableau 3 : Tableau comparatif des outils de stockages de données
Chapitre II : Analyse et spécification des besoins
18
SQL Server et MySQL deux des plus connues bases de données relationnelles du
marché SGBDR :
MySQL est un choix pour les environnements multiplateformes d’où la base fonctionne sur les
systèmes d’exploitation Windows, Linux et UNIX. D’autre part, SQL Server est aussi un
excellent choix pour les DSI ayant déjà opté pour du Windows.
Vu ses différents avantages, on a opté pour SQL Server pour le stockage des données.
Figure 7 : Logo de SQL Server
3.2. Intégration des données
Talend est un ETL (Extract Transform and Load) qui a comme fonctionnalité :
 Extraction des données d’une source
 Modification de ces données
 Recharge des données vers une destination
La source et la destination des données peuvent être une base de données, un service web, Un
fichier csv. Et bien d’autres…
Figure 8 : Le Quadrant magique de Gartner pour l’intégration des données 2018[4]
Chapitre II : Analyse et spécification des besoins
19
D’après la figure précédente, Talend a fait partie des 4 leaders et a été considéré comme
un concurrent lourd pour Oracle, SAP, SAS.
Talend est un outil puissant, varié et open source qui permet de créer des flux (représente
l’action de transfert des données d’une source vers une autre) à l’aide des interfaces graphiques
et qui offre plus de 6000 composants.
Lors de la création des flux, un code Java auto-généré qui aide à la maintenance et au débogage
des Jobs avec beaucoup de simplicité et de rapidité avec la possibilité de compilation.
Cet outil d’intégration offre un large choix de connecteurs et de bases de données relationnelles
comme : oracle, Microsoft SQL Server, Postgre SQL, MySQL, etc...
Figure 9 : Logo de Talend
3.3. Analyse de données et Reporting
On peut trouver de nombreux logiciels de ‘Data visualisation’ sur le marché, mais ce n’est pas
aussi facile de choisir le meilleur.
Ceci est un tableau fourni par (datanalyse.fr) qui compare les différents logiciels d’aide à la
décision.
Figure 10 : comparatif des principaux logiciels d’aide à la décision [5]
Chapitre II : Analyse et spécification des besoins
20
D’après le tableau comparatif illustré dans la page précédente, on constate que Qlik
Sense occupe une place importante dans le classement avec ses concurrents.
Qlik Sense est une nouvelle génération d’applications de visualisation de données en libre-
service qui permet la création facile des visualisations interactives et flexibles, qui aident à
l’exploration et à la découverte.
QlikView a lancé un nouvel outil appelé Qlik Sense, conçu pour fournir des
fonctionnalités de visualisation de données en libre-service et de veille stratégique aux
particuliers et aux entreprises. Qlik Sense repose sur le même moteur d'indexation de données
associatives QIX que QlikView, mais Qlik Sense offre une interface utilisateur simplifiée, des
visualisations par drag-and-drop et la possibilité de charger des données sans modifier
manuellement les scripts.
Qlik Sense Desktop (similaire à l'édition personnelle de QlikView) permet de partager
des applications de visualisation et des tableaux de bord sans restriction de licence. Les
utilisateurs peuvent désormais partager des fichiers entre eux ou les télécharger sur le cloud,
où ils peuvent être consultés n’importe où sur les ordinateurs et les appareils mobiles. Qlik
Sense vise à promouvoir la découverte et la visualisation rapides de données et à faciliter le
partage des analyses sur divers périphériques.
Qlik Sense est conçu dès le départ pour la BI autonome sur de nombreux périphériques.
Avec Sense, les utilisateurs pourront se développer directement sur le serveur au lieu de devoir
gérer un seul fichier entre plusieurs développeurs. Vous pouvez même développer des
applications Qlik Sense complètes sur un iPad ou une tablette. La conception réactive de Sense
signifie qu’une seule application se redimensionnera elle-même sur votre téléphone, votre
tablette ou votre ordinateur portable sans avoir à développer des interfaces utilisateur
spécifiques pour chaque facteur de forme.
Chargement rapide des données
Le chargement de données dans Qlik Sense peut être aussi simple que de faire glisser
un fichier ou un jeu de données dans l'application sur laquelle vous travaillez. En fonction des
informations de colonne et d'en-tête que vous sélectionnez, Qlik Sense générera
automatiquement un script pour charger les données dans votre application.
Chapitre II : Analyse et spécification des besoins
21
Exploration de données, découverte et visualisation
Qlik Sense fournit une interface épurée pour créer des applications d'exploration, de
découverte et de visualisation de données. Qlik Sense fournit un grand choix de graphiques, de
tableaux et de visualisations.
Collaboration et communication
La narration de données est une nouvelle fonctionnalité de Qlik Sense qui permet aux
utilisateurs de créer des présentations et de partager des informations. Les utilisateurs peuvent
prendre des instantanés de données et de visualisations, ajouter du texte et des graphiques et
créer des présentations qui renvoient à des applications interactives, le tout dans Qlik Sense.
Lorsque les utilisateurs ont fini d'analyser les données et d'organiser leurs constatations, ils ont
la possibilité de partager leurs fichiers directement avec d'autres utilisateurs ou de les
télécharger sur Qlik Cloud. Les applications sur Qlik Cloud sont accessibles sur les ordinateurs,
les tablettes et les smartphones via une URL publique.
Nous avons opté pour l’outil Qlik Sense pour faire le Reporting et l’analyse de notre Solution
Business Intelligence.
Figure 11 : Logo de Qlik Sense
3.4. Scrapping des données
Afin de compléter les données manquantes, on a fait recours à l’outil Octoparse qui est un
extracteur de données Web puissant et facile à utiliser, auquel des centaines de milliers de
personnes et d’entreprises ont fait confiance puisqu’il donne la possibilité de transformer
n'importe quel site Web en tableau de données ou en API avec plusieurs points et clics sur des
éléments de données.
Chapitre II : Analyse et spécification des besoins
22
Il s’agit du canal Octoparse qu’on doit maîtriser pour créer nos propres ensembles de données.
Figure 12 : Logo d’Octoparse
Conclusion
Dans ce chapitre, nous avons analysé et spécifié les besoins fonctionnels ainsi que les
besoins non fonctionnels. Ensuite nous avons identifié l’environnement du travail et les
technologies adoptées pour garantir la réalisation du projet.
Chapitre III :
Identification et description des données
Chapitre III : Identification et description des données
24
Introduction
La phase de compréhension et d’identification des données permet d’identifier les
données à analyser et de faire le lien entre les données et leurs significations d’un point de
vue métier. D’autre part, la compréhension des fichiers d’entrées nous facilitera sans doute la
réalisation de notre solution afin de mieux traiter les données.
Dans ce chapitre, nous allons identifier et décrire les types de sources des données et leurs
formats et nous présenterons ainsi les spécifications dont l’ERP CBR demande pour la reprise
de ces dernières.
1. Identification des sources de données (Input)
Nous avons identifié 5 types de sources de données qui seront utilisées dans une phase
ultérieure à la phase ETL après les avoir télécharger depuis le serveur FTP du client.
Les types de fichiers sont :
 Fichier « TO_*.XML »
 Fichier « RO_*.XML »
 Fichier « INV_*.XML »
 Fichier « TO_*_Product.XML »
 Fichier « INV_*_Prodcut.XML »
1.1. Fichier TO
Le fichier source « TO » est nommé : TO_*.XML
Le fichier ‘TO’ est un fichier XML, qui mentionne les transferts émis d’un stock à une
boutique. Voici un exemple d’un fichier TO.XML illustré par la figure 13 dans la page
suivante :
Chapitre III : Identification et description des données
25
Figure 13 : Exemple d’un fichier TO.XML
Voici un tableau pour mieux comprendre la structure du fichier :
Champs Description
ExpeditionID Identifiant de l’expédition
FromStore Code du stock
ToStore Code de la boutique
ExpeditionDate Date d’expédition
ItemID Identifiant du produit
Barcode Code à barre du produit
price Prix
Quantity Quantité
Amount Somme
Tableau 4 : La structure du fichier TO.XML
Chapitre III : Identification et description des données
26
1.2. Fichier RO
Le fichier source « RO » est nommé : RO_*.XML
Le fichier ‘RO’ est un fichier XML, qui mentionne les transferts reçus d’un stock à une
boutique.
Voici un exemple d’un fichier RO.XML :
Figure 14 : Exemple d’un fichier RO.XML
La structure du fichier ci-dessus est bien clarifiée dans le tableau suivant :
Champs Description
InvoiceID Identifiant de la facture d’achat
ReceptionID Identifiant de réception
ExpeditionID Identifiant d’expédition
FromStore Code du stock
ToStore Code de la boutique
ExpeditionDate Date d’expédition
ReceptionDate Date de réception
ApproveDate Date d'approuvé
ItemID Identifiant du produit
Barcode Code à barre
Chapitre III : Identification et description des données
27
Price Prix
Quantite Quantité
Amount Somme
Tableau 5 : La structure du fichier RO.XML
1.3. Fichier INV
Le fichier source « INV » est nommé : INV_*.XML
Le fichier ‘INV’ est un fichier XML, qui décrit la facture générée d’un transfert entre un stock
et une boutique.
Voici un exemple d’un fichier INV.XML :
Figure 15 : Exemple d’un fichier INV.XML
Chapitre III : Identification et description des données
28
Le tableau suivant clarifie la structure de fichier XML ci-dessus :
Champs Description
InvoiceID Identifiant de la facture d’achat
CompanyName Nom de la Compagnie
InvoiceDate Date de la facture d’achat
ReceptionDate Date de réception
CustomsDeclarationDate Date de déclaration en douane
DocumentStatus Statut du document
UpdateTime Temps de mise à jour
PriceCode Code de prix
Currency Devise
FromStore Code du stock
ToStore Code de la boutique
UserName Nom d’utilisateur
Exchange Échange
InvoiceExpeditionID Numéro d'expédition de facture
ExpeditionID Identifiant d’expédition
TargetStore Magasin cible
ReceptionID Identifiant de réception
CostPriceParity Parité des coûts
InvoIceItemID Identifiant d'article de facture
ItemID Identifiant du produit
Barcode Code à barre
Quantite Quantité
Price Prix
SellingPrice Prix de vente
Amount Somme
OriginCountryCode Code du pays d'origine
Tableau 6 : La structure du fichier INV.XML
Chapitre III : Identification et description des données
29
1.4. Fichier TO_*_Product INV_*_Product
Les deux fichiers source « TO_PRODUCT » & « INV_PRODUCT » sont nommés :
TO_*_PRODUCT.XML et INV_*_PRODUCT.XML
Les fichiers sont de type XML et décrivent les produits transférés d’un Stock à une boutique.
Figure 16 : Exemple d’un fichier TO_*_PRODUCT.XML
Figure 17 : Exemple d’un fichier INV_*_PRODUCT.XML
Chapitre III : Identification et description des données
30
Une description des deux fichiers est mentionnée dans le tableau ci-dessous :
Champs Description
ProductID Identifiant du produit
ProductName Nom du produit
SpecialCode Code special
ItemClassCode Code de classe d'article
ItemClass Classe d'article
MerchSubGroup Sous-groupe
MerchSubGroupName Nom du sous-groupe
ItemID Identifiant du produit
ProductID Identifiant du produit
Barcode Code à barre
Color Couleur
ColorName Nom de couleur
Size Taille
Size2 Taillle2
FirstPriceWithVAT Premier prix avec TVA
VATRATE TAUX DE TVA
PriceWithVAT Prix avec TVA
Material Matériel
Tableau 7 : La structure du fichier INV_*_PRODUCT.XML
2. Extraction des données
Pour avoir la liste complète des boutiques de notre client LCWaikiki seulement en
Tunisie, l’outil Octoparse nous a permis d’extraire les données de ces derniers.
Après avoir configuré les paramètres, indiqué le site web d’où on va extraire les données
et défini le processus d’extraction, on termine cette première étape par appuyer sur « Start
extraction » comme mentionné dans la figure 18 présente dans la page suivante.
Chapitre III : Identification et description des données
31
Figure 18 : Configuration des paramètres de l’outil Octoparse
Une fois le traitement commence, les résultats d’extraction s’affichent comme indiqué dans la
figure ci-dessous :
Figure 19 : Résultat d’extraction des données
Afin d’enregistrer le résultat obtenu, un export des données est obligatoire.
Par conséquent, on a choisi le format Excel pour stocker les informations obtenues.
La figure dans la page suivante nous explique ce qui précède :
Chapitre III : Identification et description des données
32
Figure 20 : Fichier XML
3. Format des fichiers intégrables par l’ERP CBR (Output)
3.2. Fichier TO
Le fichier « TO » est nommé : Transfert_Emis_TO (id) < date sous le format
YYYYMMDD>.TXT. En Output, ce fichier se décrit sous le format suivant :
Champs Position Longueur Description
Préfixe 1 6 « TEMC1 »
RefInterne 7 35 InvoiceID
RefExterne 42 35 ExpeditionID
EtabEmet 77 5 ETAB_FROMSTORE: « select
MDE_ETABLISSEMENT as
LCW_ETAB_TOSTORE2 from
METABDEPOT where
MDE_DEPOT=’
LCW_DEP_ FROMSTORE2’ »
Dep_emetteur 82 5 DEP_FROMSTORE: « select
GDE_DEPOT as
LCW_DEP_FROMSTORE2 from
DEPOTS
Where GDE_CHARLIBRE2
= ’FromStore’ »
Chapitre III : Identification et description des données
33
ETAB_dest 87 5 ETAB_TOSTORE: « select
MDE_ETABLISSEMENT as
LCW_ETAB_TOSTORE2 from
METABDEPOT where
MDE_DEPOT=’
LCW_DEP_TOSTORE2’ »
Dep_Dest 92 5 DEP_TOSTORE: « select GDE_DEPOT
as LCW_DEP_TOSTORE2 from
DEPOTS
Where GDE_CHARLIBRE2 =’
ToStore’ »
Date_exp 100 8 dateexp
Barcode 108 13 Barcode
Quantite 121 4 Quantite
Price 125 12 Price
Tableau 8 : Description du fichier TO
3.2. Fichier RO
Le fichier « RO » est nommé : Transfert_Reçu_RO_ (id) < date sous le format
YYYYMMDD>.TXT.
En Output, ce fichier se décrit sous le format suivant :
Champs Position Longueur Description
Préfixe 1 6 « TREC1 »
RefInterne 7 35 InvoiceID
RefExterne 42 10 ReceptionID
REF_suivi 52 10 ExpeditionID
EtabEmet 62 4 ETAB_FROMSTORE (même travail
que sur TO)
Chapitre III : Identification et description des données
34
Dep_emetteur 66 4 DEP_FROMSTORE (même travail que
sur TO)
ETAB_dest 70 5 ETAB_TOSTORE (même travail que
sur
TO)
Dep_Dest 75 5 DEP_TOSTORE (même travail que sur
TO)
Date_emi 83 8 dateexp
Date_resp 93 10 daterecep
Date_valide 103 10 dateapv
Barcode 116 13 Barcode
Quantite 129 4 Quantite
Price 133 12 Price
Tableau 9 : Description du fichier RO
3.3. Fichier INV
Le fichier « INV » est nommé : Facture_INV_ (id) < date sous le format
YYYYMMDD>.TXT.
En Output, ce fichier se décrit sous le format suivant :
Champs Position Longueur Description
Préfixe 1 6 « ALFC1 »
InvoiceID 7 5 InvoiceID
InvoiceExpID 42 6 InvoiceExpeditionID
Chapitre III : Identification et description des données
35
ExpID 77 5 ExpeditionID
FromStore 112 4 FromStore
ToStore 122 4 ToStore
TargetStore 132 4 TargetStore
ReceptionID 142 4 ReceptionID
InvoiceDate 152 10 dateinv
ReceptionDate 160 10 daterecep
Barcode 168 13 Barcode
Qte 181 4 Qte
Price 191 12 Price
Currency 203 3 Currency
Tableau 10 : Description du fichier INV
3.4. Fichier TO PRODUCT & INV PRODUCT
Le fichier « TO_Product » est nommé : Article_To_ (id) < date sous le format
YYYYMMDD>.TXT.
Le fichier « INV_Product » est nommé : Article_To_ (id) < date sous le format
YYYYMMDD>.TXT.
Chaque fichier aura un seul output qui se compose de plusieurs formes comme indiquent les
tableaux suivants :
Champs Position Longueur Description
Préfixe 1 6 « FN1C1 »
Code 7 3 MershSubGroup (2 premier caractères)
Libelle 10 70 MershSubGroupName
Tableau 11 : Description de la forme FN1C1
Chapitre III : Identification et description des données
36
Champs Position Longueur Description
Préfixe 1 6 « FN2C1 »
Code 7 3 A calculer : si l’abrege existe dans la
base (table CHOIXEXT) => code de la
base
"SELECT YX_CODE as
LCW_Code_LA2 from CHOIXEXT
where YX_TYPE =’LA2’ and
YX_LIBELLE =
‘MershSubGroupName’ and
YX_ABREGE = ‘MershSubGroup’ "
Si n’existe pas : (voir req1)
Ajouter ligne dans la table CHOIXEXT
avec le nv code : (voir req 2)
Libelle 10 100 MershSubGroupName
Abrege 110 17 MershSubGroup
Tableau 12 : Description de la forme FN1C2
Champs Position Longueur Description
Préfixe 1 6 « LA1C1 »
Code 7 3 A calculer : si l’abrège existe dans la
base (table CHOIXEXT) => code de la
base
"SELECT YX_CODE as
LCW_Code_LA1 from CHOIXEXT
where YX_TYPE =’LA1’ and
YX_LIBELLE = ‘ItemClass and
YX_ABREGE = ‘ItemClassCode "
Si n’existe pas : (voir req3)
Ajouter ligne dans la table CHOIXEXT
avec le nv code : (voir req 4)
Chapitre III : Identification et description des données
37
Libelle 10 100 ItemClass
Abrege 110 17 ItemClassCode
Tableau 13 : Description de la forme LA1C1
Champs Position Longueur Description
Préfixe 1 6 « LA2C1 »
Code 7 3 A calculer : si l’abrège existe dans la
base (table CHOIXEXT) => code de la
base
"SELECT YX_CODE as
LCW_Code_LA2
From CHOIXEXT where YX_TYPE
=’LA2’ and
YX_LIBELLE =
‘MershSubGroupName’ and
YX_ABREGE = ‘MershSubGroup’ "
Si n’existe pas : (voir req1)
Ajouter ligne dans la table CHOIXEXT
avec le nv code : (voir req 2)
Libelle 10 100 MershSubGroupName
Abrege 110 17 MershSubGroup
Tableau 14 : Description de la forme LA2C1
Champs Position Longueur Description
Préfixe 1 6 « DI1C1 »
Size 7 3 Size
Tableau 15 : Description de la forme DI1C1
Chapitre III : Identification et description des données
38
Champs Position Longueur Description
Préfixe 1 6 « DI2C1 »
Size2 7 3 Size2
Tableau 16 : Description de la forme DI2C1
Champs Position Longueur Description
Préfixe 1 6 « DI3C1 »
Color 7 3 Color
ColorName 10 35 ColorName
Tableau 17 : Description de la forme DI3C1
Champs Position Longueur Description
Préfixe 1 6 « ARDC1 »
Code
Article
7 10 ProductID
Libelle
Article
17 70 ProductName
Texte
Libre1
87 10 SpecialCode
Famille
NIV1
97 3 2 premier caracteres du
« MershSubGroup »
Chapitre III : Identification et description des données
39
Famille
NIV2
100 3 Select YX_CODE from CHOIXEXT
where
YX_TYPE= ‘LA2’ and
YX_LIBELLE = MershSubGroupName
and YX_ABREGE=MershSubGroup
TLibre1 103 3 A calculer (code LA1) (req 3)
TLibre2 106 3 A calculer (code LA2) (req 1)
Size 109 15 Size
Size2 124 15 Size2
color 139 15 color
colorName 154 35 colorName
PVTTC 189 12 PriceWithVat
Prix initial 201 12 FirstPriceWithVat
Materiel 213 100 Materiel
Tableau 18 : Description de la forme ARDC1
Champs Position Longueur Description
Préfixe 1 6 « REFC1 »
Code Article 7 10 ProductID
Libelle
Article
17 70 ProductName
Size 87 15 Size
Chapitre III : Identification et description des données
40
Size2 102 15 Size2
color 117 15 color
colorName 132 35 colorName
Reference 167 13 ItemID / Barcode
Tableau 19 : Description de la forme REFC1
On insère 2 lignes de préfixe « REFC1 » pour chaque article :
Une ligne avec référence=Barcode et une autre avec référence=Item ID
Champs Position Longueur Description
Préfixe 1 6 « SPEC1 »
Product ID 7 10 Product ID
Libelle 17 70 Product Name
SpecialCode 87 15 SpecialCode
Tableau 20 : Description de la forme SPEC1
Conclusion
Dans ce chapitre nous avons identifié les sources de données. Nous avons réussi à
analyser et décrire les différents types de format de données pour les alimenter et les
transformer afin qu’elles soient bien exploitées.
Chapitre IV : Génération des outputs et développement de l’ETL
41
Chapitre IV :
Génération des outputs et développement
de l’ETL
Chapitre IV : Génération des outputs et développement de l’ETL
42
Introduction
Dans ce chapitre, nous présenterons en premier lieu notre business modèle, par la suite
nous allons attaquer la phase relative à la génération des outputs et nous finirons par la
conception de l’ETL.
Dans ce chapitre, on va faire une description détaillée de l’intégration de chaque type de
données.
1. Business Model
Le business Model c'est le point de départ, l'idée originale qui permet à une entreprise
de se démarquer de la concurrence et d'espérer pouvoir gagner de l'argent.
A travers lequel, l’entrepreneur peut également répondre à un besoin sans jamais parvenir à
trouver un moyen de le monétiser. Il est très utile pour les différents types de projet
spécialement les projets d'intégration de données ou il nous permettra de bien présenter les
besoins. Ces besoins seront par la suite traduits facilement en process techniques.
Tel qu’il est décrit par la figure suivante, nous avons essayé de diviser les parties qui composent
notre projet en plusieurs sous parties (jobs).
Figure 21 : Business Model du projet décisionnel
Chapitre IV : Génération des outputs et développement de l’ETL
43
2. Préparation des données
Avant d’entamer la phase de l’ETL, il est primordial de stocker les données pour garder
une traçabilité avant de les traiter.
Dans cette partie nous allons présenter les différentes tables dont nous avons besoin tout au
long de cette phase.
Dans les figures ci-dessous, Les tables sont bien présentées et identiques à celles des données
initiales.
Figure 22 : Base de données ODS
Figure 23 : Base de données ODS ‘Talend’
Chapitre IV : Génération des outputs et développement de l’ETL
44
3. Génération des Outputs
3.1. Fichier TO & RO
Afin de générer un fichier qui correspond au besoin déjà mentionné dans le chapitre qui
précède, nous avons passé par différentes étapes.
La figure ci-dessous présente le processus parcourus :
Figure 24 : Le Job d’output du Fichier TO
Les étapes de ce processus commencent tout d’abord par une connexion à la table
ODS relative au fichier TO, par la suite, nous avons utilisé le composant « TflowToiterate »
qui permet de boucler sur les éléments du sous-job auquel il est attaché.
Le composant « tMap » est le responsable de la transformation des données initiales et peut
diriger les données à partir d'une ou plusieurs source(s) et vers une ou plusieurs destination(s).
Dans le cas du fichier TO, le composant tMap reçoit plus qu’une source : La table To de l’ODS
et deux autres entrées relatives à la base CEGID. Après la transformation faite par ce
composant, un fichier output est généré comme résultat du traitement réalisé.
Ce fichier est nommé : « Transfert_Emis_To_ (id) _date.txt »
Chapitre IV : Génération des outputs et développement de l’ETL
45
Les mêmes étapes se répètent dans un autre Job qui correspond au « fichier RO », la seule
différence se fait au niveau du composant tMap, et plus précisément dans ces champs :
EtabEmet, Dep_emetteur, ETAB_dest, Dep_Dest.
Le résultat de ces derniers dépend à chaque fois du Job exécuté.
Le fichier output du Job «RO_OUTPUT » sera nommé : « Transfert_Recu_Ro_ (id) _date.txt
».
Figure 25 : Composant « tMap » (RO)
3.2. Fichier INV
Cette figure présente le Job responsable de la génération du fichier output relatif au
fichier INV.
Le composant tMap du Job reçoit une seule entrée qui est la table INV de la base
ODS. D’autre part, il est relié à un seul composant de sortie (tFileOutputpositional).
Le fichier d’output sera nommé « Facture_INV_ (id) _date.txt »
Figure 26 : Figure représentative du JOB (INV)
Chapitre IV : Génération des outputs et développement de l’ETL
46
3.3. Fichier «TO_PRODUCT » et « INV_PRODUCT »
Les deux jobs «TO_PRODUCT_OUTPUT » et « INV_PRODUCT_OUTPUT » passent
par les mêmes étapes, et produisent un seul output chacun d’eux. Contrairement aux jobs
responsables à la génération des outputs des fichiers précédents, le fichier de sortie se compose
de plusieurs formes telles qu’ils sont décrits dans le cahier de charge.
Figure 27 : Figure représentative du Job «TO_PRODUCT » et « INV_PRODUCT
Les deux fichiers « INV_ (id) _PRODUCT.xml » et «TO_ (id) _PRODUCT.xml » seront par
la suite nommé par :
« Article_INV_ (id) _date.txt » et « Article_TO_ (id) _date.txt »
La figure ci-dessous nous montre un exemple d’un fichier output généré
« Article_TO_(id)_date.txt »
Figure 28 : Exemple du résultat d’un fichier output généré
Chapitre IV : Génération des outputs et développement de l’ETL
47
3.4. Rassemblement des Jobs
Dans ce Job, nous allons rassembler tous les autres Jobs afin de finaliser la phase de
génération des outputs après avoir traité et intégré chaque type de données.
Figure 29 : Rassemblement des Jobs
4. Intégration des données
L’ETL (Extraction, Transformation et Chargement) est Parmi les phases les plus
importantes dans notre processus. Ce dernier permettra comme son nom l’indique, l’extraction
des données à partir de l’ODS. Ensuite, d’effectuer différents changements afin de rendre les
données exploitables et homogènes dans la phase suivante.
Pour obtenir de bons résultats, les données doivent être intègres dont les changements peuvent
être : de simples transformations d’inversion des signes de valeur par exemple ou bien des
transformations complexes ou le traitement nécessite plusieurs étapes et plusieurs composants
de traitements sous TALEND, pour pouvoir finalement charger les données alors transformées
et intégrées dans les différentes tables de notre entrepôt.
4.1. Extraction des données
4.1.1. TO_ETL
Le Job TO_ETL consiste d’abord à faire des transformations sur les données déjà
stockées dans la table TO de la base LCWODS ensuite les stocker dans la table TO_ETL de
la base LCWETL.
Ces Transformations se font au niveau du composant du Job concerné « tMap » qui est
présenté dans la figure illustrée dans la page suivante :
Chapitre IV : Génération des outputs et développement de l’ETL
48
Figure 30 : Configuration « tMap » du fichier TO
A l’aide du composant « tMap » nous avons réussi alors à réaliser :
 Les modifications des noms des champs et de les traduire aussi à la langue
Française
 La modification des différents types de :
- DateExpedition de String à Datetime (YYYY_MM_dd)
- Prix de « String » à « Float »
- Quantité de String à « integer »
- Montant de String à « Float »
4.1.2. RO_ETL
Le Job RO_ETL consiste d’abord à faire des transformations sur les données déjà
stockées dans la table RO de la base LCWODS ensuite les stocker dans la table RO_ETL
de la base LCWETL.
Ces Transformations se font au niveau du composant du Job concerné « tMap » qui est
présenté dans la figure illustrée dans la page suivante :
Chapitre IV : Génération des outputs et développement de l’ETL
49
Figure 30 : Configuration « tMap » du fichier RO
A l’aide du composant « tMap » nous avons réussi alors à réaliser :
 Les modifications des noms des champs et de les traduire aussi à la langue
Française
 La modification des différents types de :
- DateExpedition de String à Datetime (YYYY_MM_dd)
- DateReception de String à Datetime (YYYY_MM_dd)
- DateApprouvee de String à Datetime (YYYY_MM_dd)
- Prix de « String » à « Float »
- Quantité de String à « integer »
- Montant de String à « Float »
4.1.3. PRODUCT_ETL
Le Job RO_ETL consiste d’abord à faire des transformations sur les données déjà
stockées dans la table RO de la base LCWODS ensuite les stocker dans la table RO_ETL
de la base LCWETL.
Ces Transformations se font au niveau du composant du Job concerné « tMap » qui est présenté
dans la figure présentée dans la page suivante :
Chapitre IV : Génération des outputs et développement de l’ETL
50
Figure 31 : Configuration « tMap » du fichier PRODUCT
A l’aide du composant « tMap » nous avons réussi alors à réaliser :
 Les modifications des noms des champs et de les traduire aussi à la langue
Française
 La modification des différents types de :
- Prix de « String » à « Float »
4.1.4. Geographie_ETL
Figure 32 : Configuration « tMap » des données du scrapping
Au niveau du job qui concerne les transformations sur la table « Géographie » dans la
base « LCWODS » Nous avons ajouté la colonne « Code » à travers le composant « tMap »
qui sert à affecter le code spécifique de chaque boutique selon la localisation.
La figure qui suit présente le code d’affectation des codes à travers le constructeur d’expression
Chapitre IV : Génération des outputs et développement de l’ETL
51
Figure 33 : Constructeur d’expression ‘Géographie’
Conclusion
Au cours de ce chapitre, nous avons réussi à générer les outputs selon des formats bien
définies et intégrables par l’ERP CEGID et à développer l’ETL pour le traitement et
l’intégration des données.
Dans le chapitre suivant, nous allons entamer la partie relative à la création de l’entrepôt de
données.
Chapitre V : Création du Datawarehouse et migration des données
52
Chapitre V :
Création du Datawarehouse et
Migration des données
Chapitre V : Création du Datawarehouse et migration des données
53
Introduction
Avant de Passer à la phase de Reporting qui est la phase finale pour un projet Business
Intelligence, nous devons sans doute passer par l’étape de création d’entrepôt de données.
Dans ce chapitre nous allons créer des tables de faits et de dimensions avant d’atteindre notre
objectif final qui est la création des rapports.
1. Conception du modèle physique
Comme indiqué dans les parties qui précédent, nous allons établir un modèle en étoile. Dans
cette phase nous allons déposer les modèles des magasins de données que nous allons fournir.
1.1. Magasin de données « Facture »
Le modèle ci-dessous se focalise essentiellement sur le transfert des produits entre les
dépôts et les différentes boutiques ‘LCWIKIKI’. Notre table de faits « facture » sera reliée
avec les dimensions qui représentent des axes d’analyse : Catégorie, Produit, Temps,
Transfert, Groupe, Géographie, dépôt, Store Cible
Chapitre V : Création du Datawarehouse et migration des données
54
Figure 34 : Schéma de l’entrepôt de données
2. Préparation des dimensions
Maintenant nous allons commencer la phase d’alimentation après avoir définit les
dimensions qui nécessitent dans la phase d’identification de dimensions.
2.1. Dimension Catégorie
La figure illustrée dans la page suivante présentera l’exemple d’alimentation de la dimension
« Dim _Catégorie ».
Chapitre V : Création du Datawarehouse et migration des données
55
Figure 35 : Job d’alimentation de la dimension « Dim _Catégorie »
Dans le job « Dim_Categorie » nous avons fait recours à la table « Product_ETL » de
la base de données LCWETL pour pouvoir construire la dimension « Dim_Categorie » comme
nous montre La Figure ci-dessus.
Les champs qu’on a utilisés dans la création de la dimension sont : « Categorie » et «
Code Catégorie » comme indiqué dans la figure suivante.
Figure 36 : Composant tMap du Job Dim_Categorie
2.2. Dimension Groupe
La figure suivante présentera l’exemple d’alimentation de la dimension « Dim _Groupe ».
Figure 37 : Partie du job d’alimentation de la dimension «Dim_Groupe»
Chapitre V : Création du Datawarehouse et migration des données
56
Dans le job « Dim_Groupe » nous avons fait recours à la table « Product_ETL » de la
base de données LCWETL pour pouvoir construire la dimension « Dim_Groupe » comme nous
montre La Figure ci-dessus.
Les champs qu’on a utilisés dans la création de la dimension sont : « Groupe » et « NomGroupe
» comme indiqué dans la figure suivante.
Figure 38 : Composant tMap du Job Dim_Groupe
2.3. Dimension produit
La figure suivante présentera l’exemple d’alimentation de la dimension « Dim _Produit ».
Figure 39 : Partie du job d’alimentation de la dimension Dim_Produit
Dans le job « Dim_Produit » nous avons fait recours à la table « Product_ETL » de la
base de données LCWETL pour pouvoir construire la dimension « Dim_Produit » comme nous
montre La Figure ci-dessus.
Les champs qu’on a utilisés dans la création de la dimension sont indiqués dans la figure
illustrée dans la page suivante.
Chapitre V : Création du Datawarehouse et migration des données
57
Figure 40 : Composant tMap du Job Dim_Produit
2.4. Dimension StoreCible
La figure suivante présentera l’exemple d’alimentation de la dimension « Dim _StoreCible ».
Figure 41 : Partie du job d’alimentation de la dimension Dim_StoreCible
Dans le job « Dim_StoreCible » nous avons fait recours à la table «RO_ETL » de la
base de données LCWETL pour pouvoir construire la dimension « Dim_StoreCible » comme
nous montre La Figure ci-dessus.
Les champs qu’on a utilisés dans la création de la dimension sont indiqués dans la figure
présentée dans la page suivante.
Chapitre V : Création du Datawarehouse et migration des données
58
Figure 42 : Composant tMap du Job Dim_StoreCible
2.5. Dimension Transfert
La figure suivante présentera l’exemple d’alimentation de la dimension « Dim _Transfert ».
Figure 43 : Partie du job d’alimentation de la dimension Transfert
Dans le job « Dim_Transfert » nous avons fait recours à la table «TO_ETL » de la base
de données LCWETL pour pouvoir construire la dimension « Dim_Transfert » comme nous
montre La Figure ci-dessus.
Les champs qu’on a utilisés dans la création de la dimension sont indiqués dans la figure
suivante.
Chapitre V : Création du Datawarehouse et migration des données
59
Figure 44 : Composant tMap du Job Dim_Transfert
2.6. Dimension Temps
Afin de construire la dimension Temps, nous avons exécuté une requête SQL qui à
générer la table de cette dimension.
3. La Table de Fait « Facture »
La dernière étape de transformation va être consacrée pour effectuer les chargements au
niveau de la table de faits. Pour bien comprendre cette étape nous allons prendre l’exemple des
transformations effectuées pour la réalisation de la table de fait facture qui sera schématisée par
la figure ci-dessous.
Figure 45 : Alimentation de la Table fait «Fact_Facture»
Chapitre V : Création du Datawarehouse et migration des données
60
Figure 46 : Composant tMap du Job «Fact_Facture»
Au niveau du job responsable de la création de la table de fait, le composant « tMap »
nous a permis de :
- Transformer et diriger les données
-Etablir les relations entre les dimensions
-créer les mesures
4. Journalisation Talend
Talend nous donne la possibilité de suivre l’état d’exécution de nos jobs réalisés, d’avoir
une bonne gestion de notre projet et de garder une traçabilité sur l’exécution.
La journalisation de Talend permet la génération de deux fichiers qui sont :
Logs : qui est généré en cas d’échec d’exécution et qui contient les détails de chaque opération
et la cause de l’erreur.
Stats : qui est généré lors de chaque exécution d’un job pour nous informer de l’état de
l’exécution.
Une configuration sous Talend est requise pour avoir les fichiers logs et Stats.
(Annexe)
La figure illustrée dans la page suivante nous montre le job qu’on a préparé qui est responsable
de l’envoi d’un mail qui contient les fichiers de journalisation suite à l’exécution d’un job.
Chapitre V : Création du Datawarehouse et migration des données
61
Figure 47 : Job envoie mail
◦ Le composant « tFileInputProperties » nous a permis de pointer sur le fichier «
emailDetails.properties » qu’on a créé pour faciliter la connexion du job avec le mail.
◦ Le composant « tSetGlobalVar » nous a permis de créer des variables globales qui seront
utilisées au niveau du composant « tSendMail ».
◦ Le composant « tSendMail » que sa configuration sera la suivante
Figure 48 : configuration du composant « tSenMail»
Chapitre V : Création du Datawarehouse et migration des données
62
Dans la figure ci-dessus nous avons configuré le composant d’envoi du mail on ajoutant le
destinataire, l’expéditeur, le sujet, le message, les pièces jointes à envoyer…
5. Migration de données vers Qlik Sense
Après avoir exécuté nos Jobs et alimenté nos tables, il ne nous reste que d’entamer la
dernière phase de notre projet.
La migration de données stockées dans les tables de SQL server vers notre outil de «Reporting»
Qlik Sense.
La figure ci-dessous nous montre une des étapes de migration des données.
Figure 49 : Configuration des relations entre les tables
Cette étape consiste à relier les tables de fait et de dimensions selon le la conception du model
physique qui est un modèle en étoile comme mentionné dans les parties précédentes.
Les autres différentes étapes sont mentionnées dans l’annexe.
Conclusion
Après avoir préparé la partie modélisation dimensionnelle pour bien identifier les grandes
phases de notre projet, nous avons effectué plusieurs changements nécessaires afin
d’homogénéiser et d’unir les données. Pour pouvoir par la suite alimenter notre entrepôt de
données.
Dans le chapitre suivant, nous allons attaquer la phase de restitution des données.
Chapitre V : Création du Datawarehouse et migration des données
63
Chapitre VI :
Restitution des données
Chapitre VI : Restitution des données
64
Introduction
Tout au long du chapitre précédent, nous avons essayé d’éclaircir les étapes de
préparation de données tout en détaillant le modèle à implémenter au niveau de notre solution.
Dans ce chapitre, nous allons exposer les maquettes à réaliser et présenter les différents tableaux
de bord réalisés et qui répondent aux besoins de notre client.
1. Spécification de l’application utilisateur
Pour garantir la satisfaction du client et réaliser facilement les tableaux de bord, il faut
passer certainement par cette étape.
Nos objectifs pendant cette phase sont d’analyser la structure du tableau de bord et d’avoir une
idée et une vision claire sur le résultat de la solution.
2. Les Feuilles d’application
2.1. Suivi des Transferts
Ce tableau de bord permet aux décideurs de visualiser les moyennes des temps
d’approuvé et de réponse des boutiques, les produits les plus transférés selon les boutiques, par
catégorie et groupe.
Figure 50 : Suivi des Transferts
Chapitre VI : Restitution des données
65
2.2. Suivi des Boutiques
La figure ci-dessous présente la maquette du Dashboard suivi des boutiques par
localisation, temps de réponse, temps d’approuvé.
Cette maquette nous présente aussi les boutiques qui ont un manque des produits et les
boutiques qui font des transferts plus que les autres.
Figure 51 : Suivi des boutiques
2.3. Feuilles d’application Suivi de la fréquence des transferts
La maquette illustrée dans la page suivante présente le tableau de bord qui permet aux
décideurs de visualiser la fréquence des transferts au cours du temps.
Chapitre VI : Restitution des données
66
Figure 52 : Suivi des boutiques
2.4. Feuilles d’application Suivi des Produits
Ce tableau de bord permet aux décideurs de visualiser les produits transférés en fonction
de la couleur, de la catégorie et du matériel.
Figure 53 : Suivi des Produits
Chapitre VI : Restitution des données
67
2.5. Feuilles application Gestion des Produits par tranche d’âge
Ce tableau de bord permet aux décideurs de visualiser les tailles des produits transférés
en fonction de la couleur, de la catégorie et du matériel.
Figure 54 : Suivi des Produits par tranche d’âge
3. Développement de l’application utilisateur
La dernière étape de notre projet consiste à développer l’application utilisateur qui nous
donne la possibilité de résumer tout ce qui précède en se basant sur l’étude de l’existant qu’on
a fait, les technologies à utiliser et les besoins du client déjà spécifiés précédemment.
La réalisation des différents tableaux de bord durant cette phase sera faite avec l’outil Qlik
Sense qui assure le dynamisme des résultats.
3.1. Feuille d’accueil
Pour faciliter la navigation entre les tableaux de bords, une feuille d’accueil a été créée
permettant à l’utilisateur d’avoir une idée visible et claire sur les thèmes analysés.
Chaque thème est représenté par un bouton qui nous dirige vers le tableau de bord convenable.
La figure représentant l’interface d’accueil est illustrée dans la page suivante.
Chapitre VI : Restitution des données
68
Figure 55 : Feuille d’accueil
3.2. Suivi des Transferts
La partie suivante sera consacrée pour la présentation en détails du tableau de bord « Suivi
Transfert ». La feuille du suivi de transfert nous permettant de :
• Suivre le temps d’approuvé (qui est la différence entre la date d’approuvé et la date de
réception) par boutique, groupe, catégorie et produit.
• Suivre le temps de réponse moyen des transferts (qui est la différence entre la date
d’expédition et la date de réception) par boutique, groupe, catégorie et produit.
• Afficher la liste des boutiques et les utiliser en tant que filtre.
• Afficher la liste des dépôts et des Boutiques cible et les utiliser en tant que filtre.
• Afficher la liste des catégories en tant que filtre.
• Afficher la liste des groupes en tant que filtre.
• Visualiser les produits les plus transférés représenté par une Pie charte.
• Visualiser le prix total des produits transférés
• Visualiser les prix par unité
Chapitre VI : Restitution des données
69
Figure 56 : Suivi des Transferts
3.3. Suivi des Boutiques
La partie suivante sera consacrée pour la présentation en détails du tableau de bord « Suivi
Boutique ». La feuille du suivi des boutiques nous permettant de :
• Suivre le temps de réponse moyen des transferts (qui est la différence entre la date
d’expédition et la date de réception) par boutique, groupe, catégorie et produit.
• Suivre le temps de réponse le plus élevé des transferts
• Suivre le temps d’approuvé le plus élevé des transferts
• Suivre les transferts Émis et Reçus
• Suivre la somme de temps de réponse par jour
• Suivre la somme de durée d’approuvé par jour
• Afficher les Top3 boutiques source représentées par un bar chart.
• Afficher les Top3 boutiques cible représentées par un bar chart.
• Afficher la localisation des boutiques dans une carte géographique.
Chapitre VI : Restitution des données
70
Figure 57 : Suivi des Boutiques
3.4. Suivi de la fréquence des transferts
La partie suivante sera consacrée pour la présentation en détails du tableau de bord «
Suivi de la fréquence des transferts ». La feuille du suivi de Produit nous permettant de :
• Suivre le prix total des produits transférés.
• Suivre le nombre total des produits transférés.
• Suivre le nombre de couleurs des produits transférés.
• Visualiser le nombre total des produits transférés au cours du temps par une graphique en
courbe.
• Visualiser le prix total des produits transférés au cours du temps par une graphique en courbe.
• Visualiser la fréquence de nombre de couleurs au cours du temps.
• Afficher la liste des dates d'expédition en tant que filtre.
Figure 58 : Suivi de la fréquence des transferts
Chapitre VI : Restitution des données
71
3.5. Suivi des Produits transférés
La partie suivante sera consacrée pour la présentation en détails du tableau de bord «
Suivi des Produits transférés ». La feuille du suivi de Produit nous permettant de :
• Suivre le nombre de catégories total, par couleur, matériel et produit.
• Suivre le nombre de catégorie moyen par transfert de chaque produit, couleur et/ou matériel.
• Suivre le nombre de produits total, par couleur, catégorie et matériel.
• Suivre le nombre de produit moyen par transfert de chaque catégorie, couleur et/ou matériel
• Visualiser les couleurs des produits les plus transférés représenté par une Pie charte.
• Visualiser les catégories les plus transférées représenté par une Pie charte.
• Visualiser les produits les plus transférés représenté par une Pie charte.
• Afficher la liste des matériels des produits en tant que filtre.
Figure 59 : Suivi des Produits
3.6. Suivi des Produits transférés par tranche d’âge
La partie suivante sera consacrée pour la présentation en détails du tableau de bord «
Suivi des Produits transférés par tranche d’âge ». La feuille du suivi de Produit nous
permettant de :
• Suivre le nombre de catégories total, par couleur, matériel et taille.
• Suivre le nombre de produit moyen par transfert de chaque taille, couleur et/ou matériel.
Chapitre VI : Restitution des données
72
• Suivre le nombre de produits total, par couleur, taille et matériel.
• Visualiser les couleurs des produits les plus transférés représenté par un graphique en
barres.
• Visualiser les tailles les plus transférées représenté par un graphique en barres.
• Afficher la liste des matériels des produits en tant que filtre.
Figure 60 : Suivi des Produits transférés par tranche d’âge
Conclusion
Dans ce chapitre nous avons résumé brièvement les phases de mise en œuvre du projet
tout en présentant les différentes maquettes réalisées.
Par la suite, nous avons aussi exposé les tableaux de bord réalisés tout en les illustrant
par des captures d’écran des principales taches de la solution.
73
Conclusion Générale
Ce stage s’inscrit dans le cadre du projet de fin d’études effectué au sein de la Société
TIMSOFT en vue de l’obtention du diplôme national d’ingénieur en Informatique.
Ce projet a comme objectif global la mise en place d’un système d’aide à la décision qui couvre
l’activité de commerce de détail essentiellement.
Pour la réalisation de cette solution nous nous sommes appuyés dans une première phase
primordiale sur la compréhension des données pour assurer l’avancement.
Dans une deuxième phase nous avons traité les données tout en passant par les trois phases :
extraction, transformation et chargement des données dans l’entrepôt des données.
Pour finir, nous avons abouti aussi à générer des tableaux de bord interactifs, clairs et
détaillés.
Cette expérience m’a permis d’appréhender les méthodologies en vigueur dans le monde
professionnel. De plus, elle m’a également permis d’assimiler l’importance de la gestion du
temps et les délais dans la gestion des projets ainsi que d’apprendre comment être réactif face
aux problèmes rencontrés.
Techniquement, j’ai appris à utiliser de nouveaux logiciels comme TALEND, SQL
Server et Qlik Sense. Ainsi que de nouvelles notions dans les bases de données et je me suis
perfectionné dans la réalisation des tableaux de bords.
Ce stage m’a aidé bien évidemment, à avoir une vision globale des processus
informatiques dédiés à la prise de décision. Cette connaissance que je compte utiliser à bon
escient, me conforte dans mes choix de carrière et alimente mon ambition de continuer dans
cette voie.
Et pour clore ce rapport, j’ai le plaisir d’annoncer que TIMSOFT m’a finalement
proposée un pré embauche, je suis ravi de la confiance que l’on m’a accordée durant ce stage
et je continuerais l’aventure avec eux bien volontiers si possible.
74
Annexes
75
Annexe A : génération des fichiers logs et Stats & creation du
fichier « emailDetails.properties »
Voici les étapes de la configuration :
1. Aller à : Fichier > Éditer les propriétés du Projet pour activer l’option de journalisation des
projets
2. Sélectionner Paramètres du Job > Stats Logs
3. Sélectionner les options qui permettent la manipulation des statistiques et des logs
4. Sélectionner l’option d’enregistrement des logs dans des fichiers externes et saisir leurs
noms et extensions.
La figure ci-dessous présente les différentes options sélectionnées.
Figure 61 : Options de journalisation Talend
Nous avons choisi d’envoyer les fichiers de journalisation stats_file.xls et logs_file.xls
par mail, pour un meilleur suivi des Jobs.
De ce fait, on a créé un fichier « emailDetails.properties » qui contient les détails du mail qui
sera envoyé après l’exécution du job « envoi mail ».
76
La figure ci-dessous représente le fichier « emailDetails.properties » :
Figure 62 : Fichier emailDetails.properties
Annexe B : Les étapes de migration des données
Il faut connecter tout d’abord l’application de Qlik sense avec la base de données
«lCW_DW» qui se trouve sous Microsoft SQL Server.
Figure 63 : Connexion aux sources de données
77
L’étape suivante consiste à saisir les informations de connexion avec la base.
Figure 64 : Création de la connexion
Les données s’affichent lors de la connexion avec la base de données.
Figure 65 : Affichage des données après la connexion
78
L’étape suivante consiste à relier les tables de fait et de dimensions selon le la
conception du model physique qui est un modèle en étoile comme mentionné dans les parties
précédentes.
Figure 66 : Interface des associations dans Qlik Sense
79
Figure 67 : Résultat d’association des tables
Annexe C : Automatisation
Dans cette phase nous allons passer par des étapes pour automatiser et programmer un
Job qui contient tout le processus du travail du projet et englobe tous les Jobs.
Pour ce faire nous devons suivre ces étapes :
1. Clic droit sur le job « Processus automatisation » et sélectionnez « Construire le Job »
2. Générer le fichier .bat Windows
80
Figure 68 : Construire un job
3. Le fichier .bat sera créé dans la destination désirable
4. Création de la tâche planifiée sous Windows
81
Figure 69 : Planification d’une tache Windows
82
Webographie
[1] : https://timsoft.com.tn/presentation/
[2] : https://www.aerow.group/a16u1509/
[3] : https://blog.developpez.com/sqlpro/p13001/ms-sql-server/oracle-vs-sql-server-les-
options-payantes-qui-font-la-difference
[4] : https://www.denodo.com/fr/page/le-magic-quadrant-2018-du-gartner-pour-les-outils-
dintegration-des-donnees
[5] : https://www.calyps.ch/qlik/gartner-magic-quadrant-2019/
[6] : https://www.piloter.org/business-intelligence/datawarehouse.html
83

Contenu connexe

Tendances

Tendances (20)

Présentation cloud computing
Présentation cloud computingPrésentation cloud computing
Présentation cloud computing
 
Rapport de projet de fin d"études
Rapport de projet de fin d"étudesRapport de projet de fin d"études
Rapport de projet de fin d"études
 
Chp1 - Introduction aux ERP
Chp1 - Introduction aux ERPChp1 - Introduction aux ERP
Chp1 - Introduction aux ERP
 
Concéption et réalisation d'un processus décisionnel, tableau de bord social.
Concéption et réalisation d'un processus décisionnel, tableau de bord social.Concéption et réalisation d'un processus décisionnel, tableau de bord social.
Concéption et réalisation d'un processus décisionnel, tableau de bord social.
 
Bi vf-3
Bi vf-3Bi vf-3
Bi vf-3
 
Rapport pfe isi_Big data Analytique
Rapport pfe isi_Big data AnalytiqueRapport pfe isi_Big data Analytique
Rapport pfe isi_Big data Analytique
 
Rapport pfe
Rapport pfeRapport pfe
Rapport pfe
 
Pfe
PfePfe
Pfe
 
Présentation SOA
Présentation SOAPrésentation SOA
Présentation SOA
 
Mise à niveau d’un système de gestion de clientèle (CRM)
Mise à niveau d’un système de gestion de clientèle (CRM)Mise à niveau d’un système de gestion de clientèle (CRM)
Mise à niveau d’un système de gestion de clientèle (CRM)
 
diagramme des cas d'utilisation
diagramme des cas d'utilisationdiagramme des cas d'utilisation
diagramme des cas d'utilisation
 
ETUDE ET MISE EN PLACE D'UNE SOLUTION DE CLOUD COMPUTING PRIVÉ BASÉE SUR UN ...
ETUDE ET MISE EN PLACE D'UNE SOLUTION DE CLOUD COMPUTING  PRIVÉ BASÉE SUR UN ...ETUDE ET MISE EN PLACE D'UNE SOLUTION DE CLOUD COMPUTING  PRIVÉ BASÉE SUR UN ...
ETUDE ET MISE EN PLACE D'UNE SOLUTION DE CLOUD COMPUTING PRIVÉ BASÉE SUR UN ...
 
Mise en place du Chattoon en PHP
Mise en place du Chattoon en PHPMise en place du Chattoon en PHP
Mise en place du Chattoon en PHP
 
Methodes de gestion de projets - introduction au processus unifié
Methodes de gestion de projets - introduction au processus unifiéMethodes de gestion de projets - introduction au processus unifié
Methodes de gestion de projets - introduction au processus unifié
 
Projet Fin D'étude Application Mobile
Projet Fin D'étude Application MobileProjet Fin D'étude Application Mobile
Projet Fin D'étude Application Mobile
 
Etat de l’art approche et outils BI
Etat de l’art approche et outils BIEtat de l’art approche et outils BI
Etat de l’art approche et outils BI
 
Présentation bi 1.0
Présentation bi 1.0Présentation bi 1.0
Présentation bi 1.0
 
Rapport Projet de Fin d'Etudes
Rapport Projet de Fin d'EtudesRapport Projet de Fin d'Etudes
Rapport Projet de Fin d'Etudes
 
conception et realisation PFE
conception et realisation PFEconception et realisation PFE
conception et realisation PFE
 
Mise en place d'un Data Warehouse
Mise en place d'un Data WarehouseMise en place d'un Data Warehouse
Mise en place d'un Data Warehouse
 

Similaire à Kallel rapport final.pdf

rapport final Conception d’un système d’aide à la décision aux compagne ma...
rapport final Conception d’un système d’aide à la décision aux compagne ma...rapport final Conception d’un système d’aide à la décision aux compagne ma...
rapport final Conception d’un système d’aide à la décision aux compagne ma...
HICHAMLATRECHE1
 
467720159-rapport-final-bouguerra-khadijaesseghaier-lina-pdf.pdf
467720159-rapport-final-bouguerra-khadijaesseghaier-lina-pdf.pdf467720159-rapport-final-bouguerra-khadijaesseghaier-lina-pdf.pdf
467720159-rapport-final-bouguerra-khadijaesseghaier-lina-pdf.pdf
Bader Nassiri
 
Medical openerp
Medical openerpMedical openerp
Medical openerp
HORIYASOFT
 
Gestion stress au travail
Gestion stress au travailGestion stress au travail
Gestion stress au travail
Adiil Jadba
 
Conception et Réalisation d'un Data Warehouse
Conception et Réalisation d'un Data WarehouseConception et Réalisation d'un Data Warehouse
Conception et Réalisation d'un Data Warehouse
Abderrahmane Filali
 
Opportunités et impacts des Widgets "Quelle en est la valeur ajoutée pour la...
Opportunités et impacts des Widgets "Quelle en est la  valeur ajoutée pour la...Opportunités et impacts des Widgets "Quelle en est la  valeur ajoutée pour la...
Opportunités et impacts des Widgets "Quelle en est la valeur ajoutée pour la...
lenny assayag
 

Similaire à Kallel rapport final.pdf (20)

Rapport PFE réalisation d’un Framework Kinect
Rapport PFE réalisation d’un Framework KinectRapport PFE réalisation d’un Framework Kinect
Rapport PFE réalisation d’un Framework Kinect
 
rapport final Conception d’un système d’aide à la décision aux compagne ma...
rapport final Conception d’un système d’aide à la décision aux compagne ma...rapport final Conception d’un système d’aide à la décision aux compagne ma...
rapport final Conception d’un système d’aide à la décision aux compagne ma...
 
Deploiement solution_ha_de_stockage_ceph_sous_une_plateforme_virtualisee_vsph...
Deploiement solution_ha_de_stockage_ceph_sous_une_plateforme_virtualisee_vsph...Deploiement solution_ha_de_stockage_ceph_sous_une_plateforme_virtualisee_vsph...
Deploiement solution_ha_de_stockage_ceph_sous_une_plateforme_virtualisee_vsph...
 
Marketing Information System Memoir Jsr Manga
Marketing Information System Memoir Jsr MangaMarketing Information System Memoir Jsr Manga
Marketing Information System Memoir Jsr Manga
 
467720159-rapport-final-bouguerra-khadijaesseghaier-lina-pdf.pdf
467720159-rapport-final-bouguerra-khadijaesseghaier-lina-pdf.pdf467720159-rapport-final-bouguerra-khadijaesseghaier-lina-pdf.pdf
467720159-rapport-final-bouguerra-khadijaesseghaier-lina-pdf.pdf
 
Medical openerp
Medical openerpMedical openerp
Medical openerp
 
Mise en place d'une stratégie de marketing digital
Mise en place d'une stratégie de marketing digital Mise en place d'une stratégie de marketing digital
Mise en place d'une stratégie de marketing digital
 
GTI : Général Transport International
  GTI : Général Transport International  GTI : Général Transport International
GTI : Général Transport International
 
Gestion stress au travail
Gestion stress au travailGestion stress au travail
Gestion stress au travail
 
mémoire marketing université Ivoiro-quebec.pdf
mémoire marketing université Ivoiro-quebec.pdfmémoire marketing université Ivoiro-quebec.pdf
mémoire marketing université Ivoiro-quebec.pdf
 
Rapport de stage Comptabilité + Sujet: Les compétences et les actions nécessa...
Rapport de stage Comptabilité + Sujet: Les compétences et les actions nécessa...Rapport de stage Comptabilité + Sujet: Les compétences et les actions nécessa...
Rapport de stage Comptabilité + Sujet: Les compétences et les actions nécessa...
 
Rapport de projet de fin d'études - SIEMENS 2016
Rapport de projet de fin d'études - SIEMENS 2016Rapport de projet de fin d'études - SIEMENS 2016
Rapport de projet de fin d'études - SIEMENS 2016
 
RAPPORT DE PROJET DE FIN D’ETUDES
RAPPORT DE PROJET DE FIN D’ETUDESRAPPORT DE PROJET DE FIN D’ETUDES
RAPPORT DE PROJET DE FIN D’ETUDES
 
Projet de fin étude ( LFIG : Conception et Développement d'une application W...
Projet de fin étude  ( LFIG : Conception et Développement d'une application W...Projet de fin étude  ( LFIG : Conception et Développement d'une application W...
Projet de fin étude ( LFIG : Conception et Développement d'une application W...
 
Conception et Réalisation d'un Data Warehouse
Conception et Réalisation d'un Data WarehouseConception et Réalisation d'un Data Warehouse
Conception et Réalisation d'un Data Warehouse
 
OpportunitéS Et Impacts Des Widgets Mbaebusiness D Attias L Assayag
OpportunitéS Et Impacts Des Widgets Mbaebusiness D Attias L AssayagOpportunitéS Et Impacts Des Widgets Mbaebusiness D Attias L Assayag
OpportunitéS Et Impacts Des Widgets Mbaebusiness D Attias L Assayag
 
Opportunités et impacts des Widgets "Quelle en est la valeur ajoutée pour la...
Opportunités et impacts des Widgets "Quelle en est la  valeur ajoutée pour la...Opportunités et impacts des Widgets "Quelle en est la  valeur ajoutée pour la...
Opportunités et impacts des Widgets "Quelle en est la valeur ajoutée pour la...
 
[Memoire 2016] Comment les entreprises peuvent-elles améliorer leur e-réputat...
[Memoire 2016] Comment les entreprises peuvent-elles améliorer leur e-réputat...[Memoire 2016] Comment les entreprises peuvent-elles améliorer leur e-réputat...
[Memoire 2016] Comment les entreprises peuvent-elles améliorer leur e-réputat...
 
Conception d'un module de gestion de la paie adapté au contexte marocain pour...
Conception d'un module de gestion de la paie adapté au contexte marocain pour...Conception d'un module de gestion de la paie adapté au contexte marocain pour...
Conception d'un module de gestion de la paie adapté au contexte marocain pour...
 
Rapport de stage de fin d'etudes Application web de E-commerce
Rapport de stage de fin d'etudes Application web de E-commerceRapport de stage de fin d'etudes Application web de E-commerce
Rapport de stage de fin d'etudes Application web de E-commerce
 

Kallel rapport final.pdf

  • 1. I J’autorise l’étudiant à faire le dépôt de son rapport de stage en vue d’une soutenance. Encadrant professionnel, Mlle MEJRI Khaoula. Signature et cachet J’autorise l’étudiant à faire le dépôt de son rapport de stage en vue d’une soutenance. Encadrant académique, Mr LABBANE Walid. Signature
  • 2. II Dédicaces Mes chers parents Tarek & Samira Mes deux sœurs adorables Salma & Hend Ma chère femme magnifique Sabrine, ma vie, mon amour éternel Mes Frères Walid & Sami Mes deux anges Yasmine & Céline Ma deuxième Famille : Chokri, Faten, Amen, Mima... En témoignage de ma reconnaissance pour leurs sacrifices durant mes années d’étude. Qu'ils récoltent maintenant le fruit de leur patience et de leur amour. Je leur dédie ce travail en reconnaissance de tous les sacrifices qu'ils ont consentis pour maréussite. Que ce travail soit l'expression de ma grande affection et un témoignage de mon profond attachement. A l’âme de ma grand-mère Douja qui me manque énormément A ma grand-mère Jamila que j’aime trop A toute ma famille A l’âme de mon ami Youssef A tous mes amis J’espère par ce modeste travail avoir répondu à laconfiance qu'ils m'ont accordée.
  • 3. III Remerciements Je tiens tout d’abord à remercier M.Walid Labbane mon encadrant à Esprit pour son engagement à mon égard, son écoute, sa disponibilité, ses orientations et ses remarques constructives pour mener ce travail dans les meilleures conditions. Je tiens à remercier tout particulièrement et à témoigner toute ma reconnaissance à Mon encadrant à la société Mme. Khaoula Mejri pour l'aide qu'elle m’a apporté, pour sa patience et son encouragement à finir ce travail. Son œil critique m’a été très précieux pour structurer ce travail et pour améliorer la qualité des différentes sections. Je remercie également tous les membres de la société « TIMSOFT » pour leur accueil et leurs idées constructives durant ces mois au sein de leur établissement. Je remercie vivement tous les membres de jury pour l'honneur qu'ils me font en jugeant et examinant mon travail et tout mon effort. Enfin, je me trouve très reconnaissant à toutes les enseignantes et tous les enseignants du département informatique d’ESPRIT, pour leurs efforts et leur accompagnement au cours de mes études. Aussi mes remerciements à tous ceux qui ont contribué de près ou de loin à l'élaboration de ce travail, qu’ils veuillent bien trouver ici l'expression de nos salutations les plus distinguées.
  • 4. IV Résumé Ce projet a été réalisé au sein de TIMSOT pour le client LC WAIKIKI dans le domaine de la vente au détail. Ce projet consiste à mettre en place un système de configuration de Data Warehouse et de reporting. Ce dernier nous a permis dans un premier temps de générer des fichiers intégrables par l’ERP Cegid Business Retail de CEGID. Il nous a aussi permis de générer des tableaux de bord selon les besoins de notre client. Mot clés : Talend,QlikSense,Reporting,Datawarehouse,SQLserver Abstract This project was realized within TIMSOT for the customer LC WAIKIKI in the retail sale field. This project involves setting up a Data Warehouse configuration and a reporting system. This last allowed us initially to generate files integrable by the CEGID’sCegid Business Retail ERP. It also allowed us to generate dashboards according to the needs of our client. Mot clés : Talend,QlikSense,Reporting,Datawarehouse,SQLserver
  • 5. V Liste des abréviations ETL : Extract Transform Load DW : DataWarehouse (entrepôt de données) ERP : Enterprise Resource Planning BD : Base de Données BI : Business Intelligence ODS : Operating Data Store SGBD : Système de Gestion de Base de Données CRM : Customer Relationship Management CBR : Cegid Business Retail
  • 6. VI Table des matières Dédicaces..................................................................................................................................II Remerciements ...................................................................................................................... III Liste des figures ....................................................................................................................... X Liste des tableaux ................................................................................................................XIII Introduction Générale.............................................................................................................. 1 Chapitre I : Cadre général du projet ..................................................................................... 3 1. Organisme d’accueil........................................................................................................... 4 1.1. Présentation de TIMSOFT .......................................................................................... 4 1.2. L’organigramme de TIMSOFT ................................................................................... 6 2. Contexte du projet .............................................................................................................. 7 2.1. Enjeux du projet .......................................................................................................... 7 2.2. Problématique.............................................................................................................. 7 2.3. Étude de l’existant.......................................................................................................7 2.4. Solution Proposée........................................................................................................ 8 3. Méthodologie de travail......................................................................................................9 3.1. Etude comparative des méthodologies ........................................................................ 9 3.1.1. L’approche de Kimball......................................................................................... 9 3.1.2. L’approche d’Inmon........................................................................................... 10 3.2. La méthodologie adaptée........................................................................................... 11 Chapitre II : Analyse et spécification des besoins ............................................................... 14 1. Planification du projet ...................................................................................................... 15 2. Identification des Besoins.................................................................................................16 2.1. Besoins fonctionnels..................................................................................................16 2.2. Besoins non fonctionnels........................................................................................... 16 3. Environnement technique du travail................................................................................. 17
  • 7. VII 3.1. Stockage des données................................................................................................ 17 3.2. Intégration des données ............................................................................................. 18 3.3. Analyse de données et Reporting .............................................................................. 19 3.4. Scrapping des données .............................................................................................. 21 Chapitre III : Identification et description des données.................................................... 23 1. Identification des sources de données (Input) ..................................................................24 1.1. Fichier TO ................................................................................................................. 24 1.2. Fichier RO ................................................................................................................. 26 1.3. Fichier INV................................................................................................................ 27 1.4. Fichier TO_*_Product INV_*_Product ....................................................................29 2. Extraction des données.....................................................................................................30 3. Format des fichiers intégrables par l’ERP CBR (Output)................................................ 32 3.2. Fichier TO ................................................................................................................. 32 3.2. Fichier RO ................................................................................................................. 33 3.3. Fichier INV................................................................................................................ 34 3.4. Fichier TO PRODUCT & INV PRODUCT.............................................................. 35 Chapitre IV : Génération des outputs et développement de l’ETL...................................41 1. Business Model ................................................................................................................ 42 2. Préparation des données ...................................................................................................43 3. Génération des Outputs ....................................................................................................44 3.1. Fichier TO & RO....................................................................................................... 44 3.2. Fichier INV................................................................................................................ 45 3.3. Fichier «TO_PRODUCT » et « INV_PRODUCT »................................................. 46 3.4. Rassemblement des Jobs ........................................................................................... 47 4. Intégration des données....................................................................................................47 4.1. Extraction des données.............................................................................................. 47 4.1.1. TO_ETL ............................................................................................................. 47 4.1.2. RO_ETL ............................................................................................................. 48
  • 8. VIII 4.1.3. PRODUCT_ETL................................................................................................ 49 4.1.4. Geographie_ETL................................................................................................ 50 Chapitre V : Création du Datawarehouse et Migration des données................................ 52 1. Conception du modèle physique ...................................................................................... 53 1.1. Magasin de données « Facture » ............................................................................... 53 2. Préparation des dimensions .............................................................................................. 54 2.1. Dimension Catégorie.................................................................................................54 2.2. Dimension Groupe.....................................................................................................55 2.3. Dimension produit.....................................................................................................56 2.4. Dimension StoreCible ............................................................................................... 57 2.5. Dimension Transfert..................................................................................................58 2.6. Dimension Temps...................................................................................................... 59 3. La Table de Fait « Facture »............................................................................................. 59 4. Journalisation Talend........................................................................................................ 60 5. Migration de données vers Qlik Sense ............................................................................. 62 Chapitre VI : Restitution des données................................................................................. 63 1. Spécification de l’application utilisateur.......................................................................... 64 2. Les Feuilles d’application.................................................................................................64 2.1. Suivi des Transferts ...................................................................................................64 2.2. Suivi des Boutiques...................................................................................................65 2.3. Feuilles d’application Suivi de la fréquence des transferts ....................................... 65 2.4. Feuilles d’application Suivi des Produits ..................................................................66 2.5. Feuilles application Gestion des Produits par tranche d’âge.....................................67 3. Développement de l’application utilisateur...................................................................... 67 3.1. Feuille d’accueil ........................................................................................................ 67 3.2. Suivi des Transferts ...................................................................................................68 3.3. Suivi des Boutiques...................................................................................................69 3.4. Suivi de la fréquence des transferts........................................................................... 70
  • 9. IX 3.5. Suivi des Produits transférés ..................................................................................... 71 3.6. Suivi des Produits transférés par tranche d’âge......................................................... 71 Conclusion Générale .............................................................................................................. 73 Annexes ...................................................................................................................................74 Annexe A : génération des fichiers logs et Stats & creation du fichier « emailDetails.properties »...................................................................................................... 75 Annexe B : Les étapes de migration des données ................................................................ 76 Annexe C : Automatisation ..................................................................................................79 Webographie........................................................................................................................... 82
  • 10. X Liste des figures Figure 1 : Les Clients de TIMSOFT .......................................................................................... 6 Figure 2 : Organigramme de TIMSOFT .................................................................................... 6 Figure 3 : Représentation schématique de l’approche de Kimball........................................... 10 Figure 4 : Représentation schématique de l’approche d’Inmon............................................... 11 Figure 5 : Cycle de vie d’un projet décisionnel de Kimball..................................................... 13 Figure 6 : Diagramme de Gantt................................................................................................ 15 Figure 7 : Logo de SQL Server ................................................................................................ 18 Figure 8 : Le Quadrant magique de Gartner pour l’intégration des données 2018[4] ............. 18 Figure 9 : Logo de Talend........................................................................................................ 19 Figure 10 : comparatif des principaux logiciels d’aide à la décision [5] .................................19 Figure 11 : Logo de Qlik Sense................................................................................................ 21 Figure 12 : Logo d’Octoparse ..................................................................................................22 Figure 13 : Exemple d’un fichier TO.XML ............................................................................. 25 Figure 14 : Exemple d’un fichier RO.XML............................................................................. 26 Figure 15 : Exemple d’un fichier INV.XML ........................................................................... 27 Figure 16 : Exemple d’un fichier TO_*_PRODUCT.XML .................................................... 29 Figure 17 : Exemple d’un fichier INV_*_PRODUCT.XML................................................... 29 Figure 18 : Configuration des paramètres de l’outil Octoparse ............................................... 31 Figure 19 : Résultat d’extraction des données ......................................................................... 31 Figure 20 : Fichier XML .......................................................................................................... 32 Figure 21 : Business Model du projet décisionnel ...................................................................42 Figure 22 : Base de données ODS............................................................................................ 43 Figure 23 : Base de données ODS ‘Talend’............................................................................. 43 Figure 24 : Le Job d’output du Fichier TO .............................................................................. 44 Figure 25 : Composant « tMap » (RO) .................................................................................... 45 Figure 26 : Figure représentative du JOB (INV)...................................................................... 45 Figure 27 : Figure représentative du Job «TO_PRODUCT » et « INV_PRODUCT .............. 46 Figure 28 : Exemple du résultat d’un fichier output généré..................................................... 46 Figure 29 : Rassemblement des Jobs........................................................................................ 47
  • 11. XI Figure 30 : Configuration « tMap » du fichier TO...................................................................48 Figure 30 : Configuration « tMap » du fichier RO ..................................................................49 Figure 31 : Configuration « tMap » du fichier PRODUCT ..................................................... 50 Figure 32 : Configuration « tMap » des données du scrapping ............................................... 50 Figure 33 : Constructeur d’expression ‘Géographie’............................................................... 51 Figure 34 : Schéma de l’entrepôt de données .......................................................................... 54 Figure 35 : Job d’alimentation de la dimension « Dim _Catégorie » ...................................... 55 Figure 36 : Composant tMap du Job Dim_Categorie............................................................... 55 Figure 37 : Partie du job d’alimentation de la dimension «Dim_Groupe» .............................. 55 Figure 38 : Composant tMap du Job Dim_Groupe..................................................................56 Figure 39 : Partie du job d’alimentation de la dimension Dim_Produit ..................................56 Figure 40 : Composant tMap du Job Dim_Produit ..................................................................57 Figure 41 : Partie du job d’alimentation de la dimension Dim_StoreCible............................. 57 Figure 42 : Composant tMap du Job Dim_StoreCible............................................................. 58 Figure 43 : Partie du job d’alimentation de la dimension Transfert......................................... 58 Figure 44 : Composant tMap du Job Dim_Transfert ............................................................... 59 Figure 45 : Alimentation de la Table fait «Fact_Facture» ....................................................... 59 Figure 46 : Composant tMap du Job «Fact_Facture» .............................................................. 60 Figure 47 : Job envoie mail...................................................................................................... 61 Figure 48 : configuration du composant « tSenMail».............................................................. 61 Figure 49 : Configuration des relations entre les tables........................................................... 62 Figure 50 : Suivi des Transferts ............................................................................................... 64 Figure 51 : Suivi des boutiques................................................................................................ 65 Figure 52 : Suivi des boutiques................................................................................................ 66 Figure 53 : Suivi des Produits ..................................................................................................66 Figure 54 : Suivi des Produits par tranche d’âge .....................................................................67 Figure 55 : Feuille d’accueil.....................................................................................................68 Figure 56 : Suivi des Transferts ............................................................................................... 69 Figure 57 : Suivi des Boutiques ............................................................................................... 70 Figure 58 : Suivi de la fréquence des transferts ....................................................................... 70 Figure 59 : Suivi des Produits ..................................................................................................71 Figure 60 : Suivi des Produits transférés par tranche d’âge..................................................... 72 Figure 61 : Options de journalisation Talend........................................................................... 75 Figure 62 : Fichier emailDetails.properties.............................................................................. 76
  • 12. XII Figure 63 : Connexion aux sources de données ....................................................................... 76 Figure 64 : Création de la connexion ....................................................................................... 77 Figure 65 : Affichage des données après la connexion............................................................ 77 Figure 66 : Interface des associations dans Qlik Sense............................................................ 78 Figure 67 : Résultat d’association des tables ........................................................................... 79 Figure 68 : Construire un job ...................................................................................................80 Figure 69 : Planification d’une tache Windows....................................................................... 81
  • 13. XIII Liste des tableaux Tableau 1 : Tableau comparatif de l'approche Inmon et Kimball............................................ 12 Tableau 2 : Tableau des avantages et inconvénients des deux approches................................ 12 Tableau 3 : Tableau comparatif des outils de stockages de données ....................................... 17 Tableau 4 : La structure du fichier TO.XML........................................................................... 25 Tableau 5 : La structure du fichier RO.XML........................................................................... 27 Tableau 6 : La structure du fichier INV.XML ......................................................................... 28 Tableau 7 : La structure du fichier INV_*_PRODUCT.XML................................................. 30 Tableau 8 : Description du fichier TO...................................................................................... 33 Tableau 9 : Description du fichier RO ..................................................................................... 34 Tableau 10 : Description du fichier INV.................................................................................. 35 Tableau 11 : Description de la forme FN1C1 .......................................................................... 35 Tableau 12 : Description de la forme FN1C2 .......................................................................... 36 Tableau 13 : Description de la forme LA1C1.......................................................................... 37 Tableau 14 : Description de la forme LA2C1.......................................................................... 37 Tableau 15 : Description de la forme DI1C1 ........................................................................... 37 Tableau 16 : Description de la forme DI2C1 ........................................................................... 38 Tableau 17 : Description de la forme DI3C1 ........................................................................... 38 Tableau 18 : Description de la forme ARDC1......................................................................... 39 Tableau 19 : Description de la forme REFC1.......................................................................... 40 Tableau 20 : Description de la forme SPEC1........................................................................... 40
  • 14. 1 Introduction Générale De nos jours, l’informatique décisionnelle (qui désigne l’ensemble des technologies permettant aux entreprises d’analyser les données au profit de leurs prises de décisions) est considérée comme une importante approche pour l’évolution d’une entreprise. Pour aider les décideurs à prendre les décisions, l’analyse de données peut être très utile. Il est nécessaire de faire usage à une large variété d’outils et de technologies pour faire la collection et l’analyse des données. C’est la Business Intelligence. Les grandes quantités de données accumulées des systèmes d’informations des entreprises ne deviennent des informations pertinentes que si elles répondent à des questions bien précises sur l’entreprise. Pour faire la décision, les décideurs ont besoin d’indicateurs de performance (KPI) afin d’être aidés dans leurs choix. L’informatique décisionnelle a pour démarche de connaître, mesurer, prévoir et agir dans le seul objectif de préciser la stratégie de l’entreprise. Dans ce contexte, la Société de Service Informatique ‘TIMSOFT’, un acteur dynamique dans le secteur de l’informatique décisionnelle, a pris les devants et propose une solution BI pour son client LCWAIKIKI. C’est dans ce cadre que s'inclut ce projet de fin d’étude, qui consiste à mettre en place et configurer un entrepôt de données & un système de Reporting. Ce présent rapport s’organise sur cinq chapitres principaux. Le premier chapitre « Cadre Général du Projet » contient une présentation de l’organisme d’accueil, une vision sur le sujet ainsi qu’une étude de la partie existante et la solution proposée. Il englobe aussi une partie consacrée à la méthodologie de travail. Le deuxième chapitre « Analyse et spécification des besoins » présente l’environnement et les outils de travail suivi par l’identification des besoins fonctionnels et non fonctionnels.
  • 15. 2 Le troisième chapitre « Identification & description des données » consiste à la présentation des fichiers d’entrée donnés et les formats des fichiers de sortie intégrable par l’ERP CEGID. Le quatrième chapitre « Conception, développement de l’ETL & génération des Outputs » il comporte les différentes phases afin de pouvoir développer l’ETL et générer les fichiers de sortie intégrable par la base CBR. Le dernier chapitre « Entrepôt de données & Reporting » présente le travail effectué pour la réalisation de la solution. Il comporte également les tables de dimensions et de faits crées & les principales Dashboard et résultats obtenus durant le projet.
  • 16. 3 Chapitre I : Cadre général du projet
  • 17. Chapitre I : Cadre générale du projet 4 Introduction Le premier chapitre du rapport est consacré à la présentation de l’organisme d’accueil, et les domaines d’activités. Ensuite nous passons à décrire la problématique qui nous a mené à réaliser le projet, l’étude de l‘existant, la solution proposée, et enfin le choix de la méthodologie de travail. 1. Organisme d’accueil 1.1. Présentation de TIMSOFT Fondée en 2003, TIMSOFT est un chef de file tunisien qui assure la distribution exclusive des produits CEGID (Société spécialisée dans l'édition de logiciels de gestion et de systèmes d'information pour les entreprises et les entrepreneurs) en Tunisie. C’est une société assez dominante dans le domaine de l’intégration et le déploiement des solutions de gestion, dans tous les secteurs, pour garantir à ces clients des coûts et des délais maîtrisés dans la réalisation et l’installation des projets informatiques, ce qui garantit à ces derniers une évolution accélérée et un processus optimisé. De ce fait, elle les accompagne dans leur croissance. La société TIMSOFT ne cesse d'augmenter, elle a élargi ses opérations au-delà des frontières tunisiennes avec l’ouverture de bureaux en France et au Maroc, permettant de présenter ses services de conseil dans plus de 20 pays africains, européens et du Moyen-Orient. En complément des progiciels, TIMSOFT propose un service complet et de proximité : Conduite de projets complexes et intégrés, de l’avant-vente à la mise en œuvre opérationnelle. Conseil dans la mise en place des plates-formes systèmes et réseaux et orientation vers les nouvelles technologies répondant aux prérequis CEGID. Formation et transfert des compétences sur site pour permettre à l’utilisateur de tirer rapidement profit de ses progiciels.
  • 18. Chapitre I : Cadre générale du projet 5 Hotline dédiée et assistance spécialisée par métier pour répondre aux attentes des clients. L’équipe de TIMSOFT représente l’un de ses points forts, elle dispose 35 experts répartis sur 3 départements : Le Département Commercial et Marketing (DCM) : structuré de manière à renforcer la relation avec les clients et d’avoir un meilleur suivi des diverses transactions avec ces derniers. Le Département Technique : Recrutés pour leurs performances techniques et leur passion pour les nouvelles technologies, les membres du Département Technique (DT) s'engagent à offrir un service de qualité dès le premier contact et jusqu'au déploiement complet de la solution. Le Département Ressources Humaines : garantit l’évolution des diverses équipes et assure la culture d’entreprise ainsi que le respect des valeurs de la société, il applique une politique de formation continue notamment en matière de communication afin de répondre au mieux aux exigences de ses clients. A ce jour, TIMSOFT est leader du secteur Retail en Tunisie. Fort de cette réussite, la société est en train d'accélérer sa croissance sur les autres secteurs d'activité. TIMSOFT s’est constitué un écosystème riche, dont chaque acteur lui apporte une expertise métier à forte valeur ajoutée, pour être toujours à la pointe de la technologie et répondre aux besoins évolutifs de ses clients. Le principal atout de TIMSOFT est la satisfaction de ses clients d’où elle englobe toutes les notions nécessaires pour exercer une réelle et pragmatique activité professionnelle adaptée au secteur d’activité du client. Elle agit en spécialiste et apporte à l'entreprise les meilleurs outils pour une vision globale et en temps réel de son activité. De plus, les équipes TIMSOFT apportent maîtrise et coordination pour accompagner chaque entreprise au quotidien et à chaque étape de son activité. Dans la première figure, nous présentons quelques clients de TIMSOFT
  • 19. Chapitre I : Cadre générale du projet 6 Figure 1 : Les Clients de TIMSOFT 1.2. L’organigramme de TIMSOFT La figure 2 représente l’organigramme de TIMSOFT. [1] Figure 2 : Organigramme de TIMSOFT
  • 20. Chapitre I : Cadre générale du projet 7 2. Contexte du projet 2.1. Enjeux du projet De nombreux bénéfices pour l’entreprise peuvent être récoltés des programmes de business intelligence. Ces bénéfices donnent la possibilité d’accélérer et de perfectionner la prise de décision. Ils permettent aussi l’optimisation des processus internes, la génération de nouveaux revenus, l’augmentation de l’efficience d’exploitation et la prise d’avantage sur la concurrence. Les systèmes d’informatique décisionnelle aident également les entreprises à repérer les problèmes qui doivent être résolus et à identifier les tendances du marché. 2.2. Problématique « Réduire les dépenses » est l’un des conseils pour faire la bonne gestion d’argent pour l’entreprise, dans ce contexte TIMSOFT utilise BLUEWAY qui est un outil de manipulation et d’intégration de fichiers payant. Son coût mensuel peut atteindre plus que 10 Milles euro, ainsi TIMSOFT doit rechercher les moyens de rationalisation sans compromettre la qualité et l'impact. Dans le cadre de la mise en place de CEGID BUSSINESS RETAIL chez le client LCWAIKIKI qui est un client de TIMSOFT, et pour suivre la stratégie proposée auparavant, les fichiers en Input et les données venant des différentes sources externes (CRM, données de marchés, fichiers clients, inventaires etc…) paraissent incompatibles et non intégrables avec la base CEGID. Cependant, Pour avoir une vision globale de son activité LCWAIKIKI espère consolider et exploiter toutes ses données. 2.3. Étude de l’existant L’outil Blueway utilisé par TIMSOFT assure la transformation et l’intégration des données après leur téléchargement depuis le serveur FTP du fournisseur puis passant par ces étapes :  Traiter le fichier réceptionné.
  • 21. Chapitre I : Cadre générale du projet 8  Intégrer les fichiers traités dans la base CBR.  Sauvegarder les fichiers originaux sur le disque Local (Ces fichiers seront sauvegardés par type de fichier et par jour en ajoutant dans le nom de fichier la date et l’heure). Cependant aucun module BI n’est désormais consommé par notre client. 2.4. Solution Proposée Lors de l’exécution du job, les fichiers disponibles sur le serveur FTP vont être téléchargés, stockés, puis transformés. Nos inputs vont être sauvegardés dans une première base pour assurer la traçabilité, on parle ici de l’étape EL (Extract-Load). Ensuite on passe à la deuxième étape qui est la génération des outputs en format «. Txt » intégrable par l’ERP CBR de CEGID. Le scénario d’exécution comprend les étapes suivantes :  Téléchargement des fichiers disponibles.  Stockage des données dans une base.  Traitement immédiat des fichiers.  La génération des fichiers intégrables par CEGID (CBR). Dans une deuxième phase, nous aspirons à offrir une solution de Business Intelligence générique et configurable pour notre client LCWIKIKI. Notre mission durant le stage est présentée dans les tâches suivantes :  Comprendre le processus d'affaires au sein de TIMSOFT pour réussir à répondre aux besoins désirés.  Analyser les données existantes et les besoins.  Concevoir le module BI, ses différentes dimensions et faits.  Charger des données dans les structures existantes.  Générer des rapports.
  • 22. Chapitre I : Cadre générale du projet 9 3. Méthodologie de travail 3.1. Etude comparative des méthodologies En général, un projet BI est différent des autres projets informatiques en termes de matière de précision lors de la restitution des données d’une entreprise et de matière de performance lors de la création des Dashboard. Par conséquence nous somme dans l’obligation d’implémenter une méthodologie autre que celles du développement des systèmes transactionnels dont on peut citer quelques exemples :  Approche en V  Approche dite classique (en cascade)  Approche en spirale Cependant les experts s’accordent sur le fait que ces approches ne répondent pas parfaitement aux besoins d’implantation des systèmes décisionnels, ils ont alors défini d’autres approches dont on cite :  L’approche Bottom-Up de Ralph Kimball  L’approche Top-Down de Bill Inmon  L’approche Hybride. 3.1.1. L’approche de Kimball Ralph Kimball a préparé un procédé pour concevoir un entrepôt qui, en son temps, était novateur : le modèle dimensionnel. Sa méthodologie a été bien utilisée pour la réalisation des projets de l’entrepôt de données et de business intelligence dans les différents domaines. Kimball discerne les tâches de création d’entrepôts entre trois spécialisations du monde de l’intelligence d’affaires :  L’environnement technique  Les données  Les applications analytiques
  • 23. Chapitre I : Cadre générale du projet 10 Figure 3 : Représentation schématique de l’approche de Kimball  Le chemin technique qui est orienté vers le choix et la configuration des outils utilisés pour les entrepôts. Aussi c’est dans ce chemin que se définit l’architecture technique, et donc l’ensemble des éléments matériels et logiciels formant l’environnement d’un entrepôt.  Le chemin des données qui est emprunté par les programmeurs qui modélisent les magasins de données et acheminent les données des systèmes sources vers ces magasins.  Le chemin pour le développement d’applications analytiques, c’est prévu pour les développeurs de rapports, d’analyses et de tableaux de bord typiquement dans des logiciels prévus pour la consommation de données analytiques. Ces trois chemins sont intégrés au moment du déploiement c’est à dire en fin de projet. Et ce processus complet est répété pour chaque nouveau magasin de données demandé par les utilisateurs. 3.1.2. L’approche d’Inmon Inmon définit l’entrepôt de données comme un référentiel centralisé pour l'ensemble de l'entreprise. Cet entrepôt stocke les données au plus bas niveau de détail. Et des dépôts de données dimensionnels sont ensuite créés à partir de cet entrepôt.
  • 24. Chapitre I : Cadre générale du projet 11 Figure 4 : Représentation schématique de l’approche d’Inmon Il définit alors l'entrepôt de données dans les termes suivants : 1. Orienté sujet : les données de l'entrepôt de données sont organisées de manière à ce que tous les éléments de données relatifs au même événement ou objet du monde réel soient liés. 2. Variante temporelle : les modifications apportées aux données de la base de données sont suivies et enregistrées, des rapports peuvent ainsi être générés afin d’indiquer les modifications dans le temps. 3. Non volatile : les données de l'entrepôt de données ne sont jamais écrasées ni supprimées. Une fois validées, les données sont statiques, en lecture seule et conservées pour les futurs rapports. 4. Intégré : la base de données contient des données provenant de la plupart ou de la totalité des applications opérationnelles d'une organisation et rend ces données cohérentes. [2] 3.2. La méthodologie adaptée Kimball Inmon Les datamarts sont implémentés de façon incrémentale et intégrée en utilisant les dimensions conformes L'entrepôt de données utilise un modèle normalisé et les datamarts utilisent des données dimensionnelles orientés sujet Commence par la conception du modèle dimensionnel pour les datamarts Commence par la conception du modèle de l'entrepôt de données
  • 25. Chapitre I : Cadre générale du projet 12 Les datamarts peuvent fournir une vue entreprise ou processus L’entrepôt de données contient les données atomiques et les datamarts les données agrégées L’architecture est composée d’un staging area et de datamarts alors que l'entrepôt de données physique n’existe pas L’architecture est composée d’un staging area permanent, d’un entrepôt de données et de datamarts dépendants Les datamarts contiennent les données atomiques et agrégées L’entrepôt de données est orienté entreprise et les datamarts sont orientés processus Les utilisateurs peuvent effectuer des requêtes sur l'entrepôt de données et les datamarts Tableau 1 : Tableau comparatif de l'approche Inmon et Kimball Le tableau comparatif nous montre une opposition effective des deux modèles. Cependant aucun d’entre eux n’est à privilégier. Alors le choix de la meilleure approche dépendra de l’activité de l’entreprise ainsi que de ses objectifs à long et court terme sur le plan décisionnel. Avantages inconvénients des 2 approches Kimball Inmon Approche Buttom-Up : Commence par la conception du modèle dimensionnel pour les Datamarts Top-Down : Commence par la conception du modèle de l’entrepôt de données Durée de mise en œuvre Court Long Construction du modèle Rapide Couteux en temps Cout Cout initial modéré Cout initial élevé Intégration des données Par domaine métier Au niveau d’entreprise Tableau 2 : Tableau des avantages et inconvénients des deux approches
  • 26. Chapitre I : Cadre générale du projet 13 D’après les résultats, nous pouvons remarquer que l’approche Bottom-Up est plus rentable en termes de temps. Et par conséquent, l’approche de Ralph Kimball nous semble être la plus adéquate, vu que nous optons pour un mode de gestion basé sur la réactivité et la coopération, la méthodologie suivante peut nous fournir une solution adéquate aux besoins de notre client avec bonne organisation de travail. Figure 5 : Cycle de vie d’un projet décisionnel de Kimball Conclusion Ce chapitre introductif nous a permis d’essayer de détailler le cadre général du projet en présentant l’entreprise, la solution que nous allons développer et la méthodologie qu’on a adopté pour la réalisation du projet.
  • 27. 14 Chapitre II : Analyse et spécification des besoins
  • 28. Chapitre II : Analyse et spécification des besoins 15 Introduction L’analyse des besoins métiers est primordiale pour les projets informatiques, dans le but de réussir les opérations de conception et de développement. Pour comprendre le contexte du système, il est essentiel de passer par la phase de spécification des besoins fonctionnels et non fonctionnels et faire l’étude des outils techniques utilisés. En effet nous allons planifier le projet, présenter et définir les besoins métiers et les outils techniques. 1. Planification du projet Pour représenter visuellement l’état d’avancement du projet des différentes activités, le diagramme de Gantt qui est un outil efficace et souvent utilisé en gestion de projet peut nous être utile. La planification du projet est décrite par la Figure ci-dessous qui représente le digramme de GANTT. Figure 6 : Diagramme de Gantt
  • 29. Chapitre II : Analyse et spécification des besoins 16 2. Identification des Besoins 2.1. Besoins fonctionnels Le besoin fonctionnel représente les services offerts à l’utilisateur et met en évidence les fonctions techniques et les fonctions de services. Les besoins que notre solution doit satisfaire sont :  Traitement d’informations  Extraction des données depuis le serveur FTP du client  Garantir un bon traitement des fichiers  Conserver les nouvelles données dans une base intermédiaire  Exclure la redondance des données  Génération des fichiers de sortie intégrables par CEGID (CBR)  Conception et mise en place d’un Entrepôt de Données afin de gérer les informations pertinentes  Restitution des données et l’élaboration des tableaux de bord  Suivi des traitements effectués entre les dépôts et les boutiques 2.2. Besoins non fonctionnels Pour une meilleure qualité et plus de fiabilité, notre solution doit respecter des contraintes supplémentaires qui décrivent l’aspect technique, esthétique et ergonomique pour sa réalisation et son bon fonctionnement. Ces besoins sont appelés les besoins non fonctionnels que nous avons dégagé quelques-uns :  Convivialité : l’interface graphique de l’application doit être simple et conviviale puisqu’elle présente le premier contact entre la solution et l’utilisateur.  Rapidité : il est nécessaire que le temps de réponse ne soit pas lent, et la durée d’exécution et du traitement soit rapide.  Évolutivité : la solution reste ouverte avec la possibilité d’ajout d’autres modules afin de l’améliorer.
  • 30. Chapitre II : Analyse et spécification des besoins 17 3. Environnement technique du travail Nous citons ci-dessous les environnements logiciels sur lesquels se base la réalisation de notre projet :  Stockage de données : SQL Server  ETL : Talend Data Intégration  Reporting : Qlik Sense 3.1. Stockage des données [3] -Service Web ✓ ✓ ✓ -Support XML ✓ ✕ ✓ -Compression des données ✕ ✕ ✓ -Administration aisée ✓ ✓ ✓ -Open source ✕ ✓ ✓ -Grande base de données. Pour plus de 200Go et plus 300 utilisateurs, les écarts de performances sont visibles par rapport à d’autre SGBD ✓ ✕ ✕ -Supporte les 4 niveaux d’isolation transactionnelle de la norme SQL ✓ ✕ ✓ Tableau 3 : Tableau comparatif des outils de stockages de données
  • 31. Chapitre II : Analyse et spécification des besoins 18 SQL Server et MySQL deux des plus connues bases de données relationnelles du marché SGBDR : MySQL est un choix pour les environnements multiplateformes d’où la base fonctionne sur les systèmes d’exploitation Windows, Linux et UNIX. D’autre part, SQL Server est aussi un excellent choix pour les DSI ayant déjà opté pour du Windows. Vu ses différents avantages, on a opté pour SQL Server pour le stockage des données. Figure 7 : Logo de SQL Server 3.2. Intégration des données Talend est un ETL (Extract Transform and Load) qui a comme fonctionnalité :  Extraction des données d’une source  Modification de ces données  Recharge des données vers une destination La source et la destination des données peuvent être une base de données, un service web, Un fichier csv. Et bien d’autres… Figure 8 : Le Quadrant magique de Gartner pour l’intégration des données 2018[4]
  • 32. Chapitre II : Analyse et spécification des besoins 19 D’après la figure précédente, Talend a fait partie des 4 leaders et a été considéré comme un concurrent lourd pour Oracle, SAP, SAS. Talend est un outil puissant, varié et open source qui permet de créer des flux (représente l’action de transfert des données d’une source vers une autre) à l’aide des interfaces graphiques et qui offre plus de 6000 composants. Lors de la création des flux, un code Java auto-généré qui aide à la maintenance et au débogage des Jobs avec beaucoup de simplicité et de rapidité avec la possibilité de compilation. Cet outil d’intégration offre un large choix de connecteurs et de bases de données relationnelles comme : oracle, Microsoft SQL Server, Postgre SQL, MySQL, etc... Figure 9 : Logo de Talend 3.3. Analyse de données et Reporting On peut trouver de nombreux logiciels de ‘Data visualisation’ sur le marché, mais ce n’est pas aussi facile de choisir le meilleur. Ceci est un tableau fourni par (datanalyse.fr) qui compare les différents logiciels d’aide à la décision. Figure 10 : comparatif des principaux logiciels d’aide à la décision [5]
  • 33. Chapitre II : Analyse et spécification des besoins 20 D’après le tableau comparatif illustré dans la page précédente, on constate que Qlik Sense occupe une place importante dans le classement avec ses concurrents. Qlik Sense est une nouvelle génération d’applications de visualisation de données en libre- service qui permet la création facile des visualisations interactives et flexibles, qui aident à l’exploration et à la découverte. QlikView a lancé un nouvel outil appelé Qlik Sense, conçu pour fournir des fonctionnalités de visualisation de données en libre-service et de veille stratégique aux particuliers et aux entreprises. Qlik Sense repose sur le même moteur d'indexation de données associatives QIX que QlikView, mais Qlik Sense offre une interface utilisateur simplifiée, des visualisations par drag-and-drop et la possibilité de charger des données sans modifier manuellement les scripts. Qlik Sense Desktop (similaire à l'édition personnelle de QlikView) permet de partager des applications de visualisation et des tableaux de bord sans restriction de licence. Les utilisateurs peuvent désormais partager des fichiers entre eux ou les télécharger sur le cloud, où ils peuvent être consultés n’importe où sur les ordinateurs et les appareils mobiles. Qlik Sense vise à promouvoir la découverte et la visualisation rapides de données et à faciliter le partage des analyses sur divers périphériques. Qlik Sense est conçu dès le départ pour la BI autonome sur de nombreux périphériques. Avec Sense, les utilisateurs pourront se développer directement sur le serveur au lieu de devoir gérer un seul fichier entre plusieurs développeurs. Vous pouvez même développer des applications Qlik Sense complètes sur un iPad ou une tablette. La conception réactive de Sense signifie qu’une seule application se redimensionnera elle-même sur votre téléphone, votre tablette ou votre ordinateur portable sans avoir à développer des interfaces utilisateur spécifiques pour chaque facteur de forme. Chargement rapide des données Le chargement de données dans Qlik Sense peut être aussi simple que de faire glisser un fichier ou un jeu de données dans l'application sur laquelle vous travaillez. En fonction des informations de colonne et d'en-tête que vous sélectionnez, Qlik Sense générera automatiquement un script pour charger les données dans votre application.
  • 34. Chapitre II : Analyse et spécification des besoins 21 Exploration de données, découverte et visualisation Qlik Sense fournit une interface épurée pour créer des applications d'exploration, de découverte et de visualisation de données. Qlik Sense fournit un grand choix de graphiques, de tableaux et de visualisations. Collaboration et communication La narration de données est une nouvelle fonctionnalité de Qlik Sense qui permet aux utilisateurs de créer des présentations et de partager des informations. Les utilisateurs peuvent prendre des instantanés de données et de visualisations, ajouter du texte et des graphiques et créer des présentations qui renvoient à des applications interactives, le tout dans Qlik Sense. Lorsque les utilisateurs ont fini d'analyser les données et d'organiser leurs constatations, ils ont la possibilité de partager leurs fichiers directement avec d'autres utilisateurs ou de les télécharger sur Qlik Cloud. Les applications sur Qlik Cloud sont accessibles sur les ordinateurs, les tablettes et les smartphones via une URL publique. Nous avons opté pour l’outil Qlik Sense pour faire le Reporting et l’analyse de notre Solution Business Intelligence. Figure 11 : Logo de Qlik Sense 3.4. Scrapping des données Afin de compléter les données manquantes, on a fait recours à l’outil Octoparse qui est un extracteur de données Web puissant et facile à utiliser, auquel des centaines de milliers de personnes et d’entreprises ont fait confiance puisqu’il donne la possibilité de transformer n'importe quel site Web en tableau de données ou en API avec plusieurs points et clics sur des éléments de données.
  • 35. Chapitre II : Analyse et spécification des besoins 22 Il s’agit du canal Octoparse qu’on doit maîtriser pour créer nos propres ensembles de données. Figure 12 : Logo d’Octoparse Conclusion Dans ce chapitre, nous avons analysé et spécifié les besoins fonctionnels ainsi que les besoins non fonctionnels. Ensuite nous avons identifié l’environnement du travail et les technologies adoptées pour garantir la réalisation du projet.
  • 36. Chapitre III : Identification et description des données
  • 37. Chapitre III : Identification et description des données 24 Introduction La phase de compréhension et d’identification des données permet d’identifier les données à analyser et de faire le lien entre les données et leurs significations d’un point de vue métier. D’autre part, la compréhension des fichiers d’entrées nous facilitera sans doute la réalisation de notre solution afin de mieux traiter les données. Dans ce chapitre, nous allons identifier et décrire les types de sources des données et leurs formats et nous présenterons ainsi les spécifications dont l’ERP CBR demande pour la reprise de ces dernières. 1. Identification des sources de données (Input) Nous avons identifié 5 types de sources de données qui seront utilisées dans une phase ultérieure à la phase ETL après les avoir télécharger depuis le serveur FTP du client. Les types de fichiers sont :  Fichier « TO_*.XML »  Fichier « RO_*.XML »  Fichier « INV_*.XML »  Fichier « TO_*_Product.XML »  Fichier « INV_*_Prodcut.XML » 1.1. Fichier TO Le fichier source « TO » est nommé : TO_*.XML Le fichier ‘TO’ est un fichier XML, qui mentionne les transferts émis d’un stock à une boutique. Voici un exemple d’un fichier TO.XML illustré par la figure 13 dans la page suivante :
  • 38. Chapitre III : Identification et description des données 25 Figure 13 : Exemple d’un fichier TO.XML Voici un tableau pour mieux comprendre la structure du fichier : Champs Description ExpeditionID Identifiant de l’expédition FromStore Code du stock ToStore Code de la boutique ExpeditionDate Date d’expédition ItemID Identifiant du produit Barcode Code à barre du produit price Prix Quantity Quantité Amount Somme Tableau 4 : La structure du fichier TO.XML
  • 39. Chapitre III : Identification et description des données 26 1.2. Fichier RO Le fichier source « RO » est nommé : RO_*.XML Le fichier ‘RO’ est un fichier XML, qui mentionne les transferts reçus d’un stock à une boutique. Voici un exemple d’un fichier RO.XML : Figure 14 : Exemple d’un fichier RO.XML La structure du fichier ci-dessus est bien clarifiée dans le tableau suivant : Champs Description InvoiceID Identifiant de la facture d’achat ReceptionID Identifiant de réception ExpeditionID Identifiant d’expédition FromStore Code du stock ToStore Code de la boutique ExpeditionDate Date d’expédition ReceptionDate Date de réception ApproveDate Date d'approuvé ItemID Identifiant du produit Barcode Code à barre
  • 40. Chapitre III : Identification et description des données 27 Price Prix Quantite Quantité Amount Somme Tableau 5 : La structure du fichier RO.XML 1.3. Fichier INV Le fichier source « INV » est nommé : INV_*.XML Le fichier ‘INV’ est un fichier XML, qui décrit la facture générée d’un transfert entre un stock et une boutique. Voici un exemple d’un fichier INV.XML : Figure 15 : Exemple d’un fichier INV.XML
  • 41. Chapitre III : Identification et description des données 28 Le tableau suivant clarifie la structure de fichier XML ci-dessus : Champs Description InvoiceID Identifiant de la facture d’achat CompanyName Nom de la Compagnie InvoiceDate Date de la facture d’achat ReceptionDate Date de réception CustomsDeclarationDate Date de déclaration en douane DocumentStatus Statut du document UpdateTime Temps de mise à jour PriceCode Code de prix Currency Devise FromStore Code du stock ToStore Code de la boutique UserName Nom d’utilisateur Exchange Échange InvoiceExpeditionID Numéro d'expédition de facture ExpeditionID Identifiant d’expédition TargetStore Magasin cible ReceptionID Identifiant de réception CostPriceParity Parité des coûts InvoIceItemID Identifiant d'article de facture ItemID Identifiant du produit Barcode Code à barre Quantite Quantité Price Prix SellingPrice Prix de vente Amount Somme OriginCountryCode Code du pays d'origine Tableau 6 : La structure du fichier INV.XML
  • 42. Chapitre III : Identification et description des données 29 1.4. Fichier TO_*_Product INV_*_Product Les deux fichiers source « TO_PRODUCT » & « INV_PRODUCT » sont nommés : TO_*_PRODUCT.XML et INV_*_PRODUCT.XML Les fichiers sont de type XML et décrivent les produits transférés d’un Stock à une boutique. Figure 16 : Exemple d’un fichier TO_*_PRODUCT.XML Figure 17 : Exemple d’un fichier INV_*_PRODUCT.XML
  • 43. Chapitre III : Identification et description des données 30 Une description des deux fichiers est mentionnée dans le tableau ci-dessous : Champs Description ProductID Identifiant du produit ProductName Nom du produit SpecialCode Code special ItemClassCode Code de classe d'article ItemClass Classe d'article MerchSubGroup Sous-groupe MerchSubGroupName Nom du sous-groupe ItemID Identifiant du produit ProductID Identifiant du produit Barcode Code à barre Color Couleur ColorName Nom de couleur Size Taille Size2 Taillle2 FirstPriceWithVAT Premier prix avec TVA VATRATE TAUX DE TVA PriceWithVAT Prix avec TVA Material Matériel Tableau 7 : La structure du fichier INV_*_PRODUCT.XML 2. Extraction des données Pour avoir la liste complète des boutiques de notre client LCWaikiki seulement en Tunisie, l’outil Octoparse nous a permis d’extraire les données de ces derniers. Après avoir configuré les paramètres, indiqué le site web d’où on va extraire les données et défini le processus d’extraction, on termine cette première étape par appuyer sur « Start extraction » comme mentionné dans la figure 18 présente dans la page suivante.
  • 44. Chapitre III : Identification et description des données 31 Figure 18 : Configuration des paramètres de l’outil Octoparse Une fois le traitement commence, les résultats d’extraction s’affichent comme indiqué dans la figure ci-dessous : Figure 19 : Résultat d’extraction des données Afin d’enregistrer le résultat obtenu, un export des données est obligatoire. Par conséquent, on a choisi le format Excel pour stocker les informations obtenues. La figure dans la page suivante nous explique ce qui précède :
  • 45. Chapitre III : Identification et description des données 32 Figure 20 : Fichier XML 3. Format des fichiers intégrables par l’ERP CBR (Output) 3.2. Fichier TO Le fichier « TO » est nommé : Transfert_Emis_TO (id) < date sous le format YYYYMMDD>.TXT. En Output, ce fichier se décrit sous le format suivant : Champs Position Longueur Description Préfixe 1 6 « TEMC1 » RefInterne 7 35 InvoiceID RefExterne 42 35 ExpeditionID EtabEmet 77 5 ETAB_FROMSTORE: « select MDE_ETABLISSEMENT as LCW_ETAB_TOSTORE2 from METABDEPOT where MDE_DEPOT=’ LCW_DEP_ FROMSTORE2’ » Dep_emetteur 82 5 DEP_FROMSTORE: « select GDE_DEPOT as LCW_DEP_FROMSTORE2 from DEPOTS Where GDE_CHARLIBRE2 = ’FromStore’ »
  • 46. Chapitre III : Identification et description des données 33 ETAB_dest 87 5 ETAB_TOSTORE: « select MDE_ETABLISSEMENT as LCW_ETAB_TOSTORE2 from METABDEPOT where MDE_DEPOT=’ LCW_DEP_TOSTORE2’ » Dep_Dest 92 5 DEP_TOSTORE: « select GDE_DEPOT as LCW_DEP_TOSTORE2 from DEPOTS Where GDE_CHARLIBRE2 =’ ToStore’ » Date_exp 100 8 dateexp Barcode 108 13 Barcode Quantite 121 4 Quantite Price 125 12 Price Tableau 8 : Description du fichier TO 3.2. Fichier RO Le fichier « RO » est nommé : Transfert_Reçu_RO_ (id) < date sous le format YYYYMMDD>.TXT. En Output, ce fichier se décrit sous le format suivant : Champs Position Longueur Description Préfixe 1 6 « TREC1 » RefInterne 7 35 InvoiceID RefExterne 42 10 ReceptionID REF_suivi 52 10 ExpeditionID EtabEmet 62 4 ETAB_FROMSTORE (même travail que sur TO)
  • 47. Chapitre III : Identification et description des données 34 Dep_emetteur 66 4 DEP_FROMSTORE (même travail que sur TO) ETAB_dest 70 5 ETAB_TOSTORE (même travail que sur TO) Dep_Dest 75 5 DEP_TOSTORE (même travail que sur TO) Date_emi 83 8 dateexp Date_resp 93 10 daterecep Date_valide 103 10 dateapv Barcode 116 13 Barcode Quantite 129 4 Quantite Price 133 12 Price Tableau 9 : Description du fichier RO 3.3. Fichier INV Le fichier « INV » est nommé : Facture_INV_ (id) < date sous le format YYYYMMDD>.TXT. En Output, ce fichier se décrit sous le format suivant : Champs Position Longueur Description Préfixe 1 6 « ALFC1 » InvoiceID 7 5 InvoiceID InvoiceExpID 42 6 InvoiceExpeditionID
  • 48. Chapitre III : Identification et description des données 35 ExpID 77 5 ExpeditionID FromStore 112 4 FromStore ToStore 122 4 ToStore TargetStore 132 4 TargetStore ReceptionID 142 4 ReceptionID InvoiceDate 152 10 dateinv ReceptionDate 160 10 daterecep Barcode 168 13 Barcode Qte 181 4 Qte Price 191 12 Price Currency 203 3 Currency Tableau 10 : Description du fichier INV 3.4. Fichier TO PRODUCT & INV PRODUCT Le fichier « TO_Product » est nommé : Article_To_ (id) < date sous le format YYYYMMDD>.TXT. Le fichier « INV_Product » est nommé : Article_To_ (id) < date sous le format YYYYMMDD>.TXT. Chaque fichier aura un seul output qui se compose de plusieurs formes comme indiquent les tableaux suivants : Champs Position Longueur Description Préfixe 1 6 « FN1C1 » Code 7 3 MershSubGroup (2 premier caractères) Libelle 10 70 MershSubGroupName Tableau 11 : Description de la forme FN1C1
  • 49. Chapitre III : Identification et description des données 36 Champs Position Longueur Description Préfixe 1 6 « FN2C1 » Code 7 3 A calculer : si l’abrege existe dans la base (table CHOIXEXT) => code de la base "SELECT YX_CODE as LCW_Code_LA2 from CHOIXEXT where YX_TYPE =’LA2’ and YX_LIBELLE = ‘MershSubGroupName’ and YX_ABREGE = ‘MershSubGroup’ " Si n’existe pas : (voir req1) Ajouter ligne dans la table CHOIXEXT avec le nv code : (voir req 2) Libelle 10 100 MershSubGroupName Abrege 110 17 MershSubGroup Tableau 12 : Description de la forme FN1C2 Champs Position Longueur Description Préfixe 1 6 « LA1C1 » Code 7 3 A calculer : si l’abrège existe dans la base (table CHOIXEXT) => code de la base "SELECT YX_CODE as LCW_Code_LA1 from CHOIXEXT where YX_TYPE =’LA1’ and YX_LIBELLE = ‘ItemClass and YX_ABREGE = ‘ItemClassCode " Si n’existe pas : (voir req3) Ajouter ligne dans la table CHOIXEXT avec le nv code : (voir req 4)
  • 50. Chapitre III : Identification et description des données 37 Libelle 10 100 ItemClass Abrege 110 17 ItemClassCode Tableau 13 : Description de la forme LA1C1 Champs Position Longueur Description Préfixe 1 6 « LA2C1 » Code 7 3 A calculer : si l’abrège existe dans la base (table CHOIXEXT) => code de la base "SELECT YX_CODE as LCW_Code_LA2 From CHOIXEXT where YX_TYPE =’LA2’ and YX_LIBELLE = ‘MershSubGroupName’ and YX_ABREGE = ‘MershSubGroup’ " Si n’existe pas : (voir req1) Ajouter ligne dans la table CHOIXEXT avec le nv code : (voir req 2) Libelle 10 100 MershSubGroupName Abrege 110 17 MershSubGroup Tableau 14 : Description de la forme LA2C1 Champs Position Longueur Description Préfixe 1 6 « DI1C1 » Size 7 3 Size Tableau 15 : Description de la forme DI1C1
  • 51. Chapitre III : Identification et description des données 38 Champs Position Longueur Description Préfixe 1 6 « DI2C1 » Size2 7 3 Size2 Tableau 16 : Description de la forme DI2C1 Champs Position Longueur Description Préfixe 1 6 « DI3C1 » Color 7 3 Color ColorName 10 35 ColorName Tableau 17 : Description de la forme DI3C1 Champs Position Longueur Description Préfixe 1 6 « ARDC1 » Code Article 7 10 ProductID Libelle Article 17 70 ProductName Texte Libre1 87 10 SpecialCode Famille NIV1 97 3 2 premier caracteres du « MershSubGroup »
  • 52. Chapitre III : Identification et description des données 39 Famille NIV2 100 3 Select YX_CODE from CHOIXEXT where YX_TYPE= ‘LA2’ and YX_LIBELLE = MershSubGroupName and YX_ABREGE=MershSubGroup TLibre1 103 3 A calculer (code LA1) (req 3) TLibre2 106 3 A calculer (code LA2) (req 1) Size 109 15 Size Size2 124 15 Size2 color 139 15 color colorName 154 35 colorName PVTTC 189 12 PriceWithVat Prix initial 201 12 FirstPriceWithVat Materiel 213 100 Materiel Tableau 18 : Description de la forme ARDC1 Champs Position Longueur Description Préfixe 1 6 « REFC1 » Code Article 7 10 ProductID Libelle Article 17 70 ProductName Size 87 15 Size
  • 53. Chapitre III : Identification et description des données 40 Size2 102 15 Size2 color 117 15 color colorName 132 35 colorName Reference 167 13 ItemID / Barcode Tableau 19 : Description de la forme REFC1 On insère 2 lignes de préfixe « REFC1 » pour chaque article : Une ligne avec référence=Barcode et une autre avec référence=Item ID Champs Position Longueur Description Préfixe 1 6 « SPEC1 » Product ID 7 10 Product ID Libelle 17 70 Product Name SpecialCode 87 15 SpecialCode Tableau 20 : Description de la forme SPEC1 Conclusion Dans ce chapitre nous avons identifié les sources de données. Nous avons réussi à analyser et décrire les différents types de format de données pour les alimenter et les transformer afin qu’elles soient bien exploitées.
  • 54. Chapitre IV : Génération des outputs et développement de l’ETL 41 Chapitre IV : Génération des outputs et développement de l’ETL
  • 55. Chapitre IV : Génération des outputs et développement de l’ETL 42 Introduction Dans ce chapitre, nous présenterons en premier lieu notre business modèle, par la suite nous allons attaquer la phase relative à la génération des outputs et nous finirons par la conception de l’ETL. Dans ce chapitre, on va faire une description détaillée de l’intégration de chaque type de données. 1. Business Model Le business Model c'est le point de départ, l'idée originale qui permet à une entreprise de se démarquer de la concurrence et d'espérer pouvoir gagner de l'argent. A travers lequel, l’entrepreneur peut également répondre à un besoin sans jamais parvenir à trouver un moyen de le monétiser. Il est très utile pour les différents types de projet spécialement les projets d'intégration de données ou il nous permettra de bien présenter les besoins. Ces besoins seront par la suite traduits facilement en process techniques. Tel qu’il est décrit par la figure suivante, nous avons essayé de diviser les parties qui composent notre projet en plusieurs sous parties (jobs). Figure 21 : Business Model du projet décisionnel
  • 56. Chapitre IV : Génération des outputs et développement de l’ETL 43 2. Préparation des données Avant d’entamer la phase de l’ETL, il est primordial de stocker les données pour garder une traçabilité avant de les traiter. Dans cette partie nous allons présenter les différentes tables dont nous avons besoin tout au long de cette phase. Dans les figures ci-dessous, Les tables sont bien présentées et identiques à celles des données initiales. Figure 22 : Base de données ODS Figure 23 : Base de données ODS ‘Talend’
  • 57. Chapitre IV : Génération des outputs et développement de l’ETL 44 3. Génération des Outputs 3.1. Fichier TO & RO Afin de générer un fichier qui correspond au besoin déjà mentionné dans le chapitre qui précède, nous avons passé par différentes étapes. La figure ci-dessous présente le processus parcourus : Figure 24 : Le Job d’output du Fichier TO Les étapes de ce processus commencent tout d’abord par une connexion à la table ODS relative au fichier TO, par la suite, nous avons utilisé le composant « TflowToiterate » qui permet de boucler sur les éléments du sous-job auquel il est attaché. Le composant « tMap » est le responsable de la transformation des données initiales et peut diriger les données à partir d'une ou plusieurs source(s) et vers une ou plusieurs destination(s). Dans le cas du fichier TO, le composant tMap reçoit plus qu’une source : La table To de l’ODS et deux autres entrées relatives à la base CEGID. Après la transformation faite par ce composant, un fichier output est généré comme résultat du traitement réalisé. Ce fichier est nommé : « Transfert_Emis_To_ (id) _date.txt »
  • 58. Chapitre IV : Génération des outputs et développement de l’ETL 45 Les mêmes étapes se répètent dans un autre Job qui correspond au « fichier RO », la seule différence se fait au niveau du composant tMap, et plus précisément dans ces champs : EtabEmet, Dep_emetteur, ETAB_dest, Dep_Dest. Le résultat de ces derniers dépend à chaque fois du Job exécuté. Le fichier output du Job «RO_OUTPUT » sera nommé : « Transfert_Recu_Ro_ (id) _date.txt ». Figure 25 : Composant « tMap » (RO) 3.2. Fichier INV Cette figure présente le Job responsable de la génération du fichier output relatif au fichier INV. Le composant tMap du Job reçoit une seule entrée qui est la table INV de la base ODS. D’autre part, il est relié à un seul composant de sortie (tFileOutputpositional). Le fichier d’output sera nommé « Facture_INV_ (id) _date.txt » Figure 26 : Figure représentative du JOB (INV)
  • 59. Chapitre IV : Génération des outputs et développement de l’ETL 46 3.3. Fichier «TO_PRODUCT » et « INV_PRODUCT » Les deux jobs «TO_PRODUCT_OUTPUT » et « INV_PRODUCT_OUTPUT » passent par les mêmes étapes, et produisent un seul output chacun d’eux. Contrairement aux jobs responsables à la génération des outputs des fichiers précédents, le fichier de sortie se compose de plusieurs formes telles qu’ils sont décrits dans le cahier de charge. Figure 27 : Figure représentative du Job «TO_PRODUCT » et « INV_PRODUCT Les deux fichiers « INV_ (id) _PRODUCT.xml » et «TO_ (id) _PRODUCT.xml » seront par la suite nommé par : « Article_INV_ (id) _date.txt » et « Article_TO_ (id) _date.txt » La figure ci-dessous nous montre un exemple d’un fichier output généré « Article_TO_(id)_date.txt » Figure 28 : Exemple du résultat d’un fichier output généré
  • 60. Chapitre IV : Génération des outputs et développement de l’ETL 47 3.4. Rassemblement des Jobs Dans ce Job, nous allons rassembler tous les autres Jobs afin de finaliser la phase de génération des outputs après avoir traité et intégré chaque type de données. Figure 29 : Rassemblement des Jobs 4. Intégration des données L’ETL (Extraction, Transformation et Chargement) est Parmi les phases les plus importantes dans notre processus. Ce dernier permettra comme son nom l’indique, l’extraction des données à partir de l’ODS. Ensuite, d’effectuer différents changements afin de rendre les données exploitables et homogènes dans la phase suivante. Pour obtenir de bons résultats, les données doivent être intègres dont les changements peuvent être : de simples transformations d’inversion des signes de valeur par exemple ou bien des transformations complexes ou le traitement nécessite plusieurs étapes et plusieurs composants de traitements sous TALEND, pour pouvoir finalement charger les données alors transformées et intégrées dans les différentes tables de notre entrepôt. 4.1. Extraction des données 4.1.1. TO_ETL Le Job TO_ETL consiste d’abord à faire des transformations sur les données déjà stockées dans la table TO de la base LCWODS ensuite les stocker dans la table TO_ETL de la base LCWETL. Ces Transformations se font au niveau du composant du Job concerné « tMap » qui est présenté dans la figure illustrée dans la page suivante :
  • 61. Chapitre IV : Génération des outputs et développement de l’ETL 48 Figure 30 : Configuration « tMap » du fichier TO A l’aide du composant « tMap » nous avons réussi alors à réaliser :  Les modifications des noms des champs et de les traduire aussi à la langue Française  La modification des différents types de : - DateExpedition de String à Datetime (YYYY_MM_dd) - Prix de « String » à « Float » - Quantité de String à « integer » - Montant de String à « Float » 4.1.2. RO_ETL Le Job RO_ETL consiste d’abord à faire des transformations sur les données déjà stockées dans la table RO de la base LCWODS ensuite les stocker dans la table RO_ETL de la base LCWETL. Ces Transformations se font au niveau du composant du Job concerné « tMap » qui est présenté dans la figure illustrée dans la page suivante :
  • 62. Chapitre IV : Génération des outputs et développement de l’ETL 49 Figure 30 : Configuration « tMap » du fichier RO A l’aide du composant « tMap » nous avons réussi alors à réaliser :  Les modifications des noms des champs et de les traduire aussi à la langue Française  La modification des différents types de : - DateExpedition de String à Datetime (YYYY_MM_dd) - DateReception de String à Datetime (YYYY_MM_dd) - DateApprouvee de String à Datetime (YYYY_MM_dd) - Prix de « String » à « Float » - Quantité de String à « integer » - Montant de String à « Float » 4.1.3. PRODUCT_ETL Le Job RO_ETL consiste d’abord à faire des transformations sur les données déjà stockées dans la table RO de la base LCWODS ensuite les stocker dans la table RO_ETL de la base LCWETL. Ces Transformations se font au niveau du composant du Job concerné « tMap » qui est présenté dans la figure présentée dans la page suivante :
  • 63. Chapitre IV : Génération des outputs et développement de l’ETL 50 Figure 31 : Configuration « tMap » du fichier PRODUCT A l’aide du composant « tMap » nous avons réussi alors à réaliser :  Les modifications des noms des champs et de les traduire aussi à la langue Française  La modification des différents types de : - Prix de « String » à « Float » 4.1.4. Geographie_ETL Figure 32 : Configuration « tMap » des données du scrapping Au niveau du job qui concerne les transformations sur la table « Géographie » dans la base « LCWODS » Nous avons ajouté la colonne « Code » à travers le composant « tMap » qui sert à affecter le code spécifique de chaque boutique selon la localisation. La figure qui suit présente le code d’affectation des codes à travers le constructeur d’expression
  • 64. Chapitre IV : Génération des outputs et développement de l’ETL 51 Figure 33 : Constructeur d’expression ‘Géographie’ Conclusion Au cours de ce chapitre, nous avons réussi à générer les outputs selon des formats bien définies et intégrables par l’ERP CEGID et à développer l’ETL pour le traitement et l’intégration des données. Dans le chapitre suivant, nous allons entamer la partie relative à la création de l’entrepôt de données.
  • 65. Chapitre V : Création du Datawarehouse et migration des données 52 Chapitre V : Création du Datawarehouse et Migration des données
  • 66. Chapitre V : Création du Datawarehouse et migration des données 53 Introduction Avant de Passer à la phase de Reporting qui est la phase finale pour un projet Business Intelligence, nous devons sans doute passer par l’étape de création d’entrepôt de données. Dans ce chapitre nous allons créer des tables de faits et de dimensions avant d’atteindre notre objectif final qui est la création des rapports. 1. Conception du modèle physique Comme indiqué dans les parties qui précédent, nous allons établir un modèle en étoile. Dans cette phase nous allons déposer les modèles des magasins de données que nous allons fournir. 1.1. Magasin de données « Facture » Le modèle ci-dessous se focalise essentiellement sur le transfert des produits entre les dépôts et les différentes boutiques ‘LCWIKIKI’. Notre table de faits « facture » sera reliée avec les dimensions qui représentent des axes d’analyse : Catégorie, Produit, Temps, Transfert, Groupe, Géographie, dépôt, Store Cible
  • 67. Chapitre V : Création du Datawarehouse et migration des données 54 Figure 34 : Schéma de l’entrepôt de données 2. Préparation des dimensions Maintenant nous allons commencer la phase d’alimentation après avoir définit les dimensions qui nécessitent dans la phase d’identification de dimensions. 2.1. Dimension Catégorie La figure illustrée dans la page suivante présentera l’exemple d’alimentation de la dimension « Dim _Catégorie ».
  • 68. Chapitre V : Création du Datawarehouse et migration des données 55 Figure 35 : Job d’alimentation de la dimension « Dim _Catégorie » Dans le job « Dim_Categorie » nous avons fait recours à la table « Product_ETL » de la base de données LCWETL pour pouvoir construire la dimension « Dim_Categorie » comme nous montre La Figure ci-dessus. Les champs qu’on a utilisés dans la création de la dimension sont : « Categorie » et « Code Catégorie » comme indiqué dans la figure suivante. Figure 36 : Composant tMap du Job Dim_Categorie 2.2. Dimension Groupe La figure suivante présentera l’exemple d’alimentation de la dimension « Dim _Groupe ». Figure 37 : Partie du job d’alimentation de la dimension «Dim_Groupe»
  • 69. Chapitre V : Création du Datawarehouse et migration des données 56 Dans le job « Dim_Groupe » nous avons fait recours à la table « Product_ETL » de la base de données LCWETL pour pouvoir construire la dimension « Dim_Groupe » comme nous montre La Figure ci-dessus. Les champs qu’on a utilisés dans la création de la dimension sont : « Groupe » et « NomGroupe » comme indiqué dans la figure suivante. Figure 38 : Composant tMap du Job Dim_Groupe 2.3. Dimension produit La figure suivante présentera l’exemple d’alimentation de la dimension « Dim _Produit ». Figure 39 : Partie du job d’alimentation de la dimension Dim_Produit Dans le job « Dim_Produit » nous avons fait recours à la table « Product_ETL » de la base de données LCWETL pour pouvoir construire la dimension « Dim_Produit » comme nous montre La Figure ci-dessus. Les champs qu’on a utilisés dans la création de la dimension sont indiqués dans la figure illustrée dans la page suivante.
  • 70. Chapitre V : Création du Datawarehouse et migration des données 57 Figure 40 : Composant tMap du Job Dim_Produit 2.4. Dimension StoreCible La figure suivante présentera l’exemple d’alimentation de la dimension « Dim _StoreCible ». Figure 41 : Partie du job d’alimentation de la dimension Dim_StoreCible Dans le job « Dim_StoreCible » nous avons fait recours à la table «RO_ETL » de la base de données LCWETL pour pouvoir construire la dimension « Dim_StoreCible » comme nous montre La Figure ci-dessus. Les champs qu’on a utilisés dans la création de la dimension sont indiqués dans la figure présentée dans la page suivante.
  • 71. Chapitre V : Création du Datawarehouse et migration des données 58 Figure 42 : Composant tMap du Job Dim_StoreCible 2.5. Dimension Transfert La figure suivante présentera l’exemple d’alimentation de la dimension « Dim _Transfert ». Figure 43 : Partie du job d’alimentation de la dimension Transfert Dans le job « Dim_Transfert » nous avons fait recours à la table «TO_ETL » de la base de données LCWETL pour pouvoir construire la dimension « Dim_Transfert » comme nous montre La Figure ci-dessus. Les champs qu’on a utilisés dans la création de la dimension sont indiqués dans la figure suivante.
  • 72. Chapitre V : Création du Datawarehouse et migration des données 59 Figure 44 : Composant tMap du Job Dim_Transfert 2.6. Dimension Temps Afin de construire la dimension Temps, nous avons exécuté une requête SQL qui à générer la table de cette dimension. 3. La Table de Fait « Facture » La dernière étape de transformation va être consacrée pour effectuer les chargements au niveau de la table de faits. Pour bien comprendre cette étape nous allons prendre l’exemple des transformations effectuées pour la réalisation de la table de fait facture qui sera schématisée par la figure ci-dessous. Figure 45 : Alimentation de la Table fait «Fact_Facture»
  • 73. Chapitre V : Création du Datawarehouse et migration des données 60 Figure 46 : Composant tMap du Job «Fact_Facture» Au niveau du job responsable de la création de la table de fait, le composant « tMap » nous a permis de : - Transformer et diriger les données -Etablir les relations entre les dimensions -créer les mesures 4. Journalisation Talend Talend nous donne la possibilité de suivre l’état d’exécution de nos jobs réalisés, d’avoir une bonne gestion de notre projet et de garder une traçabilité sur l’exécution. La journalisation de Talend permet la génération de deux fichiers qui sont : Logs : qui est généré en cas d’échec d’exécution et qui contient les détails de chaque opération et la cause de l’erreur. Stats : qui est généré lors de chaque exécution d’un job pour nous informer de l’état de l’exécution. Une configuration sous Talend est requise pour avoir les fichiers logs et Stats. (Annexe) La figure illustrée dans la page suivante nous montre le job qu’on a préparé qui est responsable de l’envoi d’un mail qui contient les fichiers de journalisation suite à l’exécution d’un job.
  • 74. Chapitre V : Création du Datawarehouse et migration des données 61 Figure 47 : Job envoie mail ◦ Le composant « tFileInputProperties » nous a permis de pointer sur le fichier « emailDetails.properties » qu’on a créé pour faciliter la connexion du job avec le mail. ◦ Le composant « tSetGlobalVar » nous a permis de créer des variables globales qui seront utilisées au niveau du composant « tSendMail ». ◦ Le composant « tSendMail » que sa configuration sera la suivante Figure 48 : configuration du composant « tSenMail»
  • 75. Chapitre V : Création du Datawarehouse et migration des données 62 Dans la figure ci-dessus nous avons configuré le composant d’envoi du mail on ajoutant le destinataire, l’expéditeur, le sujet, le message, les pièces jointes à envoyer… 5. Migration de données vers Qlik Sense Après avoir exécuté nos Jobs et alimenté nos tables, il ne nous reste que d’entamer la dernière phase de notre projet. La migration de données stockées dans les tables de SQL server vers notre outil de «Reporting» Qlik Sense. La figure ci-dessous nous montre une des étapes de migration des données. Figure 49 : Configuration des relations entre les tables Cette étape consiste à relier les tables de fait et de dimensions selon le la conception du model physique qui est un modèle en étoile comme mentionné dans les parties précédentes. Les autres différentes étapes sont mentionnées dans l’annexe. Conclusion Après avoir préparé la partie modélisation dimensionnelle pour bien identifier les grandes phases de notre projet, nous avons effectué plusieurs changements nécessaires afin d’homogénéiser et d’unir les données. Pour pouvoir par la suite alimenter notre entrepôt de données. Dans le chapitre suivant, nous allons attaquer la phase de restitution des données.
  • 76. Chapitre V : Création du Datawarehouse et migration des données 63 Chapitre VI : Restitution des données
  • 77. Chapitre VI : Restitution des données 64 Introduction Tout au long du chapitre précédent, nous avons essayé d’éclaircir les étapes de préparation de données tout en détaillant le modèle à implémenter au niveau de notre solution. Dans ce chapitre, nous allons exposer les maquettes à réaliser et présenter les différents tableaux de bord réalisés et qui répondent aux besoins de notre client. 1. Spécification de l’application utilisateur Pour garantir la satisfaction du client et réaliser facilement les tableaux de bord, il faut passer certainement par cette étape. Nos objectifs pendant cette phase sont d’analyser la structure du tableau de bord et d’avoir une idée et une vision claire sur le résultat de la solution. 2. Les Feuilles d’application 2.1. Suivi des Transferts Ce tableau de bord permet aux décideurs de visualiser les moyennes des temps d’approuvé et de réponse des boutiques, les produits les plus transférés selon les boutiques, par catégorie et groupe. Figure 50 : Suivi des Transferts
  • 78. Chapitre VI : Restitution des données 65 2.2. Suivi des Boutiques La figure ci-dessous présente la maquette du Dashboard suivi des boutiques par localisation, temps de réponse, temps d’approuvé. Cette maquette nous présente aussi les boutiques qui ont un manque des produits et les boutiques qui font des transferts plus que les autres. Figure 51 : Suivi des boutiques 2.3. Feuilles d’application Suivi de la fréquence des transferts La maquette illustrée dans la page suivante présente le tableau de bord qui permet aux décideurs de visualiser la fréquence des transferts au cours du temps.
  • 79. Chapitre VI : Restitution des données 66 Figure 52 : Suivi des boutiques 2.4. Feuilles d’application Suivi des Produits Ce tableau de bord permet aux décideurs de visualiser les produits transférés en fonction de la couleur, de la catégorie et du matériel. Figure 53 : Suivi des Produits
  • 80. Chapitre VI : Restitution des données 67 2.5. Feuilles application Gestion des Produits par tranche d’âge Ce tableau de bord permet aux décideurs de visualiser les tailles des produits transférés en fonction de la couleur, de la catégorie et du matériel. Figure 54 : Suivi des Produits par tranche d’âge 3. Développement de l’application utilisateur La dernière étape de notre projet consiste à développer l’application utilisateur qui nous donne la possibilité de résumer tout ce qui précède en se basant sur l’étude de l’existant qu’on a fait, les technologies à utiliser et les besoins du client déjà spécifiés précédemment. La réalisation des différents tableaux de bord durant cette phase sera faite avec l’outil Qlik Sense qui assure le dynamisme des résultats. 3.1. Feuille d’accueil Pour faciliter la navigation entre les tableaux de bords, une feuille d’accueil a été créée permettant à l’utilisateur d’avoir une idée visible et claire sur les thèmes analysés. Chaque thème est représenté par un bouton qui nous dirige vers le tableau de bord convenable. La figure représentant l’interface d’accueil est illustrée dans la page suivante.
  • 81. Chapitre VI : Restitution des données 68 Figure 55 : Feuille d’accueil 3.2. Suivi des Transferts La partie suivante sera consacrée pour la présentation en détails du tableau de bord « Suivi Transfert ». La feuille du suivi de transfert nous permettant de : • Suivre le temps d’approuvé (qui est la différence entre la date d’approuvé et la date de réception) par boutique, groupe, catégorie et produit. • Suivre le temps de réponse moyen des transferts (qui est la différence entre la date d’expédition et la date de réception) par boutique, groupe, catégorie et produit. • Afficher la liste des boutiques et les utiliser en tant que filtre. • Afficher la liste des dépôts et des Boutiques cible et les utiliser en tant que filtre. • Afficher la liste des catégories en tant que filtre. • Afficher la liste des groupes en tant que filtre. • Visualiser les produits les plus transférés représenté par une Pie charte. • Visualiser le prix total des produits transférés • Visualiser les prix par unité
  • 82. Chapitre VI : Restitution des données 69 Figure 56 : Suivi des Transferts 3.3. Suivi des Boutiques La partie suivante sera consacrée pour la présentation en détails du tableau de bord « Suivi Boutique ». La feuille du suivi des boutiques nous permettant de : • Suivre le temps de réponse moyen des transferts (qui est la différence entre la date d’expédition et la date de réception) par boutique, groupe, catégorie et produit. • Suivre le temps de réponse le plus élevé des transferts • Suivre le temps d’approuvé le plus élevé des transferts • Suivre les transferts Émis et Reçus • Suivre la somme de temps de réponse par jour • Suivre la somme de durée d’approuvé par jour • Afficher les Top3 boutiques source représentées par un bar chart. • Afficher les Top3 boutiques cible représentées par un bar chart. • Afficher la localisation des boutiques dans une carte géographique.
  • 83. Chapitre VI : Restitution des données 70 Figure 57 : Suivi des Boutiques 3.4. Suivi de la fréquence des transferts La partie suivante sera consacrée pour la présentation en détails du tableau de bord « Suivi de la fréquence des transferts ». La feuille du suivi de Produit nous permettant de : • Suivre le prix total des produits transférés. • Suivre le nombre total des produits transférés. • Suivre le nombre de couleurs des produits transférés. • Visualiser le nombre total des produits transférés au cours du temps par une graphique en courbe. • Visualiser le prix total des produits transférés au cours du temps par une graphique en courbe. • Visualiser la fréquence de nombre de couleurs au cours du temps. • Afficher la liste des dates d'expédition en tant que filtre. Figure 58 : Suivi de la fréquence des transferts
  • 84. Chapitre VI : Restitution des données 71 3.5. Suivi des Produits transférés La partie suivante sera consacrée pour la présentation en détails du tableau de bord « Suivi des Produits transférés ». La feuille du suivi de Produit nous permettant de : • Suivre le nombre de catégories total, par couleur, matériel et produit. • Suivre le nombre de catégorie moyen par transfert de chaque produit, couleur et/ou matériel. • Suivre le nombre de produits total, par couleur, catégorie et matériel. • Suivre le nombre de produit moyen par transfert de chaque catégorie, couleur et/ou matériel • Visualiser les couleurs des produits les plus transférés représenté par une Pie charte. • Visualiser les catégories les plus transférées représenté par une Pie charte. • Visualiser les produits les plus transférés représenté par une Pie charte. • Afficher la liste des matériels des produits en tant que filtre. Figure 59 : Suivi des Produits 3.6. Suivi des Produits transférés par tranche d’âge La partie suivante sera consacrée pour la présentation en détails du tableau de bord « Suivi des Produits transférés par tranche d’âge ». La feuille du suivi de Produit nous permettant de : • Suivre le nombre de catégories total, par couleur, matériel et taille. • Suivre le nombre de produit moyen par transfert de chaque taille, couleur et/ou matériel.
  • 85. Chapitre VI : Restitution des données 72 • Suivre le nombre de produits total, par couleur, taille et matériel. • Visualiser les couleurs des produits les plus transférés représenté par un graphique en barres. • Visualiser les tailles les plus transférées représenté par un graphique en barres. • Afficher la liste des matériels des produits en tant que filtre. Figure 60 : Suivi des Produits transférés par tranche d’âge Conclusion Dans ce chapitre nous avons résumé brièvement les phases de mise en œuvre du projet tout en présentant les différentes maquettes réalisées. Par la suite, nous avons aussi exposé les tableaux de bord réalisés tout en les illustrant par des captures d’écran des principales taches de la solution.
  • 86. 73 Conclusion Générale Ce stage s’inscrit dans le cadre du projet de fin d’études effectué au sein de la Société TIMSOFT en vue de l’obtention du diplôme national d’ingénieur en Informatique. Ce projet a comme objectif global la mise en place d’un système d’aide à la décision qui couvre l’activité de commerce de détail essentiellement. Pour la réalisation de cette solution nous nous sommes appuyés dans une première phase primordiale sur la compréhension des données pour assurer l’avancement. Dans une deuxième phase nous avons traité les données tout en passant par les trois phases : extraction, transformation et chargement des données dans l’entrepôt des données. Pour finir, nous avons abouti aussi à générer des tableaux de bord interactifs, clairs et détaillés. Cette expérience m’a permis d’appréhender les méthodologies en vigueur dans le monde professionnel. De plus, elle m’a également permis d’assimiler l’importance de la gestion du temps et les délais dans la gestion des projets ainsi que d’apprendre comment être réactif face aux problèmes rencontrés. Techniquement, j’ai appris à utiliser de nouveaux logiciels comme TALEND, SQL Server et Qlik Sense. Ainsi que de nouvelles notions dans les bases de données et je me suis perfectionné dans la réalisation des tableaux de bords. Ce stage m’a aidé bien évidemment, à avoir une vision globale des processus informatiques dédiés à la prise de décision. Cette connaissance que je compte utiliser à bon escient, me conforte dans mes choix de carrière et alimente mon ambition de continuer dans cette voie. Et pour clore ce rapport, j’ai le plaisir d’annoncer que TIMSOFT m’a finalement proposée un pré embauche, je suis ravi de la confiance que l’on m’a accordée durant ce stage et je continuerais l’aventure avec eux bien volontiers si possible.
  • 88. 75 Annexe A : génération des fichiers logs et Stats & creation du fichier « emailDetails.properties » Voici les étapes de la configuration : 1. Aller à : Fichier > Éditer les propriétés du Projet pour activer l’option de journalisation des projets 2. Sélectionner Paramètres du Job > Stats Logs 3. Sélectionner les options qui permettent la manipulation des statistiques et des logs 4. Sélectionner l’option d’enregistrement des logs dans des fichiers externes et saisir leurs noms et extensions. La figure ci-dessous présente les différentes options sélectionnées. Figure 61 : Options de journalisation Talend Nous avons choisi d’envoyer les fichiers de journalisation stats_file.xls et logs_file.xls par mail, pour un meilleur suivi des Jobs. De ce fait, on a créé un fichier « emailDetails.properties » qui contient les détails du mail qui sera envoyé après l’exécution du job « envoi mail ».
  • 89. 76 La figure ci-dessous représente le fichier « emailDetails.properties » : Figure 62 : Fichier emailDetails.properties Annexe B : Les étapes de migration des données Il faut connecter tout d’abord l’application de Qlik sense avec la base de données «lCW_DW» qui se trouve sous Microsoft SQL Server. Figure 63 : Connexion aux sources de données
  • 90. 77 L’étape suivante consiste à saisir les informations de connexion avec la base. Figure 64 : Création de la connexion Les données s’affichent lors de la connexion avec la base de données. Figure 65 : Affichage des données après la connexion
  • 91. 78 L’étape suivante consiste à relier les tables de fait et de dimensions selon le la conception du model physique qui est un modèle en étoile comme mentionné dans les parties précédentes. Figure 66 : Interface des associations dans Qlik Sense
  • 92. 79 Figure 67 : Résultat d’association des tables Annexe C : Automatisation Dans cette phase nous allons passer par des étapes pour automatiser et programmer un Job qui contient tout le processus du travail du projet et englobe tous les Jobs. Pour ce faire nous devons suivre ces étapes : 1. Clic droit sur le job « Processus automatisation » et sélectionnez « Construire le Job » 2. Générer le fichier .bat Windows
  • 93. 80 Figure 68 : Construire un job 3. Le fichier .bat sera créé dans la destination désirable 4. Création de la tâche planifiée sous Windows
  • 94. 81 Figure 69 : Planification d’une tache Windows
  • 95. 82 Webographie [1] : https://timsoft.com.tn/presentation/ [2] : https://www.aerow.group/a16u1509/ [3] : https://blog.developpez.com/sqlpro/p13001/ms-sql-server/oracle-vs-sql-server-les- options-payantes-qui-font-la-difference [4] : https://www.denodo.com/fr/page/le-magic-quadrant-2018-du-gartner-pour-les-outils- dintegration-des-donnees [5] : https://www.calyps.ch/qlik/gartner-magic-quadrant-2019/ [6] : https://www.piloter.org/business-intelligence/datawarehouse.html
  • 96. 83