Bibliothèques et centres de documentation

Portail Web pour PMB

Ce portail web pour PMB contient un squelette prêt à l’emploi compatible avec les thèmes ZPIP. L’interface avec le catalogue pmb s’effectue par les webservices pmb disponibles à partir de la version 3.3.

PMB est un Sigb (Système Intégré de Gestion de Bibliothèque) libre.

SIGB : Un système intégré de gestion de bibliothèque est un progiciel destiné à la gestion informatique des différentes tâches d’une bibliothèque.

Ce plugin propose une interface robuste [1]entre SPIP et PMB, ce qui offre une solution complète et libre pour les bibliothèques et centres de documentation qui souhaitent se doter d’un portail web.

Fonctionnalités

-  Fusion complète des comptes de lecteurs PMB et des utilisateurs SPIP [2]
-  Navigation dans le catalogue : notices, auteurs, éditeurs, collections, ... Plusieurs localisations possibles
-  Mise en avant des dernières acquisitions (affichage du contenu des bannettes pmb)
-  Recherche avancée de notices
-  Dernières notices consultées
-  Accès au compte de lecteur : réservations en cours, prêts en cours, prêts en retard
-  Disponibilité des exemplaires
-  Documents numériques attachés
-  Suggestions de notices empruntées également par d’autres lecteurs
-  Reservation en ligne

Le projet Risom : ce projet pilote SPIP-PMB, est un exemple d’intégration réussie du plugin dans un portail web : Animations, Expositions, écoute des conférences en streaming, découvrir le site

Installation

Une documentation vous propose un tutoriel détaillé pour installer le portail SPIP-PMB en une heure

Installez les plugins suivants :
(tous ces pugins sont installables automatiquement si vous créez préalablement un répertoire ’auto’ avec droits en écriture dans /plugins)
-  cfg
-  spip-bonux
-  menus
-  zpip
-  spip-pmb : Portail Web pour PMB

Ensuite, choisissez un thème pour zpip de votre choix (plugins dont le nom est préfixé par ’theme_’).

Rendez vous dans Configuration->CFG puis SPIP-PMB et renseignez les bonnes valeurs pour Adresse et wsdl, voir la documentation de PMB 3.3 pour l’activation des connecteurs sortants.

Paramétrez le menu principal avec le plugin Menus. Vous pouvez ajouter un lien vers le catalogue (?page=catalogue) ou vers les nouveautés (?page=nouveautes).

Créez ensuite un « site référencé » dans SPIP, dont le flux RSS est celui de la bannette [3] des actualités que vous souhaitez afficher en page d’accueil. Exemple de flux : http://tence.bibli.fr/opac/rss.php?id=10

Attention par défaut dans SPIP la gestion des sites référencés n’est pas activée, il faut l’activer dans Configuration->Référencement de sites et syndication->Gérer un annuaire de sites Web

Par défaut les lecteurs PMB seront importés dans SPIP avec le statut « visiteur », vous pouvez modifier le statut attribué par défaut, par exemple pour créer des « rédacteurs » en modifiant le fichier pmb_mes_options.php

Affichage d’une notice

Un nouveau modèle spip, le modèle <notice>

Pour lier du contenu SPIP (Article, rubrique, mot clef,...) à une notice, vous pouvez coller, dans les textes, le code <noticeXXX> où XXX correspond à l’id de la notice.

Par exemple, vous rédigez la critique d’un ouvrage (article SPIP) et vous souhaitez insérer en dessous les informations sur l’ouvrage issues de PMB, la balise s’utilise ainsi :

-  <noticeXXX> affiche les informations (auteur, éditeur, nombre de pages, ...), la disponibilité, les documents numériques attachés, les emprunts des autres lecteurs, le lien pour réserver l’ouvrage
-  <noticeXXX|afficher_logo=oui> : affiche également la couverture
-  <noticeXXX|afficher_logo=oui> : affiche également le résumé
-  <noticeXXX|afficher_info=non> : n’affiche pas les informations (auteur, éditeur, nombre de pages, ...)
-  <noticeXXX|afficher_info=non> : n’affiche pas les informations (auteur, éditeur, nombre de pages, ...)
-  <noticeXXX|afficher_docnum=non> : n’affiche pas les documents numériques attachés
-  <noticeXXX|afficher_dispo=non> : n’affiche pas la disponibilité
-  <noticeXXX|afficher_autres=non> : n’affiche pas les emprunts des autres lecteurs
-  <noticeXXX|afficher_toolbox=non> : n’affiche pas le lien pour la réservation

Tous les paramètres peuvent bien sûr être combinés.

Exemple : http://portailweb.sigb.net/critique...

Annexe : configuration

La configuration CFG du plugin mentionne que l’on peut interroger PMB avec 2 API (SOAP & JSON-RPC) mais la documentation ne mentionne que l’exploitation avec SOAP, alors que la seconde est plus rapide et préférable : effectivement, elle ne nécessite pas de librairie PHP particulière (le fichier gérant json-rpc est directement inclus dans le plugin).

Pour activer JSON RPC, il faut suivre la procédure indiquée là : http://doc.sigb.net/doc_portail_spi... à quelques détails près :

Vous n’avez pas besoin des librairies PHP en théorie

Dans « Paramétrer PMB » > Créer une source SOAP, il faut évidemment créer une JSON-RPC, mais également activer tout le contenu du groupe « pmbes_Search » (en fait, je vous conseille de tout activer dans « fonctions de l’API exportées », même pour SOAP !)

Dans SPIP, il faudra copier l’url du connecteur JSON-RPC dans le formulaire CFG sur la ligne correspondante.

Notes

[1basée sur l’implémentation des webservices PMB disponibles à partir de la version 3.3 de PMB

[2Les lecteurs sont donc identifiés à la fois dans spip (pour proposer un article si statut de rédacteur, pour bénéficier des fonctions SPIP d’accès restreint à certaines rubriques, identification automatique aux forums..etc..) et dans PMB (accès au compte de lecteur, réservation d’ouvrages …)

[3Les bannettes doivent être créées préalablement dans PMB

Discussion

73 discussions

  • 1

    J’utilise SPIP-Pmb pour afficher une bibliographie sur mon site en lien avec ma bibliothèque sous PMB. C’est très pratique. Mais a priori, d’après mes tests, le passage sous SPIP 2.0 nécessite un portage du plugin. C’est dans les tuyaux ?
    Merci d’avance.

    Répondre à ce message

  • 2

    Je fais un test en local avec pmb et SPIP 1.9.2a sur le même serveur. Je n’ai aucun article syndiqué alors que le flux RSS généré par PMB me semble valide. Message d’erreur obtenu après appui sur le bouton "mettre à jour maintenant" :

    « Warning : strpos() : Empty delimiter. in c :\program files\easyphp1-8\www\spip\plugins\spip-pmb\inc\syndic.php on line 542

    HTTP 302
    Si votre navigateur n’est pas redirigé, cliquez ici pour continuer. »

    Une idée ?
    Merci.

    • bonjour,

      Pouvez-vous tester cette version du plugin ?

      Si celà ne fonctionne pas, pouvez-vous m’envoyer par mail votre flux rss issus de pmb ?

      merci pour votre collaboration,

      Arnault

    • ça marche ! Il ne me reste plus qu’à tester les boucles. Merci bien.

    Répondre à ce message

  • 5

    Je n’arrive pas à faire un lien vers la référence dans l’opac CSS depuis ma boucle spip.

    Par exemple, quand je clique sur le titre du livre sur mon site, j’arrive alors dans la bibliotheque, qui pointe sur la page avec toutes les références de ce livre en question

    Est ce possible ?

    Merci

    Répondre à ce message

  • 6

    C’est le message que j’obtiens systématiquement avec la version 1.9.2a de SPIP. Avec la version 1.9.2, ça marchait... Régression ?

    Bonne chance.

    • Autant pour moi.... le problème n’existe qu’avec la 1.9.2a, avec la 1.9.2b ça marche.

      Milles excuses.

    • J’ai crié victoire un peu trop tôt... Quand la base SPIP et la base PMB sont sur deux serveurs différents la syndication fonctionne, quand elles sont sur le même serveur, ça ne marche pas. Etrange, non ?

    • J’ai le même pb. Est-ce que la solution a été trouvée ?

      Merci.

    • Le problème vient du fait que mon hébergeur (PHPNET) n’accepte pas pour des raisons de sécurité un lien RSS entre deux bases MySQl installées sur le même serveur. Donc la solution a été de déplacer l’une des deux bases chez un autre hébergeur...

    • Bonjour

      Je souhaite installé PMB en lien avec un site SPIP 192b

      Si les bases MySQL sont chez le même hébergeur mais sur deux serveurs différents, pensez vous que cela va marcher ?

      Avant de tenter l’aventure, merci de me renseigner !

      Au plaisir de vous lire

    • Il faut voir avec votre hébergeur : ce n’est pas une contrainte technique, c’est un choix de sécurité...

    Répondre à ce message

  • Yes !

    Moi Spipeuse, ma soeur PMBiste : voilà de quoi renforcer nos liens ! Merci pour ce plugin

    Répondre à ce message

  • 3

    Je profite de cet été pourri pour tester le plugin et j’ai quelques questions :

    1) comment trier dans le flux, les articles correspondant à une notice type livre de celles correspondant à une notice type périodique ?

    2) en utilisant certaines balises on récupère des infos « parasites ». exemple, avec #PMB_AUTEURS s’affiche aussi la avleur de l’attribut fonction (auteur, relieur....) ; de même #PMB_EDITEUR pour un périodique affichera un disgracieux < - - texte imprimé] ; suivi du numéro du périodique.

    Merci d’avance.

    • J’ai l’impression que le flux généré pour un périodique n’est pas bien géré en raison de caractères type virgule ou deux points. Par exemple :

      Egypte : Tiyi, reine et déesse in Archéologia (394, Novembre - 2002)< - - Tiyi

      Egypte, la technique des prêtres embaumeurs in Archéologia (436, Septembre - 2006)< - - la technique des prêtres embaumeurs [texte imprimé]

    • Arnault

      salut,

      Les problèmes de découpage sont liés à la structure trop « souple » du flux rss généré par pmb. En principe le format devrait évoluer dans une prochaine version de PMB vers un format plus structuré et j’adapterai alors le plugin en conséquence.

      Je suis surpris sur le pb de syndication sur même serveur. As-tu un lien que je regarde ?

    • Envoies moi un mail et par retour je te donne un accès au fil RSS et à l’espace privé.

      A+

    Répondre à ce message

  • Je ne sais pas trop ou mettre ce lien qui pourrait être intéressant, alors il abouti ici histoire de ne pas le perdre, même si cela n’a pas de rapport direct avec PMP du moins c’est le même contexte d’usage.

    Répondre à ce message

  • 3
    dominique thébault

    Bonjour à tous,

    Utilisateur professionnel de pmb je suis très intéressé par cette contribution complémentaire. Toutefois au cours de l’installation j’obtients ce message :

    Erreur d’analyse XML : instruction de traitement XML pas au début d’une entité externe
    Emplacement : http://xxx.x.x.x/mabase/spip.php?page=backend
    Numéro de ligne 2, Colonne 1 :

    <?xml version="1.0" encoding="utf-8"?>

    peut-on me guider plus avant ?

    • bonjour,

      Je fais suite à notre contact téléphonique :

      Il ne s’agit pas d’un problème lié à l’activation du plugin, mais un soucis avec le fichier backend.html sous spip 1.9.2.

      Pour résoudre ce problème, il faut modifier le fichier backend.html et mettre les deux lignes :

      [(#HTTP_HEADER{Content-type: text/xml[; charset=(#CHARSET)]})]

      et <?xml version="1.0"[ encoding="(#CHARSET)"]?> sur la même ligne.

      a+
      Arnault

    • titchagui

      J’ai le même problème et votre astuce ne marche pas du tout (j’y avais pensé aussi). Je suppose qu’un autre fichier doit foutre le bordel...
      En local ça marche mais pas sur mon serveur (pourtant ça a déjà marché sur mon serveur online). Les fichiers backend sont strictement identiques. Je viens de les mettre à jour en SPIP 1.9.2 (j’étais précédemment en 1.9.1) et toujours le même souci. Pour la mise à jour j’ai copié tous les fichiers sur le FTP donc les fichiers livrés par SPIP sont les mêmes sur mon serveur online et en local.
      Peut-être un problème de choix d’encodage ou un truc dans le genre ? mais ce qui me surprend c’est que ça a déjà marché avant...

    • Bonjour,

      Je pense avoir corrigé le problème. Sur le site de test, le fonctionnement est correct comme vous pouvez le voir ici.

      J’ai mis à jour le zip du plugin pour la 1.9.2.

      Tenez-moi au courant, et donnez-nous l’adresse de votre site une fois qu’il sera en fonctionnement

      Arnault

    Répondre à ce message

  • 1

    Bravo pour votre démarche.
    Je me pose toutefois la question de savoir pourquoi utiliser le fil rss de PMB.
    Il est possible depuis la version 1.9 d’effectuer des boucles spip sur des tables de PMB.
    Merci d’avance pour votre réponse.
    Bernard Strainchamps
    Ex Bibliothécaire

    • Merci pour votre message.

      Dans un premier temps nous avons décidé d’utiliser les flux RSS pour bénéficier des nombreuses fonctionnalités offertes à la fois par PMB (selection des ouvrages à envoyer, basée sur des équations permettant toutes les combinaisons, même les plus complexes, et paramétrables pour chaque flux) et offertes par SPIP (interface d’administration permettant la gestion des echecs de connexion et la suppression manuelle de certains ouvrages dans le flux).

      De plus, à mon avis, passer par un format standard d’échange tel que les flux rss a deux autres avantages :

      -  pas de problème de compatibilité si la structure des bases de PMB change,
      -  pas besoin de gérer les accès sécurisés aux bases

      Toutefois, pour la suite du développement, nous devrions intégrer (en plus) l’utilisation des tables externes comme vous le suggérez, ceci afin d’étendre notamment la recherche d’ouvrages à l’ensemble du catalogue.

      Arnault.

    Répondre à ce message

  • 3
    Wilfried

    Bonjour à tous,

    Nouvel utilisateur de SPIP (test), j’ai souhaité tester PMB pour la refonte d’un catalogue d’environ 1100 ouvrages. Pour l’install de PMB, aucun soucis, bravo pour cet outil très complet.

    En revanche, lorsque j’active le plugin dans SPIP 1.9.2a, je me retrouve avec un problème dans l’espace admin privé, dans la page A suivre : affichage très lent puis disparition des rubriques à l’affichage. Je pense qu’il s’agit évidemment d’une erreur de ma part. Pourriez-vous me dire d’où cela peut-il provenir ?

    Merci

    @+

    Wilfried

    • bonjour,

      C’est un problème lié à la version de SPIP que vous utilisez.

      Actuellement le plugin n’est compatible qu’avec la version précédente de SPIP, la version 1.9.1. Le portage en 1.9.2 sera réalisé prochaiement.

      a+
      Arnault

    • J’ai généré une nouvelle archive du plugin, compatible avec la version 1.9.2a de spip que vous utilisez.

      Tenez moi au courant

      Arnault

    • Wilfried

      Chapeau bas pour la réactivité. Je vais de suite voir...
      Wilfried

    Répondre à ce message

Ajouter un commentaire

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

Merci d’avance pour les personnes qui vous aideront !

Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.

Qui êtes-vous ?
[Se connecter]

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom