Pages

samedi 12 novembre 2011

Du nouveau pour les nouveautés


Ça fait un moment que je m'intéresse à la question de l'information du public sur nos nouvelles acquisitions. A Nancy, en 2007, nous avions lancé un blog de SéleCtion D Nouveautés, qui vit toujours, même s'il a changé de titre et d'adresse.
D'autres BU font des choses très bien et très élaborées dans ce domaine. Je ne me suis pas lancé dans une enquête approfondie, mais rien que ces derniers jours des collègues m'ont signalé la belle étagère de nos voisins picards et les listes thématiques de Franche-Comté avec déroulant des couvertures.
A Reims, il se trouve que notre grande et belle bibliothèque fonctionnelle a été organisée depuis son ouverture en 2006 sans présentoirs de livres. Il y a juste une ou des tables, suivant la période, où nous présentons les sélections thématiques réalisées très régulièrement.
Cet été, les collègues ont mis en place pour la première fois, au niveau de l'entrée dans les espaces de travail de la bibliothèque, un meuble de présentation d'une sélection de nouveautés, avec en amont une organisation pour sélectionner et renouveler ces documents au moment du catalogage et de l'équipement.
Du coup, ça m'a incité à lancer un projet qui me trottait depuis longtemps dans la tête, celui de produire  automatiquement une liste de nos nouvelles acquisitions (les solutions proposées "de série" avec notre OPAC Horizon Information Portal n'ont pas été retenues à Reims, probablement pour les mêmes raisons qu'à Nancy 1, c'est à dire leur manque d'ergonomie. On peut voir ce que ça donne à Nancy 2, avec l'obligation de naviguer dans le plan de classement, de cocher et de valider...).
Mon idée de départ était d'avoir une liste extraite de notre SIGB Horizon, qu'on pourrait mettre en ligne, sur une page fixe de notre blog par exemple, en l'agrémentant d'un fil RSS dédié. Nous y sommes parvenus, on va le voir et le schéma ci-dessus en donne une idée, au prix d'une succession de bricolages et de bidouillages.
  1. L'extraction des données du SIGB

    Une condition essentielle de mise en oeuvre du projet. Là, je me suis adressé à ma collègue magicienne du SIGB et je lui ai lancé un défi pour l'été. Pourrait-elle en interrogeant les entrailles de la bête produire chaque mois une liste de documents dont la notice a été créée depuis une date donnée et dont au moins un exemplaire est disponible pour le prêt, en récoltant à la fois des données concernant la notice bibliographique (Titre, Auteur, Editeur, Année de parution , et surtout le numéro interne de la notice, qui permet de construire l'URI et ainsi de faire un lien internet direct vers le document) et des données d'exemplaire (Localisation, Cote).
    Une magicienne c'est magique, et ma collègue est très vite parvenue au résultat espéré, en utilisant plusieurs requêtes successives et en tambouillant les résultats obtenus dans sa marmite-tableur. Par la suite, des réglages complémentaires ont été nécessaires quand nous nous sommes rendus compte que les exemplaires "en traitement" écartés d'une liste un mois donné passaient au travers des mailles du filet le mois suivant car la date de création de leur notice était trop ancienne.
    .
  2. La mise en ligne des informations
    Là, ce fut presque trop simple. En arrangeant bien le fichier du tableur avec les colonnes dans le bon ordre et la création par formule du lien vers la notice, un simple copier-coller en mode HTML depuis le tableur vers la nouvelle page statique de présentation des nouveautés sur le blog nous a permis d'aboutir au résultat escompté. Sauf que nous avons découvert avec horreur que, si nous collions plus de 100 nouveautés, Wordpress effaçait tout le contenu de la page. Il n'y aura donc que 100 nouveautés sur la page générale, et aussi 100 sur chacune des pages thématiques (il y en a rarement autant que ça d'acquises chaque mois pour un thème donné) car, au fil du projet, un collègue m'a judicieusement fait remarquer que, comme nous disposions de la localisation des nouveautés (un code collection lié à un pôle thématique), il nous était facile de produire des sous-listes par pôle. Ce qui fut fait et qui, au passage, nous a permis de répondre positivement à une demande émise par des enseignants lors d'un récent conseil de la documentation !
    .
  3. La création de flux RSS

    C'est là que les choses ont commencé à se compliquer. Alors que tout était en place un vendredi cet été au moment où je suis parti en week-end pour créer les flux RSS la semaine suivante avec Ponyfish (les tests avaient été positifs), j'ai reçu le dimanche un message du créateur de ce service indiquant que, pour diverses raisons, il allait l'arrêter définitivement le 15 août !
    Il a donc fallu que je me mette en quête d'un service de remplacement (gratuit). Après quelques tatonnements, mon choix s'est porté sur Dapper, un service du groupe Yahoo! qui propose de créer, à partir d'une source d'information définie, des flux d'information ou gadgets sous différents formats, du XML à l'email, en passant par le Google Gadget ou le module Netvibes, en incluant le RSS.
    Le service est performant, avec des possibilités de paramétrer finement son flux en entrée et en sortie. Seul bémol : les serveurs de Dapper semblent parfois un peu lents à répondre ce qui rend impatients les agrégateurs qui peuvent indiquer une erreur de lecture de contenu.
    .
  4. La publication des nouveautés sur la page Facebook de la BU
     

    Le projet original s'arrêtait à l'étape 3 : produire des listes de nouveautés et y associer des flux RSS. Mais quelque chose me gênait : ces flux allaient être dormants pendant un mois entier avant d'être alimentés d'un seul coup de plusieurs dizaines de nouveautés. Pas gênant pour quelqu'un qui veut juste être informé de l'ensemble de la liste des nouveautés mais pénible si on voulait, comme on en a l'habitude, afficher un extrait du flux avec un gadget Javascript (3 à 5 éléments) sur notre blog, notre page Facebook ou le site du SCD.
    Je n'ai pas trouvé (ni cherché) de solution pour le blog et le site, mais pour la page Facebook je me suis souvenu d'avoir remarqué que l'application RSS Graffiti que nous utilisons pour diffuser automatiquement nos billets de blog sur Facebook comporte un onglet permettant de programmer la publication du flux (nombre d'infos publiées à la fois, délais, enchaînement des infos...).
    Je me suis donc lancé dans l'aventure et en fait c'est ce qui a pris le plus de temps dans tout le projet ! Car pour ce faire, RSS Graffiti m'a demandé une date de publication pour chaque élément du flux, ce que nous n'avions évidemment pas inclus. Retour au tableur, donc, puis à la page du blog (la date y est incluse mais en blanc sur fond blanc car elle n'est pas significative), puis à Dapper pour ajouter un champ date au flux RSS, etc.
    Et malheureusement il y a eu un grand nombre d'allers-retours car RSS Graffiti refusait de publier les infos ou en publiait une puis s'arrêtait (nous avons choisi un rythme de publication d'une nouveauté par jour sur la page Facebook). Au bout du compte, ce sont les messages d'erreur de RSS Graffiti qui nous ont fait comprendre qu'l suffisait de respecter la norme de présentation des dates (du style Wed, 02 Nov 2011 00:00:36 GMT) pour que ça fonctionne...
Il est clair que l'échafaudage que nous avons construit est complexe et fragile, mais au bout du compte nous avons réalisé nos objectifs. Désormais, au prix d'environ 2h de travail par mois (1h pour les extractions du SIGB et 1h pour la mise en ligne des informations), nous proposons à nos usagers des listes thématiques de nouveautés, avec des flux RSS associés, et nous enrichissons chaque jour notre page Facebook avec la mise en valeur d'une nouveauté (sans l'image de la couverture, malheureusement).

    3 commentaires:

    27point7 a dit…

    Enfin la recette...
    La magicienne a demandé une prime au moins ?

    Je n'avais pas connaissance de cette limite des 100 titres. C'est dommage. Pas moyen de contourner ça?
    Et en effet, le rss est super long. Je me souviens, quand j'ai dû le montrer à des étudiants en septembre, j'ai cru que le service était en panne...
    J'espère que ce n'est qu'un début et que vous finirez par trouver des solutions plus fluides...

    Petit détail : dans l'affichage, le ". Auteur" prend de la place pour rien. Si c'est supprimable ça serait un petit gain.

    Bon courage
    Mathieu - 27.7

    JC Brochard a dit…

    Mathieu,
    Primes ? Par chez nous, il y plus de magiciens et de lutins que de primes...
    Pour la limite des 100 titres, on n'a pas trop cherché à contourner (genre copier-coller en plusieurs fois). Les listes thématiques seront elles généralement complètes.
    Pour le ".Auteur", tu es bien placé pour savoir qu'il est dans la zone Auteur de la notice qui nous vient du SUDOC. On pourrait bidouiller éternellement dans le tableur pour enlever ça, mais ça suffit peut-être déjà comme ça, non ?

    27point7 a dit…

    Bon je t'avais fait une réponse, mais "Input error: Memcache value is null for FormRestoration". Grrr.

    En gros, je me demande si pour faire un flux rss plus rapide que dapper, vs ne pourriez pas essayer yahoo pipes ou tout simplement un google doc (apparemment, on peut générer un flux à partir d'un Gdoc public, mais j'ai jamais testé).

    A+
    Mathieu