Accueil Contact Venir : [Histoire Tourisme Pratique Plans ] Sortir : [ Annuaire de sites lorrains Restaurants Culture et sorties Séances cinéma] Voir : [Cartes postales anciennes Photos de Nancy] Tester : [les plans interactifs Web 2.0]
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...
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.
A la recherche d'une solution simple, peu coûteuse et économique en énergie, j'ai opté
pour une unité centrale à base de carte mère mini-ITX et processeur VIA C3 à 800 Mhz,
que j'ai doté de 640 Mo de RAM et d'un disque dur 2"5 (de portable). Le tout fait
un peu fouilli sur la photo mais est parfaitement fonctionnel, pour une consommation
ridiculement basse d'une dizaine de watts en moyenne. Ce système est assez puissant pour faire à la fois office de moteur de recherche, d'indexeur de données, et de serveur de fichiers pour le réseau local.
Quant au coût global, il est encore une fois ridicule : 50 euro pour la carte mère/processeur, et le reste provient de récupérations diverses et variées. Reste le meilleur : l'absence de ventilateur sur ce type de machines, les rend totalement silencieuses : un vrai bonheur.
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.
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.
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.
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 450 méga-octets de données et plus de 28000 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) :
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.
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 ;
A l'heure où j'écris ces lignes (22 janvier 2008), et après bien des tâtonnements, le robot indexeur fonctionne de manière satisfaisante. Restent à affiner le module de requêtes, qui n'est pas toujours pertinent... Beaucoup de travail en perspective. :-)
En 10 jours (12 janvier au 22 janvier 2008), le robot a visité 98000 pages et indexé 28000 pages, ce qui représente une page visitée toutes les 9 secondes, et une page indexée toutes les 30 secondes.
Avec
Liens du Net !!!
Graphisme, contenu & code © Cédric Amey. Toute reproduction interdite sans le consentement de l'auteur.