[AJ] Transformation du script de génération des catégories pour prendre

des paramètres qui sont les dossiers et fichiers nécessaire à
l'élaboration du contenu des rubriques et éléments de la page PorteAil
master
Olivier DOSSMANN 2012-02-10 20:31:03 +01:00
parent b8a04c0959
commit 63839ff57b
5 changed files with 50 additions and 23 deletions

View File

@ -42,11 +42,11 @@ all: test index.html
# divers tests sur l'existence des dossiers/fichiers
# création si besoin
test:
test:
@$(PROG_ECHO) -e "Lancement des tests…"
@$(PROG_ECHO) -e "\t…existence des dossiers img, categ et style"
@$(PROG_TEST) -d img || mkdir img
@$(PROG_TEST) -d categ || mkdir categ
@$(PROG_TEST) -d $(categ) || mkdir $(categ)
@$(PROG_TEST) -d style || mkdir style
@$(PROG_ECHO) -e "\t…option introduction dans la page"
$(if $(INTRO), @test -f $(INTRO) || exit)
@ -72,7 +72,7 @@ css: $(dependances_css)
# création du fichier $(contenu)
contenu: $(script_contenu)
@$(PROG_SED) -i "s/DEBUG=1/DEBUG=0/g" $(script_contenu)
@$(PROG_SH) $(script_contenu) || exit
@$(PROG_SH) $(script_contenu) $(categ) $(contenu) $(ext) $(composants) $(categ_deb) $(categ_fin) $(elem) || exit
# création de la page d'index
index.html: $(DOSSIER_HTML) css contenu $(dependances_index) $(contenu)

8
LISMOI
View File

@ -305,6 +305,14 @@ attachées à ces composants sont les suivantes :
- contenu_fin : fichier contenu_fin.html
- script_contenu : script bash permettant de générer les catégories
- contenu : fichier temporaire possédant le contenu à insérer dans la page
- categ : désigne le dossier dans lequel se trouve l'ensemble des descriptions des catégories et des éléments se trouvant à l'intérieur de chacune d'elle
- ext : extension des fichiers contenus dans le dossier 'categ' (précédemment renseigné) qui contiendra la description de base de chacune des catégories et de ses éléments. Cf. Chapitre "Le dossier 'categ'"
- composants : dossier dans lequel se trouve l'ensemble des éléments permettant de construire le contenu de la page PorteAil. C'est à dire l'entête et l'enqueue de chaque rubrique ainsi que le code HTML de chaque élément
- categ_deb : nom du fichier contenant le code HTML d'un début de rubrique. Le fichier doit se trouver dans le dossier renseigné par la variable 'composants'
- categ_fin : nom du fichier contenant le code HTML d'une fin de rubrique. Le fichier doit se trouver dans le dossier renseigné par la variable 'composants'
- elem : nom du fichier contenant le code HTML d'un élément. Le fichier doit se trouver dans le dossier renseigné par la variable 'composants'
Pour plus de renseignements, veuillez vous référer au chapitre 'Les
composants'.

7
TACHES
View File

@ -23,14 +23,11 @@ DESTDIR
- Que donne une ligne vide dans le fichier de catégorie ? => à tester comme cas possible
>>> Pour la v0.1.1 :
- améliorer la connexion entre le makefile et creation_categ.sh afin de ne plus toucher aux variables de creation_categ.sh
- faire des "which" pour les programmes utilisés (notamment pour sha1 ou md5). Quitter le makefile si dans TEST les "which" sont vides
- dans dossier categ on fait une somme sha1 ou md5 de tous les fichiers. On copie dans le dossier porteail. Au début du programme, on compare somme de tous les fichiers du dossier categ avec la somme contenue dans dossier porteail (s'il existe). Si les sommes sont pareilles, alors on quitte le makefile
- compléter l'adresse des images pour l'insertion dans le contenu
- vérifier l'existence de l'image avant de l'ajouter
- si pas d'image ou image inexistante, mettre une image générique
- trouver une méthode qui permet de récupérer toujours les dernières versions sources sans écraser la version que nous avons. configrc.exemple par exemple, à copier en configrc ;)
- Prévoir un script d'export des données entrées par l'utilisateur s'il utilise un dépôt git OU trouver un système de mise à jour du logiciel
>>> Pour la v0.2 :
- imaginer un système d'héritage des feuilles de style pour ne modifier que les couleurs de la page, en dehors de la structure ?
@ -97,3 +94,7 @@ des éléments
- Essayer de faire en sorte que le lien soit écarté jusqu'aux bords de tout l'élément afin que le clic sur l'élément renvoie sur la page
- Faire la feuille de style bleue pour le site avec un menu
- Voir si possibilité de faire un "source configrc" pour inclure les variables modifiables du programme, histoire de n'éditer que le fichier 'configrc' du programme
- améliorer la connexion entre le makefile et creation_categ.sh afin de ne plus toucher aux variables de creation_categ.sh
- trouver une méthode qui permet de récupérer toujours les dernières versions sources sans écraser la version que nous avons. configrc.exemple par exemple, à copier en configrc ;)
- Prévoir un script d'export des données entrées par l'utilisateur s'il utilise un dépôt git OU trouver un système de mise à jour du logiciel => réglé avec le fichier configrc.exemple en configrc

View File

@ -21,4 +21,15 @@ enqueue = $(DOSSIER_HTML)/enqueue.html
contenu_fin = $(DOSSIER_HTML)/contenu_fin.html
dependances_index = $(entete) $(enqueue) $(contenu_fin)
script_contenu = creation_categ.sh
contenu = categories.html
## utiles pour le script de parcours du dossier contenant les catégories
contenu = categories.html # résultat de la génération des catégories
categ = categ # dossier contenant le détail des catégories
composants = ./composants # dossier contenant les morceaux de la page
#+ résultante
categ_deb = categ_deb.html # entête des catégories (contenu
#+ dans dossier composants)
categ_fin = categ_fin.html # enqueue des catégories (contenu
#+ dans dossier composants)
elem = element.html # code HTML de chaque élément
ext = txt # Extension des fichiers à prendre en compte dans le dossier
#+ contenant les catégories

View File

@ -34,15 +34,9 @@
## VARIABLES
DEBUG=0
dossier="categ"
destination="categories.html"
IFS="
"
dossier_composants="./composants"
categ_deb="${dossier_composants}/categ_deb.html"
categ_fin="${dossier_composants}/categ_fin.html"
elem="${dossier_composants}/element.html"
extension="txt" # Extension des fichiers à prendre en compte
PROGRAMME=`basename $0`
## FONCTIONS
debug( )
@ -53,7 +47,29 @@ debug( )
fi
}
utilisation( )
{
echo "Utilisation : $PROGRAMME dossier_cat destination.html extension composants entete_cat.html enqueue_cat.html element.html"
echo ""
echo "Cf. Fichier LISMOI pour plus d'informations."
}
## TESTS
# Test sur les paramètres
if [ $# -ne 7 ]
then
utilisation
else
# $PROGRAMME dossier_cat destination.html extension composants entete_cat.html enqueue_cat.html element.html
dossier=$1
destination=$2 #"categories.html"
extension=$3 # Extension des fichiers à prendre en compte
dossier_composants=$4
categ_deb="${dossier_composants}/$5"
categ_fin="${dossier_composants}/$6"
elem="${dossier_composants}/$7"
fi
# Existence dossier
if ! test -d "$dossier"
then
echo "Dossier '$dossier' manquant."
@ -66,15 +82,6 @@ then
rm -f "$destination"
fi
## DEBUT
#TODO: Prendre en compte plusieurs paramètres pour :
# - connaître le dossier contenant les fichiers de catégorie
# - l'extension des fichiers contenant les catégories
# - le fichier contenant le début de la catégorie
# - le fichier contenant la fin de la catégorie
# - le fichier contenant une trame pour un élément
#TODO: Faire des tests sur les paramètres avant lancement du programme
# Parcours du dossier
for fichier in `find categ/ -iname "*.${extension}" -print -type f|sort`
do