La mise à jour du thème PrestaShop a effacé mes modifications : comment les récupérer et les garder la prochaine fois
Quand une mise à jour du thème PrestaShop a effacé vos modifications, les nouveaux fichiers de l’auteur ont écrasé vos corrections. Récupérez-les dans une copie des fichiers d’avant la mise à jour : chez l’hébergeur, chez le développeur ou dans le paquet de l’ancien thème. Passez-les ensuite dans un thème enfant, auquel la mise à jour du thème parent ne touche pas.
Auteur: L’équipe TellMyShop. Un guide pour les propriétaires de boutiques PrestaShop : la cause, la correction manuelle et le même travail dans une conversation avec le chat.
Dernière mise à jour: · 6 min de lecture
À quoi cela ressemble-t-il en général après une mise à jour ?
Cela commence par un petit détail que quelqu’un remarque quelques jours plus tard. Vendredi, 22 h 05, une cliente écrit qu’elle ne voit pas la mention de livraison gratuite sur la fiche produit. Un développeur a ajouté ce texte il y a un an, directement dans un fichier du thème. Mercredi, le thème a reçu une mise à jour de son auteur, avec des corrections de bugs et un nouveau design du panier.
La mise à jour a fait ce qu’elle devait faire. Elle a remplacé les fichiers du thème par de nouvelles versions. Avec elles sont revenues les anciennes couleurs des boutons, et la mention du pied de page et le texte sur la livraison ont disparu. Personne n’avait tenu de liste de ces modifications, parce que « de toute façon, elles sont dans la boutique ».
Pourquoi une mise à jour écrase-t-elle les modifications du thème ?
Parce que les fichiers du thème appartiennent à son auteur, et qu’une mise à jour les remplace par de nouveaux. Cela vaut pour les thèmes achetés et pour le thème Classic. L’assistant de mise à jour de PrestaShop a une option à part pour mettre à jour le thème par défaut, décrite dans les instructions de mise à jour. Quand elle est activée, Classic revient à la version de la nouvelle publication.
La réponse de PrestaShop à ce problème est le thème enfant. C’est un thème à part qui hérite de tout du parent et ne remplace que les fichiers que vous y modifiez. Le mécanisme est expliqué dans la documentation sur le thème enfant, et Biegun.Studio propose un guide avec des exemples (en polonais).
Où trouver la version d’avant la mise à jour ?
Vérifiez un par un les endroits où une copie a pu survivre.
| Source | Ce qu’elle contient | À surveiller |
|---|---|---|
| La sauvegarde de votre hébergeur | les fichiers du jour de la sauvegarde | restaurer des fichiers isolés dans un dossier à part, pas toute la boutique |
| Le développeur qui a fait les modifications | ses versions des fichiers | il a peut-être une liste des modifications, à lui demander |
| Le paquet de l’ancienne version du thème | les fichiers de l’auteur sans vos modifications | permet de comparer et de trouver les différences |
| Les copies de fichiers de TellMyShop | les fichiers modifiés par le chat | seulement les modifications faites par le chat |
| Une archive web dans le navigateur | l’apparence, pas le code | aide à refaire les textes et la mise en page |
Ne restaurez pas toute la boutique depuis une sauvegarde pour récupérer quelques lignes du thème. Vous perdriez les commandes et les modifications du catalogue des derniers jours. Restaurez les fichiers du thème dans un dossier à part et comparez-les aux fichiers actuels.
Comment passer les modifications dans un thème enfant ?
L’ordre compte, car vous n’activez le thème enfant qu’à la fin.
- Listez les modifications qui ont disparu : le fichier, l’endroit et ce qu’il y avait.
- Créez un thème enfant de votre thème actuel.
- Copiez dans le thème enfant seulement les modèles que vous modifiez et faites-y vos corrections.
- Ajoutez vos propres styles dans le fichier custom.css du thème enfant.
- Faites les modifications de l’apparence des modules dans des copies de leurs modèles à l’intérieur du thème enfant.
- Activez le thème enfant dans Apparence > Thème et logo.
- Videz le cache et vérifiez la page d’accueil, une fiche produit, le panier et la commande. Vérifiez aussi l’ordre des blocs dans Apparence > Positions.
- Gardez la liste des modifications à un seul endroit, avec les noms des fichiers.
Si vous modifiez des couleurs, lisez comment changer la couleur des boutons avec custom.css. icomSEO écrit aussi plus largement sur la modification d’un template (en polonais).
Qu’est-ce qui ne disparaît pas lors d’une mise à jour du thème ?
Tout ce qui est enregistré dans la base de données plutôt que dans les fichiers du thème. Les traductions des textes, les réglages des modules, l’ordre des blocs de la page d’accueil, le contenu des pages d’information et les descriptions des produits restent. C’est pourquoi certaines modifications se font mieux là que dans le modèle. Par exemple, vous pouvez souvent changer la mention PrestaShop dans le pied de page dans les traductions, sans modifier de fichier.
Comment ne pas perdre les modifications à la prochaine mise à jour ?
Avant chaque mise à jour du thème ou de PrestaShop, faites quelques gestes.
- Téléchargez une copie du dossier du thème sur votre ordinateur ou demandez-en une à votre hébergeur.
- Vérifiez si la boutique fonctionne sur un thème enfant. Sinon, créez-en un avant la mise à jour, pas après.
- Lisez la liste des changements de l’auteur du thème. S’il a modifié un fichier que vous remplacez dans le thème enfant, votre copie peut demander une correction.
- Faites d’abord la mise à jour sur une copie de test de la boutique, si vous en avez une.
- Après la mise à jour, parcourez votre liste de modifications et vérifiez chacune sur le site.
Comment garder vos modifications dans une conversation avec le chat ?
Vous demandez un thème enfant avant de modifier quoi que ce soit dans l’apparence. Votre chat (Claude ou ChatGPT) vérifie le thème actuel et crée un thème enfant. Une fois que vous l’avez activé, le chat y enregistre les modifications, avec une copie de chaque fichier.
Vous: Après la mise à jour du thème, le texte sur la livraison gratuite a disparu de la fiche produit. Remets-le pour qu’il ne disparaisse pas à la prochaine mise à jour.
Votre chat: Le thème actif est Lumo 3.2, sans thème enfant. Je propose de créer d’abord un thème enfant lumo-child. Je ne l’activerai pas moi-même, vous le faites dans Apparence > Thème et logo.
Avant l’enregistrement, vous verrez la différence dans le fichier, et le fichier recevra une copie de sauvegarde.
Une fois activé, j’ajouterai le texte dans son modèle de fiche produit :
ancienne version : (pas de texte sous le prix)
nouvelle version : Livraison gratuite dès 50 € d’achat
Pour modifier les fichiers du thème, il vous faut TellMyShop Pro et l’interrupteur Thème, que vous activez dans le panneau du module. L’interrupteur dure 24 heures et exige une sauvegarde de la base de données faite le même jour. Vous pouvez annuler une modification de fichier depuis sa copie. La création du thème enfant ne s’annule pas depuis l’historique des modifications. Un thème dont vous n’avez plus besoin se supprime dans le back office. TellMyShop Free ne lit pas les fichiers du thème, cela ne fonctionne que dans Pro.
Comment formuler une telle tâche est montré dans les cas d’usage protéger les modifications du thème avant une mise à jour et restaurer un fichier du thème depuis une copie.
Questions et réponses
Puis-je récupérer mes modifications après une mise à jour du thème ?
Souvent oui, s’il existe une copie des fichiers d’avant la mise à jour. Cherchez-la dans les sauvegardes de votre hébergeur, dans les fichiers sur l’ordinateur de la personne qui a fait les modifications, ou dans le paquet de l’ancienne version du thème. S’il n’y a pas de copie, il faut refaire les modifications à partir de captures d’écran, d’une archive web ou de la mémoire du développeur.
Pourquoi une mise à jour du thème efface-t-elle mes modifications ?
Parce que la mise à jour remplace les fichiers du thème par les nouvelles versions de l’auteur. Un fichier que vous avez modifié revient à la version de l’auteur en même temps que les corrections de bugs. La mise à jour ne sait pas quelles lignes étaient les vôtres. C’est pourquoi les modifications ont leur place dans un thème enfant, auquel la mise à jour du thème parent ne touche pas.
Un thème enfant ralentira-t-il la boutique ?
Il ne devrait pas. Un thème enfant est un petit dossier avec un fichier de configuration et seulement les fichiers que vous modifiez. PrestaShop prend le reste dans le thème parent. Après l’activation, vérifiez la page d’accueil, une fiche produit et le panier, car dans les réglages de la boutique, c’est formellement un autre thème.
Les modifications dans les modules disparaissent-elles aussi après une mise à jour ?
Oui, si elles ont été faites dans les fichiers du module. La mise à jour d’un module remplace ses fichiers comme celle d’un thème. Vous modifiez l’apparence d’un module sans risque dans une copie de son modèle à l’intérieur du thème, idéalement le thème enfant. PrestaShop utilise alors la copie, et la mise à jour du module n’y touche pas.
Le chat récupérera-t-il mes anciens fichiers ?
Seulement ceux qu’il a modifiés lui-même. Avant chaque enregistrement de fichier, le chat fait une copie. Les copies sont conservées 90 jours, et les cinq plus récentes de chaque fichier sont toujours gardées. Les modifications faites à la main par FTP ou par un développeur ne sont pas dans ces copies. Il vous faut alors une sauvegarde de votre hébergeur ou de la personne qui les a faites.
PrestaShop est une marque déposée de PrestaShop SA. Claude est une marque d’Anthropic PBC. ChatGPT et OpenAI sont des marques d’OpenAI. TellMyShop n’est pas affilié à ces entreprises.