Vous êtes sur la page 1sur 91

Piloter Magento avec OpenERP

Release 1.1

Florent Pigout, Anybox

October 16, 2011

CONTENTS

Introduction 1.1 OpenERP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2 Magento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Installation de la dmo 2.1 Installation Magento . . . . . . . . . . . . . . . . 2.2 Cache Magento . . . . . . . . . . . . . . . . . . . 2.3 Installation du connecteur OpenERP dans Magento 2.4 Installation automatique dOpenERP . . . . . . . 2.5 Installation manuelle OpenERP . . . . . . . . . . 2.6 Installation du connecteur Magento dans OpenERP

3 3 3 5 5 11 12 19 20 32 43 43 48 53 59 64 72 83 83 87

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

Du pilotage 3.1 Conguration dune Instance . . . . . . . . . . . . . . . 3.2 Import des Catgories de Magento vers OpenERP . . . . 3.3 Export des Produits de OpenERP vers Magento . . . . . . 3.4 Export des Images de OpenERP vers Magento . . . . . . 3.5 Achats et Import de Magento vers OpenERP . . . . . . . 3.6 Traitement dune commandes dans OpenERP & Magento

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

De la technique 4.1 Module Magento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2 Module OpenERP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

ii

Piloter Magento avec OpenERP, Release 1.1

Infos sur ce document version : 1.1 (oct 2011) Auteur : Florent Pigout, mai 2011 Contributeurs : Christophe Combelles Licence : Creative Commons 3.0 By-Sa propos dAnybox Anybox est un prestataire spcialis dans le logiciel libre OpenERP. Nous rpondons vos besoins mtiers les plus varis, depuis la CRM, jusqu la comptabilit gnrale ou analytique, gestion de stock, gestion de projet, SAV, facturation, achats, RH, ou gestion documentaire. Nous effectuons notamment : pr-tude technique et fonctionnelle implantation, mise en oeuvre dOpenERP installation, conguration intgration, synchronisation avec dautres systmes ERP ou e-commerce (Magento, Prestashop) cration, dveloppement de modules OpenERP spciques, dveloppement Python migrations de donnes formations Python, formations OpenERP technique et fonctionnelle tude technique de vos applicatifs existants tude fonctionnelle et ringnierie des processus mtiers

CONTENTS

Piloter Magento avec OpenERP, Release 1.1

CONTENTS

CHAPTER

ONE

INTRODUCTION
Pour toute entreprise de e-commerce il est intressant de synchroniser ses produits en ligne, ses stocks, ses ventes et sa comptabilit. Peu doutils offrent la richesse fonctionnelle cumule dune boutique en ligne et dun ERP. En revanche il est possible de faire des miracles en utilisant plusieurs applications complmentaires. Dans ce document nous dcrivons lutilisation du connecteur magentoerpconnect, ralis par Akretion et Openlabs, avec des contributions de Zikzakmedia, CampToCamp et Nan. Celui-ci permet le pilotage dune boutique en ligne de type Magento avec OpenERP. An de prsenter ce connecteur, nous listons dans un premier temps les tapes dinstallation dune boutique Magento et dune application OpenERP de dmonstration. De cette faon les exemples dutilisations du connecteur, prsents par la suite, sont faciles reproduire.

1.1 OpenERP
OpenERP est une plateforme open-source intgre proposant un panel dapplications pour la gestion des ventes, CRM, projets, stocks, production, nance, ressources humaines, etc. Cette plateforme est modulaire et propose aujourdhui plus de mille composants open-source trs varis. Elle bncie dune large communaut et de support professionnel dans le monde entier.

1.2 Magento
La plateforme open-source Magento, pour la cration de boutiques en ligne, offre une trs grande exibilit. Conu en partant de lide que chaque projet e-commerce est unique, son architecture modulaire donne le contrle aux ecommerants et nimpose aucune contrainte aux processus mtiers ou aux ux dentreprise. Magento est dvelopp par Varien, une entreprise californienne spcialise dans le dveloppement et le consulting web. Cette plateforme est trs largement utilise et maintenue par un trs grand nombre de dveloppeurs dans le monde entier.

Piloter Magento avec OpenERP, Release 1.1

Chapter 1. Introduction

CHAPTER

TWO

INSTALLATION DE LA DMO
2.1 Installation Magento
Cette procdure dtaille une installation minimale dune application Magento. Elle ne prcise pas comment installer PHP, MySQL ou bien le serveur web ncessaires pour le bon fonctionnement du tout. Linstallation de ces prrequis est souvent documente sur la toile, ex.: Installer Magento + Nginx + FCGI on Ubuntu

2.1.1 Tlchargement
Tout dabord nous devons tlcharger et dcompresser une archive rcente de lapplication Magento (ex.: 1.5.0.1) en suivant ce lien: Tlchargement Magento

2.1.2 Setup
Une fois le serveur web congur, et redmarr an de prendre en compte le rpertoire de lapplication Magento, nous pouvons accder lapplication depuis le navigateur. Pour notre dmonstration nous utilisons lurl http://localhost:8092 an darriver sur le site Magento. Ici nous atteignons la premire page de la procdure dinstallation de la boutique. Sur cette page il est simplement demand daccepter le contrat de licence Magento.

Ecran

Piloter Magento avec OpenERP, Release 1.1

Localisation Sur la seconde page de linstallation, nous choisissons les options principales lies la localisation de la boutique. Note: Ces informations pourrons tre modies par la suite. Par exemple le choix locale na pas vraiment dincidence sur la nouvelle boutique car larchive tlcharge ne comprend que les textes anglais. An dajouter les textes franais nous devrons installer un module supplmentaire dans lapplication (cette procdure nest pas dcrite dans ce document).

Valeurs Paramtre Locale Time Zone Default Currency Valeur English Paris Euro

Ecran

Chapter 2. Installation de la dmo

Piloter Magento avec OpenERP, Release 1.1

Conguration La page conguration est la plus importante de linstallation. Elle permet de dnir la connexion la base de donnes et les urls de lapplication pour le site, et la partie dadministration. Base de Donnes Pour la base de donnes, nous devons tout dabord crer une database mysql pour lapplication. Ensuite nous saisissons les paramtres correspondants dans la partie Base de Donnes de la page: host, login et mot de passe. Accs Web Pour la partie Accs Web nous renseignons uniquement lurl de base pour linstance Magento, ici: http://localhost:8092 Note: suivant linstallation, il se peut que la validation de lurl soit trop stricte et naccepte pas cette url. Nous pouvons contourner ce problme en jouant sur la liste des hosts du systme ou bien en court-circuitant, pour cette page uniquement, le code javascript (dans la lib prototype) qui valide cette url.

Valeurs Paramtre Host DB Name Base Url Admin Path Valeur localhost magento_demo http://localhost:8092 admin

Ecran

2.1. Installation Magento

Piloter Magento avec OpenERP, Release 1.1

Cration dun administrateur An de pouvoir administrer notre boutique, nous devons maintenant dnir un premier utilisateur. Au travers de cette page celui-ci se verra attribuer les droits admin. Cette page est la dernire de linstallation. Il ne faut pas oublier de conserver la clef de chiffrement, elle peut toujours servir par la suite. La page suivante conrme que linstallation est effective et propose un lien pour chaque partie de la boutique: Frontend Backend

Ecran

Chapter 2. Installation de la dmo

Piloter Magento avec OpenERP, Release 1.1

Frontend Par dfaut la page daccueil de la boutique est une page CMS entoure dun en-tte, dun pied de page et dune bannire latrale comprenant plusieurs blocs statiques ou dynamiques (ex.: panier, comparaison, etc.). Nous notons que cette page est afche avec le modle de page par dfaut de Magento. Il est toutefois possible de choisir un autre modle depuis la partie dadministration. Effectivement, plusieurs thmes sont disponibles dans les chiers tlchargs. Changer de thme, observer les diffrences et les chiers correspondants permet dapprhender la personnalisation de boutique Magento.

Ecran

2.1. Installation Magento

Piloter Magento avec OpenERP, Release 1.1

Backend Nous accdons au backend, ou partie dadministration, grce lURL suivante: http://localhost:8092/admin, et aprs la saisie du login/password de notre utilisateur admin. La page daccueil dadministration est le tableau de bord de la boutique (cf.: copie dcran). Celui-ci reprend quelques informations utiles sur la vie de la boutique. Note: lorsque nous utilisons le serveur web Nginx, il peut y avoir des problmes avec la gestion des cookies. Si cela arrive, chaque tentative de login nous sommes redirig vers la page de connexion du backend. An de rsoudre ce problme nous commentons les lignes suivantes dans le chier /<path_to>/magento/app/code/core/Mage/Core/Model/Session/Abstract/Varien.php
// session cookie params $cookieParams = array( lifetime => $cookie->getLifetime(), path => $cookie->getPath(), // domain => $cookie->getConfigDomain(), // commenter // secure => $cookie->isSecure(), // commenter // httponly => $cookie->getHttponly() // commenter ); /* if (!$cookieParams[httponly]) { unset($cookieParams[httponly]); if (!$cookieParams[secure]) { unset($cookieParams[secure]); if (!$cookieParams[domain]) { unset($cookieParams[domain]); } } } */

// // // // // // // // //

commenter commenter commenter commenter commenter commenter commenter commenter commenter

Ecran

10

Chapter 2. Installation de la dmo

Piloter Magento avec OpenERP, Release 1.1

2.2 Cache Magento


Ici nous dcrivons une tape post-installation optionnelle. Cependant pour le developpement nous dsactivons le cache Magento an de sassurer que toutes les modications apportes seront prises en compte directement. La gestion du cache est possible depuis la page System > Cache Management. Note: Nous ne devons pas oublier de le ractiver pour un site de production.

2.2. Cache Magento

11

Piloter Magento avec OpenERP, Release 1.1

2.2.1 Dscativer le cache


Lcran suivant permet la gestion du cache de linstance Magento en cours dutilisation. Ici nous pouvons dsactiver le cache de faon ne, ou bien de faon globale. Dans notre cas nous slectionnons tous les caches proposs an de les dsactiver.

2.2.2 Vider le cache


Dans le doute, nous pouvons galement usher le cache en base de donnes (Magento Cache) et le cache chier (Storage Cache). On sassure ainsi que toutes les donnes seront regnres lors des prochaines requtes.

2.3 Installation du connecteur OpenERP dans Magento


Pour linstallation de modules supplmentaires, Magento propose un service nomm magento connect. Au travers dune partie du site ofciel de lditeur ce service liste tous les modules (gratuits ou payants) pour la plate-forme,

12

Chapter 2. Installation de la dmo

Piloter Magento avec OpenERP, Release 1.1

et pour chaque module nous trouvons une url pour son installation dans lapplication par le biais de la page dadministration. Dans cette prsentation nous utilisons la dernire version de Magento. Celle-ci est assez rcente et les mises jour des modules nont pas tous encore t publis pour cette nouvelle version majeure. Aussi nous devons utiliser la version trunk du module OpenERPConnector an de sintgrer au mieux dans notre application de dmo. La rcupration du module openerp pour Magento 1.5.x.x se fait depuis le dpt bzr suivant
$ bzr branch lp:magentoerpconnect/magento-module magento-module

Chaque module supplmentaire complte notre instance Magento en lui ajoutant des fonctionnalits supplmentaires. Le plus souvent celui-ci respecte une arborescence proche de lexistant soit par souci de nommage ou bien parce quil vient surcharger des mthodes existantes. Ainsi un module peut ajouter un bloc graphique, une rgle de calcul, de nouvelles fonctions dans lAPI accessibles via webservice, etc. Cest ce dernier exemple qui est implment dans le module OpenERPConnector. Pour accder lAPI webservice de notre instance nous devons crer, au minimum, une rle et un utilisateur an de donner les droits ncessaires une application tierce, ici OpenERP. Cest cette procdure que nous dcrivons ici, aprs linstallation du module. Pour linstallation de ce module nous avons adapt le guide du projet avec la dernire version que nous avons tlcharge. Ce guide est disponible ladresse suivante: https://answers.launchpad.net/magentoerpconnect/+faq/827

2.3.1 Copie des chiers dans lapplication Magento


Une fois les chiers rcuprs, nous entrons dans le rpertoire nouvellement cr. Cest depuis celui-ci que nous excuterons les commandes ncessaires linstallation de ce module:
$ cd magento-module

Chaque module Magento doit etre compos de 2 rpertoires distincts pour tre pris en charge dans lapplication: app/etc/modules - comprend un chier xml qui dcrit le module app/community - comprend tous les chiers du module Note: pour le dveloppement nous crons des liens symboliques (ln -s) depuis le rpertoire bzr du projet vers lapplication Magento. Cette mthode nous permet de continuer utiliser la structure versionne du module de faon transparente pour lapplication. Ainsi nous navons pas besoin de copiers-collers ultrieurs, ou autre, et les volutions sur le module sont directement effectives. Fichiers app/etc/modules Dans les sources du module, le chier .xml de description est situ au mme endroit de larborescence que dans le rpertoire app de Magento. De plus si nous observons le contenu de ce chier, nous comprenons un peu mieux les diffrentes fonctionnalits ajouts et comment elles sintgrent avec le reste de lapplication. Voici la commande que nous utilisons pour la cration du lien du chier .xml depuis le rpertoire du projet vers le rpertoire app/etc/modules:

$ ln -s /<path_to>/magento-module/Openlabs_OpenERPConnector-1.1.0/app/etc/modules/Openlabs_OpenERPCon

2.3. Installation du connecteur OpenERP dans Magento

13

Piloter Magento avec OpenERP, Release 1.1

Fichiers app/community Dans le rpertoire community nous retrouvons tout le code ncessaire pour le fonctionnement du module. Ce rpertoire suit une arborescence modulaire. Au premier niveau de celle-ci, on compte un rpertoire par diteur, ici par exemple nous utilisons le sous-rpertoire Openlabs. Ensuite, comme chaque diteur peut en proposer plusieurs, chacun des modules est plac dans un rpertoire spcique, ici OpenERPConnector. Voici la commande que nous utilisons pour la cration du lien du rpertoire Openlabs depuis le rpertoire du projet vers le rpertoire app/community:

$ ln -s /<path_to>/magento-module/Openlabs_OpenERPConnector-1.1.0/Openlabs /<path_to>/magento/app/cod

2.3.2 Conguration du Webservice


Les rles et utilisateurs pouvant accder lAPI de notre application Magento via webservices peuvent tre grs depuis les pages suivantes: System > Web Services > Roles System > Web Services > Users

Rle Aprs installation aucun rle nest dni par dfaut. Nous devons donc en crer un comme indiqu dans la copie dcran suivante.

Ecran

14

Chapter 2. Installation de la dmo

Piloter Magento avec OpenERP, Release 1.1

Info

An didentier le rle, nous lui donnons un nom, ici: openerp. Nous utilisons ce nom uniquement pour retrouver le rle plus tard, an lassocier lutilisateur mis disposition pour OpenERP.

Valeurs Paramtre Role Name Valeur openerp

Ecran

Ressources

Toujours pendant la cration du rle, nous dnissons maintenant les droits daccs pour OpenERP. Daprs le guide dinstallation du module, il est recommand de donner tous les droits notre connecteur. Cest ce que nous montrons dans la copie dcran suivante.

Valeurs Paramtre Resource Access Valeur All

Ecran

2.3. Installation du connecteur OpenERP dans Magento

15

Piloter Magento avec OpenERP, Release 1.1

Save

Pour la prise en compte du nouveau rle nous le sauvegardons en cliquant sur le bouton Save Role. Nous devons alors obtenir le message de conrmation qui suit.

Ecran

Utilisateur Une fois le rle dni, nous devons crer lutilisateur grce auquel le connecteur, du cot OpenERP, pourra accder lAPI Magento. Cest ce que nous faisons en cliquant tout dabord sur le lien Add New User. Les proprits lies un utilisateur sont de deux types: info - identiant, login, mot de passe rle - droits daccs

Ecran

16

Chapter 2. Installation de la dmo

Piloter Magento avec OpenERP, Release 1.1

Info

Voici les informations que nous utilisons pour notre utilisateur dmo. Les champs les plus importants sont les suivants: User Name - utilis pour le login API Key - utilis comme mot de passe pour le connecteur

Valeurs Paramtre User Name First Name Last Name Email Name New API Key API Key Conrmation Valeur orent Florent PIGOUT orent.pigout@gmail.com pass01 pass01

Ecran

2.3. Installation du connecteur OpenERP dans Magento

17

Piloter Magento avec OpenERP, Release 1.1

Role

Pour le rle, nous reprenons simplement celui-ci que nous avons dnis juste avant: openerp.

Valeurs Paramtre Role Name Valeur openerp

Ecran

Save

Enn nous sauvegardons notre utilisateur an dobtenir lcran de conrmation suivant.

Ecran

18

Chapter 2. Installation de la dmo

Piloter Magento avec OpenERP, Release 1.1

2.4 Installation automatique dOpenERP


Grce lutilisation de loutil Buildout et de la recipe pour OpenERP crite par Anybox, il est possible deffectuer une installation rapide dOpenERP sans grer soi-mme les dpendances : http://pypi.python.org/pypi/anybox.recipe.openerp La premire tape est de crer un virtualenv. (qui peut sinstaller par exemple avec le paquet debian ou ubuntu : python-virtualenv)
$ virtualenv sandbox

Ensuite on installe buildout 1.5.2 dans le virtualenv


$ ./sandbox/bin/pip install zc.buildout==1.5.2

On cre un rpertoire openerp qui contiendra notre installation dOpenERP, ainsi quun un chier openerp/buildout.cfg
$ mkdir openerp $ cd openerp

Voici le contenu du chier buildout.cfg crer


[buildout] parts = openerp web allow-picked-versions = false versions = versions find-links = http://download.gna.org/pychart/ [openerp] recipe = anybox.recipe.openerp:server eggs = PIL version = 6.0.3 options.xmlrpc = False options.xmlrpcs = False [web]

2.4. Installation automatique dOpenERP

19

Piloter Magento avec OpenERP, Release 1.1

recipe = anybox.recipe.openerp:webclient version = 6.0.3 [versions] MarkupSafe = 0.15 PIL = 1.1.7 anybox.recipe.openerp = 0.5 caldav = 0.1.10 collective.recipe.cmd = 0.5 coverage = 3.5 distribute = 0.6.21 feedparser = 5.0.1 lxml = 2.1.5 mako = 0.4.2 Mako = 0.4.2 nose = 1.1.2 psycopg2 = 2.4.2 pychart = 1.39 pydot = 1.0.25 pyparsing = 1.5.6 python-dateutil = 1.5 pytz = 2011h pywebdav = 0.9.4.1 pyyaml = 3.10 reportlab = 2.5 vobject = 0.8.1c z3c.recipe.scripts = 1.0.1 zc.buildout = 1.5.2 zc.recipe.egg = 1.3.2 Babel = 0.9.6 FormEncode = 1.2.4 simplejson = 2.1.6

Enn il suft de bootstrapper pour installer buildout lintrieur du buildout (oui, a ressemble de la mise en abme :) ). Il est possible de faire un bootstrap sans avoir install buildout auparavant, grce lutilisation dun script de bootstrap. Mais ici nous utilisons plutt le buildout install dans le virtualenv
$ ../sandbox/bin/buildout bootstrap

Puis on peut lancer la construction


$ ./bin/buildout

Ensuite si tout se passe bien, on doit avoir des scripts de dmarrage pour le client web et pour le serveur : $ ./bin/start_openerp & $ ./bin/start_web Vous pouvez galement installer le client GTK par le mme moyen, lopration est facile sous Linux condition davoir GTK et PyGTK prinstalls correctement sur le systme.

2.5 Installation manuelle OpenERP


Au moment de la rdaction de ce document, la recipe dcrite plus haut ntait pas disponible. Dans cette section nous dtaillons donc brivement comment nous avons install la partie serveur et la partie cliente dOpenERP de manire manuelle. Ces 2 parties ncessitent galement linstallation de modules Python dont elles sont dpendantes. Par exemple, voici la liste des bibliothques que nous retrouvons dans notre environnement de dveloppement:

20

Chapter 2. Installation de la dmo

Piloter Magento avec OpenERP, Release 1.1

Babel-0.9.5 Mako-0.3.4 PIL-1.1.7 PyChart-1.39 PyWebDAV-0.9.4.1 PyYAML-3.09 caldav-0.1.7 coverage-3.4 docutils-0.7 egenix_mx_base-3.1.3 feedparser-5.0.1 lxml-2.1.5 nose-1.0.0 psycopg2-2.4 pychart pydot-1.0.23 pyparsing-1.5.5 python_dateutil-1.5 pytz-2011d reportlab-2.5 simplejson-2.1.3 vobject-0.8.1c La partie serveur sappuie galement sur une base de donnes de type PostgreSQL. Le lien suivant donne toutes les informations ncessaires pour linstallation dun serveur PostgreSQL et dun client PgAdmin pour une prise en main facile: https://help.ubuntu.com/community/PostgreSQL OpenERP est une plateforme modulaire. Tous les modules sont mis disposition sur les diffrents clients (GTK ou Web) via le serveur. Chaque module est donc ajout du cot serveur et les clients ne sont que des vues du serveur vis et dpendent de la faon dont celui-ci est congur.

2.5.1 Tlchargement
Tout dabord nous devons tlcharger et dcompresser des archives rcentes des applications serveur et client dOpenERP (ex.: 6.0.2) en suivant ce lien: Tlchargement OpenERP Addons Par dfaut un serveur OpenERP comprend les modules de base maintenus et mis en avant par lditeur pour les principales fonctionnalits de loutil. Pour la prise en compte de notre connecteur nous avons besoin de modules complmentaires. Ceux-ci disponibles depuis une branche extra du projet OpenObject hberg sur le Launchpad.

2.5. Installation manuelle OpenERP

21

Piloter Magento avec OpenERP, Release 1.1

Voici la commande bzr permettant de rcuprer cette version des addons:


$ bzr branch lp:openobject-addons/extra-6.0 openobject-addons-extra-6.0

2.5.2 Dmarrage
Nous soulignons ici quil est ncessaire de congurer les droits pour lutilisateur courant dans PostgreSQL. Celui-ci doit avoir la permission de crer et supprimer une base de donnes. Par la suite la gestion des databases est assure par OpenERP qui peux en grer plusieurs. Serveur Pour les commandes suivantes nous considrons que larchive de lapplication serveur a t dcompresse dans le rpertoire openerp-server-6.0.2. Depuis ce rpertoire nous excutons alors la commande pour dmarrer le serveur en ajoutant loption addons-path de faon spcier le rpertoire des modules quil devra prendre en compte. Voici les commandes que nous utilisons pour lancer notre serveur avec le rpertoire addons requis:
$ cd <path_to>/openerp-server-6.0.2 $ python bin/openerp-server.py --addons-path <path_to>/openobject-addons-extra-6.0

Une fois dmarr, le serveur est lcoute et afche le message suivant:


[2011-04-22 [2011-04-22 [2011-04-22 [2011-04-22 [2011-04-22 [2011-04-22 [2011-04-22 [2011-04-22 [2011-04-22 [2011-04-22 [2011-04-22 [2011-04-22 11:44:09,452][?] 11:44:09,452][?] 11:44:09,452][?] 11:44:09,452][?] 11:44:09,453][?] 11:44:09,453][?] 11:44:10,312][?] 11:44:10,313][?] 11:44:10,313][?] 11:44:10,314][?] 11:44:10,315][?] 11:44:10,315][?] INFO:server:OpenERP version - 6.0.2 INFO:server:addons_path - <path_to>/openobject-addons-extra-6.0 INFO:server:database hostname - localhost INFO:server:database port - 5432 INFO:server:database user - florent INFO:server:initialising distributed objects services INFO:web-services:starting HTTP service at 0.0.0.0 port 8069 INFO:web-services:starting HTTPS service at 0.0.0.0 port 8071 INFO:web-services:Registered XML-RPC over HTTP INFO:web-services:starting NET-RPC service at 0.0.0.0 port 8070 INFO:server:Starting 3 services INFO:server:OpenERP server is running, waiting for connections...

Client OpenERP propose 2 types de clients pour sa solution. Un client Web qui ncessite lutilisation dun serveur Web Python et dautres pr-requis, et un client GTK directement utilisable depuis nimporte quel OS. Cest cette dernire version que nous utilisons pour notre application de dmonstration. Pour les commandes suivantes nous considrons que larchive de lapplication serveur a t dcompresse dans le rpertoire openerp-client-6.0.2. Voici les commandes que nous utilisons pour lancer notre client GTK:
$ cd openerp-client-6.0.2 $ python bin/openerp-client.py

Une fois dmarr, le client OpenERP doit aparatre et proposer un cran de connexion.

Ecran

22

Chapter 2. Installation de la dmo

Piloter Magento avec OpenERP, Release 1.1

2.5.3 Setup
An de crer notre environnement de dmo, nous fermons tout dabord la popup de connexion. Ensuite nous ouvrons celle pour la cration dune nouvelle base de donnes depuis le menu Files dans la barre doutils de lapplication:
Files > Databases > New Database

Nouvelle base de donnes Voici les paramtres que nous utilisons pour la cration de la database de dmonstration. An davoir un peu de contenu nous choisissons dinstaller les donnes de dmonstration. Ce jeu de donnes lavantage dtre gnrique et de proposer des exemples des diffrentes fonctionnalits des composants installs, mme si nous ne les utilisons pas tous. Lcran suivant reprsente cet cran de cration.

Valeurs Paramtre New DB Name Load Demonstration Data Default Language Administrator Password Conrm Password Valeur openerp_demo yes English admin admin

Ecran

2.5. Installation manuelle OpenERP

23

Piloter Magento avec OpenERP, Release 1.1

Dmarrer la conguration Une fois que la nouvelle database a t cre, nous somme redirig vers lcran de conguration pour cette nouvelle base. Lobjectif de cette procdure est de dnir un premier jeu de fonctionnalits, ou modules, pour la solution. Dautres modules pourront tre installs et congurs ensuite. Ce premier cran reprend uniquement les informations sur la database que nous avons renseigns prcdemment. Ici nous cliquons simplement sur le bouton suivant.

Ecran

24

Chapter 2. Installation de la dmo

Piloter Magento avec OpenERP, Release 1.1

Choix de linterface Pour le choix de linterface nous choisissons loption extended, an dobserver les diffrentes options proposes tout le long de la conguration.

Ecran

Information sur la socit Les informations de la popup Information sur la socit ont dj t pr-remplies. Ici nous laissons ces valeurs et passons lcran suivant.

Ecran

2.5. Installation manuelle OpenERP

25

Piloter Magento avec OpenERP, Release 1.1

Choix des composants Cest dans cet cran que nous choisissons le premier jeu de modules installer. Dans les crans suivants nous activerons, ou non, certaines fonctionnalits complmentaires des composants choisis.

Valeurs

Voici la liste des composants que nous utilisons pour la dmonstration. Nous devons alors cocher les cases correspondantes, an quils soient installs dans notre database et mis disposition par le serveur ensuite: Customer Relationship Management - gestion clients et fournisseurs Warehouse Management - gestion des produits et des stocks Invoicing - gestion des factures Purchase Management - gestion des commandes Sales Management - gestion des ventes Accounting & Finance - gestion de la comptabilit

Ecran

26

Chapter 2. Installation de la dmo

Piloter Magento avec OpenERP, Release 1.1

Conguration de la partie comptable Les paramtres du module comptable sont les seuls que nous modierons pour notre installation. Ici nous nous assurons de slectionner le plan de compte gnrique qui est plus simple et marche parfaitement avec le jeu de test fourni. Nous saisissons galement 21% pour les taxes de ventes et des commandes. Ainsi nous pourrons exprimenter lapplication des taxes tout au long de nos manipulations. Voici une copie de lcran une fois ces informations renseignes.

Valeurs Paramtre Chart of Accounts Company Start Date End Date Periods Sale Tax Purchase Tax Valeur Generic Chart of Account OpenERP S.A. 01/01/2011 31/12/2011 Monthly 21 21

Ecran

2.5. Installation manuelle OpenERP

27

Piloter Magento avec OpenERP, Release 1.1

Fin du paramtrage Pas de changement dans les crans suivants jusqu la n du paramtrage.

CRM

28

Chapter 2. Installation de la dmo

Piloter Magento avec OpenERP, Release 1.1

Purchases

Sales

2.5. Installation manuelle OpenERP

29

Piloter Magento avec OpenERP, Release 1.1

Accounting

Sales Order

30

Chapter 2. Installation de la dmo

Piloter Magento avec OpenERP, Release 1.1

Accueil de lapplication Une fois le setup termin, nous arrivons sur lcran principal de lapplication OpenERP. Nous retrouvons sur la gauche, dans le menu principal, la liste des composants que nous avons congurs. Pour chaque composant un menu, droite, propose diffrentes listes, rapports, et un sous menu dadministration. De cette faon chaque composant permet dditer et consulter diffrents objets de la solution. Note: Certaines listes, objets ou rapports peuvent apparaitre dans plusieurs composants si cela est pratique ou ncessaire. Dans ce cas, linformation reste globale lapplication.

Ecran

2.5. Installation manuelle OpenERP

31

Piloter Magento avec OpenERP, Release 1.1

2.6 Installation du connecteur Magento dans OpenERP


Tout comme Magento, la version 6.0 est une version majeure rcente de la plateforme OpenERP. Pour cette raison il nexiste pas encore de version stable du connecteur. En revanche la version de dveloppement est maintenue par la socit Openlabs, la socit Akretion et une communaut relativement importante de dveloppeurs. Dans cette section nous expliquons alors comment rcuprer les sources rcentes du connecteur et la faon dont nous pouvons les intgrer dans le rpertoire addons du serveur pour que celui-ci soit pris en compte. Voici la commande bzr pour la rcupration du module OpenERPConnector Python depuis le dpt du projet:
$ bzr branch lp:magentoerpconnect

Pour son intgration dans OpenERP nous plaons un lien symbolique vers ce rpertoire dans le rpertoire addons comme suit:
$ ln -s <path_to>/magentoerpconnect <path_to>/openobject-addons-extra-6.0

Nous devons maintenant redmarrer les serveurs pour que le module soit pris en compte par le serveur:
$ cd <path_to>/openerp-server-6.0.2 $ python bin/openerp-server.py --addons-path <path_to>/openobject-addons-extra-6.0

2.6.1 Mise jour des modules


Avant dinstaller notre connecteur. Nous devons tout dabord mettre jour la liste des modules disponibles depuis lapplication cliente. Pour ce faire nous allons dans la partie admin et la sous-partie modules pour actionner la procdure de mise jour des modules. Lcran suivant illustre le parcours effectuer dans les menus pour accder cette fonctionnalit.

Ecran

32

Chapter 2. Installation de la dmo

Piloter Magento avec OpenERP, Release 1.1

Dmarrage de la mise jour Depuis la premire popup, nous observons seulement quelques informations et devons cliquer sur le bouton Update pour rellement lancer la mise jour.

Ecran

2.6. Installation du connecteur Magento dans OpenERP

33

Piloter Magento avec OpenERP, Release 1.1

Rsultat de la mise jour La seconde popup, obtenue aprs la mise jour, nous indique le nombre de modules dtects. Ici nous navons pas de liste par module, mais nous verrons ensuite si notre connecteur est bien prsent ou non. Cest dailleurs le gestionnaire de module que la popup nous propose maintenant douvrir en cliquant sur le bouton Open Modules.

Ecran

34

Chapter 2. Installation de la dmo

Piloter Magento avec OpenERP, Release 1.1

2.6.2 Recherche du module


Ce gestionnaire de modules est un cran de type liste classique dans OpenERP. Comme tous les crans de ce type il propose un ltre dans sa partie suprieure et une liste juste en dessous. Dans ce ltre nous saisissons le mot magento, dans le champ nom, an de ltrer et lister tous les modules disponibles correspondants. Il rsulte alors 3 modules dont notre connecteur (qui apparait en premier). Note: ces 3 lignes sont crites en rouge pour indiquer que les modules ne sont pas encore installs. Nous double-cliquons maintenant sur le module qui nous interesse, cest dire magentoerpconnect, an de procder son installation.

Ecran

2.6. Installation du connecteur Magento dans OpenERP

35

Piloter Magento avec OpenERP, Release 1.1

2.6.3 Installation du module


Linstallation du connecteur est semblable celle de tout autre module dans OpenERP. Elle se passe en 2 tapes. Tout dabord nous devons programmer linstallation et ensuite dmarrer linstallation des modules programms. De cette faon le module nest pas install immdiatement ce qui nous permet de vrier les dpendances, ou bien dinstaller dautre module par la mme occasion. Dans lcran suivant nous programmons linstallation du module magentoerpconnect uniquement en cliquant sur le bouton Schedule for installation. Ensuite nous dmarrons directement la procdure en cliquant sur le lien Apply Scheduled Upgrade situ sur la droite de la fentre.

Ecran

36

Chapter 2. Installation de la dmo

Piloter Magento avec OpenERP, Release 1.1

Dmarrage de la mise jour Avant de dmarrer linstallation une popup de conrmation apparat. Celle-ci reprend galement la liste des dpendances qui seront galement installes an de garantir le fonctionnement du nouveau module. Notons en passant quil sagit de la raison pour laquelle nous utilisons les addons extra dOpenERP. Nous observons dans la copie dcran suivante la liste de dpendances du connecteur. Celles-ci tant toutes satisfaites nous pouvons lancer linstallation en cliquant sur le bouton Start Update.

Ecran

2.6. Installation du connecteur Magento dans OpenERP

37

Piloter Magento avec OpenERP, Release 1.1

Rsultat de la mise jour Une fois le connecteur correctement install, une nouvelle popup apparait et nous propose de congurer le nouveau module. Cependant celui-ci ne possde pas de conguration particulire ce niveau l et si nous cliquons sur le bouton Start Conguration nous revenons la fentre principale de lapplication.

Ecran

2.6.4 Menu Magento dans OpenERP


Miracle! Nous avons un nouvel lment dans notre menu principal pour la gestion de notre connexion avec Magento.

Ecran

38

Chapter 2. Installation de la dmo

Piloter Magento avec OpenERP, Release 1.1

2.6.5 Post-Installation Web


Si nous utilisons la version Web du Client OpenERP, aprs linstallation du connecteur magento nous devons modier la dnition dun champ manuellement. Celui-ci nous empche de crer une nouvelle instance depuis lcran ddition:
Magento Connection > Magento Instances > New

Dans cet cran nous remarquons quil nest pas possible dditer le champ Name obligatoire. De cette faon il est impossible de sauvegarder lobjet en cours de cration.

Ecran

2.6. Installation du connecteur Magento dans OpenERP

39

Piloter Magento avec OpenERP, Release 1.1

An de rendre ce champ ditable, il nous faut modier la vue du client Web. Pour cela nous cliquons sur le bouton Manage Views en haut droite. Cette action nous ouvre la popup suivante:

Ecran

La popup Manage Views liste les diffrentes vues congures pour les objets de type Instance Magento. La vue correspondant au formulaire de cration se nomme external_referencial_form_view. Nous cliquons maintenant sur le bouton Edit an de la modier.

Ecran

Lcran ddition de cette vue liste tous ses champs. Pour notre part, nous souhaitons changer une proprit du champ Name. Nous slectionnons donc la ligne correspondante dans la nouvelle popup et cliquons sur le bouton Edit droite. Lcran suivant nous permet maintenant dditer les proprits de du champ Name:

Ecran

40

Chapter 2. Installation de la dmo

Piloter Magento avec OpenERP, Release 1.1

La valeur qui pose problme est:


attrs = {readonly:[(mapping_ids,!=,[])]}

Ce mcanisme a pour but de ne permettre la saisie de la valeur Name dune instance que lors de sa cration. Par la suite elle ne devrait pas tre modie. Malheureusement ce test ne marche pas et bloque la cration. An dviter ce dsagrment, nous supprimons ce test en mettant attrs vide et nous sauvegardons le changement en cliquant sur le bouton update. Une fois la popup ferme, lcran ddition est rafrachi et nous permet enn la saisie dans le champ Name.

Ecran

2.6. Installation du connecteur Magento dans OpenERP

41

Piloter Magento avec OpenERP, Release 1.1

42

Chapter 2. Installation de la dmo

CHAPTER

THREE

DU PILOTAGE
3.1 Conguration dune Instance
Avant de pouvoir piloter un site Magento depuis OpenERP nous devons tout dabord dnir une instance Magento cible. Une instance correspond une application Magento comparable la dmo dont nous avons dcrit linstallation prcdemment. Par la suite, une instance peut grer plusieurs boutiques (shop) et pour chaque boutique, nous pouvons crer plusieurs vues (views). Ce dcoupage est galement respect par le connecteur.

3.1.1 Admin Magento Connector


Pour crer une connexion entre notre instance de dmo Magento et OpenERP nous devons tout dabord aller dans la partie Magento-Connection depuis OpenERP (cf.: la copie dcran suivante). Depuis cette partie nous cliquons (ou double-cliquons pour le client GTK) sur la ligne Magento Instances.

Ecran

43

Piloter Magento avec OpenERP, Release 1.1

3.1.2 Nouvelle Instance


Depuis lcran listant toutes les instances Magento prises en charge (ici aucune), nous cliquons sur le bouton New en haut gauche de lcran an den crer une nouvelle. Note: Cette procdure est rcurrente dans OpenERP, pour la plupart des objets rencontrs (ex.: produit, client, commande, projet, etc.), pour crer ou diter un objet nous devons dabord lister les objets prsents depuis le menu principal, en slectionner un diter ou bien en crer un nouveau.

Ecran

44

Chapter 3. Du pilotage

Piloter Magento avec OpenERP, Release 1.1

3.1.3 General & Authentication


Lcran pour la gestion dune instance comprend 2 parties distinctes. La premire est destine la dnition de linstance et la seconde la synchronisation de certains lments lis celle-ci. Dans la premire partie nous renseignons tout dabord un nom pour linstance. Ce nom na pas dincidence sur le bon fonctionnement de la connexion. Il est essentiellement utilis pour identier linstance parmi les autres dj congures dans OpenERP. Plus important dans longlet General (cf.: copie dcran suivante), nous renseignons un Referential Type et lemplacement (ou Location) de linstance (ici: http://localhost:8092). Note: le choix du Referential Type ne semble pas avoir dincidence dans la version actuelle du connecteur.

Valeurs Paramtre Referential Type Location Valeur Magento Version 1.3.2.4+ http://localhost:8092

3.1. Conguration dune Instance

45

Piloter Magento avec OpenERP, Release 1.1

Ecran

Dans longlet Authentication nous saisissons le login/password pour lutilisateur Webservice Magento que nous avons prcdemment congur dans Magento.

Valeurs Paramtre User Name Password Valeur orent pass01

Ecran

3.1.4 Reload Ref. Mapping Templates and Ref. Settings


Une fois les informations gnrales et dauthentication saisies, il est ncessaire de sauvegarder notre nouvelle instance an de pouvoir commencer la synchronisation. Bien que nous aurons besoin de synchroniser catgories et attributs par la suite, pour le moment nous ne synchronisons que le Referential Mapping Templates et le Referential Settings. Cette action ncessite de renseigner la valeur des champs Default Product Category et Default Language comme dcrit ci-aprs. Cette synchronisation minimale nous permet de sassurer que la connexion avec linstance Magento est bien effective.

Valeurs Paramtre Default Product Category Default Language Valeur All products English

Ecran

46

Chapter 3. Du pilotage

Piloter Magento avec OpenERP, Release 1.1

3.1.5 Websites
Comme mentionn prcdemment, lister les Websites dune instance nous permet de nous assurer que la connexion est bien tablie. Cest ce que nous vrions dans la copie dcran suivante en cliquant sur longlet Websites. Depuis cet onglet nous retrouvons le Main Website qui est le site par dfaut de notre application Magento de dmo.

Ecran

3.1. Conguration dune Instance

47

Piloter Magento avec OpenERP, Release 1.1

3.1.6 Save
ce stade nous pouvons nouveau sauvegarder notre instance et passer la synchronisation des catgories de notre boutique (Store) principale ...

Ecran

3.2 Import des Catgories de Magento vers OpenERP


Idalement nous souhaitons crer nos catgories dans OpenERP et les envoyer vers Magento an de rester dans la cadre du pilotage. Cependant nous avons rencontr quelques difcults sur ce point et pour cette raison, toujours pour une dmonstration, nous expliquons ici comment prparer des catgories dans la boutique et les importer ensuite dans lERP. Cette procdure nous permet alors dassocier des produits sur ces catgories et la synchronisation de ces produits (point que nous navons pas russi mettre en oeuvre en crant les catgories directement dans OpenERP).

48

Chapter 3. Du pilotage

Piloter Magento avec OpenERP, Release 1.1

3.2.1 Catgories Magento


Depuis la partie Admin de lapplication Magento, nous pouvons accder la gestion des catgories depuis llment Catalog du menu principal comme suit:
Catalog > Manage Categories

Ecran

3.2.2 Nouvelle sous-catgorie


Dans cet exemple nous allons crer une sous-catgorie la catgorie principale, prsente par dfaut, de notre boutique, nouvellement cre. Pour cela nous nous assurons de slectionner cette catgorie parente Default Category et cliquons sur le bouton Add Subcategory (cf.: copie dcran).

Ecran

3.2.3 Edit & Save


Ici nous choisissons PC comme nom de la nouvelle sous-catgorie, enn nous nous assurons que celle-ci est active an que les produits qui lui seront associs apparaissent dans la partie Frontend de la boutique.

3.2. Import des Catgories de Magento vers OpenERP

49

Piloter Magento avec OpenERP, Release 1.1

Cest tout ce dont nous avons besoin pour dnir cette sous-catgorie. Nous la sauvons juste en cliquant sur le bouton Save en haut droite comme dans la copie dcran suivante.

Valeurs Paramtre Name Is Active Valeur PC Yes

Ecran

3.2.4 Mise jour des Catgories cot OpenERP


Comme vu prcdemment, limport des catgories de Magento dans OpenERP se fait au travers de lcran de gestion dune instance. Pour cela nous retournons dans lcran correspondant notre instance de dmonstration (cf.: copie dcran). Une fois ldition de linstance magento_demo, nous cliquons sur le bouton 2 - Import Product Categories. Note: nous navons pas besoin de sauvegarder aprs cette action

Ecran

50

Chapter 3. Du pilotage

Piloter Magento avec OpenERP, Release 1.1

3.2.5 Liste des Catgories


Enn nous allons dans la liste des catgories prises en compte dans OpenERP an de vrier que notre catgorie a bien t importe. Pour cela nous allons dans la partie Warehouse de lapplication et cliquons Product Categories en suivant larborescence suivante:
Warehouse > Configuration > Product > Product Categories

La copie dcran suivante nous montre plus prcisment comment y accder.

Ecran

3.2. Import des Catgories de Magento vers OpenERP

51

Piloter Magento avec OpenERP, Release 1.1

3.2.6 Rsultat Catgories +1


Voici une partie de la liste de catgories prsente dans notre ERP. Nous conrmons que les lments suivants ont bien t imports depuis Magento: Root Catalog Root Catalog / Default Category Root Catalog / Default Category / PC

Ecran

52

Chapter 3. Du pilotage

Piloter Magento avec OpenERP, Release 1.1

3.3 Export des Produits de OpenERP vers Magento


Pour tre export vers Magento, un produit OpenERP doit tre associ une catgorie Magento valide (cf.: Import des Catgories de Magento vers OpenERP). Dans cet exemple nous selectionnons tout dabord certains produits exporter vers la boutique et procdons lexport.

3.3.1 Lister les produits


An de slectionner les produits exporter nous listons dans un premier temps tous les produits de lERP:
Warehouse > Products > Products

Ecran

3.3.2 Produits PC
Dans lcran suivant nous ltrons les produits dont la Reference comporte le mot PC. Pour cela nous saisissons PC dans le champs correspondant du ltre et tapons la touche Enter.

Ecran

3.3. Export des Produits de OpenERP vers Magento

53

Piloter Magento avec OpenERP, Release 1.1

3.3.3 Magento Setup & Categorie


An de rendre ces produits exportables nous devons les diter chacun leur tour et modier les 3 points suivant: cocher la case Exported to Magento dnir un SKU pour la boutique modier la catgorie du produit vers Root Catalog / Default Category / PC qui est la catgorie que nous avons prpare prcdemment Aprs la modication nous sauvegardons la che produit en cliquant Save en haut gauche. Note: nous pouvons facilement passer la che suivante ou prcdente en cliquant sur les ches de la barre doutils principale. OpenERP conserve les paramtres de ltre utiliss et passera llment suivant ou prcdent de la prcdente liste.

Ecran

54

Chapter 3. Du pilotage

Piloter Magento avec OpenERP, Release 1.1

3.3.4 Lister les Shops


Lexport des produits dOpenERP se fait au niveau Shop. Pour cela nous allons lister les boutiques prises en charge par lapplication depuis la partie Magento-connection daprs larborescence suivante (cf.: copie dcran):
Magento-connection > Core Settings > Magento Instances > Magento Shops

Dans la liste rsultante nous ne trouvons quune seule boutique disponible: Main Website Store. Nous cliquons donc sur la ligne correspondante pour lditer et synchroniser nos produits (cf.: Produits pour lExport vers le Shop).

Ecran

3.3. Export des Produits de OpenERP vers Magento

55

Piloter Magento avec OpenERP, Release 1.1

3.3.5 Produits pour lExport vers le Shop


Dans la che de notre boutique, nous vrions que les produits que nous venons de prparer vont bien tre exports. Pour cela nous cliquons sur longlet Exportable Products comme dcrit dans la copie dcran suivante. Dans celui-ci nous retrouvons alors la liste de nos produits prts lexport.

Ecran

3.3.6 Catalog Export


An de mettre jour notre catalogue, cest dire les produits quil contient de OpenERP vers Magento, nous revenons sur longlet Actions de notre che Shop et cliquons sur Export Catalog. A la n de lexport, la date de synchronisation doit tre mise jour.

Ecran

56

Chapter 3. Du pilotage

Piloter Magento avec OpenERP, Release 1.1

3.3.7 Lister les Produits Magento


Nous pouvons maintenant vrier que les produits ont bien t exports vers la boutique. Ceci est possible depuis le Backend Magento, en cliquant sur le lien Catalog > Manage Products dans le menu principal (cf.: copie dcran).

Ecran

3.3.8 Import OK
Si limport sest effectu convenablement nous devons retrouver nos produits dans la liste qui apparat. Malheureusement, ces produits ne sont pas encore visibles dans la partie Frontend de la boutique. Malgr tous nos efforts ils ne sont pas associs une catgorie visible. Nous devons donc faire cette action manuellement. Note: Il est peut-tre possible possible de contourner ce dsagrment depuis OpenERP, et nous mettrons jour ce document ds que nous trouverons ce biais.

Ecran

3.3. Export des Produits de OpenERP vers Magento

57

Piloter Magento avec OpenERP, Release 1.1

3.3.9 Edition dun Produit


Nous cliquons sur une ligne de la liste des produits pour lditer. Nous arrivons alors sur la page ddition des proprits gnrales de ce produit. An de modier la catgorie de ce produit nous cliquons dans le menu de gauche sur Categories (cf.: copie dcran).

Ecran

58

Chapter 3. Du pilotage

Piloter Magento avec OpenERP, Release 1.1

3.3.10 Catgorie Setup


Dans la partie dition des catgories du produit, nous retrouvons larborescence de toutes les catgories disponibles dans la boutique. Pour accder la catgorie PC qui nous intresse, nous droulons donc cette arborescence. Enn nous cochons la case devant PC et sauvegardons la che produit Magento pour appliquer la modication. Il suft de parcourir la partie Frontend de la boutique et constater que nos produits sont bien mis la disposition de nos clients.

Ecran

3.4 Export des Images de OpenERP vers Magento


Ici nous dcrivons la procdure permettant dassocier une image un produit OpenERP et de mettre jour la che produit correspondante du cot Magento. Cette fonctionnalit est plutt intressante, mais prsente quelques contraintes : limage doit tre prsente sur le serveur OpenERP si on supprime limage de la che OpenERP elle nest pas supprime cot Magento il faut activer limage du cot de la boutique aprs synchronisation

3.4.1 Onglet Image


Lajout dune image une che produit commence donc dans lcran Products dOpenERP, en ditant le produit vis. Chaque che produit de type Exported to Magento comporte un onglet Images destin cet effet. Dans cet onglet nous cliquons sur le bouton Add, comme daprs la copie dcran suivante, pour faire lajout.

Ecran

3.4. Export des Images de OpenERP vers Magento

59

Piloter Magento avec OpenERP, Release 1.1

3.4.2 cran ajout dimage


Un nouvel cran dajout, pour une image, apparait. Dans celui-ci nous saisissons un nom pour la nouvelle image et lemplacement sur le serveur o est situ limage. En cliquant sur le bouton lecture droite de lurl, limage doit safcher an de conrmer quelle est bien trouve. Nous sauvons et fermons la popup dajout en cliquant sur le bouton Save & Close pour revenir la che produit mise jour.

Ecran

60

Chapter 3. Du pilotage

Piloter Magento avec OpenERP, Release 1.1

3.4.3 Sauver le Produit


Maintenant, dans la liste des images associes au produit nous devons retrouver une ligne en rapport avec limage nouvellement ajoute. ATTENTION, il faut encore sauvegarder la che produit pour conserver cette information. Ici encore, nous cliquons donc sur le bouton Save en haut gauche.

Ecran

3.4. Export des Images de OpenERP vers Magento

61

Piloter Magento avec OpenERP, Release 1.1

3.4.4 Exporter les Images


Tout comme pour lexport des produits (cf.: chapitre prcdent), lenvoi des images est effectu depuis la che Shop de notre boutique. En dessous du bouton Export Catalog, Update Images va raliser cette tche.

Ecran

62

Chapter 3. Du pilotage

Piloter Magento avec OpenERP, Release 1.1

3.4.5 Fiche Produit Magento Jour


Dans la partie Frontend de la boutique, nous rafrachissons la che de notre produit an dobserver que la nouvelle image est prsente.

Ecran

3.4. Export des Images de OpenERP vers Magento

63

Piloter Magento avec OpenERP, Release 1.1

3.5 Achats et Import de Magento vers OpenERP


Maintenant que nous avons prpar nos produits, nous pouvons passer lachat. Toujours depuis la che produit du ct Frontend de Magento, nous allons passer une commande et la rcuprer dans lERP.

3.5.1 Fiche Produit


Depuis la che produit nous saisissons le nombre darticles que nous souhaitons acqurir, ici: 1. Ensuite nous cliquons sur le bouton Add to Cart an de passer la commande.

Ecran

3.5.2 Caddy
Par dfaut, lapplication Magento redirige ses utilisateurs vers leur caddy aprs un ajout au panier. Pour le moment nous ne souhaitons pas de produit supplmentaire et procdons la conrmation de lachat en cliquant Proceed to Checkout.

Ecran

64

Chapter 3. Du pilotage

Piloter Magento avec OpenERP, Release 1.1

3.5.3 Compte Client


Pour procder la commande et retrouver le compte client correspondant plus tard dans OpenERP choisissons de crer un compte en slectionnant Register et en cliquant sur le bouton Continue.

Ecran

3.5. Achats et Import de Magento vers OpenERP

65

Piloter Magento avec OpenERP, Release 1.1

3.5.4 Crer un Compte


Voici une copie dcran des informations utilisateur que nous utilisons pour la dmo. A la n du formulaire, nous cliquons encore sur Continue pour passer la prochaine tape de la commande.

Ecran

66

Chapter 3. Du pilotage

Piloter Magento avec OpenERP, Release 1.1

3.5.5 Type denvoi


Ltape type denvoi (Shipping Method) nous propose des frais xes de 5C euros. Cest frais sont dnis par dfaut dans Magento. Continue ... Note: dautres mthodes plus prcises existent en fonction du fournisseur souhait, sa localit, etc. mais ces mthodes doivent tre installes et congures laide de modules Magento externes.

Ecran

3.5. Achats et Import de Magento vers OpenERP

67

Piloter Magento avec OpenERP, Release 1.1

3.5.6 Type de paiement


Tout comme pour les frais de port, Magento nous propose, par dfaut, un paiement par chque ou par carte de crdit (via Paypal). Dans notre cas nous utilisons le paiement par chque qui ne demande pas de conguration supplmentaire. Continue ...

Ecran

68

Chapter 3. Du pilotage

Piloter Magento avec OpenERP, Release 1.1

3.5.7 Conrmation
Une fois toutes les tapes de la commande passes, nous conrmons enn lachat en cliquant sur le bouton Place Order.

Ecran

3.5.8 Merci!
Lcran de conrmation nous propose un lien vers lhistorique de la commande. Celui-ci restera par la suite dans les informations li notre compte client et pourra tre retrouv lors dune connexion future.

Ecran

3.5. Achats et Import de Magento vers OpenERP

69

Piloter Magento avec OpenERP, Release 1.1

3.5.9 Import des Achats


ce stade, nous pouvons importer le nouvel achat dans OpenERP depuis lcran de gestion de boutique (Magento Shops). Il sagit du mme cran que nous avons utilis plutt pour la synchronisation des produits et de leurs images. Pour rcuprer les commandes nous cliquons sur le bouton Import Orders (cf.: copie dcran).

Ecran

70

Chapter 3. Du pilotage

Piloter Magento avec OpenERP, Release 1.1

3.5.10 Lister les Commandes


An de vrier que la commande est bien visible dans OpenERP nous allons dans la partie Sales et cliquons sur la ligne Sales Orders correspondantes:
Sales > Sales > Sales Orders

Nous listons ainsi toutes les commandes en cours.

Ecran

3.5.11 La Commande
Parmi les commandes listes, un lment doit avoir une rfrence commenant par mag_. Celle-ci correspond donc un import depuis Magento et srement notre rcent achat. Dans la copie dcran suivante nous avons dit cette nouvelle commande dans OpenERP. Nous retrouvons bien le produit associ et la ligne de frais de port galement. Dans la page suivante nous verrons comment traiter la commande depuis le systme oprationnel.

Ecran

3.5. Achats et Import de Magento vers OpenERP

71

Piloter Magento avec OpenERP, Release 1.1

3.6 Traitement dune commandes dans OpenERP & Magento


Pour complter une commande Magento, il faut 3 choses: envoyer la facture depuis Magento au client (-> amliorer) synchroniser la facturation avec OpenERP synchroniser les envois de OpenERP avec Magento Ce sont ces points que nous dtaillons dans les parties suivantes. Nous notons cependant que certaines actions doivent tre retravailles an dtre prises en charge par OpenERP.

3.6.1 Lister les Commandes (Magento)


An daccder la facture client, nous devons tout dabord retrouver et diter la commande que nous avons passe dans la section prcdente du document. Pour cela nous afchons la liste des commandes grce au menu principal de la partie Backend Magento:
Sales > Orders

Ecran

72

Chapter 3. Du pilotage

Piloter Magento avec OpenERP, Release 1.1

3.6.2 Les Commandes (Magento)


Dans la liste courante des commandes nous devons retrouver notre commande. Pour lditer nous cliquons sur le lien View correspondant comme dans la copie dcran suivante.

Ecran

3.6.3 Voir la Facture (Magento)


Depuis ldition de notre commande, 2 points nous intressent ici: le statut et la facture lie la commande. Magento prsente beaucoup dinformations pour cet lment. Ici nous souhaitons assurer la cohrence entre ltat dOpenERP et Magento. Pour cela nous observons le statut de la commande, qui est Pending que nous devons faire voluer jusqu ltat Complete. Dans un premier temps nous devons envoyer la facture au client, an de suivre le workow impos par Magento. Cette action est possible depuis llment facture li cette commande et accessible en cliquant sur le bouton Invoice en haut droite (cf.: copie dcran suivante).

Ecran

3.6. Traitement dune commandes dans OpenERP & Magento

73

Piloter Magento avec OpenERP, Release 1.1

3.6.4 Envoyer la Facture (Magento)


Depuis la facture, nous trouvons le bouton denvoi en bas de la page. Nous cliquons donc sur Submit Invoice an de procder lenvoi. Note: aprs envoi, un message de succs doit apparatre en haut de la page. De plus le statut de la commande est pass Processing, ce qui peut-tre vri en suivant la procdure prcdente.

Ecran

74

Chapter 3. Du pilotage

Piloter Magento avec OpenERP, Release 1.1

3.6.5 Lister les Commandes (OpenERP)


Nous revenons du cot de OpenERP an de rcuprer la commande passe sous Magento et de procder aux tches correspondantes. Depuis le menu principal, nous allons dans la partie vente et listons les commandes en cours comme dcrit ci-aprs:
Sales > Sales > Sales Order

Note: Les commandes de type Magento ont une rfrence qui commence par mag_.

Ecran

3.6. Traitement dune commandes dans OpenERP & Magento

75

Piloter Magento avec OpenERP, Release 1.1

3.6.6 Conrmer la Commande (OpenERP)


Lcran suivant reprend la commande importe depuis Magento. Nous allons pouvoir procder son traitement. ce stade nous conrmons la commande en cliquant sur le bouton Conrm Order.

Ecran

3.6.7 Crer la Facture (OpenERP)


Une fois la commande conrme, les actions associes proposes changent. Nous pouvons maintenant crer la facture correspondante ct Magento (point unier). Cette action nous ouvre un nouvel onglet avec le contenu de la facture frachement cre. Note: Les tapes suivantes dcrivant la procdure de facturation sont optionnelles pour lvolution du statut Magento.

Ecran

76

Chapter 3. Du pilotage

Piloter Magento avec OpenERP, Release 1.1

3.6.8 Valider la Facture (OpenERP optionnel)


Depuis la facture lie la commande Magento nous pouvons la valider. De cette faon nous mettons les factures Magento et OpenERP au mme niveau, tout en soulignant que cette gestion reste amliorer.

Ecran

3.6. Traitement dune commandes dans OpenERP & Magento

77

Piloter Magento avec OpenERP, Release 1.1

3.6.9 Payer la Facture (OpenERP optionnel)


Une fois la facture valide, les actions lies celle-ci changent et nous proposent de procder au paiement. Si nous cliquons sur le bouton Payment, Une che pour le paiement est cre et apparat.

Ecran

78

Chapter 3. Du pilotage

Piloter Magento avec OpenERP, Release 1.1

3.6.10 Valider le Paiement (OpenERP optionnel)


Dans la che de paiement, quelques informations sont ncessaires pour conrmation : mthode de paiement rfrence du paiement

Ecran

3.6. Traitement dune commandes dans OpenERP & Magento

79

Piloter Magento avec OpenERP, Release 1.1

3.6.11 Lister les Envois (OpenERP)


Aprs le traitement de lobjet commande dans OpenERP, nous devons traiter la livraison. Pour cela nous allons lister les envois en attente dans la partie Wharehouse:
Wharehouse > Wharehouse Managment > Delivery Orders

Depuis cet liste nous retrouvons la ligne correspondant notre commande ( Origin: mag_xxx).

Ecran

80

Chapter 3. Du pilotage

Piloter Magento avec OpenERP, Release 1.1

3.6.12 Procder lenvoi (OpenERP)


An de mettre jour la che denvoi pour la commande Magento, nous ditons la ligne correspondante (cf.: copie dcran) et cliquons sur le bouton Process en bas de lcran dan la barre daction principale.

Ecran

3.6.13 Mise Jour des Status et des Envois (OpenERP)


ce stade nous pouvons exporter lenvoi mis jour vers Magento depuis lcran de gestion de boutique (Magento Shops). Il sagit du mme cran que nous avons utilis plutt pour la synchronisation des produits (cf.: /pilotage/products.html#lister-les-shops) Pour effectuer cet export nous cliquons sur le bouton Export Shipping (cf.: copie dcran).

Ecran

3.6. Traitement dune commandes dans OpenERP & Magento

81

Piloter Magento avec OpenERP, Release 1.1

3.6.14 Lister les Commandes (Magento - Client)


En revenant du cot de lapplication Magento, nous pouvons vrier que le statut de notre commande bien t mis jour en tant quutilisateur. Pour cela nous allons du cot Frontend, cliquons sur le lien My Account et entrons login / mot de passe pour nous connecter. Depuis la page du compte utilisateur nous pouvons accder nos commandes passes en cliquant gauche sur le lien My Orders. Dans cette liste nous retrouvons notre commande mise jour (cf.: copie dcran). Notons que la valeur Oder Status est bien Complete.

Ecran

82

Chapter 3. Du pilotage

CHAPTER

FOUR

DE LA TECHNIQUE
4.1 Module Magento
Comme vu prcdemment, le module magento doit tre install manuellement. La version packager pour la derniere version de Magento (ver.: 1.5.0) nest pas encore disponible via MagentoConnect.

4.1.1 Structure de chiers


app/code/community/Openlabs/OpenERPConnector/etc:
api.xml config.xml

app/code/community/Openlabs/OpenERPConnector/Helper:
Data.php

app/code/community/Openlabs/OpenERPConnector/Model/Olcatalog:
Categories.php Products.php

app/code/community/Openlabs/OpenERPConnector/Model/Olcatalog/Product:
Attribute.php Attributegroup.php Attributeset.php Tierprice.php

app/code/community/Openlabs/OpenERPConnector/Model/Olcore:
Groups.php Storeviews.php Website.php

app/code/community/Openlabs/OpenERPConnector/Model/Olcustomer:
Address.php Customer.php Group.php Subscriber.php

83

Piloter Magento avec OpenERP, Release 1.1

4.1.2 Description de lAPI


Website Management module:
core

Fonction items create info update delete

Description Enumerate websites Create Websites Fetch detail of websites Update websites info Delete websites

Groups Management module:


core

Fonction items create info update delete

Description Enumerate groups Create groups Fetch detail of groups Update groups info Delete groups

Stores Management module:


core

Fonction items create info update delete

Description Enumerate stores Create stores Fetch detail of stores Update stores info Delete stores

Product Images API module:


catalog

Fonction items info types create update remove

Description Retrieve product image list Retrieve product category image Retrieve product category image types Upload new product category image Update product category image Remove product category image

84

Chapter 4. De la technique

Piloter Magento avec OpenERP, Release 1.1

Attributes Management module:


catalog

Fonction items relations info options update remove

Description Retrieve attribute list Retrieve attribute sets attribute ids Retrieve full attribute details Retrieve options of attributes Update product category image Remove product category image

Attribute Groups Management module:


catalog

Fonction items info

Description Retrieve attribute group list Retrieve full attribute details

Groups Management module:


core

Fonction items create info update delete

Description Enumerate groups Create groups Fetch detail of groups Update groups info Delete groups

Address Management module:


core

Fonction items create info update delete

Description Enumerate address Create address Fetch detail of address Update address info Delete address

Subscriber Management module:

4.1. Module Magento

85

Piloter Magento avec OpenERP, Release 1.1

core

Fonction items create info update delete

Description Enumerate subscriber Create subscriber Fetch detail of subscriber Update subscriber info Delete subscriber

Customers Management module:


core

Fonction items create info update delete

Description Enumerate customers Create customers Fetch detail of customers Update customers info Delete customers

Product Tier Price API module:


core

Fonction items items2

Description Enumerate tier prices Enumerate tier prices

Product Management module:


core

Fonction items create biglist update delete

Description Enumerate products Create products Fetch detail of products Update products info Delete products

Attribute Set Management module:


core

Fonction items

Description Enumerate attribute sets

86

Chapter 4. De la technique

Piloter Magento avec OpenERP, Release 1.1

4.2 Module OpenERP


Tout comme pour la partie Magento du connecteur. Le module OpenERP doit tre tlcharg depuis le repository bzr et install manuellement an de marcher avec la dernire version de OpenERP (ver.: 6.0.2).

4.2.1 Structure de chiers


magentoerpconnect/python:
delivery.py __init__.py invoice.py magerp_core.py magerp_osv.py __openerp__.py partner.py product.py product_images.py sale.py stock.py

magentoerpconnect/views:
delivery_view.xml magerp_core_view.xml partner_view.xml product_images_view.xml product_view.xml sale_view.xml

magentoerpconnect/data:
magerp_data.xml

magentoerpconnect/menu:
magerp_menu.xml

4.2. Module OpenERP

87