Recherche incrémentale
# Recherche incrémentale

En informatique, la recherche incrémentale (aussi appelée recherche progressive ; en anglais, incremental search) est une interface homme-machine où un ordinateur tente de trouver une ou plusieurs occurrences d'une chaîne de caractères à mesure que l'utilisateur fournit les caractères de la chaîne, c'est-à-dire sans attendre que l'utilisateur ait complété la saisie de toute la chaîne.

Une recherche incrémentale se déroule de la façon suivante :

* dès que l'utilisateur a fourni le premier caractère de la chaîne recherchée, l'ordinateur surligne la première occurrence de ce caractère (certains logiciels surlignent toutes les occurrences) ;
* lorsque l'utilisateur a fourni un deuxième caractère, l'ordinateur supprime le surlignement précédent et surligne la première occurrence de la chaîne contenant les deux caractères fournis par l'utilisateur ;
* lorsque l'utilisateur a fourni un troisième caractère, l'ordinateur supprime le surlignement précédent et surligne la première occurrence de la chaîne contenant les trois caractères fournis par l'utilisateur ;
* et ainsi de suite.

Le contraire de la recherche incrémentale est la recherche délimitée.

## Recherche délimitée

Le contraire de la recherche incrémentale est la recherche délimitée dans laquelle l'ordinateur commence la recherche seulement lorsque l'utilisateur indique qu'il a terminé de saisir la chaîne de caractères à rechercher.

## Histoire

La première utilisation documentée de la recherche incrémentale était dans Emacs sur ITS à la fin des années 1970. C'est l'un des nombreux éléments essentiels d'Emacs que Richard Stallman a inclus dans sa réimplémentation, GNU Emacs. D'autres programmes remarquables contenant cette fonctionnalité dans les années 1980 comprennent Bash et Canon Cat (en). Ces premières mises en œuvre offraient une seule ligne de rétroaction, et non pas des listes de suggestions.

La première apparition dans un logiciel populaire fut probablement dans le Speller de WordPerfect 5.2 pour Windows, publié le 30 novembre 1992. Alors que le programmeur Robert John Stevens, maintenant PDG de WriteExpress, observait, dans le WordPerfect Usability Lab à Orem dans le Utah, des utilisateurs du Speller 5.1 que lui et Steven M. Cannon avaient porté à Windows, il a remarqué que lorsqu'un mot n'avait pas été trouvé dans le dictionnaire et qu'aucun autre mot n'était proposé, les utilisateurs semblaient perdus, ils déplaçaient le curseur de la souris autour de la page et même sortaient du Speller.

Surpris par ces réactions, il rentra chez lui, s'assit sur le canapé et discuta ses observations avec sa femme, entrevit une solution et la programma : lorsqu'un utilisateur commençait a taper un mot dans la boîte d'édition, le Speller lui suggérait des mots commençant par les lettres entrées. L'utilisateur pouvait voir à quel moment le Speller cessait de lui faire des suggestions et il pouvait ajuster son mot en conséquence.

Le programme de vérification orthographique de Stevens a également été utilisé dans Novell GroupWise, un logiciel de courriel, groupware, et messagerie instantanée

