Offrir une recherche sélective à vos utilisateurs de manière simple et utilisables relève bien souvent de la gageure. Quand on ne tombe pas sur des horreurs peu intuitives, voire inutilisables, c’est pour se retrouver face à des formulaires de recherche avancée incompréhensibles dont la seule évocation parvient à faire fuir 95% des utilisateurs. Des solutions élégantes existe pourtant. Bien qu’elles ne s’adaptent pas à tous les cas de figure, elles ont pourtant l’avantage d’être efficaces, simples d’emploi et souvent peu coûteuses à mettre en place.

Après avoir fait le tour des avantages et inconvénients posés par le très populaire et web 2.0 ”live search, nous passerons cette fois au crible ce système puissant à bien des égards qu’est la recherche prédictive.

La recherche prédictive

La recherche prédictive est un système permettant l’autocomplétion des critères de recherche ou l’affinage de ces derniers en fonction de ce que tape l’utilisateur. Contrairement au live search, qui affiche les résultats de recherche directement pendant la frappe de l’utilisateur, la recherche prédictive l’aide a choisir ses critères de recherche.

Recherche prédictive

Historiquement, l’un des premiers usages web grands publics de ce mode d’aide à la recherche a été fait en 2003 par Google avec son service Google Suggest, qui n’avait pas manqué de soulever des interrogations légitimes.

Gogle suggest

Ces dernières concernaient notamment l’impartialité de Google dans la remonté des résultats, dans la mesure ou personne ne peut contrôler que les résultats remontés ne sont pas les mots clés qui se vendent le plus cher au marché de l’Adsense. Elles concernaient également le risque pour Google d’influencer les choix de l’utilisateur, en affichant en face de chaque recherche le nombre de résultats correspondant.

J’ai eu l’occasion de mettre en place un système de recherche prédictive pour la première fois en 2005 lors de la réalisation d’une application web dans laquelle toutes les saisies des utilisateurs étaient limitées au contenu de bases de données. Dans ce cas précis, un menu déroulant n’aurait pas été adéquat, à cause du trop grand nombre de réponses possibles chaque fois, par exemple pour le nom des 36000 communes de France.

Cinq ans après ses premiers balbutiements, la saisie prédictive a bien évolué, au point de s’adapter à un grand nombre de situations et un grand nombre d’objectifs.

Exemples d’implémentation

Il existe de nombreux exemples d’implémentation, en fonction du contexte et du sujet de recherche. J’ai choisi de me focaliser sur deux cas particuliers :

  1. La complétion de formulaires.
  2. L’affinage du contexte de la recherche.
Assistance à la complétion de formulaires

L’assistance à la complétion de formulaires est probablement l’usage le plus répandu de la recherche prédictive. Le but est d’apporter une aide au remplissage des zones de saisie texte pour des valeurs que l’on peut prédire de manière non exhaustive. Ces dernières ne trouvent donc pas leur place dans un menu déroulant, soit parce qu’il existe une marge d’erreur possible quand certaines valeurs ne sont pas répertoriées, soit parce que la liste des possibilités serait trop importante pour rendre le menu déroulant utilisable.

J’ai retenu deux exemples d’utilisation tirés d’un cas réel :

Aide à la saisie des codes postaux

L’aide à la saisie des codes postaux dans un formulaire d’inscription, accompagné du nom de la ville de résidence. Il peut arriver que plusieurs localités correspondent à un même code postal ; ce procédé permet de faire d’une pierre deux coups en complétant également la localité de résidence.

Aide à la saisie d'une reférence

Le second provient d’un logiciel de gestion de produits dans une boutique en ligne de type Amazon. Une recherche sur une chaîne de caractères me propose une liste de réponses correspondantes accompagnées du nombre d’articles actuellement en stock.

Enrichissement des critères de recherche

Une fois de plus, c’est à Apple que l’on doit les premiers essais – transformés – dans la recherche prédictive enrichie. Celle-ci est d’abord apparue sous Mac OS X avec Spotlight, avant d’être portée sur le site de la firme de Cupertino.

Recherche prédictive avancée sous Spotlight

Sous Spotlight, les résultats de la recherche sont affichés en fonction du type de document :

  • Page web.
  • Document.
  • Résultats populaires.
  • Mails
  • Événements et tâches à réaliser.

Dans le cas d’un très grand nombre de résultats, la pertinence des réponses retournées est beaucoup plus grande, puisque le filtrage se fait automatiquement de manière très précise.

Recherche prédictive avancée sur le site d'Apple

Le site d’Apple met en place une recherche prédictive avancée d’un autre genre. Celle-ci classe les réponses à la recherche en fonction des différents espaces du site. On évite ainsi de perdre du temps en fonction de la nature de l’information recherchée.

Problèmes rencontrés

Aide à la saisie, information plus pertinente, la recherche prédictive a de quoi séduire, que ce soit sur un site marchand ou au coeur d’une application web. Pourtant, ce système n’est pas parfait et présente un certain nombre d’inconvénients qu’il convient de connaître avant toute implémentation.

Un manque certain d’accessibilité

Ce système reposant principalement sur le javascript, il est totalement inutilisable sur les systèmes n’en disposant pas. Il est donc impossible de reposer dessus à 100%, et il doit impérativement être proposé en complément d’une solution ne le nécessitant pas.

Un système gourmand

Ce système est gourmand à plusieurs égards :

Tout comme le live search, il effectue de très nombreuses requêtes côté serveur, et un système de cache des requêtes est à prévoir afin d’alléger cette partie là. C’est un élément que nous étudierons plus avant dans la troisième partie de cette série d’articles consacrés aux formulaires de recherche.

La recherche prédictive est également relativement gourmande côté client, puisqu’elle repose sur du Javascript et des modifications continues de la page. Sur des systèmes à faibles ressources, et notamment sur les systèmes embarqués c’est une donnée à prendre en compte.

Enfin, pour peu que votre recherche prédictive contienne des éléments graphiques à l’image de celle d’Apple, il faudra vous assurer que ces derniers ne saturent pas la connexion de vos utilisateurs, rendant ainsi inutilisable un outil destiné à leur faciliter la vie.

Impossible exhaustivité

Enfin, dernière limitation, mais pas la moindre, à partir d’un certain volume de données, il est impossible de proposer un panel de réponses exhaustif sans rendre l’aide à la saisie totalement inutilisable. Tout le problème ici va être dans la formule choisie afin pour sélectionner les résultats affichés. En fonction des cas, on pourra cependant choisir une des pistes suivantes :

  • Réponses les plus pertinentes en fonction de la saisie.
  • Réponses les plus pertinentes en fonction de la saisie et de la valeur des autres champs de formulaire s’ils existent.
  • Résultats les plus populaires, meilleures ventes.
  • Classement par prix, promotions…

Dans tous les cas, on risque forcément de rencontrer des attaques quant à l’objectivité des résultats fournis, attaque qui touche le système depuis sa toute première mise en place.

Péniche à Conflans Sainte Honorine

Perry the Platypus wants you to subscribe now! Even if you don't visit my site on a regular basis, you can get the latest posts delivered to you for free via Email: