# Auto-éditer un wikilivre/Auto-référencer/Annexer (Version 200623)
## Documentation

Informations importantes
Ce programme Annexer commence par header.inc.sh:

### Doc header.inc.sh

* D Le fichier de commandes header.inc.sh doit être inclus dans tous les modules
* D de test du programme principal. Il initialise le répertoire des commandes,
* D le répertoire de travail du projet; le projet est le nom du livre, de
* D l'article ou de la page. Si ils n'existent pas ils seront créés
* D Ce projet éducatif et de tests est destiné à être utilisé sous wikilivres
* D en langue française et en caractères UTF8.
* D Les variables Site et SitePrefix se rapportent à "fr.wikibooks.org".
* D Le programme est prévu pour fonctionner à l'initiative du contributeur qui
* D qui doit copier la page "Contenus" ou la page de la compilation dans le
* D répertoire de travail "~/Annexe/<nom du livre>"
* D Les modules en tests sont indépendants, cependant ils doivent être exécutés
* D dans l'ordre ./header.inc.sh <livre>, ./lister <livre>, ./télécharger <livre>
* D ./ajouter_sclt <livre>, ./ajouter_sclic, ./ajouter_sclip <livre>
* D La liste des pages à analyser est indispensable dans tous les modules en
* D tests. L'absence de la liste des pages à analyser est signalée à chaque
* D lancement des modules du programme principal "Annexer"
* D
* D AVERTISSEMENT : Ce programme avec ses modules doit être utilisé par des
* D wikipédiens, à titre personnel. La structure du résultat est voisine de
* D l'impression par PediaPress. Pour cette raison ce programme n'est pas
* D commercialisable.
* D Extraction de la documentation
* P grep -e '#D' header.inc.sh | sed s/#D//g > <livre>_doc/header.inc.sh.HPw.doc
* P grep -e '#D' header.inc.sh | sed s/#D//g > LivreTest_doc/header.sh.D.doc

### Informations particulères

    Les compilations de livres ont toujours la même structure nécessitée par le compilateur de Pedia-Press, on préfèrera cette structure chaque fois que possible. Les livres imprimables ou simplement éditables sont souvent organisés avec une page de contenu ou un sommaire qui peuvent avoirs des constructions différentes. Il est alors difficile d'automatiser le programme. Dans tous les cas, la simplicité est évidente; il faut produire un fichier qui liste tous les articles à analyser pour la production de l'annexe du livre.
    Des codes ont été créés pour aider les utilisateurs.
    La fonction findbook permet de visualiser les variables. ces variables sont
    globales et ne peuvent être lues que par un programme spécial test-bookurl

### Doc Annexer.sh

* D la commande "annexer" est le programme principal de tests pour créer la
* D page "Annexe" des livres de wikilivres.
* D annexer (module de tests) analyse la ligne de commandes et initialise la
* D variable $Verbose ou affiche la syntaxe à la demande interrogative '?'
* D en premier paramètre.
* D ce programme supprime tous les fichiers obsolètes du répertoire de travail
* D "~/Annexe/<nom du livre>" et de ses sous répertoires, avec l'accord de
* D l'utilisateur.
* D les modules lister, télécharger, ajouter_sclt, ajouter_scli? sont exécutés
* D dans l'ordre, puis pour finir, le fichier "Annexe" du livre est assemblé.
* D à la fin de l'exécution de chaque module il est possible d'interrompre le
* D
* D l'extraction de la documentation peut se faire par la commande :
* D mkd -Stw DOP annexer (D=Docu, O=organigramme, P=pour programmeurs)
* D

## Codes sources du programme Annexer version 200623
### Les fichiers suivants, devront être installés dans le répertoire ~/Annexer/src, puis installés avec cp-localsrc-2-localbin

pre-annex.sh Ce programme (version 210512) est suggéré pour préparer la construction de l'annexe du livre n'hésitez pas à l’essayer
header.inc.sh Fichier d'entête, inclus dans tous les modules.
lister.sh Crée les fichiers de listes pour les modules suivants.
télécharger.sh Télécharge les pages de Wikilivres selon les listes générées.
ajouter_sclt.sh Ajoute l'entête pour les textes et les articles de l'Annexe.
ajouter_sclic.sh Ajoute l'entête globale pour les images et illustration, etc.
ajouter_sclip.inc.sh Ajoute les conditions de copie des images.
sclipwb.sh Ajoute, par article, les liens vers les images selon Wikilivres.
sclipco.sh Ajoute, par article, les liens vers les images selon Commons.
    ↑ Ce module sclipco.sh utilise des données produites par le module sclipwb sclipco.sh l’exécutable est à réviser. Avis du 30 juillet 2020 et du 25/01/2021.
annexer.sh Cette commande globale est la dernière à installer, elle ne peut fonctionner correctement que si les autres modules ont été vérifiés, c.a.d. éprouvés un à un dans l'ordre ci-dessus.
cp-localsrc-2-localbin . Version 200623
    ↑ L'Installateur ci-dessus installe les fichiers de commandes dans le répertoire d'exécution ~/Annexer. Dans cette version 200623, cp-localsrc-2-localbin doit être installé en mode exécutable dans le répertoire des sources ~/Annexer/src/.

## Annexe 200623
### Fichiers utiles liés à cette version
#### Les fichiers suivants doivent être installés dans le répertoire ~Annexer/man puis installés avec makeman_annexer.sh avec les privilèges d'administrateur

Auto-éditer_un_wikilivre/Auto-référencer/annexer_fr.1 Fichier nroff avec un aperçu, pour l'installation du manuel français version 200626
Auto-éditer_un_wikilivre/Auto-référencer/annexer_fr.html Fichier html avec un aperçu, pour l'installation du manuel français version 200626
Auto-éditer_un_wikilivre/Auto-référencer/makeman_annexer.sh Cet exécutable installe le manuel dans la sructure unix/linux en français.

### Annexes obtenue avec cette version

* https://fr.wikibooks.org/wiki/Goélette_Cardabela/tests_de_capacité_des_batteries/Version_imprimable#Annexe
* https://fr.wikibooks.org/wiki/Faire_fleurir_le_sel/Annexe