🐛 DebugIntermédiaire PS 1.6 PS 1.7 PS 8.x

Erreur 500 PrestaShop : diagnostic et correction quand un thème bloque le back-office

Votre PrestaShop affiche une erreur 500 après l'installation d'un thème ? Découvrez comment retrouver l'accès au back-office et corriger le problème étape par étape.

En bref : Une erreur 500 après installation d'un thème PrestaShop se résout en renommant le dossier du thème fautif via FTP/SSH pour retrouver l'accès au back-office, puis en activant le mode debug pour identifier et corriger la cause exacte de l'erreur.

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

Introduction

L'erreur HTTP 500 (Internal Server Error) est l'une des pannes les plus frustrantes sur PrestaShop : le serveur plante sans message explicite, et dans le pire des cas, le back-office devient lui aussi inaccessible. L'une des causes les plus fréquentes est l'installation d'un thème incompatible ou mal packagé.

Ce guide couvre le diagnostic complet d'une erreur 500 liée à un thème, la méthode d'urgence pour retrouver l'accès au back-office, puis les vérifications à effectuer pour éviter que le problème ne se reproduise.

Comprendre l'erreur 500 sur PrestaShop

Une erreur 500 est une réponse générique du serveur indiquant qu'il n'a pas pu traiter la requête. Sur PrestaShop, les causes les plus courantes sont :

  • **Un thème incompatible** avec la version de PrestaShop ou de PHP
  • **Un fichier `.htaccess` corrompu** ou mal configuré
  • **Une limite PHP dépassée** (`memory_limit`, `max_execution_time`)
  • **Un module défectueux** chargé au démarrage
  • **Des permissions de fichiers incorrectes**

Quand un thème provoque l'erreur, c'est généralement parce qu'il contient des templates Smarty avec des erreurs de syntaxe, des appels à des hooks inexistants, ou des fichiers theme.yml / config.xml mal formatés.

Méthode d'urgence : retrouver l'accès au back-office

Si le front-office ET le back-office sont inaccessibles après l'installation d'un thème, la priorité est de retrouver l'accès à l'administration.

Étape 1 — Renommer le répertoire du thème fautif

Connectez-vous en FTP ou SSH à votre serveur et naviguez jusqu'au dossier themes/ à la racine de PrestaShop (pas dans le dossier d'administration) :


cd /var/www/html/themes/
ls -la

Repérez le répertoire du thème que vous venez d'installer et renommez-le :


mv mon-nouveau-theme mon-nouveau-theme_DISABLED

PrestaShop ne trouvant plus le thème actif, il basculera sur le thème par défaut (classic en 1.7/8.x ou default-bootstrap en 1.6). Le back-office redevient accessible.

Attention : Ne supprimez pas le dossier du thème. Le renommer suffit à désactiver le thème tout en conservant les fichiers pour un diagnostic ultérieur.

Étape 2 — Réactiver le thème par défaut via le back-office

Une fois l'accès retrouvé :

  1. Allez dans **Apparence → Thème et logo**
  2. Sélectionnez le thème `classic` (ou `default-bootstrap` en 1.6)
  3. Cliquez sur **Utiliser ce thème**
  4. Sur PrestaShop 8.x, le chemin est identique. L'interface a été légèrement modernisée mais la fonctionnalité reste au même endroit.

    Étape 3 (alternative) — Forcer le thème via la base de données

    Si même le back-office ne répond toujours pas après le renommage, vous pouvez forcer le thème par défaut directement en base de données :

    
    UPDATE ps_configuration SET value = 'classic' WHERE name = 'PS_THEME';
    UPDATE ps_shop SET theme_name = 'classic', id_theme = 1;
    

    Note : Remplacez ps_ par votre préfixe de tables si vous l'avez personnalisé lors de l'installation.

    Activer les logs d'erreur pour un diagnostic précis

    Une erreur 500 sans détails est inutile. Voici comment obtenir le message d'erreur réel :

    Activer le mode debug PrestaShop

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

    
    // Passer de false à true
    define('_PS_MODE_DEV_', true);
    

    Sur PrestaShop 8.x, vous pouvez aussi modifier le fichier .env :

    
    APP_DEBUG=1
    APP_ENV=dev
    

    Rechargez la page fautive : l'erreur PHP complète s'affichera avec le fichier, la ligne et la stack trace.

    Consulter les logs serveur

    
    # Apache
    tail -f /var/log/apache2/error.log
    
    # Nginx
    tail -f /var/log/nginx/error.log
    
    # Logs PrestaShop (8.x avec Symfony)
    tail -f var/logs/dev.log
    

    Causes fréquentes liées aux thèmes

    Incompatibilité de version PHP

    Un thème développé pour PHP 7.0 peut planter sur PHP 8.1+ à cause de fonctions dépréciées ou de changements de syntaxe. Les erreurs les plus courantes :

    
    Fatal error: Uncaught Error: Call to undefined function each()
    Fatal error: Cannot use string offset as an array
    

    Solution : Vérifiez la compatibilité PHP du thème avant installation. Sur PrestaShop 8.x, PHP 8.1 minimum est requis.

    Fichier theme.yml manquant ou invalide (1.7 / 8.x)

    
    # Structure minimale obligatoire de theme.yml
    name: mon-theme
    display_name: Mon Thème
    version: 1.0.0
    author:
      name: Mon Agence
    meta:
      compatibility:
        from: 8.0.0
        to: ~
    

    Un theme.yml avec une syntaxe YAML invalide (tabulations au lieu d'espaces, caractères spéciaux non échappés) provoquera systématiquement une erreur 500.

    Permissions de fichiers incorrectes

    Après un upload FTP, les permissions peuvent être mauvaises :

    
    # Corriger les permissions du dossier themes
    find /var/www/html/themes/ -type d -exec chmod 755 {} \;
    find /var/www/html/themes/ -type f -exec chmod 644 {} \;
    

    Bonnes pratiques pour éviter les erreurs 500 liées aux thèmes

    1. **Testez toujours sur un environnement de pré-production** avant d'installer un thème en production
    2. **Faites une sauvegarde complète** (fichiers + base de données) avant toute modification de thème
    3. **Vérifiez la compatibilité** avec votre version de PrestaShop ET de PHP
    4. **Gardez le mode debug activé** en développement pour détecter les erreurs rapidement
    5. **Ne supprimez jamais le thème `classic`** — c'est votre filet de sécurité
    6. Sécurité : protéger l'URL de votre back-office

      Lors du diagnostic d'une erreur 500, il peut être tentant de partager des captures d'écran de son back-office sur des forums ou avec des prestataires. Ne révélez jamais l'URL de votre dossier d'administration. PrestaShop utilise un nom de dossier aléatoire (par exemple admin736sfk) comme mesure de sécurité. Si ce nom est exposé, changez-le immédiatement :

      
      # Renommer le dossier admin
      mv admin736sfk admin_nouveau_nom_secret
      

      Pensez aussi à ne jamais partager publiquement des captures contenant des chemins de fichiers serveur ou des identifiants.

      Résumé de la procédure de dépannage

      ÉtapeActionCommande / Chemin 1Renommer le thème fautif`mv themes/mon-theme themes/mon-theme_DISABLED` 2Vider le cacheSupprimer le contenu de `var/cache/` 3Activer le mode debug`_PS_MODE_DEV_` = `true` 4Lire les logs`tail -f var/logs/dev.log` 5Corriger la cause racineSelon le message d'erreur 6Réinstaller le thème corrigéVia le back-office 7Désactiver le mode debug`_PS_MODE_DEV_` = `false`
#erreur 500 #thème PrestaShop #back-office inaccessible #debug #internal server error

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.