SPIP-Bible

Permet de citer rapidement des extraits de la Bible en utilisant un modèle dans le texte d’un article.

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).

Le plugin est disponible sous deux version :
-  version 2, pour SPIP 2.0 et 2.1. Elle nécéssite les plugins CFG et Bonux.
-  version 3 pour SPIP 3.0. Ne nécéssite pas de plugins supplémentaire.

Les fonctionalités sont rigoureusement les mêmes entre ces deux versions.

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.

Depuis la version 4.0, il est possible de définir de définir des « Alias » de traduction pour certaines traductions. Ainsi par exemple, on configurer si la traduction na correspond à la 27e ou à la 28e édition du Nestlé-Alland.

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é.

Notes

[1Si les fournisseurs du texte décident par exemple de les retirer de leur site

Discussion

20 discussions

  • 1

    Bonjour,

    J’ai un souci avec l’abréviation He pour l’épître aux Hébreux.

    Voici ce qui s’affiche :

    Hébreux chapitre 12 versets 5 à 11

    125

    He 12,5-11 (Bible de la Colombe)

    Rien ne s’affiche...

    Version de Spip : 1.9.2
    Version de Spip-Bible : 1.8

    Merci.

    • 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

  • 2

    J’ai le message suivant, dès que j’essaye de créer un nouvel article :

    Fatal error: Call to undefined function: recuperer_fond() in /homepages/2/d143668145/htdocs/coeurnet/spip/plugins/spip-bible/bible_pipelines.php on line 17

    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.

    • je viens de commiter la correction ... il faut attendre la génération du prochain paquet (normalement autour de 19h, au pire demain à 6h)

    • Ca marche, merci beaucoup !

    Répondre à ce message

  • 3

    Je n’arrive pas à faire marcher la citation suivante :

    <bible|passage=Ps90,12|traduction=bds>

    qui me donne

    9012

    Ps 90,12 (Bible du Semeur)

    Ça marche avec la Bible de Jérusalem.

    • 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 ?

    • Oups, non, je n’avais pas la dernière version. Ça marche avec la 1.6.1, merci...

    • pas de problème...

      tou ca tient à un changement sur la manoère dont biblegateway encode son texte ...

    Répondre à ce message

  • 2

    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.

    • 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é

    • 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

  • 1

    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.

    • 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

  • 4

    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 ?

    • Essaye peut-être « Lève toi et marche !... » ?

    • Je dirais plutôt : regarde donc, je parie qu’il y a un <? à la place d’un <?php dans un des fichiers du plugin !

      Enfin, tu peux essayer de marcher ! Sait-on jamais...

    • 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 ...

    • Exact, j’ai corrigé tous les

      <? en <?php, et le problème a disparu. Ca marche !!! ;-) Merci Matthieu, et Notepad++

    Répondre à ce message

  • 8
    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 <bible|passage=Gn1,1-2,1> ou <bible|passage=Gn1,1-10|retour=non|ref=oui|numeros=oui>
    et bien je n’ai rien...

    Que faire ?

    • 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 ?

    • 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.

    • attention : sur un site en local, il faut que votre ordi soit rélié à internet

      le mieux serait de tester en ligner

    • 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 325

      La balise utilisée dans l’article c’est : <bible|passage=Gn1,1-2,1>

      Le mystère reste entier...

    • 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.

    • 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

    • Lisanga Developpement

      Super c’était bien cela. Donc même en local le plugin marche vraiment bien.

      Bravo !!

    Répondre à ce message

  • 4

    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.

    • aie, aie, j’essaie de voir ce qu’il en est demain ... là il est minuit et je viens de rentrer de vacances

    • la révision 22406 devrait avoir corriogé le pb ;-)

    • 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.

    • 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

  • Merci pour ce plugin. Je vais pouvoir l’utiliser sur certains de mes sites.

    Répondre à ce message

  • 2

    Bonjour,

    Merci pour cette contrib ! Au début de l’article, vous dites qu’il faut absolument être connecté à internet, mais vous ne dites pas pourquoi. Ou du moins à quel site ce connecte le plugin ?

    Ce plugin est une très bonne initiative. Il arrive à point nommé car je voulais installe cette base de données pour pouvoir appeler ses nouvelles tables dans les boucles SPIP, mais je voulais voir pour en faire un plugin petit à petit.

    Comment faire pour avoir d’autres traductions de la bible ? La source d’extraction est-elle fiable (dans le temps et les traductions) ?

    En tout cas, merci encore pour cette contrib.

    • Bonjour,

      de rien !

      Plusieur choses :
      -  je vais faire une doc sur comment rajouter des bibles, et notamment de façon simple celle disponible sur biblegateway.org
      -  il faut être connecté à internet car on cherche un document distant. Je vais faire un article résumant toute les traduction disponible, et leur sources
      -  la bible de Jérusalem se trouve ici http://www.biblia-cerf.com/bj.php.
      -  fiabilité : ben tant que les édition du cerf la laisse en ligne, et ne change rien à sa présentation, ça marchera. Quand à la fiabilité de traduction, la bible de Jérusalem est réputée.. mais bon, qu’entend -on apr fiabilité des traductions ? traduire, c’est trahir ... (sans compter la question des manuscrits supports à traduction)

    • bon, je viens de faire la doc.

      Donc ici pour les traduction disponibles et ici pour en ajouter d’autres

    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