Il y a quelques mois, lors du WordCamp Paris 2015 j’ai eu le plaisir de discuter avec Fabrice DUCARME, de wpformation, qui m’a fourni de précieux conseils sur un problème de gestion de TVA sous WooCommerce. Nous avons débattu autour du thème des boutiques en ligne, en particulier sur la manière dont j’avais réalisé une migration de PrestaShop à WooCommerce pour un client.
Cet article témoigne d’une opération technique réalisée au profit d’un client dont le but était de migrer deux sites e-commerce tournant sous PrestaShop (multi-boutique) vers un environnement WordPress / Woocommerce.
Pour récupérer les informations de PrestaShop et les implémenter dans leur nouvel environnement WooCommerce, j’ai utilisé le plugin de Frédéric Gilles: FG PrestaShop to Woocommerce.
Table of Contents
Migration de PrestaShop à Woocommerce: Phase préparatoire.
Disposant d’un dump complet du site de production, j’ai remonté l’environnement sur une maquette hébergée sur un serveur local (Debian / LAMP). Un virtualhost portant le même nom de domaine que la production a été mis en place afin d’avoir un minimum de modifications à faire sur l’environnement PrestaShop.
Installation initiale de WordPress.
Je suppose que vous maîtrisez parfaitement les installations de l’environnement cible, mais afin que ce retour d’expérience puisse servir au plus grand nombre, voici un focus sur son installation.
Il existe un florilège d’articles détaillés traitent du sujet, et la procédure est très bien résumée sur le site officiel de WordPress à cette adresse : https://fr.wordpress.org/txt-install/.
Afin de vous fournir un peu plus d’informations, voici une explication rapide de la manière dont vous pouvez procéder.
REMARQUE: Au préalable à l’installation de WordPress sur son nouvel environnement, vous devez disposer d’une base de données et être en possession de l’identifiant et du mot de passe d’un compte d’administration ayant les privilèges en lecture et modification sur la base.
- Récupérez la dernière version de WordPress sur le site officiel : https://fr.wordpress.org/
- Décompressez l’archive obtenue en local
- Envoyez les fichiers sur le serveur cible via un client FTP. Je vous recommande de FileZilla que l’on peut récupérer à cette adresse: https://filezilla-project.org/.
- Installez WordPress en suivant la procédure d’installation automatique.
Une simple recherche google vous permettra d’en approfondir le sujet.
puis de WooCommerce.
Maintenant que WordPress est installé, l’étape suivante consiste à télécharger puis installer WooCommerce. Le but de mon article n’étant pas de décrire en détail cette phase, sachez que beaucoup de sites traitent de l’installation de WooCommerce. Afin d’avoir une idée rapide, et cependant complète sur le sujet, je vous conseille la lecture des articles suivants:
- « WooCommerce WordPress un Ecommerce performant, sur wpformation certes relativement ancienne mais déflorant le sujet,
- « Créer un e-commerce WordPress: installer et configurer Woocommerce » de Fabien sur codeur.com.
A la suite de quoi vous saurez tout, ou presque, sur les phases d’installation de la solution e-commerce librement diffusée par Woothemes.
Une fois ces deux socles techniques installés, et correctement paramétrés, vient alors le moment critique que j’appelle la phase « IRD » (Intégration et Reprise de Données) dont le résultat permettra d’avoir un nouvel environnement technique (WordPress / WooCommerce) en mesure d’exploiter toutes les données (clients, commandes, produits, etc…) du précédent système utilisé (PrestaShop).
Récupération des paramètres PrestaShop
Afin de pouvoir procéder à l’opération il est nécessaire de disposer de toutes les informations de connexion à la base de données du site PrestaShop.
Réalisation de la Migration
Description du plugin utilisé et fonctionnalités
Deux versions de cette extension existent et le tableau ci dessous en récapitule les différences.
FONCTIONALITÉS | VERSION GRATUITE | VERSION PREMIUM |
---|---|---|
PrestaShop 1.1 à 1.6 | X | X |
Migre les produits | X | X |
Migre les catégories de produits | X | X |
Migre les catégories CMS | X | X |
Migre les articles CMS | X | X |
Migre les médias (images, PDF, …) | X | X |
Migre les médias externes | X | X |
Migre les mots-clefs | X | X |
Migrer les caractéristiques de produits | – | X |
Migre les déclinaisons de produits | – | X |
Migrer images d’attributs de produit | – | X |
Migre les employés | – | X |
Migre les clients | – | X |
Migre les commandes | – | X |
Migre les notes et commentaires | – | X |
Migre les réductions / coupons | – | X |
Migre les mots de passe des utilisateurs | – | X |
SEO: redirige les URLs de PrestaShop | – | X |
SEO: migre les méta données : titre, description et mots-clés (compatible avec le plugin WordPress SEO) | – | X |
Licence | à vie | à vie |
Plusieurs importations | X | X |
Mises à jour | par WordPress.org | 3 mois de mises à jour gratuites |
La version gratuite du plugin est disponible sur wordpress.org, la version payante sur le site de l’auteur.
Utilisation du module de transfert.
Avant de pouvoir utiliser l’extension, il est nécessaire de procéder à certaines opérations préliminaires suivantes :
- Installation du plugin via le back-office de WordPress puis activez l’extension
- Cherchez « FG Prestashop to Woocommerce » dans le repository, vous devriez arriver sur cette proposition d’extension.
- Cliquez sur le bouton Installer
- Si vous désirez utiliser le plugin PREMIUM, alors il vous faudra l’envoyer manuellement.
- Activez l’extension, à la suite de quoi tout est OK pour procéder aux opérations techniques de migration de PrestaShop à WooCoomerce.
- Ouverture de l’importateur dans Outils > Import > PrestaShop
- Configuration des paramètres du plug-in en renseignant les informations relatives à la base de données que vous trouverez dans le fichier PrestaShop settings.inc.php (PrestaShop 1.5 ) ou dans les Préférences PrestaShop > onglet Base de données (PrestaShop 1.4).
A ce stade, vous devriez détenir les informations suivantes:
- Nom d’hôte: _DB_SERVER_
- Port: Par défaut, c’est 3306.
- Base de données: _DB_NAME_
- Nom d’utilisateur: _DB_USER_
- Mot de passe: _DB_PASSWD_
- Préfixe des tables PrestaShop: _DB_PREFIX_
Et il suffit maintenant de renseigner les champs requis comme sur la figure suivante
puis de cliquer sur le bouton « Tester la connexion ».
Si toutes les informations sont correctement entrées, alors le module vous fournit certaines indications sur ce qui a été trouvé dans la base PrestaShop. Dans mon cas, voici ce qui est remonté.
Arrive ensuite le moment crucial de la récupération de données. A ce stade deux options sont possibles, soit vider totalement la base de données WordPress, soit conserver certaines données y étant déjà présentes. Attention dans le second cas à s’assurer que les données déjà contenues dans WordPress ne risquent pas de générer des doublons avec les produits, commandes, utilisateurs, articles que vous souhaitez importer.
Le module d’import propose plusieurs options pour la suppression de données avant intégration, elles sont reprises ci-dessous.
Dans mon cas j’ai décidé de conserver certaines données ayant été récupérées manuellement d’un second environnement, ou créées en avance de phase pour celles dont j’étais certain qu’il n’y avait aucun risque de conflit potentiel.
Une fois que votre choix est fait, en toute connaissance de cause, un certain nombre de choix complémentaires sont proposés. En voici le détail
En fonction de ce que l’on souhaite faire, importer, pré-renseigner, il suffit de cocher les options puis de lancer l’import en cliquant sur le bouton approprié.
Lorsque toutes les informations ont correctement été saisies, le processus de transfert démarre et se déroule sans trop d’accrocs.
Dans le cadre de la première migration que j’ai réalisée, tout ce qui était dans PrestaShop a été intégré et voici l’état de la base WordPress après l’intégration.
L’utilisation de ce plugin a donc été d’une grande utilité et a permis en un temps minimum de procéder au changement d’environnement.
Problèmes rencontrés, solutions apportées & bilan de l’opération.
Attention cependant à la capacité de la (ou des) machine(s) sur laquelle vous effectuez l’opération. En effet j’ai au départ mal dimensionné la seconde machine virtuelle d’intégration (cible WooCommerce) donc ai du en augmenter les capacités (essentiellement RAM montée à 4 Go pour l’occasion) afin de mener à bien l’opération de conversion de base de données.
Heureusement la section FAQ du site du développeur du plugin m’a fourni de précieux compléments d’informations, en particulier:
L’importation n’est pas complète.
- Exécuter la migration à nouveau l’opération se poursuit là ou elle s’était arrêtée.
- Il est possible d’ajouter: `define (‘WP_MEMORY_LIMIT’, ‘512M’); ` dans le fichier wp-config.php pour augmenter la mémoire autorisée par WordPress, et également d’augmenter la limite de mémoire dans le fichier php.ini si vous avez accès en écriture à ce fichier (ex: memory_limit = 1G).
Les images ne sont pas importées
- Le champ URL doit contenir l’URL de la page d’accueil de l’ancien site PrestaShop.
- Ce dernier ne doit pas être en mode maintenance et il est préférable d’utiliser http au lieu d’une URL en https.
Au final…
Six heures m’ont été nécessaires pour migrer la première boutique. Une heure pour l’installation des deux machines virtuelles et l’implémentation des environnements logiciels correspondants, deux heures de traitement »brut » et trois heures de corrections de bugs (images non transférées, fiches en erreur) et recherches de solution pour savoir ou le processus bloquait.
Au bout de ce laps de temps, je disposais d’un environnement WordPress / WooCommerce ayant récupéré toutes les informations requises (commandes, clients, utilisateurs, produits, catégories) que nous avons pu recetter avec le client.
D’autres solutions existent, en particulier Cart2Cart, mais je ne les ai pas testées ayant trouvé l’offre de Frédérig Gilles suffisante pour l’opération souhaitée par le client.
Cet article vous a intéressé ?
Avez vous déjà réalisé le même type d’opération ?
Quelles difficultés éventuelles avez-vous rencontré ?
N’hésitez pas à laisser votre commentaire ou faire part de votre expérience ci-dessous 🙂
Bonjour,
J’aurais voulu savoir, si je transfert le prestashop vers mon wp, est-ce que le presta sera vidé de son contenu, ou est-ce que je peux encore l’utiliser le temps de faire mes changements sur wp, genre adapter le template, les modules, les images, etc. et que ma boutisue ne ferme pas avant que je l’ai decidé ?
Merci bonne journée.
Bonjour et merci pour votre commentaire.
J’ai fait plusieurs fois cette manipulation et à chaque fois les bases des boutiques prestashop restaient intactes. Vous pouvez donc sereinement préparer votre nouveau site WP :). N’hésitez pas à me recontacter pour toute question complémentaire. Bonne fin de journée.