Auto-éditer un wikilivre/Annexer (Version internationalisée)

Structure spéciale de cette page : Annexer_(Version_internationalisée)
L'article est structuré pour faciliter les téléchargements des codes sans perte d'information, directement ou grâce aux programmes mis à disposition.
Les applications de téléchargement disposent leurs propres programmes d'installation.
Le but final est de générer les pages Annexe des livres de wikibooks.
Notez que la page Index des livres n'est possible qu'à l'aide de programmes spécialisés comme OpenOffice, LibreOffice, ou autres.
En travauxlink={{{link}}}

Cette page est en travaux. Tant que cet avis n'aura pas disparu, veuillez en considérer le plan et le contenu encore incomplets, temporaires et sujets à caution. Si vous souhaitez participer, il vous est recommandé de consulter sa page de discussion au préalable, où des informations peuvent être données sur l'avancement des travaux.


Développement international des scripts modifier

Add_appendix (Annexer Version internationalisée) modifier

 
Add Appendix

Cette version est à utiliser sous linux.

(Fichiers d'installation et de dépendances) modifier

Ces processus avec mkd et mkddoccu vont probablement être abandonnés très prochainement. (Commentaire du 9 avril 2021 à 17:29 (CEST))

mkd et mkddocu modifier

  • Le logiciel mkd est utilisé dans l'exécution du programme annex
  • mkddocu est utilisé avec la liste des modules de programme annex.prj pour dresser la liste des messages à traduire en d'autres langues. La langue de références est l'anglais.

Stucture du répertoire Add_appendix modifier

*** Copier les codes sources avec la version imprimable modifier

  Version imprimable pour copier-coller Cette version tient compte de la mise à jour des codes.
Copier les fichiers sources, les coller dans un éditeur de texte, les enregistrer dans les répertoires spécialisés : ~/Add_appendix/ lib, src, tests, etc.
Pour plus de détails sur les fichiers consulter les paragraphes ci-après

Codes sources (internationalized source code) modifier

  • Globalement, les répertoires des binaires des systèmes unix/linux sont naturellement intégrés dans l'environnement de travail.
  • Localement, on peut copier les fichiers dans le répertoire racine de l'application,
    dans :
~/Annexer/src/ pour les sources, et ~/Annexer/bin/ pour les exécutables,
auquel cas, ajouter le chemin ~/Annexer/bin/ dans le path de l'environnement de travail.
Ouvrir un terminal et taper la commande suivante, ou l'inclure dans une commande d'exécution du terminal[1] :
 selon le répertoire racine 
 export PATH=$PATH:~/Annexer/bin
 ou
 export PATH=$PATH:~/Add_appendix/bin 
Dans ce cas on met tous les exécutables dans ce même répertoire bin et on peut générer les Annexes dans le répertoire Annexer/projet ou Add_appendix/projet, projet est habituellement le nom du livre.
Ce path ajouté prend fin avec la clôture du terminal.


Les codes ci-dessous doivent être installés dans le répertoire 'lib'

annex.lib modifier

25/10/2021, Liste des dernières mise à jour de Add_appendix/lib/src:
annex.lib.sh: VERSION=211019
cpcleaned2bin.sh: VERSION=211020
ecfpb.sh: VERSION=210429
ecfpc.sh: VERSION=210429
findbook.sh: VERSION=211019
killalldoc.sh: VERSION=211019

  vβ 211019 Auto-éditer_un_wikilivre/Annexer_(Version_internationalisée)/src/annex.lib
La fontion findbook est validée, les fonctions ecfp* sont à réviser. 17 mai 2021 à 11:38 (CEST)

* Si vous désirez éprouver ces codes, vous pouvez les installer dans les répertoires ~/Add_appendix/tests/1-annex.lib/<sous-répertoires : 11-findbook.sh/, 12-ecfpb.sh/, 13-ecfpc.sh/ >

  β-210514 - Tester le code source de la fonction findbook avec le programme test_findbook.bash (extrait les lien (urls) du Sommaire, du Contenu ou de la Compilation pour préparer la création de l'annexe des livres)

  β-211020 - Tester le code source de la fonction cpcleaned2bin avec le programme test_cpcleaned2bin.bash

  β-210409 - Tester le code source de la fonction ecfpb avec test_ecfpb.bash] (extrait le contenu des livres imprimables)

  β-210415 - Tester le code source de la fonction ecfpc function with test_ecfpc.bash (extrait le contenu des livres compilés)

  β-211019 - Tester le code source de la fonction killalldoc function with test_killalldoc.bash (le fichier est composé de trois fonctions:
This funtions clean sripts to create executables files for translations with compil2bin executable script
killalldoc function eliminates all comment lines starting with #D #M #O #P #T in the first column.
killDMOPT function replaces all comment lines starting with #D #M #O #P #T in the first column with a blank line. This keeps the line number of the translations.
killOPT function replaces all comment lines starting with #O #P #T in first column with a blank line. This keeps the line number for the translations )

Codes sources modifier

25/10/2021, Liste des dernières mise à jour de Add_appendix/src:
addappendix.sh: VERSION=211006, annexer.sh: VERSION=211006
pre-annex.sh: VERSION=211005
annex.sh: VERSION=211004
header.inc.sh: VERSION=210519
list.sh: VERSION=210523
download.sh: VERSION=210619
add_sclt.sh: VERSION=211006, en_sclt.inc.sh:, fr_sclt.inc.sh:
scli.inc.sh: VERSION=211008
add_sclic.sh: VERSION=211008, en_sclic.inc.sh: VERSION=211008, fr_sclic.inc.sh:
add_sclipco.sh: VERSION=211008, en_sclipco.inc.sh:, fr_sclipco.inc.sh:
add_sclipwb.sh: VERSION=211008, en_sclipwb.inc.sh: VERSION=211008, fr_sclipwb.inc.sh:
Les codes sources .sh ci-dessous doivent être installés dans le répertoire d'installation tests, ils peuvent êtres copiés dans le répertoire src après les tests, puis nettoyés des commentaires, sans l'extension .sh, ou encore être compilés avec l’extension .x dans le répertoire bin, pour les librairies; les sources doivent être installés dans les répertoires tests/1-annex.lib/*, et être copiés dans le répertoire local lib après les tests.

add_appendix.sh + annexer.sh modifier

  vβ 220304 Auto-éditer_un_wikilivre/Annexer_(Version_internationalisée)/src/addappendix.sh+annexer.sh
L'internationalisation des messages est faite

pre-annex.sh modifier

  vβ 211005 Auto-éditer_un_wikilivre/Annexer_(Version_internationalisée)/src/pre-annex.sh
L'internationalisation des messages est faite

header.inc.sh modifier

  vβ 210519 Auto-éditer un wikilivre/Annexer (Version internationalisée)/src/header.inc.sh
L'internationalisation des messages est faite

annex.sh modifier

  vβ 211004 Auto-éditer_un_wikilivre/Annexer_(Version_internationalisée)/src/annex.sh
L'internationalisation des messages est faite

list.sh modifier

  vβ 210523 Auto-éditer_un_wikilivre/Annexer_(Version_internationalisée)/src/list.sh

download.sh modifier

  vβ 210619 Auto-éditer_un_wikilivre/Annexer_(Version_internationalisée)/src/download.sh

add_sclt.sh modifier

  vβ 211006 Auto-éditer_un_wikilivre/Annexer_(Version_internationalisée)/src/add_sclt.sh

scli.inc.sh modifier

  vβ 211008 Auto-éditer_un_wikilivre/Annexer_(Version_internationalisée)/src/scli.inc.sh

add_sclic.sh modifier

  vβ 210819 Auto-éditer_un_wikilivre/Annexer_(Version_internationalisée)/src/add_sclic.sh

add_sclipco.sh modifier

  vβ 211008 Auto-éditer_un_wikilivre/Annexer_(Version_internationalisée)/src/add_sclipco.sh

add_sclipwb.sh modifier

  vβ 211008 Auto-éditer_un_wikilivre/Annexer_(Version_internationalisée)/src/add_sclipwb.sh



Commandes d'administration modifier

Mise à jour des sources de commandes d'administration modifier

25/10/2021, Liste des dernières mise à jour de Add_appendix/sbin:

/home/jpl/Add_appendix/sbin/BINFILES_VERSIONS

  • compil2bin: VERSION=211113
  • docu2html: VERSION=211123
  • findversions: VERSION=211124
  • htmlman: VERSION=211122
  • install_annex: VERSION=211018
  • install_datasfiles: VERSION=210919
  • makeman_annex: textman: VERSION=211122
  • updt-manuals: VERSION=211120
  • userman: VERSION=211122
  • users_install_annex: VERSION=211101

Les codes d'installation ou/et de réinstallation de la version internationalisée sont habituellement installées dans le <répertoire_d'installation>/sbin. On peut les installer dans /usr/local/sbin pour en avoir un accès direct.
En cas d'installation du programme annex, annexer, addappendix, dans /usr/local, ces fichiers de commandes sont naturellement installés dans le répertoire /usr/local/sbin

Commandes de présentation des manuels modifier

  • Ces trois commandes permettent de visualiser les manuels aux formats html, texte, et manuel traditionnel (roff compressé)
  • La recherche des manuels se font prioritairement dans les répertoires man de l'application.
  1. En premier en accord avec la langue de l'utilisateur
  2. En second en anglais dans le répertoire man1 local
  3. En cas de défaut les commandes ci après recherchent le manuel dans /usr/share/man/man1 en langue anglaise
  4. Si le manuel n'est pas trouvé dans il faut tenter la commande man traditionnelle qui permet l'accès aux manuels dans la langue de utilisateur.
Pour une utilisation directe
Les commandes peuvent être placées
  1. dans /usr/local/sbin sans l'extension .sh
  2. dans la liste des alias précisées à l'exécution de la commande, par exemple :
 alias ~/Add-appendix/sbin/htmlman

Liste des manuels du logiciel (bin) modifier

annexer, addappendix, annex

Liste des manuels de maintenance (sbin) modifier

compil2bin, findversions, docu2html, install_datasfiles

htmlman.sh modifier

  vβ 211122 Auto-éditer_un_wikilivre/Annexer_(Version_internationalisée)/htmlman.sh

textman.sh modifier

  vβ 211122 Auto-éditer_un_wikilivre/Annexer_(Version_internationalisée)/textman.sh

userman.sh modifier

  vβ 211122 Auto-éditer_un_wikilivre/Annexer_(Version_internationalisée)/userman.sh

Commandes de maintenance des manuels modifier

docu2html.sh modifier

  vβ 211123 Auto-éditer_un_wikilivre/Annexer_(Version_internationalisée)/sbin/manuels/doc2html.sh

makeman_annex.sh modifier

  vβ 211122 Auto-éditer_un_wikilivre/Annexer_(Version_internationalisée)/makeman_annex.sh

updt-manuals.sh modifier

  vβ 211126 Auto-éditer_un_wikilivre/Annexer_(Version_internationalisée)/updt-manuals.sh

Programmes d'installation modifier

Commandes de maintenance d'installation modifier

compil2bin and cp-src2bin modifier

cp-src2bin.sh installe les fichiers exécutables du programme dans le répertoire bin à partir des fichiers sources.
  vβ 211113 Auto-éditer_un_wikilivre/Annexer_(Version_internationalisée)/cp-src2bin.sh

copy all tested files and commands to src, bin, lib, sbin directories modifier

cp_all_to_Add_appendix.bash copie toutes les commandes testées dans les répertoires des tests, vers les répertoires src, bin, lib et sbin de Add_appendix.
Cette version, depuis le 28 août 2021 prend en compte l'installation des traductions.
  vβ 211205 Auto-éditer_un_wikilivre/Annexer_(Version_internationalisée)/cp_all_to_Add_appendix.bash

findversions.sh modifier

  vβ 211124 Auto-éditer_un_wikilivre/Annexer_(Version_internationalisée)/findversions.sh

install_datasfiles.sh modifier

  vβ 211125 Auto-éditer_un_wikilivre/Annexer_(Version_internationalisée)/install_datasfiles.sh

Installation de la structure de répertoires modifier

  • Noter que le logiciel annexer et addapendix seront téléchargeables sous forme de paquets pour Linux.

Ils pourraient ainsi être installés sur des serveurs et être utilisables avec des terminaux ou de consoles.
Il existe des terminaux pour tous les systèmes d’exploitation.

users_install and users_uninstall annex.sh modifier

users_install_annex.sh: Installe la structure des répertoires de base du programme Annexer ou Add_appendix pour les utilisateurs.
Cette commande peut être ré-exécutée à volonté.
  vβ 211101 users_install_annex.sh

admins_install_annex.sh modifier

En cours de révision
admins_install_annex.sh: Cette commande s'est complexifiée au cours du temps. Elle permet d'installer une structure très complète des répertoire dans le répertoire de l'utilisateur, et aussi dans le système de fichiers linux.
Elle peut être ré-exécutée à volonté.
  vβ 211020 admins_install_annex.sh

install_annex.sh in linux system modifier
VERSION=211018

En cours de révision
À exécuter deux fois !
install_annex.sh: Cette commande permet d'installer la structure des répertoire dans le répertoire de l'utilisateur avec les répertoires et outils essentiels et le logiciel est disponible pour tous dans le système de fichiers unix ou linux.
Elle peut être ré-exécutée à volonté.
  vβ 210919 install_annex.sh

Exemples de fichiers de traductions (Translations files) modifier

header.inc.pot et annex.pot (sources en anglais) modifier

Les fichiers .pot sont produits par les commandes suivantes:
Avec: Installdir=~/Add_appendix ou ~/Annexer

if test -e $Installdir/bin/header.inc; then
  xgettext -L shell -o $Installdir/share/locale/header.inc.pot --from-code=UTF-8 $Installdir/bin/header.inc; fi
if test -e $Installdir/bin/annex; then
  xgettext -L shell -o $Installdir/share/locale/annex.pot --from-code=UTF-8 $Installdir/bin/annex; fi

Exemples modifier

header.inc.pot 2020-05-24
annex.pot 2020-05-24

header_es.po et annex_es.po espagnol modifier

Ce sont des exemples.
Ils sont produits par copie des fichiers .pot pour procéder à la traduction:
Avec: Installdir=~/Add_appendix ou ~/Annexer

cp $Installdir/share/locale/header.inc.pot $Installdir/share/locale/es/header.inc.po
cp $Installdir/share/locale/annex.pot $Installdir/share/locale/es/annex.po

Lorsque les traductions sont effectuées avec un éditeur comme Poedit, et enregistrées, on exécute la commande:

msgfmt $Installdir/share/locale/es/header.inc.po -o $Installdir/share/locale/es/LC_MESSAGES/header.inc.mo
msgfmt $Installdir/share/locale/es/annex.po -o $Installdir/share/locale/es/LC_MESSAGES/annex.mo

Si on veut utiliser la traduction de ces messages en local il faut le préciser dans l'entête des scripts
Pour exemple avec header.inc:

TEXTDOMAIN=header.inc 
TEXTDOMAINDIR=$Installdir/share/locale

La traduction se fera avec le fichier header.inc.mo depuis le répertoire spécifié avec TEXTDOMAINDIR
header.inc est un fichier appelé par d'autres scripts et les variables vont changer. Au retour du script header.inc il faut restaurer les variables du script d'appel faute de quoi la traduction ne sera plus assurée pour le script appelant.
Pour TEXTDOMAINDIR Il est préférable de conserver la valeur du programme appelant dans le programme appelé, et de placer les fichiers .mo dans /usr/share/locale/ On peut dans ce cas exporter TEXDOMAINDIR dans les shells fils du shell courant (variable d'environnement)

sudo cp $Installdir/share/locale/es/LC_MESSAGES/header.inc.mo /usr/share/locale/es/LC_MESSAGES/header.inc.mo
TEXTDOMAINDIR=/usr/share/locale
export TEXTDOMAINDIR
  • Note: le logiciel Poedit produit aussi un fichier .mo dans le même répertoire que le fichier .po il faut alors le déplacer vers le répertoire LC_MESSAGES pour que la traduction fonctionne.
  • Poedit mémorise les traductions dans un catalogue que l'on crée tel Add_appendix pointant vers les fichiers du répertoire Add_appendix/share/locale, Add_appendix/share/locale/fr, Add_appendix/share/locale/es, etc. qui contient les fichiers à traduire.
    Il faut veiller à mettre le catalogue à jour à la fin de la traduction, au moment de ma sauvegarde.

Exemples modifier

Ces fichiers ne sont pas obligatoirement à jour, ils sont là pour mémoire et pour démonstration.
Auto-éditer un wikilivre/Annexer (Version internationalisée)/src/lang/po/header.inc_es.po
annex_es.po 2020-07-15

header_fr.po et annex_fr.po français modifier

Ce sont des exemples de traductions que vous pouvez modifier.

Exemples modifier

header.inc.sh_fr_FR.po 2021-03-30
annex.sh_fr_FR.po 2020-05-24

Manuels (Manuals) for Add_appendix Beta 210828 modifier

annex.1 standard en anglais modifier

  vβ 210830 Auto-éditer un wikilivre/Annexer (Version internationalisée)/manuels/annex.1

annex_es.1 espagnol modifier

  vβ 210726 Auto-éditer un wikilivre/Annexer (Version internationalisée)/sbin/manuels/annex_es.1

annex_fr.1 français modifier

  vβ 211214 Auto-éditer un wikilivre/Annexer (Version internationalisée)/manuels/annex_fr.1

docu2html.sh modifier

Ce script crée les manuels en versions compressées *.gz, et *.html, *.txt puis les place dans les répertoires appropriés, ./lang/man1/*.gz ./lang/doc/html/*.html ./lang/doc/txt/*.txt
Noter que les répertoire /usr/share/man/lang/* sont en standard dans les systèmes unix/linux et permettent l'affichage avec la commande man alors que les répertoires html et txt n'existent pas et ne sont pas reconnus.
Les manuels html permettent d'afficher les manuels dans le navigateur, et les manuels txt sont destinés à l'impression.

  vβ 211123 Auto-éditer un wikilivre/Annexer (Version internationalisée)/sbin/manuels/doc2html.sh

Fichiers généraux (General files) modifier

documentation modifier

Auto-éditer un wikilivre/Annexer (Version internationalisée)/docu

icons modifier

  vβ 211213 Auto-éditer un wikilivre/Annexer (Version internationalisée)/icons

locale modifier

  • Met à jour et installe les traductions.

  vβ 211216 Auto-éditer un wikilivre/Annexer (Version internationalisée)/locale

mime modifier

  • mise à jour de mime-database

  vβ 211212 Auto-éditer un wikilivre/Annexer (Version internationalisée)/mime

man modifier

  • Mise à jour des scripts éprouvés

  vβ 211214 Auto-éditer un wikilivre/Annexer (Version internationalisée)/man

Makefile d'installation de Add-appendix proposé aux tests modifier

  • Cette application version 220304 est une version bêta (imparfaite). Ce script servira de base à la construction du paquet Ubuntu addappendix.
  • Ce Makefile se place dans le répertoire Add_appendix et installe tout le logiciel dans le système Linux.
    Les scripts exécutables se trouvent dans /usr/local, les manuels, les icônes et les fichiers de langues se trouvent à leur place, intégrés dans le système linux.
  • Après cette installation on peut, si on le désire, supprimer presque tout le contenu du répertoire ~/Add_appendix pour gagner de la place (6 Mo) dans un système Linux installé en mémoire usb.
    On conserve le répertoire books et les notes d'application README, voire le répertoire docu, les répertoire des manuels et des langues afin de corriger les fichiers s'il y a lieu.

  vβ 220304 Auto-éditer un wikilivre/Annexer (Version internationalisée)/Makefile

  • Installez linux sur une barrette mémoire amovible auto-amorçable (bootable)
    Reconfigurez le setup (touche F2) en cas de défaut du démarrage automatique avec la barette.

Développement du logiciel modifier

  • Avec ce Makefile d'installation, la construction du logiciel Add-appendix prend fin. Les fichiers de programme, de maintenance, avec ses manuels et de traductions serviront à créer le paquet ubuntu addappendix d'installation complètement automatique et téléchargeable sur un site de confiance.
  • Tout a commencé avec ces pages: Autoréférencer
  • Voir aussi la page d'évolution des scripts depuis les premiers confinements: Annexes de wikibooks

Références modifier

  1. https://www.linuxtricks.fr/wiki/personnaliser-son-shell-alias-couleurs-bashrc-cshrc