17 Sep 2019
Activer le mode debug Prestashop par adresse IP

Activer le mode debug par adresse IP sur Prestashop

Voici une astuce pour activer le mode debug sur Prestashop par rapport à votre adresse IP. C’est idéal pour ne pas impacter vos clients de ligne d’avertissement ou pire, une erreur que vous devez corriger. En activant cela, vous êtes la seule personne à voir les possibles erreurs de votre site.

Pourquoi activer le debug Prestashop ?

Ce mode est souvent utilisé par les développeurs Prestashop. Vous pouvez aussi l’utiliser mais si vous n’avez pas la possibilité de mettre les mains dans le code pour corriger le problème il ne vous sera pas très utile. Cependant il peut vous donner des informations très intéressantes sur votre erreur.

Une fois actif, il permet de repérer une erreur sur le site. Par exemple, si vous avez une erreur 500, autrement dit une page blanche, le fait d’activer le mode debug, votre page vierge risque d’afficher plusieurs lignes d’informations techniques sur le problème.

Vous pouvez ensuite utiliser ces informations pour contacter un freelance ou votre hébergeur.

Voici ma vidéo sur ce sujet, vous pouvez aussi continuer de lire l’article avec les différents codes à utiliser :

Comment activer le mode debug depuis le back-office

C’est une fonctionnalité assez classique que nous retrouvons sur toutes les versions de Prestashop.

Vous devez vous rendre dans les paramètres en back-office pour trouver l’option. Sur Prestashop 1.7, c’est précisément dans Paramètres avancés > Performances.

Vous avez juste à mettre en “Oui” le mode debug, ici :

Activer mode debug Prestashop en back-office

Exemple d’erreurs qui s’affichent dans Prestashop

Je reprends mon exemple d’erreur 500 plus haut, le site était en page blanch. J’active le mode debug et voici ce qui s’affiche sur la boutique en ligne :

Exemple d'erreur Prestashop avec debug activé

La première ligne va me donner une indication importante. Il y aune erreur de syntaxe dans mon fichier index.tpl.

Je sais donc ou se situe mon erreur, à quel endroit précis sur mon cms. Et dans cette exemple, j’ai fait exprès de supprimer un crochet au hook de ce fichier “{$HOOK_HOME nofilter}“.

Comment activer les erreurs Prestashop depuis le serveur

Attention, si vous n’avez pas l’habitude d’éditer des fichiers sur un serveur. Je conseille de ne pas intervenir par vous-même.

Connectez-vous via un serveur FTP et rendez-vous dans le dossier config à la racine de votre site. Ouvrez ensuite le fichier defines.inc.php et passez l’optionPS_MODE_DEV de “false” en “true” :

/* Debug only */
if (!defined('_PS_MODE_DEV_')) {
define('_PS_MODE_DEV_', false);
}

Une fois que vous avez activé l’option, n’oubliez de la désactiver après votre intervention.

Activer le mode debug Prestashop par adresses IP

Le client ne doit pas voir le mode debug et les erreurs

Imaginez, votre client sélectionne son transporteur, détermine son choix de paiement et clique sur passer commande et là, des lignes d’erreurs s’affichent. Forcément il va quitter le site et il risque de ne pas revenir.

Si vous avez besoin d’activer le debug pour voir s’il y a un problème sur votre site, la restriction par IP est limite obligatoire.

Le screenshot d’erreur un peu plus haut dans l’article et un bon exemple. Cet affichage peut faire peur à l’utilisateur qui peut penser à un site “piraté”. Mieux vaut avoir un site en maintenance ou avec une page non fonctionnelle.

Modifier le fichier defines.inc.php pour ajouter des adresses IP

J’utilise cela sur Prestashop 1.7 mais ça fonctionne aussi sur 1.6. La ligne de code à modifier se trouve dans config -> defines.inc.php à la ligne 27.

Vous devez remplacer par ce bout de code :

/* Debug only */
if (!defined('_PS_MODE_DEV_') && in_array($_SERVER['REMOTE_ADDR'], array('::1','localhost','127.0.0.1','xx.xx.xx.xx'))) {
define('_PS_MODE_DEV_', true);
} else {
define('_PS_MODE_DEV_', false);
}

Si vous êtes plusieurs à devoir voir les erreurs. Vous pouvez ajouter plusieurs adresses IP.

Ajoutez-en une avec une virgule à la suite des autres et n’oubliez pas de les mettre entre guillemets !

Conclusion

L’utilisation de cette option est très utile pour connaitre une erreur sur votre site. Encore faut-il la comprendre. Vous pouvez vous servir de ces informations pour faire appel à un freelance ou une agence web Prestashop pour résoudre votre erreur. Si vous venez d’installer un module qui ne fonctionne pas, vous pouvez communiquer au support les différentes informations pour qu’ils apportent une correction.

Voici quelques articles que j’ai rédigé sur la correction de certaines erreurs Prestashop :


hébergeur Prestashop sécurisé

Vous voulez faire appel à un professionnel Prestashop ?

– Recherche de votre problème Prestashop
– Recherche et correction de l’incident si possible
– Explication par mail et/ou préconisation pour devis complémentaire

Si vous voulez travailler avec moi, n’hésitez pas à commander un support