63
Mémoire de Projet de Fin d’ Études Pour l’Obtention du Titre D’Ingénieur d’État en Informatique Option Ingénierie logicielle Sujet Migration des données et portage du module GMAO de OpenERP 6.1 vers Odoo 8 Soutenu par : Sous la direction de : Fouad ELOUAD M. Youness KHAMLICHI M. Abdrahman ELKAFIL Année Universitaire 2013-2014

Migration gmao de openerp 6.1 vers odoo 8

  • Upload
    nextma

  • View
    2.802

  • Download
    9

Embed Size (px)

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)

Citation preview

Page 1: Migration gmao de openerp 6.1 vers odoo 8

Mémoire de Projet de Fin d’Études

Pour l’Obtention du Titre

D’Ingénieur d’État en Informatique

Option

Ingénierie logicielle

Sujet

Migration des données et portage du module GMAO de OpenERP 6.1 vers Odoo 8

Soutenu par : Sous la direction de :

Fouad ELOUAD M. Youness KHAMLICHI

M. Abdrahman ELKAFIL

Année Universitaire 2013-2014

Page 2: Migration gmao de openerp 6.1 vers odoo 8
Page 3: Migration gmao de openerp 6.1 vers odoo 8

Dédicace

Je 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 sœur IMANE, que Dieu la garde et l’aide dans ses études.

Ma tante FATIMA

Toute ma famille

Tous mes amis

Page 4: Migration gmao de openerp 6.1 vers odoo 8

Projet de Fin d’Etudes 2013-2014 4

Remerciements

Au 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.

Page 5: Migration gmao de openerp 6.1 vers odoo 8

Projet de Fin d’Etudes 2013-2014 5

Ré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

Page 6: Migration gmao de openerp 6.1 vers odoo 8

Projet de Fin d’Etudes 2013-2014 6

Abstract

ERP 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.

Page 7: Migration gmao de openerp 6.1 vers odoo 8

Projet de Fin d’Etudes 2013-2014 7

ملخص

اآلن و يعد، الشركة بيانات إلدارة جميع مستودع مركزيهو موارد المؤسسة تخطيط

أي جانب لالستفادة من الشركات تسعى لهذا عملها بيئة الشركة في انخراط عامال رئيسيا في

.نظم تخطيط موارد المؤسسات جديد من

8إلى أودو 1.6يهدف هذا المشروع إلى نقل البيانات و المعلومات الموجودة في أوبن أورب

و ترقية وحدة إدارة الصيانة بالحاسب اآللي إلى اإلصدار الجديد لصالح أحد عمالء شركة

.نيكستما

مهمتنا هي إعداد إسكريبتات لتحويل البيانات وضمان سالمتهم عن طريق اختبارات وظيفية

النظام التكيف مع ومساعدتهم على للمستخدمين توفير التدريبأخيرا و نظام بعد الهجرةلل

.الجديد

Page 8: Migration gmao de openerp 6.1 vers odoo 8

Projet de Fin d’Etudes 2013-2014 8

Liste des abréviations

Abréviation Désignation

ERP Entreprise Resource Planning

ETL Extract Transform Load

PGI Progiciel de Gestion Intégré

GMAO Gestion de Maintenance Assistée par Ordinateur

TMS Transport Management System

SSLL Société de Services en Logiciels Libres

CRM Client Relationship Management

PME Petites et Moyennes Entreprises

BI Business Intelligence

CMS Content Management System

API Application Programming Interface

PDI Pentaho Data Integration

TOS Talend Open Studio

MCD Modèle Conceptuel de données

Page 9: Migration gmao de openerp 6.1 vers odoo 8

Projet de Fin d’Etudes 2013-2014 9

Table des figures

Figure 1 : logo et slogan NEXTMA ................................................................................. 17

Figure 2 : Références de NEXTMA ................................................................................. 20

Figure 3 : Processus de migration de l'éditeur ................................................................... 23

Figure 4 : Interface OpenERP 6.1 ..................................................................................... 27

Figure 5 : fonctionalités de la GMAO .............................................................................. 29

Figure 6 : Support des versions OpenERP ........................................................................ 31

Figure 7 : Interface Odoo 8 .............................................................................................. 32

Figure 8 : ETL ................................................................................................................. 38

Figure 9 :graph de comparaison en performance entre ETL .............................................. 42

Figure 10 : Caractéristiques de TOS ................................................................................. 45

Figure 11 : caractéristiques de PDI ................................................................................... 45

Figure 12 : interface DbVisualizer.................................................................................... 46

Figure 13 : MCD module de base ..................................................................................... 48

Figure 14 : MCD module Produits et liste des prix ........................................................... 49

Figure 15 : MCD module gestion de stock ....................................................................... 49

Figure 16 : MCD module comptabilité ............................................................................. 50

Figure 17 : MCD module ressources humaines................................................................. 50

Figure 18 : MCD module gestion d'achat ......................................................................... 51

Figure 19 : MCD module GMAO .................................................................................... 51

Figure 20 : MCD partenaire OpenERP 6.1 ....................................................................... 52

Figure 21 : MCD partenaire Odoo 8 ................................................................................. 52

Figure 22 : MCD employé OpenERP 6.1 ......................................................................... 53

Figure 23: MCD employé Odoo 8 .................................................................................... 53

Figure 24 : MCD email OpenERP 6.1 .............................................................................. 54

Figure 25 : MCD email Odoo 8 ........................................................................................ 54

Figure 26 : job de migration des partenaires ..................................................................... 55

Figure 27 : schéma de mapping des partenaires ................................................................ 56

Figure 28 : job de migration des employés ....................................................................... 56

Page 10: Migration gmao de openerp 6.1 vers odoo 8

Projet de Fin d’Etudes 2013-2014 10

Figure 29 : Job d'importation des plans comptables .......................................................... 57

Figure 30 : Routine de sélection ....................................................................................... 57

Figure 31 : Routine de concaténation ............................................................................... 58

Figure 32 : Routine d'incrémentation des séquences ......................................................... 58

Figure 33 : schéma de mapping des plans comptables ...................................................... 59

Figure 34: Exemple de contenu après la migration ........................................................... 59

Page 11: Migration gmao de openerp 6.1 vers odoo 8

Projet de Fin d’Etudes 2013-2014 11

Liste des tableaux

Tableau 1 : Méthodologie de conduite du projet ............................................................... 25

Tableau 2 : Tables principales du module de base ............................................................ 33

Tableau 3 : tables principales du module comptabilité ...................................................... 34

Tableau 4: tables principales du module stock .................................................................. 35

Tableau 5 : tables principales du module Achat ................................................................ 34

Tableau 6 : tables principales du module produit .............................................................. 33

Tableau 7 : tables principales du module resources humaines ........................................... 35

Tableau 8 : comparaison en convivialité entre ETL .......................................................... 43

Tableau 9 : comparaison en qualité entre ETL .................................................................. 43

Tableau 10 : comparaison en référentiel ver métadonnées entre ETL ................................ 44

Tableau 11 : comparaison en outil de création des requêtes entre ETL ............................. 44

Tableau 12 : comparaison en validité des fichiers plats entre ETL .................................... 44

Page 12: Migration gmao de openerp 6.1 vers odoo 8

Table des matières

Projet de Fin d’Etudes 2013-2014 12

Table des matières Liste des abréviations .........................................................................................................8

Table des figures ................................................................................................................9

Liste des tableaux ............................................................................................................ 11

Table des matières ........................................................................................................... 12

Introduction générale ....................................................................................................... 14

Chapitre 1 ........................................................................................................................ 16

Présentation de l’organisme d’accueil ............................................................................ 16

1 Présentation de l’organisme d’accueil ....................................................................... 17

1.1 La Société NEXTMA ....................................................................................... 17

1.2 Prestations et services ....................................................................................... 18

1.3 Secteurs d’activités ........................................................................................... 19

1.4 Références ........................................................................................................ 19

Chapitre 2 ........................................................................................................................ 21

Cadre générale du projet ................................................................................................. 21

2 Cadre générale du projet ........................................................................................... 22

2.1 Présentation du projet ....................................................................................... 22

2.2 Problématique .................................................................................................. 22

2.3 Objectifs ........................................................................................................... 23

2.4 Conduite de projet ............................................................................................ 24

2.5 Conclusion ....................................................................................................... 25

Chapitre 3 ........................................................................................................................ 26

Etude technique et fonctionnelle .................................................................................... 26

3 Étude technique et fonctionnelle ............................................................................... 27

3.1 Étude fonctionnelle ........................................................................................... 27

3.1.1 Etude de l’existant .................................................................................... 27

3.1.2 Couverture fonctionnelle de la migration .................................................. 28

3.1.3 Couverture fonctionnelle de la GMAO ...................................................... 29

3.1.4 Système cible ............................................................................................ 31

3.2 Étude technique ................................................................................................ 32

3.2.1 Système source ......................................................................................... 32

3.3 Conclusion ....................................................................................................... 36

Chapitre 4 ........................................................................................................................ 37

Etude comparative des outils de migration ..................................................................... 37

Page 13: Migration gmao de openerp 6.1 vers odoo 8

Table des matières

Projet de Fin d’Etudes 2013-2014 13

4 Étude comparative des outils de migration ................................................................ 38

4.1 Méthode de migration ....................................................................................... 38

4.2 Choix de l’ETL................................................................................................. 40

4.2.1 Critères de comparaison ............................................................................ 40

4.3 Bilan de comparatif .......................................................................................... 45

4.4 Outil de rétro-ingénierie.................................................................................... 45

4.5 Conclusion ....................................................................................................... 46

Chapitre 5 ........................................................................................................................ 47

Conception de l’ETL et Réalisation de la migration ......................................................... 47

5 Conception de l’ETL et Réalisation de la migration .................................................. 48

5.1 Rétro-ingénierie de l’OpenERP 6.1 ................................................................... 48

5.1.1 Module de base ......................................................................................... 48

5.1.2 Module produit ......................................................................................... 49

5.1.3 Module gestion de stock............................................................................ 49

5.1.4 Module comptabilité ................................................................................. 50

5.1.5 Module ressources humaines ..................................................................... 50

5.1.6 Module gestion d’achat ............................................................................. 51

5.1.7 Module GMAO......................................................................................... 51

5.2 Mapping entre OpenERP 6.1 et Odoo 8 ............................................................ 52

5.2.1 Les principales changements dans l’architecture ....................................... 52

5.2.2 La Conception de l’ETL............................................................................ 54

5.3 Conclusion ....................................................................................................... 59

6 Conclusion générale ................................................................................................. 60

7 Bibliographie et webographie ................................................................................... 61

Page 14: Migration gmao de openerp 6.1 vers odoo 8

Migration des données et portage du module GMAO

Projet de Fin d’Etudes 2013-2014 14

Introduction générale

Dans 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.

Page 15: Migration gmao de openerp 6.1 vers odoo 8

Migration des données et portage du module GMAO

Projet de Fin d’Etudes 2013-2014 15

Ce 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 cible

Puis, 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.

Page 16: Migration gmao de openerp 6.1 vers odoo 8

Projet de Fin d’Etudes 2013-2014 16

Chapitre 1

Présentation de l’organisme d’accueil

Dans ce chapitre, nous allons

présenter l’organisme

d’accueil, à savoir la société

de service en logiciels libres

NEXTMA

Page 17: Migration gmao de openerp 6.1 vers odoo 8

Migration des données et portage du module GMAO

Projet de Fin d’Etudes 2013-2014 17

1 Présentation de l’organisme d’accueil

1.1 La Société NEXTMA

NEXTMA 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

Page 18: Migration gmao de openerp 6.1 vers odoo 8

Migration des données et portage du module GMAO

Projet de Fin d’Etudes 2013-2014 18

1.2 Prestations et services

NEXTMA 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 œuvre 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 cœur 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.

Page 19: Migration gmao de openerp 6.1 vers odoo 8

Migration des données et portage du module GMAO

Projet de Fin d’Etudes 2013-2014 19

1.3 Secteurs d’activités

De 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-Commerce

La 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 documents

Il s’agit d’un système informatisé d’acquisition, classement, stockage et

archivage des documents.

1.4 Références

NEXTMA compte plusieurs déploiements réussît d’OpenERP dans des PME

marocaines, parmi les références :

Page 20: Migration gmao de openerp 6.1 vers odoo 8

Migration des données et portage du module GMAO

Projet de Fin d’Etudes 2013-2014 20

Figure 2 : Références de NEXTMA

Page 21: Migration gmao de openerp 6.1 vers odoo 8

Projet de Fin d’Etudes 2013-2014 21

Chapitre 2

Cadre générale du projet

Dans 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

Page 22: Migration gmao de openerp 6.1 vers odoo 8

Migration des données et portage du module GMAO

Projet de Fin d’Etudes 2013-2014 22

2 Cadre générale du projet

2.1 Présentation du projet

Jour 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 cible

Ainsi, 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ématique

Les 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.

Page 23: Migration gmao de openerp 6.1 vers odoo 8

Migration des données et portage du module GMAO

Projet de Fin d’Etudes 2013-2014 23

La 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'éditeur

L’é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 Objectifs

Pour 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

Page 24: Migration gmao de openerp 6.1 vers odoo 8

Migration des données et portage du module GMAO

Projet de Fin d’Etudes 2013-2014 24

En 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 production

2.4 Conduite de projet

La 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:

Page 25: Migration gmao de openerp 6.1 vers odoo 8

Migration des données et portage du module GMAO

Projet de Fin d’Etudes 2013-2014 25

Phases 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 projet

2.5 Conclusion

L’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

Page 26: Migration gmao de openerp 6.1 vers odoo 8

Migration des données et portage du module GMAO

Projet de Fin d’Etudes 2013-2014 26

Chapitre 3

Etude technique et fonctionnelle

Ce chapitre présente l’étude et

critique de l’existant, ainsi la

rédaction des cahiers de

charge technique et fonctionnel

Page 27: Migration gmao de openerp 6.1 vers odoo 8

Migration des données et portage du module GMAO

Projet de Fin d’Etudes 2013-2014 27

3 Étude technique et fonctionnelle

3.1 Étude fonctionnelle

3.1.1Etude de l’existant

La 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

Page 28: Migration gmao de openerp 6.1 vers odoo 8

Migration des données et portage du module GMAO

Projet de Fin d’Etudes 2013-2014 28

3.1.2Couverture fonctionnelle de la migration

La 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

- CRM

Ainsi les composants métiers spécifiques :

- GMAO

- TMS

La 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

Page 29: Migration gmao de openerp 6.1 vers odoo 8

Migration des données et portage du module GMAO

Projet de Fin d’Etudes 2013-2014 29

bons 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 GMAO

La 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

Page 30: Migration gmao de openerp 6.1 vers odoo 8

Migration des données et portage du module GMAO

Projet de Fin d’Etudes 2013-2014 30

- 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’œuvre 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

Page 31: Migration gmao de openerp 6.1 vers odoo 8

Migration des données et portage du module GMAO

Projet de Fin d’Etudes 2013-2014 31

3.1.4Système cible

La 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 OpenERP

Un 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.

Page 32: Migration gmao de openerp 6.1 vers odoo 8

Migration des données et portage du module GMAO

Projet de Fin d’Etudes 2013-2014 32

Figure 7 : Interface Odoo 8

3.2 Étude technique

Le 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 compatibles

3.2.1Système source

La 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.

Page 33: Migration gmao de openerp 6.1 vers odoo 8

Migration des données et portage du module GMAO

Projet de Fin d’Etudes 2013-2014 33

Voici une liste des noms tables principales utilisées dans OpenERP et leurs

utilisations fonctionnelles.

Module de base

Nom de la table Description

res_users Utilisateurs

res_partner Partenaire (client ou fournisseur)

res_partner_address Adresses du partenaire

res_lang Langage d’OpenERP

res_groups Droits d’accès des groupes

res_currency Devise

res_company Entreprise (Multi-sociéte)

Tableau 2 : Tables principales du module de base

Module Produit

Nom de la table Description

product_category Catégorie de produits

product_product Produit ou service

product_template Modèle de produit

product_pricelist_item Liste des prix

product_pricelist_version Version des listes des prix

Tableau 3 : tables principales du module produit

Page 34: Migration gmao de openerp 6.1 vers odoo 8

Migration des données et portage du module GMAO

Projet de Fin d’Etudes 2013-2014 34

Module Comptabilité

Tableau 4 : tables principales du module comptabilité

Module Gestion d’achat

Tableau 5 : tables principales du module Achat

Nom de la table Description

account_account Compte client et fournisseur

account_analytic_account Comptes analytique

account_analytic_journal journal analytique

account_fiscalyear Année fiscale

account_invoice Facture

account_invoice_tax Tax des factures

account_journal Journal comptable

account_move Ecritures comptables

Nom de la table Description

purchase_order Bon d’achat

purchase_invoice_rel Facture de bon d’achat

purchase_order_taxe Tax de bon d’achat

Page 35: Migration gmao de openerp 6.1 vers odoo 8

Migration des données et portage du module GMAO

Projet de Fin d’Etudes 2013-2014 35

Module Gestion de stock

Nom de la table Description

stock_inventory Inventaire de stock

stock_location Emplacement de stock

stock_move Mouvement de stock

stock_partial_move Mouvement partiel de stock

stock_warehouse Entrepôt de stock

Tableau 6: tables principales du module stock

Module Resource humaine

Tableau 7 : tables principales du module ressources humaines

Nom de la table Description

hr_department département

hr_employee Les employées

hr_employee_category Catégorie des employées

hr_job Mission

product_pricelist_version Version des listes des prix

account_move Mouvement de compte

Page 36: Migration gmao de openerp 6.1 vers odoo 8

Migration des données et portage du module GMAO

Projet de Fin d’Etudes 2013-2014 36

3.3 Conclusion

Les 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.

Page 37: Migration gmao de openerp 6.1 vers odoo 8

Migration des données et portage du module GMAO

Projet de Fin d’Etudes 2013-2014 37

Chapitre 4

Etude comparative des outils de

migration

Dans 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

Page 38: Migration gmao de openerp 6.1 vers odoo 8

Migration des données et portage du module GMAO

Projet de Fin d’Etudes 2013-2014 38

4 Étude comparative des outils de migration

4.1 Méthode de migration

Le choix le plus difficile dans tout projet d'intégration/migration de données

consiste à déterminer quelle méthode doit être mise en œuvre :

- 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 œuvre 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

Page 39: Migration gmao de openerp 6.1 vers odoo 8

Migration des données et portage du module GMAO

Projet de Fin d’Etudes 2013-2014 39

Le 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.

Page 40: Migration gmao de openerp 6.1 vers odoo 8

Migration des données et portage du module GMAO

Projet de Fin d’Etudes 2013-2014 40

4.2 Choix de l’ETL

Nous 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 Studio

Actuellement 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 Integration

Egalement 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 comparaison

4.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

Page 41: Migration gmao de openerp 6.1 vers odoo 8

Migration des données et portage du module GMAO

Projet de Fin d’Etudes 2013-2014 41

- 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 LDAP

PDI 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.

Page 42: Migration gmao de openerp 6.1 vers odoo 8

Migration des données et portage du module GMAO

Projet de Fin d’Etudes 2013-2014 42

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

Page 43: Migration gmao de openerp 6.1 vers odoo 8

Migration des données et portage du module GMAO

Projet de Fin d’Etudes 2013-2014 43

Convivialité : qualité de l'interface utilisateur et de l'accessibilité du

logiciel.

PDI TOS

Mapping 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 TOS

Gestion 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

Page 44: Migration gmao de openerp 6.1 vers odoo 8

Migration des données et portage du module GMAO

Projet de Fin d’Etudes 2013-2014 44

4.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 TOS

Ré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 TOS

Outil 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 TOS

Validité des fichiers plats - +

Tableau 12 : comparaison en validité des fichiers plats entre ETL

Page 45: Migration gmao de openerp 6.1 vers odoo 8

Migration des données et portage du module GMAO

Projet de Fin d’Etudes 2013-2014 45

4.3 Bilan de comparatif

Les 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énierie

L'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 bases

Figure 11 : caractéristiques de PDI Figure 10 : Caractéristiques de TOS

Page 46: Migration gmao de openerp 6.1 vers odoo 8

Migration des données et portage du module GMAO

Projet de Fin d’Etudes 2013-2014 46

de 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 DbVisualizer

4.5 Conclusion

Ce 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.

Page 47: Migration gmao de openerp 6.1 vers odoo 8

Migration des données et portage du module GMAO

Projet de Fin d’Etudes 2013-2014 47

Chapitre 5

Conception de l’ETL et Réalisation de la

migration

Dans ce chapitre, nous allons

présenter la conception de

l’ETL par la comparaison des

schémas, puis la réalisation de

la migration

Page 48: Migration gmao de openerp 6.1 vers odoo 8

Migration des données et portage du module GMAO

Projet de Fin d’Etudes 2013-2014 48

5 Conception de l’ETL et Réalisation de la migration

5.1 Rétro-ingénierie de l’OpenERP 6.1

Dans 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 base

Le module qui fournit les objets de base : utilisateurs, clients, fournisseurs, langues

pays, devises etc.

Figure 13 : MCD module de base

Page 49: Migration gmao de openerp 6.1 vers odoo 8

Migration des données et portage du module GMAO

Projet de Fin d’Etudes 2013-2014 49

5.1.2 Module produit

Figure 14 : MCD module Produits et liste des prix

5.1.3 Module gestion de stock

Figure 15 : MCD module gestion de stock

Page 50: Migration gmao de openerp 6.1 vers odoo 8

Migration des données et portage du module GMAO

Projet de Fin d’Etudes 2013-2014 50

5.1.4 Module comptabilité

Figure 16 : MCD module comptabilité

5.1.5 Module ressources humaines

Figure 17 : MCD module ressources humaines

Page 51: Migration gmao de openerp 6.1 vers odoo 8

Migration des données et portage du module GMAO

Projet de Fin d’Etudes 2013-2014 51

5.1.6 Module gestion d’achat

Figure 18 : MCD module gestion d'achat

5.1.7 Module GMAO

Figure 19 : MCD module GMAO

Page 52: Migration gmao de openerp 6.1 vers odoo 8

Migration des données et portage du module GMAO

Projet de Fin d’Etudes 2013-2014 52

5.2 Mapping entre OpenERP 6.1 et Odoo 8

La 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 7

5.2.1 Les principales changements dans l’architecture

Nous avons fait une comparaison des modèles conceptuels de données des deux

versions, et voici quelques différences

Figure 20 : MCD partenaire OpenERP 6.1

Figure 21 : MCD partenaire Odoo 8

Page 53: Migration gmao de openerp 6.1 vers odoo 8

Migration des données et portage du module GMAO

Projet de Fin d’Etudes 2013-2014 53

Figure 22 : MCD employé OpenERP 6.1

Figure 23: MCD employé Odoo 8

Page 54: Migration gmao de openerp 6.1 vers odoo 8

Migration des données et portage du module GMAO

Projet de Fin d’Etudes 2013-2014 54

Figure 24 : MCD email OpenERP 6.1

Figure 25 : MCD email Odoo 8

5.2.2 La Conception de l’ETL

Comme 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.

Page 55: Migration gmao de openerp 6.1 vers odoo 8

Migration des données et portage du module GMAO

Projet de Fin d’Etudes 2013-2014 55

- 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.1

Pour 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 partenaires

Figure 26 : job de migration des partenaires

Page 56: Migration gmao de openerp 6.1 vers odoo 8

Migration des données et portage du module GMAO

Projet de Fin d’Etudes 2013-2014 56

Figure 27 : schéma de mapping des partenaires

Migration des employés

Figure 28 : job de migration des employés

Page 57: Migration gmao de openerp 6.1 vers odoo 8

Migration des données et portage du module GMAO

Projet de Fin d’Etudes 2013-2014 57

Importation des plans comptables

L’importation se fait depuis un fichier csv avec l’utilisation des agrégations et des

jointures.

Figure 29 : Job d'importation des plans comptables

Dans 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 sources

La 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

Page 58: Migration gmao de openerp 6.1 vers odoo 8

Migration des données et portage du module GMAO

Projet de Fin d’Etudes 2013-2014 58

Nous 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 codes

Figure 31 : Routine de concaténation

Nous 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équences

Nous 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.

Page 59: Migration gmao de openerp 6.1 vers odoo 8

Migration des données et portage du module GMAO

Projet de Fin d’Etudes 2013-2014 59

Figure 33 : schéma de mapping des plans comptables

5.3 Conclusion

Dans 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

Page 60: Migration gmao de openerp 6.1 vers odoo 8

Migration des données et portage du module GMAO

Projet de Fin d’Etudes 2013-2014 60

6 Conclusion générale

Lors 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.

Page 61: Migration gmao de openerp 6.1 vers odoo 8

Migration des données et portage du module GMAO

Projet de Fin d’Etudes 2013-2014 61

7 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/

Page 62: Migration gmao de openerp 6.1 vers odoo 8

Migration des données et portage du module GMAO

Projet de Fin d’Etudes 2013-2014 62

Glossaire

A API : est une interface de programmation, une façade clairement délimitée par

laquelle un logiciel offre des services à d'autres logiciels.

D Data 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.

E ETL : 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.

G GMAO : 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.

J JOB : Unité de traitement principale, un job peut représenter un processus (ETL)

simple ou une chaine complète de sous-processus.

Page 63: Migration gmao de openerp 6.1 vers odoo 8

Migration des données et portage du module GMAO

Projet de Fin d’Etudes 2013-2014 63

Jointure : 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.

M MCD : 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.

R Retro-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.

T Transformation 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.