Aller au contenu principal

Produits ignorés, erreurs et diagnostics système

Après chaque génération de flux, le module vous indique précisément quels produits ont été exclus et pourquoi — pour que vous puissiez corriger les problèmes de catalogue avant qu'ils n'affectent vos campagnes Facebook ou Instagram.

remarque

Disponible depuis la v2.4.8

Présentation

Lorsque le module génère votre flux produits, il inspecte chaque produit actif et applique une série de vérifications. Les produits qui ne passent pas une vérification ne sont pas simplement supprimés sans indication — ils sont consignés dans un fichier de rapport (feeds/errors.txt) accompagnés de la raison de leur exclusion. Le Back Office présente ensuite ces données dans des panneaux dédiés afin que vous puissiez agir sans avoir à deviner.

Trois panneaux conditionnels peuvent apparaître sur la page de configuration du module après une exécution de génération :

  • Ignorés — produits délibérément exclus en raison d'une règle de qualité des données (image manquante, pas de description, exclus par ID, etc.)
  • Erreurs — produits ayant déclenché un avertissement PHP, une notice ou une erreur fatale lors du traitement
  • Diagnostics système — panneau ciblé qui apparaît lorsqu'une erreur grave a été interceptée en cours de génération ; il identifie précisément le produit concerné et le message d'erreur pour que vous puissiez enquêter immédiatement

Aucun de ces panneaux n'apparaît si votre dernière génération s'est terminée sans problème ; dans ce cas, un message de confirmation s'affiche à la place.

Quand chaque panneau apparaît

Panneau Ignorés

L'onglet Ignorés apparaît dans la barre de navigation latérale lorsqu'au moins un produit a été exclu lors de la génération la plus récente. Le libellé de l'onglet affiche le nombre total, par exemple Ignorés (17). Un clic sur ce nombre dans le tableau des statistiques de génération vous amène directement à ce panneau.

Les produits ignorés sont courants dans la plupart des boutiques — un produit sans image ou un produit masqué ne devrait pas atteindre Facebook. Le panneau vous aide à déterminer si le nombre de produits ignorés reflète un choix de configuration ou un véritable problème de données.

Panneau Erreurs

L'onglet Erreurs apparaît lorsqu'un ou plusieurs produits ont déclenché une erreur PHP (notice, avertissement ou erreur fatale) lors du traitement. Cela se distingue d'un produit ignoré : un produit ignoré est une exclusion délibérée basée sur une règle de données, tandis qu'une erreur signifie qu'un événement inattendu s'est produit pendant que le module tentait de lire ou de traiter les données du produit.

Le libellé de l'onglet affiche également le nombre : Erreurs (3). Dans le tableau des statistiques de génération, la colonne des erreurs est toujours un lien cliquable pointant vers ce panneau, même lorsque le nombre est zéro, afin que vous puissiez toujours vérifier l'état des erreurs après une exécution.

Panneau Diagnostics système

Le panneau Diagnostics système apparaît uniquement lorsqu'une erreur grave a été interceptée par le système de capture d'erreurs du module lors de la génération la plus récente. Il s'agit d'un diagnostic portant sur un seul produit : il indique l'ID du produit, l'ID de la déclinaison (le cas échéant), la boutique, la gravité de l'erreur, le fichier PHP et le numéro de ligne où l'erreur s'est produite, ainsi qu'un horodatage.

Ce panneau est intentionnellement distinct du panneau Erreurs. Il est conçu pour les rares cas où un seul produit provoque un problème de niveau critique susceptible d'interrompre l'intégralité du cycle de génération. Le panneau vous fournit suffisamment d'informations pour retrouver le produit problématique dans votre Back Office et soit le corriger, soit l'exclure.

Le panneau Erreurs affichant une liste de produits regroupés par type d'erreur, avec des miniatures de produits et des liens de modification

Comment lire les rapports

Panneaux Ignorés et Erreurs

Les deux panneaux organisent les résultats de la même façon :

  1. Boutique — si vous avez plusieurs boutiques, les rapports sont regroupés par nom de boutique
  2. Type de flux — au sein de chaque boutique, les résultats sont répartis par type de flux : Flux principal ou Flux par langue
  3. Catégorie d'erreur/d'exclusion — au sein de chaque type de flux, les produits sont regroupés selon la raison de leur exclusion. Chaque catégorie comporte un titre, une explication et une suggestion de correction

Chaque entrée de produit affiche une miniature, le nom du produit et un lien direct pour modifier le produit dans votre Back Office. Jusqu'à 250 produits sont affichés par catégorie — si une catégorie compte plus de 250 produits concernés, seuls les 250 premiers sont listés afin d'éviter de ralentir la page.

Les catégories d'exclusion et d'erreur que vous pouvez rencontrer sont :

CatégorieCe que cela signifie
ImagesLe produit n'a pas d'images ou le fichier image est introuvable sur le disque
ImageLe produit n'a aucune image — pas même une image de couverture
Produits sans imagesLe produit a moins d'images que le minimum défini dans l'option Position de départ des images
Description du produitLa description courte et la description longue sont toutes deux vides
Nom de produit videLe produit n'a pas de nom dans la langue active
Identifiant invalideLe produit n'a pas d'EAN, d'UPC, de MPN ni de marque — Facebook exige au moins un identifiant
Produits sans stockLe produit est en rupture de stock et l'option "Générer les produits en rupture de stock" est désactivée
Produits exclus par IDVous avez exclu manuellement ce produit via la fonctionnalité Exclusion de produits
Produits exclus par catégorieVous avez exclu manuellement la catégorie du produit via la fonctionnalité Exclusion de catégories
Produits avec visibilité masquéeLa visibilité du produit est définie sur masqué dans la page de modification du produit

Chaque catégorie dans le panneau inclut une suggestion de correction directement sous le titre. Par exemple, la section Identifiant invalide explique comment activer l'option "Autoriser les produits sans EAN, UPC ou Fabricant" et attribuer un nom de marque global.

Panneau Diagnostics système

Le panneau Diagnostics système affiche un seul enregistrement d'erreur. Vous y verrez :

  • ID du produit et un lien direct pour modifier ce produit
  • ID de la déclinaison (affiché comme 0 si l'erreur concerne le produit de base et non une déclinaison)
  • ID de la boutique
  • Gravité de l'erreur — l'une des suivantes : Erreur fatale, Avertissement, Notice, Erreur d'analyse, Erreur utilisateur, Erreur noyau, Erreur de compilation
  • Fichier et ligne où l'erreur s'est produite
  • Horodatage de l'erreur

Ce panneau capture les erreurs qui surviennent dans PHP lors du traitement des produits. Cela n'indique pas un problème avec le module lui-même — il pointe le plus souvent vers des données de produit corrompues, un module tiers qui modifie les objets produits d'une manière inattendue, ou un problème de configuration serveur.

Le panneau Diagnostics système affichant un ID de produit, la gravité de l'erreur, une référence de fichier et un bouton Effacer l'erreur

Causes courantes d'exclusions et d'erreurs

La plupart des boutiques auront des produits ignorés — c'est normal. Les raisons d'exclusion les plus fréquentes sont :

  • Pas d'images : produits n'ayant jamais eu d'image téléchargée, ou produits dont les miniatures n'ont pas été régénérées après un changement de taille. Allez dans Design > Images > Régénérer les miniatures (PrestaShop 1.6 : Préférences > Images), sélectionnez le type Produits et régénérez sans supprimer les images existantes.
  • Pas d'identifiant : la politique de catalogue produits de Facebook exige un EAN, un UPC, un MPN ou une marque sur chaque article. Si vos produits n'utilisent pas de codes-barres standard, activez Autoriser les produits sans EAN, UPC ou Fabricant dans l'onglet Options produit et saisissez un nom de marque par défaut dans le champ correspondant.
  • Rupture de stock : si vous ne souhaitez pas que les produits en rupture de stock apparaissent dans votre catalogue Facebook, c'est un comportement attendu. Si vous souhaitez les inclure, activez Générer les produits en rupture de stock dans l'onglet Options produit.
  • Visibilité masquée : les produits définis sur "masqué" dans PrestaShop sont intentionnellement exclus. Vérifiez le paramètre Options > Visibilité de chaque produit si vous souhaitez les inclure.
  • Exclus manuellement : les produits ou catégories que vous avez exclus via les fonctionnalités Exclusion de produits ou Catégories incluses / exclues apparaîtront toujours ici. Vérifiez ces panneaux si vous constatez des exclusions inattendues.

Comment effacer les rapports

Effacer les rapports Ignorés et Erreurs

Les panneaux Ignorés et Erreurs sont entièrement reconstruits à chaque génération. Pour les effacer, lancez une nouvelle génération de flux — une fois la nouvelle génération terminée avec succès, l'ancien rapport est remplacé. Il n'y a pas de bouton "effacer" manuel pour ces panneaux.

Si le fichier feeds/errors.txt n'est pas accessible en écriture, le module tentera de récupérer les données du rapport depuis une sauvegarde en base de données. Dans ce cas, un avertissement apparaît en haut de la page vous demandant de corriger les permissions du fichier. Définissez le fichier modules/facebookproductsfeed/feeds/errors.txt comme accessible en écriture (mode 666) pour rétablir le fonctionnement normal des rapports.

Effacer l'enregistrement Diagnostics système

Le panneau Diagnostics système dispose d'un bouton Effacer l'erreur. En cliquant dessus, l'enregistrement d'erreur stocké est immédiatement supprimé — aucun rechargement de page n'est nécessaire. Le panneau disparaît de la barre de navigation latérale après suppression.

L'enregistrement d'erreur est également effacé automatiquement au début de chaque nouveau cycle de génération, de sorte qu'une nouvelle génération remplacera ou supprimera l'enregistrement sans intervention manuelle.

Si le même produit continue d'apparaître dans les Diagnostics système après plusieurs générations, ce produit provoque systématiquement une erreur PHP. Modifiez le produit dans votre Back Office pour corriger ses données, ou excluez-le via la fonctionnalité Exclusion de produits le temps d'approfondir votre investigation.

Notes importantes

  • Limite des rapports : chaque catégorie d'exclusion/d'erreur affiche un maximum de 250 produits pour éviter les chargements de page trop lents. Si plus de 250 produits sont affectés par le même problème, corrigez d'abord la cause sous-jacente la plus fréquente et régénérez pour avoir une vue complète.
  • Flux par pays exclus : le nombre de produits ignorés dans le tableau des statistiques de génération affiche --- pour les flux spécifiques à un pays. Le suivi des exclusions et des erreurs s'applique uniquement au Flux principal et aux Flux par langue.
  • Multi-boutique : les rapports sont organisés par boutique. Si vous gérez plusieurs boutiques, les produits ignorés et en erreur de chaque boutique sont listés séparément sous leur propre onglet de boutique dans le panneau.
  • Permissions de fichier : si feeds/errors.txt ne peut pas être écrit, le module enregistre les données du rapport en base de données comme solution de secours. Cela est moins fiable pour les grands catalogues — corrigez les permissions dès que vous voyez l'avertissement.
  • Mode maintenance : la génération de flux (et donc la génération de rapports) est bloquée lorsque votre boutique est en mode maintenance. Aucun nouveau rapport ne sera créé tant que vous n'aurez pas désactivé le mode maintenance.

Résolution des problèmes

ProblèmeSolution
Le panneau Ignorés ou Erreurs n'apparaît pas après la générationVérifiez que la génération s'est terminée complètement. Si une génération précédente est bloquée, actualisez la page — le module détecte automatiquement un fichier de progression terminé et libère le verrou de génération. Lancez ensuite une nouvelle génération.
Avertissement "Le rapport Produits ignorés & Erreurs n'a pas pu être enregistré"Le fichier feeds/errors.txt n'est pas accessible en écriture. Définissez les permissions à 666 sur ce fichier via FTP ou le gestionnaire de fichiers de votre hébergeur.
Les Diagnostics système continuent d'afficher le même produit après chaque générationLe produit contient des données corrompues ou incompatibles qui déclenchent une erreur PHP. Ouvrez le produit dans votre Back Office, vérifiez tous les champs (notamment les champs personnalisés ajoutés par d'autres modules) et corrigez-le ou excluez-le.
Le panneau Erreurs est vide mais le tableau des statistiques affiche un nombre d'erreursLes données du rapport peuvent provenir d'un cycle de génération précédent qui a depuis été écrasé. Lancez une nouvelle génération pour actualiser le panneau.
Plus de 250 produits listés comme ignorésLe panneau limite l'affichage à 250 par catégorie. Traitez la cause principale de l'exclusion la plus fréquente (par exemple, activez les produits en rupture de stock ou corrigez les miniatures d'images), régénérez et vérifiez à nouveau.

Foire aux questions

Tous mes produits sont ignorés avec "Identifiant invalide" — qu'est-ce que cela signifie ?

Facebook exige que chaque produit dispose d'au moins l'un des éléments suivants : code-barres EAN, code-barres UPC, MPN (numéro de référence fabricant) ou un nom de marque. Si vos produits n'utilisent pas ces identifiants, accédez à l'onglet Options produit, activez Autoriser les produits sans EAN, UPC ou Fabricant, et saisissez le nom de marque de votre boutique dans le champ qui apparaît. Après avoir enregistré et régénéré, ces produits ne seront plus ignorés pour cette raison.

Je vois le même produit apparaître à la fois dans Ignorés et dans Erreurs — est-ce possible ?

Oui. Un produit peut être ignoré pour une raison de qualité des données (par exemple, pas d'image) et déclencher simultanément une notice PHP pendant que le module tente de lire ses données. Corrigez d'abord le problème de données et régénérez — résoudre la cause d'exclusion résout souvent également l'erreur sous-jacente.

Le panneau Ignorés est apparu une fois mais il a disparu — ai-je perdu les données ?

Le panneau s'affiche uniquement lorsque la génération la plus récente a produit des produits ignorés. Si vous avez lancé une nouvelle génération qui s'est terminée sans exclusions, l'absence du panneau est normale. Les données du rapport précédent sont écrasées à chaque exécution.

Puis-je exporter la liste des ID de produits ignorés ou en erreur ?

Les panneaux du Back Office ne proposent pas d'export direct. Les données brutes du rapport sont stockées dans feeds/errors.txt au format JSON, que vous pouvez télécharger via FTP et ouvrir dans n'importe quel éditeur de texte ou tableur si vous avez besoin de la liste complète.

Le panneau Diagnostics système est apparu mais je l'ai effacé — va-t-il revenir ?

Il ne réapparaîtra que si la prochaine génération rencontre une nouvelle erreur PHP sur un produit. Effacer l'enregistrement ne prévient pas les erreurs futures ; cela supprime uniquement l'enregistrement actuellement stocké. Si vous souhaitez éviter que l'erreur se reproduise, modifiez ou excluez le produit qui en est à l'origine.

Pourquoi la colonne des erreurs dans le tableau des statistiques affiche-t-elle toujours un lien, même quand le nombre est zéro ?

Le lien est toujours présent pour vous permettre de naviguer rapidement vers le panneau Erreurs et vérifier son état après chaque génération. Un nombre égal à zéro signifie que la dernière génération s'est terminée sans erreur de produit — le lien reste utile pour confirmer cet état.

Fonctionnalités associées