🎨 Design & ThèmesDébutant PS 1.6 PS 1.7 PS 8.x

Dupliquer un thème PrestaShop pour protéger ses modifications des mises à jour

Apprenez à dupliquer votre thème PrestaShop pour préserver vos personnalisations lors des mises à jour. Méthode complète pour PS 1.6, 1.7 et 8.x.

En bref : Ne modifiez jamais le thème par défaut de PrestaShop : dupliquez-le (1.6) ou créez un thème enfant (1.7/8.x) pour que vos personnalisations survivent à toutes les mises à jour du CMS et des modules.

Publié le 21 mars 2026 5 min de lecture Alexandre Carette

Introduction

L'une des erreurs les plus fréquentes chez les marchands PrestaShop consiste à modifier directement le thème par défaut de la boutique. Le jour où une mise à jour du CMS ou du thème est appliquée, toutes les personnalisations sont écrasées sans possibilité de retour en arrière. C'est un scénario que je rencontre régulièrement en intervention technique depuis 2014.

La solution est simple et éprouvée : dupliquer le thème avant d'y apporter la moindre modification. Cette approche garantit que vos personnalisations survivent à toutes les mises à jour futures.

Pourquoi les mises à jour écrasent vos modifications

Lorsque PrestaShop applique une mise à jour, le processus remplace les fichiers du thème par défaut (default-bootstrap sur 1.6, classic sur 1.7/8.x) par leurs nouvelles versions. Si vous avez modifié ces fichiers directement, vos changements sont purement et simplement supprimés.

Le mécanisme de chargement des templates de PrestaShop fonctionne ainsi :

  1. PrestaShop cherche d'abord les fichiers dans le dossier du **thème actif** sélectionné dans le back-office
  2. Si un fichier n'est pas trouvé dans le thème actif, il remonte au thème parent (sur 1.7/8.x)
  3. Les modules suivent la même logique : PrestaShop lit **en priorité** les dossiers `modules/` situés à l'intérieur du thème sélectionné
  4. Cette hiérarchie de chargement est précisément ce qui rend la duplication de thème si efficace.

    Méthode de duplication sur PrestaShop 1.6

    Sur PrestaShop 1.6, la duplication se fait directement depuis le back-office :

    1. Accédez à **Préférences → Thèmes**
    2. Cliquez sur **Exporter le thème** (bouton en haut à droite)
    3. PrestaShop génère une archive `.zip` du thème actif
    4. Renommez cette archive avec le nom de votre thème personnalisé (par exemple `montheme.zip`)
    5. Retournez dans **Préférences → Thèmes** et importez le fichier `.zip` renommé
    6. Activez votre nouveau thème
    7. Vous disposez désormais d'une copie indépendante du thème d'origine sur laquelle vous pouvez travailler librement.

      Méthode recommandée sur PrestaShop 1.7 et 8.x : le thème enfant

      À partir de PrestaShop 1.7, la notion de thème enfant (child theme) a été introduite. C'est la méthode recommandée car elle offre plusieurs avantages par rapport à la simple copie intégrale :

      • Seuls les fichiers modifiés sont présents dans le thème enfant
      • Le thème parent peut être mis à jour indépendamment
      • La maintenance est considérablement simplifiée

      Créer un thème enfant manuellement

      Créez la structure suivante dans /themes/ :

      
      themes/
      └── mon-theme/
          ├── config/
          │   └── theme.yml
          ├── assets/
          │   └── css/
          │       └── custom.css
          └── templates/
              └── (vos surcharges ici)
      

      Le fichier theme.yml doit déclarer le thème parent :

      
      parent: classic
      name: mon-theme
      display_name: Mon Thème Personnalisé
      version: 1.0.0
      author:
        name: "Mon Entreprise"
        email: "contact@monentreprise.fr"
      
      meta:
        compatibility:
          from: 8.0.0
          to: ~
      
      assets:
        use_parent_assets: true
        css:
          custom:
            path: assets/css/custom.css
            media: all
            priority: 200
      

      Avec cette configuration, PrestaShop charge d'abord les assets du thème parent classic, puis applique vos surcharges par-dessus.

      Surcharger un template spécifique

      Pour modifier un template, copiez uniquement le fichier concerné en conservant la même arborescence :

      
      # Exemple : surcharger la page produit
      mkdir -p themes/mon-theme/templates/catalog/
      cp themes/classic/templates/catalog/product.tpl themes/mon-theme/templates/catalog/product.tpl
      

      PrestaShop utilisera automatiquement votre version du fichier.

      La surcharge des modules via le thème

      Un aspect souvent méconnu : le dossier modules/ à l'intérieur de votre thème permet de surcharger les templates et assets des modules sans toucher aux fichiers d'origine.

      
      themes/mon-theme/
      └── modules/
          └── ps_featuredproducts/
              └── views/
                  └── templates/
                      └── hook/
                          └── ps_featuredproducts.tpl
      

      PrestaShop lit en priorité les fichiers situés dans le dossier modules/ du thème actif. Cela signifie que vous pouvez personnaliser l'affichage de n'importe quel module tout en conservant la possibilité de le mettre à jour via le back-office.

      Surcharger les assets CSS/JS d'un module

      Même logique pour les fichiers CSS et JavaScript :

      
      themes/mon-theme/
      └── modules/
          └── ps_searchbar/
              └── views/
                  └── css/
                      └── ps_searchbar.css
      

      Bonnes pratiques pour la gestion des mises à jour

      Avant chaque mise à jour

      1. **Sauvegardez** votre base de données et vos fichiers (`/themes/`, `/modules/`, `/override/`)
      2. **Testez** la mise à jour sur un environnement de pré-production
      3. **Vérifiez** la compatibilité de vos modules avec la nouvelle version
      4. Après la mise à jour

        1. Videz le cache PrestaShop (**Paramètres avancés → Performances**)
        2. Vérifiez visuellement le front-office
        3. Testez le tunnel de commande complet
        4. Contrôlez les logs d'erreurs PHP
        5. Utiliser Git pour versionner le thème

          La meilleure assurance contre les pertes de modifications reste le versionnement :

          
          cd themes/mon-theme/
          git init
          git add .
          git commit -m "Initial : duplication du thème classic"
          

          À chaque modification, un commit permet de tracer précisément les changements et de revenir en arrière si nécessaire.

          Résumé de la stratégie par version

          VersionMéthode recommandéeEmplacement PrestaShop 1.6Export/Import via le back-officePréférences → Thèmes PrestaShop 1.7Thème enfant avec `theme.yml``/themes/mon-theme/` PrestaShop 8.xThème enfant avec `theme.yml``/themes/mon-theme/`

          Quelle que soit la version, le principe fondamental reste le même : ne jamais modifier le thème par défaut. Dupliquez, personnalisez, et vos modifications traverseront sereinement toutes les mises à jour.

#thème PrestaShop #mise à jour PrestaShop #duplication thème #child theme #personnalisation thème

Questions fréquentes

Tout ce que vous devez savoir sur ce sujet.

Un projet PrestaShop ?

Discutons-en directement.

★★★★★

193 projets livrés

Gratuit & sans engagement — réponse sous 24h

Alexandre Carette

Alexandre Carette

Expert PrestaShop & Architecture E-commerce

Développeur PrestaShop depuis 2014, 193 projets livrés. Je conçois des architectures headless Nuxt + PrestaShop et des outils d'automatisation IA pour les e-commerçants.