11/02/20 Franck Bugnet Catégorie Tuto Vidéo

Exporter les données de PrestaShop

Exporter veut dire lire et extraire des données depuis la base de données de PrestaShop et les copier sous une forme structurée dans un fichier externe, de type CSV, Txt, Excel, xml, sql ou autre. Ce type de fichier peut ensuite être utilisé à des fins diverses, comme migrer les données vers une autre base ou système, les modifier dans Excel pour les ré-importer, faire sa comptabilité, distribuer une newsletter, archiver une sauvegarde, vendre sur les places de marché...

Le sujet est donc très vaste, mais on va essayer de faire le tour de la question.

En introduction, ci-dessous, on va faire un rappel des outils de sauvegarde et d'exportation natifs de PrestaShop, disponibles gratuitement dans l'administration, sans nécessiter de module additionel.

Mais vous verrez que comme bien souvent avec PrestaShop, ces outils de base ont leur limite. Fort heureusement il existe des alternatives sous forme de modules d'export complémentaires. Cette catégorie contient donc plusieurs billets présentant diverses solutions disponibles pour exporter tout ou partie de la base de données de PrestaShop.

Pourquoi et comment faire une sauvegarde de la base de données PrestaShop ?


Pourquoi ?



Il ne se passe pas une semaine ou l'on ne discute avec un e-commerçant qui veut réaliser une opération de masse complexe sur ces données et qui à la question "avez-vous une sauvegarde récente de votre base ?", nous répond : "non, je ne sais pas faire, mais je crois que mon hébergeur fait des sauvegardes".

Gloups !  ok on a le droit de ne pas savoir faire, pas de soucis, mais juste "croire" que quelqu'un d'autre le fait pour vous, sans en avoir la certitude, est suicidaire. Si vous êtes dans ce cas de figure, désolé, mais on se doit de vous taper sur le bout des doigts. Car un jour ou un autre, vous aurez un crash de votre base, ou une attaque d'un pirate, ou ferez une fausse manip qui effacera une partie de vos données si précieuses.
Arrêtez tout ce que vous faites, y compris la lecture de cet article, passez immédiatement un coup de fil à votre hébergeur pour vérifier qu'il y a bien une sauvegarde de votre base de données réalisée au moins une fois par jour, avec un système d'archivage des sauvegardes sur plusieurs jours (pouvoir rapatrier les données de la semaine dernière par exemple).
Si c'est une option facultative payante, prenez la immédiatement, ne prenez aucun risque.
Si votre hébergeur n'offre pas ce service fondamental, fuyez-le...

Note : profitez-en pour vérifier également que l'hébergeur fait aussi des sauvegardes régulièrement de vos fichiers (votre dossier contenant l'installation de PrestaShop). La fréquence peut être moins régulière que pour la base de données, mais ne pas disposer d'une telle sauvegarde lorsque l'on se fait hacker par un pirate, c'est la mort assurée du site.
Ne pas confondre les deux, la base de données ne contient pas les fichiers de PrestaShop et PrestaShop ne contient pas vos données.


Ok, c'est bon, ce point est vérifié et corrigé si nécessaire? votre hébergeur fait des sauvegardes régulières de la base et des fichiers de votre site PrestaShop ? parfait... enfin presque.

Imaginez que votre hébergeur fasse faillite, ou se fasse lui même hacker, ou que vous vous fachiez avec lui et changiez de crémerie et que malhonnète il ne réponde plus quand vous lui demandez de vous envoyer les sauvegardes (cas déjà vu à plusieurs reprises), ou que son système de sauvegardes soit défaillant (cas vu TRES souvent !). C'est pourquoi il faut aussi faire soit même, de temps en temps, disons une fois par mois au minimum, une sauvegarde de votre base, que vous conserverez sur votre PC et dans le backup de celui ci. Bretelles et ceinture.

C'est essentiel et c'est très facile et rapide à faire. Voyons cela en images...


Comment ?



  1. Allez dans l'admin de PrestaShop, et déroulez "Paramètres avancés"
  2. Cliquez sur "Base de données"


Administration de la base de données dasn PrestaShop

Puis

  1. Allez dans l'onglet "Sauvegarde"
  2. Cliquez sur "J'ai lu l'avertissement - Créer une sauvegarde"


Lancer une sauvegarde de la base de données PrestaShop

Au bout de quelques secondes (selon la taille de la base), la sauvegarde est créée et apparaît dans la liste. Mais elle est stockée sur le serveur, ce qui n'est pas sécurisant en cas de crash serveur. Il faut la télécharger pour en garder une copie chez-soi. Pour cela cliquez sur l'icone représentant un oeil :


Télécharger la sauvegarde

Le téléchargement de la sauvegarde doit se lancer tout seul, sinon cliquez sur "cliquez ici", puis sur "OK"


Nommez le fichier de sauvegarde

Voila vous disposez à présent d'une sauvegarde complete de votre base, au format sql, ré-importable avec PHPMyAdmin en cas de gros soucis. Cette étape est hors propos et on ne va pas la détailler ici, il existe déjà plein de tutos car ce type de travail n'est pas spécifique à PrestaShop.



Comment exporter des données avec PrestaShop ?


Selon le type de données, la méthode peut légèrement varier.

Par exemple pour exporter les produits du catalogue :


  1. Cliquer sur "Catalogue"
  2. Cliquer sur "Produits"
  3. Cliquer sur le petit engrenage en haut à droite (menu contextuel)
  4. Sélectionner soit "Exporter", soit "Exporter vers le gestionnaire SQL" 


Exportation des produits PrestaShop


Si vous avez cliqué sur "Exporter", un fichier CSV est créé sous le nom de votre choix :


Choix du nom du fichier d'export

Donc permière mauvaise surprise, c'est du CSV et rien d'autre. Ni xls, ni xlsx ou xml,...

Seconde mauvaise surprise, quand on regarde le contenu du fichier, on se rend vite compte qu'il manque la plupart des données. Il n'y a ni les résumés, ni les descriptions, ni les champs SEO,... En gros ce fichier ne peut pas être utilisé ni comme sauvegarde, ni comme source de ré-importation :

Contenu du fichier d'exportation des produits de PrestaShop


La seconde méthode, en choisissant "Exporter vers le gestionnaire SQL", est plus puissante, car elle permet d'ajouter les champs que l'on veut. Mais, aie ça pique, il faut savoir écrire des requêtes SQL, ce qui n'est pas le cas (ni le métier) de tout les commerçants :

Exporter vers le gestionnaire de requêtes

Si on doit juste ajouter une rubrique simple, comme le prix d'achat, ça reste jouable, il suffit d'ajouter une ligne p.`wholesale_price` AS wsprice, dans la requête. Mais si vous voulez par exemple que votre fichier contienne aussi les caratéristiques des produits, on doute fort que la plupart d'entre vous sache réaliser la bonne jointure. C'est juste trop technique et non adapté.

Pour exporter les catégories :


C'est exactement le même principe, avec les mêmes limitations :

Exportation des catégories



Pour les fournisseurs et les marques :


Il faudra faire encore deux exportations selon la même méthode, donc deux autres fichiers.


Pour les attributs et les caractéristiques :


Ca se complique, il n'y a même pas de bouton d'exportation simple, il faut obligatoirement passer par le gestionnaire de requètes SQL :

 Exportation des attributs et des caractéristiques

Mais le pire du pire, c'est que la requête pré-écrite ne fonctionne même pas :

Bug de la requête d'exportation


Et les déclinaisons, comment les exporter également ?


Réponse simple, on ne peut pas, à moins de savoir écrire soit même la bonne requête sql, et croyez-nous, ce n'est pas simple du tout pour un nom spécialiste de MySQL ou si on ne connait pas sur le bout des doigts la structure et les subtilités de la base PrestaShop .

Conclusion :


Arrétons là le massacre, vous l'aurez compris, PrestaShop va devoir revoir sa copie pour toute la partie exportation.

En attendant que cela s'améliore, il va vous falloir utiliser d'autres outils, soit des modules spécialisés dans l'exportation PrestaShop. Il en existe beaucoup, mais la majorité sont incomplets et très peu souples d'usage.
Soit si vous ne voulez pas dépenser une fortune avec l'achat de plein de micro modules et optez intelligemment pour tout faire avec un seul module, vous pouvez utiliser une fois encore Merlin Backoffice qui intègre nativement plusieurs outils d'importation hyper faciles à utiliser et surtout à personnaliser en fonction de votre besoin.

On vous invite donc à jeter un oeil averti sur la vidéo générique ci-dessous, puis aux divers articles plus spécifiques de cette catégorie et découvrir un autre monde... 

Exportation PrestaShop avec le module Merlin

32min

Cette vidéo et formation couvre une grande partie des outils d'exportation de ce module.
Elle s'attarde en particulier sur le choix des rubriques à exporter, afin de pouvoir migrer un catalogue entre deux versions de PrestaShop.
Elle présente aussi les outils d'exportation de catalogues au format PDF.  

Autres sujets couverts : 

  • Personnalisation des exports pour les places de marché.
  • Exportation des catégories avec leur structure hierarchique.
  • Exportation des déclinaisons.
  • Exportations des prix spécifiques.
  • Personnalisation du contenu par groupe de clients ou pays.
  • Exportation avec des langues et boutiques multiples.
  • Choix des divers formats de fichier en fonction de la destination.


resolution
 Augmentez la résolution à 720p si la vidéo est trop floue, repassez-la en Auto si elle se fige.
Cet article vous a plu ? Partagez-le !