Ergonomie d'un formulaire de recherche 2/5 : la recherche prédictive
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.

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.

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 :
<li>La complétion de formulaires.</li>
<li>L'affinage du contexte de la recherche.</li>
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 :

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.

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.

Sous Spotlight, les résultats de la recherche sont affichés en fonction du type de document :
<li>Page web.</li>
<li>Document.</li>
<li>Résultats populaires.</li>
<li>Mails</li>
<li>Événements et tâches à réaliser.</li>
<li>...</li>
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.

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.

3 commentaires sur Ergonomie d'un formulaire de recherche 2/5 : la recherche prédictive »
Trackbacks sur Ergonomie d'un formulaire de recherche 2/5 : la recherche prédictive
Les trackbacks sont fermés pour cause de spam.
L'ergonomie web, l'utilisabilité et la qualité des logiciels sont trois grandes passions mises au services de ma profession.
Pierre about 4 hours plus tard :
Un article très pertinent (comme le précédant !), merci.
Je réfléchit à la manière d’intégrer cette saisie prédictive sur un de mes projets web tout en restant simple, et pas seulement pour le Geek. Je souhaite ne pas faire fuir le visiteur lambda.
C’est pas simple parce que dés que ça bouge l’internaute qui n’est pas habitué va prendre peur.
Je vais donc implémenter ça de manière discrète et élégante, sur certains formulaire. Une fois que ce seras entré un peu plus dans les moeurs de mes visiteurs je verrais si j’accentue et si je généralise à mon moteur de recherche.
En tout cas merci pour l’article cela permet d’avoir ton point de vue sur un éléments délicat. Cela permet (pour moi et pour les autres lecteurs je pense) de se poser des question et d’avancer dans nos réflexions respectives.
A bientôt,
Pierre
Samuel Martin 5 days plus tard :
Spotlight semble en effet pratique. De base sous Linux Ubuntu il y a la même depuis quelques versions. Pour être honnête je m’en sers très rarement.
Le screenshot pour preuve : http://blog.creaone.fr/public/deskbar.png
C’est configurable.. mais je me suis pas penché dessus.
Samuel Martin 5 days plus tard :
Spotlight semble en effet pratique. De base sous Linux Ubuntu il y a la même depuis quelques versions. Pour être honnête je m’en sers très rarement.
Le screenshot pour preuve : http://blog.creaone.fr/public/deskbar.png
C’est configurable.. mais je me suis pas penché dessus.