🐛 DebugDébutant PS 1.6 PS 1.7 PS 8.x

Impossible de modifier un thème PrestaShop : diagnostic et solutions

Votre thème PrestaShop ne se modifie pas ou affiche une page blanche ? Diagnostic complet : erreurs PHP, mémoire, cache et bonnes pratiques pour résoudre le problème.

En bref : Un thème PrestaShop impossible à modifier ou provoquant une page blanche est généralement causé par une erreur PHP masquée, une mémoire insuffisante ou un cache persistant. Activez le mode debug, augmentez la mémoire à 512 Mo minimum et videz tous les caches pour résoudre le problème.

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

Pourquoi votre thème PrestaShop refuse de se modifier

Vous tentez de personnaliser votre thème PrestaShop — modifier un template, ajuster du CSS, importer un nouveau thème — et rien ne se passe. Pire : vous obtenez une page blanche, un back-office qui ne répond plus, ou des modifications qui semblent tout simplement ignorées.

Ce problème, extrêmement courant, a presque toujours l'une de ces trois causes : une erreur PHP silencieuse, une limite mémoire insuffisante, ou un cache qui refuse de lâcher prise. Voyons comment identifier et résoudre chacune d'entre elles.

Étape 1 : activer l'affichage des erreurs PHP

Quand PrestaShop affiche une page blanche ou un comportement anormal sans message explicite, le premier réflexe est toujours de rendre les erreurs visibles. Sans diagnostic, toute tentative de correction revient à naviguer à l'aveugle.

Sur PrestaShop 1.6

Éditez le fichier config/defines.inc.php à la racine de votre boutique :


/* Debug only */
define('_PS_MODE_DEV_', true);

Passez la valeur de false à true. Les erreurs PHP apparaîtront alors directement à l'écran.

Sur PrestaShop 1.7 et 8.x

Le mécanisme est identique, mais le fichier se trouve dans app/config/parameters.php pour certaines versions, ou toujours dans config/defines.inc.php selon votre installation :


define('_PS_MODE_DEV_', true);

Sur PrestaShop 8.x, vous pouvez également activer le mode debug Symfony dans le fichier .env :


APP_DEBUG=1
APP_ENV=dev

Important : ne laissez jamais le mode debug activé en production. Les messages d'erreur peuvent exposer des chemins serveur, des identifiants de base de données et d'autres informations sensibles.

Une fois les erreurs affichées, notez le message exact. Les erreurs les plus fréquentes lors de la modification d'un thème sont :

  • `Allowed memory size of X bytes exhausted` → problème de mémoire (voir étape 2)
  • `Smarty error` ou `SmartyException` → erreur de syntaxe dans un template `.tpl`
  • `Class not found` → module manquant ou hook mal configuré
  • `Permission denied` → droits de fichiers incorrects

Étape 2 : augmenter la limite mémoire PHP

L'installation ou la personnalisation d'un thème est une opération gourmande en mémoire. PrestaShop doit compiler les templates, régénérer les assets, recalculer les positions de hooks… Si la limite mémoire PHP est trop basse (souvent 128 Mo par défaut sur les hébergements mutualisés), le processus s'arrête brutalement et provoque une page blanche.

Méthode 1 : via le fichier `.htaccess`

Ajoutez cette directive dans le fichier .htaccess à la racine de votre boutique :


php_value memory_limit 512M

Cette méthode fonctionne sur les serveurs Apache avec mod_php. Si vous obtenez une erreur 500 après l'ajout, votre hébergeur utilise probablement PHP-FPM (courant sur les offres récentes), et cette directive n'est pas supportée.

Méthode 2 : via `php.ini` ou `.user.ini`

Créez ou modifiez un fichier .user.ini (pour PHP-FPM) ou php.ini à la racine :


memory_limit = 512M
max_execution_time = 300
post_max_size = 64M
upload_max_filesize = 64M

J'ajoute ici max_execution_time car l'import de thèmes lourds peut aussi dépasser le temps d'exécution maximal.

Méthode 3 : directement dans PrestaShop

Dans le fichier config/defines.inc.php :


@ini_set('memory_limit', '512M');

Comment vérifier que la modification est prise en compte

Créez un fichier info.php temporaire à la racine :


<?php phpinfo();

Accédez-y via votre navigateur et cherchez la ligne memory_limit. Supprimez ce fichier immédiatement après vérification — il expose des informations sensibles sur votre serveur.

Hébergement mutualisé : si aucune de ces méthodes ne fonctionne, contactez votre hébergeur. Certains verrouillent la mémoire à 256 Mo. C'est insuffisant pour PrestaShop avec un thème complexe : 512 Mo est le minimum recommandé, 1 Go étant préférable pour les catalogues importants.

Étape 3 : vider tous les caches

PrestaShop utilise plusieurs couches de cache. Quand vous modifiez un fichier template ou une feuille de style, ces caches peuvent servir l'ancienne version pendant des heures, donnant l'impression que vos modifications sont ignorées.

Cache PrestaShop (Smarty)

Dans le back-office : Paramètres avancés → Performances :

  1. Passez la **compilation des templates** sur « Forcer la compilation » (en développement uniquement)
  2. Désactivez le **cache** temporairement
  3. Cliquez sur **Vider le cache**
  4. En ligne de commande ou manuellement, supprimez le contenu des dossiers :

    
    rm -rf var/cache/prod/*
    rm -rf var/cache/dev/*
    

    Sur PrestaShop 1.6, les dossiers de cache sont différents :

    
    rm -rf cache/smarty/compile/*
    rm -rf cache/smarty/cache/*
    

    Cache du navigateur

    Le navigateur met en cache les fichiers CSS et JavaScript de manière agressive. Utilisez :

    • **Ctrl + Shift + R** (Windows/Linux) ou **Cmd + Shift + R** (Mac) pour un rechargement forcé
    • Ou ouvrez les outils développeur (F12), onglet Network, cochez « Disable cache » pendant vos tests

    Cache serveur (OPcache)

    Si votre serveur utilise OPcache (ce qui est recommandé en production), les fichiers PHP compilés sont mis en cache. Après une modification de thème :

    
    // À exécuter une fois, puis supprimer le fichier
    opcache_reset();
    

    Ou redémarrez PHP-FPM si vous avez accès au serveur :

    
    sudo systemctl restart php8.2-fpm
    

    Étape 4 : vérifier les droits de fichiers

    Un problème de permissions est une cause silencieuse fréquente. PrestaShop a besoin d'écrire dans certains dossiers pour compiler les templates et générer les assets.

    
    # Droits recommandés
    find /var/www/prestashop/themes/ -type d -exec chmod 755 {} \;
    find /var/www/prestashop/themes/ -type f -exec chmod 644 {} \;
    
    # Le dossier cache doit être accessible en écriture
    chmod -R 775 var/cache/
    chown -R www-data:www-data var/cache/
    

    Adaptez www-data au nom d'utilisateur de votre serveur web (parfois apache, nginx ou nobody).

    Étape 5 : vérifications complémentaires

    Conflit de modules

    Certains modules modifient les hooks ou surchargent des contrôleurs de manière incompatible avec votre thème. Désactivez temporairement les modules tiers récemment installés pour isoler un éventuel conflit.

    Thème corrompu

    Si le thème a été téléchargé depuis une source non officielle ou si l'archive était incomplète, réimportez-le depuis le fichier .zip original. Sur PrestaShop 8.x :

    
    php bin/console prestashop:theme:install /chemin/vers/theme.zip
    

    Version PHP incompatible

    Chaque version de PrestaShop a des exigences PHP précises :

    PrestaShopPHP recommandé 1.6.x5.6 — 7.1 1.7.x7.1 — 7.4 8.0 — 8.17.4 — 8.1 8.2+8.1 — 8.2

    Un thème développé pour PHP 7 peut provoquer des erreurs fatales sur PHP 8 à cause de fonctionnalités dépréciées ou supprimées.

    Résumé de la procédure de diagnostic

    1. **Activer le mode debug** pour voir l'erreur exacte
    2. **Lire le message d'erreur** et identifier la cause
    3. **Augmenter la mémoire PHP** à 512 Mo minimum
    4. **Vider tous les caches** (Smarty, navigateur, OPcache)
    5. **Vérifier les permissions** sur les dossiers du thème
    6. **Désactiver les modules tiers** pour isoler un conflit
    7. **Remettre le mode debug à `false`** une fois le problème résolu
#thème #page blanche #memory limit #cache #debug #php.ini #htaccess

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.