Le plugin Spip-Bible permet de citer rapidement des extraits de la Bible dans le texte d’un article.
Les citations se font entre balises <quote></quote>, en récupérant un texte sur un site distant.
Auteur et Licence
Le plugin a été créé par Maïeul Rouquette. Il est sous licence GPL.
Pré-requis
Le plugin nécessite le plugin CFG. De plus votre site doit être connecté à Internet (vous ne pouvez pas faire de test en local sur un ordinateur non connecté à Internet).
Depuis la version 2, il nécéssite SPIP 2.0 minimum et SPIP-BONUX.
Installation
Téléchargez le plugin. Installez le suivant la procédure habituelle.
Utilisation
Il existe deux manières d’utiliser le plugin :
- avec le "presse-papier biblique" : c’est la meilleure méthode à utiliser. Mais elle nécéssite la version 1.8 du plugin, SPIP 2.0 et le plugin SPIP-BONUX
- avec le modèle <bible>.
La méthode avec le modèle nécessite plus de calcul serveur, ne permet pas d’ajouter de la typographie au texte, ne garantit pas la présence éternelle du texte [1].
En revanche :
- c’est la méthode historique, raison pour laquelle elle est reste documentée.
- les versions de Spip avant la 2.0 ne peuvent utiliser que celle là
- comme c’est un modèle, dans l’édition du texte, il prend moins de place.
Dans les deux cas, il faut savoir écrire la réference biblique. La syntaxe est la suivante : abreviation_livrechapitredebut,versetdebut-chapitre_fin,verset_fin.
Ainsi :
- Gn1 => Donne le premier chapitre de la Genèse.
- Gn1,1 => Donne le premier verset du premier chapitre de la Genèse.
- Gn1-2 => Donne les deux premiers chapitres de la Genèse.
- Gn1,2-2,1 => Donne la Genèse, chapitre 1 verset 2 jusqu’à chapitre 2 verset 1.
La abréviations des livres dépendent de la langue de traduction. De même pour le séparateur entre le numéro de chapitre et celui de verset. Je renvoie ici pour la liste. Si vous appelez une version ancienne (langue morte), il faut utiliser les abréviations de la langue de l’article/la rubrique.
Remarque : le premier des Prophètes postérieurs est appelé Esaïe chez les Protestants et Isaïe chez les catholiques, en Français
Depuis la version 1.5.3 (svn 27074), vous pouvez taper "Es" ou "Is", le plugin traduira automatiquement dans la bonne confession.
Remarque 2
Pour les livres d’un seul chapitre (Abdias, Philémon, 2&3 Jean, Jude), il faut écrire Ab1-2 pour avoir les verset 1 et 2.
Configurer le plugin
Pour configuer ces réglages, allez dans « Configuration » -> « Cfg » -> « Configurer le plugin Spip-Bible ».
Sur cette page, vous pouvez configurer :
- les versions par défaut pour chaque langue.
- s’il y a ou non par défaut un retour à la ligne entre chaque verset.
- s’il y a ou non par défaut les numéros de chapitre/verset dans le corps du texte.
- s’il y a ou non par défaut la références en fin de texte.
Il existe aussi une configuration pour le presse-papier biblique. Elle est documentée dans l’article sur le presse-papier.
Dans la version 1.5 du plugin il est possible d’imposer une police pour les passages en hébreu. En effet Windows gère assez mal sinon l’hébreu. Malheureusement seul Safari et peut-être Firefox 3.1 gère la propriété css gèrent la propriété @font-face.
Balises disponibles
La version 1.4 du plugin introduit un certain nombres de balises utilisables. Voir la documentation.
À faire
- Encore et toujours ajouter des versions notamment dans les langues qui n’en possèdent pas.
Notes techniques : importer de nouvelle traduction
La documentation est déplacée dans un article spécifique
Remerciements
à Booz pour m’avoir donner le tuyau sur recuperer_page() et à Fil pour celui sur importer_charset() ... et a tout ceux qui de prés ou de loins m’ont aidé.




Spip-Bible
Vos commentaires
# Le 26 février à 19:36, par Yves Gouast
Merci Maïeul pour votre réponse.
J’ai essayé d’intégrer une autre version pour ce passage (Louis Segond) mais le fait d’avoir plusieurs versions différentes dans le même article sur différentes références pose visiblement un problème. J’ai obtenu une erreur du style ’cannot redeclare...’.
Je me dis du coup que je ne pourrais pas, si je le souhaitais, faire apparaître un tableau comparatif des différentes traductions d’un passage... Ce serait une possibilité intéressante pourtant.
Merci.
Bien cordialement,
# Le 26 février à 19:49, par Maïeul
qu’avez vous essayer de mettre ? je n’ai pas reproduit cette erreur.
Cependant, je vous déconseille de faire cela, car si vous mettez trop de passage dans un même article, vous risque de faire saturez votre serveur.
La solution idéal serait que vous passiez en spip 2.0 et utilisiez la tgechnique "du presse papier".
cordialement
# Le 26 février à 19:59, par Maïeul
milles excuses, je n’avais pas bien testé. C’est corrigé. Il faudra que vous installiez le zip du plugin qui sera généré d’ici une heure (je ne sais pas combien de temps la zone met pour générer) puis, que vous alliez dans le repertoire tmp et que vous supprimez le fichier "charger_plugins_fonctions" (très important, sinon les modifs ne seront pas prises en compte).
Ceci dit, ce que j’ai dit sur la saturation serveur reste valable.
cordialement
Répondre à ce message
# Le 23 février à 21:09, par Mister G
Bonjour,
J’ai un souci avec l’abréviation He pour l’épître aux Hébreux.
Voici ce qui s’affiche :
Rien ne s’affiche...
Version de Spip : 1.9.2
Version de Spip-Bible : 1.8
Merci.
# Le 23 février à 21:28, par Maïeul
malheureusement, il s’agit dun problème lié à l’SBF. Si vous vous rendez sur http://lire.la-bible.net, vous verrez que la lettre aux hébreux n’est pas disponible dans la traduction colombe. Or c’est de ce site que j’extrait les texte.
Je pense qu’il s’agit d’une erreur, je viens d’écrire à la SBF pour lui signaler.
Il n’y a plus qu’a attendre que que cela soit mis en ligne :(
Répondre à ce message
# Le 30 avril 2009 à 21:14, par Alain
J’ai le message suivant, dès que j’essaye de créer un nouvel article :
Je suis en SPIP 1.9.2g [10268] et plugin SPIP-Bible 1.6.1 et CFG 1.2.1. Je suis obligé de désactiver le plugin SPIP-Bible.
# Le 3 mai 2009 à 17:55, par Maïeul
je viens de commiter la correction ... il faut attendre la génération du prochain paquet (normalement autour de 19h, au pire demain à 6h)
# Le 4 mai 2009 à 20:28, par Alain
Ca marche, merci beaucoup !
Répondre à ce message
# Le 25 avril 2009 à 22:07, par Alain
Je n’arrive pas à faire marcher la citation suivante :
<bible|passage=Ps90,12|traduction=bds>qui me donne
Ça marche avec la Bible de Jérusalem.
# Le 25 avril 2009 à 22:44, par Maïeul
bizarre, j’ai fait un test chez moi, et cela marche ..
avez vous la dernière version du plugin ? j’ai fait un certains nombre de correction au mois de février/mars/avril
sinon, je soupçonne peut-être un problème d’encodage de caractère ... votre site est-il en utf-8 ?
# Le 25 avril 2009 à 22:53, par Alain
Oups, non, je n’avais pas la dernière version. Ça marche avec la 1.6.1, merci...
# Le 25 avril 2009 à 23:27, par Maïeul
pas de problème...
tou ca tient à un changement sur la manoère dont biblegateway encode son texte ...
Répondre à ce message
# Le 2 décembre 2008 à 13:04, par Alain
J’ai essayé :
<bible|passage=Es50,4-5|numeros=non>sans succès. Il semble que le code correct soit<bible|passage=Is50,4-5|numeros=non>, même pour les bibles protestantes.# Le 2 décembre 2008 à 13:10, par Maïeul
oui, c’est encore un problème que je n’ai pas réussi à résoudre...
mais je n’ai pas trop le temps de m’y consacré en cemoment ... il faudra attendre l’été
# Le 11 mars 2009 à 13:20, par Maïeul
la dernière version dh plugin gère désormais mieux la chose ...
Es ou Is est "converti" automatiquement selon que l’on choisit une bible catho ou protestante
Répondre à ce message
# Le 1er novembre 2008 à 17:06, par Alain
Impossible de faire marcher une citation de Romains. J’ai essayé les citations suivantes :
<bible|passage=Ro8,16-17|traduction=nbs><bible|passage=Ro1|traduction=lsg>avec différentes traductions, et ça ne marche pas sur mon site. je n’obtiens que la référence, sans texte biblique.
# Le 1er novembre 2008 à 18:35, par Maïeul
Une erreur s’est glissée (la perfide) dans la documentation. La lettre au Romain s’abrege dans Spip-Bible Rm et pas Ro
Répondre à ce message
# Le 23 octobre 2008 à 19:13, par Alain
Bonjour,
Quand j’active le plugin sur mon site local (EasyPHP) SPIP 1.9.2e [12624], j’ai le texte suivant qui s’affiche en haut de page :
code = "info_bible_version($trad,$info)" ; return $p ; function info_bible_version($trad,$info) $tableau_trad = bible_tableau(’traduction’) ; $tableau_trad = $tableau_trad[$trad] ; switch ($info) case ’lang’ : return traduire_nom_langue($tableau_trad[’lang’]) ; case ’lang_abrev’ : return $tableau_trad[’lang’] ; case ’nt’ : $nt = $tableau_trad[’nt’] ; $nt == true ? $i = _T(’item_oui’) : $i= _T(’item_non’) ; return $i ; case ’at’ : $at = $tableau_trad[’at’] ; $at == true ? $i = _T(’item_oui’) : $i= _T(’item_non’) ; return $i ; case ’deutero’ : $deutero = $tableau_trad[’deutero’] ; $deutero == true ? $i = _T(’item_oui’) : $i= _T(’item_non’) ; return $i ; case ’traduction’ : return $tableau_trad[’traduction’] ; case ’historique’ : return propre($tableau_trad[’historique’]) ; function balise_BIBLE_TRADUCTIONS($p) $tableau_trad = bible_tableau(’traduction’) ; $tableau_separateur = bible_tableau(’separateur’) ; $tableau_original = bible_tableau(’original’) ; $tableau_lang = array_merge($tableau_separateur,$tableau_original) ; $lang = interprete_argument_balise(1,$p) ; gettype($lang) == ’NULL’ ? $lang = ’tous’ : $lang = $lang ; $lang = eregi_replace("’",’’,$lang) ; foreach ($tableau_lang as $lang1=>$i) foreach ($tableau_trad as $trad=>$inf) if (($lang == $inf[’lang’] or $lang==’tous’) and $inf[’lang’]==$lang1) $_code[] = "$trad" ; $code = array() ; $p->code = ’array(’ . join(’, ’,$_code).’)’ ; $p->interdire_scripts=false ; return $p ; function afficher_livres($trad,$modele=’standard’) $tableau_trad = bible_tableau(’traduction’) ; $tableau_livre = bible_tableau(’livres’) ; $livres_deutero = bible_tableau(’deutero’) ; $trad2=$trad ; $trad = $tableau_trad[$trad] ; if (gettype($trad) !=’array’) return _T(’traduction_pas_dispo’) ; //les infos sur la trad $lang = $trad[’lang’] ; $trad_long = $trad[’traduction’] ; $deutero = $trad[’deutero’] ; $nt = $trad[’nt’] ; $at = $trad[’at’] ; $tableau_langue_original = bible_tableau(’original’) ; global $spip_lang ; array_key_exists($lang,$tableau_langue_original) == false ? $lang = $lang : $lang = $spip_lang ; $tableau_livre_gateway = bible_tableau(’gateway’) ; $tableau_livre_gateway = array_flip($tableau_livre_gateway[$lang]) ; //les fonds include_spip(’inc/utils’) ; $url = ’fonds/livres_bibliques_’.$modele ; $url_entete = ’fonds/livres_bibliques_entete_’.$modele ; $url_pied = ’fonds/livres_bibliques_pied_’.$modele ; $nt == false ? $max = 47 : $max = 74 ; $at == false ? $i = 47 : $i = 1 ; $j=0 ; $texte = recuperer_fond($url_entete,array(’caption’=>_T(’bible:livres_bibles’,array(’trad’=>$trad_long)))) ; while ($i < $max) if (in_array($i,$livres_deutero)==false or ($deutero==true)) $abreviation = $tableau_livre_gateway[$i] ; modulo($j,2) == 0 ? $class=’row_even’ : $class=’row_odd’ ; $livre = $tableau_livre[$lang][$abreviation] ; $texte.= recuperer_fond($url,array(’class’=>$class,’livre’=>$livre,’abreviation’=>$abreviation,’trad’=>$trad2))."\n" ; $j++ ; $i++ ; return $texte.recuperer_fond($url_pied) ; ; function balise_LIVRES_BIBLIQUES($p) $trad = interprete_argument_balise(1,$p) ; $modele = interprete_argument_balise(2,$p) ; gettype($modele) == ’NULL’ ? $modele = ’standard’ : $modele = $modele ; $p->code = "afficher_livres($trad,$modele)" ; #$p->interdire_scripts = true ; return $p ; function balise_LIVRE_LIENS_CHAPITRES($p) //les paramètres $livre = interprete_argument_balise(1,$p) ; $modele = interprete_argument_balise(3,$p) ; $trad = interprete_argument_balise(2,$p) ; gettype($trad) == ’NULL’ ? $trad = lire_config(’bible/traduction_’.$lang) : $trad = $trad ; gettype($livre) == ’NULL’ ? $livre = ’standard’ : $livre = $livre ; gettype($modele) == ’NULL’ ? $modele = ’standard’ : $modele = $modele ; $p->code = "liens_chapitres($livre,$modele,$trad)" ; return $p ; function liens_chapitres($livre,$modele,$trad) $tableau_trad = bible_tableau(’traduction’) ; $original = bible_tableau(’original’) ; $lang = $tableau_trad[$trad][’lang’] ; if (array_key_exists($lang,$original)) global $spip_lang ; $lang = $spip_lang ; $livre = $livre = eregi_replace("[0-9|,|-]+$","",$livre) ; $tableau_livre_gateway = bible_tableau(’gateway’) ; $tableau_chapitre = bible_tableau(’nombres_chapitre’) ; $nlivre = $tableau_livre_gateway[$lang][$livre] ; $nombre = $tableau_chapitre[$nlivre-1] ; $url = ’fonds/livres_liens_chapitres_’.$modele ; $i = 1 ; $texte = ’’ ; while ($i<$nombre) $texte.= recuperer_fond($url,array(’n’=>$i,’livre’=> $livre,’trad’=>$trad))." | " ; $i++ ; $texte .= recuperer_fond($url,array(’n’=>$i,’livre’=> $livre,’trad’=>$trad)) ; return $texte ; ?>
Avez-vous une idée de ce qui se passe ?
# Le 23 octobre 2008 à 19:18, par Cedric Morin
Essaye peut-être "Lève toi et marche !..." ?
# Le 23 octobre 2008 à 19:23, par Matthieu Marcillaud
Je dirais plutôt : regarde donc, je parie qu’il y a un
<?à la place d’un<?phpdans un des fichiers du plugin !Enfin, tu peux essayer de marcher ! Sait-on jamais...
# Le 23 octobre 2008 à 19:29, par Maïeul
j’ai un soupcon de poil de doute. Peux tu tester ceci : dans tout les fichiers php du plugin, remplace le
<?de la première ligne par un<?php.Si cela marche, prévient moi que je fasse les modifs ad hoc sur la zone ...
# Le 23 octobre 2008 à 19:43, par Alain
Exact, j’ai corrigé tous les
<? en <?php, et le problème a disparu. Ca marche !!! ;-) Merci Matthieu, et Notepad++Répondre à ce message
# Le 5 octobre 2008 à 18:23, par Lisanga Developpement
Bonjour et super plugin.
Sauf que je l’ai installé et que.... nada... rien !!!! (ma version - SPIP 1.9.2e)
Dans l’administration alors que le plugin est bien activé, il n’y aucun moyen de configurer le plugin bible.
Quand dans l’article pour tester je place le code ou
et bien je n’ai rien...
Que faire ?
# Le 5 octobre 2008 à 18:51, par Maïeul
hum, vraiment vraiment bizarre
je suis allé voir sur http://lisangadeveloppement.com/ et j’ai regadré vos enttes : le plugin n’est pas activé .... s’agit il biend e ce site ?
que ce passe si vous aller directement sur ecrire/ ?exec=cfg&cfg=bible ?
# Le 6 octobre 2008 à 22:46, par Lisanga Developpement
Merci d’être réactif.
Oui c’est bien mon site web. Mais je l’ai installé d’abord en local pour le tester sous EasyPHP avec la version mentionnée dans mon message précédent. Est-ce que cela peut avoir une incidence ?
Mais si vous avez besoin de voir je peux faire un essai sur mon site et l’activer donc sur le web.
Cordialement.
# Le 6 octobre 2008 à 22:50, par Maïeul
attention : sur un site en local, il faut que votre ordi soit rélié à internet
le mieux serait de tester en ligner
# Le 7 octobre 2008 à 23:09, par Lisanga Developpement
Très bien, c’est ce que j’ai fait et voici le message :
Fatal error: Call to undefined function: lire_config() in /homepages/43/d209760103/htdocs/plugins/spip-bible/bible_fonctions.php on line 325La balise utilisée dans l’article c’est :
<bible|passage=Gn1,1-2,1>Le mystère reste entier...
# Le 7 octobre 2008 à 23:15, par Maïeul
Il est écrit dans la documentation que le plugin nécessitte la présence du plugin cfg.
Votre message semble indique qu’il n’est pas présent.
# Le 8 octobre 2008 à 22:43, par Lisanga Developpement
OK. Effectivement je n’ai pas CFG en plugin, mais je ne suis pas posé plus de questions que cela, car comme j’ai le "Couteau Suisse" et que souvent les plugins nécessitants CFG marchent quand même...
Bien j’ai regardé pour télécharger CFG, mais hormis des tutos je n’ai pas vu de lien...
Où donc peut-on le télécharger ce fameux plugin ? svp
# Le 8 octobre 2008 à 23:59, par Maïeul
http://files.spip.org/spip-zone/cfg.zip
# Le 9 octobre 2008 à 22:54, par Lisanga Developpement
Super c’était bien cela. Donc même en local le plugin marche vraiment bien.
Bravo !!
Répondre à ce message
# Le 2 septembre 2008 à 13:04, par Jean-Pierre
Bonjour,
Merci pour cette initiative intéressante.
Je rencontre néanmoins un problème étonnant.
Tout marche lorsque je choisis un psaume entier ou le chapitre entier d’un livre, comme
<bible|passage=Ps121>ou encore<bible|passage=Gn1>ou meme plusieurs chapitres comme<bible|passage=Gn1-3>.Mais lorsque je sollicite des versets, cela renvoie invariablement « pas de livre ». C’est le cas y compris des exemples fournis, comme
<bible|passage=Gn1,1-10>,<bible|passage=Gn1,1-2,1>,<bible|passage=Mt24,37-44>,.J’ai commencé à analyser le fichier jerusalem.php qui lit apparemment bien les bonnes pages (http://www.biblia-cerf.com/BJ/gn1.html) pour Genèse Chap1 par ex) et la récupération semble correcte !
L’environnement est : Spip 19.2.d rev 11132, Spip-Bible 1.0 rev 22168 du 22 aout (et CFG 1.10.1).
Quelqu’un a-t-il une solution ou meme une piste ?
La rév 22321 a-t-elle une chance de résoudre ce problème ?
Par ailleurs, une erreur figure en bas du bloc SPIP-Bible dans la gestion des plugins. Le lien pour la page de configuration est http://nomdedomaine/?exec=cfg&cfg=bible alors qu’il devrait être http://nomdedomaine/ecrire/?exec=cfg&cfg=bible comme lorsque l’on passe par la configuration des modules CFG.
# Le 7 septembre 2008 à 00:00, par Maïeul
aie, aie, j’essaie de voir ce qu’il en est demain ... là il est minuit et je viens de rentrer de vacances
# Le 7 septembre 2008 à 09:31, par Maïeul
la révision 22406 devrait avoir corriogé le pb ;-)
# Le 11 septembre 2008 à 11:03, par Jean-Pierre
Merci pour ce retour.
J’ai installé la 22462 du 09 septembre 16h et tous mes problèmes sont maintenant résolus. (A noter que c’est seulement à partir de cette révision).
Par ailleurs, cette rev incorpore des nouveautés, en particulier un choix conséquent de traductions, et que l’organisation du code et des fichiers a pas mal évolué.
Merci encore et bravo pour ce plugin.
# Le 11 septembre 2008 à 23:00, par Maïeul
de rein, ca a été pour moi un plaisir de develloper ce plugin (même si’jy est passé pas mal de nuit à me coucher à deux heures du matin.
Après l’introduction de nouvelle balise, je vais laisser en sommeil le devellopement du plugin (pour des raisons bêtes de reprises de cours à la fac)...
Par curiosité, pourrais-je avoir l’adresse du site l’utilisant
a noter que l’api du plugin permet d’intégrer désormais assez facilement des traductions, de développer rapidement la doc à ce sujet...
Répondre à ce message
# Le 1er septembre 2008 à 14:42, par tkeita
Merci pour ce plugin. Je vais pouvoir l’utiliser sur certains de mes sites.
Répondre à ce message