Scrutari
Scrutari est un moteur de recherche destiné à effectuer des recherches sur un nombre précis de sites (les sites « abonnés »). Sa particularité est de baser sa recherche sur les méta-données transmises par les sites abonnés et non sur les documents des site eux-mêmes (pages HTML, fichier PDF, etc.), contrairement aux moteurs de recherche classiques. L'objectif est de sacrifier l'exhaustivité au bénéfice de la pertinence. En particulier, Scrutari permet de maitriser l'algorithme de recherche et donc de maitriser l'ordre des résultats (par exemple, pour mettre en avant les documents qui sont estimés les plus importants).
Le système Scrutari est divisé en trois parties bien distinctes :
- Le format ScrutariData de description des méta-données d'un site. Ce format fait la part belle aux titres et sous-titres et à l'indexation par des mots-clés. C'est un format défini en XML ; il peut donc être implémenté pour n'importe quel site et quelque soit le langage de programmation (comme le sont les flux RSS).
- Le serveur Scrutari qui recueille les méta-données au format ScrutariData transmises par les sites abonnés au serveur et qui traite les requêtes envoyées par les clients du serveur. En plus des recherches libres classiques (i.e. des mots saisis directement par l'utilisateur), le serveur Scrutari propose également des outils d'analyse des méta-données (comparaison entre thésaurus, statistiques, etc.). Le serveur Scrutari est écrit en Java et s'appuie sur le moteur de servlets Tomcat.
- Les clients de Scrutari qui communiquent avec le serveur Scrutari via des requêtes HTTP classiques en utilisant un format XML spécifique ou un format simplifié en texte brut (le protocole SimpleScrutari). Les clients Scrutari peuvent donc être développés dans n'importe quel langage de programmation. Deux clients sont actuellement disponibles : un client simple en PHP conçu pour s'intégrer facilement dans un site web et un client en Javascript pour proposer une interface avancée, ScrutariJs.
On voit que ces trois parties du système Scrutari communiquent entre elles via des formats texte (XML ou format SimpleScrutari) suivant le protocole HTTP. Aussi n'y a-t-il aucune contrainte quant au langage de programmation utilisé du moment que ce langage est capable d'écrire du texte, d'analyser du XML et de communiquer via HTTP. Le choix du langage se fera donc à la convenance du développeur. On pourra ainsi tout aussi bien développer son propre client que se passer du serveur Scrutari pour lire directement les fichiers XML au format ScrutariData fourni par les sites.
Le présent manuel s'attache tout particulièrement à décrire les différents formats d'échanges disponibles afin de permettre à tout développeur de faire les scripts qui lui conviennent et aux utilisateurs avertis de comprendre les possibilités que leur offre le système Scrutari.
Le code source de Scrutari et ceux de projets liés sont rassemblés dans le groupe Scrutari sur FramaGit. Le site de la Coredem propose une présentation de Scrutari à destination des producteurs de données.
L'arborescence du site suit cette décomposition en trois parties :
- Scrutari en bref
- Le format ScrutariData
- Le serveur Scrutari
- Les clients Scrutari
- Le projet Scrutari