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

  • Bonjour

    Un plugin qui répond à mes attentes ;
    Est-ce possible de l’installer sur un site disposant d’un squelette entièrement créé de mes mains ? Donc sans passer par Zpip ?

    Merci

    Phil

    Répondre à ce message

  • 1

    Bonjour,
    Bravo pour ce plugin ! j’espère réussir à l’installer car il correspond exactement à ce dont j’ai besoin !

    J’installe les différents plugins et lorsque j’arrive au tour de spip-pmb le site me dit :

    Parse error : syntax error, unexpected ’’ in aborescence/plugins/spip-pmb/pmb_mes_fonctions.php on line 34

    J’espère que vous pourrez m’aider,
    D’avance merci !
    RL

    • Erwan Martin

      Etes-vous sous PHP4 ?
      Si oui, sachez que le plugin ne marche que sous PHP5, tout comme la dernière version de PMB.

    Répondre à ce message

  • 4

    Bonjour et bravo pour ce plugin !

    Je rencontre cependant encore quelques problèmes :

    • concernant l’identification :
      • lorsque l’on se connecte avec un compte SPIP c’est OK, mais lorsque l’on utilise un compte PMB, l’identification marche (avec insertion dans la table auteurs de SPIP) mais avec les erreurs CFG suivantes (version de CFG utilisée : v1.14.4 / version SPIP-PMB : v1.0.2) :
    Notice: Undefined offset: 1 in /var/www/spipspip/plugins/auto/cfg/inc/cfg_config.php on line 27
    
    Notice: Undefined index: cfg_id in /var/www/spipspip/plugins/auto/cfg/depots/metapack.php on line 45
    
    Notice: Undefined index: cfg_id in /var/www/spipspip/plugins/auto/cfg/depots/metapack.php on line 58

    idem lorsque l’on utilise un identifiant/mot de de passe fictif n’existant ni dans SPIP ni PMB

      • l’identification ne semble pas être conservée, une fois loggé, lors de la navigation dans le site - à chaque page le formulaire d’identification est réinitialisé ;
    • concernant la navigation dans le catalogue, mon SPIP-PMB s’emmêle les pinceaux pour trois sections (et ce malgré un bon fonctionnement sur l’OPAC même - les id correspondent) alors que pour les autres tout est OK.

    Merci !

    • Bonjour,
      j’ai testé avec sur windows (easyphp 5.2.10) et sur un autre poste linux (PHP 5.2.6) et toujours le même problème avec les authentifications (même erreurs cfg)... je piétine... si vous avez des suggestions
      Merci

    • Bonjour,

      vous pouvez désactiver l’affichage des « notices » php

      -  mettez également en commentaire la ligne 17 de /auth/pmb.php, c’est peut-être de là que vient l’affichage des notices :

      // error_reporting(E_ALL);

      concernant la navigation dans le catalogue et les pbs de sections, avez-vous un lien qu’on puisse regarder ?
      la localisation est-elle aussi passée en paramètre (id_location_memo) ?

    • Bonjour,
      en commentant la ligne 17, les erreurs cfg ne sont plus affichées. Qu’entendez-vous par « désactiver l’affichage des « notices » php » ?
      Il semble que l’authentification demeure lors de la navigation de page en page ; cependant, lorsque l’on clique sur « Accédez à votre compte » (lecteur PMB) d’autres erreurs apparaissent (mais les informations sur le compte (réservations, prêts en cours ou en retard sont ok) :

      Warning: Missing argument 3 for pmb_tester_session(), called in /var/www/spipspip/ecrire/public/composer.php(51) : eval()'d code on line 260 and defined in /var/www/spipspip/plugins/auto/spip-pmb/pmb_mes_fonctions.php on line 1052
      
      Warning: Missing argument 2 for pmb_reservations_extraire(), called in /var/www/spipspip/ecrire/public/composer.php(51) : eval()'d code on line 444 and defined in /var/www/spipspip/plugins/auto/spip-pmb/pmb_mes_fonctions.php on line 1015

      Concernant la navigation dans le catalogue, l’id_location_memo semble passée en paramètres (du moins dans l’adresse) - je vais essayer de mettre en ligne tout ceci dans la semaine pour que vous puissiez constater.

      Merci

    • Ci joint les adresses ou vous pourrez constater le problème avec la navigation dans les sections :
      OPAC
      Site SPIP/PMB
      Le problème concerne la section Documentaires dans la localisation CDI. Bibliothèque d’étude / la section Romans & Nouvelles dans la localisation CDI. Bibliothèque de lecture / la section Périodiques dans la localisation CDI. Bibliothèque de lecture. Dans l’OPAC, tout est ok.

    Répondre à ce message

  • 1

    Bonjour,

    Oui, si je laisse l’adresse par défaut, tout fonctionne. Je pense que le problème est au niveau du PMBSOAPAPI, quand je suis la procédure décrite, je n’obtient la meme page. Voici un lien vers ce que j’obtient : http://193.194.92.84/pmb/ws/connector_out.php?source_id=5&wsdl.

    Je vous remercie infiniment.

    Nina.

    • Vérifiez bien que cette étape du tutoriel a été faite :
      http://doc.sigb.net/doc_portail_spi...

      Autoriser la source SOAP pour l’utilisateur anonyme

      Cette étape est cruciale pour que le portail puisse utiliser les webservices.

      En Administration > Connecteurs > Autorisations, cliquez sur la ligne Groupe anonyme, puis dans le nouvel écran, cochez la source Portail SPIP-PMB pour l’autoriser.

      Cliquez ensuite sur Enregistrer.

    Répondre à ce message

  • 1

    Merci pour la rapidité de ta réponse,

    Justement j’ai suivi exactement la procédure décrite. J’ai donc bien autorisé la source soap. J’ai tout essayé, j’ai cherché sur les forums, je suis désespère.
    Dois-je réinstaller ? Reconfigurer ?

    Aidez-moi SVP.

    Merci.

    Répondre à ce message

  • 1

    Bonjour, je remercie vivement tous les développeurs de ce plugin. Un grand bravo à vous tous.

    Cependant je rencontre un problème avec le plugin. j’ai installé les plugins nécéssaires au fonctionnement de celui-ci, je les ai tous activés mais lorsque j’active spip_pmb, on me retourne les erreurs suivantes dans l’espace publique du site :

    Fatal error : Uncaught SoapFault exception : [Client] Function (« pmbesOPACGeneric_list_locations ») is not a valid method for this service in /var/www/portail/plugins/auto/spip-pmb/spip-pmb/pmb_mes_fonctions.php:85 Stack trace : #0 [internal function] : SoapClient->__call(’pmbesOPACGeneri...’, Array) #1 /var/www/portail/plugins/auto/spip-pmb/spip-pmb/pmb_mes_fonctions.php(85) : SoapClient->pmbesOPACGeneric_list_locations() #2 /var/www/portail/ecrire/public/composer.php(51) : eval()’d code(269) : pmb_liste_afficher_locations(’’) #3 /var/www/portail/ecrire/public/parametrer.php(103) : html_ab3cdc18f961682536a6eb3721034e1a(Array, Array) #4 /var/www/portail/ecrire/public/assembler.php(220) : public_parametrer_dist(’inclure/rubriqu...’, Array, ’5/inclure%2Frub...’, NULL) #5 /var/www/portail/ecrire/public/assembler.php(548) : inclure_page(’inclure/rubriqu...’, Array, NULL) #6 /var/www/portail/ecrire/inc/utils.php(1616) : evaluer_fond(’inclure/rubriqu...’, Array, NULL) #7 /var/www/portail/ecrire/public.php(17) : recuperer_fond(’inclure/navi in /var/www/portail/plugins/auto/spip-pmb/spip-pmb/pmb_mes_fonctions.php on line 85

    Je joins au message une capture d’écran de ce que j’obtient dans l’espace publique. Si quelqu’un pouvait m’aider.

    Je vous remercie d’avance.

    Nina.

    • Arnault Pachot

      Le pb a été abordé sur la liste pmb-user : je cite Florent de pmb :
      « Dans Administration > Connecteurs > Autorisations, allez dans le menu Autorisations, cliquez sur la ligne du groupe « Anonyme » et cochez la source soap pour l’autoriser. »

      Tenez moi au courant
      Arnault

    Répondre à ce message

  • 4

    Bonjour,

    Ayant vu que l’on pouvait activer spip-pmb pour spip 2, je teste actuellement spip_pmb, avec une verision spip 2.0.*

    J’ai installé bonux et cfg. Jusque la tout va bien. Seulement, il m’est impossible de syndiquer des flux de n’importe quel opac. (testé avec celui la par exemple : http://pmb.biblio.free.fr/opac_css/rss.php?id=14 )

    L’erreur :

    Attention : la syndication de ce site a rencontré un problème ; le système est donc temporairement interrompu. Vérifiez l’adresse du fichier de syndication de ce site (http://pmb.biblio.free.fr/opac_css/rss.php?id=14), et tentez une nouvelle récupération des informations.

    Et si je tente, erreur 302...

    je ne sais pas trop d’où ça vient.
    Et tant que j’y suis, c’est quoi le wsdl à renseigner dans le cfg de spip-pmb ???

    En tout cas, merci pour ce plug’ plus qu’intéressant...

    • Arnault Pachot

      Bonjour, la version pour spip 2.0 est en développement, il vaut mieux attendre qu’elle soit finalisée et documentée pour la tester (avant la fin de l’année si tout va bien :) ). Cette version nécessite en outre la nouvelle version en développement de PMB et n’utilise plus les flux RSS mais les webservices.

    • Ok, merci pour la réponse. J’attendrai comme il se doit.

      Néanmoins, si vous avez besoin d’aide pour des tests ou n’importe quoi, vous devriez pouvoir compter sur moi.

      à bientôt

    • bonjour
      je cherche un plugin ou une methode qui me permet d’ajouter des blocs à mon site en spip pour accèder à d’autres sites internet

    • Voici donc la refonte du plugin tant attendue !

      a+

    Répondre à ce message

  • 1

    Bonjour,
    très intéressée par le projet, j’aimerais savoir où en est l’avancement de la prochaine version en cours de développement. Est-elle prévue dans les prochains jours, prochains mois... ? C’est juste pour avoir une idée et savoir si je peux attendre la version en cours de développement ou si il vaut mieux utiliser la version stable téléchargeable à ce jour pour ensuite migrer le site.

    • Bonjour,

      La nouvelle version qui intègre les webservices pmb est une déclinaison générique du squelette risom.

      Nous intégrons en ce moment les webservices, une version « officielle » sera dispo avant la fin de l’année.

    Répondre à ce message

  • 1

    Salut,

    Tout d’abord un immense merci aux développeurs de ce plugin : quelle idée formidable !

    Ensuite, un problème : alors que le flux Rss est valide et contient les notices, la syndication du catalogue ne fonctionne pas ; ça donne cette erreur.

    Warning : preg_split() [function.preg-split] : Compilation failed : POSIX named classes are supported only within a class at offset 13 in /var/alternc/html/CheminDuRépertoire/plugins/auto/spip-pmb/inc/syndic.php on line 298

    Warning : preg_match_all() [function.preg-match-all] : Compilation failed : POSIX named classes are supported only within a class at offset 14 in /var/alternc/html/CheminDuRépertoire/plugins/auto/spip-pmb/inc/syndic.php on line 319

    HTTP 302

    J’ai vu que des erreurs similaires avaient conduit dans le passé à modifier le noyau de Spip.

    Quelqu’un a-t-il une idée ?

    Arnaud
    (Spip 2.0.9 [14398] - Spip-PMB 0.4 BETA SVN [28074])

    • Je me réponds :
      après une semaine pendant laquelle je n’ai touché à rien, la syndication fonctionne et les notices s’affichent correctement.

      Donc, pour ceux à qui arriverait cette même mésaventure, peut-être un conseil : attendre et voir.

      Amicalement.
      Arnaud

    Répondre à ce message

  • 1

    Bonjour,

    Où en êtes-vous dans le portage de PMB pour SPIP 2 ? Peut-on l’attendre à brève échéance ?

    Je suis très intéressé par ce projet — et plutôt impressionné par l’implémentation sur le site RISOM (les squelettes sont-ils disponibles ?).

    en vous remerciant,

    François

    • Le plugin est développé sur spip-zone (il faut un client SVN pour le récupérer), vous avez accès aux squelettes bien sûr, mais il manque pour l’instant le principal, à savoir l’intégration des webservices de pmb.

      Je pense qu’on aura une première version fonctionnelle cet été, qui inclura le squelette risom complet.

      Arnault

    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