Notre

blog

Migration Prestashop 1.7 en 8 : pourquoi, comment et étude de cas

Migration Prestashop 1.7 en 8 : pourquoi, comment et étude de cas

La mise à jour de Prestashop est essentielle pour garantir la sécurité, la performance et la pérennité de votre boutique en ligne.

Avec la sortie de Prestashop 8, de nombreux sites encore en 1.7 doivent évoluer pour rester compatibles et performants. Dans cet article, nous présentons les enjeux d’une migration et partageons notre retour d’expérience sur un cas concret accompagné par nos équipes.

C’est quoi Prestashop ?

Prestashop est une plateforme e-commerce open-source écrit en PHP et hautement personnalisable. Il prend en charge une grande partie des services de paiement, est traduit dans de nombreuses langues et accessible dans de nombreux pays.

Cette solution est un choix solide pour toute entreprise désireuse de construire sa boutique en ligne.

Pourquoi réaliser une montée de version Prestashop ?

De nouvelles versions de Prestashop sortent régulièrement. Certaines sont majeures et apportent de nombreuses fonctionnalités, d’autres sont mineures et entrainent de légers correctifs, mais toutes apportent leur lot d’améliorations.

Afin de garantir la sécurité, la performance et la compatibilité de votre site, il est crucial de le maintenir à jour et éviter des risques comme :

  • Obsolescence des modules : Certains modules tiers peuvent dépendre de services externes dont les APIs qui peuvent être amenées à évoluer. Sans mise à jour, le comportement des modules peut devenir non-fonctionnel ou perdre leur compatibilité avec Prestashop. Cela peut donc être dangereux si la présence de modules est indispensable, comme les moyens de paiement ou la gestion via un ERP.
  • Exploitation de failles de sécurité : De nombreuses failles de sécurité sont découvertes et documentées régulièrement… Si les correctifs ne sont pas appliqués, c’est tous les modules Prestashop, le serveur Apache, le système d’exploitation… qui peuvent être la cible de personnes malintentionnées.
  • Pénalités sur le référencement SEO : Les standards de qualité des moteurs de recherche évoluent constamment : performance, accessibilité, consommation de données, bonnes pratiques de code, balises meta… autant d’aspects qu’une mise à jour de composants peut corriger et améliorer.

Les avantages de Prestashop 8 :

Faisons le point sur les éléments marquants de cette nouvelle version de Prestashop :

Amélioration des options de sécurité :

Avec l’ajoute d’une page « Sécurité avancée », les administrateurs de la boutique en ligne peuvent configurer facilement la politique de mots de passe (longueur et complexité) de leurs employés et clients. Ils peuvent également déconnecter les sessions à distance en cas de nécessité.

À noter aussi que les mots de passe trop simples sont bannis.

Nouvelle page de gestion des produits :

L’ancienne version avait introduit une page expérimentale des produits dans le back-office. La version 8 apporte son lot d’améliorations : meilleure organisation de la page, gestion des combinaisons, édition en masse… Mais aussi :

  • Le support des formats d’images WEBP
  • Amélioration du SEO des pages
  • Gestion multisite
  • Mise à jour du stack technique

En résumé, cette version 8 se concentre principalement sur le SEO et la sécurité, deux éléments cruciaux pour le bon fonctionnement d’un projet e-commerce.

À propos du projet

Notre client, fabricant de serres de jardin conçu en Hauts-de-France, vendait ses produits via un site e-commerce basé sur le CMS Prestashop version 1.7.

Avec l’obsolescence imminente de cette version et la volonté de repenser l’ergonomie et l’esthétique du site, nos équipes ont travaillé sur une migration vers la version 8 et la création d’un nouveau thème.

Par où commencer sa migration ?

Il existe deux méthodologies différentes pour réaliser sa montée de version :

  • La mise à jour : nous allons tout simplement mettre à jour le CMS Prestashop en effaçant les anciennes versions pour les remplacer par la nouvelle.

Cette méthodologie est idéale dans le cadre de légers correctifs et ne nécessitent aucune intervention sur le contenu ou la structure de la base de données

  • La migration : un travail plus conséquent est nécessaire. L’idée est de recréer une boutique vide et à jour, puis réintégrer les données.

Elle est recommandée pour des projets plus conséquent.

Pour notre projet, nous avons réalisé une migration. Pourquoi ?

  • Le passage de Prestashop 1.7 à 8 engendre des modifications de la structure de la base de données
  • Le client souhaitait une refonte du thème
  • Le projet comporte de nombreux modules
  • Le projet comporte des développements spécifiques qui doivent aussi être migrés

Pourquoi ne pas utiliser un module de migration ?

Il existe des modules pour réaliser une mise à jour ou une migration.

Cependant, l’utilisation de ces modules est, selon nous, risquée !

Ces utilitaires peuvent être une solution très efficace dans le cas où votre boutique reste fidèle à un fonctionnement classique de Prestashop, car ces derniers sont testés sur une instance possédant un jeu de modules restreint et peu voire pas de développements spécifiques.

Aussi, ces modules ne peuvent pas réaliser d’opérations sur la partie infrastructure du site (mise à jour système, configuration interne…). Une étape manuelle sera forcément requise.

Dans tous les cas, un test peut être réalisé en amont sur un environnement dédié pour vérifier le bon fonctionnement de ce type de modules ou non.

Pour notre projet, tous les tests réalisés ont révélé que les utilitaires ne pouvaient réaliser les tâches convenablement. La migration a été faite manuellement.

Réalisation du script de migration de la base de données

L’une des premières étapes a été la réalisation d’un script dont l’objectif est de récupérer les données de Prestashop 1.7 et de le transformer pour correspondre à Prestashop 8.

Pour réaliser ce script, le langage de programmation Python est utilisé.

Réalisation du nouveau thème

Une fois les données importées, nous avons commencé à travailler sur la refonte du thème.

La stack technique recommandé par Prestashop est la suivante :

  • Smarty pour les templates front-office et Twig pour les templates back-office.
  • SCSS pour le style (en suivant la norme RSCSS)
  • Javascript avec le standard ES2015
  • WebPack pour la compilation des ressources

Ainsi, en suivant les bonnes pratiques nous obtenons ce type de hiérarchie de fichiers :

Installation des modules tiers

Pour pouvoir assurer des fonctionnalités similaires, nous devons réinstaller les modules présents sur l’ancien environnement vers le nouveau.

Dans certains cas, aucune manipulation n’est nécessaire. Le module peut être réinstallé tel quel et les données simplement réinjectées. Dans d’autres cas, une mise à jour est nécessaire, voir un changement complet de module… Plusieurs causes existent à cela. Dans notre projet, nous en avons rencontré deux :

  • Un arrêt du support du module pour les versions récentes de Prestashop
  • Une incompatibilité avec les nouveaux thèmes

Création d’un module unifié

Afin de compléter la mise à niveau, il est aussi important d’importer d’adapter les développements personnalisés présents dans l’environnement actuel. Ceux-ci restent assez minimalistes et indépendants.

Par exemple le changement de la stratégie de génération des numéros de commandes, ou encore l’affichage de blocs de contenu sur certains endroits du site.

Afin de rendre leur gestion plus simple, nous avons créé un module unique qui rassemblera tous ces petits comportements.

Dernière étape : Déploiement du projet en production

Une fois toutes les étapes réalisées, il est l’heure de réaliser le déploiement sur un environnement final !

Tout d’abord, il faut installer une nouvelle instance de Prestashop dans sa dernière version sur une nouvelle machine. Ensuite, il faut mettre en place le mode maintenance de la boutique actuelle. Celui-ci va permettre d’éviter toute interférence durant l’opération.

Maintenant que les données du site de production sont figées, nous pouvons les exporter et exécuter notre script de migration.

Enfin, nous n’avons plus qu’à orienter l’adresse du site vers la nouvelle machine. Le nouveau site est disponible !

Pour conclure

Migrer de Prestashop 1.7 vers la version 8 demande méthode et expertise, mais les bénéfices sont immédiats : meilleure sécurité, SEO optimisé et outil plus pérenne.

Nos équipes maîtrisent l’ensemble du processus et peuvent vous accompagner dans la modernisation de votre écosystème e-commerce.