Documentation · Dépannage

Erreurs d'importation d'images

Ce document couvre les échecs qui peuvent survenir lorsque l'extension télécharge et associe des images de véhicules à partir de l'API AutoScout24. Il décrit les causes probables et les étapes pour diagnostiquer et résoudre les problèmes d'importation de médias.

Quand utiliser ce document

Lisez ce document lorsque :

  • Des publications de véhicules sont importées mais n'ont pas d'images ou seulement un ensemble partiel d'images.
  • Le journal de l'extension contient des lignes mentionnant Image download failed ou media_handle_sideload failed.
  • L'image mise en avant est manquante dans les publications de véhicules importées.
  • La conversion WebP est activée mais les images sont enregistrées dans leur format d'origine.
  • Le worker de la file d'attente des images a fonctionné mais des images manquent toujours.

Aperçu

Lorsque l'extension importe un véhicule, elle télécharge les images à partir des URL fournies par l'API AutoScout24 et les associe à la publication WordPress. Le processus utilise les fonctions intégrées download_url() et media_handle_sideload() de WordPress, qui placent les images dans le répertoire d'importation standard WordPress, génèrent des miniatures et enregistrent la pièce jointe dans la médiathèque.

Déduplication

Avant de télécharger une image, l'extension vérifie si elle a déjà été importée en recherchant une pièce jointe avec une valeur de méta-donnée de publication _as24ci_source_url correspondante. Si une correspondance est trouvée, l'ID de la pièce jointe existante est réutilisé et aucun téléchargement n'a lieu. Cela évite que la même image soit stockée plusieurs fois.

Image mise en avant

La première image de l'ensemble est automatiquement définie comme image mise en avant (miniature de publication) si aucune image mise en avant n'est déjà attribuée à la publication. Les images suivantes sont enregistrées dans le tableau de méta-données de publication _as24ci_image_ids.

Mode file d'attente des images

Lorsque le mode file d'attente des images est activé (le comportement par défaut pour les exécutions d'importation cron et REST), seule la première image par véhicule est téléchargée immédiatement pendant l'exécution de l'importation. Les URL des images restantes sont placées dans une file d'attente persistante. Un worker WP-Cron distinct (as24ci_image_queue_process) traite cette file d'attente de manière asynchrone par lots de 30 images par exécution. Cela réduit le temps et la mémoire requis par exécution d'importation.

Voir Erreurs de Cron pour obtenir des conseils sur le diagnostic des échecs du worker de la file d'attente des images.

Conversion WebP

Si la conversion WebP est activée, chaque image téléchargée est convertie au format .webp avant d'être transmise à la médiathèque WordPress. L'extension tente d'abord la conversion en utilisant PHP GD (imagewebp), puis se rabat sur Imagick. Si aucune extension n'est disponible, ou si la conversion échoue, le format d'image d'origine est utilisé et un avertissement est écrit dans le journal.

Prérequis

  • La connexion API fonctionne et les images sont présentes sur l'annonce AutoScout24. Vérifiez cela sur la page État du système.
  • Le répertoire d'importation WordPress est accessible en écriture par le processus du serveur web.
  • L'option Importer les images est activée dans les réglages de l'extension.
  • La limite de mémoire PHP et le temps d'exécution sont suffisants pour le téléchargement et le traitement des images.

Étapes de diagnostic

Étape 1 : Confirmer que l'importation d'images est activée

  1. Allez dans l'onglet Réglages de l'extension (ou Importations et limites selon la mise en page).
  2. Confirmez que l'option Importer les images est activée.
  3. Notez la valeur du paramètre Nombre max d'images par véhicule. S'il est défini sur un nombre bas (par exemple 1), seul ce nombre d'images sera téléchargé par véhicule. Définissez-le sur 0 pour un nombre illimité.

Étape 2 : Lire le fichier journal

Ouvrez le fichier journal de l'extension à l'adresse :

wp-content/uploads/as24ci-logs/adp-car-market-hub.log

Recherchez les motifs suivants :

Motif de journalSignification
Image download failed for listing_id=… url=… error=…download_url() a renvoyé une erreur. Le message d'erreur inclut la cause (par ex. expiration du délai HTTP, connexion refusée, 404).
media_handle_sideload failed for listing_id=… url=… error=…WordPress n'a pas pu enregistrer le fichier téléchargé en tant que pièce jointe média. Souvent un problème d'autorisation du système de fichiers ou d'espace disque.
WebP conversion skipped: neither GD imagewebp nor Imagick available.La conversion WebP est activée mais l'extension PHP requise n'est pas présente.
WebP GD conversion failed for …, trying Imagick.GD a échoué ; Imagick sera tenté en guise de solution de repli.
WebP Imagick conversion failed: …Les deux méthodes de conversion ont échoué. Le format d'image d'origine a été enregistré.
WebP conversion failed for …, using original.Solution de repli finale : image d'origine enregistrée.
Image queue worker: processed=… errors=… remaining=…Résumé de la dernière exécution du worker de la file d'attente des images.
Image queue worker error post_id=… url=… error=…Une image individuelle a échoué à l'intérieur du worker de la file d'attente.

Étape 3 : Vérifier le répertoire d'importation

Le répertoire d'importation WordPress doit être accessible en écriture par le serveur web. Emplacement typique :

wp-content/uploads/

Vérifiez via FTP, SFTP ou le gestionnaire de fichiers de l'hébergement que :

  • Le répertoire existe.
  • Le processus du serveur web a l'autorisation d'écrire (généralement 755 pour les répertoires, avec l'utilisateur du serveur web comme propriétaire).
  • Un espace disque suffisant est disponible.

Si le répertoire d'importation n'est pas accessible en écriture, media_handle_sideload échouera avec une erreur de système de fichiers.

Étape 4 : Vérifier la mémoire PHP et les limites d'exécution

Le téléchargement et le traitement de plusieurs images dans une seule requête nécessitent une mémoire PHP adéquate. Si la limite de mémoire PHP est trop basse, le traitement des images peut échouer silencieusement ou générer une erreur fatale.

  1. Allez dans Outils → Santé du site → Informations → Serveur pour vérifier la limite de mémoire PHP actuelle et le temps d'exécution maximal.
  2. Si la limite de mémoire est inférieure à 256 Mo pour les sites contenant de gros fichiers d'images, envisagez de l'augmenter via wp-config.php (define('WP_MEMORY_LIMIT', '256M')) ou le panneau de contrôle de l'hébergement.
  3. Pour les exécutions cron, l'extension tente de définir une limite de temps d'exécution de 300 secondes. Si l'environnement d'hébergement restreint set_time_limit, cela peut ne pas s'appliquer. Utilisez le mode file d'attente des images (activé par défaut) pour répartir les téléchargements d'images sur plusieurs exécutions plus courtes.

Étape 5 : Tester l'accessibilité des URL d'images

Si le journal affiche Image download failed avec une erreur réseau ou HTTP, vérifiez que les URL d'images renvoyées par l'API sont publiquement accessibles depuis votre serveur :

  1. Copiez une URL d'image à partir de l'entrée du journal.
  2. Essayez d'y accéder dans un navigateur. Si elle renvoie une erreur 404 ou d'authentification, l'image a peut-être été supprimée de l'API ou peut nécessiter une authentification que l'extension ne fournit pas.
  3. Si l'URL est accessible dans un navigateur mais pas depuis le serveur, il peut y avoir une liste d'autorisation d'adresses IP, un pare-feu ou une restriction de proxy sur les requêtes HTTP sortantes de votre serveur.

Étape 6 : Vérifier l'état de la file d'attente des images

  1. Allez dans l'onglet Système et aide de l'extension.
  2. Recherchez la section de la file d'attente des images affichant : éléments restants, heure de la dernière exécution, nombres d'éléments traités et échoués.
  3. S'il reste des éléments et que le worker de la file d'attente n'a pas fonctionné récemment, vérifiez que WP-Cron est actif et que le crochet as24ci_image_queue_process est planifié. Voir Erreurs de Cron pour plus de détails.
  4. Si le verrou de la file d'attente des images (as24ci_image_queue_running) est obsolète, supprimez-le via WP-CLI ou une extension de gestion des transients : `` wp transient delete as24ci_image_queue_running ``

Étape 7 : Vérifier les prérequis de la conversion WebP

Si la conversion WebP est activée mais que les images sont enregistrées au format JPEG ou PNG :

  1. Allez dans Outils → Santé du site → Informations → Serveur et recherchez la bibliothèque GD et Imagick.
  2. GD nécessite la fonction imagewebp, qui est disponible dans GD compilé avec le support WebP (PHP 5.5+). Confirmez cela avec votre hébergeur.
  3. Imagick nécessite l'extension PHP imagick avec le support WebP compilé. Confirmez cela avec votre hébergeur.
  4. Si aucun des deux n'est disponible, désactivez la conversion WebP dans les réglages de l'extension ou contactez votre hébergeur pour activer l'extension requise.

Référence de configuration

RéglageEffet
Importer les imagesInterrupteur principal. Lorsqu'il est désactivé, aucune image n'est téléchargée pendant l'importation. Par défaut : activé.
Nombre max d'images par véhiculeNombre maximal d'images téléchargées par véhicule. 0 = illimité.
Mode file d'attente des imagesLorsqu'il est activé, seule la première image est téléchargée immédiatement ; les images restantes sont mises en file d'attente. Par défaut : activé pour les exécutions cron/REST.
Convertir en WebPLorsqu'il est activé, les images téléchargées sont converties au format .webp. Nécessite GD avec support WebP ou Imagick. Par défaut : désactivé.
Qualité WebPQualité de compression pour la conversion WebP (1–100). Par défaut : 80.

Notes opérationnelles

  • Les images sont téléchargées avec un délai d'expiration de 30 secondes par URL. Des serveurs d'images externes lents ou peu fiables peuvent entraîner l'échec d'images individuelles sans affecter le reste de l'importation.
  • Chaque image téléchargée est enregistrée dans la médiathèque WordPress en tant que pièce jointe avec post_parent défini sur l'ID de publication du véhicule.
  • La valeur de méta-donnée de pièce jointe _as24ci_source_url est utilisée pour la déduplication. Si cette méta-donnée est supprimée ou corrompue, l'extension peut télécharger à nouveau la même image lors de l'importation suivante.
  • La file d'attente des images peut contenir jusqu'à 20 000 éléments. Si cette limite est dépassée, un avertissement est consigné dans le journal et une passe de déduplication est exécutée. Voir Erreurs de Cron.
  • Lorsque tous les éléments de la file d'attente pour un véhicule ont été traités, la méta-donnée _as24ci_image_ids est reconstruite à partir des pièces jointes enfants réelles et le hachage des images est finalisé. Jusque-là, la valeur de hachage est définie sur pending_queue pour signaler que l'ensemble d'images n'est pas encore complet.
  • La suppression définitive d'une publication de véhicule (via la fonction de suppression de l'extension ou depuis la liste des véhicules WordPress) supprime également définitivement toutes les images associées importées par l'extension.

Dépannage

SymptômeCause probableVérification
Aucune image sur aucun véhiculeL'importation d'images est désactivéeActiver dans les réglages de l'extension
Une seule image par véhiculeLe nombre max d'images est défini sur 1, ou la file d'attente des images n'a pas fonctionnéVérifier le réglage du nombre max d'images ; vérifier que le worker de la file d'attente fonctionne
Image download failed … HTTP 404L'URL de l'image n'est plus valideVérifier que l'annonce a toujours des images dans AutoScout24 ; réimporter
Image download failed … connect timed outLe serveur ne peut pas joindre l'hôte d'images externeVérifier l'accès réseau sortant ; essayer depuis le serveur avec curl
media_handle_sideload failed … Could not write fileRépertoire d'importation non accessible en écriture ou disque pleinVérifier les autorisations du répertoire et l'espace disque disponible
Conversion WebP ignorée silencieusementGD/Imagick non disponible ou non compilé avec le support WebPVérifier Santé du site → Serveur ; désactiver la conversion WebP si elle n'est pas prise en charge
Images présentes dans la médiathèque mais pas sur la page du véhiculeLa méta-donnée _as24ci_image_ids est peut-être manquante ou incorrecteRéimporter le véhicule ; vérifier la méta-donnée de publication dans la base de données
Image mise en avant manquanteLa première image de la file d'attente n'a peut-être pas encore été traitéeVérifier l'état de la file d'attente des images ; vérifier que le worker de la file d'attente s'exécute
Images en double dans la médiathèqueMéta-donnée _as24ci_source_url manquante dans les pièces jointesNe pas supprimer cette méta-donnée ; contacter le support si vous êtes concerné

Documents connexes