• Aucun résultat trouvé

Licence 2 — I4b Second semestre - Ann´ee 2005

N/A
N/A
Protected

Academic year: 2022

Partager "Licence 2 — I4b Second semestre - Ann´ee 2005"

Copied!
2
0
0

Texte intégral

(1)

Licence 2 — I4b

Second semestre - Ann´ ee 2005

Projet •R´ealisation d’un moteur de recherche

Cadre g´ en´ eral du projet

On se propose d’appliquer les concepts des syst`emes d’exploitation afin de r´ealiser un moteur de recherche et d’indexation de pages HTML.

Principe

Un programme d’indexation charge une page donn´ee, analyse les mots cl´es (ensemble de mots se- lectionn´e1) et contruit un index. Pour chaque URL pr´esente dans la page, le programme d’indexation r´ep`ete le processus (extraction des mots, indexation, recherche d’autres URL). L’indexation s’arrˆete soit parce que le temps allou´e au programme est ´ecoul´e ou bien parce qu’une profondeur maximum (seuil) est atteinte ou encore parce que toutes les URL ont ´et´e explor´ees.

Le programme d’indexation fonctionne en mode client serveur en exploitant les ressources d’autres machines. Il sera donc compos´e d’une partie serveur (moteur d’indexation) qui construit l’index et de parties clientes charg´ees de l’analyse des pages HTML. Une file d’attente contenant les pages restant

`

a analyser est h´eberg´ee par le moteur d’indexation. La file d’attente est lisible par tous les clients.

Un programme autonome (applet ou application Javastand alone) exploite l’index pour r´epondre aux requˆetes des utilisateurs. Une requˆete est form´ee d’un mot cl´e ou d’un ensemble de mots cl´es, le r´esultat est une liste d’URL contenant le ou les mots cl´es demand´es. La liste d’URL devra ˆetre tri´ee en utilisant un crit`ere permettant de juger de l’ad´equation des mots cl´es avec le document (la fr´equence est un exemple simple de crit`ere). La figure 1 pr´esente une vue synth´etique des diff´erents

´

el´ements du projet.

Travail demand´ e

R´ealiser le programme respectant les fonctionnalit´es d´ecrites pr´ec´edement. Commencer par le programme d’indexation, le faire fonctionner sur une seule machine en mode multi-thread, r´ealiser ensuite le client (exploitant l’index constitu´e par le programme d’indexation pour fournir les URL) dialoguant au moyen du r´eseau avec le moteur d’indexation, en derni`ere phase, transformer le moteur d’indexation pour le faire fonctionner, en parall`ele sur plusieurs machines.

La structure de l’index est laiss´ee libre. N´eanmoins il faudra exploiter des techniques vues dans les chapitres V et VI du cours et ´eventuellement les am´eliorer.

Les fonctionnalit´es suivantes ne sont pas requises et seront ´evalu´ees comme des bonus :

– r´ealisation interface utilisateur d’interrogation sous forme d’applet utilisable dans une page web ;

– utilisation d’expressions r´eguli`ere pour la formulation des requˆetes ;

– utilisation des moteurs de recherche connus (google, altavista, yahoo) afin d’initialiser la phase d’indexation ou d’am´eliorer les r´esultats.

Contraintes pour la r´ ealisation

Le projet est `a r´ealiser par binˆome. La programmation se fera en utilisant les langages C/C++

ou Java. Il n’est pas obligatoire de d´evelopper une interface graphique. Votre programme devra ˆ

etre con¸cu de fa¸con modulaire. Les structures de donn´ees manipul´ees ne sont pas n´ecessairement dynamiques (structure `a base de r´ef´erences). L’emploi des membres static devra ˆetre justifi´e.

1on ´evitera, par exemple d’indexer les articles ou les pronoms.

1

(2)

File d’attente des pages à indexer

fichiers HTML

requêtes HTTP

Internet Moteur d’indexation

Index

Serveur WEB (site web)

Moteurs d’indexation (sur d’autres machines)

fichiers HTML

etc.

Construction d’une liste ordonnée d’URL

Système cours Application de recherche

requête

Fig. 1 – Vue synth´etique des diff´erents composants du moteur de recherche

Vous devez faire une pr´esentation de votre projet 2 semaines avant la semaine des examens.

Ce jour l`a vous remettrez : 1) un rapport papier dactylographi´e, comportant une analyse du sujet, une description des structures de donn´ees utilis´ees, une description des fonctions et des algorithmes principaux, un jeu de tests montrant que votre programme fonctionne 2) une disquette contenant les sources et l’ex´ecutable de votre programme.

L’´evaluation se fait sur la base du rapport papier, de la qualit´e de la r´ealisation, de la d´emonstration.

Pendant le d´eroulement du projet, des informations suppl´ementaires seront accessibles `a l’adresse http://ufrsciencestech.u-bourgogne.fr/ `a la fois sur le site des cours et sur un forum mis en place sp´ecifiquement pour le projet.

2

Références

Documents relatifs

Modifier le programme pr´ ec´ edent pour que l’on puisse ob- tenir la liste des fichiers ex´ ecutables d’un r´ epertoire pr´ ecis dont le nom est sp´ ecifi´ e en param` etre sur

Quels sont les ´ el´ ements n´ ecessaire pour transferer un fichier entre deux ordinateurs connect´ es sur un r´ eseau.. Afin que le transfert soit valide, il est n´ ecessaire

L’´ equipement Rep est un r´ ept´ eteur qui a pour fonction de recopier des trames Ethernet d’un segment de cˆ able ` a un autre.. Donner l’adresse IP de la machine X et son

Pendant l’ex´ ecution d’un portion de code synchronis´ ee par une thread A , toute autre thread essayant d’ex´ ecuter une portion de code synchronis´ ee sur le mˆ eme objet

– au probl` eme de l’exclusion mutuelle pour l’acc` es ` a des donn´ ees (objets) ou ` a du code (m´ ethodes) ; – au probl` eme de la synchronisation sur des ´ ev´

Reprendre l’exercice du TD qui entraine une cr´ eation non contrˆ ol´ ee de processus pour repro- duire son comportement sur le

Vous devrez ˆetre capable de donnez des indications de comportement de votre programme (temps, limites m´emoire etc.) dans le cas du stockage d’un grand nombre d’objets de petite

Si vous souhaitez r´ealiser d’autres extensions du langage Redcode, votre interpr´eteur devra ˆetre capable de supporter deux syntaxes : celle des programmes en RedCode