Ceci est une ancienne révision du document !



Créer un module sword pour les logiciels de lecture biblique

Il existe plusieurs format pour créer un modules, vpl, imp, et osis entre autre. Ici nous favoriserons le format osis.

Créer le fichier sfm

La première chose à faire est de télécharger ce PDF qui vous donnera toutes les références nécessaires à la création d'un fichier sfm, ainsi que les codes propres à chaque livre biblique. Dans un premier temps lorsque vous aurez récupéré ou converti en fichiers texte les livres bibliques, il faudra commencer par renommer chaque livre par son numéro d'identification, comme indiqué dans le pdf plus haut. Par exemple pour la Genèse vous nommerez votre fichier 01_GEN_nom_de_bible.sfm. Cela fait, modifiez votre fichier texte, pour qu'il ressemble à ceci:

\id GEN
\mt1 LA GENÈSE
\c 1
\p  
\mt2 I — LES ORIGINES DE L’HUMANITÉ
\mt2  La Parole de Dieu ordonne le monde
\v 1 Au commencement Dieu créa le ciel et la terre.
\v 2 La terre était informe et vide, les ténèbres couvraient l’abîme, et l’Esprit de Dieu planait au-dessus des eaux.
\v 3 Dieu dit : “Que la lumière soit !” Et la lumière fut.
\v 4 Dieu vit que la lumière était bonne, et Dieu sépara la lumière d’avec les ténèbres.

Chaque numéro de chapitre est précédé par \c, puis suivi par \p. Chaque verset est précédé par \v. Vous trouverez la signification des autres codes dans le PDF. Pour faire cela rapidement il peut être utile d'utiliser sed, puis grep pour les éventuelles erreurs. Ce petit script peut vous être utile, à vous de l'adapter à votre fichier de base:

#!/bin/bash
#Pour supprimer les bom des fichiers utf8
find . -type f -exec sed 's/\xEF\xBB\xBF//g' -i.bak {} \; -exec rm {}.bak \;
# pour chaque fichier dans ls *.sfm
for FILE in `ls *.sfm` ; do
#Commence par mettre à la ligne chaque verset
  sed -i 's/ [0-9][0-9] /\n&/g' $FILE
  sed -i 's/ [0-9] /\n&/g' $FILE
#Supprime les espaces éventuel en début de ligne
  sed -i 's/^[ ]*//g' $FILE
#Supprime les lignes vide et ajoute "\id \mt1" à la première ligne
  sed -i '/./!d; 1i\\\id \n\\mt1 ' $FILE
#Colle la ligne 2 et 3
  sed -i '/\\mt1$/N; s/\n/ /' $FILE
#Ajout "\v " devant chaque ligne commençant par un puis deux chiffres suivit d'un espace et de texte
  sed -i 's/^[0-9] [a-z]*/\\v &/g' $FILE
  sed -i 's/^[0-9][0-9] [a-z]*/\\v &/g' $FILE
#ajoute \c devant chaque ligne commencant par deux chiffre
  sed -i 's/^[0-9]+\n/\\c &\n\\p/g' $FILE
  #rename 's/txt/sfm/g' $FILE Commande à utiliser si vous voulez travailler avec des fichier .txt
  # Mettre \mt1 devant les noms des livres bibliques
  #sed -i 's/^[A-Z]/\\mt1 &/g' $FILE
  #sed -i 's/^[1-2] [A-Z]/\\mt1 &/g' $FILE
done

Attention au possible problème d'espace (comme les espaces cadratin) qui peuvent se glisser dans votre texte. Dans ce cas utilisez l'expression régulière \s pour les supprimer ou les remplacer, plutôt que le vrai " " dans le script sed… Il vous faudra encore compléter manuellement le code du livre biblique à la première ligne du fichier sfm après \id.

Convertir au format osis

Une fois vos fichiers bien codés en .sfm il faudra les convertir en osis. Pour cela, téléchargez le script usfm2osis.py ici. Décompressez-le dans le dossier contenant les fichier .sfm. Lancez-le comme suit:

./usfm2osis.py Nom_de_votre_bible -x *sfm

L'option -x est obligatoire sinon le script ne fonctionne pas. Vérifiez qu'il ne vous retourne pas d'erreur, si c'est le cas, corrigez-les. Si vous ne savez pas dans quel fichier se trouve l'erreur, utilisez la commande grep pour les trouver. Les erreurs fréquentes sont un code collé à un chiffre, par exemple \v1 au lieu de \v 1, ou un chiffre collé à un verset, par exemple \v 1Alors… au lieu de \v 1 Alors….

Créer le module final

L'archive

Maintenant que votre fichier osis est prêt il ne vous reste plus qu'à exécutez les outils sword, dans notre cas il s'agit du script osis2mod. Pour créer le module, toujours dans le dossier où se trouve les fichiers sfm, créez un dossier avec le nom de votre bible, puis lancez la commande suivante:

osis2mod Le_nom_du_dossier_de_votre_bible/ votre_fichier_osis.xml -z -v Catholic

Ici à titre d'exemple l'option -v est suivit de Catholic, cela correspond au type de versification de votre bible. Avec la commande :

osis2mod -h

Vous pourrez voir tous les types de versification possible. Placez le dossier contenant l'archive dans ./sword/modules/texts/ztext/ ou si vous souhaitez le rendre accéssible pour tous les utilisateurs, /usr/share/sword/modules/texts/ztext/.

Le fichier .conf

Une fois créer l'archive, il vous faudra encore créer le fichier .conf de votre bible, fichier à mettre dans le dossier ./sword/mods.d ou pour tous les utilisateurs dans /usr/share/sword/mods.d/. Le contenu est le suivant, en adaptant à votre bible:

[Nom de la bible]
DataPath=./modules/texts/ztext/Dossier de l'archive/
ModDrv=zText
Encoding=UTF-8
BlockType=BOOK
CompressType=ZIP
SourceType=OSIS
Lang=la langue de votre bible, fr pour le français
GlobalOptionFilter=
SwordVersionDate=2012-03-08
Version=0.1
History_0.1=Version de base
TextSource=LBOL
LCSH=
DistributionLicense=copyright
Description=
About=
Versification=Catholic, ou une autre versification si vous avez fait un autre choix
InstallSize=la taille de votre module
  • sword_creer_module_biblique.1433607441.txt.gz
  • Dernière modification: Le 06/06/2015, 18:17
  • par L'Africain