Import notices Z39.50

Bonjour à tous,

J'espère que ce post est au bon endroit car il concerne l'import de notice via des serveurs Z39.50.

Pour situer le problème, je dispose d'un PMB installé sur un hébergement mutualisé.

Il fonctionne bien sauf l'import de notices via des serveurs Z39.50 car les ports utilisés ne sont utilisés en sortant par l'hébergeur (et il ne veut pas les ouvrir pour des raisons de sécurité)

Les ports que je peux ouvrir en sortie sont : 22, 8888, 27017, 27018, 27019

J'ai tenté des annuaires des serveurs de ce type mais je ne trouve rien : soit ce ne sont pas les bons ports, soient ils ne semblent plus fonctionner.

Est-ce que vous connaissez une astuce ? (comme un outil pour faire du NAT qui redirigerait les connexions de mon PMB vers le bon port du serveur distant)

ou Est-ce que PMB propose autre chose pour les notices ?

Merci d'avance pour votre aide

Ludo




Réponses

  • Bonjour Ludo,

    Voir ce lien qui parle de mise en liste blanche de l'ip du serveur chez ovh :
    Ca pourrait peut-être être une solution.

    Sinon avec PMB vous avez aussi le protocole SRU, voir cette discussion:


  • décembre 2025 modifié
     Bonjour,

    Merci pour ces informations.

    Malheureusement, les ports habituels pour les serveurs Z39.50 sont bloqués par l'hébergeur (même cas de figure que le 1er lien. L'hébergeur n'ouvrira pas les ports donc je cherchais des serveurs qui travaillent sur les ports autorisés par l'hébergeur.

    Pour le SRU, je suis en train de tester (cela ma été également conseillé par le service technique de la BnF mais le souci est que je ne sais comment on peut utiliser simplement les sources SRU pour créer une notice.


    Quelle est la procédure pour créer une notice facilement par exemple via l'ISBN en récupérant les infos depuis les serveurs SRU ?

    Merci

  • PS : j'ai pensé au récolteur mais la doc est très succincte à ce sujet :


  • Bonjour Ludo2223,

    Voici une autre discussion qui offre à votre hébergeur la possibilité de vous aider avec une extension php : Yazproxy.

    Sinon pour le SRU, comme je l'ai expliqué a Léa dans le lien plus haut, je n'utilise pas ce protocole, donc je ne peux que vous donner peu d'éléments.

    Mais je viens pour voir de faire un essai sur une démo PMB 80117 en localhost, avec un réglage selon l'exemple de la doc Pmb (Bibliothèque du Congrès), qui m'a permis d'ajouter une notice à partir de son isbn.
    J'ai du faire une recherche externe simple (en sélectionnant ma source SRU uniquement) et en ajoutant l'isbn sans les tirets dans un filtre (non pas par ISBN qui ne marche pas), mais par "Tous les champs".
    ( Catalogue >Recherche > Externe)
    Alors le résultat de la recherche m'a bien affiché la notice avec l'isbn. 
    Il m'a suffi de la cocher et de cliquer sur le bouton au-dessus "Intégrer toutes les notices cochées"
    La notice a alors été ajoutée au catalogue.

    C'est un test élémentaire qui marche. Il y a sans doute des usages plus fins à découvrir.





  • Bonjour,

    Merci, j'avais vu YazProxy mais du coup je pense qu'il va falloir l'installer ailleurs, le faire travailler sur un port entrant autorisé car logiquement si l'hébergeur interdit un port en sortie, il le fera aussi pour Yaz.

    Je suis en PMB 7 et directement dans Catalogue -> Recherche, je n'ai pas "Externe".
    Je n'ai "Externe" que dans Catalogue -> Externe -> Z39.50 ou Connecteurs

    -> j'ai suivi la doc donc j'avais mis le lien

    J'avais l'impression que les sources SRU pouvaient servir à agrémenter une notice mais pas à en créer une directement.

    On peut passer sereinement en version 8 ? car on me l'avait déconseillée il y a quelques mois.

    En tout cas, si je peux reproduire votre test, ce sera une avancée significative.

    Merci d'avance





  • Bonjour Ludo,

    C'est moi qui n'était pas clair. Je voulais dire Catalogue >Recherche , et sur cette page il y a un onglet "Externe" en haut à droite.

    J'ai joint une copie d'écran pmb746 pour clarifier.

    Pour pmb8 : ça marche, la version 8.0.22 est la mieux débuggée et peut-encore accepter php 7.4 . 
    Quentin (PMB Services) a prévenu que pmb8.1 requiert php 8 (<8.4).



  • Bonjour,

    Merci pour votre réponse.

    Je n'ai pas l'onglet 'externe'.

    Par contre, je n'ai pas le même thème mais ce serait problématique que le thème fasse disparaitre des options.



    Sinon, je tente une montée en version sur celle que vous me conseillez.
  • Bonjour Ludo,

    Une explication plus simple serait que votre paramètre  allow_external_search (celui des paramètres généraux)
    ne soit pas à 1 .
    Avant de faire une mise à jour, mieux vaut le vérifier.

    Sinon, une autre version 8.0.23 est sortie, avec de nouvelles corrections.

  • décembre 2025 modifié
    Bonjour,

    Merci pour votre aide.

    C'était bien cela.

    Par contre, je ne l'avais pas activé car ce n'est pas précisé dans cette doc :


    Maintenant il bloque car il n'arrive pas à utiliser les sources mais au moins je peux tester (j'ai mis SUDOC et Google Books)

    Edit : quelle doc avez-vous suivie pour ajouter les sources ?

    en serveur SRU, j'ai tenté :

    - http://lx2.loc.gov:210/LCDB (exemple de la doc)

    J'avoue que par rapport aux documentations qui indiquer comment former les URL de recherche, je ne sais pas trop ce qu'attend PMB et ce qu'il va ajouter à l'url que je donne donc je ne sais pas trop si je dois configurer : http://catalogue.bnf.fr/api/SRU ou http://catalogue.bnf.fr/api/SRU?version=1.2&operation=searchRetrieve&query=

    ce qui me gène, c'est que je n'ai pas trouvé de doc avec un exemple complet qui fonctionne pour pouvoir adapter par la suite

    (même avec le serveur SRU de l'exemple de la doc, l'outil des sources externes indique 0 notices sous le nom de la source)

    Egalement pour ma recherche de test, j'ai tenté directement l'url dans mon navigateur avec les bons paramètres et le serveur me trouve bien le livre via l'isbn que j'avais préparé.

    merci






  • décembre 2025 modifié
    Ok Ludo,

    C'est quand-même un progrès.

    > Quel doc avez-vous suivi pour ajouter les sources ?
    La seule documentation que je connais sur ce sujet est celle en ligne de Pmb.
    ...
    Je n'ajouterais pas trop de sources tout de suite, surtout celles avec z39, qui ne marchent pas, dites-vous, avec votre hébergeur.

    >(même avec le serveur SRU de l'exemple de la doc, l'outil des sources externes indique 0 notice sous le nom de la source) 
    Oui, tant que vous n'avez pas reussi de recherche avec le connecteur. 
    ...

    J'essaierais plutôt d'abord de reproduire les exemples suivants avec le SRU de la doc. (vérifiez que les champs sont bien remplis, sans espace devant ou après,...)

    Voici ci-joints deux essais de base faits aujourd'hui : l'isbn mais mis dans "Tous les champs" *)
    2 exemples :
    9781600212529 => Hugo, auteur Hugo
    9780761129639 => Shakespeare, auteur Craughwell

    Si cela ne marche pas, mettre display_errors à 1 (paramètres généraux) pourrait vous éclairer.


    *) Je n'ai pas pu faire fonctionner ce connecteur ailleurs que pour "Tous les champs". 
    De plus, si on veut un titre avec deux mots ou plus il ne marche pas, avec un seul mot ça passe, mais ce n'est pas top)

    Vous devriez pouvoir reproduire, et ajouter ces 2 notices pour tester (puis les supprimer) au catalogue. 
    Après un succès de base, vous pouvez avancer en testant avec les SRU Sudoc et Bnf, peut-être plus élaborés.




  • Merci

    Je vais faire votre test.

    La doc que j'ai trouvée :


    merci

    ludo

  • J'ai fait un test avec les sources SRU et tenter de mettre Sudoc

    et aussi avec une source de type Sudoc et il ne trouve pas l'isbn

    Je ne trouve pas comment PMB attend que l'on saisisse les url des serveurs SRU, par exemple j'ai mis :


    Voici quelques captures de la config (désolé pour le nombre, j'ai tenté d'illustrer les différentes parties de la config)





    merci d'avance pour votre aide.

    ludo
  • Bonjour Ludo,

    Mais et votre essai avec le sru de la doc ?
    Si ça ne marche pas déjà là avec votre version pmb, pas besoin de tester plus loin à mon avis.

    Sinon, pour le Sudoc : comme vous accédez à la configuration, c'est que votre url est bien la bonne.

    Maintenant, le schéma que vous avez sur votre copie d'écran (Dublin Core dc) est il le bon? 
    Pour le Sudoc, il faudrait a priori plutôt un des picas ?
    Mais, après , quel filtre de style choisir ?
    Et est-ce que ça marche ou c'est encore en chantier ?

    Finalement, il serait peut-être plus simple de changer d'hébergeur pour avoir du z3950.

  • Bonjour,

    Merci pour votre aide.

    Je rencontre à chaque fois un souci différent mais sans message d'erreur clair donc difficile pour moi d'avance.

    Je suis en train de tenter de changer d'hébergeur et là la je rencontre un souci de mot de passe incorrect. La fonction php qui encode / décode les mdp n'est pas faite pour migrer d'un hébergeur à l'autre ?

    Je fais souvent ce type de changement sur des outils comme wordpress etc.. et je n'ai pas ce type de problème.

    Quel test puis-je faire pour tester le correspondance méthode utilisée par l'hébergeur / méthode attendue par PMB ?

    Merci

    Bonne fin de semaine

    Ludovic
  • Bonjour Ludo,

    Cela ressemble à un problème de version de serveur SQL .
    Voir le message fait ici à Peter, cela pourrait vous aider : https://pmb.community/forum/discussion/1205/probleme-de-connection-admin

  • Bonjour Michel,

    Merci, je pense en effet que je suis dans ce cas car je suis sur une version inférieure à 7.5.3.

    Vous m'aviez parlé de 8.0.1.22 qui était stable, je vais donc tenter de la mise à jour.

    Ludovic

  • Mise à jour effectuée et effectivement le problème de connexion est bien résolu.

    Par contre, j'ai eu les "warning" disant qu'un script php fait appel à des class non déclarées comme vu ici :


    J'ai commenté le fichier mais, quelle est l'explication de cette erreur ?

    -> comme à priori la version 8 que j'ai installée est stable

    Merci


  • Bonjour Ludo,

    Un "warning" sans ennuis associés n'est pas un problème.
    Il suffit de mettre le display_errors à 0 , ce qui est la norme en production, et il ne sera plus affiché.

    Maintenant, pour la cause, ce n'est pas clair sans y regarder de plus près. Mais si vous n'avez pas fait une installation vierge (par exemple en chargeant la nouvelle version sur l'ancienne, ce qui est normal pour garder les fichiers personnalisés), il arrive que de vieux fichiers de l'ancienne version perturbent le composer. Mais c'est juste une hypothèse.


  • Bonjour Michel,

    Merci pour votre aide.

    Le warning ne semble pas grave et effectivement c'est une MAJ 7 -> 8

    Par contre, est-ce que vous savez dans quel fichier php je peux intervenir pour débugger ma connexion aux serveurs Z39.50 ?

    Mon hébergeur m'a dit qu'il a ouvert les ports et pour autant je ne me connecte pas.

    Vous savez si le Z39.50 est bien du TCP ? (d'après unbe RFC, il semble que oui mais on se retrouve bloqués quand même)

    Merci

    Ludovic


  • Bonjour Ludo,

    Oui c'est sur TCP/IP.

    Il faut d'abord être certain que l'extension yaz de votre php est bien sélectionnée
    Il faut aller sous
    Outils d'administration > Maintenance MySQL et puis cliquez sur le lien "Informations Php".

    (VotrePmb/admin.php?categ=misc&sub=mysql&info=phpinfo)

    Vous devriez y trouver yaz ( voir un exemple ci-joint, pour une version 7)
    Sinon il faut sélectionner yaz dans les extensions php.

    La config des sites est sous Z39.50 > Gestion des serveurs Z39.50 Serveurs.

    Pour débugger, voir si il y a des erreurs quand vous tentez une recherche Z3950 avec display_errors a 1. Si rien, le mieux est de rechercher les erreurs yaz dans le fichier des erreurs php phperrors.log. Si vous n'y accédez pas, voyez avec votre hébergeur.

  • Bonjour Michel,

    Merci pour ces informations. Désolé, j'avais compris que Yaz était nécessaire si on voulait faire un proxy pour les serveurs Z39.50 mais pas si on avait juste besoin d'en interroger.

    Cela semble fonctionnel.

    Il me reste le message :

    Une erreur a été détectée lors de l'étape de mise à jour n° 31.

    que me fait office message de bienvenue quand je me connecte.

    Je suis un peu surpris car en regardant les changelog, la version 8 que j'ai est supérieure à celle qui résolvait ce problème.

    En tout cas, merci pour votre aide, cette migration de PMB est bien avancé.

    Ludovic




  • Bonjour Ludo,

    C'est une bonne nouvelle.

    Oui, c'est un problème normalement résolu en 8.0.1.13, donc ça reste étonnant. Encore un problème de fichiers anciens ?
    Je ferais une installation vierge (pas une mise à jour) en 8.0.1.26 (la dernière), pour maximiser les chances d'avoir une installation stable. 
  • Bonjour Michel,

    Merci pour votre retour.

    Je refais une installation vierge et je charge la sauvegarde à la fin c'est bien cela ?

    ou je réinjecte la base sur la nouvelle installation directement (et il la mettra à jour comme si c'était une maj classique) ?

    Merci
  • Bonjour Ludo,

    L'important c'est d'être certain de ne pas avoir de fichiers anciens, donc ne pas réécraser sur l'arborescence actuelle..

    (D'abord, une sauvegarde par phpmyadmin est à faire de la base par précaution systématique).

    Puis, par exemple:
    Il faut renommer le répertoire votrepmb actuel en votrepmb_old ,
    Alors, créer un nouveau répertoire  votrepmb (vide donc), et y mettre la nouvelle distribution pmb 8.0.1.26
    Y copier les : votrepmb_old/includes/db_param.inc.php et votrepmb_old/opac_css/opac_db_param.inc.php dans les répertoires correspondants sous le nouveau votrepmb , où ils n'existent pas.

    (De même si vous avez fait des fichiers de substitutions du xml, mais  ça vous pouvez le faire après)

    Alors vous lancez l'installation https...votrepmb/tables/install.php 

    Vous aurez finalement la mise à jour pour votre bdd actuelle, puis à la connexion la mise à jour secondaire en espérant que l'étape 31 ne posera plus de problème.


Connectez-vous ou Inscrivez-vous pour répondre.