D’APOGEE à STAR : Automatisation de l’export sous linux

I was in space !!! - Par *Katch - Flickr - CC BY-NC-ND 2.0
I was in space !!! – Par *Katch – Flickr – CC BY-NC-ND 2.0

À Clermont-Ferrand le dépôt des thèses numériques dans STAR est officiel depuis Septembre 2010 pour l’université Blaise Pascal et depuis Janvier  2011 pour l’université d’Auvergne. Pour faciliter le dépôt des nouvelles thèses, un lien a été établi entre APOGEE et STAR et éviter ainsi une double saisie des informations administratives. Les données d’APOGEE sont extraites, puis mises en forme afin d’être importées dans STAR.

Cette méthode n’a rien d’originale et est notamment utilisée  à l’université de Tours qui a généreusement transmis sa méthode d’export/import sur la liste des correspondants STAR. Cette procédure a été retranscrite à l’université de Metz également. Nous l’avons quelque peu modifiée afin de simplifier cette routine effectuée chaque semaine.

Quelques fichiers à adapter

Le script d’extraction

Ce programme a été affiné par un informaticien de notre centre de ressources informatiques. Seules les informations des nouveaux doctorants (depuis la dernière extraction) sont aspirées. L’étape de suppression des doctorants déjà présents dans STAR est ainsi évitée.

Les données issues de l’export

L’étape d’édition du fichier CSV est encore nécessaire. Ceci pourrait être automatisé en adaptant la feuille de style XSL mais pour l’instant le jeu n’en vaut pas la chandelle. En pratique, il arrive que le nom du président du jury ne soit pas saisi dans APOGEE ce qui empêche l’import dans STAR (ce champ étant requis dans la recommandation TEF).

La feuille de style XSL

En plus de l’adaptation du numéro d’autorité Sudoc, on a du changer l’en-tête XML et une balise XSL pour l’adapter à la version de saxon. Il faut donc remplacer la ligne :

<?xml version="1.0" encoding="UTF-8"?>

par

<?xml version="1.1" encoding="UTF-8"?>

puis la ligne

<?xsl:result-document href="out/{$ETABLISSEMENT}_{CODE_ETUDIANT}.xml"?>

par :

<?xsl:document href="resultats/{$ETABLISSEMENT}_{CODE_ETUDIANT}.xml"?>

Un script bash pour générer les thèses

Ces modifications faites, un petit script (disponible en bas de cette page) a été créé pour automatiser la transformation du fichier d’export en fichiers de thèses XML conformes à la recommandation TEF.
Sous linux, il n’y a pas de problème d’encodage entre l’ANSI et l’UTF-8 (ce dernier format étant natif), on peut alors lancer notre script qui créera les fichiers des thèses dans un répertoire dédié.
Ce petit programme utilise le logiciel ffe (flat file extractor) pour transformer le CSV en XML, puis saxon (comme à Tours) pour la transformation en TEF.

Pour l’utiliser sous Ubuntu, les paquets libsaxon-java et ffe doivent être installés. La suite des opérations se déroule en ligne de commande.

  •   on place le fichier CSV issu de l’extraction à la racine du répertoire du script.
  •   on place le fichier de transformation XSL dans le répertoire « scripts »
  •   on execute la ligne de commande suivante :
$ ./ star.sh theses.csv scripts/feuilleXSL.xsl

Les thèses seront alors disponibles dans le répertoire « résultats » et prêtes pour l’import par mail.

Vous pouvez télécharger  le script bash pour STAR au format zip.

Projet 2012 : pourquoi pas nous ?

Je suis mécontent.

Quand on interroge « projet 2012 » dans le formulaire de recherche du moteur que l’on ne cite plus, on ne trouve pas le projet de la bibnum. Ce moteur est vraiment mal conçu, ou mal renseigné. Car la bibnum a des tombereaux de projets pour l’année à venir, de quoi nourrir un quinquennat  quinquennal. Qui plus est, ils sont plutôt moins coûteux que ceux des partis candidats au gouvernement, et je gage, sans avoir approfondi la question (Ttttt… devoir de réserve!), que leur faisabilité n’est pas moindre.

Jyhem, Oui oui non non (Creative Commons, paternité, pas d’utilisation commerciale ; source FlickR)

La lecture in-extenso de notre « projet de service » serait de nature à faire déserter ce blog pour 6 mois ; les collègues m’en voudraient, ainsi que les lecteurs d’ailleurs, dont la plupart ont sans nul doute déjà produit ou absorbé une bonne lampée de « projets 2012 » pour leur propre compte. Puisque l’on fait ici dans la distillation, quelques gouttes de quinquina(l) suffiront aux connaisseurs.

Une politique documentaire véritablement politique et profondément documentaire

Côté contenus, les jérémiades budgétaires, comme tous les lieux communs, étant aussi fastidieuses à écrire qu’à lire, je coupe court : 2012 sera une année qualitative. Réduit en slogan, ça donnerait quelque chose d’intermédiaire entre dépenser pas trop plus pour acquérir pas trop moins et acquérir moins mais consulter mieux.
Mais surtout, en politique documentaire comme en politique économique les enjeux sont situés autant et plus au-dehors qu’au-dedans. Mutatis mutandis, notre construction européenne à nous (Tttt… devoir de réserve !) est un consortium.

  • Notre rêve est donc de voir étinceler dans le glacial crépuscule des négociations humiliantes un consortium-couperet, qui bien loin de valider une négociation, inviterait ses membres à la bouder explicitement.
  • Notre projet, c’est de faire valoir ce point de vue chaque fois que la proposition d’un éditeur semblera le justifier. Je n’ai guère de doute sur le fait que l’occasion se présentera une fois ou l’autre cette année.
    Je vote pour un consortium fort et juste. Pour un consortium de conviction.

Un accès résolument accessible

Côté accès : on teste cet automne l’adaptation sur notre SIGB d’un OPAC libre.
Si – hypothèse absurde – tout se passe bien, vous n’en entendrez parler ici que lors d’un petit billet triomphal annonçant le changement d’OPAC.
Si tout se passe normalement, vous aurez quelques billets dans ce blog sur les difficultés rencontrées et un billet soulagé au printemps expliquant que finalement ça marche, pas parfaitement, mais ça marche.
Si tout se passe mal, je m’engage personnellement à signer un billet rageur rejetant toute la responsabilité de l’échec sur les failles techniques de notre SIGB, ou la météo, ou mes collègues, selon l’humeur du jour (je ne dis pas que ça n’est pas injuste, je dis que ça soulage). Mais nous n’en sommes pas là. Laissons travailler nos bouilleurs de cru, il paraît que si l’on regarde par dessus leur épaule la distillation échoue.
Les solutions ? Elles existent. Testons-les.

Une bibliothèque de production délibérément productive

Notre première « bibliothèque virtuelle » devrait être publiée cette année. Il s’agit des carnets du géologue Glangeaud, dont Camille vous a donné un échantillon il y a peu. Entre autres projets, on vise aussi la publication des thèses déposées électroniquement de 2003 à 2010 (avant le dépôt électronique officiel). Après moult réflexions, on s’oriente pour cela vers la solution la plus légère, la diffusion sur TEL. Évidemment, c’est un peu plus compliqué que pour les thèses nativement électroniques, puisque ce n’est pas automatisé, mais sinon, où serait le plaisir (car TEL est notre plaisir) ?

Avec la bibnum, la production virtuelle devient réalité .

Sortir de l’informatique informaticienne

Dans le parc informatique, le dossier de l’année, c’est l’expérimentation de systèmes libres. Les machines professionnelles devraient achever leur migration vers la bureautique libre, le parc public devrait entamer la sienne vers un système d’exploitation Linux, en profitant de la rénovation complète d’une des bibliothèques du réseau. Et pour accompagner le mouvement, une petite install-party sera organisée pour les collègues, afin de faire connaître le système.

En 2012, pour une accessibilité efficace et apaisée ; pour une documentation scientifique et solidaire ; pour une bibliothèque de conviction et d’innovation, votez Clermont. Pour une bibliothèque en mouvement, votez Montferrand. Pour dire ce que vous pensez de nos projets, laissez un commentaire. Pour nous parler des vôtres, faites donc un blog.

AbsysNET dans Chrome

Petit outil clé-en-main pour bien démarrer l’année universitaire…
Nous avons repris l’excellent billet de Lully pour l’adapter à notre catalogue absysNET et proposer une extension du navigateur Chrome permettant d’afficher, pour une requête Google, le nombre de résultats dans le catalogue local. Voici ce que cela donne en image :

Le nombre de résultats du catalogue dans la page Google : ici, BU Nice et BCU

Nous ne reprenons pas ici toutes les étapes de constitution de l’extension, puisque Lully l’a très bien fait. Nous nous contentons de livrer les fichiers adaptés aux catalogues absysNET (merci Mathieu) dans lesquels vous pourrez modifier les url et les libellés.

1. Récupérer l’ensemble des fichiers nécessaires

Nous avons mis à disposition sur notre serveur le fichier .zip qui contient les fichiers à modifier. Assurez-vous que vous pourrez placer sur un serveur PHP le script nb_res_bcu.php pour faire vos tests. Dézippez puis modifiez les codes comme suit.

  • Script nb_res_bcu.php (pour « nombre de résultats BCU ») : vous pourrez bien entendu renommer vos fichiers en changeant sudoc ou bcu le cas échéant.
function getUrl($url){
 $ch = curl_init();
 curl_setopt($ch, CURLOPT_URL,$url);
 curl_setopt($ch, CURLOPT_HEADER, TRUE);
 curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
 curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);
 $res=curl_exec($ch);
 curl_close($ch);
 return $res;
}
 // Cette page va passer une requête au catalogue
//BCU pour récupérer le nombre de résultats
 if (!isset($_GET['q']))
 {
 print "Manque la requête en paramètre";
 exit;
 }
$q = $_GET['q'];
 $q = str_replace(" ", "+", $q);
// On récupère la page correspondant
//au résultat de cette requête
 $url = "http://195.221.120.229/cgi-bin/abnetclop?ACC=DOSEARCH&xsqf99=".$q; 
$res = getUrl($url);
 if (preg_match('/URL=(.*)"/', $res, $match))
 $new_url = 'http://195.221.120.229'.$match[1];
$res = getUrl($new_url);
 $tab_sortie = Array();
 if (preg_match(
'/Enregistrementss[0-9]+/[0-9]+sdes([0-9]+)/', $res, $match
))
 $tab_sortie["nb"] = $match[1];
 else
 $tab_sortie["nb"] = 0;
 print json_encode($tab_sortie);

Vous devez ici changer l’url de requête vers l’OPAC absysNET en modifiant la racine du serveur (votre adresse IP ou nom de domaine). La suite de l’url correspond aux paramètres de requête tout champ d’absysNET. Les lignes

 if (preg_match('/URL=(.*)"/', $res, $match))
 $new_url = 'http://195.221.120.229'.$match[1];

constituent une particularité d’absysNET car la page de requête génère une redirection (une page intermédiaire avant la page de résultats). Là aussi, modifiez la racine.

'/Enregistrementss[0-9]+/[0-9]+sdes([0-9]+)/', $res, $match

Cette ligne permet au script de déterminer, dans la page de résultats absysNET, où se trouve affiché le nombre de résultats. Si vous n’avez pas modifié le template standard de l’OPAC, pas de problème. Si oui, il faudra modifier la ligne de code en remplaçant tous les termes qui entourent votre nombre de résultats.

Vous pouvez maintenant déposer nb_res_bcu.php sur votre serveur PHP, de préférence dans un répertoire comme /BcuInGoogle/ puis faire des tests avec des requêtes comme http://biuintra.univ-bpclermont.fr/BcuInGoogle/nb_res_bcu.php?q=orwell. Vous vérifiez que le nombre de résultats est correct.

  • Fichier background.html

Vous modifiez l’url du script que vous venez de déposer (ligne 27)

var url = 'http://biuintra.univ-bpclermont.fr/BcuInGoogle/nb_res_bcu.php?q='+q;
  • Fichier sudoc_in_google.js

Vous modifiez les libellés relatifs à votre bibliothèque (lignes 22 et 32), l’icône logo.png qui se trouve dans le répertoire img de l’extension (remplacez par votre image 48 x 48), ainsi que l’url de requête vers l’OPAC (ligne 26).

  • Fichier manifest.json

Personnalisez votre extension en modifiant les lignes 2 et 4 et remplacez le nom de domaine de votre serveur à la ligne 17.

2. Empaqueter l’extension
Ouvrez Chrome et cliquez sur le bouton Clé anglaise. Dans le menu Outils, sélectionnez Extensions. Sur la page, ouvrez le mode développeur et cliquez sur le bouton Empaqueter l’extension. Choisissez le répertoire qui contient vos fichiers modifiés puis OK. 2 fichiers sont alors générés, dont un .crx qu’il faut placer sur votre serveur de manière à proposer le téléchargement de l’extension comme la nôtre !

Une limite importante à l’usage
L’extension fonctionne très bien sur la première recherche Google (les résultats peuvent s’afficher cependant avec une certaine lenteur en fonction de votre OPAC). En revanche, on n’obtient aucun résultat catalogue lorsqu’on modifie la requête. On s’aperçoit en effet que l’url de la page Google ne se rafraîchit pas correctement, la première requête étant conservée dans l’url. Donc, il faut toujours revenir à la page d’accueil Google pour faire une nouvelle recherche et bénéficier des résultats catalogue.

Archives ouvertes institutionnelles : l’heure du choix va arriver

Les cinq prétendantes
Les cinq prétendantes retenues pour l’élection du 21ème titre de Reine d’Arles. Photo Ville d’Arles Patrick Mercier Source Flickr licence (CC BY-NC 2.0)

Mettre en place un dépôt d’archives ouvertes institutionnels pour le PRES de Clermont, y mettre en ligne d’abord les thèses, puis les autres publications des universités. Voilà ce qui est programmé de longue date.  Cet objectif est presque accompli. La décision officielle n’a pas encore été prise, mais voici résumé l’avis de la bibnum sur la question.

A commencer par une étude préalable, avec une dizaine de solutions envisagées : parmi elles, les  logiciels d’archives ouvertes mondialement connus: Eprints, Dspace, moins connus, Fedora, Invenio, l’incontournable plate-forme HAL, l’Outil de Référencement et d’Indexation pour un réseau de portail OAI-PMH (ORI-OAI), et même des GED libres, comme Nuxeo et Alfresco.
Ces logiciels ont été passés au crible des grilles comparatives, celle du PUL (aujourd’hui PRES de Lyon), celle de l’INSA de Lyon, leur documentation épluchée, des tests ont été réalisés, des formations suivies.
L’enjeu? Sélectionner les outils pour répondre aux mieux à nos attentes. Toute sélection suppose élimination, critères discriminants. Quels furent-ils?

Le premier critère est la compatibilité au protocole OAI-PMH. Pour les novices, j’explicite brièvement : Open Archive Initiative Protocol for Metadata Harvesting, protocole issu de l’Initiative pour les archives ouvertes garantissant le moissonnage des métadonnées. En deux mots, ce protocole permet l’échange des métadonnées d’une plate-forme d’archive ouverte à une autre. Il permet de récupérer le lien et les informations concernant une ressource numérique déposée sur une archive ouverte et décrite avec les normes ouvertes standards, comme le Dublin Core, depuis n’importe quel poste Internet, avec un moissonneur.
C’est l’interopérabilité des données, le prérequis essentiel sans lequel on n’est plus dans le domaine des archives ouvertes. Les GED libres, Nuxeo et Alfresco, sont donc passées à la trappe. Bien que très performantes, elles ont été d’abord conçues pour les entreprises pour garantir la confidentialité des données avec d’importants dispositifs de protection. On est loin de l’ouverture, de la philosophie du partage des données sous-tendue par l’Initiative des Archives Ouvertes.
Restaient les autres plate-formes d’archive ouverte. Les autres critères de sélection sont la simplicité d’utilisation pour les usagers, la faisabilité du projet, la solidité de la communauté d’utilisateurs, la conservation pérenne des données.
Fedora a l’avantage de pouvoir s’implémenter avec Drupal. Si l’architecture de cette plate-forme a quelques accointances avec le web sémantique et des potentialités intéressantes,  l’outil suppose des développement colossaux. Invenio propose plusieurs formats de métadonnées et peut s’articuler au SIGB. Simple d’utilisation, certes, mais trop peu répandu.
Il ne restait plus que quatre plate-formes : DSpace, Eprints, ORI-OAI et HAL.
E-Prints est un logiciel conformes à nos attentes, nous en avons eu la démonstration à Toulouse avec le bel exemple d’OATAO, mais son architecture modulaire suppose de  nombreux développements.
Après une formation sur les entrepôts et moissonneurs à Nice, Dspace nous a paru simple d’utilisation, facile à manier, et assez ergonomique.
On ne dira jamais assez de bien d’ORI-OAI. Utilisé par de nombreuses universités, cet outil a fait ses preuves et s’avère particulièrement pertinent pour la gestion et la valorisation des thèses, en prenant en compte le format TEF, les métadonnées des thèses françaises. Cet outil a permis d’exemplaires réalisations, à l’instar de Pétale en Lorraine.
Et puis HAL bien sur. Que peut-on lui reprocher? Son label CNRS ? Mais il est temps de cesser le clivage entre les institutions. Son côté hébergé ? Oui, mais quel hébergement avec archivage pérenne des données au CINES, on en sera que mieux loti.
Et puis,  la bibnum a orchestré la mise en production effective de STAR, qui a peu ou prou coïncidé avec le lancement du portail des thèses. Les thèses de Clermont-Ferrand, déposées dans STAR, du moins celles dont les auteurs ont autorisé la diffusion en ligne, sont par défaut devenues automatiquement visibles dans TEL (Thèses en ligne).  Alors pourquoi ne pas garder TEL ?
Quelque part sur un serveur de la bibliothèques sont stockées quelques cinq cents thèses électroniques antérieures à STAR, en attente de mise en ligne. Comment les rendre accessibles sur une plate-forme unifiée ? Puisqu’on utilise déjà TEL, pourquoi ne pas poursuivre dans cette voie et importer nos thèses antérieures à STAR dans cette archive ouverte ?
C’est simple, il est possible d’y importer des publications par lot avec un  fichier XML depuis n’importe quel compte utilisateur, à condition d’en demander l’autorisation au CCSD, ce qui nous a d’emblée été octroyé.
On peut ainsi y mettre en ligne l’ensemble des thèses électroniques d’Auvergne, en leur donnant une visibilité nationale, européenne et même mondiale. Recommandée par l’ANR et les instances officielles d’évaluation, cette plate-forme assure la conservation pérenne des données et améliore considérablement le référencement des publications dans les moteurs de recherche. Alors pourquoi se priver de HAL-TEL ? Créer une collection recensant l’ensemble des publications clermontoises et lui attribuer une interface graphique personnalisée en harmonie avec le site de la BCU valorisera la Bibliothèque comme institution autant que la recherche menée au sein du PRES Clermont Université.
Utiliser HAL et TEL implique peu de développement, juste une personnalisation de la charte graphique.
HAL-TEL s’impose pour plus de simplicité, de facilité d’utilisation, de visibilité, d’accessibilité, et de pérennité des données de la recherche.
Rien de tel que TEL pour valoriser les thèses clermontoises !