Après un suspens insoutenable, voila enfin un premier billet !
Sans surprise pour ceux qui connaissent mes goûts de pervers, il sera à classer dans la rubrique « bidouillage »…
Tout d’abord, quelques mots sur le contexte : voila quelques semaines, j’ai installé sur mon poste un excellent script GreaseMonkey, qui permet d’améliorer le SUDOC, en identifiant d’un coup d’oeil la disponibilité d’un document dans un lot de bibliothèques données. Il s’agit de Sudoc plus, développé par Sylvain Machefert, alias Symac.
Depuis, j’essaie de tripatouiller divers sites et catalogues (amazon, BnF, SUDOC…) à l’aide de scripts GreaseMonkey. Jusqu’ici je n’étais pas très satisfait du résultat, car, mis à part le fait que je découvre à peine le javascript, je n’arrivais pas à accéder à certaines données, et sans accès, pas de tripatouillage…
Quelle ne fut pas ma joie en découvrant, presque par hasard, que les notices du catalogue de ma BU pouvaient être affichées en format MARC (en l’occurrence, MARC 21) en ajoutant un paramètre dans l’url!
(Pour les touristes égarés sur ce blog, les formats MARC (Machine Readable Cataloging) sont utilisés pour structurer les données dans la plupart des catalogues de bibliothèque.)
Rares sont les catalogues de BU ou de BM à offrir un affichage en format MARC, et c’est tout naturel : cela n’intéressera jamais l’usager de base, et s’il s’agit d’avoir des exemples de catalogage pour bachoter le concours de BAS, autant aller sur le catalogue de la BnF, qui propose des notices clean dans un affichage en InterMARC et en UNIMARC…
Donc, à priori, proposer l’affichage en MARC, ça ne sert à rien, c’est moche, c’est illisible pour le grand public. Mais certaines informations présentes dans la notice MARC sont invisibles en affichage public, et peuvent être utiles pour bidouiller la notice. Par exemple, la zone 001 contient le PPN, c’est à dire le n° qui identifie la notice dans le SUDOC, et peut donc être utilisée pour créer un lien direct vers le SUDOC. D’autres zones peuvent également permettre de manipuler plus facilement les mots auteurs et sujets.
Certaines bibliothèques proposent l’affichage MARC, malgré sa faible utilité pour le lecteur. C’est par exemple le cas du catalogue de la BU de Toulouse, basé sur le logiciel Horizon.
Examinons l’url d’une notice en affichage standard :
http://catalogue.univ-toulouse.fr/ipac20/ipac.jsp?session=1H7453427S2D6.4299&profile=sicd&source=~!biut&view=&uri=full=3100001~!1154850~!0&ri=1&aspect=subtab26&menu=search&ipp=20&spp=20&staffonly=&term=levi+strauss+eribon&index=.GK&uindex=&aspect=subtab26&menu=search&ri=1
et maintenant, la même, affichée en MARC :
http://catalogue.univ-toulouse.fr/ipac20/ipac.jsp?session=1H7453427S2D6.4299&profile=sicd&uri=full=3100001~!1154850~!0&fullmarc=true&aspect=subtab26&menu=search&source=~!biut&view=items&ri=2&staffonly=&term=levi+strauss+eribon&index=.GK&uindex=&aspect=subtab26&menu=search&ri=2
Pour ceux qui seraient largués, une page html peut « transmettre » des informations à une autre page en suivant deux méthodes : POST et GET. Il s’agit ici de la méthode GET : les variables sont passées dans l’url en suivant cette syntaxe : url?nom_de_la_variable1=valeur_de_la_variable1&nom_de_la_variable2=valeur_de_la_variable2, etc.
Dans notre exemple, la notice affichée en MARC se singularise par les variable suivante : fullmarc=true, ri=4 (au lieu de ri=5), et l’absence de ipp=20 et de spp=20.
« ipp » sert à déterminer le nombre d’exemplaires affichés par page. Je ne sais pas à quoi correspond la variable « ri », mais après quelques essais, elle semble varier de manière tout à fait indépendante de la nature de l’affichage. Idem pour spp. Reste donc la variable « fullmarc », dont le nom est déjà assez parlant pour qu’on s’y intéresse de plus près.
Maintenant, prenons un autre OPAC basé sur le même logiciel, comme le catalogue de Lille III par exemple. L’option « affichage MARC » n’y est nulle part proposée. Et pourtant…
En insérant le code « &fullmarc=true » dans l’url d’une notice ordinaire, on obtient une magnifique notice MARC :
http://hip.scd.univ-lille3.fr/ipac20/ipac.jsp?session=127453M75Q01T.13468&profile=webre&fullmarc=true&source=~!scdlille3&view=&uri=full=3100001~!637900~!0&ri=2&aspect=subtab48&menu=search&ipp=20&spp=20&staffonly=&term=levi+strauss+eribon&index=.GK&uindex=&aspect=subtab48&menu=search&ri=2
Autre exemple, avec le catalogue de l’Université Reims Champagne Ardenne. Voici d’abord la notice correspondant au même ouvrage, en mode « public » :
http://scdweb.univ-reims.fr/ipac20/ipac.jsp?session=127M534118O5C.428329&fullmarc=true&profile=scdldap&source=~!scdreims&view=&uri=full=3100001~!365181~!0&ri=1&aspect=basic_search&menu=search&ipp=20&spp=20&staffonly=&term=levi+strauss+eribon&index=.GK&uindex=&aspect=basic_search&menu=search&ri=1
De près et de loin [Texte imprimé] / Claude Lévi-Strauss, [entretien avec] Didier Eribon.
par Lévi-Strauss, Claude (1908-2009). Auteur, Eribon, Didier.
# Sujets Lévi-Strauss, Claude (1908-2009) -- Entretiens.
# Anthropologues -- Entretiens.
Editeur: Paris : O. Jacob, impr. 2008
Description: 1 vol. (254 p.) : couv. ill. en coul. ; 22 cm.
Collection: Bibliothèque, Bibliothèque (Paris. 2007)
Note bibliogr. : Notes bibliogr. p. [251]-252.
ISBN: 978-2-7381-2140-0 (br)
devient
http://scdweb.univ-reims.fr/ipac20/ipac.jsp?session=127M534118O5C.428329&fullmarc=true&profile=scdldap&source=~!scdreims&view=&uri=full=3100001~!365181~!0&ri=1&aspect=basic_search&menu=search&ipp=20&spp=20&staffonly=&term=levi+strauss+eribon&index=.GK&uindex=&aspect=basic_search&menu=search&ri=1
LDR: 01076cam 2200289 i 4500
001: PPN124098061
005: 20091105161155.000
008: 080521s2008 fr a frb 000 0dfre d
020: $a 978-2-7381-2140-0 (br) $c 21 EUR
024: 30 $a 9782738121400
040: $a ABES $b fre $e AFNOR
082: 0 $a 301.01 $2 22
082: 0 $a 306 $2 22
100: 1 $a Lévi-Strauss, Claude $d (1908-2009). $e Auteur
245: 10 $a De près et de loin $h [Texte imprimé] / $c Claude Lévi-Strauss, [entretien avec] Didier Eribon.
260: $a Paris : $b O. Jacob, $c impr. 2008 $e (77-Courty : $f Sagim-Canale)
300: $a 1 vol. (254 p.) : $b couv. ill. en coul. ; $c 22 cm.
490: 1 $a Bibliothèque,
504: $a Notes bibliogr. p. [251]-252.
600: 17 $a Lévi-Strauss, Claude $d (1908-2009) $x Entretiens. $2 ram
650: 7 $a Anthropologues $x Entretiens. $2 ram
700: 1 $a Eribon, Didier.
830: 0 $a Bibliothèque (Paris. 2007)
915: $5 514542102:348094302 $a DL08008514
917: $5 514542102:348094302 $a aaax
930: $5 514542102:348094302 $b 514542102 $a 300.92 LEV 2 DEP $j u
999: $5 514542102:348094302 $a BUOUV $b aVERT
Tout cela n’est qu’une première étape. Reste ensuite à voir comment manipuler ces données MARC, plus riches et plus structurées que les données publiques.
La suite au prochaine épisode…
Et une remarque supplémentaire sur la gestion de ces url, il est possible d’ajouter en fin d’adresse l’argument &GetXML=true pour récupérer la page en XML directement. On s’affranchit de l’aspect présentation et on peut donc traiter plus facilement le contenu. Il semble que l’option nécessite l’activation du web service HIP mais c’est présent sur pas mal de catalogues que j’ai pu tester.
Coool ! Merci pour le tuyau, ça marche sur l’OPAC du SCD de Reims en tout cas.
De toute façon, quand on se rend compte que les débuts des formats MARC datent des années 1960 (merci wikipedia…), faut pas s’attendre à des miracles…
Bien trouvé ! après il faudrait trouver le moyen d’afficher toutes les données Marc en un format lisible ;-)))
Père Duchesne
[…] chose encore, mais je note avec plaisir que son auteur, oeuvrant en bibliothèque universitaire, n’a pas peur du code et même y prend plaisir […]
[…] Ce billet était mentionné sur Twitter par Silvae, Bibliofrance.org. Bibliofrance.org a dit: RT @Silvae: tiens un nouveau biblioblogueur bidouilleur, un de tes potes @lully1804 ? 🙂 http://bit.ly/9fPQf2 […]