Outils logiciels

page précédente
Script htmsoclean
[ table des matiéres ]
page suivante
Manuel de "cart"

4/ Script "FAIT"

4.1/ Principe de "fait"

Le but de "fait" est fabriquer la pricipale partie d'un site en HTML avec une certaine homogenéïté des différentes pages et des modes de navigation. C'est un outil orienté pour faire un site constitué de pages de documentation, de cours, de normes. C'est un outil fait pour des documents fortement structuré par chapitre, avec une lecture plutôt linéaire.

Le principe de navigation découlant du traitement des fichiers est basé sur un arborescence simple. Chaque documents texte initial est éclaté en une page HTML par chapitre. Toutes les pages d'un même document sont groupées dans un même répertoire. Le repetroire ainsi crée porte le nom du fichier document texte de départ. Une page "index.htm" est générée automatiquement dans chacun des répértoires.
Chaque page HTML / chapitre est liée automatiquement à la page suivante, la page précédante, la page d'index du repertoire / document, la page d'accueil du site.

4.2/ Arguments

4.2.1/ synopsis :

fait fichier_de_structure repertoire_cible
Le premier argument de fait est le fichier de structure qui decrit la structure du site que l'on veut créer et désigne les documents à y incoporer.
Le deuxième argument est le nom du répertoire ou le résultat de lacréation du site doit être placé.
Actuellemnt ces deux fichiers doivent être désignés par leur chemin complet,les chemin relatifs ne seront pas acceptés.

4.3/ Documents et fichiers manipulés par "fait"

Fait travaille à partir de fichiers textes.
On peut distinguer les fichiers de contenus, les fichiers de mise en page et le fichier de structure

4.3.1/ Fichiers de contenus

Ce sont des fichiers HTML contenant d'un bloc tout le texte d'un cours. Ils doivent être structurés en chapitres. Les titres de niveaux 1 seront séparés sur des pages HTML separées. Les pages successives d'un même documents sont liees par des liens "suivant" et "précédant". Un index sert de "noeud" central au documents. L'aspect, les liens instalés dans les "hauts" et "bas" de fichiers dépendent de "mise en page". Les corps (body) des fichiers sources peuvent contenir toutes les balises HTML que l'on veut, les scripts n'y touchent pas. Par contre leurs "headers" sont éliminés lors du découpage et remplacé par ceux définis par les fichiers de mise en page.

4.3.2/ Fichiers de mises en page

Les fichiers de mise en pages, servent à créer une homogenéïté de l'aspect des pages et des liens de navigation. Il s'agit de deux fichiers correspondant au haut et au bas de la page HTML.
Ces deux fichiers doivent se trouver dans un répertoire qui sera désigné dans le fichier de structure.Il doivent se nommer tete_html.txt et fin_html.txt. Il n'y a pas de condition sur le nom du répertoire qui les contient.
Le contenu de ces fichiers doit comporter certaine mots reservés qui seront remplacé lors du montage du site par des valeurs adaptées :

Ces quatres mots sont des mots réservés pour le remplacement dans les fichiers "tete_html.txt" et "fin_html.txt". Ils peuvent par contre apparaître librement dans les docuemnts.
Le caractère "tilde" (~) est également réservé pour le remplacement dans calcul du chemin de retour.
On peut créer autant de jeu de fichiers de mise en page que l'on veut et préciser dans le fichiers de structures quel est le jeu de fichier à utiliser pour chaque document.

4.3.3/ Le fichiers de structure

Ce fichier détermine la structure du site.
Un diese(#) en début de ligne signale une ligne de commentaire.

Chaques documents est pointés dans ce fichier par une série de rubrique :

D'autre lignes / rubriques peuvent être rajoutées sans nuire au script fait qui ignorera toutes les rubriques en dehors de celles qu'il connait (actuellement titre, source, type_de_page_HTML, repertoire).

4.4/ Exemple

On veut créer un site à partir de 3 documents en format texte :

On veut que le site créer ait la structure suivante : Le document 1 dans un répertoire à la racine du site, les documents 2 et 3 dans un sous répertoire du site nommé sous-repertoire-jojo.

Les trois documents textes peuvent être n'importe où dans l'espace des documents accessibles, par le script shell lors de son execution. Supposons que on ait les emplacements suivants :

On veut que les mises en page de haut et de bas de page soient conformes au types définies par le fichiers tete_html.txt et fin_html.txt situé dans le répertoire /home/pujolle/2002-projet/mise-en-page-1

On ecrira le fichier de structure suivant en /home/user-gamma/grand-projet/structure:


# commentaire
#
#
#---------liste des fichiers à découper--------------

#    Premier niveau

titre: le titre que je veux donner à document-1
source: /home/user-alpha/document-1.htm
type_de_page_HTML: /home/pujolle/2002-projet/mise-en-page-1
repertoire:
liste_de_diffusion: 


titre: le titre que je veux donner à document-2
source: /home/user-gamma/repertoire-toto/document-2.htm
type_de_page_HTML: /home/pujolle/2002-projet/mise-en-page-1
repertoire: sous-repertoire-jojo
liste_de_diffusion: 


titre: le titre que je veux donner à document-3
source: /home/user-gamma/repertoire-papa/document-3.htm
type_de_page_HTML: /home/pujolle/2002-projet/mise-en-page-1
repertoire: sous-repertoire-jojo
liste_de_diffusion: 


La commande fait /home/user-gamma/grand-projet/structure /home/user-gamma/resultat-du-projet va créer le site dans le repertoire /home/user-gamma/resultat-du-projet.
On trouvera les sous repertoires suivants :

Chaque sous repertoires contiendra un "index.htm" pointant sur chacun des chapitres du document. Il conteindra une page HTML par chapitre (document1_1.htm, document1_2.htm, document1_3.htm...).
Le fichier index contient aussi un lien sur un fichier "documentX.rtf" correspondant à la sortie en rtf du fichier source. Le but de ce fichier est de permettre au utilisateur ne sachant pas manipuler le HTML "dans le texte" de récuperer et de travailler sur les sources.

La page d'accueil du site (index.htm à la racine) est à créer à la main.
Le script "cart" crée automatiquement une page HTML contenant une liste de tous les documents d'un site avec les liens pointant dessus.
Les fichiers autres que les fichiers textes listés dans le fichier de structure (images, vidéo...), ne sont pas traités, il faut les implanter à la main dans le site.

4.5/ Environnement et sous programme

Le script "decoup4" est un sous programme nécessaire à "fait". Il faut que ce script soit présent dans un répertoire inscrit dans le PATH lors de l'execution de "fait".

4.6/ Licence

Licence GPL.
Ce script est distribué tel quel sans aucune garantie.

4.7/ Auteur

Sylvain Pujolle, CIP Glenan
CIP glenan
BP 525
29185 CONCARNEAU CEDEX

cip.glenans@free.fr

4.8/ Bogues

La qualité de programmation est douteuse (trés).

Aucun traitement des erreurs n'est réalisé.
Le script est trés sensible à la conformité des fichiers HTML qu'il traite. Par conformité il faut (helas) entendre conformité à ce que le script attend (c'est à dire au connaissance en HTML de l'auteur) et non conformité au vrai standard HTML...
Les points suivants (entre autres) posent problèmes :

La documentation est partielle.

page précédente
Script htmsoclean
[ table des matiéres ]
page suivante
Manuel de "cart"
logo CIP Les Glenan, l'école :
http://cip.glenans.free.fr
© copyright CIP Glenan