Académique Documents
Professionnel Documents
Culture Documents
Rapport de
Mini Projet
Sujet :
Elaborer un moteur de Recherche spécialisé en Education
Elaboré par :
Soutenu le 06/01/2016
Merci à mes amis qui n’ont pas ménagé leur temps pour m’aider à collecter certaines
données.
Je réserve une pensée spéciale à tous les enseignants de l’Institut Supérieur des
études Technologiques de Mahdia qui ont su nous donner une formation didactique et
appréciable durant tout notre cursus, à la promotion Licence Applique en Informatique
pour la sagesse qu’elle a fait preuve. Ce geste sera gravé à jamais dans nos mémoires. Je
ne terminerai pas sans avoir exprimé des remerciements envers toutes les personnes qui
ont contribué de près ou de loin à la réalisation de ce projet.
Sommaire
Conclusion............................................................................................................................................. 13
Introduction Générale .............................................................................................................................1
Chapitre 1 : Notations Théoriques ..........................................................................................................2
I. Introduction ..........................................................................................................................2
1. Présentation de l’Api Lucene .........................................................................................2
2. Fonctionnement de Lucene............................................................................................2
II. L’api Lucene ..........................................................................................................................3
III. Java .......................................................................................................................................3
IV. Conclusion.............................................................................................................................4
Chapitre 2 : Spécifications des besoins ...................................................................................................5
I. Introduction ..........................................................................................................................5
II. Besoins fonctionnels.............................................................................................................5
III. Besoins non fonctionnels......................................................................................................5
IV. Diagramme de cas d’utilisation ............................................................................................5
1. Présentation des acteurs................................................................................................6
2. Présentation graphiques ................................................................................................6
3. Description des cas d’utilisation.....................................................................................7
V. Conclusion.............................................................................................................................7
Chapitre 3 : Conception ...........................................................................................................................8
I. Introduction .........................................................................................................................8
II. Diagramme de séquence .....................................................................................................8
III. Diagramme de classe ...........................................................................................................8
IV. Conclusion............................................................................................................................8
Chapitre 4 : Réalisation............................................................................................................................9
I. Introduction .........................................................................................................................9
II. Environnements de développement ...................................................................................9
III. Taches effectuée..................................................................................................................9
1. L’installation d’API Lucene et configurations ......................................................................9
2. Interface Homme Machine (IHM)..................................................................................... 10
IV. Conclusion......................................................................................................................... 12
Mini Projet
Introduction générale
Etant donné le nombre de pages web présentes pour le Web, il est nécessaire d'utiliser un
outil pour rechercher une ou plusieurs pages spécifiques correspondant à des critères de
recherche
notamment le
La recherche en ligne est rendue complexe par l'abondance et l'hétérogénéité des ressources
disponibles sur le net. Ces dernières années, les méthodes et les outils de recherche ont
évolués et se sont complexifiés face aux attentes de plus en plus diversifiées des utilisateurs
et au développement du net.
Un moteur de recherche est un outil permettant de trouver des ressources (pages, images,
vidéos...) en saisissant un ou des mots clés. Cet outil peut être soit une application destinée à
faciliter la recherche à l’intérieur d’un site soit un site web complet permettant de fouiller
l’ensemble (ou en tout cas une part importante) des ressources du net. Le moteur de
recherche est aujourd'hui l'outil le plus utilisé.
D’autre part, il existe des moteurs de recherches spécialisés (également appelé moteur
de recherche vertical) procède selon un mode opératoire identique, sinon qu’il limite
ses recherches :
Aujourd’hui, il existe de plus en plus des moteurs de recherche de plus en plus spécialisé,
cette spécification rendre le recherche très pratique pour l’internaute. Dans ce cadre s’inscrit
notre mini projet qui a pour objectif d’élaborer un moteur de recherche spécialisé dans
l’éducation.
A.U 2015/2016
Page 1
Mini Projet
Tout d'abord, nous identifions les mots importants, Cela m'a aidé à compléter le travail requis
et les mots techniques au cadre de stage.
II. L’api Lucene
1. Présentation de l’API
Lucene
Chapitre4 Lucene est un moteur de recherche libre écrit en Java qui permet d’indexer et de
rechercher du texte. C’est un projet open source également disponible pour les langages
Ruby,
2. Fonctionnement de Lucene
Chapitre6 L'intérêt de ce programme est qu'il est conçu pour rechercher dans du texte, chose
pour
A.U 2015/2016
Page 2
Mini Projet
laquelle ne sont pas conçues les bases de données tel que MySQL (même s’il y a des
fonctions qui s'en rapprochent comme les index fulltext MySQL).
Chapitre7
Chapitre8 Lucene agit en quelque sorte comme une couche intermédiaire entre les données à
indexer et vos programmes. Pour ce faire, il indexera des objets appelés des documents et, à
partir des index, il permettra une recherche rapide et efficace dans ces documents.
Le principe est simple : dans un premier temps, Lucene va lire tout le contenu dans lequel
vous souhaitez recherche (par exemple : toutes les pages d'un site internet), c'est ce qu'on
appelle l'indexation.
Ensuite, on va pouvoir interroger Lucene, qui va alors analyser la requête (le texte recherché,
comme sur Google), et utiliser son index pour ressortir les pages qui correspondent le mieux
à la recherche.
Chapitre10 On communique avec Lucene via une API (généralement sous forme de web services :
XML, JSON...), depuis n'importe quel langage : PHP, Python, Ruby.
Concurrent de Lucene
Chapitre11 Parmi les concurrents de Lucene, on trouve notamment Google Search Appliance
(GSA) : il s'agit d'un serveur loué par Google qui utilise un algorithme de recherche
gardé secret pour indexer des données. C'est une sorte de boite noire : on ne sait pas ce
qu'il y a à l'intérieur, on l'utilise via son interface de programmation en lui donnant la
liste des contenus (par exemple une liste d'URL) à indexer.
Chapitre12 est un autre concurrent de Lucene, il est gratuit et open source et codé en C++
(pas besoin de Java comme Lucene). Sphinx est utilisé par des sites à fort trafic comme
Daily motion ou The Pirate Bay.
III. Java
Le langage Java est un langage de programmation informatique orienté objet créé par
James Gosling et Patrick Naughton, employés de Sun Microsystems, avec le soutien
de Bill Joy (cofondateur de Sun Microsystems en 1982), présenté officiellement le 23
A.U 2015/2016
Page 3
Mini Projet
mai 1995 au SunWorld. La société Sun a été ensuite rachetée en 2009 par la société
Oracle qui détient et maintient désormais Java.
IV. Conclusion
Chapitre13 En conclusion, nous avons présenté l’Api Lucene qui est le cœur de notre moteur
de recherche ainsi on a présenté le langage utiliser pour le développement de notre
moteur de recherche.
A.U 2015/2016
Page 4
Mini Projet
A.U 2015/2016
Page 5
Mini Projet
2.
Présentation Graphique
A.U 2015/2016
Page 6
Mini Projet
V. Conclusion
Dans ce chapitre, on a essayé de citer quelques fonctionnalités auquel notre moteur de
recherche doit répondre pour que notre internaute avoir des résultats
A.U 2015/2016
Page 7
Mini Projet
Chapitre 4 : Conception
I. Introduction
Ce chapitre a pour objectif de présenter la solution conceptuelle proposée. En d’autres
termes, ce chapitre devrait répondre à la question comment faire.
IV. conclusion
En clair, comme nous venons de le voir, ce chapitre était consacré, à la conception des
diagrammes, de séquence qui nous ont permis de dégager l'architecture générale de notre
application représentée ici par ce diagramme de classe qui nous renseigne sur la relation
homme Machine de notre application qui sera détaillée dans le prochain chapitre.
A.U 2015/2016
Page 8
Mini Projet
Réalisation
I. Introduction
Dans ce chapitre, nous présentons l'architecture sur laquelle nous avons développé
notre application, les différents outils utilisés ainsi que les composantes applicatives
réalisées.
un langage de programmation en
particulier. Les outils nécessaires sont :
JDK
IDE
API Lucene
Taches Effectué
III. 1. L’installation d’API Lucene et Configuration
Lucene appartient au fameux projet Jakarta de la fondation Apache, bien connu pour
ses outils tels que Struts ou Tomcat. Cette API écrite en Java se destine à la création
de puissants moteurs de recherche orientés texte. Parmi les nombreuses qualités de
cette bibliothèque, nous retiendrons essentiellement sa rapidité d'exécution et sa
simplicité d'utilisation, tant pour le programmeur que pour l'utilisateur final. La
découverte de Lucene se déroulera en deux temps. En premier lieu, nous
apprendrons à créer un index à partir de nos documents, pour ensuite soumettre
des requêtes au moteur. L'application que nous allons étudier, intitulée
WebIndex, permet l'indexation d'un document HTML déterminé par une URL.
Lien de Téléchargement :
A.U 2015/2016
Page 9
Mini Projet
A.U 2015/2016
Page 10
Mini Projet
A.U 2015/2016
Page 11
Mini Projet
IV. Conclusion
L’activité d’implémentation était la plus délicate dans le développement de notre
application. Enfin, nous nous intéressons à tester l’application en réseau.
A.U 2015/2016
Page 12
Mini Projet
Conclusion générale
Ce travail a été réalisé dans le cadre de notre mini projet de un mois au sein de Institut
Supérieur des Etudes Technologique de Mahdia Durant notre stage nous a été bénéfique bien
sur le plan théorique que pratique. En effet, sur le plan théorique, nous avons acquis des
notions sur la spécification Lucene, et les différentes méthodes permettant de l’implémenter.
Sur le plan pratique, nous avons eu l’opportunité de mettre en œuvre le processus unifié et
de découvrir les technologies de pointe utilisées dans l’élaboration des applications
mobile, à savoir la plateforme Eclipse Par ailleurs, nous avons eu l’occasion d’exploiter
au mieux les outils de conception tels qu’UML et pour l’élaboration des différents
diagrammes. Finalement, comme tout projet, le nôtre présente quelques
insuffisances que nous pouvons les combler et des imperfections auxquelles on peut
remédier. Mais, nous estimons avoir répondu à la majorité des exigences de cahier des
charges ; Ce qui nous mène à certaines constatations concernant l’estimation du temps
nécessaire à la réalisation. D’autre part, ce travail nous a appris la prise de conscience de
nos prochaines obligations outre l’apport technique que nous avons récolté, et malgré les
obstacles que nous avons rencontrés, nous avons appris à accepter les compromis et à
relativiser les problèmes.
A.U 2015/2016
Page 13