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,

    Savez-vous quand le plugin sera compatible avec SPIP 3.0 ?

    Merci d’avance

    Répondre à ce message

  • Emilie

    Bonjour,
    Je souhaite installer le plugin SPIP. J’en suis à l’étape du paramétrage de PMB et des connecteurs sortants mais je ne peux pas « ajouter une source » : je n’ai pas de formulaire qui s’affiche et je ne comprends pas pourquoi. Je peux juste mettre ou non « le cache wsdl ». Je suis un tutoriel d’installation de la version 3.3 de PMB mais j’ai installé la version 3.5.
    Quelqu’un sait-il comment ajouter une source aux connecteurs sortants pour la version 3.5 ?
    Merci d’avance
    Emilie

    Répondre à ce message

  • Nicolas

    J’ai une autre question, moins idiote je crois : comment afficher les catégories dans le détail d’une notice ?
    J’ai vu des #ENVlook_CATEGORY dans < inc-recherche-catalogue >, mais ça ne m’avance pas beaucoup.
    J’ai tenté d’insérer des < [(#ENVnotice|pmb_notice_champ’categorie’)] > dans les squelettes finissant par < notice-display.html >, sans résultats.
    Une piste ?

    Répondre à ce message

  • 1
    Nicolas

    Bonjour,

    Ce plugin est magique, côté Spip-PMB, tout fonctionne parfaitement.
    Cependant, ayant fait des modifications dans PMB sur une notice, je ne retrouve pas les corrections dans Spip. J’ai bien tenté de vider le cache, mais sans résultat.
    Avez-vous une idée pour mettre à jour l’affichage dans Spip ?

    Amicalement. Arnaud

    • Nicolas

      Je me réponds :
      Question idiote : mise à jour après la diffusion de la bannette automatique...

    Répondre à ce message

  • je n’arrive pas à afficher les photos lecteurs sur PMB
    je crois que j’ai un problème avec getimage

    http://localhost/pmb/getimage.php?url_image=http%3A%2F%2F127.0.0.1%2Fphotos%2Fnum_carte.jpg

    Répondre à ce message

  • Bonjour,
    voici mon souci : j’ai bien un flux RSS issu de PMB (http://www.chevreulblancarde.com/pmb/opac_css/rss.php?id=1) mais il ne s’affiche pas sur la page Nouveautés du SPIP (http://www.chevreulblancarde.com/spip_cdi/spip.php?page=nouveautes). Qu’est-ce que j’ai raté ? Merci de votre aide...

    Répondre à ce message

  • Jean-Victor Marie

    Serait-il possible d’avoir une version du plugin compatible avec les derniers spip et pmb ?
    Ou alors de mettre tout ça à jour à l’occasion de la sortie de PMB 3.5 d’ici mars ?
    Merci !

    Répondre à ce message

  • 1

    Quelques retour de la découverte du plugin :

    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_spip_pmb/co/01_besoin.html à 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.

    Voilà :)

    Répondre à ce message

  • 4
    La Chourmette

    Bonjour à tous,

    J’aimerais installer cette solution SPIP + PMB. Cependant, je ne sais pas si je dois l’installer sur un serveur dédié ou si un serveur mutualisé est suffisant (avec plusieurs bases de données ?).

    En effet, dans ce document très bien fait qui explique l’installation, il est indiqué :

    Vous devez disposer des extensions PHP suivantes :
    PHP socket
    PHP SOAP
    PHP Xsl

    Je suis perdue à ce niveau... Ces extensions sont-elles disponibles sur un serveur dédié (chez OVH) ? Merci d’avance pour votre aide.

    • La Chourmette

      Bonjour,
      Quelques questions...
      Le plugin est-il compatible avec spip 2.1.10 ou dois-je l’installer sur une version 2.0 ? Merci de me donner une réponse si possible. Je l’ai déjà installé sur une version 2.1.10 avec plein d’erreurs, je recommence en me disant que j’ai peut-être mal fais certaines choses, mais j’aimerais être sure de partir sur de bonnes bases.
      Merci d’avance !

    • La Chourmette

      Pour info, voilà les erreurs.

      problème de cookie
      Pour vous identifier de façon sûre sur ce site, vous devez accepter les cookies.
Veuillez régler votre navigateur pour qu’il les accepte (au moins pour ce site).

      Notice : Undefined offset : 0 in /homez.457/archivest/www/portail/ecrire/auth/sha256.inc.php on line 213

      Notice : Undefined index : message_ok in /homez.457/archivest/www/portail/plugins/spip-pmb/formulaires/login.php on line 230

      Notice : Undefined index : filtre_compacte_head in /homez.457/archivest/www/portail/ecrire/inc/filtres.php on line 43

      Notice : Undefined index : filtre_compacte_head_dist in /homez.457/archivest/www/portail/ecrire/inc/filtres.php on line 43

      Notice : Undefined index : compacte_head in /homez.457/archivest/www/portail/ecrire/inc/filtres.php on line 43

      Notice : Undefined index : id_menu in /homez.457/archivest/www/portail/ecrire/public/composer.php(49) : eval()’d code on line 123

      Notice : Undefined index : id_menu in /homez.457/archivest/www/portail/ecrire/public/composer.php(49) : eval()’d code on line 139

      Notice : Use of undefined constant env - assumed ’env’ in /homez.457/archivest/www/portail/ecrire/public/composer.php(49) : eval()’d code on line 88

      Notice : Undefined index : obligatoire in /homez.457/archivest/www/portail/plugins/menus/inc/menus.php on line 103

      Notice : Undefined index : obligatoire in /homez.457/archivest/www/portail/plugins/menus/inc/menus.php on line 103

      Notice : Undefined index : class in /homez.457/archivest/www/portail/plugins/menus/inc/menus.php on line 104

      Notice : Use of undefined constant env - assumed ’env’ in /homez.457/archivest/www/portail/ecrire/public/composer.php(49) : eval()’d code on line 100

      Notice : Use of undefined constant env - assumed ’env’ in /homez.457/archivest/www/portail/ecrire/public/composer.php(49) : eval()’d code on line 88

      Notice : Undefined index : class in /homez.457/archivest/www/portail/plugins/menus/inc/menus.php on line 104

      Notice : Undefined index : obligatoire in /homez.457/archivest/www/portail/plugins/menus/inc/menus.php on line 103

      Notice : Undefined index : class in /homez.457/archivest/www/portail/plugins/menus/inc/menus.php on line 104

      Notice : Undefined index : obligatoire in /homez.457/archivest/www/portail/plugins/menus/inc/menus.php on line 103

      Notice : Undefined index : class in /homez.457/archivest/www/portail/plugins/menus/inc/menus.php on line 104

      Notice : Use of undefined constant env - assumed ’env’ in /homez.457/archivest/www/portail/ecrire/public/composer.php(49) : eval()’d code on line 100

      Notice : Use of undefined constant env - assumed ’env’ in /homez.457/archivest/www/portail/ecrire/public/composer.php(49) : eval()’d code on line 88

      Notice : Use of undefined constant env - assumed ’env’ in /homez.457/archivest/www/portail/ecrire/public/composer.php(49) : eval()’d code on line 100

      Notice : Undefined index : vars in/homez.457/archivest/www/portail/ecrire/public/composer.php(49) : eval()’d codeon line 37

      Notice : Undefined index : vars in/homez.457/archivest/www/portail/ecrire/public/composer.php(49) : eval()’d codeon line 45

      Notice : Undefined index : message_ok in/homez.457/archivest/www/portail/plugins/spip-pmb/formulaires/login.php on line230

      Notice : Undefined index : redirect in /homez.457/archivest/www/portail/plugins/spip-pmb/formulaires/login.php on line 66

      Notice : Undefined offset : 2 in/homez.457/archivest/www/portail/ecrire/balise/formulaire_inscription.phpon line 33

      Notice : Undefined offset : 1 in/homez.457/archivest/www/portail/ecrire/balise/formulaire_inscription.phpon line 33

      Notice : Undefined offset : 0 in/homez.457/archivest/www/portail/ecrire/balise/formulaire_inscription.phpon line 33

      Notice : Undefined index : tab_noticesconsultees in/homez.457/archivest/www/portail/ecrire/public/composer.php(49) : eval()’d code on line 28

      Notice : Undefined offset : 0 in /homez.457/archivest/www/portail/ecrire/balise/url_logout.php on line 22

    • La Chourmette

      Je me réponds, dommage que personne ne l’ait fait avant, j’aurais gagné beaucoup de temps !
      Donc il faut installer SPIP en version 2.0 (j’ai mis la 2.0.15) et PMB en version 3.3 (j’ai mis la 3.3.10) et pour l’instant, ça fonctionne sans message d’erreur ! La table spip_auteurs_pmb est bien créée automatiquement.

    • Question, ces 3 librairies sont indispensables sur les 2 serveurs (celui de PMB et celui ayant SPIP ?)

    Répondre à ce message

  • pedrito57

    Bonjour,

    après toute une journée à chercher l’erreur... je me permet de vous poster mon problème. Lorsque je me connecte sur spip, voici les erreurs que j’ai, gens ai encore d’autre. Ca m’empeche pas de naviguer dans le site mais bon, je ne comprend pas ces messages d’erreurs. Quelqu’un aurait réussi à résoudre ce même problème ?

    Merci

    Notice : Undefined offset : 0 in C :\EasyPHP5.2.10\www\portail\ecrire\auth\sha256.inc.php on line 213

    Notice : Undefined offset : 1 in C :\EasyPHP5.2.10\www\portail\ecrire\auth\sha256.inc.php on line 213

    Notice : Undefined offset : 2 in C :\EasyPHP5.2.10\www\portail\ecrire\auth\sha256.inc.php on line 213

    Notice : Undefined offset : 3 in C :\EasyPHP5.2.10\www\portail\ecrire\auth\sha256.inc.php on line 213

    Notice : Undefined offset : 4 in C :\EasyPHP5.2.10\www\portail\ecrire\auth\sha256.inc.php on line 213

    Notice : Undefined offset : 5 in C :\EasyPHP5.2.10\www\portail\ecrire\auth\sha256.inc.php on line 213

    Notice : Undefined offset : 6 in C :\EasyPHP5.2.10\www\portail\ecrire\auth\sha256.inc.php on line 213

    Notice : Undefined offset : 7 in C :\EasyPHP5.2.10\www\portail\ecrire\auth\sha256.inc.php on line 213

    Notice : Undefined offset : 8 in C :\EasyPHP5.2.10\www\portail\ecrire\auth\sha256.inc.php on line 213

    Notice : Undefined offset : 9 in C :\EasyPHP5.2.10\www\portail\ecrire\auth\sha256.inc.php on line 213

    Notice : Undefined offset : 10 in C :\EasyPHP5.2.10\www\portail\ecrire\auth\sha256.inc.php on line 213

    Notice : Undefined offset : 11 in C :\EasyPHP5.2.10\www\portail\ecrire\auth\sha256.inc.php on line 213

    Notice : Undefined offset : 12 in C :\EasyPHP5.2.10\www\portail\ecrire\auth\sha256.inc.php on line 213

    Notice : Undefined offset : 13 in C :\EasyPHP5.2.10\www\portail\ecrire\auth\sha256.inc.php on line 213

    Notice : Undefined offset : 14 in C :\EasyPHP5.2.10\www\portail\ecrire\auth\sha256.inc.php on line 213

    Notice : Undefined offset : 0 in C :\EasyPHP5.2.10\www\portail\ecrire\auth\sha256.inc.php on line 213

    Notice : Undefined offset : 1 in C :\EasyPHP5.2.10\www\portail\ecrire\auth\sha256.inc.php on line 213

    Notice : Undefined offset : 2 in C :\EasyPHP5.2.10\www\portail\ecrire\auth\sha256.inc.php on line 213

    Notice : Undefined offset : 3 in C :\EasyPHP5.2.10\www\portail\ecrire\auth\sha256.inc.php on line 213

    Notice : Undefined offset : 4 in C :\EasyPHP5.2.10\www\portail\ecrire\auth\sha256.inc.php on line 213

    Notice : Undefined offset : 5 in C :\EasyPHP5.2.10\www\portail\ecrire\auth\sha256.inc.php on line 213

    Notice : Undefined offset : 6 in C :\EasyPHP5.2.10\www\portail\ecrire\auth\sha256.inc.php on line 213

    Notice : Undefined offset : 7 in C :\EasyPHP5.2.10\www\portail\ecrire\auth\sha256.inc.php on line 213

    Notice : Undefined offset : 8 in C :\EasyPHP5.2.10\www\portail\ecrire\auth\sha256.inc.php on line 213

    Notice : Undefined offset : 9 in C :\EasyPHP5.2.10\www\portail\ecrire\auth\sha256.inc.php on line 213

    Notice : Undefined offset : 10 in C :\EasyPHP5.2.10\www\portail\ecrire\auth\sha256.inc.php on line 213

    Notice : Undefined offset : 11 in C :\EasyPHP5.2.10\www\portail\ecrire\auth\sha256.inc.php on line 213

    Notice : Undefined offset : 12 in C :\EasyPHP5.2.10\www\portail\ecrire\auth\sha256.inc.php on line 213

    Notice : Undefined offset : 13 in C :\EasyPHP5.2.10\www\portail\ecrire\auth\sha256.inc.php on line 213

    Notice : Undefined offset : 14 in C :\EasyPHP5.2.10\www\portail\ecrire\auth\sha256.inc.php on line 213

    Notice : Undefined offset : 1 in C :\EasyPHP5.2.10\www\portail\ecrire\inc\filtres_mini.php on line 27

    Notice : Undefined index : slogan_site in C :\EasyPHP5.2.10\www\portail\ecrire\public\composer.php(49) : eval()’d code on line 25

    Notice : Undefined index : filtre_compacte_head in C :\EasyPHP5.2.10\www\portail\ecrire\inc\filtres.php on line 43

    Notice : Undefined index : filtre_compacte_head_dist in C :\EasyPHP5.2.10\www\portail\ecrire\inc\filtres.php on line 43

    Notice : Undefined index : compacte_head in C :\EasyPHP5.2.10\www\portail\ecrire\inc\filtres.php on line 43

    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