previous up next contents
Previous: 4 Serveur apache Up: Nullix 107 Next: 6 Samba depuis Nullix   Contents

Subsections

5 Uniformisation des menus du site web

5.1 Arborescence fantôme

  1. Lorsqu'un site web doit fonctionner des années durant, il est indispensable de tout programmer, c'est à dire d'écrire un batch pour chaque chose. Quand il y a beaucoup de batchs, le plus simple est de créer une arborescence fantôme, copie conforme de celle du site web, et contenant les commandes de gestion du site.
  2. Une seule et unique commande donne accès à tout cela, avec affichage des commandes possibles en cas d'erreur de syntaxe. On distingue les commandes de publication:

    02cours 2001_cours 2001_dev
    publication des anciens cours
    cours
    publication ordinaire ; traitement spécial pour les sujets d'évaluation (login/password)
    maotp
    publication spéciale des tp-mao : répertoire spéciaux, données, modèles au format html
    maple
    automate de publication des bibliothèques maple : détection de la version la plus récente, renommage et adjonction d'un éventuel fichier de test
    nullix preprint publications
    publication spéciale des nullix, preprints et publications
    slides
    automate de publication des slides (date de l'écriture des slides avec wp) ; à reprendre entièrement
    thesis
    automate de relooking
  3. D'autre part, les commandes de gestion sont :

    clean
    suppression des scories de publication
    favoris
    gestion du fichier favoris
    horaires
    transforme au format winx, et ventile dans les bons répertoires, les horaires de cours déjà compilés
    htdig
    indexation du site
    menu
    gestion des menus
    site
    gestion des fichiers webalizer
    syncro
    ??? (concerne html_ro)

5.2 Gestion des menus ordinaires

Les pages servant de menus et d'aiguillage doivent avoir un aspect uniforme, et comporter " un certain nombre de choses" ... ces choses étant susceptible de changer au gré des humeurs (noms, compteurs, barres de navigation, etc).

Par conséquent, ces pages ne peuvent pas être écrites " à la main" , mais au contraire doivent pouvoir être recompilées fréquemment. Et pour cela, il faut donc séparer soigneusement ce qui relève de la sémantique (quels liens, avec quels commentaires) de ce qui relève du look and feel du site web. Les fichiers contenant les données doivent avoir une syntaxe très simple, avec une structure très visible et être facilement modifiables par de simples copier-coller.

Un certain nombre d'essais nous ont conduit à adopter trois sortes de menus : ordinaire, spécial-racine, spécial-super-menu. Un fichier de menu ordinaire est une suite de lignes de commandes (LISTING 14).


\begin{algorithm}
% latex2html id marker 2755
[htbp]
\vskip 0.5 em
\par
\verbati...
..._b_nullix/dat2_cours.txt}
\par
\caption{Le fichier dat2\_cours
}
\end{algorithm}

  1. Chaque ligne est lue verbatim, par une commande read. On peut donc utiliser des quotes et autres caractères sensibles... dans la deuxième partie de la ligne de commande.
  2. Lorsqu'une ligne a été lue, le coeur de l'algorithme consiste à aiguiller cette ligne vers la routine de traitement correspondant au premier mot de la ligne de commande.
  3. Une syntaxe flexible a été adoptée : chaque commande requiert un certain nombre de paramètres, qui sont des mots (avec conversion des '' '' en ''_''), tandis que ce qui reste après les paramètres requis est considéré comme un seul champ.
  4. Commandes gérant la création de la partie head du fichier

    zzzqui
    la future adresse du menu dans l'arborescence
    zzztit
    [] le titre (à la fois dans la barre de titre et dans le texte)
    zzzkey
    [] keywords (avec des virgules)
    zzzsup
    [] si présent, nom du fichier supplément (devrait être traité à la façon de msg)
    zzzcpt
    [compteur]
    ligne obligatoire, sa lecture entraîne la compilation de l'en-tête.
  5. Commandes de titres (colonne de gauche des menus)

    tit
    [titre de bloc] commentaire
    pas d'espaces dans le titre ; se trouve encadré par <font><strong> : pour modifier la fonte, il faut d'abord refermer les tags ; le commentaire éventuel est à la ligne, en noir.
    tita
    [ancre] [titre de bloc] commentaire
    Cette ancre sera placée à la première ligne de la colonne de droite (cela permet de lire cette ligne lorsque le titre (de gauche) est centré verticalement.
    titi
    comme tit, mais avec une autre couleur
  6. Commandes de lignes (colonne de droite des menus).

    refo
    [adresse] [lien] commentaire
    le lien s'affiche en première colonne, le commentaire en deuxième colonne et la date du fichier en troisième colonne
    refb
    le même, sans date
    refi
    [adr1] [link1] [adr2] [link2] commentaire
    deux liens dans la première colonne
    refs
    [adresse] commentaire
    index.html et basename.ps du répertoire donné en adresse
    dvip
    [adresse] [lien] commentaire
    lien basename.dvi basename.ps
    refz
    [adresse *.ps]
    liens *.ps et *.ps.gz
    msg
    commentaire sur les trois colonnes
    photo
    [photo] [edtedt] [email] [webweb] commentaire
    special emploi du temps
  7. En fin de fichier de commandes, on referme le menu, puis on insère une barre de recherche, et la date/signature du fichier de menu.

5.3 Le cas spécial du fichier racine

Le fichier racine est un cas à part. Il doit comporter une table des nouveautés, que l'on crée par une boucle spéciale.

Il convient aussi de donner une autre destination à la flèche "haut".


previous up next contents
Previous: 4 Serveur apache Up: Nullix 107 Next: 6 Samba depuis Nullix   Contents


douillet@ensait.fr
2007-12-07