Activités transversales : développement logiciel

Nous regroupons ici les développements qui n’ont pas été décrits dans une activité, en général parce qu’ils sont utilisés par plusieurs projets.

EDBM

Développé à la fin des années 90 pour servir de moteur de recherche et interface web pour le Zentralblatt MATH, dans un contexte d'offre logicielle très différent de ce que nous connaissons depuis déjà d'assez nombreuses années, ce système a évolué au tout début des années 2000 en vue d’héberger la première mise en ligne de Numdam. Il est toujours la base d'application telles que Numdam et Cedram, et est toujours maintenu.
Aucun développement n'est prévu, son remplacement à court terme par des logiciels offrant de meilleures fonctionnalités, et dont la pérennité est assurée, doit être envisagé.

« Matching »

On désigne ici par « matching » (appariement) le processus  automatique qui permet de découvrir dans une base de données l’entrée correspondant à des données non structurées. Cela nous concerne typiquement pour la découverte de références croisées entre publications,  via les références bibliographiques, ou la création de liens vers les analyses des bases MathSciNet et zbMATH.
Un tel système a été développé par la  Cellule Mathdoc dans la période précédant immédiatement celle de ce rapport d'activité. Il permet de générer les liens vers la base zbMATH, pour les articles et leurs références bibliographiques,  et donc d'éventuelles références internes par comparaison des identificateurs Zbl. Ce système est utilisé par les applications Numdam et Cedram. Il a été ensuite adapté dans le cadre du projet EuDML, et constitue la base du service dit « Reference lookup » offert par le site EuDML. Il a également été fourni au FIZ dans le cadre de notre partenariat et est utilisé en interne, dans une version possiblement remaniée, pour affecter des identifiants Zbl aux références bibliographiques désormais intégrées au zbMATH (à l’heure actuelle, les sources principales sont Springer et  Numdam).
Les liens vers Mathscinet sont quant à eux établis grâce à un service fourni par ce site.

Transformations XSLT

Étant donnée la nature des activités de l'unité, et les formats de données utilisés par de nombreux partenaires extérieurs aussi bien que de façon interne, l'écriture de transformations XML (XSLT = XML Stylesheet Language Transformations) est une pratique habituelle dans tous les domaines nécessitant un échange ou un affichage de données XML:
acquisitions de données provenant des éditeurs ;
export de données vers le site EuDML ou via les serveurs OAI-PMH ;
affichage HTML (web).

Plusieurs dizaines de transformations ont été développées, de la plus simple à la plus complexe, souvent intégrées dans des programmes nécessitant la manipulation de données XML.

Plateforme de diffusion pour Écologie alpine

La mise en ligne des articles numérisés de trois revues d'écologie alpine, et des cartes associées, a été l'occasion de mettre en œuvre des logiciels autres que ceux habituellement utilisés à la   Cellule Mathdoc pour ce type d'application.
Le site web mis en place (http://ecologie-alpine.ujf-grenoble.fr) a été développé avec le « framework » Django (langage Python), avec stockage des données dans une base MySQL, associé au moteur SphinxSearch qui assure la recherche textuelle.
Ce « montage » inhabituel s'est révélé facile à mettre en œuvre et robuste, le cœur de l'application ayant nécessité environ 600 lignes de code. L'aspect visuel du site, conçu en collaboration avec le laboratoire d'écologie alpine,  a finalement représenté l'essentiel du temps consacré à ce travail.

Plateforme de diffusion pour Numir

Michael Lefevre a été employé (par Paris 6) à Mathdoc pour mettre en place la plateforme de diffusion du projet Numir. Il a installé le logiciel PHPBoost et paramétré le moteur de recherche pour avoir une recherche (séparée) sur les métadonnées des ouvrages et leurs bibliographies. Il a réalisé aussi un certain nombre de développements simples pour obtenir l’ergonomie attendue par les collègues parisiens. Il est peu probable que ce développement sera maintenu très longtemps. Nous prévoyons plutôt de nous doter d’une solution générique pour héberger des collections numériques de toutes natures (articles de revue, livres, thèses…).

Plateforme numérique Mathdoc

Mathdoc a commencé à l'automne 2012 le développement d’une nouvelle plateforme destinée à gérer et diffuser les collections numériques créées ou hébergées par Mathdoc. Elle utilise des logiciels bien établis et éprouvés :

  • framework Python Django (avec base de données Postgres) ;
  • moteur de recherche Solr pour les fonctionnalités de recherche avancées (recherche textuelle, facettes).

Une version alpha a été mise en ligne à usage interne récemment. Elle propose une partie des fonctionnalités attendues :

  • le multilinguisme n'est pas implémenté ;
  • pas de contrôles d'accès à l'heure actuelle ;
  • l'articulation avec les chaînes de production de données reste à spécifier de façon détaillée (prépublication, publication, mises à jour ponctuelles) ;
  • pas encore de serveur OAI-PMH.

Cette version représente environ:

  • 8000 lignes de code python, dont environ 30 % pour l'importation des données ;
  • 2000 lignes de code de présentation (gabarits pour 3 sites hébergés) ;
  • 3500 lignes de transformations XSLT (sans compter les transformations qui produisent les données initiales) ;
  • 150 lignes de scripts bash.

Ainsi qu'il était prévisible, il a été constaté que le succès d'un tel projet repose avant tout sur la disponibilité de bons schémas de metadonnées, de metadonnées complètes et fiables, plus que sur un logiciel particulier. Le travail de conversion et d'éventuel enrichissement des metadonnées disponibles, bien que largement commencé à l'occasion du projet EuDML, a dû être adapté et complété, et devra être poursuivi, certaines collections n'ayant pas encore été converties dans les schémas utilisés par la plateforme.