[Moteur de recherche] [qu'est-ce-que c'est ?] [Nancy-guide] []

Moteur de recherche des sites lorrains

Un moteur de recherche nancéien au service des lorrains

Un véritable moteur de recherche ? DrÎle de défi... Alors, le voilà, parfaitement fonctionnel, indexant inlassablement les pages relatives à la Lorraine : A vous de l'essayer...

Comment ça marche ?

Le serveur

Avant toute chose, l'aspect technique est important. Un hébergement mutualisé ne permet pas ce genre de fantaisies. Un serveur loué pourrait bien le faire, mais reste relativement coûteux et ne permet pas toujours des sauvegardes faciles et fiables au vu du volume de données en jeu. Quant à un ordinateur à la maison, c'est définitivement trop coûteux en énergie.

le serveur A la recherche d'une solution simple, peu coĂ»teuse et Ă©conomique en Ă©nergie, j'ai d'abord optĂ© pour une unitĂ© centrale Ă  base de carte mĂšre mini-ITX et processeur VIA C3 Ă  800 Mhz (voir photo). Econome Ă  l'usage, il s'avĂšre assez peu puissant. Fin octobre 2008, la carte mĂšre m'ayant lĂąchement abandonnĂ© aprĂšs deux ans de bons et loyaux services, j'optai pour la nouvelle plate-forme Intel Atom. L'offre Eee Box d'Asus rĂ©pondait aux besoins : Ă©conome en Ă©nergie, peu coĂ»teux Ă  l'achat, Ă©quipĂ© d'un Atom 270 qui offre l'avantage sur l'Atom 230 d'offrir les options d'Ă©conomie d'Ă©nergie dĂ©diĂ©es aux portables, il prĂ©sente l'avantage d'ĂȘtre livrĂ© complet dans un boĂźtier peu encombrant. EquipĂ© d'un Linux Eee-Debian, c'est une vĂ©ritable bĂȘte de course comparĂ©e au Via C3.

L'aspect logiciel

Un moteur de recherche tel que celui-ci, comprend deux modules logiciels complĂ©mentaires. D'un cĂŽtĂ©, un robot indexeur qui visite les pages et indexe les plus intĂ©ressantes, et un module de requĂȘtes, qui vous renvoie les rĂ©ponses.

le robot indexeur

Tout commence par le robot d'indexation des pages. Il s'agit en fait d'un programme écrit en PHP, qui est conçu pour télécharger les pages puis en analyser le contenu. En fonction de ce dernier, la page est indexée ou non. Le programme fonctionne de maniÚre autonome sur le serveur.

le bot en action L'image ci-contre à gauche illustre le fonctionnement du bot : il choisit une page dans la base de données en limitant le nombre d'accÚs sur un domaine afin de ne pas surcharger le serveur du site, analyse les données pour déterminer si le fichier est compatible avec un certain nombre de critÚres, puis accepte ou non la page tout en lui attribuant une note, cherchant les expressions les plus courantes et enregistre les liens.

le module de requĂȘtes

Mais un moteur de recherche, ce n'est pas que quelques dizaines (de milliers) de pages indexĂ©es dans une base de donnĂ©es, c'est aussi une interface censĂ©e rĂ©pondre rapidement aux requĂȘtes des utilisateurs. A chaque demande de l'utilisateur, les mots sont analysĂ©s de façon Ă  tirer de la base de donnĂ©es les pages qui semblent les plus pertinentes. C'est de cette partie du moteur dont vous vous servez lorsque vous cliquez sur un nom de ville ou un lien interne Ă  ce site, mais aussi lorsque vous effectuez une recherche : votre requĂȘte est alors envoyĂ©e au serveur qui doit sĂ©lectionner en quelques millisecondes un certain nombre de pages pertinentes, parmi plus de 1 giga-octets de donnĂ©es et plus de 80 000 pages indexĂ©es Ă  l'heure oĂč j'Ă©cris ces lignes. C'est de cette pertinence dont dĂ©pend l'efficacitĂ© d'un moteur de recherche, et c'est donc l'algorithme qu'il convient de soigner.

Lorsque vous effecuez une requĂȘte, il se passe un certain nombre de choses au sein du site nancy-guide.net (hĂ©bergĂ©), et le module de requĂȘte (chez moi) :

Votre requĂȘte sur nancy-guide

Lorsque vous envoyez une requĂȘte, un script sis sur nancy-guide l'analyse et consulte un cache (un fichier temporaire). Si ce cache est suffisamment rĂ©cent (plus ou moins une heure), alors le script vous renvoie la rĂ©ponse directement. Si votre requĂȘte ne figure pas sur le cache, alors le script envoie votre demande au module de requĂȘtes.

Votre requĂȘte sur le module Ă©ponyme

Deux cas de figure :
- le module analyse votre demande, créé un fichier. Le script patiente, copie le fichier en local (le cache), puis exploite la réponse.
- le module de requĂȘtes est indisponible, auquel cas un message vous est envoyĂ© par le biais du script de nancy-guide ;

Les réglages

A fin janvier 2008, le moteur fonctionnait assez aléatoirement : aprÚs 8 mois de travail, l'ensemble a été entiÚrement réécris en PHP5. La nouvelle mise en ligne date du 7/11/2008. Restent beaucoup de chose à affiner, dont l'affichage qui ne me sied pas entiÚrement...

Valid XHTML 1.0 Strict