PS PrestaShop Débutant

Live Search Intelligent — Guide complet

Installer, configurer et utiliser DF Live Search 2.1 : panneau de recherche instantanée, filtres en option, recherche sémantique hybride, auto-apprentissage, règles de merchandising, synonymes, redirections et tableau de bord pour PrestaShop 1.7.8, 8 et 9.

Mis à jour Version du module 2.1.0

Présentation et prérequis

DF Live Search remplace la recherche de votre boutique par un panneau de recherche instantanée. Avant la saisie, il affiche les recherches récentes du visiteur, les recherches populaires et des produits recommandés. Pendant la frappe, il propose une complétion dans le champ, des suggestions et la grille des résultats, avec ajout au panier direct. Le filtrage (prix, disponibilité, catégories, marques, attributs, caractéristiques) et le tri sont disponibles en option.

  • Compatible PrestaShop 1.7.8 à 9.x, thèmes Hummingbird, Classic et dérivés, thème Warehouse (iqit).
  • PHP 7.4 à 8.5.
  • Multilingue (FR, EN, ES, DE, IT, PT, PL, NL) et multiboutique.
  • Aucune surcharge de fichiers, aucune ressource externe.
Panneau de recherche DF Live Search : recherches récentes, recherches populaires et produits recommandés
Panneau de recherche DF Live Search : recherches récentes, recherches populaires et produits recommandés

Installation et mise à jour

  1. Téléchargez dflivesearch-2.1.0.zip depuis votre compte client.
  2. Dans le back-office, ouvrez Modules > Gestionnaire de modules, cliquez sur Installer un module et déposez l’archive.
  3. Cliquez sur Configurer.

À l’installation, le module crée ses tables, construit son index de recherche et son dictionnaire de correction, et pré-remplit des synonymes courants dans chaque langue. La recherche est active immédiatement : par défaut, le champ de recherche de votre thème ouvre le panneau.

Mise à jour depuis une version 1.x : déposez le nouveau zip dans le Gestionnaire de modules puis lancez la mise à jour. Vos réglages, synonymes et statistiques sont conservés. Les nouvelles options reprennent le comportement de la 1.x (barre du module et champs du thème, références affichées) et le filtrage reste désactivé tant que vous ne l’activez pas. Les adresses IP déjà enregistrées sont remplacées par une empreinte anonyme.

Après une mise à jour, videz le cache PrestaShop (Paramètres avancés > Performances). Si votre thème concatène les CSS et JS (CCC), le nouveau script est alors chargé tout de suite.

Réglages généraux

La page de configuration est organisée en onglets, avec un aperçu en direct à droite qui suit vos réglages (couleurs, disposition, contenu des cartes). L’onglet Général contient :

  • Disposition du panneau : Overlay (grand panneau au-dessus de la page) ou Menu déroulant (s’ouvre depuis la barre de recherche, plein écran sur mobile).
  • Barre de recherche : Barre du thème (le champ de recherche du thème ouvre le panneau, recommandé), Barre du module (remplace la barre PrestaShop par défaut) ou Les deux (comportement 1.x).
  • Texte d’aide du champ par langue, nombre de caractères avant la recherche, produits par page (les suivants se chargent avec « Afficher plus de produits »).
  • Raccourci clavier : Ctrl+K (⌘K sur Mac) ou / ouvre la recherche depuis n’importe quelle page.
  • Utiliser ce moteur sur la page de résultats : la page de résultats complète de PrestaShop affiche alors les mêmes produits, dans le même ordre, que le panneau.
Back-office : réglages généraux avec aperçu en direct
Back-office : réglages généraux avec aperçu en direct
Disposition en menu déroulant ouvert depuis la barre de recherche
Disposition en menu déroulant ouvert depuis la barre de recherche

Apparence et cartes produit

  • Couleur principale et couleur de survol (boutons, filtres actifs, focus), avec des couleurs suggérées.
  • Largeur maximale du panneau : par exemple 1320px, 100% ou 90vw.
  • Barre du module : hauteur, largeur maximale et arrondi des angles (0 = carré, 50 = pilule).
  • Cartes produit : prix, promotions (prix barré et pourcentage), marque, référence, bouton d’ajout au panier, sélecteur de quantité, taille des images.

Les règles de PrestaShop s’appliquent toujours : mode catalogue, groupes clients sans affichage des prix et produits avec « Afficher le prix » désactivé n’affichent ni prix ni bouton panier. Les prix suivent le groupe du visiteur (TTC ou HT), ses remises et sa devise.

Back-office : couleurs, barre de recherche et contenu des cartes produit
Back-office : couleurs, barre de recherche et contenu des cartes produit

Le panneau de recherche côté client

Avant la saisie

L’onglet Panneau vide règle ce que voit le visiteur à l’ouverture :

  • Recherches récentes : stockées uniquement dans le navigateur du visiteur, supprimables une à une ou toutes ensemble.
  • Recherches populaires : automatiques (statistiques), votre liste par langue, ou votre liste complétée par les statistiques. Une requête n’apparaît que si elle a trouvé des produits pour un nombre minimum de visiteurs différents (2 par défaut) : personne ne peut publier de texte dans cette liste. Vous pouvez exclure des mots ; les liens et adresses e-mail sont toujours exclus.
  • Produits recommandés : meilleures ventes puis nouveautés, votre sélection (recherche, glisser-déposer ou flèches pour l’ordre), ou personnalisation pour les clients connectés.

Pendant la frappe

Le panneau affiche la complétion dans le champ (Tab ou → pour l’accepter), des puces de suggestions, les catégories et marques correspondantes, le nombre de résultats et la grille de produits. Les mots recherchés sont en gras. Le clavier permet de parcourir les suggestions (flèches, Entrée, Échap) et le nombre de résultats est annoncé aux lecteurs d’écran.

Recherche en cours de frappe : complétion dans le champ, suggestions et résultats instantanés
Recherche en cours de frappe : complétion dans le champ, suggestions et résultats instantanés

Ajout au panier

Le bouton panier passe par le contrôleur panier de PrestaShop : stock, quantités minimales et règles panier sont respectés. Une confirmation s’affiche dans le panneau avec un lien vers le panier, et le panier de l’en-tête se met à jour. Les produits à déclinaisons affichent « Choisir les options », qui ouvre la fiche produit.

Ajout au panier directement depuis les résultats de recherche
Ajout au panier directement depuis les résultats de recherche

Filtres et tri (en option)

Le filtrage est désactivé par défaut. Activez-le dans l’onglet Filtres et tri, puis cochez les filtres à afficher et faites-les glisser (ou utilisez les flèches) pour choisir leur ordre :

  • Prix : curseur double et champs min/max, dans la devise et l’affichage TTC/HT du visiteur.
  • Disponibilité : produits en stock.
  • Catégories et marques.
  • Attributs et caractéristiques de votre catalogue, au choix (pastilles pour les couleurs).

Les compteurs se mettent à jour à chaque choix, et les valeurs d’un même filtre restent cochables ensemble. Les longues listes ont un champ de recherche et un lien « Voir plus ». Les filtres actifs apparaissent en étiquettes au-dessus des résultats. Le menu de tri propose la pertinence, le prix croissant ou décroissant, les nouveautés, les meilleures ventes et le nom ; choisissez les tris proposés dans le même onglet.

Résultats de recherche avec filtres prix, disponibilité, catégorie, marque et couleur
Résultats de recherche avec filtres prix, disponibilité, catégorie, marque et couleur
Filtres actifs avec étiquettes et compteurs mis à jour
Filtres actifs avec étiquettes et compteurs mis à jour
Back-office : filtres à activer et ordonner, options de tri
Back-office : filtres à activer et ordonner, options de tri

Sur mobile

Sur mobile, le panneau s’ouvre en plein écran, la grille passe à deux colonnes et les filtres s’ouvrent dans un tiroir avec un bouton « Afficher N résultats ». Les suggestions défilent horizontalement sous le champ.

Panneau de recherche sur mobile avant la saisie
Panneau de recherche sur mobile avant la saisie
Résultats de recherche sur mobile
Résultats de recherche sur mobile
Filtres de recherche dans un tiroir sur mobile
Filtres de recherche dans un tiroir sur mobile

Pertinence et tolérance aux fautes

Toujours actif : accents et majuscules ignorés, pluriels dans les 8 langues (« lampes » trouve « lampe »), mots dans n’importe quel ordre, mots composés (« t-shirt » = « tshirt »), saisie progressive, références des produits et des déclinaisons, EAN, UPC, MPN et références fournisseur. Quand la requête est une référence de déclinaison, le résultat ouvre directement la bonne variante.

L’onglet Pertinence règle :

  • Suggestions et complétion, et leur nombre maximum.
  • Recherche dans les marques : « marque + produit » fonctionne même si la marque n’est pas dans le nom.
  • Tolérance aux fautes et nombre maximal de fautes par mot (2 recommandé ; les mots de 4 lettres ou moins acceptent une faute). Si une requête ne trouve rien, les mots les plus proches du catalogue sont essayés.
  • Informer les visiteurs des corrections : bandeau « Résultats pour… Rechercher plutôt… » avec un lien vers l’orthographe d’origine.
  • Produits en stock d’abord et meilleures ventes d’abord, à pertinence comparable.
Tolérance aux fautes : « Résultats pour… Rechercher plutôt… »
Tolérance aux fautes : « Résultats pour… Rechercher plutôt… »

Synonymes et redirections

Dans l’onglet Synonymes et redirections, saisissez un groupe de synonymes par ligne et par langue :

canapé, sofa, divan
chocolat => truffes, pralines

Une ligne avec des virgules relie des mots équivalents : chacun trouve les autres. Une ligne avec => fonctionne dans un seul sens : « chocolat » trouve aussi les mots de droite, pas l’inverse. Les pluriels sont pris en compte et un synonyme ne trouve que des mots entiers.

Les redirections envoient une requête directement vers une page : « livraison » vers votre page de livraison, une marque vers sa page… Choisissez « Requête exacte » ou « Contient ces mots », la langue et l’URL (adresse complète ou chemin de la boutique commençant par /). Le panneau affiche alors un raccourci, la touche Entrée ouvre la page, et la page de résultats redirige aussi. Le nombre d’utilisations de chaque redirection est affiché.

Back-office : synonymes par langue et redirections de requêtes
Back-office : synonymes par langue et redirections de requêtes
Redirection d’une requête vers une page de la boutique
Redirection d’une requête vers une page de la boutique

Recherche sans résultat

Quand rien ne correspond, le panneau propose les recherches populaires et des produits recommandés au lieu d’une page vide. Si des filtres sont actifs, un message invite à les effacer. Ces requêtes sont listées dans le tableau de bord, avec un bouton pour créer un synonyme ou une redirection en un clic.

Recherche sans résultat avec recherches populaires et produits recommandés
Recherche sans résultat avec recherches populaires et produits recommandés

Recherche intelligente (en option)

Deux couches optionnelles améliorent les résultats au-delà de la correspondance des mots. Elles sont désactivées par défaut, dans l’onglet Recherche intelligente.

Auto-apprentissage (sans service externe)

Le module apprend des statistiques de recherche de votre propre boutique :

  • Clics et commandes : pour une requête, les produits que plusieurs visiteurs différents ont ouverts et achetés remontent dans les résultats.
  • Reformulations : quand des visiteurs qui n’ont rien trouvé réussissent juste après avec une autre requête, cette reformulation est apprise et les visiteurs suivants obtiennent ses résultats (« Résultats pour… Rechercher plutôt… »).

Un signal ne compte qu’une fois donné par un nombre minimal de visiteurs différents (3 par défaut) : personne ne peut pousser un produit seul. L’apprentissage est mis à jour toutes les 6 heures, par la commande nocturne ou avec Mettre à jour maintenant. Les reformulations apprises sont listées avec les boutons En faire un synonyme et Ignorer.

Recherche sémantique (classement hybride)

La recherche sémantique comprend le sens d’une requête : « cadeau pour amateur de café » trouve les mugs, « de quoi écrire » trouve les carnets, même quand ces mots ne figurent pas dans les noms des produits. Elle utilise un service d’embeddings compatible avec l’API d’OpenAI : OpenAI, Mistral AI ou votre propre serveur (Ollama…), préréglés en un clic.

  1. Activez l’option, choisissez le fournisseur, saisissez la clé API (stockée dans votre base de données, jamais affichée sur la boutique) et enregistrez.
  2. Cliquez sur Tester la connexion, puis sur Générer les vecteurs. L’onglet affiche la progression et une estimation du volume à envoyer. Ensuite, seuls les produits nouveaux ou modifiés sont renvoyés : par le bouton, la commande nocturne ou automatiquement à l’enregistrement d’un produit.

Le classement est hybride : le score des mots et la similarité sont combinés avec un poids réglable (40 % par défaut), et les produits moins similaires que la similarité minimale ne sont pas ajoutés. Par défaut, la recherche sémantique ne s’exécute que quand la correspondance des mots trouve peu de produits ; les références et les EAN utilisent toujours les mots. Si le service est lent ou indisponible, la recherche répond avec les mots après le temps d’attente maximal. Sur 10 000 produits, la recherche vectorielle elle-même prend environ 15 ms.

Une fois activée, le texte de vos produits (nom, marque, catégories, caractéristiques, description courte) et les requêtes tapées par les visiteurs sont envoyés au service choisi. Aucune donnée personnelle n’est envoyée. Choisissez un fournisseur compatible avec votre politique de confidentialité, ou votre propre serveur.

Merchandising

L’onglet Merchandising décide de ce que voient les visiteurs pour certaines requêtes. Une règle s’applique à des requêtes exactes, aux requêtes contenant certains mots ou à toutes les recherches, dans une langue ou toutes, et peut être programmée entre deux dates. Pluriels et accents sont sans importance.

  • Épinglés en tête : produits affichés en premier, dans votre ordre, même si la recherche ne les trouverait pas.
  • Masqués : produits jamais affichés pour ces requêtes.
  • Remonter ou enfouir : de -100 % à +100 % pour un produit, une catégorie, une marque, les produits en stock ou en rupture, les nouveautés ou les promotions.
  • Bannière : un texte, avec image et lien facultatifs, au-dessus des résultats.

Les règles s’appliquent dans l’ordre de la liste. L’Aperçu du classement montre, pour une requête et une langue, les produits dans l’ordre où les visiteurs les reçoivent, et pourquoi : mots, sens, apprentissage, épinglages, boosts et produits masqués.

Index et performances

Le module cherche dans son propre index (une ligne par produit, boutique et langue), mis à jour automatiquement quand un produit, une déclinaison, un stock, un prix spécifique, une catégorie ou une marque est enregistré. Seuls les produits actifs, visibles « partout » ou « recherche seulement », sont indexés, et les catégories réservées à certains groupes clients sont respectées.

  • Reconstruire l’index : utile après un import fait directement en base de données.
  • Reconstruction planifiée : la commande cron est affichée prête à copier, par exemple 0 3 * * * php /chemin/de/la/boutique/modules/dflivesearch/cli/reindex.php. Conseillée chaque nuit si vous utilisez des règles de prix datées.
  • Cache des résultats : les recherches identiques sont servies depuis le cache (5 minutes par défaut, par langue, devise et groupe client). Il est vidé automatiquement quand le catalogue change.

Aucun appel n’est fait au chargement des pages : les données du panneau sont chargées à son ouverture. Sur notre catalogue de test de 5 000 produits, une recherche répond en 57 à 80 ms (8 produits) et en 41 à 45 ms depuis le cache, temps de démarrage de PrestaShop compris.

Back-office : index de recherche, cache et reconstruction planifiée
Back-office : index de recherche, cache et reconstruction planifiée

Tableau de bord des recherches et alertes

Le menu Catalogue > Statistiques de recherche (ou Clients sur une boutique mise à jour depuis la 1.x) présente, sur la période et la langue choisies :

  • recherches, requêtes différentes, taux de recherches avec résultats, taux de clic, recherches suivies d’une commande dans les 24 heures, recherches sans résultat, avec la tendance par rapport à la période précédente ;
  • un graphique des recherches par jour ;
  • le top des recherches avec leur taux de clic et leurs commandes ;
  • les recherches sans résultat, avec les boutons + Synonyme et → Redirection ;
  • les produits les plus ouverts depuis la recherche ;
  • des exports CSV (top, sans résultat, toutes les recherches).

Une alerte est créée quand une même requête sans résultat est cherchée par un nombre de visiteurs différents que vous fixez (5 par défaut) en 7 jours. Elle peut être envoyée par e-mail (8 langues) à l’adresse de votre choix.

Tableau de bord des recherches : taux de clic, requêtes sans résultat, top des recherches
Tableau de bord des recherches : taux de clic, requêtes sans résultat, top des recherches

Confidentialité et sécurité

  • Les adresses IP des visiteurs ne sont jamais enregistrées : seule une empreinte salée sert à compter les visiteurs différents. Les recherches récentes restent dans le navigateur du visiteur.
  • Le nombre de résultats enregistré est signé par le serveur : les statistiques ne peuvent pas être falsifiées depuis le navigateur.
  • L’endpoint de recherche est limité à 120 recherches par minute et par visiteur.
  • Tout texte saisi par un visiteur est échappé à l’affichage, dans le panneau, le back-office et les e-mails d’alerte.
  • L’historique est conservé 90 jours par défaut (réglable), puis supprimé automatiquement.

Désinstallation

Par défaut, la désinstallation supprime les tables, réglages, onglet, hooks et cache du module. Activez Conserver les données à la désinstallation (onglet Statistiques et alertes) pour garder statistiques, synonymes, redirections et réglages en vue d’une réinstallation.

FAQ et dépannage

Deux barres de recherche s’affichent dans l’en-tête

Choisissez Barre du thème (le champ du thème ouvre le panneau) ou Barre du module (la barre PrestaShop par défaut est masquée) dans l’onglet Général.

Un produit n’est pas trouvé

Vérifiez qu’il est actif, visible « partout » ou « recherche seulement », et qu’une de ses catégories est ouverte au groupe du visiteur. Après un import direct en base de données, reconstruisez l’index (onglet Index et performances).

Le prix filtré ne correspond pas au prix affiché

Le filtre et le tri par prix utilisent le prix public indexé. Les prix propres à un groupe ou à un client sont bien affichés sur les cartes. Si vous utilisez des règles de prix datées, planifiez une reconstruction nocturne de l’index.

Les recherches populaires restent vides

Une requête n’apparaît qu’après avoir trouvé des produits pour le nombre minimum de visiteurs différents en 30 jours. Abaissez ce minimum ou saisissez votre propre liste (onglet Panneau vide).

Le nouveau design n’apparaît pas après la mise à jour

Videz le cache PrestaShop. Si votre thème concatène les fichiers CSS et JS (CCC), ce vidage régénère les fichiers combinés.

La recherche affiche « Trop de recherches en peu de temps »

La limite de 120 recherches par minute protège votre serveur des robots. Un visiteur normal ne l’atteint pas ; vérifiez qu’un outil de test ou un robot n’interroge pas l’endpoint en boucle.

Comment ouvrir la recherche depuis un bouton de mon thème ?

Ajoutez l’attribut data-dflivesearch-trigger (ou la classe dflivesearch-trigger) au bouton, ou appelez window.dflivesearchOpen('requête') en JavaScript. Les loupes du thème Warehouse sont prises en charge automatiquement.

La recherche sémantique envoie-t-elle mes données à un service externe ?

Seulement si vous l’activez : les textes des produits et les requêtes des visiteurs partent chez le fournisseur que vous choisissez, jamais de données personnelles. Avec votre propre serveur (Ollama), rien ne quitte votre infrastructure. L’auto-apprentissage et le merchandising n’utilisent aucun service externe.

Comment mettre un produit en premier pour une requête ?

Dans l’onglet Merchandising, ajoutez une règle avec la requête, épinglez le produit et enregistrez. Vérifiez le résultat avec l’aperçu du classement.

Cette page vous a-t-elle été utile ?

Toujours bloqué ? Contactez le support