Vous en avez rêvé, l’ABES ne l’a pas fait…

Le fonctionnement du Sudoc vient d’être amélioré il y a quelques jours. Pourtant, rien sur le site de l’ABES ni sur son blog

Etrange? Pas vraiment, car l’ABES n’y est pour rien!

Je m’arrache toujours les cheveux pour écrire 3 lignes de javascript qui se tiennent, mais le travail de S. Machefert (Symac) m’incite à la persévérance : en mettant à jour son script Sudoc Plus, il nous a rappelé que nous ne devons pas (seulement) poser des exigences aux fournisseurs de logiciels ou de services web, mais mobiliser notre énergie et nos compétences pour améliorer autant que faire ce peu les services existants.

Avant de détailler le fonctionnement de « Sudoc plus », je voudrais tout d’abord vous dire…

deux mots sur Greasemonkey

logo greasemonkey
Sudoc plus est un script Greasemonkey, c’est à dire un programme javascript qui vient modifier le comportement ou l’affichage d’une page html, du côté client (donc, sans modifier le fichier sur le serveur qui l’héberge).

Pour en profiter, il faut utiliser un navigateur moderne respectant les standards du web (comprenez : Firefox et rien d’autre), et installer le « Module complémentaire » Greasemonkey. Une fois installé, relancez Firefox pour l’activer.

Par la suite, vous pouvez, dans le menu Outils, activer ou désactiver Greasemonkey, et bien sur ajouter, supprimer et modifier des scripts.
Options de Greasemonkey

Cliquez sur « Nouveau script » pour faire un petit essai.

Dans la fenêtre qui apparait, entrez les valeurs suivantes dans les 4 premiers champs, et validez.

  1. poilauxfossettes
  2. http://www.vingtseptpointsept.fr
  3. poilauxfossettes
  4. http://www.vingtseptpointsept.fr/*

L’extension va vous demandez de choisir un éditeur de fichier texte (vous pouvez sélectionner notepad (logiquement, dans un répertoire C:/Windows/System32, mais je vous conseille d’installer l’éditeur gratuit et très performant notepad +), puis va ouvrir dans cet éditeur un fichier, dans lequel quelques lignes seront déjà remplies :

// ==UserScript==
// @name           poilauxfossettes
// @namespace      http://www.vingtseptpointsept.fr
// @description    poilauxfossettes
// @include        http://www.vingtseptpointsept.fr/*
// ==/UserScript==

Notre script a maintenant un nom, une description, un « espace de nom » (en gros, le site du créateur du script), et surtout un domaine d’application : toutes les pages (*) du domaine « http://www.vingtseptpointsept.fr ».
Maintenant, copiez-collez les 4 lignes suivantes à la suite de ce fichier :

var a_remplacer =  new RegExp ('vingt-?sept ?point ?sept', 'gi');
var remplacer_par = 'Vingt-sept point sept, poil aux fossettes !';
var doc = document.documentElement.innerHTML;
document.documentElement.innerHTML = doc.replace (a_remplacer, remplacer_par);

Enregistrez, et c’est bon, votre script est installé! (Pour info, chez moi, il est enregistré sous le nom « poilauxfossettes.user.js » dans un répertoire « C:\Users\NOMDUCOMPTE\AppData\Roaming\Mozilla\Firefox\Profiles\yc0za3j.default\gm_scripts\poilauxfossettes »)
Si vous n’avez pas de connaissances en javascript, sachez que ces 4 lignes de code vont créer trois variables, contenant

  • une chaîne de caractère à rechercher
  • une chaîne qui servira de remplacement
  • l’ensemble du contenu de la page html

La 4e ligne remplace effectivement dans toute la page la 1re chaîne par la 2de.

Maintenant, rechargez la page que vous êtes en train de lire (F5)… Si tout se passe bien, l’affichage de ce blog sera modifié d’une façon particulièrement subtile et spirituelle 😉

(Ajout le 28/05/2010 : Pour ceux qui ne voudraient pas perdre de temps, voilà à quoi ressemble la page modifiée par le script :

Comme les meilleures choses ont une fin, ce script peut être désactivé ou (hélas…) désinstallé, en allant dans le menu Outils > Greasemonkey > Gérer les scripts. Une fenêtre apparaît avec tous les scripts installés. Sélectionnez poilauxfossettes, et cliquez sur le bouton « désinstaller« . Un prochain F5 rendra à la page son aspect initial.

Mais, me direz-vous, que faire si le poil n’est pas dans la fossette, mais dans la main? Ou plus prosaïquement si vous n’avez ni les compétences ni le temps pour bidouiller vous même vos sites préférés?

C’est là qu’intervient la plateforme userscript, qui fera l’objet du prochain billet…

5 comments to Vous en avez rêvé, l’ABES ne l’a pas fait…

  • Bonjour,
    merci pour cette citation que je découvre à mon retour des journées Abes. Deux jours qui m’amènent à réagir sur le travail de l’abes par rapport au catalogue public.

    L’intégration des flux RSS, la mise en place de facettes … sont des choses qui devraient arriver au mois de juin. Ils semblent assez contraints par ce que leur permet l’outil mais l’équipe a l’air motivée pour l’intégration de nouveautés et l’évolution du catalogue.

    Donc affaire à suivre mais on peut imaginer une interface standard qui va s’améliorer, et des scripts annexes permettant d’ajouter des fonctionnalités pour des besoins moins standards ou plus gourmands en terme de ressources par exemple.

    • vingtseptpointsept

      Mais c’est moi qui vous remercie !
      J’étais l’an dernier aux Journées ABES (pas cette année), et ils avaient déjà annoncé des évolutions, qui ont visiblement tardé à se mettre en place… Notamment une version « locale » du SUDOC.
      Je pense que leur équipe est assez restreinte, et qu’ils doivent avoir une foultitude de chantiers prioritaires.
      Dans un prochain billet, je ferai un lien vers le document que vous avez déposé dans slideshare. J’espère bien convaincre mes collègues (et les étudiants, un jour, peut-être…) de l’intérêt d’un tel script.
      J’aurais une petite question concernant le nouveau sudocplus : la géolocalisation ne fonctionne pas pour certaines bu qui devraient être facilement identifiables. Par exemple : « BOULOGNE-BU Droit Lettres et NANCY-ENSMN / INPL ». Je n’ai pas regardé le détail du script qui localise les établissements, mais vu que les fiches de ces BU sont bien renseignées dans le sudoc (code postal…), ce dysfonctionnement m’étonne. Est-ce lié à des homonymies?

      • En fait le script utilise le service de google maps pour la localisation et l’adresse de la BU de Boulogne n’est pas reconnue : « Place Henri Heine BP 155 62202 Boulogne-sur-mer CEDEX ». Je n’ai pas regardé pour l’INPL mais j’imagine que c’est la même chose.
        C’est pour cela que j’ai ajouté une petite icône à la suite des bibliothèques non localisées qui permet de les localiser ‘à la main’.

  • vingtseptpointsept

    Correctif : apparemment, Google Chrome (que je n’ai pas installé sur mon pc…) supporte également Greasemonkey. Cf. ce lien

  • […] le billet précédent, j’ai présenté le fonctionnement de Greasemonkey. Mais l’utilité de ce genre […]

Leave a Reply

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

  

  

  

*