# Auto-éditer un wikilivre/addappendix

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.

# Préambule

Ce livre technique fait suite à une série d'articles dont le sujet est la création de la page "Annexe" des livres de Wikibooks.
La pandémie de COVID-19 a libéré du temps, a créé de la frustration avec le désir de s'occuper pendant le confinement. De cette liberté restreinte est née l'envie d'écrire et, pourquoi pas, promouvoir la programmation en langage shell bash qui est à la portée de tout le monde$^{Enfin....presque}$. Ce langage est près du processeur, il est rapide, on l'apprend facilement.
Les livres compilés pour Pedia-Press ont certes belle allure, les livres sont de qualité mais leur compilation ne permet pas toujours la présentation voulue par l'auteur. De plus, le créateur de collection d'articles Créer une compilation dans le menu Imprimer / exploiter de la page wikibooks, il se trouve généralement à gauche de votre navigateur, ne donne plus ce qu'il promet: les livres aux formats PDF et ODF. Le logiciel est-il obsolète ?
Alors autant s'amuser tout en apprenant les algorithmes de programmation: Écrire un logiciel qui crée la page annexe de nos livres ..
Un historique de ce divertissement est décrit dans le livre technique: Annexes de wikibooks.
On peut étudier les scripts de faisabilité et de la version française imprimable: Annexer (Version orignale).

# Table des matières

À la fin, après copie du TOC ajouter les numéros des pages puis supprimer le TOC ou créer la table des matières avec OpenOffice.

# Documents et directives

$^{vβ220109}$

## Généralités

* Les messages et les manuels doivent être écrits en anglais puis traduits dans d'autres langues.

## Directives libres de programmation

    Directive de programmation établie par Goelette Cardabela et J Clara . Janvier 2022
    y-a-t-il une contradiction entre directive et libre ?
* Le langage de programmation est le shell BASH non compilé afin d'être accessible à la compréhension.
* L'indentation des lignes de scripts est à la discrétion des programmeurs.
* Les fichiers de commandes pour sbin/ pourront éventuellement être compilés avec shc sans l'extension .sh.x
* Les fichiers sources bash auront l'extension .sh
* Les fichiers exécutables seront obtenus par extraction du code shell et les messages seront extraits en fichiers .pot
* Les fichiers .pot devront rester à la disposition des mainteneurs et des utilisateurs pour assurer les traductions dans d'autres langues sans qu'il soit nécessaire de mettre le paquet à jour. Ces fichiers .pot seront disponibles dans le répertoire /usr/share/doc/addapendix
* Les scripts doivent être largement documentés en anglais pour assurer la maintenance universelle.
* Les organigrammes commencent par #O en première colonne.
* Les commentaires pour les programmeurs commencent par #P en première colonne.
* Les points particulier d'attention commencent par #w en première colonne
* Les entêtes commencent par #H en première colonne
Convention d'entêtes :

### Encodage du programme principal

    Directive d'encodage établie par J Clara . Janvier 2022
* Le logiciel addappendix n'aura qu'un seul programme principal contrairement aux logiciels Annexer et Add_appendix qui disposent de plusieurs points d'entrée dont la principale est annex.
* La ligne de commandes contiendra uniquement le lien vers le livre compilé et les deux options « ? » et « -v » la commande sera détaillée dans le manuel.
* Le script addappendix.sh pourra être constitué de parties des scripts déjà éprouvés du logiciel Add_appendix.
* Les fichiers qui ne contiennent pas de texte traductible avec gettext pourront être inclus dans le script addappendix.sh avec la directive « source » ou « . ». Ces scripts devront être accessibles dans la librairie addappendix.lib (/usr/lib/addappendix.lib ou /usr/local/lib/addapendix.lib) selon la directive d'installation du paquet.
* Les scripts seront éprouvés dans le répertoire des tests puis assemblés progressivement en un seul. Noter que les scripts ont déjà été éprouves avec Add_apendix.

## Documents pour l'utilisateur
### manuel wiki

* Ce manuel est commun à la série des logiciels Add_appendix (annexer, annex, add_appendix, addappendix)
    français: Manuels Wiki pour les logiciels Add_appendix
    anglais: Wiki manuals for Add_appendix softwares

### manuel traditionnel
#### code du manuel pour annex (Dec 2021)

Un contributeur est en train de retravailler en profondeur cette page. Vous êtes prié(e) d'éviter de le modifier pour limiter les risques de conflit de versions jusqu'à disparition de cet avertissement. Merci.
* Le code comprimé addappendix.1.gz en anglais doit être placé dans le répertoire par défaut /usr/share/man/man1/.
* Le code comprimé addappendix.1.gz traduit en français doit être placé dans /usr/share/man/fr.UTF-8/man1/.

#### aperçu du manuel annex (Dec 2021)
### manuels texte
#### Ces manuels se trouvent dans /usr/share/doc/addappendix/

    addapendix_de.txt, addappendix_en.txt, addappendix_fr.txt
    Si le manuel existe dans d'autres langues on peut les créer par la commande:

### manuel html
#### Ces manuels se trouvent dans /usr/share/doc/addappendix/html/

    addappendix_de.html, addappendix_en.html, addappendix_fr.html
    Ces manuels sont généralement accessibles par un fichier d'index ou par un alias (voir: comment créer un alias)
    Si le manuel existe dans d'autres langues on peut utiliser la commande man2html (voir le manuel: man man2html)

# Construction et tests du script addappendix

$^{vβ220113}$
Un contributeur est en train de retravailler en profondeur cette page. Vous êtes prié(e) d'éviter de le modifier pour limiter les risques de conflit de versions jusqu'à disparition de cet avertissement. Merci.
* Cette page concerne le logiciel addappendix mis en paquet

## script tests_addappendix.bash
### Résultat des tests
#### List of book files created 31/01/2022
### Appendix en anglais créée avec addappendix le 25 février 2022

* À consulter :
Appendix de la compilation Faire_sa_fleur_de_sel, le 25 février 2022, avec la version internationalisée addappendix pour l'empaquetage linux;

### Annexe en français créée avec addappendix le 6 mars 2022

Annexes de la compilation avec la traduction fr/LC_MESSAGES/addappendix.mo
* À comparer avec la version de juin 2020 :
Annexe de Faire_fleurir_le_sel, Juin 2020, avec la première version Annexer

## Tests du script d’installation du logiciel par Makefile
### liste des réperoires créés
# Construction du paquet ubuntu

* Création d'un paquet dit origine
$^{vβ211220}$

## Créer l'archive origine

* Le répertoire d’origine doit être en caractères minuscules
* Il doit être de la forme <package>-<version>
* Notre répertoire origine aura pour nom addappendix-211219

### Créer l'original

    Entrer dans le répertoire addappendix-211219'
Nous obtenons à l'exécution avec l'option 'i' (indep):
* Cette commande va créer
* l'archive /home/cardabela/addappendix_211219.orig.tar.xz
* le répertoire /home/cardabela/addappendix_211219/debian qui contiendra les fichiers standard d'empaquetage:
On peut supprimer addappendix.doc-base.EX

## Mise à jour des fichiers d'empaquetage

Note: https://www.debian.org/doc/manuals/maint-guide/dother.en.html#docs

### changelog

changelog initial
* changelog peut être unstable, experimental, unreleased, version de linux ubuntu.
* utiliser unreleased pour éviter l'enregistrement par erreur sur le ppa

### addappendix-docs.docs

* Ces fichiers se trouvent dans le répertoire origine
* Attention README sans extension dans le répertoire origine concerne les versions de Add_appendix indépendantes du paquet

### postrm
## Créer le Makefile original

* Ce 'Makefile' est destiné aux tests afin de l'intégrer dans la production d'un 'paquet' ubuntu.
* Il doit être placé dans le répertoire dit 'origine' addappendix_211219 qui contient les sources.
* On entend par sources, toutes les sources, du programme, de la maintenance, des images, etc.
    On se contentera d'adapter le Makefis d'installation
Auto-éditer un wikilivre/Annexer (Version internationalisée)/Makefile

## Empaqueter

* ↑ https://fr.wikibooks.org/wiki/Annexes_de_wikibooks
* ↑ https://fr.wikibooks.org/wiki/Auto-éditer_un_wikilivre/Annexer_(Version_orignale)/Version_imprimable