Développement et mise à jour sur Prestashop 8, bilan

20 octobre 2023

J’ai attendu l’accumulation d’une expérience très conséquente de développement sous Prestashop 8 par notre équipe roumaine avant d’aborder le sujet. (et non pas comme certains disent logiquement, mais improprement, Prestashop 1.8…)

Sachant que nous y sommes venus prudemment, assez tardivement, instruits par un précédent douloureux.

En effet, lorsque Prestashop 1.7 est sorti, en apportant un bouleversement technologique du fait de l’utilisation partielle du framework Symfony, nous avons largement été mis à contribution par un client « early adopter » dont la boutique, développée par d’autres, fonctionnait très mal. Nous avons du lutter contre de nombreux bugs de la V 1.7.0, contre des parties non terminées aussi, sur une version « appauvrie » au niveau fonctionnel par rapport aux précédentes. Bref nous avons “défriché”…

Certes, « le client est roi », mais dans la mesure ou aucun client ne nous pressait, nous avons pu laisser le temps au temps, pour que des version plus stables de Prestashop 8 apparaissent

Il est d’ailleurs significatif que notre plus gros développement sous Prestashop 8 ait été pour la Roumanie. Cela donne une idée de la large diffusion de cette dernière version de Prestashop.

Changement dans la continuité

Sans apporter de révolution, le développement avec Prestashop 8 permet quelques avancées significatives, largement via le recours amplifié à Symfony :

D’abord une amélioration de la sécurité, en passant sous la version 4.4 de Symfony. Bien sur, Prestashop devra continuer à s’aligner sur des versions plus récentes de Symfony.

La nouvelle configuration des mots de passe et la gestion des sessions renforcent aussi largement la sécurité des boutiques sous Prestashop.

La page produit a aussi été largement améliorée du point de vue de l’expérience utilisateurs et des performances, même si elle reste, à ce stade, expérimentale.

Enfin, il faut noter un important gain en vitesse, grâce à la compatibilité avec PHP 8.1. Or la vitesse est fondamentale… pour l’utilisateur, et donc aussi pour le SEO, qui y est largement lié.

Quand passer à Prestashop 8 ?

Pour les utilisateurs peu familiers de Prestashop, cette question n’a pas beaucoup de sens. Pour eux il est important, et même nécessaire de faire régulièrement les mises à jours de son CMS, ou assimilé.

Or comme Prestashop a subi une migration progressive de son cœur, cela a eu un fort impact sur la compatibilité des versions successives…

Toujours pas de compatibilité ascendante de Prestashop

On assiste dans les grandes lignes au retour du feuilleton vécu sous P 1.7. Il a sans doute contribué à la sortie aussi tardive de PS 8. Pour beaucoup d’utilisateurs, une mise à jour devait être une simple formalité. Quelques uns ont même eu la témérité de la tenter par eux mêmes… ils ont essayé… et ils ont eu des problèmes 😉

En effet, l’arrivée partielle de Symfony dans le cœur de Prestashop 1.7 avait impliqué beaucoup de travail lors des mises à jour, parfois même de refaire complètement les sites.

Heureusement que pour le passage à Prestashop 8.x, les choses pourraient être un peu plus faciles…

Quid du module 1-click upgrade ?

En contradiction manifeste avec ce qui précède, Prestashop propose désormais un module « one clic upgrade », qui permettrait en quelques clics (il faudrait savoir…) de mettre à jour Prestashop depuis l’antique version 1.4, jusqu’à la version 8.1.2 au jour de la rédaction de cet article.

Sur le papier toute semble idyllique, mais quelques commentaires semblent indiquer que dès qu’on sort du cas général, des problèmes apparaissent, dans le cas des thèmes custom par exemple, ou de modules pas forcément actualisés, eux…

De notre expérience, un tel module est loin d’être suffisant… spécialement pour les sites complexes.

Si la mise à jour des fichiers se passe souvent bien, en revanche, du côté des BD SQL les choses sont bien plus problématiques, et les mises à jour doivent souvent être faites à la main.

Tablons sur 200 mégas pour les fichiers du site en lui même. Pour un site d’une certains ancienneté et gamme conséquente, il est courant de rajouter 400 mégas de bases de données. Au total facilement 600 mégas, ce qui n’est pas spécialement léger ni simple à manipuler

En fait le principal soucis de ce module est qu’il est trop ambitieux, il voudrait faire toutes les mises à jour en une seule fois. Or passer d’un coup par exemple de la version 1.4 de Prestashop à la V8 représente un gouffre considérable.

Dans la pratique, c’est plutôt un travail de fourmi, avec des mises à jour pas à pas, qui apportera les meilleurs résultats.

La technique de l’escalier japonais

Pour ceux qui ne connaîtraient pas les escaliers japonais, ils sont utilisés en cas de très forte pente, avec un système de demi-marches de chaque coté pour permettre de rendre la circulation praticable. En avançant lentement, mais sûrement…

Il en est de même pour les mises à jour de Prestashop.

Au départ nos chefs de projets Prestashop mettent à jour au maximum les modules du site à réactualiser.

Ensuite le site est sauvegardé.

Puis ils démarrent leur lente ascension en passant par toutes les versions existantes, ce qui implique parfois d’en parcourir plusieurs dizaines.

A chaque étape il faut mettre à jour les fichiers, la base de données, et parfois aussi la version de PHP.

En sauvegardant très régulièrement, car si le site “plante”, ce qui n’est pas rare, on a une base de départ « proche ».

Un véritable marathon de sauts de puces.

Une fois que la mise à jour est complète, ce qui demander une journée de travail à un chef de projet ayant des compétences de sysadmin, il faut vérifier aussi l’aspect visuel du front-end.

Si le site Prestashop est basé sur un template qui a été customisé, il n’est par rare d’avoir à le réparer, car les versions plus récentes peuvent bouleverser certains paramètres impactant l’affichage.

Bref il s’agit souvent d’un gros travail. Mais la bonne nouvelle est qu’il n’est pas non plus nécessaire de reconstruire complètement un site

Disponibilité aléatoire des plugins ou thèmes sous P8

Comme évoqué précédemment, avant de lancer une mise à jour, il faut faire une étude concrète pour s’assurer que les divers modules ou le thème qu’utilise sa boutique en ligne Prestashop ont eux aussi été mis à jour pour la version à laquelle on compte faire l’upgrade.

Même après une étude forcément théorique, il reste très difficile de faire des devis précis au départ. Il y a en effet une forte part d’aléas dans la cas des migrations Prestashop qui en fait n’en sont pas tout à fait. Spécialement sur les sites développés par d’autres, avec l’inconnue d’éventuels développements spécifiques. En effet, les développements spécifiques, pas forcement réalisés sans toucher au cœur de Prestashop, nous sont rarement indiqués par les clients. Soient ils en ignorent plus ou moins l’existence, ils ne s’en souviennent pas forcément, ou ils n’étaient pas là lors du développement du sites e-commerce. Cela peut aussi être un moyen de tirer sur les prix en faisant faire intentionnellement, « candidement », un devis qui sous estimera le temps de travail nécessaire…

Face à une telle incertitude, on peut aussi choisir… d’attendre… ou d’accepter de perdre au moins temporairement, certains modules, donc certains fonctionnalités.

Il est important de ne pas se précipiter, des sites réalisés sous les dernières version de Prestashop 1.7 restant pour l’instant viables.

Mais tôt ou tard, la montée des versions de PHP chez les hébergeurs poussera votre boutique Prestashop à évoluer

Prestashop, demandez le programme

Au delà de la version 8.0 qui est un point de départ, notamment technologique, un peu à l’image de la version 1.7.0, c’est surtout la version 8.1 de Prestashop qui semble très prometteuse. Spécialement d’un point de vue fonctionnel, avec une nouvelle interface d’administration de la fiche produit. Mais aussi une meilleure compatibilité avec les appareils mobiles, davantage de formats d’image…

La gestion des balises pour le SEO est simplifiée, et Prestashop 8.1 intègre directement le protocole HTTPS

De plus, un mode de maintenance plus performant permet de réaliser des mises à jour sans interrompre les services du site.

Enfin, Prestashop 8.1 incorpore désormais l’intelligence artificielle pour guider les clients ou faciliter l’analyse des données sur les ventes de la boutique en ligne.

Bref, beaucoup de bonnes et belles choses!

Et la suite ?

Prestashop 8.2 est bien sur en préparation… de même que Prestashop 9 d’ailleurs !

Il en est de même pour de nombreuses solutions Open Source qui doivent utiliser des versions de PHP de plus en plus avancées. Une évolution aussi rapide n’est pas sans faire grincer quelques dents sur ce vrai inconvénient des solutions Opensource. Certain se sentent parfois comme des souris courant sur une roue sans fin. Mais Prestashop doit continue à avancer, à la fois pour suivre le rythme du framework Symfony, sur lequel il est de plus en plus largement basé, et aussi pour des raisons évidentes de sécurité !