Migration de Prestashop 1.6 vers la 1.7: les problèmes et la méthode

SEO Pour créer, rédiger et optimiser le SEO de vos pages web --> Contactez-nous


Beaucoup de sites de e-commerce basés sur Prestashop veulent passer à la version 1.7 mais ceci ne se fait pas sans mal.

Parfois, il est même conseillé de rester dans les 1.6 (qui continuent d'évoluer ... pour l'instant).

Parfois, il vaut mieux carrément tout recréer plutôt que de tenter une migration.

Voici quelques points particuliers des difficultés et de la méthode si on ne veut pas que le passage à Prestashop 1.7 soit un massacre..

(Par ailleurs, n'hésitez pas à nous contacter si vous avez une migration à faire, nous saurons faire une cotation au forfait et vous dire sans ambages si cela vaut le coup et le coût, si 'il ne vaut pas mieux tout recommencer ou rester sur une version 1.6.x).

En premier lieu, répétons le: il n'y a pas de mise à jour automatique d'un Prestashop 1.6.x à un Prestashop 1.7 !

1) Il faut donc créer un second environnement si on en n'a pas (bac à sable) et ensuite"recréer la boutique".

2) Ensuite, on va reconfigurer la boutique 1.7 comme la 1.6 : il est possible d'automatiser la configuration en développant un script (cette automatisation est importante en vue de la migration).

3) Puis, il faut passer au gros morceau qu'est l'importation des données de la 1.6 dans la 1.7 (clients, commandes, catalogue, catégories, pages cms, ...). L'import s'effectue avec des copies de fichiers, de tables de la base de données (avec une moulinette pour faire entrer les données de la 1.6 dans la 1.7).

4) Vient alors le moment de réinstaller les modules dans leur version pour la 1.7 ou de les adapter ou de les remplacer. Un travail de recherche parfois important, avant la migration, est nécessaire pour savoir quels modules seront à redévelopper/changer. Certains modules ont disparu dans Prestashop 1.7, d'autres ne sont pas mis à jour, d'autres sont payant ou gratuits (module RGPD par exemple)

Ne pas oublier: le script d'importation doit importer dans la 1.7 les données des modules dans la 1.6.

5) Eternel problème... le design..

Si on garde le même template, et qu'il n'existe pas en version Prestashop 1.7, il faut recoder le thème.

Le plus simple est de partir du thème classic ou du starter thème fournis par Prestashop pour la 1.7 et tout recoder.

Le moins onéreux est de changer de thème.

Attention au fait qu'en général, le thème contient les templates des emails. Si il y a changement de thème, il faut penser à remettre en place des balises additionnelles pouvant servir par exemple à des codes de suivi .

En vrac:

  • La contrainte majeure n'est pas de réussir à recréer la boutique avec ses données mais d'avoir automatisé l'import/la configuration pour pouvoir effectuer la migration en quelques heures (il faut passer la boutique 1.6 en maintenance pour ne pas perdre de données)
  • Si des surcharges (modifications du comportement du core de Prestashop) ont été mises en place, il faut les reproduire pour la 1.7.
  • Il faut vérifier que le core de Prestashop 1.6 n'a pas été modifié avec des modifications des fichiers natifs. Si tel est le cas, il faut reproduire ces modifications dans des surcharges ou mieux encore si possible avec des hooks, ce qui implique parfois d'avoir à examiner TOUT le code de la boutique s'il n'y a pas eu de document traçant toutes les transformations faites.
 
Import des données
  • Prestashop 1.7 installe près de 270 tables ! De nombreuses tables sont identiques à celles de Prestashop 1.6 et pour celles-ci, il est possible d'effectuer des copies des tables de la 1.6. Ces copies impliquent de vérifier que les liens entre les tables seront toujours ok (par exemple : il faut vérifier par exemple que l'identifiant "id_currency" importé est toujours ok dans la 1.7).
  • Même en connaissant les tables identiques entre la 1.6 et la 1.7, il faut vérifier pour chaque boutique si un module n'a pas modifié une table (en ajoutant une colonne). Il faut alors soit importer la colonne (si le module dans la 1.7 fonctionne pareil), soit créer un script pour importer ces données dans une nouvelle table pour une utilisation par un nouveau module/une adaptation du module pour la 1.7
  • Certaines tables de la DB sont différentes, il faut développer des scripts permettant d'importer les données dans la 1.7.

D'autres problèmes en vrac:

Appels externes: Prestashop 1.7 fait beaucoup d'appels externes. Très vite, à cause d'un module mal "redéveloppé", ceci peut être bloquant (le site ou le bo tournent en rond ou tout est bloqué) et il faut parfois vérifier toutes les données pour voir si elles sont nécessaires (et leur appel aussi)

Modules: certains modules ne sont pas (encore ?) correctement redéveloppés pour Prestashop 1.7 (par exemple en Octobre 2018, les développeurs du module Leetchi veulent checker que le retour de leetchi est bien effectué avec une requête de type "post" alors que leetchi effectue une requête de type "get" -- la requête de type "post" est effectué sur la page de validation qui enregistre le paiement ou non de la commande).

Transporteurs multiples:  Prestashop 1.7 ne gère pas les commandes où les produits ont des transporteurs différents/communs --> il va donc falloir tester tous les cas possibles dans la 1.6 et noter le comportement puis le remettre en place dans la 1.7. Ceci implique de modifier sérieusement le core de prestashop (sélection des transporteurs / formulaire sur la page de paiement / affichage).

 

Au final, il est impossible de savoir combien de temps et combien d'argent coûte une migration Prestashop 1.6 -> Prestashop 1.7.

Chaque site a ses propres caractéristiques et il faut avoir au moins l'accès au back-office avant de faire une cotation sérieuse.

Méfiez-vous des vendeurs de soupe qui vous garantissent une migration rapide et sans danger, beaucoup de boutiques ont ainsi disparu ou sont cassées donc déjà, avant toute chose, faites une sauvegarde et vérifiez que le prestataire travaille sur un environnement séparé (bac à sable).

Et si vous avez envie d'une bonne migration Prestashop, contactez-nous ! :-)

 

Commentaires sur: Migration de Prestashop 1.6 vers la 1.7: les problèmes et la méthode

Pour avoir vécu l'enfer (des mois de galère) avec une migration prestashop avec notre site https://www.stylbio.fr hébergé chez ovh en performance 2 (cela a son importance ). Je tiens à vous signaler que si vous rencontrez des erreurs de type "content encoding error", votre hébergement est arrivé à saturation. En effet prestashop 1.7 est très lent avec PHP 5.6 et génére d'innombrables erreurs bizarres insolubles (erreurs 500, erreurs de syntaxes etc. ).
La solution :
Sous ovh : choisir PHP 7.0 ( attention j'insiste bien sur le 7.0 car au dela de la 7.1 ça ne marchera pas du tout vous aurez une page blanche ). Ensuite upgradez votre hebergement (+de mémoire), vous êtes peut être arrivé à saturation ! Ceci est d'autant plus vrai si vous avez beaucoup de produits dans votre base de données. Nous avons cherché pendant des mois et fait appels à de nombreux experts, pour au final solutionner le problème en 2 clicks... (rien n'était défectueux lors de la migration, c'était l'hébergement qui était insuffisant en puissance de calcul !).

Rédigé par : Patrice | 24 sep 2018 18:11:29

Poster un commentaire sur: Migration de Prestashop 1.6 vers la 1.7: les problèmes et la méthode







« RGPD: que demander aux sous-traitants (modèle de lettre à leur envoyer) et que changer aux contrats ? ? | Accueil | Faire facilement un site de petites annonces avec Wordpress »


Développement it et web, rédaction contenu web,  SEO, scrapping, growth hacking

Besoin de SEO, de développement, de rédaction de contenu web ? Besoin d'un blog, de Wordpress, de Prestashop ou autres nouvelles "choses web" ? Envie de travailler dans ces domaines ? --> Contactez-nous