Piloter Prestashop avec OpenERPRelease 1.0
Simon ANDRÉ, Anybox
September 18, 2012
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
ii
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
Piloter Prestashop avec OpenERP, Release 1.0
2 CONTENTS
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
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
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
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
Piloter Prestashop avec OpenERP, Release 1.0
Figure 2.1: Assistant d’installation Prestashop
2.5. Configuration web service 7
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
Piloter Prestashop avec OpenERP, Release 1.0
Figure 2.3: Configuration de la base de données
2.5. Configuration web service 9
Piloter Prestashop avec OpenERP, Release 1.0
Figure 2.4: Configuration de la boutique
10 Chapter 2. Installation de Prestashop 1.5
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
Piloter Prestashop avec OpenERP, Release 1.0
Figure 2.6: Création clé d’API Prestashop
12 Chapter 2. Installation de Prestashop 1.5
Piloter Prestashop avec OpenERP, Release 1.0
Figure 2.7: Génération .htaccess
2.5. Configuration web service 13
Piloter Prestashop avec OpenERP, Release 1.0
14 Chapter 2. Installation de Prestashop 1.5
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
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
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
Piloter Prestashop avec OpenERP, Release 1.0
18 Chapter 3. Installation d’OpenERP grâce à la recipe Anybox
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
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
Piloter Prestashop avec OpenERP, Release 1.0
4.2. Un magasin (shop) Prestashop 21
Piloter Prestashop avec OpenERP, Release 1.0
22 Chapter 4. Test Fonctionnel
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