27
Piloter Prestashop avec OpenERP Release 1.0 Simon ANDRÉ, Anybox September 18, 2012

Piloter Prestashop Avec OpenERP

Embed Size (px)

DESCRIPTION

Un guide de démarrage rapide pour utiliser Prestashop avec OpenERP. Guide d'installation, et aperçu de la synchronisation.

Citation preview

Page 1: Piloter Prestashop Avec OpenERP

Piloter Prestashop avec OpenERPRelease 1.0

Simon ANDRÉ, Anybox

September 18, 2012

Page 2: Piloter Prestashop Avec OpenERP
Page 3: Piloter Prestashop Avec OpenERP

CONTENTS

1 Introduction 31.1 Prestashop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.2 OpenERP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.3 Connecteur Prestashop OpenERP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.4 Open-source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2 Installation de Prestashop 1.5 52.1 Prérequis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52.2 Mise en place de l’environnement web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52.3 Mise en place de la base de données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52.4 Assistant d’installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62.5 Configuration web service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

3 Installation d’OpenERP grâce à la recipe Anybox 153.1 Prérequis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153.2 Installation d’OpenERP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153.3 Configuration du connecteur OpenERP Prestashop . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

4 Test Fonctionnel 194.1 Un référentiel de Prestashop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194.2 Un magasin (shop) Prestashop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

5 Conclusion 23

i

Page 4: Piloter Prestashop Avec OpenERP

ii

Page 5: Piloter Prestashop Avec OpenERP

Piloter Prestashop avec OpenERP, Release 1.0

Infos sur ce document

version : 1.0 (sept 2012)Auteur : Simon ANDRÉ, septembre 2012Contributeurs : Christophe CombellesLicence : Creative Commons 3.0 By-Sa

À propos d’Anybox

Anybox est spécialisée dans les applications d’entreprise, grâce à une expertise sur le logiciel OpenERP. Grâce àcet outil innovant, nous répondons à vos besoins applicatifs les plus variés, depuis la CRM, jusqu’à la comptabilitégénérale ou analytique, gestion de stock, gestion de projet, SAV, facturation, achats, RH, etc.

Anybox s’est construit autour de fortes compétences techniques et son équipe vous assure un niveau de prestationexceptionnel. Notre politique interne s’articule autour de deux axes : une gestion des compétences et une démarchequalité . Ces deux axes servent de support aux prestations que nous proposons.

Retrouvez-vous sur notre site http://anybox.fr

CONTENTS 1

Page 6: Piloter Prestashop Avec OpenERP

Piloter Prestashop avec OpenERP, Release 1.0

2 CONTENTS

Page 7: Piloter Prestashop Avec OpenERP

CHAPTER

ONE

INTRODUCTION

1.1 Prestashop

Prestashop est une solution d’e-commerce en PHP, déployée mondialement et populaire pour une certaine simplicitéet facilité d’utilisation. Historiquement Prestashop est née en 2005, et à été mise en production pour les premièresfois en 2007. Se dotant d’un code robuste, la solution a su évoluer au fur et à mesure des versions pour fournir lesprincipaux services nécessaires à la vente en ligne. Profitant d’un design adaptable grâce à des templates, un codemodulaire, et une communauté importante, cette solution permet un support et une stabilité sans précédent dans lemonde de l’e-commerce.

1.2 OpenERP

OpenERP est une solution libre de progiciel de gestion intégré supportant entre autres la CRM, gestion des stocks,gestion des achats, gestion comptable, comptabilité analytique, ressource humaine, gestion de point de vente.

Projet née dans les années 2005 sous le nom TinyERP, OpenERP est devenue une solution incontournable dans unmarché assez fermé.

De grandes entreprises ont déjà fait le pas. L’ergonomie est régulièrement revue grâce à une politique de retour etd’analyse des tâches effectuées sur l’ERP. Le choix d’un langage de programmation comme Python lui permet d’êtreà la hauteur de tous les défis.

1.3 Connecteur Prestashop OpenERP

L’utilisation de solution d’e-commerce traditionnelle peut vite trouver ses limites lorsque les besoins en entreprisesont spécifiques et variés. C’est pourquoi de nombreuses entreprises se tournent vers une synchronisation entre leursdifférents postes de vente (ici internet) et leur logiciel de gestion. Pour permettre une bonne intégration de ces différentscomposants, il faut travailler avec les meilleurs outils, car l’incidence sur la performance de l’entreprise peut êtrecruciale.

L’outil, développé principalement par les sociétés Akretion et Camp-to-Camp, permet par le web service de Prestashopla synchronisation du catalogue, des commandes, des clients, des stocks. Les différents paramétrages type taxes, pays,monnaie, peuvent être aussi synchronisés.

Prestashop est reconnu sous forme d’instance et plusieurs Prestashop peuvent être mis en relation avec OpenERP,ainsi que d’autres solutions d’e-commerce ou de point de vente. Les avantages peuvent être multiples, de la gestionclientèle, gestion des achats, gestion de stock, gestion comptable. Ce type de module est aussi très utilisé dans lescommerces B2B afin de permettre d’avoir différentes plateformes de vente.

3

Page 8: Piloter Prestashop Avec OpenERP

Piloter Prestashop avec OpenERP, Release 1.0

Figure 1.1: synchronisation par Web service

1.4 Open-source

Tous les composants utilisés pour cette démonstration pratique sont sous des licences open-sources. Cela permetd’offrir les outils à la pointe de l’innovation technologique, et un pouvoir d’action très important aux programmeursqui développent ces solutions. La qualité de l’intégration est ici primordiale car elle dépend fortement des moyens misen place. Le suivi de projet et des tests réguliers d’intégration permettent d’arriver à une couverture importante desbesoins des entreprises.

4 Chapter 1. Introduction

Page 9: Piloter Prestashop Avec OpenERP

CHAPTER

TWO

INSTALLATION DE PRESTASHOP 1.5

2.1 Prérequis

Afin de mener un installation de Prestashop 1.5, il vous faut un espace d’hébergement PHP >= 5 et une base de donnéesMysql > 5. Vous pouvez vous procurer aussi des solutions d’installation locales grâce à un serveur web adapté à votresystème d’exploitation. Ici l’installation se fera avec Apache comme serveur web et mod_php. La distribution utiliséeest une Debian Squeeze, très répandue dans le monde des serveurs web.

2.2 Mise en place de l’environnement web

Prestashop se récupère directement sous forme d’archive sur le site web de l’entreprise éditrice à cette adresse :

http://www.prestashop.com/fr/versions-developpeurs

Ou pour les développeurs une version SVN existe à cette URL :

http://svn.prestashop.com/branches/1.5.x/

Vous devez décompresser l’archive récupérée à la racine de votre serveur web, sur une debian /var/www/

Pour la version SVN une copie de la version exportée sera suffisante.

2.3 Mise en place de la base de données

Les conditions d’accès de votre hébergeur doivent permettre de créer une base avec un utilitaire comme PHPMyAdmin.

Pour notre exemple nous allons utiliser des données d’authentification génériques avec un nom d’utilisateur identiqueau nom de la base.

USER : prestashop

PASSWORD :****

DATABASE : prestashop

Ce qui nous donne en SQL

CREATE USER ’prestashop’@’localhost’ IDENTIFIED BY ’***’;GRANT USAGE ON * . * TO ’prestashop’@’localhost’ IDENTIFIED BY ’***’ WITHMAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ;

5

Page 10: Piloter Prestashop Avec OpenERP

Piloter Prestashop avec OpenERP, Release 1.0

CREATE DATABASE IF NOT EXISTS ‘prestashop‘ ;GRANT ALL PRIVILEGES ON ‘prestashop‘ . * TO ’prestashop’@’localhost’;

IDENTIFIED BY ‘***‘ : remplacer les astérisques par le mot de passe de votre base.

ATTENTION cette requête ne prend pas en compte la sécurité de votre installation. Peut être utilisé à titre de démon-stration.

2.4 Assistant d’installation

Une fois le serveur web configuré et lancé, vous pouvez valider votre installation grâce à votre navigateur web, à l’URLde votre serveur. Votre requête devrait être redirigée automatiquement vers l’assistant d’installation Prestashop.

Remarque: pour la version SVN il faut rajouter à l’URL de votre site install-dev/

La suite de l’installation vérifiera la configuration de votre hébergement.

Ensuite vient la configuration de la base de données

Ensuite diverses infos utiles pour votre boutique

Ensuite la procédure de sécurité exige la suppression du répertoire install/ à la racine de votre serveur web, ainsi quele changement de nom du répertoire admin/, en par exemple backoffice/.

Pour finir il faut créer un fichier .htaccess à la racine du serveur web avec des droits d’accès suffisants pour que PHPpuisse éditer ce fichier.

Vous devriez maintenant avoir une version fonctionnelle de Prestashop à votre disposition.

2.5 Configuration web service

Afin d’établir la communication entre Prestashop et OpenERP, Prestashop va être accessible en écoute à travers unservice web qui par défaut est à l’URL :

http://www.monsite.com/api

La documentation sur cette API est accessible sur le site de Prestashop.

Pour configurer de façon basique cette API nous allons utiliser l’interface d’administration Prestashop dont vous devezconnaître maintenant l’URL.

Attention: il faut bien penser à activer le web service en plus de la création de la clé.

6 Chapter 2. Installation de Prestashop 1.5

Page 11: Piloter Prestashop Avec OpenERP

Piloter Prestashop avec OpenERP, Release 1.0

Figure 2.1: Assistant d’installation Prestashop

2.5. Configuration web service 7

Page 12: Piloter Prestashop Avec OpenERP

Piloter Prestashop avec OpenERP, Release 1.0

Figure 2.2: Vérification des prérequis système

8 Chapter 2. Installation de Prestashop 1.5

Page 13: Piloter Prestashop Avec OpenERP

Piloter Prestashop avec OpenERP, Release 1.0

Figure 2.3: Configuration de la base de données

2.5. Configuration web service 9

Page 14: Piloter Prestashop Avec OpenERP

Piloter Prestashop avec OpenERP, Release 1.0

Figure 2.4: Configuration de la boutique

10 Chapter 2. Installation de Prestashop 1.5

Page 15: Piloter Prestashop Avec OpenERP

Piloter Prestashop avec OpenERP, Release 1.0

Figure 2.5: Configuration service web Prestashop

Ensuite il faut générer le fichier .htaccess préalablement créé. Le fichier est automatiquement généré aprèsl’enregistrement de cette page :

Si votre fichier.htaccess est correctement généré, vous pouvez tester votre web service à travers l’URL

http://www.monsite.com/api

Un nom d’utilisateur vous sera demandé, c’est la clé de l’API fournie plus haut. Le mot de passe restera vide.

Pour exemple vous pouvez lister les produits de votre Prestashop sur cette url http://www.monsite.com/api/products/

2.5. Configuration web service 11

Page 16: Piloter Prestashop Avec OpenERP

Piloter Prestashop avec OpenERP, Release 1.0

Figure 2.6: Création clé d’API Prestashop

12 Chapter 2. Installation de Prestashop 1.5

Page 17: Piloter Prestashop Avec OpenERP

Piloter Prestashop avec OpenERP, Release 1.0

Figure 2.7: Génération .htaccess

2.5. Configuration web service 13

Page 18: Piloter Prestashop Avec OpenERP

Piloter Prestashop avec OpenERP, Release 1.0

14 Chapter 2. Installation de Prestashop 1.5

Page 19: Piloter Prestashop Avec OpenERP

CHAPTER

THREE

INSTALLATION D’OPENERP GRÂCE ÀLA RECIPE ANYBOX

3.1 Prérequis

OpenERP est récupérable de différentes manières Vous pouvez vous référer à la documentation officielle OpenERP:http://doc.openerp.com/v6.1/install/linux/index.html

Un base de données PostgreSQL doit être accessible par l’instance d’OpenERP.

Les modules nécessaires à l’installation du connecteur Prestashop OpenERP sont récupérables par les dépôts sur leLaunchpad.

https://launchpad.net/prestashoperpconnect

Le nombre de dépendances étant important, nous installerons OpenERP grâce à la recipe buildout Anybox.

http://www.buildout.org/

http://pypi.python.org/pypi/anybox.recipe.openerp/1.0.3

3.2 Installation d’OpenERP

OpenERP est installable par la recipe Anybox. C’est un ensemble de scripts permettant d’automatiser le déploiementd’une application Python et de son environnement. Ceci est particulièrement utile afin de s’assurer d’avoir un projetdéployable rapidement à l’identique et sur différentes plateformes. Sur un système de type Debian (ou autre distribu-tion) il suffit de créer un répertoire avec deux fichier: bootstrap.py et buildout.cfg

bootstrap.py est téléchargeable sur : http://python-distribute.org/bootstrap.py

Ci-dessous buildout.cfg:

[buildout]parts = openerpfind-links = http://download.gna.org/pychart/versions = versionsextensions = buildout.dumppickedversions

gp.vcsdevelopvcs-extend-develop =

git+https://github.com/akretion/prestapyt.git#egg=prestapyt[openerp]recipe = anybox.recipe.openerp:serverversion = 6.1-1

15

Page 20: Piloter Prestashop Avec OpenERP

Piloter Prestashop avec OpenERP, Release 1.0

eggs = prestapytrequestsunidecode

addons = bzr lp:~extra-addons-commiter/openobject-extension/oerp6.1-cleanning addons-extension last:1bzr lp:~extra-addons-commiter/e-commerce-addons/oerp6.1-cleanning addons-e-commerce last:1bzr lp:prestashoperpconnect addons-prestashop last:1bzr lp:~extra-addons-commiter/product-extra-addons/oerp6.1-cleanning product-extra-addons last:1

[versions]MarkupSafe = 0.15Pillow = 1.7.7PyXML = 0.8.4babel = 0.9.6feedparser = 5.1.1gdata = 2.0.16lxml = 2.3.3mako = 0.6.2psycopg2 = 2.4.4pychart = 1.39pydot = 1.0.28pyparsing = 1.5.6python-dateutil = 1.5python-ldap = 2.4.9python-openid = 2.2.5pytz = 2012bpywebdav = 0.9.4.1pyyaml = 3.10reportlab = 2.5simplejson = 2.4.0vatnumber = 1.0vobject = 0.8.1cwerkzeug = 0.8.3xlwt = 0.7.3zc.buildout = 1.5.2zc.recipe.egg = 1.3.2zsi = 2.0-rc3

L’installation se poursuit grâce aux commandes :

python bootstrap.py

bin/buildout

Ensuite nous lançons OpenERP grâce à la commande « bin/start_openerp »

OpenERP est accessible par défaut depuis votre navigateur web sur le port 8069:

http://localhost:8069

Ensuite le menu Manage Databases nous permet de créer une base de données de démonstration

3.3 Configuration du connecteur OpenERP Prestashop

Le connecteur OpenERP devrait être dans la liste des modules installables OpenERP Le connecteur est fonctionnelle-ment divisé en deux parties. Une première partie (prestashoperpconnect) permet la synchronisation d’OpenERP avecPrestashop. Une seconde partie (prestashoperpconnect_catalog_manager) permet la gestion du catalogue disponible

16 Chapter 3. Installation d’OpenERP grâce à la recipe Anybox

Page 21: Piloter Prestashop Avec OpenERP

Piloter Prestashop avec OpenERP, Release 1.0

Figure 3.1: Création base de données OpenERP

sur la boutique Prestashop par OpenERP. Un simple clic sur le bouton Install, suffira à installer les modules nécessairesau connecteur pour fonctionner.

Ensuite des assistants de configuration apparaîtront. Vous pouvez cliquer sur Suivant sans modifier les options pardéfaut dans le cadre de la démonstration.

3.3. Configuration du connecteur OpenERP Prestashop 17

Page 22: Piloter Prestashop Avec OpenERP

Piloter Prestashop avec OpenERP, Release 1.0

18 Chapter 3. Installation d’OpenERP grâce à la recipe Anybox

Page 23: Piloter Prestashop Avec OpenERP

CHAPTER

FOUR

TEST FONCTIONNEL

4.1 Un référentiel de Prestashop

Un fois installé vous pouvez commencer à mettre en place une instance de Prestashop dans OpenERP. Tout se passedans le menu « administration/PrestashopERPconnect/Prestashop Instances »

Pour cela vous allez renseignez votre URL de site Prestashop (location), la version de votre Prestashop (Referentialversion) , un nom (name) pour votre instance, et votre clé de Web service (Webservice Key) créée précédemment surl’interface d’administration Prestashop.

Un élément important à ne pas oublier : la configuration des langues dans l’onglet Configuration !

Toujours dans la même vue que pour l’instance, l’onglet Referential actions Nous permet de charger les correspon-dances d’objet (Reload Referential Mapping Template) et ensuite lancer la synchronisation des principaux objets typepays, devises, taxes (Synchronize Referential Settings).

Cette première synchronisation est indispensable pour la plupart des autres actions. Si elle échoue, vérifiez l’url devotre boutique ainsi que l’activation du webservice côté Prestashop. Les autres boutons permettent d’importer lesprincipaux objets type client, produit, afin de réaliser un premier import des données déjà présentes dans l’instanceprestashop.

19

Page 24: Piloter Prestashop Avec OpenERP

Piloter Prestashop avec OpenERP, Release 1.0

4.2 Un magasin (shop) Prestashop

Depuis la version 1.5 de Prestashop, le multi boutique est intégré. Donc une instance de Prestashop peut avoir plusieursmagasins avec des conditions, prix, catalogues différents. Lors de la création de l’instance précédente, un shop a étéautomatiquement créé.

Nous allons dans un autre menu : Prestashop Shop

C’est ici que les commandes, les stocks, se synchronisent. Ce menu vous permettra de configurer dans quels entrepôtsvos commandes sont retirées, et quelle liste de prix est appliquée au catalogue exporté.

20 Chapter 4. Test Fonctionnel

Page 25: Piloter Prestashop Avec OpenERP

Piloter Prestashop avec OpenERP, Release 1.0

4.2. Un magasin (shop) Prestashop 21

Page 26: Piloter Prestashop Avec OpenERP

Piloter Prestashop avec OpenERP, Release 1.0

22 Chapter 4. Test Fonctionnel

Page 27: Piloter Prestashop Avec OpenERP

CHAPTER

FIVE

CONCLUSION

Le connecteur OpenERP Prestashop est une base de travail parfaite pour établir la communication entre un ERP etune boutique en ligne. Nous pouvons grâce aux modules relier de un à plusieurs Prestashop, avec des versions dePrestashop type 1.4 et 1.5. Les outils de CRM, stock, compta se trouvent beaucoup plus maniables pour une entrepriseaux processus personnalisés. La compatibilité avec le module de synchronisation OpenERP -> Magento permet d’avoirun socle commun de gestion de ces outils e-commerce.

23