Comment résoudre un problème de chargement (pop-up ou contenu) ?
Activez le mode debug temporairement, de préférence en préproduction, puis désactivez-le dès que le diagnostic est récupéré. Masquez les mots de passe, clés et jetons dans les éléments transmis au support.
Si vous obtenez une erreur lors du chargement d'un contenu, ou lors de la génération d'un fichier, voici comment procéder pour nous transmettre le motif exact de l'erreur et pour que nous puissions vous aider au mieux et dans les meilleurs délais.
Veuillez s'il vous plaît prendre soin de lire les étapes suivantes DANS L'ORDRE et surtout de NE PAS oublier d'activer le mode "dev" (aussi appelé mode "débug") afin que nous puissions vous aider au mieux et dans les plus brefs délais.
Tout d'abord il va falloir que vous activiez le mode "dev" (mode debug) afin d'afficher clairement la / les cause(s) de l'erreur.
Pour ce faire :
Dans le back office de votre boutique, allez dans :
"Paramètres avancés" -> "Performances" -> section "Mode debug". Sélectionnez "oui" pour l'option "Mode debug" :
N'oubliez pas d'enregistrer.
Lorsque l'erreur se produit, normalement vous devez obtenir une page blanche avec (ou sans) un texte indiquant une erreur :
S'il s'agit d'une erreur de limitation serveur ("max_execution_time" ou "memory_limit"), le message indique la limite concernée : Maximum execution time of ... seconds exceeded ou Allowed memory size of ... bytes exhausted.
Dans ce cas, rendez-vous à la section "Comment résoudre un problème de limitation serveur" de cette FAQ pour savoir comment résoudre le problème.
Sinon, ce texte n'est pas assez détaillé pour vraiment comprendre la cause de l'erreur. C'est pour cela que vous devez activer le mode "dev" (ou mode debug), voir section précédente.
Après activation du mode debug, réactualisez la page pour avoir le détail de l'erreur :
Faites un imprime-écran de l'erreur et envoyez-le nous via notre formulaire de contact, nous aiderons à poursuivre le diagnostic.
S'il s'agit d'une erreur lors d'une requête Ajax (Internal Ajax error) lors de l’action à diagnostiquer :
Faites un clic droit sur la page et sélectionnez "inspecter" :
La console d'outil de développement s'ouvre. Cliquez sur l'onglet "Network".
En gardant la console ouverte, régénérez l'erreur (par exemple s'il s'agit d'une erreur lors de la génération d'un fichier XML, cliquez de nouveau sur le bouton de génération du fichier). Dans la colonne "Name", cliquez sur le lien qui apparaît (il correspond à la requête Ajax que vous venez de générer) :
Ouvrez Réponse / Response pour lire le message retourné. Aperçu / Preview peut faciliter la lecture du HTML. Relevez aussi le statut HTTP : même un statut 200 peut contenir une erreur applicative.
Si vous constatez qu'il s'agit d'une erreur de limitation serveur (du type "Fatal error: Maximum execution time" ou "Fatal error: Allowed memory size"), allez à la section "Comment résoudre un problème de limitation serveur" de cette FAQ pour savoir comment résoudre le problème. Sinon, faites un imprime-écran de l'erreur et envoyez-le nous via notre formulaire de contact, nous aiderons à poursuivre le diagnostic.
Les messages Maximum execution time of ... seconds exceeded et Allowed memory size of ... bytes exhausted signalent respectivement une limite de temps PHP (max_execution_time) et de mémoire PHP (memory_limit).
Transmettez le message complet à votre hébergeur ou administrateur pour vérifier les limites réellement appliquées et les ressources disponibles. Une adaptation peut être nécessaire. Si le module propose un traitement par lots, le support pourra vous guider ; cette possibilité dépend du module.
Sur un hébergement mutualisé, les possibilités de modification dépendent de l’offre. Ne modifiez pas systématiquement config/config.inc.php pour y imposer une heure d’exécution et 1 Go de mémoire : ces valeurs ne constituent pas un réglage universel et une modification PHP peut être refusée par l’hébergement. Le serveur web peut aussi imposer ses propres délais.
Après le diagnostic, remettez le mode debug sur Non dans Paramètres avancés > Performances.
Les deux captures utilisent la démonstration officielle de Chrome et montrent une requête Fetch en erreur404. Il s’agit d’un exemple de lecture de Réseau, pas d’une erreur provoquée dans le module.