Article technique · Adanora
Boutiques PrestaShop : thème enfant, module sur mesure et versionnage
Deux boutiques PrestaShop composent ce projet : la première, qui vend un coffret mensuel par abonnement, est en service ; la seconde, une épicerie en ligne, n’a pas été publiée.
- Rôle
- Auteur unique
- Période
- Juin et septembre 2025
- État
- En service. Une boutique en service, une seconde arrêtée avant publication
- Technologies
- PrestaShop 8, PHP, MySQL, Docker Compose
- Dépôts
- Deux
Voir la réalisationVoir le site (s’ouvre dans un nouvel onglet)
Contexte
Il s’agit de deux travaux modestes : un PrestaShop standard, un thème enfant et un petit module pour chacun. La première boutique présente trois formules d’abonnement à un coffret mensuel. La seconde devait proposer un catalogue d’épicerie réparti en trois familles, et son développement s’est arrêté au bout de deux jours.
La boutique en service est Adanora (s’ouvre dans un nouvel onglet) ; le nom de la seconde ne figure pas dans cet article.

Problème
PrestaShop se met à jour en remplaçant ses fichiers, de sorte que toute modification apportée au cœur ou au thème fourni est perdue à la mise à jour suivante. La page d’accueil de la première boutique demandait par ailleurs un bloc qu’aucun module standard ne fournit, à savoir trois déclinaisons d’un même produit présentées comme trois formules. Il fallait enfin décider de ce qui se versionne lorsque le dépôt contient l’arborescence entière d’un CMS.
Réponse apportée
Un thème enfant, aucune modification du cœur
Le thème enfant hérite des ressources du thème Classic et ne recopie que les gabarits qu’il modifie : l’en-tête, le pied de page, la fiche produit, la liste des produits et quelques blocs de la page d’accueil. Les gabarits des modules sont surchargés depuis le répertoire du thème, si bien qu’une mise à jour d’un module ne les efface pas.
Un module là où le thème ne suffisait pas
Le bloc des formules est un module d’une centaine de lignes, qui interroge la base pour obtenir les trois déclinaisons du produit et les transmet à un gabarit, que le thème surcharge à son tour pour les présenter en trois cartes. Le thème déclare ce module comme une dépendance, afin qu’il soit installé avec lui.
Savoir quoi versionner
La première boutique a d’abord versionné l’arborescence entière, soit plus de trente mille fichiers ajoutés en un commit, qu’il a fallu retirer ensuite en énumérant un à un les répertoires du cœur à ignorer. La seconde part de la règle inverse : tout ignorer, puis réintégrer les thèmes et le module. Cette règle est plus sûre, puisqu’un répertoire ajouté par une mise à jour reste ignoré, mais sa mise au point a tout de même demandé quatre commits.

