Pourquoi mettre à jour Prestashop ?
Avant toute chose, on ne fait jamais de migration Prestashop pour le plaisir d’être toujours au top des versions que publie l’éditeur. Même il est conseillé d’attendre quelques semaines voire mois avant de faire une mise à jour. Une fois votre boutique Prestashop en production, les mises à jour vont se faire au compte goutte afin de ne pas déstabiliser le bel édifice. Je viens de migrer de la version 1.6.0.14 (février 2015) à la version 1.6.1.16 (dernière version stable de l.6 datant du 1er août 2017 -> il est déjà sorti une v 1.6.1.17 datée d’hier). Pourquoi ai je été obligé de migrer de version de Prestashop ? Parce que l’on avait constaté de gros problèmes de mise à jour sur les fiches Produit dans le back-office avec des comportements aléatoires sur les mises à jour. Après discussion sur le forum Prestashop, on m’a indiqué que c’était une évolution des browsers qui posaient problème. Soit, ne cherchant pas à gaspiller du temps à chercher la raison mais plutôt à corriger le problème, j’ai pris la décision de migrer. En tout cas, il est intéressant de lire les fichiers ChangeLog des différentes versions. (le ChangeLog de la 1.6.1.16). Pensez aussi à vous assurer que les pré-requis (versions de PHP / SQL / Apache et ses modules) de la version cible sont identiques à ceux de votre version en production.
Comment mettre à jour votre version de Prestashop ?
Il existe 2 façons de faire : la bonne et la mauvaise. Je plaisante … En fait, Prestashop vous propose un module de mise à jour (1-Click Upgrade) pour mettre à jour votre Prestashop. Je déconseille fortement de l’utiliser directement en production (même si ce module produit une sauvegarde des fichiers et une sauvegarde de la base de données). Pour ma part, j’ai fait un essai de la migration sur un serveur de backup. Vous pouvez essayer de migrer votre Prestashop sur une version locale (type WAMP) mais je reste plus circonspect. J’ai restauré ma dernière sauvegarde complète (J-1 / fichiers + BDD), j’applique la montée en version des pré-requis (on a du passer en PHP 5.6) sur le serveur, je fais ma migration via 1-Click Upgrade en décochant les sauvegardes (c’est la partie qui prend le plus de temps). Je lance la migration sur mon serveur de backup et je regarde si tout se passe bien (pas de message inquiétant).
Que faire avant une mise à jour Prestashop ?
Avant toute mise à jour, il est impératif de sauvegarder votre répertoire racine Prestashop (en excluant le cache) et votre base de données (en excluant certaines tables de statistiques). Cette sauvegarde doit être quotidienne mais surtout, on doit tester de temps en temps (tous les 1 à 3 mois) que le backup peut se restaurer aisément et sans perte. Le backup (répertoire + BDD) doivent se faire plutôt sur des supports amovibles et si possible dans des lieux différents de celui du serveur (par exemple en cas d’incendie). Ce sont les règles les plus simples de la sécurité informatique.
Le module 1-Click Upgrade contrôle quelques paramètres avant de lancer le processus de migration Prestashop :
- que ce dernier soit à jour
- que votre répertoire root de la boutique soit autorisé à la mise à jour
- l’option Safe Mode de PHP est désactivée (elle est obsolète depuis la 5.3 de PHP)
- L’option « allow_url_fopen » de PHP est activée ou cURL est installé.
- Votre boutique est en mode maintenance
- Les fonctions de mise en cache de PrestaShop sont désactivées
- Le paramètre max_execution_time de PHP a une valeur élevée ou est entièrement désactivé
Comme je l’ai dit plus haut, je désactive la sauvegarde dans le module 1-Click Upgrade.
Et voici les autres paramètres qui ont une forte incidence en cas de mise à jour de certains éléments. Par exemple, si vous avez retravaillé des classes ou des contrôleurs, vous devez impérativement avoir suivi les préconisations pour faire des overrides. Et si vous avez modifié le format des emails standards, ces derniers seront écrasés (sous le répertoire mails/language) si vous cochez l’option. Si vous utilisez un thème différent que bootstrap (répertoire default-bootstrap), sachez que votre thème ne sera pas impacté par la migration Prestashop. Pensez à basculer à Oui l’option de désactivation des modules non natifs.
On démarre la migration Prestashop …
Et on croise les doigts pour que tout se passe bien.
On contrôle la migration Prestashop et on réactive la boutique …
Si le processus se termine correctement (pas de crash ni de message intempestif) et après déconnexion / reconnexion, il vous faudra :
- contrôler la réactivation des modules non natifs, de la boutique et la gestion du cache
- passer une commande test avec la création d’un compte
En conclusion, il ne faut pas se faire un monde de cette migration à partir du moment où vous avez une démarche et que vous maîtrisez les étapes préalables. Le facilitateur e-commerce peut vous aider dans cette opération délicate.