Nous avons choisi d’utiliser uniquement des JSP et Servlet, sans framework particulier. Voici les quelques librairies utilisées : Saxon / JDOM / SolRJ / JSON …
La partie « visible » est constituée d’HTML (bien sûr!) et d’une feuille de style (créée par Oxynel), ainsi que de javascript (JQuery) pour les widgets présents : autocompleter, slider, checkers…
Cependant, theses.fr sait délivrer autre chose que de l’HTML, via ses Servlets. Les API XML de theses.fr permettent d’obtenir le contenu sous différents formats, tels que (pour l’instant !) :
- Flux Atom
- RDF
- XML
Les données sont stockées dans une base Oracle : les métadonnées des thèses ainsi que le plein texte sont stockées dans une table (une colonne contenant les métadonnées sous forme TEF étendu, une colonne contenant le plein texte extrait du fichier PDF), la clé de la table est soit le numéro national de thèse, soit le numéro de la thèse en préparation (qui sera fourni par la future application STEP). Ainsi, via l’url www.theses.fr/n°xxx, on accède aux métadonnées de cette table.
D’autres tables seront par la suite utilisées pour gérer l’authentification qui permettra par exemple de sauvegarder les recherches.
Le principal challenge a été de fournir un moteur de recherche rapide pour ces données. Challenge d’autant plus crucial que le volume de données à l’ouverture n’a rien à voir avec celui que theses.fr devra supporter dans quelques mois, une fois chargées les métadonnées des thèses décrites dans le Sudoc et le texte intégral des thèses déposées dans TEL.
Nous avons choisi la plateforme de recherche opensource Apache SolR, basée sur Apache Lucene, qui fournit par défaut de nombreuses fonctionnalités :
- recherche plein texte
- highlighting (surlignage)
- facettes
- support de différents types de document (word, pdf…)
- recherche distribuée
- réplication d’index automatique
La plateforme de production qui permet d’avoir un service 24h/24 avec tolérance de pannes est composée de serveurs Red Hat Enterprise (Linux) :
- deux boîtiers de répartition de charge
- deux serveurs frontaux (Apache + Tomcat)
- un serveur de fichiers (NAS)
- deux serveurs de recherche (Tomcat + Solr)
- deux serveurs de base de données (Oracle en SAN)
Cette plateforme sert pour toutes les nouvelles applications développées par l’Abes : IdRef, STAR, STEP, theses.fr, les API Sudoc…
Pour de plus amples renseignements, n’hésitez par à contacter l’équipe technique via ABESstp
A. Charot