• 1. Mémoire de Projet de Fin d’ÉtudesPour l’Obtention du TitreD’Ingénieur d’État en InformatiqueOptionIngénierie logicielleSujetMigration des données et portage du module GMAO de OpenERP 6.1 vers Odoo 8Soutenu par : Sous la direction de :Fouad ELOUAD M. Youness KHAMLICHIM. Abdrahman ELKAFILAnnée Universitaire 2013-2014
  • 2. DédicaceJe dédie ce travail à toutes les personnes qui me sont chères, et spécialement à :Mes parents qui ont toujours été là pour moi, et qui m'ont donné un magnifique modèle de sacrifice et de persévérance.Ma soeur IMANE, que Dieu la garde et l’aide dans ses études.Ma tante FATIMAToute ma familleTous mes amis
  • 3. Projet de Fin d’Etudes 2013-20144RemerciementsAu terme de ce travail je tiens à exprimer mes profonds remerciements à toutes les personnes qui ont contribué au bon déroulement et à l’aboutissement de mon projet de fin d’études.Je tiens à remercier vivement mes encadrants, M. Abdrahman ELKAFIL et M. Youness KHAMLICHI pour leur disponibilité et leurs conseils qui m’ont permis de mener à bien ce projet, ainsi tous les membres du jury de bien vouloir évaluer mon modeste travail.Je remercie aussi tout le corps professoral de l’Ecole Nationale des Sciences Appliquées de Khouribga de m’avoir prodigué, durant ces cinq années de formation, une base de connaissances suffisante, exploitée pour l’aboutissement de ce projet et utile pour toute ma vie professionnelle.Je ne pourrais terminer mes remerciements, sans les exprimer à tous mes amis et à toute autre personne ayant contribué de près ou de loin à la réalisation de ce projet dans les meilleures conditions.
  • 4. Projet de Fin d’Etudes 2013-20145RésuméUn ERP (Entreprise Resource Planning) est un référentiel central de gestion de toutes les données d’une entreprise, et représente aujourd’hui un facteur clé dans l’implication de l’entreprise dans son environnement de travail, pour cela les entreprises visent à bénéficier de toute nouveauté apportée par les ERPs.Notre projet de fin d’étude consiste à réaliser une migration des données du PGI existant OpenERP v6.1 vers Odoo v8 et le portage du module GMAO (Gestion de la Maintenance Assistée par Ordinateur) à la nouvelle version en faveur d’un client de la société NEXTMA.Notre travail est de préparer des scriptes de migration fiables et performants et assurer l’intégrité des données par des tests fonctionnels effectués sur le système après la migration, et enfin assurer une formation aux utilisateurs et les aider à s’adapter au nouveau système.Mots-clés :- OpenERP- Odoo- ETL- Migration des données
  • 5. Projet de Fin d’Etudes 2013-20146AbstractERP is a central repository for managing all company data, and is now a key factor in the involvement of the company in its working environment, so companies seek to benefit from any new aspect of the ERP.Our final project study is to perform a data migration of existing information system OpenERP v6.1 to Odoo v8 and porting the CMMS module (Computerized maintenance management system) to the new version in favor of a customer of the company NEXTMA.Our job is to prepare script migration reliability and performance and ensure data integrity by functional tests performed on the system after migration, and finally provide training to users and help them adapt to the new system.
  • 6. Projet de Fin d’Etudes 2013-20147ملخصتخطيط موارد المؤسسة هو مستودع مركزي لإدارة جميع بيانات الشركة، و يعد الآنعاملا رئيسيا في انخراط الشركة في بيئة عملها لهذا تسعى الشركات للاستفادة من أي جانبجديد من نظم تخطيط موارد المؤسسات.يهدف هذا المشروع إلى نقل البيانات و المعلومات الموجودة في أوبن أورب 1.6 إلى أودو 8و ترقية وحدة إدارة الصيانة بالحاسب الآلي إلى الإصدار الجديد لصالح أحد عملاء شركةنيكستما.مهمتنا هي إعداد إسكريبتات لتحويل البيانات وضمان سلامتهم عن طريق اختبارات وظيفيةللنظام بعد الهجرة وأخيرا توفير التدريب للمستخدمين ومساعدتهم على التكيف مع النظامالجديد.
  • 7. Projet de Fin d’Etudes 2013-20148Liste des abréviationsAbréviation DésignationERPEntreprise Resource PlanningETLExtract Transform LoadPGIProgiciel de Gestion IntégréGMAOGestion de Maintenance Assistée par OrdinateurTMSTransport Management SystemSSLLSociété de Services en Logiciels LibresCRMClient Relationship ManagementPMEPetites et Moyennes EntreprisesBIBusiness IntelligenceCMSContent Management SystemAPIApplication Programming InterfacePDIPentaho Data IntegrationTOSTalend Open StudioMCDModèle Conceptuel de données
  • 8. Projet de Fin d’Etudes 2013-20149Table des figuresFigure 1 : logo et slogan NEXTMA ................................................................................. 17Figure 2 : Références de NEXTMA ................................................................................. 20Figure 3 : Processus de migration de l'éditeur ................................................................... 23Figure 4 : Interface OpenERP 6.1 ..................................................................................... 27Figure 5 : fonctionalités de la GMAO .............................................................................. 29Figure 6 : Support des versions OpenERP ........................................................................ 31Figure 7 : Interface Odoo 8 .............................................................................................. 32Figure 8 : ETL ................................................................................................................. 38Figure 9 :graph de comparaison en performance entre ETL .............................................. 42Figure 10 : Caractéristiques de TOS ................................................................................. 45Figure 11 : caractéristiques de PDI ................................................................................... 45Figure 12 : interface DbVisualizer.................................................................................... 46Figure 13 : MCD module de base ..................................................................................... 48Figure 14 : MCD module Produits et liste des prix ........................................................... 49Figure 15 : MCD module gestion de stock ....................................................................... 49Figure 16 : MCD module comptabilité ............................................................................. 50Figure 17 : MCD module ressources humaines................................................................. 50Figure 18 : MCD module gestion d'achat ......................................................................... 51Figure 19 : MCD module GMAO .................................................................................... 51Figure 20 : MCD partenaire OpenERP 6.1 ....................................................................... 52Figure 21 : MCD partenaire Odoo 8 ................................................................................. 52Figure 22 : MCD employé OpenERP 6.1 ......................................................................... 53Figure 23: MCD employé Odoo 8 .................................................................................... 53Figure 24 : MCD email OpenERP 6.1 .............................................................................. 54Figure 25 : MCD email Odoo 8 ........................................................................................ 54Figure 26 : job de migration des partenaires ..................................................................... 55Figure 27 : schéma de mapping des partenaires ................................................................ 56Figure 28 : job de migration des employés ....................................................................... 56
  • 9. Projet de Fin d’Etudes 2013-201410Figure 29 : Job d'importation des plans comptables .......................................................... 57Figure 30 : Routine de sélection ....................................................................................... 57Figure 31 : Routine de concaténation ............................................................................... 58Figure 32 : Routine d'incrémentation des séquences ......................................................... 58Figure 33 : schéma de mapping des plans comptables ...................................................... 59Figure 34: Exemple de contenu après la migration ........................................................... 59
  • 10. Projet de Fin d’Etudes 2013-201411Liste des tableauxTableau 1 : Méthodologie de conduite du projet ............................................................... 25Tableau 2 : Tables principales du module de base ............................................................ 33Tableau 3 : tables principales du module comptabilité ...................................................... 34Tableau 4: tables principales du module stock .................................................................. 35Tableau 5 : tables principales du module Achat ................................................................ 34Tableau 6 : tables principales du module produit .............................................................. 33Tableau 7 : tables principales du module resources humaines ........................................... 35Tableau 8 : comparaison en convivialité entre ETL .......................................................... 43Tableau 9 : comparaison en qualité entre ETL .................................................................. 43Tableau 10 : comparaison en référentiel ver métadonnées entre ETL ................................ 44Tableau 11 : comparaison en outil de création des requêtes entre ETL ............................. 44Tableau 12 : comparaison en validité des fichiers plats entre ETL .................................... 44
  • 11. Table des matièresProjet de Fin d’Etudes 2013-201412Table des matièresListe des abréviations .........................................................................................................8Table des figures ................................................................................................................9Liste des tableaux ............................................................................................................ 11Table des matières ........................................................................................................... 12Introduction générale ....................................................................................................... 14Chapitre 1 ........................................................................................................................ 16Présentation de l’organisme d’accueil ............................................................................ 161 Présentation de l’organisme d’accueil ....................................................................... 171.1 La Société NEXTMA ....................................................................................... 171.2 Prestations et services ....................................................................................... 181.3 Secteurs d’activités ........................................................................................... 191.4 Références ........................................................................................................ 19Chapitre 2 ........................................................................................................................ 21Cadre générale du projet ................................................................................................. 212 Cadre générale du projet ........................................................................................... 222.1 Présentation du projet ....................................................................................... 222.2 Problématique .................................................................................................. 222.3 Objectifs ........................................................................................................... 232.4 Conduite de projet ............................................................................................ 242.5 Conclusion ....................................................................................................... 25Chapitre 3 ........................................................................................................................ 26Etude technique et fonctionnelle .................................................................................... 263 Étude technique et fonctionnelle ............................................................................... 273.1 Étude fonctionnelle ........................................................................................... 273.1.1 Etude de l’existant .................................................................................... 273.1.2 Couverture fonctionnelle de la migration .................................................. 283.1.3 Couverture fonctionnelle de la GMAO ...................................................... 293.1.4 Système cible ............................................................................................ 313.2 Étude technique ................................................................................................ 323.2.1 Système source ......................................................................................... 323.3 Conclusion ....................................................................................................... 36Chapitre 4 ........................................................................................................................ 37Etude comparative des outils de migration ..................................................................... 37
  • 12. Table des matièresProjet de Fin d’Etudes 2013-2014134 Étude comparative des outils de migration ................................................................ 384.1 Méthode de migration ....................................................................................... 384.2 Choix de l’ETL................................................................................................. 404.2.1 Critères de comparaison ............................................................................ 404.3 Bilan de comparatif .......................................................................................... 454.4 Outil de rétro-ingénierie.................................................................................... 454.5 Conclusion ....................................................................................................... 46Chapitre 5 ........................................................................................................................ 47Conception de l’ETL et Réalisation de la migration ......................................................... 475 Conception de l’ETL et Réalisation de la migration .................................................. 485.1 Rétro-ingénierie de l’OpenERP 6.1 ................................................................... 485.1.1 Module de base ......................................................................................... 485.1.2 Module produit ......................................................................................... 495.1.3 Module gestion de stock............................................................................ 495.1.4 Module comptabilité ................................................................................. 505.1.5 Module ressources humaines ..................................................................... 505.1.6 Module gestion d’achat ............................................................................. 515.1.7 Module GMAO......................................................................................... 515.2 Mapping entre OpenERP 6.1 et Odoo 8 ............................................................ 525.2.1 Les principales changements dans l’architecture ....................................... 525.2.2 La Conception de l’ETL............................................................................ 545.3 Conclusion ....................................................................................................... 596 Conclusion générale ................................................................................................. 607 Bibliographie et webographie ................................................................................... 61
  • 13. Migration des données et portage du module GMAOProjet de Fin d’Etudes 2013-201414Introduction généraleDans un contexte toujours très concurrentiel sur tous les niveaux, L’ERP constitue l’outil idéal pour l’organisation et l’optimisation du fonctionnement globale de l’entreprise, c’est l’un des facteurs d’efficacité et de compétitivité. Il est l’outil essentiel pour automatiser et optimiser les processus métier, il intègre les principales composantes fonctionnelles de l'entreprise, comptabilité, gestion de stock, gestion de production, gestion commerciale, logistique, ressources humaines, contrôle de gestion etc.La prise de décision est devenue cruciale pour les dirigeants d'entreprises. L'efficacité de cette prise de décision repose sur la mise à disposition d'informations pertinentes et d'outils adaptés, Aujourd’hui les ERP comportent les outils de pilotage et d’aide à la décision appropriés.A cet effet, les entreprises s’engagent à lancer les projets de migration vers les Progiciels de Gestion Intégrées les plus récents pour bénéficier des dernières nouveautés techniques et fonctionnelles offert par ces produits, aussi les modules métiers pris en charge nativement dans les novelles versions.C’est dans cette optique que s’inscrit mon projet de fin d’étude, qui consiste à réaliser la migration des données du système existant OpenERP 6.1 à Odoo 8 et le portage du module GMAO à la nouvelle version en faveur d’un client de la société NEXTMA.La migration va être établie pour tous les composants fonctionnels utilisés par l’entreprise cliente, comptabilité, gestion de stock, Achat et vente, gestion des ressources humaines etc. Ainsi les modules métiers développés spécifiquement pour ce client, le module GMAO et le module TMS (Transport Management System).Apres la migration nous devons effectués des tests fonctionnels pour vérifier l’intégrité des données sur le nouveau système, et enfin assurer une formation aux utilisateurs et les aider à s’adapter au nouveau système.
  • 14. Migration des données et portage du module GMAOProjet de Fin d’Etudes 2013-201415Ce rapport se compose de cinq chapitres dont la description détaillée est comme suit. Dans le premier chapitre, nous présenterons l’organisme d’accueil. Ensuite, dans le deuxième chapitre, nous allons présenter le projet et la démarche. Dans le troisième chapitre, nous détaillerons les aspects techniques et fonctionnels du système source et système ciblePuis, dans le quatrième chapitre, nous allons argumenter nos choix des outils de réalisation de migration suivant des critères techniques et fonctionnels.Et enfin, le dernier chapitre sera dédié à nos réalisations concernant la migration.
  • 15. Projet de Fin d’Etudes 2013-201416Chapitre 1Présentation de l’organisme d’accueilDans ce chapitre, nous allons présenter l’organisme d’accueil, à savoir la société de service en logiciels libres NEXTMA
  • 16. Migration des données et portage du module GMAOProjet de Fin d’Etudes 2013-2014171 Présentation de l’organisme d’accueil1.1 La Société NEXTMANEXTMA est une Société de Services en Logiciels Libres (SSLL) qui accompagne les entreprises et institutions dans le choix des solutions open source ainsi que dans l'intégration, le développement, l'adaptation aux besoins spécifiques, la maintenance et le support. Afin de bénéficier des meilleures solutions libres dans la gestion des systèmes d'information.NEXTMA a développé une expertise autour d’OpenERP depuis 2006 (premier partenaire officiel OpenERP au Maroc en 2007) et a contribué à faire connaître cet ERP open source au Maroc à travers plusieurs déploiements réussis dans les PME marocaines et des conférences dans les universités et adapte celui-ci à la législation marocaine et aux besoins spécifiques des entreprises.Figure 1 : logo et slogan NEXTMA
  • 17. Migration des données et portage du module GMAOProjet de Fin d’Etudes 2013-2014181.2 Prestations et servicesNEXTMA offre une large palette de prestations et de services basés sur des composants libres adaptés aux systèmes et aux réseaux des clients. La principale tâche de cette société est d’offrir des solutions sur mesure, en matière de formation et d’assistance, concernant les problématiques relevant des systèmes d’informations, moyennant des outils libres.La gamme de services de NEXTMA est articulée autour de quatre axes majeurs qui permettent d'accompagner les clients durant toutes les phases d'un projet afin d'assurer sa réussite en :- Formation : L’offre des formations, techniques et fonctionnelles, permet d'accompagner les organisations qui disposent d’équipes opérationnelles capables de mener à bien des projets. Ces formations peuvent être établies sous forme de transferts de compétences, en phases avals des projets.- Support : En plus des offres de formations, la société propose aux équipes dédiées au développement, des prestations de support d’aide à la maintenance, afin de réduire le temps de résolution des interrogations ou des difficultés que les entreprises pourraient rencontrer lors de la mise en oeuvre de certains logiciels.- Conseil : NEXTMA possède une équipe formée de consultants techniques et fonctionnels qui assure soit dans le cadre de projets, soit en amont, des missions de conseil dans les domaines suivants: gestion de contenu, travail collaboratif, dématérialisation des procédures, migration vers le libre, architecture et dimensionnement d'applications basées sur OpenERP…etc.- Développement : le coeur métier de NEXTMA et comprend le développement sur la base de logiciels libres, de portails collaboratifs internet ou intranet, avec des composantes de publication web, de travail collaboratif, de gestion électronique de documents et de workflow.
  • 18. Migration des données et portage du module GMAOProjet de Fin d’Etudes 2013-2014191.3 Secteurs d’activitésDe part les multiples projets que NEXTMA a mené, elle a acquis un savoir faire susceptible de lui permettre l’implantation de logiciels libres dans les différents secteurs.- Enterprise Ressource Planning (ERP)NEXTMA est le partenaire officiel de l’ERP open source OpenERP au Maghreb depuis 2006. Elle adapte celui-ci à la législation marocaine et aux besoins spécifiques des entreprises.- Customer Relationship Management (CRM)NEXTMA propose l’offre SUGARCRM qui permet la gestion de la relation client.- Business Intelligence (BI) ou informatique décisionnelle.- Intranet des entreprises et gestion des contenus- Création d’identités visuelles et sites Internet institutionnels et e-CommerceLa solution proposée est SMARTSHOP qui une solution libre de e-commerce (commerce électronique) qui s'appuie sur le gestionnaire contenu Joomla.- Gestion électronique des documentsIl s’agit d’un système informatisé d’acquisition, classement, stockage et archivage des documents.1.4 RéférencesNEXTMA compte plusieurs déploiements réussît d’OpenERP dans des PME marocaines, parmi les références :
  • 19. Migration des données et portage du module GMAOProjet de Fin d’Etudes 2013-201420Figure 2 : Références de NEXTMA
  • 20. Projet de Fin d’Etudes 2013-201421Chapitre 2Cadre générale du projetDans ce chapitre, nous allons présenter une description générale du projet ainsi que les problématiques et les objectifs qui lui sont liés
  • 21. Migration des données et portage du module GMAOProjet de Fin d’Etudes 2013-2014222 Cadre générale du projet2.1 Présentation du projetJour après jour les entreprises mettent le point sur leurs choix des ERP pour bénéficier des nouvelles fonctionnalités et rester en amont des autres concurrents, c’est pour ca les entreprises démarrent les projets de migration vers les systèmes récents. A cet effet, notre projet de fin d’étude consiste à conduire une migration du l’ERP existant OpenERP v6.1 vers Odoo v8 et le portage du module GMAO,Notre travail est de veiller à la récupération de plusieurs éléments fonctionnels depuis l’ERP source puis de les adapter aux contraintes techniques et fonctionnelles du nouvel environnement à savoir la base des données liée a l’ERP cibleAinsi, notre mission comporte le portage et l’adaptation du GMAO, un module métier développé spécifiquement pour le client et existe nativement dans la nouvelle version.2.2 ProblématiqueLes entreprises sont de plus en plus besoin de bénéficier des dernières nouveautés techniques et surtout fonctionnelles offert par les ERP, utilisé les données pour sortir les indicateurs de performance, Odoo est depuis la version 7 a introduit un système de gestion d’entrepôt très efficace, apporte une amélioration importante de l'ergonomie et de la facilité d'utilisation de l'interface Web, les nouvelles fonctionnalités de CMS et de e- commerce et l’amélioration du point de vente, donc les entreprise prennent le choix de passer vers les versions les plus évolués.L’éditeur a introduit aussi une nouvelle politique de prix pour les contrats de maintenance. Auparavant, le prix dépendait uniquement du nombre d'utilisateurs, désormais, le prix dépend à la fois du nombre d'utilisateurs et du nombre d'applications installées sur Odoo.
  • 22. Migration des données et portage du module GMAOProjet de Fin d’Etudes 2013-201423La migration des bases des données est un service payant offert par l’éditeur d’Odoo, mais il ne supporte pas les transformations spécifiques et le recodage des données pour les clients, par exemple recoder les bons de commande durant la migration.Figure 3 : Processus de migration de l'éditeurL’éditeur d’Odoo a annoncé que seul le client est responsable de nettoyage de la base de données et que la garantie de la migration ne concerne que les modules standards/certifiés.L’éditeur n’assure pas le nettoyage, la conversion et la transformation intermédiaire des données.2.3 ObjectifsPour répondre à la problématique abordée ci-dessus, nous serons amenés à réaliser une migration du système d’information existant qui est intégrés sous l’ERP OpenERP 6.1 vers l’ERP Odoo 8, et cela pour une meilleure maitrise des processus métier de l’entreprise cliente, une analyse fonctionnelle du module métier GMAO et assurer son portage vers la nouvelle version, ainsi la formation des utilisateurs de l’entreprise cliente sur le nouveau système
  • 23. Migration des données et portage du module GMAOProjet de Fin d’Etudes 2013-201424En résumé, on pourrait décliner la finalité du travail qui nous a été assigné dans les objectifs suivants :- Réaliser la montée vers la version 8 de Odoo et assurer l’environnement matériel et logiciel- Un mapping entre OpenERP 6.1 et Odoo 8 pour touts les modules (Comptabilité, Stock, Achats, Ventes, Ressources humaines, produits et listes des prix etc.) sans oublié les modules spécifiques de ce client.- Procéder à la migration des données entre les deux ERP- Assurer l’intégrité des données par les tests fonctionnels.- Portage de la GMAO- Rédaction des guides d’utilisation- Formation des utilisateurs sur site de production2.4 Conduite de projetLa conduite de projet est une démarche visant à organiser de bout en bout le bon déroulement d’un projet, la démarche sera décortiquée en quartes principales phases:
  • 24. Migration des données et portage du module GMAOProjet de Fin d’Etudes 2013-201425Phases Tâches Livrables Phase avant projet- Prise de connaissance du contexte et métier de l’entreprise cliente.- Environnement du projet.- Document du contexte et motivation du projet. Etude technique et fonctionnelle- Comprendre et se familiariser avec les données.- Tenir des réunions avec les responsables et les utilisateurs.- rédiger les spécifications fonctionnelles- fixer les choix techniques- Un document de spécification des besoins découlant de l’analyse et de l’expression des besoins du client. Réalisation de la migration- étudier le système cible.- préparer les scriptes de migration.- tester l’intégrité des données et le bon fonctionnement du nouveau système.- La base de données créée conformément à la conception livrée. Formation des utilisateurs- préparer les scenarios d’utilisation- formation sur site de production- Un document de guide d’utilisation.Tableau 1 : Méthodologie de conduite du projet2.5 ConclusionL’objectif de ce chapitre était une présentation générale du projet, sa problématique et ses objectifs, dans les chapitres qui suivent, nous allons détailler toutes les phases présentées dans la conduite du projet ci-dessus
  • 25. Migration des données et portage du module GMAOProjet de Fin d’Etudes 2013-201426Chapitre 3Etude technique et fonctionnelleCe chapitre présente l’étude et critique de l’existant, ainsi la rédaction des cahiers de charge technique et fonctionnel
  • 26. Migration des données et portage du module GMAOProjet de Fin d’Etudes 2013-2014273 Étude technique et fonctionnelle3.1 Étude fonctionnelle3.1.1Etude de l’existantLa version actuelle de l’OpenERP version 6.1 avec laquelle travaille le client de NEXTMA est sortie en février 2011, elle a fait preuve d’un manque de flexibilité, une faiblesse fonctionnelle, interface web classique, un système décisionnel très limité, ainsi que des défauts de navigation. Ces problèmes entravent le bon déroulement des projets d’intégration SI (paramétrage et/ou développement spécifique).A cet effet, et pour bénéficier des nouveautés de l’OpenERP. Le client a décidé de procéder à une montée en version de son ERP vers une intégration sous le progiciel Odoo version 8, dernière version de ce progiciel.Figure 4 : Interface OpenERP 6.1
  • 27. Migration des données et portage du module GMAOProjet de Fin d’Etudes 2013-2014283.1.2Couverture fonctionnelle de la migrationLa migration devrait inclure tous les composants fonctionnels de l’entreprise cliente. Le système migré constituera le nouveau framework de travail, Donc nous devons concevoir un mappage fonctionnel entre le schéma source de la base des données liée à l’OpenERP 6.1 et le schéma cible lié à Odoo 8 en respectant les propriétés et les contraintes de chaque système.L’entreprise cliente travaille avec plusieurs composants fonctionnels de l’ERP, parmi ces composants :- Gestion de ressources humaines- Gestion de stock- Comptabilité- Gestion d’achat- Gestion de ventes- Gestion commerciale- Gestion d’entrepôt- CRMAinsi les composants métiers spécifiques :- GMAO- TMSLa migration devrait inclure aussi des transformations spécifiques :- Un remplacement des numéros des comptes comptables des clients et des fournisseurs, l’entreprise cliente a met a notre disposition un document Excel contient les anciens numéros des comptes comptables et les nouveaux.- La suppression de plusieurs produits qui sont plus utilisés par l’entreprise cliente mais par contre il faut garder les mouvements de stock, les factures, les
  • 28. Migration des données et portage du module GMAOProjet de Fin d’Etudes 2013-201429bons de commande qui inclurent ces produits, c'est-à-dire sans supprimer l’historique et les traces de ces articles du système après la migration.3.1.3Couverture fonctionnelle de la GMAOLa GMAO permet la gestion et le pilotage de l’activité de maintenance au sein de l’entreprise afin de l'aider dans ses missions, nous avons résumé les besoins du client en termes de fonctionnalités suivantes :Figure 5 : fonctionalités de la GMAO
  • 29. Migration des données et portage du module GMAOProjet de Fin d’Etudes 2013-201430- Gestion des maintenances de déférents types (correctives, préventives).- Planification des alertes et les rappels automatiques (visite technique, vidange, kilométrage maximale des pneus)- Gestion des stocks de magasin (stock minimum des pièces de rechange …)- Gestion des achats des pièces ou services- Planification et optimisation des interventions- Gestion documentaire liée aux interventions (rapports, photos des pièces de rechange…)- Affectation des personnels aux actions de maintenance- Affectation des pièces de rechange à une maintenance depuis le magasin de stock (magasin virtuel d’affectation)- Suivi des coûts de maintenances- Gestion du cycle de vie du matériel- Gestion des types de maintenance, types de panne et sous-panne- Suivi de consommation des ressources (huile, filtres, pièces….)- Statistiques et tableaux de bord- Générations des rapports- Historisation- Saisie des temps de main d’oeuvre et des travaux effectués- Les options de tri et de recherche- Génération des indicateurs de performance (Aide à la décision)- Utilitaires d’importation et d’exportation
  • 30. Migration des données et portage du module GMAOProjet de Fin d’Etudes 2013-2014313.1.4Système cibleLa nouvelle version majeure Odoo 8 suit la version 7 qui a remporté un franc succès auprès des utilisateurs, avec cette version les utilisateurs pourront profiter d'un gestionnaire de sites internet (CMS) complètement intégré avec l'ERP, un gestionnaire de blog prometteur, Il pourra, dans certains cas, devenir une alternative à une interface entre Odoo et un outil comme WordPress, des fonctionnalités complètes pour l'e-commerce sont intégrées, le système de gestion d'entrepôts a été revu en profondeur avec l'aide d'intégrateurs proches du terrain pour répondre aux différentes problématiques logistiques.Figure 6 : Support des versions OpenERPUn nouveau moteur de rapport d'éditions permettra de faciliter la gestion des rapports et de rendre les utilisateurs plus autonomes dans la personnalisation et la maintenance des éditions de pièces commerciales (factures, devis etc.).Le décisionnel fait désormais partie de la feuille de route de l'éditeur, avec l'intégration de cubes (outils d'agrégation de données multi-applications), ainsi des nouveaux efforts sont portés sur l'amélioration des gestionnaires de fenêtres et des vues graphiques.La nouvelle interface de programmation (API) / framework, qui prend en compte les besoins des programmeurs, pour le portage des modules de la version 7 à la version 8, les API sont interopérable, par contre la version 6.1 ne l’est pas, A cet effet, les modules métiers du système actuel doivent être portés et adaptés a la version 8.
  • 31. Migration des données et portage du module GMAOProjet de Fin d’Etudes 2013-201432Figure 7 : Interface Odoo 83.2 Étude techniqueLe système OpenERP est basé sur une architecture 3-tiers, avec PostgreSQL comme serveur de base de données qui peut contenir plusieurs bases de données, alors les deux systèmes de gestion de base de données sont compatibles3.2.1Système sourceLa base de donne du système source est composé de plus de 500 tables dont notre mission est de réaliser un plan de migration des données avec le choix des tables à migrer, tout en réduisant les risques de manière importante et gardant la cohérence fonctionnelle du nouveau système.Nous allons citer dans des tableaux chaque module avec ses tables à migrer, sachant qu’il y’a des tables qui sont remplies par défaut des données durant l’installation des modules associés, donc il faut adapter les nouvelles données aux celles par défaut.
  • 32. Migration des données et portage du module GMAOProjet de Fin d’Etudes 2013-201433Voici une liste des noms tables principales utilisées dans OpenERP et leurs utilisations fonctionnelles. Module de base Nom de la table Descriptionres_usersUtilisateursres_partnerPartenaire (client ou fournisseur)res_partner_addressAdresses du partenaireres_langLangage d’OpenERPres_groupsDroits d’accès des groupesres_currencyDeviseres_companyEntreprise (Multi-sociéte)Tableau 2 : Tables principales du module de base Module ProduitNom de la table Descriptionproduct_categoryCatégorie de produitsproduct_productProduit ou serviceproduct_templateModèle de produitproduct_pricelist_itemListe des prixproduct_pricelist_versionVersion des listes des prixTableau 3 : tables principales du module produit
  • 33. Migration des données et portage du module GMAOProjet de Fin d’Etudes 2013-201434 Module ComptabilitéTableau 4 : tables principales du module comptabilité Module Gestion d’achatTableau 5 : tables principales du module AchatNom de la table Descriptionaccount_accountCompte client et fournisseuraccount_analytic_accountComptes analytiqueaccount_analytic_journaljournal analytiqueaccount_fiscalyearAnnée fiscaleaccount_invoiceFactureaccount_invoice_taxTax des facturesaccount_journalJournal comptableaccount_moveEcritures comptables Nom de la table Descriptionpurchase_orderBon d’achatpurchase_invoice_relFacture de bon d’achatpurchase_order_taxeTax de bon d’achat
  • 34. Migration des données et portage du module GMAOProjet de Fin d’Etudes 2013-201435 Module Gestion de stockNom de la table Descriptionstock_inventoryInventaire de stockstock_locationEmplacement de stockstock_moveMouvement de stockstock_partial_moveMouvement partiel de stockstock_warehouseEntrepôt de stockTableau 6: tables principales du module stock Module Resource humaineTableau 7 : tables principales du module ressources humainesNom de la table Descriptionhr_departmentdépartementhr_employeeLes employéeshr_employee_categoryCatégorie des employéeshr_jobMissionproduct_pricelist_versionVersion des listes des prixaccount_moveMouvement de compte
  • 35. Migration des données et portage du module GMAOProjet de Fin d’Etudes 2013-2014363.3 ConclusionLes tables citées ci-dessus se sont que les tables principales de chaque module, il reste encore d’autres moins importants, et les tables de référencement.Le chapitre suivant sera dédié au choix des outils de migration, ainsi l’outil idéal pour la retro-ingénierie.
  • 36. Migration des données et portage du module GMAOProjet de Fin d’Etudes 2013-201437Chapitre 4Etude comparative des outils de migrationDans ce chapitre, nous allons présenter les résultats des études comparatives menées pour le choix des outils de migration à utiliser dans notre projet.les comparatifs concerner le choix de l’ETL qui va mettre en place le système de migration, ainsi l’outils de reverse engineering
  • 37. Migration des données et portage du module GMAOProjet de Fin d’Etudes 2013-2014384 Étude comparative des outils de migration4.1 Méthode de migrationLe choix le plus difficile dans tout projet d'intégration/migration de données consiste à déterminer quelle méthode doit être mise en oeuvre :- Faut-il créer du code spécifique (procédures SQL, code python ou code Java) ?- Faut-il utiliser un ETL ?La première solution semble intéressante, car elle permet de rester au plus près des spécificités métiers des données à traiter.Cependant, cette solution peut s'avérer coûteuse à long terme, tout simplement car l'évolutivité constante des données métier entraîne une nécessaire adaptation des traitements d'intégration. Celle-ci n'est pas toujours facile à gérer, surtout si les équipes projets évoluent au cours du temps.La deuxième solution va permettre de mettre en oeuvre très rapidement les traitements d'intégration, les ETL disposent d'une interface graphique permettant l'élaboration des différents scénarios d'intégration.Figure 8 : ETL
  • 38. Migration des données et portage du module GMAOProjet de Fin d’Etudes 2013-201439Le travail est ainsi grandement facilité, tant au niveau de la conception que de la maintenance des traitements de données. Tandis que NEXTMA est une SSLL qui s’implique dans la culture de l’Open Source et les logiciels libres, sachant que les ETL Open Source peuvent répondre de façon équivalente à la plupart des ETL propriétaires disponibles sur le marché.Donc nous bénéficions des avantages d'un ETL tout en gardant une maîtrise lissée des coûts, aucune licence n'est à payer, parmi ces avantages :- Maintenance moins coûteuse- Conception rapide- Lecture/Ecriture des données sur un large choix de supports- production automatique des rapports de mise en correspondance des données et d’analyse de dépendance de données.- Une très bonne performance même pour une grande quantité de données.Voici une liste des ETL Open Source :- Talend Open Studio (TOS) : un produit d'ETL particulièrement complet, il génère directement les tâches de transformation en Java ou en PERL et dispose de multiples connecteurs pour les principaux produits logiciels d'entreprises.- Pentaho Data Integration (PDI) : la solution d'ETL Kettle intégrée au sein du projet Pentaho.- Enhydra Octopus : un outil d'Extraction, Transformation, Loading. Il se connecte aux bases de données sous JDBC et s'appuie comme il se doit sur un schéma XML.- Clover ETL : une solution d'intégration des données écrite en Java.- Ketl : un produit d'ETL basé sur une architecture Java.
  • 39. Migration des données et portage du module GMAOProjet de Fin d’Etudes 2013-2014404.2 Choix de l’ETLNous avons décidé de limité la comparaison sur les solutions PDI et Talend car se sont des solutions gratuites et open source et qui font parti des solutions les plus complets et reconnus. Talend Open StudioActuellement en version 5, Talend Open Studio (TOS) est édité par la société Talend. Talend est un ETL dont l'interface graphique s'appuie sur Eclipse RCP et est de type "générateur de code" : un code spécifique est généré (et visible) pour chaque traitement d'intégration de données. Pentaho Data IntegrationEgalement connu sous le nom de Kettle, actuellement en version 5, PDI est un ETL dont l’interface basée sur Java SWT. PDI embarque en effet la totalité du code nécessaire dans son noyau et ne traite ainsi que les flux de données. Ainsi, un traitement Kettle peut être stocké sous forme de fichier plat (XML) ou bien dans un SGBD.4.2.1Critères de comparaison4.2.1.1 Critères Fonctionnelles Fonctionnalités : couverture fonctionnelle du logiciel (métadonnées, transformations etc.). Talend- Génération de code Java ou Perl à partir des Jobs créées par l'utilisateur.- Récupération des schémas des tables automatiquement en se connectant à celles-ci
  • 40. Migration des données et portage du module GMAOProjet de Fin d’Etudes 2013-201441- Génération automatique de la documentation- Traitements spécifiques par ajout de code en Java- Composants principaux : SGBD, transformation, association, agrégation, filtrage, LDAP, XML, accès fichiers...- Mode debug/traçage permettant de visualiser pas à pas le traitement effectué- Modifier le code du logiciel en fonction de ses besoins (le code doit être sous licence GPL)- Composants spécifiques : FTP, POP/SMTP, Shell...- Composants personnels- Création de ses propres composants (écris en Java ou Perl)- Utilisation de ceux de la communauté- Des composants (non connecteurs) permettent d'attraper les exceptions. Les erreurs peuvent ainsi être gérés et affichés dans une console ou un fichier de log.- Jouer un scénario différent en cas d’échec d’un composant. PDI- Utilisation de JavaScript pour le traitement- spécifique de types primitifs- Traitement FTP- Communication avec serveur LDAPPDI est constituée de plusieurs composantes :- Spoon est l’outil permettant de créer graphiquement des transformations, de les exécuter et les sauvegarder. Des étapes sont ajoutées à la tâche de transfert à l'aide de glisser-déposer.- Kitchen permet l'exécution d'une transformation en ligne de commande, il a été créé pour la planification des tâches de transferts (Compatible Windows et Linux).- Pan permet quant à lui l'exécution de transformations en ligne de commande.
  • 41. Migration des données et portage du module GMAOProjet de Fin d’Etudes 2013-201442 Performance : temps d’exécution des taches.Lancement d’un test de filtrage des données et lookup donne les résultats représentés dans le graphe suivant :Figure 9 :graph de comparaison en performance entre ETL
  • 42. Migration des données et portage du module GMAOProjet de Fin d’Etudes 2013-201443 Convivialité : qualité de l'interface utilisateur et de l'accessibilité du logiciel.PDI TOSMapping graphique++Drag and drop (Glisser/déposer)++Représentation graphique des flux++Visualisation des données en cours de développement++Tableau 8 : comparaison en convivialité entre ETL Qualité : qualité de la conception, du code et des tests.PDI TOSGestion des erreurs d'intégration-+Outils de debugging++Compilation des traitements-+Possibilité de traitements par un langage de programmation++Fonctions statistiques de qualité-+Tableau 9 : comparaison en qualité entre ETL
  • 43. Migration des données et portage du module GMAOProjet de Fin d’Etudes 2013-2014444.2.1.2 Critères techniques Référentiel vers métadonnées : un historique des Jobs/Fichiers manipulés, et une description détaillée de ceux-ci (structure/format).PDI TOSRéférentiel vers métadonnées++Tableau 10 : comparaison en référentiel ver métadonnées entre ETL Outil de création de requêtes : possibilité de pré-visualiser le contenu d’une base de données via des requêtes : SELECT, UPDATE etc. sous l’ETL.PDI TOSOutil de création de requêtes++Tableau 11 : comparaison en outil de création des requêtes entre ETL Validité des fichiers plats : possibilité de valider la structure d’un fichier CSV/XML/Excel etc. Au préalable, conformément à un schéma prédéfini par l’outil de l’ETL.PDI TOSValidité des fichiers plats-+Tableau 12 : comparaison en validité des fichiers plats entre ETL
  • 44. Migration des données et portage du module GMAOProjet de Fin d’Etudes 2013-2014454.3 Bilan de comparatifLes deux ETL, Talend et pentaho, proposent l'ensemble des fonctionnalités nécessaires à un ETL. D’après cette étude, nous avons met le choix sur Talend pour réaliser la migration, c’est l’ETL le plus adapté au contexte de notre projet.Voici deux figures qui représentent les caractéristiques de chaque ETL réalisés par Smile, un intégrateur français des solutions open source.4.4 Outil de rétro-ingénierieL'ingénierie inverse permet de créer des représentations graphiques détaillées et enrichies des environnements de base de données. Cette technique consiste à se connecter sur la base de données physique et de convertir les informations contenues, en un modèle de données. Le schéma résultant de la rétro-ingénierie présente alors les entités, les attributs, les clés primaires, les relations ainsi que les cardinalités des relations.Nous avons fixé le choix sur DbVisualizer, une application universelle de bases de données spécialement conçue pour les développeurs, les administrateurs de bases de données et les analystes. Il est la solution parfaite qui accèdent à un large éventail de basesFigure 11 : caractéristiques de PDIFigure 10 : Caractéristiques de TOS
  • 45. Migration des données et portage du module GMAOProjet de Fin d’Etudes 2013-201446de données. Ce programme permet à l'utilisateur de naviguer à travers les données. Il peut éditer chaque objet et afficher même les plus petits détails. La structure des bases de données est configurable selon les besoins de l'utilisateur.Figure 12 : interface DbVisualizer4.5 ConclusionCe chapitre a présenté les résultats de comparaison menés pour le choix des outils de migration les plus adaptés à notre projet. Nous avions le choix entre deux ETL, TOS et PDI, nous avons comparé les ETL retenus suivant des critères d’évaluation Techniques et fonctionnels) pour trancher finalement sur le plus puissant et le plus approprié.Ce comparatif a mené au choix de TOS comme outil de migration.Le chapitre suivant fera l’objet de la réalisation de la migration.
  • 46. Migration des données et portage du module GMAOProjet de Fin d’Etudes 2013-201447Chapitre 5Conception de l’ETL et Réalisation de lamigrationDans ce chapitre, nous allons présenter la conception de l’ETL par la comparaison des schémas, puis la réalisation de la migration
  • 47. Migration des données et portage du module GMAOProjet de Fin d’Etudes 2013-2014485 Conception de l’ETL et Réalisation de la migration5.1 Rétro-ingénierie de l’OpenERP 6.1Dans cette section nous avons réalisé une rétro-ingénierie des principaux modules de l’OpenERP 6.1 à l’aide de l’outil DbVisualizer pour comprendre les relations entre les différents objets du system et designer les tables qui vont être migré vers Odoo 8.Dans les schémas qui suivent, Nous n’allons pas représenter les noms des champs des tables, les clés primaires et les clés étrangères. Pour des raisons de clarté nous représenterons que les noms des tables et les relations entre eux.5.1.1 Module de baseLe module qui fournit les objets de base : utilisateurs, clients, fournisseurs, langues pays, devises etc.Figure 13 : MCD module de base
  • 48. Migration des données et portage du module GMAOProjet de Fin d’Etudes 2013-2014495.1.2 Module produitFigure 14 : MCD module Produits et liste des prix5.1.3 Module gestion de stockFigure 15 : MCD module gestion de stock
  • 49. Migration des données et portage du module GMAOProjet de Fin d’Etudes 2013-2014505.1.4 Module comptabilitéFigure 16 : MCD module comptabilité5.1.5 Module ressources humainesFigure 17 : MCD module ressources humaines
  • 50. Migration des données et portage du module GMAOProjet de Fin d’Etudes 2013-2014515.1.6 Module gestion d’achatFigure 18 : MCD module gestion d'achat5.1.7 Module GMAOFigure 19 : MCD module GMAO
  • 51. Migration des données et portage du module GMAOProjet de Fin d’Etudes 2013-2014525.2 Mapping entre OpenERP 6.1 et Odoo 8La nouvelle version a subit plusieurs changements fonctionnels, surtout que la monté de la version 6.1 vers la version 8 est passée par une version intermédiaire, l’OpenERP 75.2.1 Les principales changements dans l’architectureNous avons fait une comparaison des modèles conceptuels de données des deux versions, et voici quelques différencesFigure 20 : MCD partenaire OpenERP 6.1Figure 21 : MCD partenaire Odoo 8
  • 52. Migration des données et portage du module GMAOProjet de Fin d’Etudes 2013-201453Figure 22 : MCD employé OpenERP 6.1Figure 23: MCD employé Odoo 8
  • 53. Migration des données et portage du module GMAOProjet de Fin d’Etudes 2013-201454Figure 24 : MCD email OpenERP 6.1Figure 25 : MCD email Odoo 85.2.2 La Conception de l’ETLComme expliqué précédemment , les outils ETL gèrent toutes les étapes de la collecte de données au sein des systèmes d’information hétérogènes : SGBD, applications spécifiques, fichiers plats, bases hiérarchiques et base des ERP, depuis le nettoyage de données collectées, la consolidation et la mise en concordance des données éparses jusqu’à leur distribution auprès des applications cibles ou des systèmes décisionnels (analyse, tableaux de bord, etc.).L’ETL se déroule en trois étapes majeures : l’extraction, la transformation et le chargement des données.
  • 54. Migration des données et portage du module GMAOProjet de Fin d’Etudes 2013-201455- Extraction des données sources : C’est un processus important car c’est lors de ce processus que nous devrons résoudre les problèmes d’intégration et de qualité des données.- Transformation : Application de filtre, agrégation, traitement des données manquantes ou aberrantes et contrôle des rejets, intégrité et cohérence.- Chargement des données : synchronisation des chargements, transfert de fichiers ou transfert de base à base.- Données de stockage : cette première étape porte sur la consolidation des données source, pour notre cas, les sources de données sont :- Système de production (PostgreSQL).- OpenERP 6.1Pour procéder la migration nous devons créer les jobs Talend, ils permettent l’extraction, la transformation et le chargement des données. Nous allons extraire les données de la base des données source liée à l’OpenERP 6.1, faire les conversions de données nécessaires, alimenter les tables qui se correspondent, et faire des jointures entre les tables lorsque cela est nécessaire. Cette phase est la plus critique de l’ETL par ce que une simple erreur peut provoquer un bug sur l’environnement cible de la migration. Migration des partenairesFigure 26 : job de migration des partenaires
  • 55. Migration des données et portage du module GMAOProjet de Fin d’Etudes 2013-201456Figure 27 : schéma de mapping des partenaires Migration des employésFigure 28 : job de migration des employés
  • 56. Migration des données et portage du module GMAOProjet de Fin d’Etudes 2013-201457 Importation des plans comptablesL’importation se fait depuis un fichier csv avec l’utilisation des agrégations et des jointures.Figure 29 : Job d'importation des plans comptablesDans cette importation nous avons utilisé une Routine pour passer les valeurs et les données appropriées aux tables cibles par des tests de sélection sur les données sourcesLa routine permet de choisir entre les types de compte à passer, compte client ou compte fournisseur, selon la valeur retourné a partir du test fait sur les deux données boolean passer en paramètres, customer (client) et suplier ( fournisseur).Figure 30 : Routine de sélection
  • 57. Migration des données et portage du module GMAOProjet de Fin d’Etudes 2013-201458Nous avons utilisé cette routine pour des opérations de concaténation sur les codes des plans comptables migrés pour réussir les tests de comparaison des codesFigure 31 : Routine de concaténationNous avons utilisé une autre routine pour corriger le problème des séquences de la base des données, durant l’alimentation nous devons mettre a jours le compteur des séquence pour la prise en charge des lignes insérées, A cet effet nous avons déclaré des variables de contextes qui permettent d’enregistrer la valeur du curseur de la table pour l’incrémenter a chaque insertion d’une nouvelle ligne.Figure 32 : Routine d'incrémentation des séquencesNous avons utilisé ces routines et d’autres dans les jobs de migration pour résoudre plusieurs problématiques liés à la transformation et la conversion des données, par exemple l’utilisation de la routine de sélection des types de compte dans le schéma de mapping des plans comptables ci-dessous.
  • 58. Migration des données et portage du module GMAOProjet de Fin d’Etudes 2013-201459Figure 33 : schéma de mapping des plans comptables5.3 ConclusionDans ce chapitre, nous avons présenté quelques travaux de conception des ETL et le procédé de la migration, ainsi les routines développées pour répondre aux besoins de transformation.Voici un aperçu de l’interface du system Odoo 8 après la migration.Figure 34: Exemple de contenu après la migration
  • 59. Migration des données et portage du module GMAOProjet de Fin d’Etudes 2013-2014606 Conclusion généraleLors du passage vers une nouvelle version d'une base de données ou d'une application, ou lors de la migration vers un nouveau système, les données doivent être préservées dans ce nouveau système. Après une fusion ou acquisition, les applications redondantes sont la plupart du temps abandonnées mais les données qu'elles contiennent doivent être préservées dans le système subsistant. Le but de la migration de données est de transférer les données existantes dans le nouvel environnement. Celles-ci doivent être transformées sous un format approprié pour le nouveau système et ce, tout en préservant l'information stockée dans l'ancien système.L’objectif du ce projet était la migration des donnes et le portage de la GMAO de l’OpenERP 6.1 vers Odoo 8, parmi les tâches réalisées, la montée en version et la migration de la base des données, par contre le portage est encours de réalisation puisque la nouvelle API est encore instable.Sur le plan technique, ce projet ayant touché à plusieurs domaines, il m’a permis d’acquérir de bonnes connaissances dans le domaine des ERP, ainsi que des techniques de rédaction fonctionnelle. Il m’a permis également d’approfondir mes connaissances en développement ETL.Sur le plan professionnel, ce stage a été une occasion pour moi d’améliorer et de faire un pas de plus dans le relationnel. J’ai également profité des multiples réunions tenues avec les responsables et les utilisateurs de l’entreprise cliente durant le stage pour améliorer ma communication et l’adapter à celle en entreprise où on est appelé à communiquer régulièrement et de façon efficace avec le client afin d’éviter tout malentendu et de pouvoir progresser vers les mêmes objectifs.Comme perspective, même si nous avons commencé travailler dedans, je propose d’automatiser le plus possible le processus de migration des données, une telle amélioration nécessite l’installation de touts les modules concernés par la migration, ce qui augmente la complexité du système et rend très difficile la gestion des dépendances et des relations entre objets.
  • 60. Migration des données et portage du module GMAOProjet de Fin d’Etudes 2013-2014617 Bibliographie et webographie[1] Smile, « Guide de l’open source », France, 2014.[2] les étapes de la migration des données :http://sinergique.com/2012/10/10/openerp-pour-une-montee-en-version-rapide-et- efficiente/[3] un article d’une expérience de déploiement Odoo dans les entreprises françaises :http://people.via.ecp.fr/~alexis/openerp/[3] le forum officiel d’Odoo :http://www.odoo.com/fr_FR/forum/help-1/
  • 61. Migration des données et portage du module GMAOProjet de Fin d’Etudes 2013-201462GlossaireAAPI : est une interface de programmation, une façade clairement délimitée par laquelle un logiciel offre des services à d'autres logiciels.DData mapping : ou mise en correspondance de données, est un procédé permettant de définir au niveau d'un langage de programmation la correspondance entre deux modèles de données.EETL : extracto-chargeur, il s'agit d'une technologie informatique intergicielle permettant d'effectuer des synchronisations massives d'information d'une source de données (le plus souvent une base de données) vers une autre. Selon le contexte, on est amené à exploiter différentes fonctions, souvent combinées entre elles : « extraction », « transformation », « constitution » ou « conversion », « alimentation ».ERP : est un ensemble de logiciels intégrant les principales fonctions nécessaires à la gestion des flux et des procédures de l'entreprise (comptabilité et finances, logistique, paie et ressources humaines, etc.). Tous ces logiciels accèdent à des ressources communes, en particulier des bases de données.GGMAO : est la gestion de maintenance assistée par ordinateur, une méthode de gestion assistée d'un logiciel destiné aux services de maintenance d'une entreprise afin de l'aider dans ses activités.JJOB : Unité de traitement principale, un job peut représenter un processus (ETL) simple ou une chaine complète de sous-processus.
  • 62. Migration des données et portage du module GMAOProjet de Fin d’Etudes 2013-201463Jointure : est l'opération permettant d’associer plusieurs tables ou vues de la base par le biais d’un lien logique de données entre les différentes tables ou vues, le lien étant vérifié par le biais d'un prédicat. Le résultat de l'opération est une nouvelle table.MMCD : ou Modèles Conceptuels de Données, est un modèle de données ou diagramme pour des descriptions de haut niveau. Il fournit une description graphique pour représenter de tels modèles de données sous la forme de diagrammes contenant des entités et des associations.RRetro-ingénierie : reconstituer un modèle de données à partir des structures physiques des fichiers ou des tables.Routine : est une entité informatique qui encapsule une portion de code (une séquence d'instructions) effectuant un traitement spécifique bien identifié (asservissement, transformation, calcul, etc.) relativement indépendant du reste du programme, et qui peut être réutilisé dans le même programme, ou dans un autre.TTransformation de données : est un Processus automatisé qui utilise les données brutes extraites pour les transformer selon les règles de gestion de l’entreprise et les préparer selon les besoins des utilisateurs.TMS : est un système de gestion du transport qui couvre un ensemble cohérent de briques fonctionnelles s’étendant sur les niveaux de décision stratégique, tactique, opérationnel et d’exécution.
    Please download to view
  • All materials on our website are shared by users. If you have any questions about copyright issues, please report us to resolve them. We are always happy to assist you.
    ...

    Migration gmao de openerp 6.1 vers odoo 8

    by nextma

    on

    Report

    Category:

    Engineering

    Download: 2

    Comment: 0

    2,725

    views

    Comments

    Description

    Projet de fin d’étude consiste à réaliser une migration des données du PGI existant OpenERP v6.1 vers Odoo v8 et le portage du module GMAO (Gestion de la
    Maintenance Assistée par Ordinateur) réalisé par NEXTMA
    ainsi que le module TMS (Transport Management System)
    Download Migration gmao de openerp 6.1 vers odoo 8

    Transcript

    • 1. Mémoire de Projet de Fin d’ÉtudesPour l’Obtention du TitreD’Ingénieur d’État en InformatiqueOptionIngénierie logicielleSujetMigration des données et portage du module GMAO de OpenERP 6.1 vers Odoo 8Soutenu par : Sous la direction de :Fouad ELOUAD M. Youness KHAMLICHIM. Abdrahman ELKAFILAnnée Universitaire 2013-2014
  • 2. DédicaceJe dédie ce travail à toutes les personnes qui me sont chères, et spécialement à :Mes parents qui ont toujours été là pour moi, et qui m'ont donné un magnifique modèle de sacrifice et de persévérance.Ma soeur IMANE, que Dieu la garde et l’aide dans ses études.Ma tante FATIMAToute ma familleTous mes amis
  • 3. Projet de Fin d’Etudes 2013-20144RemerciementsAu terme de ce travail je tiens à exprimer mes profonds remerciements à toutes les personnes qui ont contribué au bon déroulement et à l’aboutissement de mon projet de fin d’études.Je tiens à remercier vivement mes encadrants, M. Abdrahman ELKAFIL et M. Youness KHAMLICHI pour leur disponibilité et leurs conseils qui m’ont permis de mener à bien ce projet, ainsi tous les membres du jury de bien vouloir évaluer mon modeste travail.Je remercie aussi tout le corps professoral de l’Ecole Nationale des Sciences Appliquées de Khouribga de m’avoir prodigué, durant ces cinq années de formation, une base de connaissances suffisante, exploitée pour l’aboutissement de ce projet et utile pour toute ma vie professionnelle.Je ne pourrais terminer mes remerciements, sans les exprimer à tous mes amis et à toute autre personne ayant contribué de près ou de loin à la réalisation de ce projet dans les meilleures conditions.
  • 4. Projet de Fin d’Etudes 2013-20145RésuméUn ERP (Entreprise Resource Planning) est un référentiel central de gestion de toutes les données d’une entreprise, et représente aujourd’hui un facteur clé dans l’implication de l’entreprise dans son environnement de travail, pour cela les entreprises visent à bénéficier de toute nouveauté apportée par les ERPs.Notre projet de fin d’étude consiste à réaliser une migration des données du PGI existant OpenERP v6.1 vers Odoo v8 et le portage du module GMAO (Gestion de la Maintenance Assistée par Ordinateur) à la nouvelle version en faveur d’un client de la société NEXTMA.Notre travail est de préparer des scriptes de migration fiables et performants et assurer l’intégrité des données par des tests fonctionnels effectués sur le système après la migration, et enfin assurer une formation aux utilisateurs et les aider à s’adapter au nouveau système.Mots-clés :- OpenERP- Odoo- ETL- Migration des données
  • 5. Projet de Fin d’Etudes 2013-20146AbstractERP is a central repository for managing all company data, and is now a key factor in the involvement of the company in its working environment, so companies seek to benefit from any new aspect of the ERP.Our final project study is to perform a data migration of existing information system OpenERP v6.1 to Odoo v8 and porting the CMMS module (Computerized maintenance management system) to the new version in favor of a customer of the company NEXTMA.Our job is to prepare script migration reliability and performance and ensure data integrity by functional tests performed on the system after migration, and finally provide training to users and help them adapt to the new system.
  • 6. Projet de Fin d’Etudes 2013-20147ملخصتخطيط موارد المؤسسة هو مستودع مركزي لإدارة جميع بيانات الشركة، و يعد الآنعاملا رئيسيا في انخراط الشركة في بيئة عملها لهذا تسعى الشركات للاستفادة من أي جانبجديد من نظم تخطيط موارد المؤسسات.يهدف هذا المشروع إلى نقل البيانات و المعلومات الموجودة في أوبن أورب 1.6 إلى أودو 8و ترقية وحدة إدارة الصيانة بالحاسب الآلي إلى الإصدار الجديد لصالح أحد عملاء شركةنيكستما.مهمتنا هي إعداد إسكريبتات لتحويل البيانات وضمان سلامتهم عن طريق اختبارات وظيفيةللنظام بعد الهجرة وأخيرا توفير التدريب للمستخدمين ومساعدتهم على التكيف مع النظامالجديد.
  • 7. Projet de Fin d’Etudes 2013-20148Liste des abréviationsAbréviation DésignationERPEntreprise Resource PlanningETLExtract Transform LoadPGIProgiciel de Gestion IntégréGMAOGestion de Maintenance Assistée par OrdinateurTMSTransport Management SystemSSLLSociété de Services en Logiciels LibresCRMClient Relationship ManagementPMEPetites et Moyennes EntreprisesBIBusiness IntelligenceCMSContent Management SystemAPIApplication Programming InterfacePDIPentaho Data IntegrationTOSTalend Open StudioMCDModèle Conceptuel de données
  • 8. Projet de Fin d’Etudes 2013-20149Table des figuresFigure 1 : logo et slogan NEXTMA ................................................................................. 17Figure 2 : Références de NEXTMA ................................................................................. 20Figure 3 : Processus de migration de l'éditeur ................................................................... 23Figure 4 : Interface OpenERP 6.1 ..................................................................................... 27Figure 5 : fonctionalités de la GMAO .............................................................................. 29Figure 6 : Support des versions OpenERP ........................................................................ 31Figure 7 : Interface Odoo 8 .............................................................................................. 32Figure 8 : ETL ................................................................................................................. 38Figure 9 :graph de comparaison en performance entre ETL .............................................. 42Figure 10 : Caractéristiques de TOS ................................................................................. 45Figure 11 : caractéristiques de PDI ................................................................................... 45Figure 12 : interface DbVisualizer.................................................................................... 46Figure 13 : MCD module de base ..................................................................................... 48Figure 14 : MCD module Produits et liste des prix ........................................................... 49Figure 15 : MCD module gestion de stock ....................................................................... 49Figure 16 : MCD module comptabilité ............................................................................. 50Figure 17 : MCD module ressources humaines................................................................. 50Figure 18 : MCD module gestion d'achat ......................................................................... 51Figure 19 : MCD module GMAO .................................................................................... 51Figure 20 : MCD partenaire OpenERP 6.1 ....................................................................... 52Figure 21 : MCD partenaire Odoo 8 ................................................................................. 52Figure 22 : MCD employé OpenERP 6.1 ......................................................................... 53Figure 23: MCD employé Odoo 8 .................................................................................... 53Figure 24 : MCD email OpenERP 6.1 .............................................................................. 54Figure 25 : MCD email Odoo 8 ........................................................................................ 54Figure 26 : job de migration des partenaires ..................................................................... 55Figure 27 : schéma de mapping des partenaires ................................................................ 56Figure 28 : job de migration des employés ....................................................................... 56
  • 9. Projet de Fin d’Etudes 2013-201410Figure 29 : Job d'importation des plans comptables .......................................................... 57Figure 30 : Routine de sélection ....................................................................................... 57Figure 31 : Routine de concaténation ............................................................................... 58Figure 32 : Routine d'incrémentation des séquences ......................................................... 58Figure 33 : schéma de mapping des plans comptables ...................................................... 59Figure 34: Exemple de contenu après la migration ........................................................... 59
  • 10. Projet de Fin d’Etudes 2013-201411Liste des tableauxTableau 1 : Méthodologie de conduite du projet ............................................................... 25Tableau 2 : Tables principales du module de base ............................................................ 33Tableau 3 : tables principales du module comptabilité ...................................................... 34Tableau 4: tables principales du module stock .................................................................. 35Tableau 5 : tables principales du module Achat ................................................................ 34Tableau 6 : tables principales du module produit .............................................................. 33Tableau 7 : tables principales du module resources humaines ........................................... 35Tableau 8 : comparaison en convivialité entre ETL .......................................................... 43Tableau 9 : comparaison en qualité entre ETL .................................................................. 43Tableau 10 : comparaison en référentiel ver métadonnées entre ETL ................................ 44Tableau 11 : comparaison en outil de création des requêtes entre ETL ............................. 44Tableau 12 : comparaison en validité des fichiers plats entre ETL .................................... 44
  • 11. Table des matièresProjet de Fin d’Etudes 2013-201412Table des matièresListe des abréviations .........................................................................................................8Table des figures ................................................................................................................9Liste des tableaux ............................................................................................................ 11Table des matières ........................................................................................................... 12Introduction générale ....................................................................................................... 14Chapitre 1 ........................................................................................................................ 16Présentation de l’organisme d’accueil ............................................................................ 161 Présentation de l’organisme d’accueil ....................................................................... 171.1 La Société NEXTMA ....................................................................................... 171.2 Prestations et services ....................................................................................... 181.3 Secteurs d’activités ........................................................................................... 191.4 Références ........................................................................................................ 19Chapitre 2 ........................................................................................................................ 21Cadre générale du projet ................................................................................................. 212 Cadre générale du projet ........................................................................................... 222.1 Présentation du projet ....................................................................................... 222.2 Problématique .................................................................................................. 222.3 Objectifs ........................................................................................................... 232.4 Conduite de projet ............................................................................................ 242.5 Conclusion ....................................................................................................... 25Chapitre 3 ........................................................................................................................ 26Etude technique et fonctionnelle .................................................................................... 263 Étude technique et fonctionnelle ............................................................................... 273.1 Étude fonctionnelle ........................................................................................... 273.1.1 Etude de l’existant .................................................................................... 273.1.2 Couverture fonctionnelle de la migration .................................................. 283.1.3 Couverture fonctionnelle de la GMAO ...................................................... 293.1.4 Système cible ............................................................................................ 313.2 Étude technique ................................................................................................ 323.2.1 Système source ......................................................................................... 323.3 Conclusion ....................................................................................................... 36Chapitre 4 ........................................................................................................................ 37Etude comparative des outils de migration ..................................................................... 37
  • 12. Table des matièresProjet de Fin d’Etudes 2013-2014134 Étude comparative des outils de migration ................................................................ 384.1 Méthode de migration ....................................................................................... 384.2 Choix de l’ETL................................................................................................. 404.2.1 Critères de comparaison ............................................................................ 404.3 Bilan de comparatif .......................................................................................... 454.4 Outil de rétro-ingénierie.................................................................................... 454.5 Conclusion ....................................................................................................... 46Chapitre 5 ........................................................................................................................ 47Conception de l’ETL et Réalisation de la migration ......................................................... 475 Conception de l’ETL et Réalisation de la migration .................................................. 485.1 Rétro-ingénierie de l’OpenERP 6.1 ................................................................... 485.1.1 Module de base ......................................................................................... 485.1.2 Module produit ......................................................................................... 495.1.3 Module gestion de stock............................................................................ 495.1.4 Module comptabilité ................................................................................. 505.1.5 Module ressources humaines ..................................................................... 505.1.6 Module gestion d’achat ............................................................................. 515.1.7 Module GMAO......................................................................................... 515.2 Mapping entre OpenERP 6.1 et Odoo 8 ............................................................ 525.2.1 Les principales changements dans l’architecture ....................................... 525.2.2 La Conception de l’ETL............................................................................ 545.3 Conclusion ....................................................................................................... 596 Conclusion générale ................................................................................................. 607 Bibliographie et webographie ................................................................................... 61
  • 13. Migration des données et portage du module GMAOProjet de Fin d’Etudes 2013-201414Introduction généraleDans un contexte toujours très concurrentiel sur tous les niveaux, L’ERP constitue l’outil idéal pour l’organisation et l’optimisation du fonctionnement globale de l’entreprise, c’est l’un des facteurs d’efficacité et de compétitivité. Il est l’outil essentiel pour automatiser et optimiser les processus métier, il intègre les principales composantes fonctionnelles de l'entreprise, comptabilité, gestion de stock, gestion de production, gestion commerciale, logistique, ressources humaines, contrôle de gestion etc.La prise de décision est devenue cruciale pour les dirigeants d'entreprises. L'efficacité de cette prise de décision repose sur la mise à disposition d'informations pertinentes et d'outils adaptés, Aujourd’hui les ERP comportent les outils de pilotage et d’aide à la décision appropriés.A cet effet, les entreprises s’engagent à lancer les projets de migration vers les Progiciels de Gestion Intégrées les plus récents pour bénéficier des dernières nouveautés techniques et fonctionnelles offert par ces produits, aussi les modules métiers pris en charge nativement dans les novelles versions.C’est dans cette optique que s’inscrit mon projet de fin d’étude, qui consiste à réaliser la migration des données du système existant OpenERP 6.1 à Odoo 8 et le portage du module GMAO à la nouvelle version en faveur d’un client de la société NEXTMA.La migration va être établie pour tous les composants fonctionnels utilisés par l’entreprise cliente, comptabilité, gestion de stock, Achat et vente, gestion des ressources humaines etc. Ainsi les modules métiers développés spécifiquement pour ce client, le module GMAO et le module TMS (Transport Management System).Apres la migration nous devons effectués des tests fonctionnels pour vérifier l’intégrité des données sur le nouveau système, et enfin assurer une formation aux utilisateurs et les aider à s’adapter au nouveau système.
  • 14. Migration des données et portage du module GMAOProjet de Fin d’Etudes 2013-201415Ce rapport se compose de cinq chapitres dont la description détaillée est comme suit. Dans le premier chapitre, nous présenterons l’organisme d’accueil. Ensuite, dans le deuxième chapitre, nous allons présenter le projet et la démarche. Dans le troisième chapitre, nous détaillerons les aspects techniques et fonctionnels du système source et système ciblePuis, dans le quatrième chapitre, nous allons argumenter nos choix des outils de réalisation de migration suivant des critères techniques et fonctionnels.Et enfin, le dernier chapitre sera dédié à nos réalisations concernant la migration.
  • 15. Projet de Fin d’Etudes 2013-201416Chapitre 1Présentation de l’organisme d’accueilDans ce chapitre, nous allons présenter l’organisme d’accueil, à savoir la société de service en logiciels libres NEXTMA
  • 16. Migration des données et portage du module GMAOProjet de Fin d’Etudes 2013-2014171 Présentation de l’organisme d’accueil1.1 La Société NEXTMANEXTMA est une Société de Services en Logiciels Libres (SSLL) qui accompagne les entreprises et institutions dans le choix des solutions open source ainsi que dans l'intégration, le développement, l'adaptation aux besoins spécifiques, la maintenance et le support. Afin de bénéficier des meilleures solutions libres dans la gestion des systèmes d'information.NEXTMA a développé une expertise autour d’OpenERP depuis 2006 (premier partenaire officiel OpenERP au Maroc en 2007) et a contribué à faire connaître cet ERP open source au Maroc à travers plusieurs déploiements réussis dans les PME marocaines et des conférences dans les universités et adapte celui-ci à la législation marocaine et aux besoins spécifiques des entreprises.Figure 1 : logo et slogan NEXTMA
  • 17. Migration des données et portage du module GMAOProjet de Fin d’Etudes 2013-2014181.2 Prestations et servicesNEXTMA offre une large palette de prestations et de services basés sur des composants libres adaptés aux systèmes et aux réseaux des clients. La principale tâche de cette société est d’offrir des solutions sur mesure, en matière de formation et d’assistance, concernant les problématiques relevant des systèmes d’informations, moyennant des outils libres.La gamme de services de NEXTMA est articulée autour de quatre axes majeurs qui permettent d'accompagner les clients durant toutes les phases d'un projet afin d'assurer sa réussite en :- Formation : L’offre des formations, techniques et fonctionnelles, permet d'accompagner les organisations qui disposent d’équipes opérationnelles capables de mener à bien des projets. Ces formations peuvent être établies sous forme de transferts de compétences, en phases avals des projets.- Support : En plus des offres de formations, la société propose aux équipes dédiées au développement, des prestations de support d’aide à la maintenance, afin de réduire le temps de résolution des interrogations ou des difficultés que les entreprises pourraient rencontrer lors de la mise en oeuvre de certains logiciels.- Conseil : NEXTMA possède une équipe formée de consultants techniques et fonctionnels qui assure soit dans le cadre de projets, soit en amont, des missions de conseil dans les domaines suivants: gestion de contenu, travail collaboratif, dématérialisation des procédures, migration vers le libre, architecture et dimensionnement d'applications basées sur OpenERP…etc.- Développement : le coeur métier de NEXTMA et comprend le développement sur la base de logiciels libres, de portails collaboratifs internet ou intranet, avec des composantes de publication web, de travail collaboratif, de gestion électronique de documents et de workflow.
  • 18. Migration des données et portage du module GMAOProjet de Fin d’Etudes 2013-2014191.3 Secteurs d’activitésDe part les multiples projets que NEXTMA a mené, elle a acquis un savoir faire susceptible de lui permettre l’implantation de logiciels libres dans les différents secteurs.- Enterprise Ressource Planning (ERP)NEXTMA est le partenaire officiel de l’ERP open source OpenERP au Maghreb depuis 2006. Elle adapte celui-ci à la législation marocaine et aux besoins spécifiques des entreprises.- Customer Relationship Management (CRM)NEXTMA propose l’offre SUGARCRM qui permet la gestion de la relation client.- Business Intelligence (BI) ou informatique décisionnelle.- Intranet des entreprises et gestion des contenus- Création d’identités visuelles et sites Internet institutionnels et e-CommerceLa solution proposée est SMARTSHOP qui une solution libre de e-commerce (commerce électronique) qui s'appuie sur le gestionnaire contenu Joomla.- Gestion électronique des documentsIl s’agit d’un système informatisé d’acquisition, classement, stockage et archivage des documents.1.4 RéférencesNEXTMA compte plusieurs déploiements réussît d’OpenERP dans des PME marocaines, parmi les références :
  • 19. Migration des données et portage du module GMAOProjet de Fin d’Etudes 2013-201420Figure 2 : Références de NEXTMA
  • 20. Projet de Fin d’Etudes 2013-201421Chapitre 2Cadre générale du projetDans ce chapitre, nous allons présenter une description générale du projet ainsi que les problématiques et les objectifs qui lui sont liés
  • 21. Migration des données et portage du module GMAOProjet de Fin d’Etudes 2013-2014222 Cadre générale du projet2.1 Présentation du projetJour après jour les entreprises mettent le point sur leurs choix des ERP pour bénéficier des nouvelles fonctionnalités et rester en amont des autres concurrents, c’est pour ca les entreprises démarrent les projets de migration vers les systèmes récents. A cet effet, notre projet de fin d’étude consiste à conduire une migration du l’ERP existant OpenERP v6.1 vers Odoo v8 et le portage du module GMAO,Notre travail est de veiller à la récupération de plusieurs éléments fonctionnels depuis l’ERP source puis de les adapter aux contraintes techniques et fonctionnelles du nouvel environnement à savoir la base des données liée a l’ERP cibleAinsi, notre mission comporte le portage et l’adaptation du GMAO, un module métier développé spécifiquement pour le client et existe nativement dans la nouvelle version.2.2 ProblématiqueLes entreprises sont de plus en plus besoin de bénéficier des dernières nouveautés techniques et surtout fonctionnelles offert par les ERP, utilisé les données pour sortir les indicateurs de performance, Odoo est depuis la version 7 a introduit un système de gestion d’entrepôt très efficace, apporte une amélioration importante de l'ergonomie et de la facilité d'utilisation de l'interface Web, les nouvelles fonctionnalités de CMS et de e- commerce et l’amélioration du point de vente, donc les entreprise prennent le choix de passer vers les versions les plus évolués.L’éditeur a introduit aussi une nouvelle politique de prix pour les contrats de maintenance. Auparavant, le prix dépendait uniquement du nombre d'utilisateurs, désormais, le prix dépend à la fois du nombre d'utilisateurs et du nombre d'applications installées sur Odoo.
  • 22. Migration des données et portage du module GMAOProjet de Fin d’Etudes 2013-201423La migration des bases des données est un service payant offert par l’éditeur d’Odoo, mais il ne supporte pas les transformations spécifiques et le recodage des données pour les clients, par exemple recoder les bons de commande durant la migration.Figure 3 : Processus de migration de l'éditeurL’éditeur d’Odoo a annoncé que seul le client est responsable de nettoyage de la base de données et que la garantie de la migration ne concerne que les modules standards/certifiés.L’éditeur n’assure pas le nettoyage, la conversion et la transformation intermédiaire des données.2.3 ObjectifsPour répondre à la problématique abordée ci-dessus, nous serons amenés à réaliser une migration du système d’information existant qui est intégrés sous l’ERP OpenERP 6.1 vers l’ERP Odoo 8, et cela pour une meilleure maitrise des processus métier de l’entreprise cliente, une analyse fonctionnelle du module métier GMAO et assurer son portage vers la nouvelle version, ainsi la formation des utilisateurs de l’entreprise cliente sur le nouveau système
  • 23. Migration des données et portage du module GMAOProjet de Fin d’Etudes 2013-201424En résumé, on pourrait décliner la finalité du travail qui nous a été assigné dans les objectifs suivants :- Réaliser la montée vers la version 8 de Odoo et assurer l’environnement matériel et logiciel- Un mapping entre OpenERP 6.1 et Odoo 8 pour touts les modules (Comptabilité, Stock, Achats, Ventes, Ressources humaines, produits et listes des prix etc.) sans oublié les modules spécifiques de ce client.- Procéder à la migration des données entre les deux ERP- Assurer l’intégrité des données par les tests fonctionnels.- Portage de la GMAO- Rédaction des guides d’utilisation- Formation des utilisateurs sur site de production2.4 Conduite de projetLa conduite de projet est une démarche visant à organiser de bout en bout le bon déroulement d’un projet, la démarche sera décortiquée en quartes principales phases:
  • 24. Migration des données et portage du module GMAOProjet de Fin d’Etudes 2013-201425Phases Tâches Livrables Phase avant projet- Prise de connaissance du contexte et métier de l’entreprise cliente.- Environnement du projet.- Document du contexte et motivation du projet. Etude technique et fonctionnelle- Comprendre et se familiariser avec les données.- Tenir des réunions avec les responsables et les utilisateurs.- rédiger les spécifications fonctionnelles- fixer les choix techniques- Un document de spécification des besoins découlant de l’analyse et de l’expression des besoins du client. Réalisation de la migration- étudier le système cible.- préparer les scriptes de migration.- tester l’intégrité des données et le bon fonctionnement du nouveau système.- La base de données créée conformément à la conception livrée. Formation des utilisateurs- préparer les scenarios d’utilisation- formation sur site de production- Un document de guide d’utilisation.Tableau 1 : Méthodologie de conduite du projet2.5 ConclusionL’objectif de ce chapitre était une présentation générale du projet, sa problématique et ses objectifs, dans les chapitres qui suivent, nous allons détailler toutes les phases présentées dans la conduite du projet ci-dessus
  • 25. Migration des données et portage du module GMAOProjet de Fin d’Etudes 2013-201426Chapitre 3Etude technique et fonctionnelleCe chapitre présente l’étude et critique de l’existant, ainsi la rédaction des cahiers de charge technique et fonctionnel
  • 26. Migration des données et portage du module GMAOProjet de Fin d’Etudes 2013-2014273 Étude technique et fonctionnelle3.1 Étude fonctionnelle3.1.1Etude de l’existantLa version actuelle de l’OpenERP version 6.1 avec laquelle travaille le client de NEXTMA est sortie en février 2011, elle a fait preuve d’un manque de flexibilité, une faiblesse fonctionnelle, interface web classique, un système décisionnel très limité, ainsi que des défauts de navigation. Ces problèmes entravent le bon déroulement des projets d’intégration SI (paramétrage et/ou développement spécifique).A cet effet, et pour bénéficier des nouveautés de l’OpenERP. Le client a décidé de procéder à une montée en version de son ERP vers une intégration sous le progiciel Odoo version 8, dernière version de ce progiciel.Figure 4 : Interface OpenERP 6.1
  • 27. Migration des données et portage du module GMAOProjet de Fin d’Etudes 2013-2014283.1.2Couverture fonctionnelle de la migrationLa migration devrait inclure tous les composants fonctionnels de l’entreprise cliente. Le système migré constituera le nouveau framework de travail, Donc nous devons concevoir un mappage fonctionnel entre le schéma source de la base des données liée à l’OpenERP 6.1 et le schéma cible lié à Odoo 8 en respectant les propriétés et les contraintes de chaque système.L’entreprise cliente travaille avec plusieurs composants fonctionnels de l’ERP, parmi ces composants :- Gestion de ressources humaines- Gestion de stock- Comptabilité- Gestion d’achat- Gestion de ventes- Gestion commerciale- Gestion d’entrepôt- CRMAinsi les composants métiers spécifiques :- GMAO- TMSLa migration devrait inclure aussi des transformations spécifiques :- Un remplacement des numéros des comptes comptables des clients et des fournisseurs, l’entreprise cliente a met a notre disposition un document Excel contient les anciens numéros des comptes comptables et les nouveaux.- La suppression de plusieurs produits qui sont plus utilisés par l’entreprise cliente mais par contre il faut garder les mouvements de stock, les factures, les
  • 28. Migration des données et portage du module GMAOProjet de Fin d’Etudes 2013-201429bons de commande qui inclurent ces produits, c'est-à-dire sans supprimer l’historique et les traces de ces articles du système après la migration.3.1.3Couverture fonctionnelle de la GMAOLa GMAO permet la gestion et le pilotage de l’activité de maintenance au sein de l’entreprise afin de l'aider dans ses missions, nous avons résumé les besoins du client en termes de fonctionnalités suivantes :Figure 5 : fonctionalités de la GMAO
  • 29. Migration des données et portage du module GMAOProjet de Fin d’Etudes 2013-201430- Gestion des maintenances de déférents types (correctives, préventives).- Planification des alertes et les rappels automatiques (visite technique, vidange, kilométrage maximale des pneus)- Gestion des stocks de magasin (stock minimum des pièces de rechange …)- Gestion des achats des pièces ou services- Planification et optimisation des interventions- Gestion documentaire liée aux interventions (rapports, photos des pièces de rechange…)- Affectation des personnels aux actions de maintenance- Affectation des pièces de rechange à une maintenance depuis le magasin de stock (magasin virtuel d’affectation)- Suivi des coûts de maintenances- Gestion du cycle de vie du matériel- Gestion des types de maintenance, types de panne et sous-panne- Suivi de consommation des ressources (huile, filtres, pièces….)- Statistiques et tableaux de bord- Générations des rapports- Historisation- Saisie des temps de main d’oeuvre et des travaux effectués- Les options de tri et de recherche- Génération des indicateurs de performance (Aide à la décision)- Utilitaires d’importation et d’exportation
  • 30. Migration des données et portage du module GMAOProjet de Fin d’Etudes 2013-2014313.1.4Système cibleLa nouvelle version majeure Odoo 8 suit la version 7 qui a remporté un franc succès auprès des utilisateurs, avec cette version les utilisateurs pourront profiter d'un gestionnaire de sites internet (CMS) complètement intégré avec l'ERP, un gestionnaire de blog prometteur, Il pourra, dans certains cas, devenir une alternative à une interface entre Odoo et un outil comme WordPress, des fonctionnalités complètes pour l'e-commerce sont intégrées, le système de gestion d'entrepôts a été revu en profondeur avec l'aide d'intégrateurs proches du terrain pour répondre aux différentes problématiques logistiques.Figure 6 : Support des versions OpenERPUn nouveau moteur de rapport d'éditions permettra de faciliter la gestion des rapports et de rendre les utilisateurs plus autonomes dans la personnalisation et la maintenance des éditions de pièces commerciales (factures, devis etc.).Le décisionnel fait désormais partie de la feuille de route de l'éditeur, avec l'intégration de cubes (outils d'agrégation de données multi-applications), ainsi des nouveaux efforts sont portés sur l'amélioration des gestionnaires de fenêtres et des vues graphiques.La nouvelle interface de programmation (API) / framework, qui prend en compte les besoins des programmeurs, pour le portage des modules de la version 7 à la version 8, les API sont interopérable, par contre la version 6.1 ne l’est pas, A cet effet, les modules métiers du système actuel doivent être portés et adaptés a la version 8.
  • 31. Migration des données et portage du module GMAOProjet de Fin d’Etudes 2013-201432Figure 7 : Interface Odoo 83.2 Étude techniqueLe système OpenERP est basé sur une architecture 3-tiers, avec PostgreSQL comme serveur de base de données qui peut contenir plusieurs bases de données, alors les deux systèmes de gestion de base de données sont compatibles3.2.1Système sourceLa base de donne du système source est composé de plus de 500 tables dont notre mission est de réaliser un plan de migration des données avec le choix des tables à migrer, tout en réduisant les risques de manière importante et gardant la cohérence fonctionnelle du nouveau système.Nous allons citer dans des tableaux chaque module avec ses tables à migrer, sachant qu’il y’a des tables qui sont remplies par défaut des données durant l’installation des modules associés, donc il faut adapter les nouvelles données aux celles par défaut.
  • 32. Migration des données et portage du module GMAOProjet de Fin d’Etudes 2013-201433Voici une liste des noms tables principales utilisées dans OpenERP et leurs utilisations fonctionnelles. Module de base Nom de la table Descriptionres_usersUtilisateursres_partnerPartenaire (client ou fournisseur)res_partner_addressAdresses du partenaireres_langLangage d’OpenERPres_groupsDroits d’accès des groupesres_currencyDeviseres_companyEntreprise (Multi-sociéte)Tableau 2 : Tables principales du module de base Module ProduitNom de la table Descriptionproduct_categoryCatégorie de produitsproduct_productProduit ou serviceproduct_templateModèle de produitproduct_pricelist_itemListe des prixproduct_pricelist_versionVersion des listes des prixTableau 3 : tables principales du module produit
  • 33. Migration des données et portage du module GMAOProjet de Fin d’Etudes 2013-201434 Module ComptabilitéTableau 4 : tables principales du module comptabilité Module Gestion d’achatTableau 5 : tables principales du module AchatNom de la table Descriptionaccount_accountCompte client et fournisseuraccount_analytic_accountComptes analytiqueaccount_analytic_journaljournal analytiqueaccount_fiscalyearAnnée fiscaleaccount_invoiceFactureaccount_invoice_taxTax des facturesaccount_journalJournal comptableaccount_moveEcritures comptables Nom de la table Descriptionpurchase_orderBon d’achatpurchase_invoice_relFacture de bon d’achatpurchase_order_taxeTax de bon d’achat
  • 34. Migration des données et portage du module GMAOProjet de Fin d’Etudes 2013-201435 Module Gestion de stockNom de la table Descriptionstock_inventoryInventaire de stockstock_locationEmplacement de stockstock_moveMouvement de stockstock_partial_moveMouvement partiel de stockstock_warehouseEntrepôt de stockTableau 6: tables principales du module stock Module Resource humaineTableau 7 : tables principales du module ressources humainesNom de la table Descriptionhr_departmentdépartementhr_employeeLes employéeshr_employee_categoryCatégorie des employéeshr_jobMissionproduct_pricelist_versionVersion des listes des prixaccount_moveMouvement de compte
  • 35. Migration des données et portage du module GMAOProjet de Fin d’Etudes 2013-2014363.3 ConclusionLes tables citées ci-dessus se sont que les tables principales de chaque module, il reste encore d’autres moins importants, et les tables de référencement.Le chapitre suivant sera dédié au choix des outils de migration, ainsi l’outil idéal pour la retro-ingénierie.
  • 36. Migration des données et portage du module GMAOProjet de Fin d’Etudes 2013-201437Chapitre 4Etude comparative des outils de migrationDans ce chapitre, nous allons présenter les résultats des études comparatives menées pour le choix des outils de migration à utiliser dans notre projet.les comparatifs concerner le choix de l’ETL qui va mettre en place le système de migration, ainsi l’outils de reverse engineering
  • 37. Migration des données et portage du module GMAOProjet de Fin d’Etudes 2013-2014384 Étude comparative des outils de migration4.1 Méthode de migrationLe choix le plus difficile dans tout projet d'intégration/migration de données consiste à déterminer quelle méthode doit être mise en oeuvre :- Faut-il créer du code spécifique (procédures SQL, code python ou code Java) ?- Faut-il utiliser un ETL ?La première solution semble intéressante, car elle permet de rester au plus près des spécificités métiers des données à traiter.Cependant, cette solution peut s'avérer coûteuse à long terme, tout simplement car l'évolutivité constante des données métier entraîne une nécessaire adaptation des traitements d'intégration. Celle-ci n'est pas toujours facile à gérer, surtout si les équipes projets évoluent au cours du temps.La deuxième solution va permettre de mettre en oeuvre très rapidement les traitements d'intégration, les ETL disposent d'une interface graphique permettant l'élaboration des différents scénarios d'intégration.Figure 8 : ETL
  • 38. Migration des données et portage du module GMAOProjet de Fin d’Etudes 2013-201439Le travail est ainsi grandement facilité, tant au niveau de la conception que de la maintenance des traitements de données. Tandis que NEXTMA est une SSLL qui s’implique dans la culture de l’Open Source et les logiciels libres, sachant que les ETL Open Source peuvent répondre de façon équivalente à la plupart des ETL propriétaires disponibles sur le marché.Donc nous bénéficions des avantages d'un ETL tout en gardant une maîtrise lissée des coûts, aucune licence n'est à payer, parmi ces avantages :- Maintenance moins coûteuse- Conception rapide- Lecture/Ecriture des données sur un large choix de supports- production automatique des rapports de mise en correspondance des données et d’analyse de dépendance de données.- Une très bonne performance même pour une grande quantité de données.Voici une liste des ETL Open Source :- Talend Open Studio (TOS) : un produit d'ETL particulièrement complet, il génère directement les tâches de transformation en Java ou en PERL et dispose de multiples connecteurs pour les principaux produits logiciels d'entreprises.- Pentaho Data Integration (PDI) : la solution d'ETL Kettle intégrée au sein du projet Pentaho.- Enhydra Octopus : un outil d'Extraction, Transformation, Loading. Il se connecte aux bases de données sous JDBC et s'appuie comme il se doit sur un schéma XML.- Clover ETL : une solution d'intégration des données écrite en Java.- Ketl : un produit d'ETL basé sur une architecture Java.
  • 39. Migration des données et portage du module GMAOProjet de Fin d’Etudes 2013-2014404.2 Choix de l’ETLNous avons décidé de limité la comparaison sur les solutions PDI et Talend car se sont des solutions gratuites et open source et qui font parti des solutions les plus complets et reconnus. Talend Open StudioActuellement en version 5, Talend Open Studio (TOS) est édité par la société Talend. Talend est un ETL dont l'interface graphique s'appuie sur Eclipse RCP et est de type "générateur de code" : un code spécifique est généré (et visible) pour chaque traitement d'intégration de données. Pentaho Data IntegrationEgalement connu sous le nom de Kettle, actuellement en version 5, PDI est un ETL dont l’interface basée sur Java SWT. PDI embarque en effet la totalité du code nécessaire dans son noyau et ne traite ainsi que les flux de données. Ainsi, un traitement Kettle peut être stocké sous forme de fichier plat (XML) ou bien dans un SGBD.4.2.1Critères de comparaison4.2.1.1 Critères Fonctionnelles Fonctionnalités : couverture fonctionnelle du logiciel (métadonnées, transformations etc.). Talend- Génération de code Java ou Perl à partir des Jobs créées par l'utilisateur.- Récupération des schémas des tables automatiquement en se connectant à celles-ci
  • 40. Migration des données et portage du module GMAOProjet de Fin d’Etudes 2013-201441- Génération automatique de la documentation- Traitements spécifiques par ajout de code en Java- Composants principaux : SGBD, transformation, association, agrégation, filtrage, LDAP, XML, accès fichiers...- Mode debug/traçage permettant de visualiser pas à pas le traitement effectué- Modifier le code du logiciel en fonction de ses besoins (le code doit être sous licence GPL)- Composants spécifiques : FTP, POP/SMTP, Shell...- Composants personnels- Création de ses propres composants (écris en Java ou Perl)- Utilisation de ceux de la communauté- Des composants (non connecteurs) permettent d'attraper les exceptions. Les erreurs peuvent ainsi être gérés et affichés dans une console ou un fichier de log.- Jouer un scénario différent en cas d’échec d’un composant. PDI- Utilisation de JavaScript pour le traitement- spécifique de types primitifs- Traitement FTP- Communication avec serveur LDAPPDI est constituée de plusieurs composantes :- Spoon est l’outil permettant de créer graphiquement des transformations, de les exécuter et les sauvegarder. Des étapes sont ajoutées à la tâche de transfert à l'aide de glisser-déposer.- Kitchen permet l'exécution d'une transformation en ligne de commande, il a été créé pour la planification des tâches de transferts (Compatible Windows et Linux).- Pan permet quant à lui l'exécution de transformations en ligne de commande.
  • 41. Migration des données et portage du module GMAOProjet de Fin d’Etudes 2013-201442 Performance : temps d’exécution des taches.Lancement d’un test de filtrage des données et lookup donne les résultats représentés dans le graphe suivant :Figure 9 :graph de comparaison en performance entre ETL
  • 42. Migration des données et portage du module GMAOProjet de Fin d’Etudes 2013-201443 Convivialité : qualité de l'interface utilisateur et de l'accessibilité du logiciel.PDI TOSMapping graphique++Drag and drop (Glisser/déposer)++Représentation graphique des flux++Visualisation des données en cours de développement++Tableau 8 : comparaison en convivialité entre ETL Qualité : qualité de la conception, du code et des tests.PDI TOSGestion des erreurs d'intégration-+Outils de debugging++Compilation des traitements-+Possibilité de traitements par un langage de programmation++Fonctions statistiques de qualité-+Tableau 9 : comparaison en qualité entre ETL
  • 43. Migration des données et portage du module GMAOProjet de Fin d’Etudes 2013-2014444.2.1.2 Critères techniques Référentiel vers métadonnées : un historique des Jobs/Fichiers manipulés, et une description détaillée de ceux-ci (structure/format).PDI TOSRéférentiel vers métadonnées++Tableau 10 : comparaison en référentiel ver métadonnées entre ETL Outil de création de requêtes : possibilité de pré-visualiser le contenu d’une base de données via des requêtes : SELECT, UPDATE etc. sous l’ETL.PDI TOSOutil de création de requêtes++Tableau 11 : comparaison en outil de création des requêtes entre ETL Validité des fichiers plats : possibilité de valider la structure d’un fichier CSV/XML/Excel etc. Au préalable, conformément à un schéma prédéfini par l’outil de l’ETL.PDI TOSValidité des fichiers plats-+Tableau 12 : comparaison en validité des fichiers plats entre ETL
  • 44. Migration des données et portage du module GMAOProjet de Fin d’Etudes 2013-2014454.3 Bilan de comparatifLes deux ETL, Talend et pentaho, proposent l'ensemble des fonctionnalités nécessaires à un ETL. D’après cette étude, nous avons met le choix sur Talend pour réaliser la migration, c’est l’ETL le plus adapté au contexte de notre projet.Voici deux figures qui représentent les caractéristiques de chaque ETL réalisés par Smile, un intégrateur français des solutions open source.4.4 Outil de rétro-ingénierieL'ingénierie inverse permet de créer des représentations graphiques détaillées et enrichies des environnements de base de données. Cette technique consiste à se connecter sur la base de données physique et de convertir les informations contenues, en un modèle de données. Le schéma résultant de la rétro-ingénierie présente alors les entités, les attributs, les clés primaires, les relations ainsi que les cardinalités des relations.Nous avons fixé le choix sur DbVisualizer, une application universelle de bases de données spécialement conçue pour les développeurs, les administrateurs de bases de données et les analystes. Il est la solution parfaite qui accèdent à un large éventail de basesFigure 11 : caractéristiques de PDIFigure 10 : Caractéristiques de TOS
  • 45. Migration des données et portage du module GMAOProjet de Fin d’Etudes 2013-201446de données. Ce programme permet à l'utilisateur de naviguer à travers les données. Il peut éditer chaque objet et afficher même les plus petits détails. La structure des bases de données est configurable selon les besoins de l'utilisateur.Figure 12 : interface DbVisualizer4.5 ConclusionCe chapitre a présenté les résultats de comparaison menés pour le choix des outils de migration les plus adaptés à notre projet. Nous avions le choix entre deux ETL, TOS et PDI, nous avons comparé les ETL retenus suivant des critères d’évaluation Techniques et fonctionnels) pour trancher finalement sur le plus puissant et le plus approprié.Ce comparatif a mené au choix de TOS comme outil de migration.Le chapitre suivant fera l’objet de la réalisation de la migration.
  • 46. Migration des données et portage du module GMAOProjet de Fin d’Etudes 2013-201447Chapitre 5Conception de l’ETL et Réalisation de lamigrationDans ce chapitre, nous allons présenter la conception de l’ETL par la comparaison des schémas, puis la réalisation de la migration
  • 47. Migration des données et portage du module GMAOProjet de Fin d’Etudes 2013-2014485 Conception de l’ETL et Réalisation de la migration5.1 Rétro-ingénierie de l’OpenERP 6.1Dans cette section nous avons réalisé une rétro-ingénierie des principaux modules de l’OpenERP 6.1 à l’aide de l’outil DbVisualizer pour comprendre les relations entre les différents objets du system et designer les tables qui vont être migré vers Odoo 8.Dans les schémas qui suivent, Nous n’allons pas représenter les noms des champs des tables, les clés primaires et les clés étrangères. Pour des raisons de clarté nous représenterons que les noms des tables et les relations entre eux.5.1.1 Module de baseLe module qui fournit les objets de base : utilisateurs, clients, fournisseurs, langues pays, devises etc.Figure 13 : MCD module de base
  • 48. Migration des données et portage du module GMAOProjet de Fin d’Etudes 2013-2014495.1.2 Module produitFigure 14 : MCD module Produits et liste des prix5.1.3 Module gestion de stockFigure 15 : MCD module gestion de stock
  • 49. Migration des données et portage du module GMAOProjet de Fin d’Etudes 2013-2014505.1.4 Module comptabilitéFigure 16 : MCD module comptabilité5.1.5 Module ressources humainesFigure 17 : MCD module ressources humaines
  • 50. Migration des données et portage du module GMAOProjet de Fin d’Etudes 2013-2014515.1.6 Module gestion d’achatFigure 18 : MCD module gestion d'achat5.1.7 Module GMAOFigure 19 : MCD module GMAO
  • 51. Migration des données et portage du module GMAOProjet de Fin d’Etudes 2013-2014525.2 Mapping entre OpenERP 6.1 et Odoo 8La nouvelle version a subit plusieurs changements fonctionnels, surtout que la monté de la version 6.1 vers la version 8 est passée par une version intermédiaire, l’OpenERP 75.2.1 Les principales changements dans l’architectureNous avons fait une comparaison des modèles conceptuels de données des deux versions, et voici quelques différencesFigure 20 : MCD partenaire OpenERP 6.1Figure 21 : MCD partenaire Odoo 8
  • 52. Migration des données et portage du module GMAOProjet de Fin d’Etudes 2013-201453Figure 22 : MCD employé OpenERP 6.1Figure 23: MCD employé Odoo 8
  • 53. Migration des données et portage du module GMAOProjet de Fin d’Etudes 2013-201454Figure 24 : MCD email OpenERP 6.1Figure 25 : MCD email Odoo 85.2.2 La Conception de l’ETLComme expliqué précédemment , les outils ETL gèrent toutes les étapes de la collecte de données au sein des systèmes d’information hétérogènes : SGBD, applications spécifiques, fichiers plats, bases hiérarchiques et base des ERP, depuis le nettoyage de données collectées, la consolidation et la mise en concordance des données éparses jusqu’à leur distribution auprès des applications cibles ou des systèmes décisionnels (analyse, tableaux de bord, etc.).L’ETL se déroule en trois étapes majeures : l’extraction, la transformation et le chargement des données.
  • 54. Migration des données et portage du module GMAOProjet de Fin d’Etudes 2013-201455- Extraction des données sources : C’est un processus important car c’est lors de ce processus que nous devrons résoudre les problèmes d’intégration et de qualité des données.- Transformation : Application de filtre, agrégation, traitement des données manquantes ou aberrantes et contrôle des rejets, intégrité et cohérence.- Chargement des données : synchronisation des chargements, transfert de fichiers ou transfert de base à base.- Données de stockage : cette première étape porte sur la consolidation des données source, pour notre cas, les sources de données sont :- Système de production (PostgreSQL).- OpenERP 6.1Pour procéder la migration nous devons créer les jobs Talend, ils permettent l’extraction, la transformation et le chargement des données. Nous allons extraire les données de la base des données source liée à l’OpenERP 6.1, faire les conversions de données nécessaires, alimenter les tables qui se correspondent, et faire des jointures entre les tables lorsque cela est nécessaire. Cette phase est la plus critique de l’ETL par ce que une simple erreur peut provoquer un bug sur l’environnement cible de la migration. Migration des partenairesFigure 26 : job de migration des partenaires
  • 55. Migration des données et portage du module GMAOProjet de Fin d’Etudes 2013-201456Figure 27 : schéma de mapping des partenaires Migration des employésFigure 28 : job de migration des employés
  • 56. Migration des données et portage du module GMAOProjet de Fin d’Etudes 2013-201457 Importation des plans comptablesL’importation se fait depuis un fichier csv avec l’utilisation des agrégations et des jointures.Figure 29 : Job d'importation des plans comptablesDans cette importation nous avons utilisé une Routine pour passer les valeurs et les données appropriées aux tables cibles par des tests de sélection sur les données sourcesLa routine permet de choisir entre les types de compte à passer, compte client ou compte fournisseur, selon la valeur retourné a partir du test fait sur les deux données boolean passer en paramètres, customer (client) et suplier ( fournisseur).Figure 30 : Routine de sélection
  • 57. Migration des données et portage du module GMAOProjet de Fin d’Etudes 2013-201458Nous avons utilisé cette routine pour des opérations de concaténation sur les codes des plans comptables migrés pour réussir les tests de comparaison des codesFigure 31 : Routine de concaténationNous avons utilisé une autre routine pour corriger le problème des séquences de la base des données, durant l’alimentation nous devons mettre a jours le compteur des séquence pour la prise en charge des lignes insérées, A cet effet nous avons déclaré des variables de contextes qui permettent d’enregistrer la valeur du curseur de la table pour l’incrémenter a chaque insertion d’une nouvelle ligne.Figure 32 : Routine d'incrémentation des séquencesNous avons utilisé ces routines et d’autres dans les jobs de migration pour résoudre plusieurs problématiques liés à la transformation et la conversion des données, par exemple l’utilisation de la routine de sélection des types de compte dans le schéma de mapping des plans comptables ci-dessous.
  • 58. Migration des données et portage du module GMAOProjet de Fin d’Etudes 2013-201459Figure 33 : schéma de mapping des plans comptables5.3 ConclusionDans ce chapitre, nous avons présenté quelques travaux de conception des ETL et le procédé de la migration, ainsi les routines développées pour répondre aux besoins de transformation.Voici un aperçu de l’interface du system Odoo 8 après la migration.Figure 34: Exemple de contenu après la migration
  • 59. Migration des données et portage du module GMAOProjet de Fin d’Etudes 2013-2014606 Conclusion généraleLors du passage vers une nouvelle version d'une base de données ou d'une application, ou lors de la migration vers un nouveau système, les données doivent être préservées dans ce nouveau système. Après une fusion ou acquisition, les applications redondantes sont la plupart du temps abandonnées mais les données qu'elles contiennent doivent être préservées dans le système subsistant. Le but de la migration de données est de transférer les données existantes dans le nouvel environnement. Celles-ci doivent être transformées sous un format approprié pour le nouveau système et ce, tout en préservant l'information stockée dans l'ancien système.L’objectif du ce projet était la migration des donnes et le portage de la GMAO de l’OpenERP 6.1 vers Odoo 8, parmi les tâches réalisées, la montée en version et la migration de la base des données, par contre le portage est encours de réalisation puisque la nouvelle API est encore instable.Sur le plan technique, ce projet ayant touché à plusieurs domaines, il m’a permis d’acquérir de bonnes connaissances dans le domaine des ERP, ainsi que des techniques de rédaction fonctionnelle. Il m’a permis également d’approfondir mes connaissances en développement ETL.Sur le plan professionnel, ce stage a été une occasion pour moi d’améliorer et de faire un pas de plus dans le relationnel. J’ai également profité des multiples réunions tenues avec les responsables et les utilisateurs de l’entreprise cliente durant le stage pour améliorer ma communication et l’adapter à celle en entreprise où on est appelé à communiquer régulièrement et de façon efficace avec le client afin d’éviter tout malentendu et de pouvoir progresser vers les mêmes objectifs.Comme perspective, même si nous avons commencé travailler dedans, je propose d’automatiser le plus possible le processus de migration des données, une telle amélioration nécessite l’installation de touts les modules concernés par la migration, ce qui augmente la complexité du système et rend très difficile la gestion des dépendances et des relations entre objets.
  • 60. Migration des données et portage du module GMAOProjet de Fin d’Etudes 2013-2014617 Bibliographie et webographie[1] Smile, « Guide de l’open source », France, 2014.[2] les étapes de la migration des données :http://sinergique.com/2012/10/10/openerp-pour-une-montee-en-version-rapide-et- efficiente/[3] un article d’une expérience de déploiement Odoo dans les entreprises françaises :http://people.via.ecp.fr/~alexis/openerp/[3] le forum officiel d’Odoo :http://www.odoo.com/fr_FR/forum/help-1/
  • 61. Migration des données et portage du module GMAOProjet de Fin d’Etudes 2013-201462GlossaireAAPI : est une interface de programmation, une façade clairement délimitée par laquelle un logiciel offre des services à d'autres logiciels.DData mapping : ou mise en correspondance de données, est un procédé permettant de définir au niveau d'un langage de programmation la correspondance entre deux modèles de données.EETL : extracto-chargeur, il s'agit d'une technologie informatique intergicielle permettant d'effectuer des synchronisations massives d'information d'une source de données (le plus souvent une base de données) vers une autre. Selon le contexte, on est amené à exploiter différentes fonctions, souvent combinées entre elles : « extraction », « transformation », « constitution » ou « conversion », « alimentation ».ERP : est un ensemble de logiciels intégrant les principales fonctions nécessaires à la gestion des flux et des procédures de l'entreprise (comptabilité et finances, logistique, paie et ressources humaines, etc.). Tous ces logiciels accèdent à des ressources communes, en particulier des bases de données.GGMAO : est la gestion de maintenance assistée par ordinateur, une méthode de gestion assistée d'un logiciel destiné aux services de maintenance d'une entreprise afin de l'aider dans ses activités.JJOB : Unité de traitement principale, un job peut représenter un processus (ETL) simple ou une chaine complète de sous-processus.
  • 62. Migration des données et portage du module GMAOProjet de Fin d’Etudes 2013-201463Jointure : est l'opération permettant d’associer plusieurs tables ou vues de la base par le biais d’un lien logique de données entre les différentes tables ou vues, le lien étant vérifié par le biais d'un prédicat. Le résultat de l'opération est une nouvelle table.MMCD : ou Modèles Conceptuels de Données, est un modèle de données ou diagramme pour des descriptions de haut niveau. Il fournit une description graphique pour représenter de tels modèles de données sous la forme de diagrammes contenant des entités et des associations.RRetro-ingénierie : reconstituer un modèle de données à partir des structures physiques des fichiers ou des tables.Routine : est une entité informatique qui encapsule une portion de code (une séquence d'instructions) effectuant un traitement spécifique bien identifié (asservissement, transformation, calcul, etc.) relativement indépendant du reste du programme, et qui peut être réutilisé dans le même programme, ou dans un autre.TTransformation de données : est un Processus automatisé qui utilise les données brutes extraites pour les transformer selon les règles de gestion de l’entreprise et les préparer selon les besoins des utilisateurs.TMS : est un système de gestion du transport qui couvre un ensemble cohérent de briques fonctionnelles s’étendant sur les niveaux de décision stratégique, tactique, opérationnel et d’exécution.
  • Fly UP