[koha-Infos] Sources du client z3950
paul POULAIN
paul at koha-fr.org
Ven 14 Jan 11:02:02 CET 2005
guy.chovet at bnf.fr a écrit :
>Bonjour,
>
>
Bonjour,
>travaillant pour la BNF sur le frontal Z3950, je suis interressé pour mes
>tests par le client présent sur le projet Koha. Où pourrais-je trouver la
>liste minimale des sources nécessaires et le mode de génération du client ?
>Mon but est de l'enrichir afin qu'il puisse manipuler de l'INTERMARC,
>format utilisé ici.
>
>
Je suis tout d'abord intrigué par la question puisque pour moi, le
serveur de la BNF renvoie de l'UNIMARC, et pas de l'intermarc. Mais vous
allez bien avoir la gentillesse d'éclairer ma lanterne ;-)
Ensuite, j'ai une bonne nouvelle : il n'y a même pas besoin d'enrichir
Koha pour lui faire "causer intermac". En effet, Koha est multi-marc de
par sa conception même. Je m'explique en détail : toute la configuration
de Koha passe par des tables dans lesquelles on décrit la structure
MARC. On va dire qu'il y a un 200$a, que ce champ est géré, qu'il
correspond à "titre principal", qu'il est relié à une liste d'autorité,
qu'il est saisi de telle et telle manière... Enfin, on va aussi
expliquer à Koha que ce champ 200$a correspond à un "biblio.title". Ce
biblio.title est TRES (très très) important, puisque c'est lui qui
explique à Koha le SENS du champ 200$a. Sans ce lien, impossible de
savoir ce qu'est une "liste ordonnée par titre" ou une recherche sur les
mot-clefs (indexation matière)
Donc à priori, pour faire "causer Intermarc" à Koha il faut "simplement"
définir les tables de paramétrage. C'est un travail assez conséquent
(euphémisme...) quand même. Mais qui ne demande pas d'aller bidouiller
dans le code.
Actuellement, Koha fonctionne parfaitement en UNIMARC comme en MARC21.
Donc ca devrait fonctionner en Intermarc.
Maintenant, la réponse plus précise à votre question du client z3950
dans Koha.
Tout d'abord, il faut avoir installé les modules yaz (v2.0) et
Net::z3950 (module Perl). Mais c'est un pré-requis pour pouvoir
installer Koha.
ensuite, Allez dans le répertoire ou vous avez installé Koha (interface
bibliothécaire). Un truc comme /var/www/koha/intranet ou autre chose.
Vous avez 4 répertoires dont le répertoire /scripts/, allez dedans
Vous avez un répertoire nommé "z3950daemon" qui sert à activer le client
z3950. Pour pallier aux problèmes de performances des serveurs z3950,
Koha utilise en effet un "démon" (au sens UNIX), qui tourne en
permanence sur le serveur et surveille s'il a un serveur à interroger.
Le fichier z3950-daemon-options contient les paramètres kivonbien pour
que le démon fonctionne. Vérifiez les, mais le fichier est -normalement-
généré correctement à l'installation.
Lancez z3950-daemon-launch.sh, qui s'occupe de lancer le démon. Vous
pouvez le mettre dans les tâches à lancer à l'allumage du serveur.
Notez que je ne suis pas bien sûr du fonctionnement du démon sur un
serveur Windows.
Pour le reste, lorsque l'utilisateur est dans l'éditeur MARC, s'il
clique sur "z3950", il :
* ouvre la fenêtre des résultats.
* écrit dans la table z3950queue, qui contient toutes les requètes à
faire. Le démon est alors réveillé, et se charge d'interroger le(s)
serveur(s).
* Les résultats sont écrits dans la table z3950results et affichés dans
la fenêtre des résultats au fur et à mesure de leur arrivée. Notez que
le démon est asynchrone, c'est à dire qu'il interroge tous les serveurs
simultanément, et qu'il récupère les réponse au fur et à mesure de leur
arrivée.
Tout ceci est fait dans le fichier cgi-bin/z3950/search.pl (présentation
dans le template
htdocs/intranet-tmpl/default/en/z3950/searchresult.tmpl). Les accès à la
base de données sont dans le module Perl modules/C4/Z3950.pm
Notez que tous les chemins sont donnés pour une version publique. Pour
une version CVS (des développeurs), c'est un peu ailleurs.
Notez aussi que le serveur z3950 n'est PAS dans la release officielle
2.2.0 (trop peu testé. Mais il fonctionne en production à Nelsonville.
Nous l'incluerons lorsqu'il sera en production dans plusieurs autres
bibliothèques).
On le trouve sur le CVS dans le répertoire z3950/server (fichier
zed-koha-server.pl). Notez qu'il est MARC21-spécifique (la couche
d'abstraction MARC n'a pas été mise) et qu'il nécessite d'autres modules
Perl que ceux installés par défaut.
J'espère avoir répondu à vos questions, sinon, n'hésitez pas à demander
des compléments.
--
Paul POULAIN
Consultant indépendant en logiciels libres
responsable francophone de koha (SIGB libre http://www.koha-fr.org)
Plus d'informations sur la liste de diffusion Infos