Quand j’ai commencé à toucher à PrestaShop, je ne cherchais pas à devenir développeuse du cœur de la solution. Je voulais comprendre assez bien la boutique pour ne pas casser ce qui fonctionnait déjà. Avec le temps, la version 1.7 m’a appris une chose simple : PrestaShop n’est pas un seul bloc, mais un assemblage de couches qui se répondent.
Ce texte garde volontairement son point de départ : mon apprentissage autour de PrestaShop 1.7.8.10. Les versions récentes, dont PrestaShop 9, ont d’autres exigences et d’autres évolutions. Pour installer ou mettre à jour aujourd’hui, il faut vérifier la documentation officielle, pas recopier une vieille liste de versions.
Le cœur : PHP, base de données et logique métier
PrestaShop repose sur PHP. C’est lui qui exécute une grande partie de la logique : afficher les pages, traiter les commandes, calculer certains éléments, appeler les modules, récupérer les données. Selon la version de PrestaShop, la version de PHP compatible change. C’est une des raisons pour lesquelles une mise à jour ne se résume jamais à appuyer sur un bouton.
La base de données stocke les produits, les catégories, les clients, les commandes, les réglages et beaucoup d’autres informations. Quand on découvre la boutique, on voit d’abord le back-office. Mais derrière chaque fiche produit ou chaque commande, il y a des tables, des relations, des identifiants et des contraintes. C’est utile de le savoir avant de modifier un module ou d’importer des données en masse.
Le thème : ce que l’on voit, et ce que l’on ne voit pas
Le thème porte l’apparence de la boutique : pages produit, catégories, panier, tunnel de commande, header, footer, blocs visibles. Dans PrestaShop 1.7, on rencontre des fichiers TPL et le moteur de template Smarty. Les fichiers TPL mélangent du HTML et des variables qui viennent de PHP. C’est pratique, mais il faut rester prudente : une petite modification peut toucher plusieurs pages.
Modifier directement un thème installé est rarement une bonne idée. Le jour d’une mise à jour, les changements peuvent être écrasés ou devenir impossibles à suivre. Mieux vaut travailler dans un thème enfant ou dans des surcharges identifiées, noter ce qui a été changé, puis vider le cache pour vérifier le rendu réel.
CSS, images et cache : les détails qui prennent du temps
Le CSS donne l’apparence finale : tailles, couleurs, espacements, alignements, comportement responsive. C’est souvent par là que l’on commence, parce que le résultat se voit tout de suite. Mais une boutique a plusieurs contextes : desktop, mobile, page produit, liste, tunnel de commande, emails parfois. Un changement joli à un endroit peut créer un problème ailleurs.
Le cache ajoute une couche de confusion quand on apprend. On modifie un fichier, rien ne bouge, puis tout apparaît d’un coup après vidage du cache ou recompilation des assets. Ce n’est pas grave en soi, mais il faut intégrer ce temps de vérification dans la méthode.
Les modules : utiles, mais jamais neutres
Les modules ajoutent des fonctions : paiement, livraison, blog, filtres, sécurité, marketing, export, affichage. Ils rendent beaucoup de choses possibles sans tout coder soi-même. Mais chaque module ajoute aussi du code, des réglages, parfois des tables, parfois des hooks dans le thème. Plus on en installe, plus il faut surveiller les compatibilités.
Avec le recul, je préfère ajouter un module seulement quand le besoin est clair. Avant, je pouvais tester par curiosité. Maintenant, je me demande plutôt : est-ce que cette fonction sert vraiment la boutique ? Est-ce qu’elle sera maintenue ? Est-ce qu’elle ralentit quelque chose ? Est-ce qu’elle complique une future mise à jour ?
Ce que cette version m’a surtout appris
PrestaShop 1.7.8.10 m’a appris à avancer par petites étapes. Faire une sauvegarde avant une modification. Tester hors production quand c’est possible. Lire le fichier que je touche au lieu de chercher une réponse toute faite. Garder une trace des changements. Et accepter qu’une boutique en ligne demande autant de méthode que de goût.
Ce n’est pas un article pour dire qu’une ancienne version suffit encore aujourd’hui. C’est plutôt une archive de progression : comprendre les couches de la boutique, les respecter, puis décider plus calmement quoi modifier et quand passer à une version plus récente.