O slideshow foi denunciado.
Seu SlideShare está sendo baixado. ×

Kallel rapport final.pdf

Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
I
J’autorise l’étudiant à faire le dépôt de son rapport de stage en vue d’une soutenance.
Encadrant professionnel, Mlle
ME...
II
Dédicaces
Mes chers parents Tarek & Samira
Mes deux sœurs adorables Salma & Hend
Ma chère femme magnifique Sabrine, ma ...
III
Remerciements
Je tiens tout d’abord à remercier M.Walid Labbane mon encadrant à Esprit pour son
engagement à mon égard...
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Carregando em…3
×

Confira estes a seguir

1 de 96 Anúncio

Mais Conteúdo rRelacionado

Semelhante a Kallel rapport final.pdf (20)

Mais recentes (20)

Anúncio

Kallel rapport final.pdf

  1. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 16. 3 Chapitre I : Cadre général du projet
  17. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 27. 14 Chapitre II : Analyse et spécification des besoins
  28. 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. 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. 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. 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. 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. 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. 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. 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. 36. Chapitre III : Identification et description des données
  37. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 76. Chapitre V : Création du Datawarehouse et migration des données 63 Chapitre VI : Restitution des données
  77. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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.
  87. 87. 74 Annexes
  88. 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. 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. 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. 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. 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. 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. 94. 81 Figure 69 : Planification d’une tache Windows
  95. 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. 96. 83

×