Aller au contenu principal

Export Unimarc XML avec Zotero

18/02/2010

Je continue dans ma prospection pour prolonger l’interfaçage entre Zotero et les SIGB, pour en faire un outil plus adapté à certains besoins des bibliothécaires, et notamment à ceux des acquéreurs.

Zotero n’est pas fait pour ça, et cela relève du bricolage et du bidouillage. Mais comme vous en êtes désormais convaincu, si Zotero est un bon logiciel il sera correctement bidouillable 🙂

Bref, actuellement Zotero permet d’exporter par défaut en BibteX, Wikipedia Citation Style, RIS, RDF.

J’ai créé un fichier (rudimentaire) permettant d’exporter en Unimarc XML.

L’objectif : pouvoir gérer sa liste (ou une partie de sa liste) d’acquisitions dans Zotero, pour exporter les notices en Unimarc pour les réimporter dans son SIGB. Les SIGB sont prévus pour avaler du Marc, mais ne comprennent pas le BibTeX, ni le RIS, etc.

Récupération et installation du fichier d’export

Récupérer le fichier d’export Unimarc XML

Dans un premier temps, enregistrez ce fichier quelque part sur votre PC.

Ensuite :

  1. Ouvrez Zotero, et allez dans les Préférences
    Copie d'écran Accès aux préférences de Zotero
  2. Dans l’onglet Avancées, cliquez sur le bouton « Afficher le répertoire contenant les données »
    Copie d'écran
  3. Cela ouvre une fenêtre de navigation Windows : le répertoire qui contient les paramètres de votre profil Zoter
  4. Coller le fichier UnimarcXML.js dans le répertoire translators
    Copie d'écran
  5. Relancez Firefox
  6. Désormais, si vous sélectionnez une ou plusieurs références, le clic droit de souris vous permet d’exporter des notices…
  7. …au format Unimarc
  8. Ce qui produit un fichier XML sur votre poste.

A parte – Petite explication technique Zotero : des translators et des styles

Dans la configuration de Zotero, il y a deux types de fichiers pour gérer l’entrée ou la sortie de données bibliographiques :

  1. un répertoire « styles » contient tous les styles bibliographiques. Lorsque vous récupérez un nouveau style, c’est dans ce répertoire que Zotero va stocker le nouveau fichier (un fichier en extension .csl).
  2. un répertoire « translators » contient les fichiers permettant à Zotero de reconnaître les métadonnées présentes dans de nombreuses bases et catalogues. Il contient aussi les quelques fichiers d’export (tous sons en extension .js)

Quand vous sélectionnez plusieurs références dans Zotero, le clic droit permet de « créer une bibliographie », ou « exporter les éléments sélectionnés ».

La liste des formats d’export s’appuie sur un certain nombre de fichiers du répertoire « translators ».

Quelles informations sont exportées par ce translator ?

  • Un label avec beaucoup de positions laissées vides, et la mention am (monographie) par principe (pas de récupération du « vrai » type de document : ce translator étant censé servir pour les acquisitions, ce sont généralement des livres qu’on achète…)
  • L’ISBN : 010$a
  • Le prix (dans Zotero, c’est le champ Résumé que j’ai considéré pouvoir permettre d’indiquer le prix) : 010$d
  • L’EAN : l’ISBN est recollé en 073$a (sans les éventuels tirets, et uniquement si c’est un ISBN 13)
  • Le titre : 200$a
  • L’indication de numéro de volume : 200$h
  • La mention d’édition : 205$a
  • La mention d’éditeur :
    • 210$a : le lieu
    • 210$b 210$c : l’éditeur
    • 210$d : la date de publication
  • Le nombre total de pages : 215$a
  • Les tags (ou marqueurs) : chacun dans un 606$a
  • L’URL : en 856$u
  • L’auteur : 700$a (nom) et 700$b (prénom), avec un $4 ayant la valeur 070 (code de responsabilité signifiant « Auteur »)
  • La cote : en 300$a (champ de note) et en 900$a (mode de catalogage Sudoc)
  • Les notes Zotero : chacune en 303$a

Et je crois que c’est à peu prés tout.

Exemple

Cette notice Zotero

devient


<?xml version="1.0"?>
<collection xsi:schemaLocation="http://www.loc.gov/MARC21/slim http://www.loc.gov/standards/marcxml/schema/MARC21slim.xsd" xmlns="http://www.loc.gov/MARC21/slim" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<record>
<leader>-----nam--22--------450-</leader>
<datafield tag="010" ind1=" " ind2=" ">
<subfield code="a">213054780X</subfield>
<subfield code="d">17 €</subfield>
</datafield>
<datafield tag="073" ind1=" " ind2="0">
<subfield code="a">213054780Xlt;/subfield>
</datafield>
<datafield tag="200" ind1="1" ind2=" ">
<subfield code="a">Linguistique</subfield>
<subfield code="h">t. 4</subfield>
</datafield>
<datafield tag="205" ind1=" " ind2=" ">
<subfield code="a">1re éd. Quadrige</subfield>
</datafield>
<datafield tag="210" ind1=" " ind2=" ">
<subfield code="a">Paris</subfield>
<subfield code="b">Presses Universitaires de France - PUF</subfield>
<subfield code="d">2005</subfield>
</datafield>
<datafield tag="215" ind1=" " ind2=" ">
<subfield code="a">42 p.</subfield>
</datafield>
<datafield tag="700" ind1="1" ind2=" ">
<subfield code="a">Soutet</subfield>
<subfield code="b">Olivier</subfield>
<subfield code="4">070</subfield>
</datafield>
</record>
</collection>

Si vous voulez ajuster ce fichier aux besoins de votre bibliothèque

J’ai paramétré ce module d’export pour un contexte universitaire.

Mais ces champs Marc pourraient, complètement ou en partie, ne pas vous convenir. Par exemple si votre SIGB ne permet d’importer que du MARC21.

Dans ce cas-là, les valeurs à récupérer sont les mêmes, seuls les numéros des champs et sous-champs sont à changer.

Je ne vais pas forcément vous expliquer en longueur la structure du fichier : après tout, moi-même je n’ai fait qu’adapter le fichier d’export en format MODS.

Donc deux types de modifications :

1. changer le nom du format d’export

Si vous voulez faire du Marc21 au lieu de l’Unimarc, il est inutile de conserver en format d’export « Unimarc XML ».

Commencez, en dupliquant le fichier, par donner à celui-ci un nom différent 🙂

Ensuite, ouvrez le fichier avec un éditeur de texte simple (plutôt Wordpad que le bloc-notes : il y a des problèmes de sauts de ligne).

Les 3 premières lignes du fichier sont :

"translatorID":"0e2235e7b-babf-413c-9acf-f27cce5f055d",
"translatorType":3,
"label":"MarcXML Unimarc",

1ère ligne : identifiant unique du translator. si vous changez un caractère au hasard, ça suffira.

2e ligne : le type de translator 3 signifie : sert à exporter des données.

3e ligne : le label est le libellé qui s’affiche quand on choisit d’exporter des références. Mettez « XML Marc21 » ou « MarcXML – ma BM »

2. Modifier un champ Marc destinataire

Chaque attribution de champ sur le modèle suivant :

Pour  que le nombre total de pages aille en 215$a
if(item.numPages) {
mods.numPages = <datafield tag="215" ind1=" " ind2=" ">
<subfield code="a">{item.numPages}</subfield>
</datafield>;
}

Si le translator rencontre dans un item une valeur numPages, il génère une balise <datafield> avec un attribut tag = 215. De cette balise dépend une balise <subfield> avec un attribut code=a, ce qui permet de désigner le sous-champ a où ira la valeur numPages.

  1. Si dans les conversions XML vous constatez que vous voulez mettre les notes non pas en 300 mais en 303,
    1. ouvrez le fichier
    2. cherchez 300 pour retrouver la commande qui place les notes dans ce champ
    3. Remplacez 300 par 303
    4. Enregistre et relancez Firefox
  2. Si vous ne voulez pas récupérer les notes du tout, cherchez 300 et supprimez tout le paragraphe concerné (de « if » à l’accolade « </datafield>; »}

Limites

Ce translator est bourré d’imperfections, j’en ai pleinement conscience. C’est d’ailleurs pour cela que je le publie ici : pour que vous puissiez suggérer des améliorations.

Je prévois de faire le même, mais permettant d’exporter en iso2709, car je soupçonne que de nombreux SIGB préfèrent avaler ce genre de format que du XML. Mais l’export XML étant plus facile à  générer, j’ai préféré commencer par là. En attendant, vous pouvez convertir en iso2709 le fichier UnimarcXML avec MarcEdit.

Procédure envisagée pour Aleph

Dans Aleph, dans le module Catalogue, le menu du 1er onglet permet d’importer un fichier local de notices iso2709. Celles produites en UnimarcXML puis converties par MarcEdit passent très bien. Mais elles sont ensuite noyées dans la base bibliographique.

  1. Avant d’exporter les notices, leur attribuer un tag commun (exemple : initiales acquéreur et date) [Rappel : créer le tag pour une notice, puis sélectionner en colonne centrale toutes les notices à exporter et faites les glisser avec la souris vers lee tag dans la colonne de gauche]
  2. exporter
  3. convertir en iso2709
  4. importer les notices en module catalogage
  5. en recherche pro, chercher dans les mots sujet le tag utilisé
  6. sauvegarder le résultats dans un fichier
  7. passer en module Acquisitions > Services > Autre> Créer des notices ADM et des lignes de commandes
  8. indiquer en entrée le nom du fichier de l’étape 6

A noter par exemple que pour une telle procédure, vous préférerez peut-être que les tags soient exportés ailleurs qu’en 606 : dans un champ 9XX pour lequel vous aurez créé un index spécifique, par exemple. De l’intérêt de savoir modifier le translator 😉

J’en suis encore au stade de la découverte d’Aleph. Donc si vous voyez des procédures plus simples, n’hésitez pas à les suggérer !

tero : des translators et des styles

Dans la configuration de Zotero, il y a deux types de fichiers pour gérer l’entrée ou la sortie de données bibliographiques :

  1. un répertoire « styles » contient tous les styles bibliographiques. Lorsque vous récupérez un nouveau style, c’est dans ce répertoire que Zotero va stocker le nouveau fichier (un fichier en extension .csl).
  2. un répertoire « translators » contient les fichiers permettant à Zotero de reconnaître les métadonnées présentes dans de nombreuses bases et catalogues. Il contient aussi les quelques fichiers d’export (tous sons en extension .js)

Quand vous sélectionnez plusieurs références dans Zotero, le clic droit permet de « créer une bibliographie », ou « exporter les éléments sélectionnés ».

La liste des formats d’export s’appuie sur un certain nombre de fichiers du répertoire « translators ».

18 commentaires
  1. Stéphanie permalink
    18/02/2010 09:41

    c’est pas le $c l’éditeur, en 210 ? est-ce que les tirets de l’ISBN disparaissent bien quand tu l’envoies dans la zone de l’EAN ?
    Il me semblait aussi que dans nos notices issues du Sudoc, la cote était en 686. Mais je peux me tromper, je ne suis pas experte.
    (oui, je suis pénible, je sais 🙂 )

  2. 18/02/2010 09:52

    @Stéphanie : je suis nul en Unimarc.
    De l’intérêt des relectures par d’autres.
    Pour l’ISBN-EAN : il faut donc que pour renseigner le 073 (EAN) :
    1. je teste si l’ISBN a plus de 10 caractères
    2. je supprime les tirets éventuels.
    C’est ça ?

    Sur l’éditeur, tu as raison. Je note donc : à mettre en $c l’éditeur.

    Sur la cote en 686 : non, ça c’est l’index de la cote, pas la cote elle-même (je crois).
    En fait je l’ai mise en 930$a parce que c’est là qu’elle est dans l’export Sudoc (si j’ai bien compris les explications qu’on m’a données).

  3. 18/02/2010 14:09

    Pour l’EAN : oui, je pense que c’est ce qu’il faudrait faire.

  4. 18/02/2010 14:47

    @Stéphanie : perdu !
    Je m’en suis rendu compte en essayant de prendre en compte la suggestion :
    en fait il faut d’abord enlever les tirets de l’ISBN, pour voir si le résultat fait plus de 10 caractères (auquel cas on le récupère comme EAN).
    Petite subtilité : car si on teste d’abord la longueur de l’ISBN, la présence de tirets dans un ISBN 10 peut faire croire que l’ISBN est aussi l’EAN
    (on a les exaltations qu’on peut…)

  5. 21/02/2010 18:27

    @Stéphanie : Avec l’aide de Symac, les demandes sont exaucées 🙂

  6. 21/09/2010 17:47

    le lien ‘Récupérer le fichier d’export Unimarc XML’ ne fonctionne plus. Est-ce que vous pourriez m’indiquer un autre site où le récupérer svp ?

  7. 21/09/2010 19:53

    @JC : Merci de m’avoir fait découvrir qu’OVH m’avait coupé l’accès à l’intégralité des fichiers que j’y avais déposé (dont tous les fichier XSL des différents billets…).
    En attendant d’avoir des explications de leur part, vous pouvez récupérer ledit fichier à cette adresse (en espérant que ce soit la même version du translator… J’espère n’y avoir pas trop touché depuis).

  8. Laura permalink
    28/03/2011 12:33

    J’ai un problème, et je n’arrive pas à voir ce qu’il faut faire pour le régler. Je débute sur zotero, j’ai firefox4. J’ai bien copier le fichier d’export et coller dans « translators », redémarrer firefox.

    Effectivement je peux maintenant exporter le document sélectionné au format unimarc xml, seulement, après avoir sélectionné le dossier de destination, j’ai le message d’erreur suivant qui apparait : « Une erreur s’est produite lors de la tentative d’exportation du fichier sélectionné. »
    Et rien ne s’enregistre…

    Que faut-il faire ?

  9. 28/03/2011 13:15

    @Laura : Merci de me l’avoir signalé.
    Le bug est corrigé, il faut recharger le fichier pour le mettre dans le même répertoire (et relancer Firefox).

  10. Naima permalink
    11/10/2011 16:32

    Bonjour,

    J’ai suivi toute la procédure mais je ne vois toujours pas apparaître Marc-XML Unimarc dans la liste des formats d’export !!! Je suis sous firefox 3.0.19

  11. 11/10/2011 18:21

    Euh… Commencez par mettre à jour Firefox ? j’en suis pour ma part à Firefox 7.
    Fort de cette mise à jour, on pourra reprendre ensemble la procédure pour voir si elle pose problème.
    Je vous propose d’aller voir dans le répertoire suivant si vous y retrouver le fichier UnimarcXML.js :
    C:\Documents and Settings\::nom_du_compte_windows::\Application Data\Mozilla\Firefox\Profiles\strong>::profil::\zotero\translators
    (en gras, les noms des répertoires à adapter)

  12. Sylvain Machefert (Symac) permalink
    11/10/2011 20:08

    Une autre solution pour trouver le répertoire zotero, aller dans les préférences de Zotero, onglet avancées et cliquer sur le bouton « Afficher le répertoire contenant les données ».

  13. Naima permalink
    14/10/2011 11:15

    Bonjour,

    J’ai mis à jour Firefox, zotero et autre modules complémentaires…ça ne marche toujours pas 😦 J’ai bien le fichier UnimarcXML dans le répertoire translors de zotero !!

    Une solution ?

    Merci.

Trackbacks

  1. Export Unimarc XML avec Zotero. http://b… « InfoDoc MicroVeille
  2. Zotero : du plugin au logiciel « Bibliothèques [reloaded]
  3. Moccam et Zotero « Bibliothèques [reloaded]
  4. Christian Courtois (ccourtois_cd90) | Pearltrees
  5. Export Zotero en UnimarcXML : Mise à jour | Bibliothèques [reloaded]

Commentaires fermés