[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