Adapter le script Appel du livre – BSB à une autre bibliothèque

Suite à de nombreuses demandes (bon, en fait, une seule, mais réitérée), voici la marche à suivre pour adapter le script d’amélioration du site de l’Appel du livre à une autre bibliothèque. Évidemment, cette adaptation n’a de sens que si la nouvelle bibliothèque participe au Sudoc – si ça n’est pas le cas, il faudra réécrire entièrement les fonctions de recherche sur le catalogue, ce qui peut s’avérer compliqué. En outre, adapter ce script à un autre site que celui de l’Appel du livre nécessite de le réécrire quasiment entièrement, et donc de nombreux tests et une certaine habitude de javascript. Cela dit, si l’on se contente de changer la bibliothèque de référence, les modifications sont relativement simples, et expliquées pas à pas.

Prérequis (sans droits d’administrateur)1

Le script fonctionne avec l’extension Greasemonkey pour Firefox – vous devez donc l’avoir installée (installer une extension Firefox sous Windows ne nécessite pas d’avoir des droits d’administrateur sur l’ordinateur). Et naviguer avec Firefox2.

Pour éditer le script, il vous faudra un éditeur de texte efficace : Notepad++ est parfaitement approprié, et en téléchargeant le paquetage zip, vous n’aurez pas à l’installer sur l’ordinateur – donc pas besoin de droits d’administrateur3.

Enfin, il vous faudra le script original : un clic droit sur ce lien, puis enregistrer sous. Renommez le fichier dès l’enregistrement, sous la forme nom_du_nouveau_script.user.js (c’est important).

Modification des métadonnées du script

Une fois le fichier ouvert avec Notepad++, il faut commencer par modifier ses métadonnées : le nouveau script ne sera plus le même que celui dont il est adapté. Les métadonnées (succinctes) d’un script pour Greasemonkey sont dans le bloc au tout début de script. Il vous faudra changer :

  • Le nom du script : paramètre @name, ligne 2. Nommez-le comme vous le souhaitez.
  • Son identifiant : paramètre @namespace, ligne 3. Moi j’ai mis un identifiant unique, mettez ce que vous voulez (mais quelque chose).
  • Sa description : paramètre @description, ligne 4. C’est libre, n’hésitez pas à remplacer la référence à Sainte-Barbe par le nom de votre bibliothèque.
  • Son URL de mise à jour : paramètre @updateURL, ligne 7. Le mieux, tant que votre script n’est pas publié en ligne, c’est de supprimer purement et simplement le contenu de la ligne4.

Vous pouvez également, si vous le souhaitez, modifier la licence pour qu’elle corresponde à celle de votre nouveau script. Vous noterez que le script original est sous licence Creative Commons – attribution : votre script devra donc préciser qu’il en est une adaptation (dans sa description, par exemple).

Pour finir, juste après le bloc de métadonnées, un commentaire fait référence à Sainte-Barbe (ligne 12) : vous pouvez le modifier pour le rapporter à votre bibliothèque.

Changement des logos

Les logos faisant référence à la bibliothèque sont inclus dans le script, et sont au nombre de deux :

  •   (45px * 20px) : présent dans le Sudoc et à Sainte-Barbe.

 

  •   (45px * 20px) : présent dans le Sudoc, absent à Sainte-Barbe.

 

Enregistrez ces images, et remplacez sur chacune le logo de Sainte-Barbe en grisé barré et en clair par celui de votre choix avec votre éditeur d’image préféré (ou avec Paint). Attention, veillez à conserver les dimensions des nouveaux logos.

Une fois les logos enregistrés, convertissez-les en données, par exemple sur le site dataURL.net. Vous obtiendrez pour chaque image une (très longue) suite de caractères commençant par « data:image ».

Sur votre script, remplacez :

  • Ligne 20 : la très longue suite de caractères entre guillemets simples par la vôtre pour un document présent dans le Sudoc et dans votre bibliothèque.
  • Ligne 21 : la très longue suite de caractères entre guillemets simples par la vôtre pour un document présent dans le Sudoc mais absent dans votre bibliothèque.

Attention, pensez à conserver l’expression entre guillemets simples !

Modification de la fonction multiwhere

C’est la fonction qui vérifie la présence du document dans la bibliothèque, via le webservice proposé par l’Abes. Vous aurez besoin du numéro RCR de votre bibliothèque.

  • Ligne 52 : remplacez 751052144 (n° RCR de la bibliothèque Sainte-Barbe) par votre n° RCR.

Si vous souhaitez étendre la recherche à plusieurs bibliothèques, la manœuvre est un peu plus complexe :

  • Ligne 52 : remplacez response.responseText.match(/751052144/i) par autant de response.responseText.match(/votre n° RCR/i) que nécessaire, séparés par || (ça veut dire « ou » en javascript)5. Cependant, le script ne permettra pas d’identifier laquelle des bibliothèques possède le document.

La recherche porte maintenant sur votre bibliothèque. Reste à modifier l’affichage des résultats :

  • Ligne 66 : remplacez Sainte-Barbe par le nom de votre bibliothèque.
  • Ligne 84 : remplacez Sainte-Barbe par le nom de votre bibliothèque.

Si le document est présent dans la bibliothèque, la notice du livre comportera un lien vers le catalogue local. Il vous faudra savoir comment se construit l’URL d’une recherche dans ce catalogue. Trois possibilités :

  •  Si votre catalogue permet une recherche par PPN : ligne 88, remplacez http://saone.univ-paris3.fr/primo_library/libweb/action/search.do?vl(282131580UI0)=any&fn=search&vid=BSB&vl(freeText0)=PPN par votre URL de recherche par PPN6 (conservez les guillemets simples !).
  • Si votre catalogue ne permet pas de recherche par PPN, mais permet une recherche par ISBN/EAN : ligne 88, remplacez http://saone.univ-paris3.fr/primo_library/libweb/action/search.do?vl(282131580UI0)=any&fn=search&vid=BSB&vl(freeText0)=PPN par votre URL de recherche par EAN (conservez les guillemets simples !), et ppn par ean (sans guillemets !).
  • Si votre catalogue ne permet pas de recherche par URL, ou que vous ne savez vraiment pas comment la trouver : ligne 88, remplacez  http://saone.univ-paris3.fr/primo_library/libweb/action/search.do?vl(282131580UI0)=any&fn=search&vid=BSB&vl(freeText0)=PPN par http://www.sudoc.fr/ (conservez les guillemets simples !). Le lien ne pointera pas vers votre catalogue, mais vers la notice du livre dans le Sudoc.

Modification de l’adresse de livraison

Si l’Appel du livre est votre libraire, il vous faudra modifier le pré-remplissage de l’adresse de livraison :

  • Lignes 424 à 428 : remplacez les informations de livraison de la bibliothèque Sainte-Barbe par celles de votre bibliothèque (conservez les guillemets simples !).

Si vous n’êtes pas clients de ce libraire, inutile de modifier cette fonction : vous n’accéderez pas à cette page.

Enregistrement et installation du script

Enregistrez le script (attention, son nouveau nom doit se terminer par .user.js pour être reconnu par GreaseMonkey). Si vous aviez installé le script original pour en tester les fonctionnalités, il vous faut le désinstaller de Firefox :

  • Outils > Greasemonkey > Gérer les scripts utilisateur : supprimez le script ADL BSB.

Après vous être assuré que Greasemonkey est bien activé (le singe ébouriffé doit être en couleurs7), vous n’avez qu’à faire glisser votre nouveau script dans une fenêtre Firefox pour l’installer. Libre à vous ensuite de partager votre script, et de le déposer sur le site userscripts.org.

Plus d’informations

 

  1. Vous l’avez dérangé tous les mois l’année dernière pour mettre à jour Firefox et Adobe Flash Player, il ne prend plus vos appels. []
  2. Si Firefox n’est pas installé sur votre poste, vous pouvez installer le navigateur Google Chrome, puis l’extension Tampermonkey. Il n’est pas nécessaire d’avoir des droits d’administrateur pour installer Google Chrome. []
  3. Une fois le dossier décompressé, le programme se lance par l’icône Notepad++.exe présente dans le dossier. []
  4. Sans supprimer la ligne vide : la numérotation reste donc inchangée pour la suite de la procédure. []
  5. AltGr+6. 2 fois. []
  6. Si c’est le cas, le [+] avant le nom de votre bibliothèque dans l’onglet « Où trouver ce document » d’une notice du Sudoc est bleu. Pour trouver l’URL de recherche, copiez l’adresse du lien « Disponibilité », et retirez-en le PPN (uniquement les chiffres). []
  7. Si décidément une recherche approfondie ne vous permet pas de trouver ce singe ébouriffé sur aucune barre d’outil de Firefox, alors que vous avez bien installé Greasemonkey, allez chercher l’icône dans Affichage > barres d’outils > personnaliser pour la faire glisser à l’emplacement de votre choix. []

2 réflexions sur « Adapter le script Appel du livre – BSB à une autre bibliothèque »

  1. Merci pour ce tuto, ça fonctionne très bien.
    J’ai juste mis un peu de temps à comprendre qu’il fallait supprimer la mention PPN ou EAN à la fin de l’URL de recherche.

    1. De rien !
      Effectivement, ça n’est pas toujours simple de formuler intelligiblement des procédures techniques. À plus forte raison quand les variables portent des noms explicites, qui viennent se mélanger avec leur description – il y a des interférences entre code et langage naturel. Bref, c’est gentil d’avoir compris malgré les pièges, parce ça n’était pas facile à expliquer.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.