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.



spip-pmb.zip
Vos commentaires
# Le 7 février à 16:31, par Jean-Victor Marie
En réponse à : Portail Web pour PMB
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
# Le 6 décembre 2011 à 11:41, par Matthieu Marcillaud
En réponse à : Portail Web pour PMB
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 :
Voilà :)
# Le 6 décembre 2011 à 13:42, par JLuc
En réponse à : Portail Web pour PMB
hop, c’est mieux dans la doc !
Répondre à ce message
# Le 17 juin 2011 à 11:35, par La Chourmette
En réponse à : Portail Web pour PMB
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.
# Le 13 juillet 2011 à 11:14, par La Chourmette
En réponse à : Portail Web pour PMB
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 !
# Le 13 juillet 2011 à 16:03, par La Chourmette
En réponse à : Portail Web pour PMB
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
# Le 19 juillet 2011 à 15:34, par La Chourmette
En réponse à : Portail Web pour PMB
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.
# Le 7 septembre 2011 à 16:13, par marcimat
En réponse à : Portail Web pour PMB
Question, ces 3 librairies sont indispensables sur les 2 serveurs (celui de PMB et celui ayant SPIP ?)
Répondre à ce message
# Le 15 juillet 2011 à 23:30, par pedrito57
En réponse à : Portail Web pour PMB
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
# Le 11 mai 2011 à 11:06, par fskdesbois
En réponse à : Portail Web pour PMB
Bonjour à tous, J’ai encore un petit probleme. J’ai effectivement bien créer la table spip_auteurs_pmb mais apparament quand j’ajoute un utilisateur dans spip il n’est pas présent dans pmb et la table spip_auteurs_pmb reste vide... Ya t’il un parametrage suplémentaire ? merci d’avance
Répondre à ce message
# Le 9 avril 2011 à 23:09, par chase92
En réponse à : Portail Web pour PMB
Bonjour !
De mon côté l’installation du plugin échoue également, à cause de pmb_mes_fonctions.php (ligne 34, puis 65, etc...) ; est ce que je passe à côté de quelque chose ?
Merci d’avance
Charlotte
# Le 21 avril 2011 à 11:51, par William
En réponse à : Portail Web pour PMB
Bonjour,
serait-il possible d’avoir le message d’erreur ? et d’en savoir plus sur la machine (surtout sous quel windows elle est)
# Le 6 mai 2011 à 11:08, par PeioJ
En réponse à : Portail Web pour PMB
Bonjour,
Nous avions la même erreur sur un site hébergé par OVH. Après quelques recherches, il semblerait que ce soit la fonction try du fichier pmb_mesfonctions.php qui n’était pas correctement interprété par la version de php active sur notre site.
L’insertion de la ligne :
dans le fichier .htaccess nous a permit de passer à php 5.3 (http://guides.ovh.net/Php5ChezOvh) et le problème semble résolu.
Répondre à ce message
# Le 20 avril 2011 à 10:14, par William
En réponse à : Portail Web pour PMB
Bonjour,
j’ai changé d’ordinateurs pour faire des tests. J’arrive à installer PMB, SPIP et le plugin. Cependant, quand je suis sur la page d’accueil du SPIP, j’ai ce message d’erreur sur la droite :
Mon site SPIP
Exception reçue (15) : SOAP-ERROR : Parsing WSDL : Couldn’t load from ’http://localhost/pmb/ws/connector_out.php?source_id=1&wsdl’ : Extra content at the end of the document
Fatal error : Call to a member function pmbesOPACGeneric_list_locations() on a non-object in D :\wamp\www\Portail\plugins\auto\spip-pmb\pmb_mes_fonctions.php on line 94
Quelqu’un pourrait-il m’éclairer ?
Répondre à ce message
# Le 14 avril 2011 à 15:24, par William
En réponse à : Portail Web pour PMB
Bonjour,
tout d’abord, je tiens à vous remercier pour ce plugin qui a le double avantage d’être très utile et d’être gratuit.
Ensuite (comme beaucoup ici ^^), je m’adresse à vous car j’ai un problème mais qu’on m’a apporté une solution (que je n’ai pas encore etsté) :
lorsque l’on se trouve sur la page d’accueil du site en tant que visiteur, la partie droite est un message d’erreur. Je me suis donc rendu sur une des pages et j’ai pu avoir le message d’erreur complet :
Fatal error : Class ’SoapClient’ not found in C :\wamp\www\portail\plugins\auto\spip-pmb\pmb_mes_fonctions.php on line 772
En allant regarder le code à l’endroit indiqué, j’ai vu effectuement qu’un new SoapClient était créé mais qu’auparavant aucun SoapClient n’était défini.
Il faut apparemment installer l’extension SOAP dans php pour y remédier.
Répondre à ce message
# Le 4 mars 2011 à 10:40, par Jean-Victor Marie
En réponse à : Portail Web pour PMB
Pour tout faire fonctionner si problème de type autorpmb, ajouter manuellement la table autor pmb. La démarche est la suivant :
- Copiez collé ce texte dans un fichier bloc note :
CREATE TABLE IF NOT EXISTS `spip_auteurs_pmb` (
`id_auteur_pmb` bigint(21) NOT NULL auto_increment,
`id_auteur` bigint(21) NOT NULL default ’0’,
`pmb_session` varchar(255) NOT NULL,
`pmb_firstname` varchar(255) NOT NULL,
`pmb_lastname` varchar(255) NOT NULL,
`pmb_barcode` varchar(255) NOT NULL,
`pmb_address_part1` varchar(255) NOT NULL,
`pmb_address_part2` varchar(255) NOT NULL,
`pmb_address_cp` varchar(255) NOT NULL,
`pmb_address_city` varchar(255) NOT NULL,
`pmb_phone_number1` varchar(255) NOT NULL,
`pmb_phone_number2` varchar(255) NOT NULL,
`pmb_email` varchar(255) NOT NULL,
`pmb_birthyear` varchar(255) NOT NULL,
`pmb_location_id` varchar(255) NOT NULL,
`pmb_location_caption` varchar(255) NOT NULL,
`pmb_adhesion_date` varchar(255) NOT NULL,
`pmb_expiration_date` varchar(255) NOT NULL,
PRIMARY KEY (`id_auteur_pmb`),
KEY `id_syndic` (`id_auteur`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=514 ;
- Allez dans phpmyadmin (édition de la base mysql)
- Rendez vous dans la base spip
- Onglet « importer », puis « fichier à importer », sélectionnez votre fichier texte
- Exécuter, puis Exécuter.
Voila premier problème réglé !
Pour les problèmes lié au JSON-RPC c’est encore plus simple. Suivez le tutoriel en ligne « Une documentation vous propose un tutoriel détaillé pour installer le portail SPIP-PMB en une heure » disponible plus haut.
Arrivez à la page « Créer un webservice SOAP dans PMB » et bien en fait n’utilisez pas SOAP, mais JSON-RPC. La configuration est la même, mais chaque fois que vous verrez « trucbidule SOAP » remplacé par « trucbidule JSON-RPC » !
Voila !
Répondre à ce message
# Le 24 janvier 2011 à 14:53, par Regis
En réponse à : Portail Web pour PMB
Bonjour
Après installation de spip 2.1.8 et du plugin spip-pmb (avec création de la table spip_users_pmb à la main), impossible de modifier quoi que ce soit dans l’espace privé de spip : accès interdit.
Pb de spip 2.1.8 ou de l’association spip et des plugins nécessaires au portail spip-pmb ?
Cordialement, Régis.
# Le 25 février 2011 à 17:42, par Arnault Pachot
En réponse à : Portail Web pour PMB
en principe c’est corrigé dans la dernière version (R44943)
il faut supprimer plugins/spip-pmb/formulaires/login.html
Répondre à ce message