SPIP - Contrib

SPIP - Contrib

[ar] [en] [es] [fr] [it]

167 visiteurs en ce moment

fontsizeup fontsizedown
[27 commentaires]

SPIP-Bible

jeudi 21 août 2008, par Maïeul

  • Digg
  • Del.icio.us
  • Facebook
  • Google
  • Technorati
0 vote

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 en utilisant un modèle du type <bible|passage=Gn1,1-2,1> dans le texte d’un article.

Les citations se font entre balises <quote></quote>, en récupérant un texte sur un site distant [1].

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 a été testé sous SPIP SVN et SPIP 1.9.2d. A priori, il doit fonctionner à partir de SPIP 1.9.1.

Installation

Télèchargez le plugin. Installez le suivant la procédure habituelle.

Zip - 109.5 ko
Spip-Bible

Utilisation

Pour citer un passage biblique il suffit de faire <bible|passage=xxx>.

Où xxx est la référence à citer. Elle doit s’écrire sous la forme suivante : abreviation_livrechapitredebut,versetdebut-chapitre_fin,verset_fin. Exemple :
-  <bible|passage=Gn1,1-2,1> Cite la Genèse du chapitre 1 au verset 2 jusqu’au chapitre 2 au verset 1 inclu.
-  <bible|passage=Gn1,1-2> Cite les versets 1 & 2 du chapitre 1 de la Genèse.
-  <bible|passage=Gn1> Cite le chapitre 1 de la Genèse.
-  <bible|passage=Gn1,1> Cite le verset 1 du chapitre 1 de la Genèse.
-  <bible|passage=Gn1-3> Cite les chapitres 1 à 3 de la Genèse.

Remarque 1

Pour les livres d’un seul chapitre (Abdias, Philémon, 2&3 Jean, Jude), il faut écrire <bible|passage=Ab1-3>

Remarque 2

On ne peut pas écrire <bible|passage=Gn1-2,1>. Il faut écrire <bible|passage=Gn1,1-2,1>. Pour le moment du moins.

Remarque 3 Le sépareteur chapitre/verset dépend de la langue de la traduction. Voir cet article pour plus d’informations.

Liste des abréviations de livre

Remarque : le premier des Prophètes postérieurs est appelé Esaïe chez les Protestants et Isaïe chez les catholiques.

Les abréviations dépendant de la langue de la traduction, je renvoie ici

Réglages avancés du modèle

Vous pouvez passer plusieurs paramètres au modèle :
-  « numeros ». Valeurs possibles : « oui » ou « non ». Si oui, affiche les numéros de chapitre et de verset dans le cours du texte.
-  « ref ». Valeurs possibles : « oui » ou « non ». Si oui, affiche la référence en dessous de la citation.
-  « retour ». Valeurs possibles : « oui » ou « non » . Si oui insère un saut de ligne entre les chapitres.
-  « traduction » pour choisir la traduction. Voir cet article.

Exemple : <bible|passage=Gn1,1-10|retour=non|ref=oui|numeros=oui> affiche

1 1 Au commencement, Dieu créa le ciel et la terre. 2 Or la terre était vide et vague, les ténèbres couvraient l’abîme, un vent de Dieu tournoyait sur les eaux. 3 Dieu dit : Que la lumière soit et la lumière fut. 4 Dieu vit que la lumière était bonne, et Dieu sépara la lumière et les ténèbres. 5 Dieu appela la lumière jour et les ténèbres nuit . Il y eut un soir et il y eut un matin : premier jour. 6 Dieu dit : Qu’il y ait un firmament au milieu des eaux et qu’il sépare les eaux d’avec les eaux et il en fut ainsi. 7 Dieu fit le firmament, qui sépara les eaux qui sont sous le firmament d’avec les eaux qui sont au-dessus du firmament, 8 et Dieu appela le firmament ciel . Il y eut un soir et il y eut un matin : deuxième jour. 9 Dieu dit : Que les eaux qui sont sous le ciel s’amassent en une seule masse et qu’apparaisse le continent et il en fut ainsi. 10 Dieu appela le continent terre et la masse des eaux mers, et Dieu vit que cela était bon.

Gn 1, 1-10 (Bible de Jérusalem)

En l’absence de ces paramètres, ce sont les réglages définis dans la page de configuration du plugin qui prévalent.

Régler le plugin

Pour effectuer ces réglages, allez dans »Configuration » -> « Cfg » -> « Configurer le plugin Spip-Bible ».

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.

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

Notes

[1] pour le moment, il n’est possible de le faire qu’avec la Bible de Jérusalem

Retour en haut de la page

27 Messages de forum

Voir toute la discussion

Pages 1 | 2 | 3

  • Répondre à ce message

    2 décembre 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é

  • Répondre à ce message

    2 décembre 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.

  • Répondre à ce message

    1er novembre 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

    1er novembre 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.

  • Répondre à ce message

    23 octobre 19:43 , par Alain

    Exact, j’ai corrigé tous les <? en <?phpet le problème a disparuCa marche !!! ;-) Merci Matthieuet Notepad++

  • Répondre à ce message

    23 octobre 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 ...

  • Répondre à ce message

    23 octobre 19:23 , par Matthieu Marcillaud

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

  • Répondre à ce message

    23 octobre 19:18 , par Cedric Morin

    Essaye peut-être "Lève toi et marche !..." ?

  • Répondre à ce message

    23 octobre 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 ?

  • Répondre à ce message

    9 octobre 22:54 , par Lisanga Developpement

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

    Bravo !!

Pages 1 | 2 | 3

Répondre à cet article

Retour en haut de la page

Ça discute par ici

SPIP | Squelette | | Plan du site | Suivre la vie du site RSS 2.0