Documentation · System Requirements

Configuration requise pour le système technique

Introduction

ADP Car Market Hub est un plugin WordPress qui connecte un site WordPress à l'API AutoScout24 et transforme l'inventaire de véhicules du concessionnaire en contenu WordPress natif (type de publication personnalisé as24ci_car avec taxonomies de véhicules, pages d'archives, modèles de véhicule unique, leads, analyses et plus encore).

Ce document donne un aperçu technique de haut niveau de tout ce dont un exploitant de site a besoin pour planifier, installer et exécuter le plugin en production. Il regroupe les attentes concernant WordPress, l'hébergement, PHP et la base de données qui sont documentées en détail dans les autres pages de cette section.

Quand utiliser ce document

Utilisez ce document si vous :

  • Évaluez si un environnement d'hébergement WordPress existant peut exécuter ADP Car Market Hub.
  • Spécifiez un nouvel environnement d'hébergement ou une configuration de staging/production pour un site de concession.
  • Effectuez une vérification technique préalable avant d'installer ou d'activer le plugin.
  • Rédigez une fiche de « configuration requise pour le système » interne pour un client ou une équipe de développement.

Pour plus de détails sur chaque sujet, suivez les liens dans la section Documents connexes.

Aperçu

À haut niveau, ADP Car Market Hub est un plugin WordPress autonome présentant ces caractéristiques architecturales :

  • Distribution : Plugin WordPress standard, installé dans wp-content/plugins/ et activé depuis l'administration WordPress.
  • En-têtes du plugin : Requires at least: 6.2, Requires PHP: 8.1 (définis dans le fichier principal du plugin et readme.txt).
  • Espace de noms PHP : Toutes les classes vivent sous l'espace de noms AS24CI\ et sont chargées automatiquement depuis includes/ et includes/admin/.
  • Type de publication personnalisé : as24ci_car, avec 15 taxonomies de véhicules (marque, type de carrosserie, type de carburant, transmission, etc.) pour un filtrage WordPress natif.
  • Tables de base de données personnalisées : Créées lors de l'activation via dbDelta() pour les véhicules, les événements d'analyse et les alertes de recherche enregistrées. Les tables WordPress standard (wp_posts, wp_postmeta, wp_term_*, wp_options) sont utilisées pour tout le reste.
  • APIs externes : Appels HTTPS sortants vers l'API officielle AutoScout24 (obligatoire) et vers le point de terminaison géré Google Gemini (generativelanguage.googleapis.com) lorsque l'AI Assistant est activé.
  • Planification : Planificateur WP-Cron intégré avec des intervalles supplémentaires, plus un point de terminaison REST sécurisé par jeton (/as24ci/v1/cron-import) pour déclencher les importations depuis un cron de serveur externe.
  • Traitement en arrière-plan : Les importations s'exécutent par lots, une file d'attente d'images gère les pièces jointes de manière asynchrone, et un verrou d'importation (transitoire, TTL de 40 minutes) empêche les exécutions de cron de se chevaucher.
  • Médiathèque : Les images des véhicules sont importées en tant que pièces jointes WordPress standard dans wp-content/uploads/, avec conversion WebP facultative.
  • Journaux : Les fichiers journaux gérés par le plugin sont écrits dans wp-content/uploads/as24ci-logs/ avec une rotation à 10 Mo et une conservation de 7 jours.

Le plugin propose un onglet d'administration « Système & Aide » / Santé qui effectue les mêmes vérifications d'environnement que celles décrites dans ce document et affiche des badges de type feu tricolore (ampel), ce qui constitue le point de départ recommandé pour toute validation en production.

Configuration requise

Les valeurs ci-dessous reflètent ce que le plugin requiert réellement selon ses en-têtes et son code. Lorsque le plugin vérifie uniquement la présence (« disponible / manquant ») sans version spécifique, ce document suit la même approche et répertorie la contrainte comme une recommandation plutôt que comme un minimum strict.

Exigences strictes

  • WordPress : 6.2 ou supérieur (Requires at least: 6.2 dans l'en-tête du plugin et readme.txt). Testé jusqu'à WordPress 6.9.
  • PHP : 8.1 ou supérieur (Requires PHP: 8.1 dans l'en-tête du plugin, readme.txt et composer.json).
  • Base de données : Une base de données prise en charge par WordPress (MySQL ou MariaDB) dans la version supportée par votre version de WordPress. Le plugin utilise $wpdb, dbDelta() et des requêtes paramétrées ; il ne nécessite pas de version de base de données spécifique qui lui soit propre.
  • Extensions PHP : openssl, curl, mbstring, json, et l'une des extensions gd ou imagick. L'onglet Système & Aide marque l'environnement comme « Exigences non satisfaites » si l'une d'elles est manquante.
  • HTTPS sortant : Le serveur web doit être capable de passer des appels HTTPS sortants vers https://api.autoscout24.com (et vers https://generativelanguage.googleapis.com lorsque l'AI Assistant est activé).
  • Cron : Un mécanisme de planification fonctionnel — soit le WP-Cron intégré de WordPress, soit une véritable tâche cron au niveau du système d'exploitation qui déclenche WP-Cron ou le point de terminaison cron REST du plugin.
  • Système de fichiers : Un répertoire d'importations WordPress accessible en écriture (wp-content/uploads/) pour les images et pour le répertoire des journaux du plugin (wp-content/uploads/as24ci-logs/).
  • Accès administrateur : Un utilisateur WordPress avec manage_options pour installer et configurer le plugin ; le plugin fournit ensuite une capacité personnalisée (manage_as24_imports) et un rôle « AS24 Editor » pour la gestion quotidienne déléguée.

Recommandé (non imposé dans le code)

  • PHP : Une branche PHP 8.x actuellement prise en charge (8.2 ou 8.3) pour des performances et une sécurité optimales à long terme.
  • memory_limit : ≥ 256 Mo (la carte Santé signale 128–255 Mo comme « acceptable » et < 128 Mo comme « trop faible »).
  • max_execution_time : ≥ 120 s pour les importations contenant de nombreuses images (la carte Santé signale 30–60 s comme acceptable, < 30 s comme trop faible, 0 = illimité comme idéal).
  • upload_max_filesize / post_max_size : Suffisamment grand pour contenir confortablement une seule image de véhicule en haute résolution (8–16 Mo est typique).
  • ZipArchive : Disponible — utilisé pour les lots d'exportation. Non strictement requis pour les importations.
  • ionCube Loader : L'onglet Système & Aide détecte le ionCube Loader et indique s'il est actif. Les versions actuelles du plugin ne sont pas encodées, le chargeur n'est donc pas une exigence stricte aujourd'hui ; il est mis en évidence pour une compatibilité future car une prochaine version encodée pourrait le nécessiter. Si votre hébergeur peut activer le ionCube Loader pour votre version de PHP, le faire permet d'éviter toute reconfiguration ultérieure.
  • TLS : Une pile TLS moderne (TLS 1.2 ou 1.3) du côté sortant afin que les appels HTTPS vers AutoScout24 et Gemini géré réussissent sans contournements manuels de certificats.
  • Permaliens personnalisés : Activés (tout réglage autre que « Simple ») afin que les URL des archives de véhicules et des véhicules individuels soient optimisées pour le référencement (SEO).

Configuration de production recommandée

Un déploiement de production typique ressemble à ceci :

  • Pile technique : Hébergement WordPress géré ou un serveur LAMP/LEMP dédié avec PHP 8.1+ FPM, Nginx ou Apache, et MySQL 8 / MariaDB 10.6+.
  • WordPress : Dernière version stable de WordPress sur la branche de support à long terme active, avec les mises à jour d'arrière-plan automatiques activées pour les versions mineures.
  • Limites PHP : memory_limit = 256M (ou plus), max_execution_time = 300, max_input_vars = 3000 pour gérer confortablement les grands formulaires de mapping.
  • Stockage : Au moins plusieurs Go d'espace disque libre dans wp-content/uploads/ pour héberger les images des véhicules. Prévoyez environ 5 à 25 Mo par véhicule selon le nombre d'images et l'utilisation de WebP.
  • Cron : Désactivez WP-Cron au chargement de la page (define( 'DISABLE_WP_CRON', true );) et déclenchez wp-cron.php (ou le point de terminaison cron REST) à partir d'un véritable cron du système d'exploitation toutes les 5 à 15 minutes pour des importations prévisibles.
  • Sauvegardes : Sauvegardes quotidiennes hors site de l'intégralité de la base de données WordPress et du répertoire wp-content/uploads/.
  • Staging : Un site de staging distinct (avec son propre bac à sable AutoScout24 ou des identifiants en lecture seule, si possible) pour tester les mises à jour du plugin et les modifications de mapping de champs avant de les déployer en production.
  • Surveillance : Surveillance de base de la disponibilité sur l'URL de l'archive publique et sur /wp-cron.php (ou le point de terminaison cron REST), ainsi qu'une alerte sur la croissance du journal des erreurs PHP.
  • E-mail : Une route de messagerie transactionnelle fiable (plugin SMTP ou MTA fourni par l'hébergeur) afin que les leads des formulaires de contact, les réservations d'essais routiers et les e-mails de double opt-in pour les alertes de recherche soient bien distribués.

Notes opérationnelles

  • L'onglet « Système & Aide » du plugin dans l'administration WordPress reproduit chaque vérification de ce document avec les valeurs en temps réel du site en cours d'exécution. Utilisez-le après chaque modification de WordPress, de PHP ou d'hébergement.
  • Toutes les importations sont idempotentes : réexécuter une importation ne duplique jamais un véhicule, car le plugin effectue une correspondance sur les identifiants AutoScout24 et utilise des hachages de contenu et d'image pour la détection des changements.
  • La file d'attente d'images limite intentionnellement le nombre d'images téléchargées par cycle de cron afin d'éviter les dépassements de temps PHP. Sur un site récent, les premières exécutions de cron sembleront « incomplètes » jusqu'à ce que la file d'attente soit vidée — c'est un comportement attendu, pas une erreur.
  • Le mode Synchronisation complète supprime définitivement les véhicules locaux (et leurs images) qui n'existent plus dans l'annonce AutoScout24 distante. Assurez-vous que des sauvegardes sont en place avant de l'activer en production.
  • Le plugin ne contourne pas le modèle d'utilisateur, de capacité ou de nonce de WordPress. Les plugins de sécurité renforcés, DISALLOW_FILE_EDIT et les configurations de proxy inverse sont tous compatibles.
  • Le plugin écrit ses propres journaux et effectue une rotation à 10 Mo. Il ne nécessite pas et ne remplace pas un journal d'erreurs au niveau du serveur.

Dépannage

  • Badge « Exigences non satisfaites » dans l'onglet Système & Aide : Comparez la liste avec la section Configuration requise ci-dessus et corrigez l'élément manquant (généralement une extension PHP manquante ou une version PHP/WordPress trop basse).
  • Les importations expirent ou s'arrêtent à mi-chemin : Augmentez max_execution_time et memory_limit, réduisez la taille du lot de véhicules par cron dans l'onglet Importations et limites, et assurez-vous que la file d'attente d'images est activée.
  • Les véhicules s'importent mais pas les images : Vérifiez que wp-content/uploads/ est accessible en écriture, que GD ou Imagick est installé et qu'il y a suffisamment d'espace disque libre.
  • Le cron ne s'exécute pas : Si l'hébergeur désactive WP-Cron, configurez un cron au niveau du système d'exploitation pour appeler wp-cron.php ou le point de terminaison REST sécurisé par jeton à la place.
  • La vérification de la connexion échoue : L'onglet Système & Aide et l'onglet Outils effectuent une petite requête d'annonces AutoScout24. Un échec indique généralement des identifiants API incorrects, un Seller ID manquant ou un pare-feu bloquant le HTTPS sortant vers l'hôte AutoScout24.
  • Erreurs 404 de permalien sur les pages de véhicules : Enregistrez à nouveau les réglages des permaliens de WordPress pour vider les règles de réécriture après avoir activé le plugin.

Documents connexes