AI Competitor — Veille tarifaire concurrents
Installer et configurer la veille tarifaire concurrents avec extraction IA sur PrestaShop 8 et 9.
Présentation
AI Competitor surveille les prix de vos concurrents directement depuis votre back-office PrestaShop. Pour chaque produit de votre catalogue, vous déclarez une ou plusieurs URLs concurrentes ; le module les visite à intervalles réguliers, extrait le prix affiché (avec un fallback IA quand les méthodes classiques échouent), détecte les variations significatives, vous alerte par email, et vous propose un prix ajusté selon votre stratégie tarifaire.
Compatible PrestaShop 8.0 à 9.x, PHP 7.4 à 8.3, multiboutique natif. Aucune dépendance Composer.
Installation
- Dans votre back-office, ouvrez Modules → Gestionnaire de modules → Installer un module.
- Uploadez le fichier
dfaicompetitor.zip. - Le module s’installe et crée automatiquement ses trois tables (
dfaicompetitor_url,dfaicompetitor_price,dfaicompetitor_alert) ainsi que le menu Catalogue → AI Competitor.
Après installation, un token cron unique est généré. Vous le retrouverez sur le tableau de bord du module.
Configuration initiale
Ouvrez Catalogue → AI Competitor. Le tableau de bord regroupe les statistiques et quatre blocs de configuration.
Provider IA
Le fallback IA est facultatif mais fortement recommandé : c’est lui qui prend le relais quand un site concurrent n’expose ni données structurées ni sélecteur exploitable. Trois providers sont supportés :
- Mistral AI (défaut) — le plus économique, modèle conseillé :
mistral-small-latest - Anthropic Claude — la meilleure précision sur les pages complexes, modèle conseillé :
claude-haiku-4-5-20251001 - OpenAI — bon compromis, modèle conseillé :
gpt-4o-mini
Renseignez la clé API du provider choisi. Elle est masquée à l’affichage ; laissez le champ vide lors d’un enregistrement ultérieur pour conserver la clé en place. Vous payez le provider directement, sans surcoût DataFirefly.
Alertes
- Email de notification — destinataire des digests d’alertes et du rapport hebdomadaire.
- Seuil de variation — en pourcentage (3 % par défaut). En dessous, aucune alerte n’est créée.
- Jour du rapport hebdomadaire — lundi par défaut.
Scraping
- URLs par lot cron — nombre d’URLs traitées à chaque exécution (20 par défaut).
- Intervalle par défaut — en heures, appliqué aux nouvelles URLs (24 h par défaut).
- Timeout HTTP et User-Agent — le User-Agent livré est identifiable (
DataFireflyBot) ; vous pouvez le personnaliser.
Stratégie d’ajustement
Trois stratégies déterminent le prix suggéré, toujours calculé à partir du concurrent le moins cher :
- Aligner — même prix que le plus bas concurrent.
- Undercut de X % — X % en dessous (défaut : 1 %).
- Premium à X % — X % au-dessus, pour un positionnement haut de gamme assumé.
Ajouter des URLs concurrentes
Ouvrez Catalogue → AI Competitor → Competitor URLs → Ajouter. Chaque ligne associe un produit de votre catalogue à une page concurrente :
- Produit — sélectionné dans votre catalogue.
- Nom du concurrent — libellé libre (Amazon, Cdiscount, un site marchand…).
- URL — l’adresse complète de la fiche produit concurrente.
- Sélecteur CSS (optionnel) — voir ci-dessous.
- Devise ISO — EUR par défaut.
- Forcer l’extraction IA — court-circuite les méthodes classiques pour cette URL.
- Intervalle — en heures, spécifique à cette URL.
Le bouton Scrape de chaque ligne déclenche une extraction immédiate — pratique pour valider une URL dès sa création.
Comment fonctionne l’extraction
Pour chaque URL, le module essaie quatre méthodes en cascade et s’arrête à la première qui aboutit :
- JSON-LD — les données structurées Product/Offer, présentes sur la grande majorité des sites e-commerce. Le prix, la devise et la disponibilité sont lus directement, sans configuration.
- OpenGraph — les balises meta product price amount.
- Sélecteur CSS — si vous en avez fourni un. Le convertisseur intégré gère les classes, identifiants, sélecteurs d’attribut et combinateurs enfant. Exemples valides :
.current-price,.price-box > .amount,span[itemprop=price]. - IA — un extrait HTML nettoyé est envoyé à votre provider, qui renvoie le prix, la devise et l’état de stock. Les formats de prix internationaux sont gérés (1 299,90 — 1.234,56 — $49.99).
Commencez toujours sans sélecteur CSS : le JSON-LD suffit dans la plupart des cas. N’ajoutez un sélecteur ou l’IA forcée que si la colonne Status affiche no_price.
Configurer le cron
Le scraping périodique repose sur un endpoint sécurisé par token, affiché sur le tableau de bord. Programmez son appel toutes les 30 minutes :
*/30 * * * * curl -s "https://votre-boutique.com/index.php?fc=module&module=dfaicompetitor&controller=cron&token=VOTRE_TOKEN" > /dev/null
À chaque exécution, le cron : traite le lot d’URLs dont l’intervalle est écoulé, envoie les emails d’alertes en attente, expédie le rapport hebdomadaire si c’est le bon jour, et purge les données anciennes (snapshots > 180 jours, alertes > 365 jours). La réponse est un JSON récapitulatif.
Le token peut être régénéré à tout moment depuis le tableau de bord (les crons existants devront être mis à jour). Un déclenchement manuel est aussi disponible via le bouton Run cron now.
Alertes
Cinq types d’alertes sont générés, chacun avec une sévérité :
- price_drop / price_rise — variation au-delà du seuil. Une variation ≥ 10 % passe en critical.
- undercut — un concurrent passe sous votre prix de vente TTC. Toujours critical.
- out_of_stock / back_in_stock — transitions de disponibilité détectées via les données structurées ou l’IA.
- scrape_error — uniquement après 3 échecs consécutifs, pour éliminer le bruit des indisponibilités passagères.
Les alertes sont regroupées en un seul email digest par exécution cron, et consultables dans Reports & Alerts avec accusé de lecture (« Acknowledge all »).
Rapport hebdomadaire
Chaque semaine, le jour configuré, un email HTML récapitule : les produits les plus sous-côtés, les plus fortes baisses et hausses concurrentes, la santé du scraping, et une synthèse exécutive rédigée par l’IA qui hiérarchise les actions à mener. Un aperçu du rapport en cours est visible à tout moment dans Reports & Alerts, avec un bouton d’envoi immédiat.
Suggestion de prix
Dans Reports & Alerts, sélectionnez un produit surveillé : le module affiche votre prix actuel, le min/moyenne/max concurrent, les sources, et le prix suggéré selon votre stratégie. Le bouton Appliquer écrit le prix sur le produit PrestaShop.
L’application n’est jamais automatique — c’est un choix délibéré pour éviter les boucles de baisse en miroir entre concurrents équipés du même type d’outil. La conversion TTC → HT est gérée automatiquement selon le taux de taxe du produit.
Dépannage
Status « no_price »
Aucune des méthodes n’a trouvé de prix. Vérifiez l’URL dans un navigateur, ajoutez un sélecteur CSS pointant l’élément prix, ou activez « Forcer l’extraction IA » pour cette URL.
Status « error »
La page n’a pas répondu (HTTP ≥ 400 ou timeout). Certains sites bloquent les robots : personnalisez le User-Agent dans la configuration, augmentez le timeout, ou espacez l’intervalle. Une alerte n’est émise qu’au 3ᵉ échec consécutif.
L’extraction IA ne fonctionne pas
Vérifiez que la clé API est valide et que le modèle existe chez votre provider. Les erreurs d’appel IA sont journalisées dans Paramètres avancés → Logs avec le préfixe [dfaicompetitor].
Les emails n’arrivent pas
Testez la configuration email de PrestaShop (Paramètres avancés → E-mail). Le module utilise le système de mails natif avec ses propres templates FR/EN.
Bonnes pratiques et conformité
- Espacez les intervalles (6 à 24 h par URL suffisent pour de la veille tarifaire) afin de ne pas solliciter inutilement les serveurs concurrents.
- Conservez un User-Agent identifiable : c’est la pratique loyale attendue en veille concurrentielle.
- La lecture de prix publics est généralement licite en Europe, mais vous restez responsable de l’usage des données collectées.