Comment ça marche un moteur de recherche ?

Les moteurs de recherche sont indispensables sur internet.
Le site web le plus connu d'internet est même probablement un moteur de recherche: Google.

Mais comment ça fonctionne ?


Il y a (généralement) plusieurs étapes:

(Notez que certains moteurs de recherche peuvent avoir des étapes spécifiques supplémentaires, ou des étapes en moins. Je ne présente ici que le cas général.)


La collecte


Tous les moteurs de recherche possèdent des logiciels qui parcourent sans relâche tout les sites web de la planète.
Ces programmes se comportent comme un simple internaute: ils téléchargent des pages html et suivent les liens hypertextes qu'elles contiennent (comme quand vous cliquez sur un lien dans une page).

La seul différence avec vous, c'est:

On appelle ces logiciels des "robots".
Google, MSN et les autres moteurs de recherche possèdent chacun leur robots.
(Dans la pratique, ce sont de simples ordinateurs reliés à internet et équipés d'un logiciel spécial.)


Comme ces robots vont très vite, il arrive qu'ils "écroulent" un site web en faisant trop de requêtes dessus, ou vont chercher des pages qui ne sont pas pertinentes.
Il existe un moyen de les réguler en plaçant un fichier spécial (robot-rules) sur chaque site. Le fichier robots.txt (placé à la racine du site) contient des règles indiquant aux robots ce qu'ils peuvent ou ne peuvent pas récupérer.

La plupart des robots (Google, Yahoo, MSN, etc.) respectent ces règles.
Cela vous permet, par exemple, d'interdire à Google d'indexer une partie de votre site web.

Le stockage

Les robots récupèrent les pages et les stockent sur disque. Sur des centaines de disques dur.
En général, ils stockent également la date de dernière visite du site, afin d'aller le re-visiter cette page quelques temps après.
(Certains robots visitent les sites plus souvent que d'autres.)



L'extraction


Une fois une page html récupérée, un programme en extraît tout le contenu.

Ce qui intéresse les robots est:
Et les robots ignorent le reste:

Il y a donc une grande différence entre ce que vous voyez dans une page, et ce que les robots voient.
Par exemple, les robots seront bien incapables de lire ceci:




car pour eux, c'est une image.  Ils seront donc incapables d'en lire le contenu de l'indexer.
Conséquence: Cette image sera totalement ignorée par les robots.

L'indexation

Maintenant qu'on a récupéré le texte de toutes ces pages, il faut se donner les moyens de rechercher dedans de manière efficace.
On effectue une indexation des pages.

Il existe différentes méthodes d'indexation. En voici une simple:

Prenons le texte suivant:

1. Madame rêve d'atomiseurs
2. Et de cylindres si longs
3. Qu'ils sont les seuls
4. Qui la remplissent de bonheur
5. Madame rêve d'artifices
6. Des formes oblongues
7. Et de totems qui la punissent

(J'ai numéroté les lignes exprès.)

Pour chaque mot rencontré, on va noter à quelle ligne il apparaît.

Mot apparaît aux lignes
Madame 1,5
rêve 1,5
atomiseurs 1
bonheur 4
... ...

Ainsi, si je dois retrouver le mot "rêve", je sais immédiatement qu'il se trouve aux lignes 1 et 5.


De la même façon, pour chaque mot rencontré, les moteurs de recherche vont noter dans quelles pages (quelles URLs) ces mots apparaissent. Cela leur permettra de vous donner immédiatement la liste des pages contenant un mot donné.

Mot URL à laquelle apparaît ce mot
comprendre www.comprendrelabourse.com, www.comprendre.org, www.lirepourcomprendre.org, sebsauvage.net/comprendre/...
ordinateur www.01net.com, www.dicofr.com/cgi-bin/n.pl/ dicofr/definition/20010101003926, fr.wikipedia.org/wiki/Ordinateur, www.commentcamarche.net/pc/pc.php3... 


Cependant, dans beaucoup de langues certains mots sont trop courant (le, la, les, des, etc.). Par exemple rechercher "le" dans une page ne serait pas pertinent.
Cela s'appelle des "stop-words".
Ces "stop-words" sont automatiquement éliminés et ne sont donc pas indexés.

Notez qu'il existe de nombreuses autres méthodes d'indexation.



 


Le classement


Bien, on a indexé les pages.
Maintenant on a un petit problème: Il y a beaucoup trop de pages !

Par exemple, le mot "ordinateur" ramène plus de 5 millions de pages sur Google.
Un tel moteur de recherche serait parfaitement inutile: Le malheureux internaute devrait encore parcourir ces 5 millions de pages pour trouver la plus pertinente.

Il est donc indispensable de classer ces pages par pertinence, c'est à dire mettre en premier les pages qui sont le plus susceptibles d'apporter la bonne réponse au mot demandé.

Ce n'est pas une mince affaire !

Il existe des tas de méthodes différentes.
En voici deux:


Le classement sémantique.


Le moteur de recherche va essayer de deviner le champ sémantique d'une page pour la classer:
Si une page contient le mot "quartier", mais également "pomme", "four", "pâte", il y a de bonnes chances pour que la page parle de pâtisserie.
Si une page contient le mot "quartier", mais aussi "lune","téléscope", "apogée", il y a de fortes chances que la page parle d'astronomie.

Cela permet de classer les pages, et de renvoyer à l'internaute celles qui ont le plus de chance d'être pertinentes.

Par exemple, si un internaute recherche "quartier planète":
"Quartier" seul est ambigu, mais "planète" appartient bien au champ sémantique de l'astronomie. Le moteur de recherche renverra donc en priorité les pages qui sont classées dans la catégorie "astronomie".

En revanche s'il recherche seulement "quartier", le moteur de recherche n'a aucun moyen de deviner ce que veut vraiment l'internaute: il lui renverra plein de page contenant le mot quartier.
C'est pour cela que parfois vous avez l'impression que les moteurs de recherche vous renvoient plein de résultats sans aucun intérêt.

Pour des résultats plus précis, ajoutez des mots à votre requête. ("quartier patisserie", "quartier gateaux", "quartier cuisine", etc...).
Plus vous ajoutez de mots à votre recherche, plus la recherche est précise et moins il y aura de pages renvoyées.

Il peut être utile, lors d'une recherche, d'utiliser des synonymes ou des mots appartenant au même champ sémantique afin d'obtenir d'autres résultats.


Le classement par liens

A priori, plus il existe de liens vers une page, plus cette page doit faire référence dans un domaine.
Logique, non ?

C'est ce que fait (entre autres) Google pour classer les pages:
Plus il existe de liens vers une page, plus cette page "remontera" dans les résultats de Google.
(Exemple: Beaucoup de monde a fait des liens vers mon site. Du coup, sebsauvage.net apparaît en 4ième position chez Google quand on cherche le mot "Comprendre".).

Dans la théorie, c'est génial et les résultats sont très pertinents !

Mais dans la pratique...   nous verrons plus loin.



Et il existe de nombreuses autres méthodes pour calculer la pertinence des pages, et ce sont des secrets bien gardés des différents moteurs de recherche.
C'est même surtout sur le classement de pertinence des pages que se battent les moteurs de recherche, plus que sur le nombre de pages indexées.

Google a réussi à s'en tirer assez bien aussi bien sur le nombre de pages indexées que sur la pertinence des pages renvoyées (même si ça ne paraît pas formidable au premier abord).


La recherche

La dernière étape est la recherche.
Le moteur de recherche va vous présenter un formulaire (plus ou moins évolué) qui vous permettra de trouver ce que vous voulez.
Ils ont en option des critères de recherche supplémentaires pour vous aider à trouver plus précisément ce vous voulez.

Ces critères de recherche sont alors envoyés au moteur de recherche qui va analyser votre demande, supprimer les stop-words, sélectionner les pages correspondant à vos critères (grâce aux indexes), les classer puis vous présenter les résultats.

La manière classique de présenter les résultats est celle de Google, mais il en existe d'autres.
kartoo.com essai de vous présenter les pages en relation (plus ou moins proche) avec des mots-clés.
Exalead vous montre une copie d'écran du site.
etc.


Certains moteurs de recherche essaient également de détecter les fautes de frappe en vous proposant des pages contenant des mots très proches, ou en vous suggérant une autre orthographe pour votre mot.
Certains, comme Kartoo, vous proposent d'autres mot ou termes qui sont présents dans les pages de résultats.



Les particularités


Certains moteurs de recherche offrent des fonctions supplémentaires.


Parfois, les moteurs de recherche vont également indexer d'autres choses que le web.
Par exemple, Google est capable d'indexer les fichiers PDF, Word (.doc) ou PowerPoint (.ppt/.pps). Cela permet d'étendre les recherche au delà des seules pages html.
Autre exemple: Google Scholar, par exemple, indexe les documents universitaires (rapports, thèses...).
Ils peuvent également s'alimenter à d'autres sources (agence journalistiques, agences scientifiques, grandes bibliothèques, entreprises diverses...)


Certains moteurs offrent également des recherches spécialisées (automatiquement restreintes à un domaine).
Par exemple, Google possède un moteur spécialisé dans tout ce qui est Linux (http://www.google.com/linux), Microsoft, Apple...
Cela permet d'avoir des résultats de recherche qui ne sont pas parasités par des pages inutiles.
Autre exemple: le moteur de recherche koders.com permet de recherche exclusivement dans le code des logiciels opensource.


Certains moteurs sont spécialisés dans certains types de fichiers.
Par exemple findsounds.com est spécialisé dans la recherche de sons.


Certains moteurs ont également la possibilité d'utiliser des mots-clés.
Par exemple Google possède des mots clés pour restreindre la recherche à un seul site, trouver toutes les pages qui ont un lien vers un site donné, etc.




Les inconvénients

Dans l'idéal, on a tout ce qu'il faut pour obtenir de bon résultats et des pages qui nous intéressent.

Dans la pratique... et bien c'est loin d'être le cas.

La pollution

Certains parasites gâchent complètement les résultats et trichent pour apparaître en haut de liste dans les résultats de recherche.

Pourquoi ?
Pour gagner de l'argent, tout simplement (grâce aux bandeaux de pub).

Il y a différentes méthodes de pollution:

Ce sont des nuisibles qui sont là uniquement pour gagner du pognon.


La publicité

Sur certains moteurs de recherche, la publicité est envahissante.


L'objectivité


Certains moteurs de recherche ont tendance à donner en priorité les pages de leurs partenaires commerciaux dans les résultats, ou sont touchés d'une amnésie subite de l'existance des pages des concurrents.
On encore censurent carrément des pages, parfois sur ordre d'un gouvernement (C'est le cas de Google et MSN en Chine, par exemple).

Etant donné que les enjeux financiers sont gigantesques, on peut légitimement douter de l'objectivité des moteurs de recherche.

Google l'a bien compris, et sa devise annoncée est "Do no evil".  Mais ça ne veut pas dire qu'il faut leur accorder une confiance aveugle.


Confidentialité


Les moteurs de recherche suivent les liens des sites web, tous les liens.
Si par hasard un webmaster a oublié de mettre un mot de passe sur une partie de ton site, c'est tout ses fichiers privés qui se retrouveront indexé par les moteurs de recherche.
L'exemple le plus flagrand est Google Dorks ("dorks" signifie "crétin", par référence aux webmaster assez cons pour laisser traîner des fichiers privés sur le web).

Certains ont fustigé Google pour ça, alors que ces informations sont publiques. C'est juste que les webmasters en question ont été assez bête pour laisser des fichiers privés en libre accès, sans mot de passe et sans robot-rules.




Pourquoi Google est-il aussi populaire ?


On peut trouver diverses explications. Voici la mienne:





Liens

Voici quelques liens complémentaires:



Toutes ces pages et leur contenu (textes, images, sons, animations et toute autre forme de média) sont de par les lois françaises et internationales sur le droit d'auteur et la propriété intellectuelle protégées jusqu'à 70 ans après le décès de leur auteur, Sébastien SAUVAGE (alias MWPC2). Toute reproduction est interdite sans le visa de l'auteur. Toute personne morale ou physique portant atteinte à ces droits s'expose à des poursuites. Les images utilisées dans ces pages sont marquées électroniquement.
Merci de prévenir le Webmaster ([L'adresse email est une image]) de tout lien effectué vers ces pages.
h t t p : / / s e b s a u v a g e . n e t