Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
sword_creer_module_biblique [Le 12/12/2016, 17:11] – tag et note L'Africainsword_creer_module_biblique [Le 18/09/2026, 02:05] (Version actuelle) – https://forum.ubuntu-fr.org/viewtopic.php?id=2096490 krodelabestiole
Ligne 1: Ligne 1:
-{{tag>Xenial Trusty Bible}}+{{tag>Jammy Bible}}
  
------ +====== Créer un module sword pour les applications de lecture biblique ======
-======Créer un module sword pour les logiciels de lecture biblique======+
  
 Le projet SWORD est un projet de logiciel libre de l'organisation **CrossWire Bible Society Bible**. Son but est de créer des outils libres (couverts par la licence GPL) multiplate-formes, permettant ainsi aux programmeurs et aux sociétés bibliques d'écrire plus facilement et plus rapidement de nouveaux logiciels d'étude de la Bible.\\ Le projet SWORD est un projet de logiciel libre de l'organisation **CrossWire Bible Society Bible**. Son but est de créer des outils libres (couverts par la licence GPL) multiplate-formes, permettant ainsi aux programmeurs et aux sociétés bibliques d'écrire plus facilement et plus rapidement de nouveaux logiciels d'étude de la Bible.\\
 Le cœur du projet SWORD est une bibliothèque multiplate-forme écrite en C++, offrant un accès, des fonctions de recherche et d'autres services à une collection grandissante de plus de 200 textes dans plus de 50 langues. Tout logiciel basé sur leur API peut utiliser cette collection.\\ Le cœur du projet SWORD est une bibliothèque multiplate-forme écrite en C++, offrant un accès, des fonctions de recherche et d'autres services à une collection grandissante de plus de 200 textes dans plus de 50 langues. Tout logiciel basé sur leur API peut utiliser cette collection.\\
  
-Le projet est un des premiers à avoir contribué au développement du format **OSIS** (pour Open Scripture Information Standard), un langage XML pour coder les écritures (traductions de la Bible, commentaires etc). +Le projet est un des premiers à avoir contribué au développement du format **OSIS** (pour Open Scripture Information Standard), un langage XML pour coder les écritures (traductions de la Bible, commentaires etc).
 [[:Xiphos]] et [[:Bibletime]] sont des interfaces à Sword, qui permettent son utilisation graphique.\\ [[:Xiphos]] et [[:Bibletime]] sont des interfaces à Sword, qui permettent son utilisation graphique.\\
 Cette page a pour but de vous décrire la procédure pour créer un module biblique avec les outils Sword. Cette page a pour but de vous décrire la procédure pour créer un module biblique avec les outils Sword.
Ligne 21: Ligne 20:
 Il existe plusieurs formats pour créer un module, **vpl**, **imp**, et **osis** entre autre. Ici nous favoriserons le format **osis**. Vous trouverez [[http://www.crosswire.org/wiki/File_Formats|ici]] toutes les informations sur les divers formats possibles. Il existe plusieurs formats pour créer un module, **vpl**, **imp**, et **osis** entre autre. Ici nous favoriserons le format **osis**. Vous trouverez [[http://www.crosswire.org/wiki/File_Formats|ici]] toutes les informations sur les divers formats possibles.
  
-====Créer le fichier sfm==== +====Créer le fichier usfm==== 
-La première chose à faire est de télécharger ce [[http://paratext.org/system/files/usfmReference2_4.pdf|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.+La première chose à faire est de télécharger ce [[http://paratext.org/system/files/usfmReference2_4.pdf|PDF]] qui vous donnera toutes les références nécessaires à la création d'un fichier **usfm**, 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 (vous pouvez utiliser **unoconv** pour cela), il faudra renommer chaque livre par son numéro d'identification, comme indiqué dans le pdf plus haut. Dans un premier temps lorsque vous aurez récupéré ou converti en fichiers texte les livres bibliques (vous pouvez utiliser **unoconv** pour cela), il faudra 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**.+Par exemple pour la Genèse vous nommerez votre fichier **01_GEN_nom_de_bible.usfm**.
 Cela fait, modifier votre fichier texte, pour qu'il ressemble à ceci: Cela fait, modifier votre fichier texte, pour qu'il ressemble à ceci:
-<file>+<file bash>
 \id GEN \id GEN
 \mt1 LA GENÈSE \mt1 LA GENÈSE
 \c 1 \c 1
-\p   +\s I — LES ORIGINES DE L’HUMANITÉ 
-\mt2 I — LES ORIGINES DE L’HUMANITÉ +\s2  La Parole de Dieu ordonne le monde 
-\mt2  La Parole de Dieu ordonne le monde+\p
 \v 1 Au commencement Dieu créa le ciel et la terre. \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 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 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.</file> \v 4 Dieu vit que la lumière était bonne, et Dieu sépara la lumière d’avec les ténèbres.</file>
-Chaque numéro de chapitre est précédé par **\c**, puis suivi par **\p**. +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**.+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. 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: Ce petit script peut vous être utile, à vous de l'adapter à votre fichier de base:
Ligne 59: Ligne 58:
   sed -i 's/^[0-9] [a-z]*/\\v &/g' $FILE   sed -i 's/^[0-9] [a-z]*/\\v &/g' $FILE
   sed -i 's/^[0-9][0-9] [a-z]*/\\v &/g' $FILE   sed -i 's/^[0-9][0-9] [a-z]*/\\v &/g' $FILE
 +  sed -i 's/^[0-9][0-9][0-9] [a-z]*/\\v &/g' $FILE
 +
 #ajoute \c devant chaque ligne commencant par deux chiffre #ajoute \c devant chaque ligne commencant par deux chiffre
   sed -i 's/^[0-9]+\n/\\c &\n\\p/g' $FILE   sed -i 's/^[0-9]+\n/\\c &\n\\p/g' $FILE
 +  sed -i 's/^[0-9][0-9]+\n/\\c &\n\\p/g' $FILE
 +  sed -i 's/^[0-9][0-9][0-9]+\n/\\c &\n\\p/g' $FILE
 +
   #rename 's/txt/sfm/g' $FILE Commande à utiliser si vous voulez travailler avec des fichier .txt   #rename 's/txt/sfm/g' $FILE Commande à utiliser si vous voulez travailler avec des fichier .txt
-  # Mettre \mt1 devant les noms des livres bibliques +  # Mettre \s devant les éventuels titres 
-  #sed -i 's/^[A-Z]/\\mt1 &/g' $FILE +  #sed -i 's/^[A-Z]/\\s1 &/g' $FILE 
-  #sed -i 's/^[1-2] [A-Z]/\\mt1 &/g' $FILE+  #sed -i 's/^[1-2] [A-Z]/\\s1 &/g' $FILE
 done done
 </code> </code>
  
-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 la vrai espace dans le script sed... +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 la vrai espace 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**.+Il vous faudra encore compléter manuellement le code du livre biblique à la première ligne du fichier sfm après ''\id''.
  
-<note tip>À partir de cette étape il est possible d'utiliser [[:Bibledit]] pour la conversion en osis et même en module.</note>+<note tip>À partir de cette étape il est possible d'utiliser [[:Bibledit-Desktop]] pour la conversion en osis et même en module.</note>
  
 ====Convertir au format osis==== ====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** +Une fois vos fichiers bien codés en **.usfm** il faudra les convertir en **osis**. Pour cela, téléchargez le script **u2o.py** 
-[[https://github.com/chrislit/usfm2osis/blob/master/scripts/usfm2osis.py|ici]]. [[:archivage|Décompressez-le]] dans le dossier contenant les fichier **.sfm**.+[[https://github.com/adyeths/u2o/|ici]]. Rendez-le exécutable et copiez-le dans le dossier contenant les fichier **.usfm**.
 Lancez-le comme suit: Lancez-le comme suit:
-<code>./usfm2osis.py Nom_de_votre_bible -x *sfm</code> +<code bash>./u2o.py -e utf-8 -o Nom_de_votre_module.osis.xml -l code_langue -v -d ID_sword *.usfm</code>
-L'option -x est obligatoire sinon le script ne fonctionne pas.+
 Vérifiez qu'il ne vous retourne pas d'erreurs, 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. Vérifiez qu'il ne vous retourne pas d'erreurs, 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...//. 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...//.
Ligne 98: Ligne 101:
 DataPath=./modules/texts/ztext/Dossier de l'archive/ DataPath=./modules/texts/ztext/Dossier de l'archive/
 ModDrv=zText ModDrv=zText
-GlobalOptionFilter=OSISHeadings #Pour afficher les notes, introductions... +GlobalOptionFilter=OSISHeadings #Pour afficher les introductions 
-GlobalOptionFilter=OSISFootnotes+GlobalOptionFilter=OSISFootnotes #Pour afficher les notes
 GlobalOptionFilter=OSISScripref GlobalOptionFilter=OSISScripref
 Encoding=UTF-8 Encoding=UTF-8
Ligne 106: Ligne 109:
 SourceType=OSIS SourceType=OSIS
 Lang=la langue de votre bible, fr pour le français Lang=la langue de votre bible, fr pour le français
-GlobalOptionFilter= +;GlobalOptionFilter= 
-SwordVersionDate=2012-03-08+SwordVersionDate=2017-03-08
 Version=0.1 Version=0.1
 History_0.1=Version de base History_0.1=Version de base
-TextSource=LBOL +;TextSource= 
-LCSH=+;LCSH=
 DistributionLicense=copyright DistributionLicense=copyright
 Description= Description=
Ligne 129: Ligne 132:
 Lang=la langue de votre bible, fr pour le français Lang=la langue de votre bible, fr pour le français
 Category=Commentaries Category=Commentaries
-GlobalOptionFilter= +;GlobalOptionFilter= 
-SwordVersionDate=2012-03-08+SwordVersionDate=2017-03-08
 Version=0.1 Version=0.1
 History_0.1=Version de base History_0.1=Version de base
-TextSource=LBOL +;TextSource= 
-LCSH=+;LCSH=
 DistributionLicense=copyright DistributionLicense=copyright
 Description= Description=
Ligne 150: Ligne 153:
 <?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
  
-<osis xsi:schemaLocation="http://www.bibletechnologies.net/2003/OSIS/namespace +<osis xsi:schemaLocation="http://www.bibletechnologies.net/2003/OSIS/namespace
       http://www.bibletechnologies.net/osisCore.2.1.1.xsd"        http://www.bibletechnologies.net/osisCore.2.1.1.xsd" 
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
Ligne 176: Ligne 179:
  
 <div type="chapter" osisID="Chapter  1"> <div type="chapter" osisID="Chapter  1">
-<p>Ceci est le Chapitre 1, introduction.  +<p>Ceci est le Chapitre 1, introduction. 
-<reference osisRef="Gen.1.1">Genese 1,1</reference> est le premier verset de la Bible.  +<reference osisRef="Gen.1.1">Genese 1,1</reference> est le premier verset de la Bible. 
-<reference osisRef="Rev.22.21">Apocalypse 22,21</reference> est le dernier verset de la Bible.  +<reference osisRef="Rev.22.21">Apocalypse 22,21</reference> est le dernier verset de la Bible. 
-<reference osisRef="Ps.119">Psaume 119</reference> est le plus long chapitre de la Bible.  +<reference osisRef="Ps.119">Psaume 119</reference> est le plus long chapitre de la Bible. 
-<reference osisRef="Prov.1-Prov.9">Proverbes 1-9</reference> introduit le livre des Proverbes.  +<reference osisRef="Prov.1-Prov.9">Proverbes 1-9</reference> introduit le livre des Proverbes. 
-<reference osisRef="John.1-John.1.18">Jean 1,1-18</reference> introduit le livre de Jean. +<reference osisRef="John.1-John.1.18">Jean 1,1-18</reference> introduit le livre de Jean.
 <reference osisRef="2Cor.6.14-2Cor.7.1">2 Corinthiens 6,14-7,1</reference> est un enseignement sur la sainteté. <reference osisRef="2Cor.6.14-2Cor.7.1">2 Corinthiens 6,14-7,1</reference> est un enseignement sur la sainteté.
 </p> </p>
Ligne 291: Ligne 294:
  
 =====Création d'un module pour un dictionnaire ou un calendrier===== =====Création d'un module pour un dictionnaire ou un calendrier=====
-FIXME : cette partie est en cours de test, d'expérimentation, elle est donc imcomplète.+FIXME : cette partie est en cours de test, d'expérimentation, elle est donc incomplète.
 Ceci concerne tout les types de modules sous forme de liste, un dictionnaire, un calendrier, un glossaire... Ceci concerne tout les types de modules sous forme de liste, un dictionnaire, un calendrier, un glossaire...
 Pour créer à l'archive après avoir écrit votre fichier **tei/xml** utilisez ce script: Pour créer à l'archive après avoir écrit votre fichier **tei/xml** utilisez ce script:
 <code>tei2mod <output/path> <teiDoc> [OPTIONS]</code> <code>tei2mod <output/path> <teiDoc> [OPTIONS]</code>
  
-=====Voir aussi==== +===== Voir aussi ====
-  * [[http://www.crosswire.org/wiki/Converting_SFM_Bibles_to_OSIS|Procédure complète sur le site officiel]] (en), +
-  * [[http://www.crosswire.org/sword/index.jsp|Le Projet Sword]], +
-  * [[https://github.com/chrislit/usfm2osis|Le script usfm2osis]].+
  
 +  * [[https://www.crosswire.org/sword/index.jsp|Le Projet Sword]],
 +  * [[https://github.com/chrislit/usfm2osis|Le script usfm2osis]].
  
--------------- +---- 
-Contributeur : [[:utilisateurs:l_africain|L'Africain]]+//[[:Contributeurs]] : [[:utilisateurs:L'Africain]], ...//