GeneWeb - Personnalisation des pages
Cette partie indique comment personnaliser les pages d'accueil et
mettre des pages associées. Elle s'adresse aux personnes ayant
déjà un peu manipulé GeneWeb et qui
veulent entrer dans les détails.
La page d'accueil est construite à partir de fichiers texte,
les fichiers "start.txt" fournis avec la distribution de
GeneWeb. Il est possible de modifier ces fichiers et/ou d'en
faire une version spécifique pour une base de données.
Ces fichiers contiennent du HTML mélangé avec des
"macros" (voir section suivante). Si vous voulez créer de tels
fichiers ou les modifier, n'utilisez pas d'éditeur de HTML,
mais un éditeur de textes normal.
Pour construire la page d'accueil de la base "toto", GeneWeb
va chercher parmi les fichiers suivants, dans cet ordre:
- bdir/lang/lg/toto.txt
- hdir/lang/lg/toto.txt
- bdir/lang/toto.txt
- hdir/lang/toto.txt
- bdir/lang/lg/start.txt
- hdir/lang/lg/start.txt
- bdir/lang/start.txt
- hdir/lang/start.txt
où:
- "bdir" = valeur de "-bd" de la commande "gwd" (défaut:
répertoire courant).
- "hdir" = valeur de "-hd" de la commande "gwd" (défaut:
répertoire courant).
- "lg" = langue courante.
Les fichiers "hdir/lang/lg/start.txt" sont fournis avec la
distribution. Pour vous faire un fichier personnalisé, le plus
simple est de partir d'une copie d'un fichier "start.txt" que vous
arrangerez à votre façon. Si la présentation des
fichiers "start.txt" ne vous plait pas, vous pouvez aussi les changer
directement.
Attention cependant: d'une version de GeneWeb à
l'autre, les fichiers "start.txt" peuvent être
améliorés. Si vous prenez une nouvelle version et voulez
profiter des améliorations, regardez si les fichiers
"start.txt" ont été modifiés et incluez leurs
modifications dans vos fichiers personnalisés.
Comme indiqué précédemment, les fichiers de pages
d'accueil ne sont pas du pur HTML. Ils contiennent des "macros". Ce
sont des séquences commençant par le caractère
"%" et suivis par une lettre. Exemples: "%s", "%x", etc.
Ces macros sont remplacées par des valeurs qui dépendent
du contexte: nom de la base, langue, nombre de personnes dans la base,
etc.
Il y a également un traitement particulier pour les crochets
"[" et "]": s'il y a un texte entre crochets, il est traduit dans la
langue courante à partir du lexique (fichier "lexicon.txt")
avec les modifications suivantes:
- S'il y a une étoile après le crochet ouvrant, la
première lettre de la traduction est convertie en majuscule.
- Si le crochet fermant est suivi d'un nombre, cela correspond
à la n-ème occurrence de la traduction
(commençant à 0), les occurrences étant
séparées par des "/". Si cette occurrence n'existe pas,
c'est la première qui est prise.
Pour comprendre comment les macros sont utilisées, le mieux est
de regarder les fichiers "start.txt" fournis avec la distribution.
Voici le sens des macros "%":
- Base.
- "%t" : nom de la base.
- "%f" : en mode serveur, nom de la
base, suivi de l'eventuel mot de passe (ex: "toto_xyzzy"); en mode
CGI, nom de la commande CGI (ex: "gwd.exe").
- "%g" : en mode serveur, comme "%f";
en mode CGI, nom de la commande CGI suivi de "?b=", du nom de la base
et d'un point-virgule (ex: "gwd.exe?b=toto;").
- "%s" : valeur de "%f" suivi d'un
point d'interrogation et des variables contextuelles (voir ci-dessous)
suivies d'un point-virgule. Ex: "toto?lang=it;iz=8233;".
- Compte.
- "%c" : nombre d'accès
à la page d'accueil.
- "%q" : nombre de requêtes.
- "%d" : date de la première
consultation.
- Conditionnels.
- "%w...%w" : affichage si on est
"sorcier".
- "%x...%x" : affichage si on est
"sorcier" ou "ami".
- "%y...%y" : affichage si on est en
mode "serveur" (pas CGI) et qu'on n'est pas "sorcier".
- "%z...%z" : affichage si on est en
mode "serveur" (pas CGI) et qu'on n'est ni "sorcier" ni "ami".
- "%i...%i" : affichage si on est en
mode CGI.
- Divers.
- "%r" suivi d'un nom et d'un
retour-ligne : inclusion du fichier "nom.txt".
- "%b" : valeur de la variable
"body_prop" du fichier "toto.cnf" pour la base "toto".
- "%h" : variables contextuelles (voir
ci-dessous) sous la forme "<input type=hidden name=var
value=val>".
- "%l" : langue.
- "%n" : nombre de personnes de la
base.
- "%%" : un seul "%".
- "%[" : un "[".
- "%]" : un "]".
Certaines macros font références à des
variables contextuelles. Ce sont:
- b : en mode CGI, nom de la base.
- lang : langue.
- iz : numéro de l'éventuelle personne prise comme
référence Sosa.
Les conditionnels ne peuvent pas être
imbriqués: on ne peut pas mettre un "%w...%w" à l'intérieur d'un
"%i...%i".
Dans votre page d'accueil personnalisée, vous pouvez mettre des
liens vers des fichiers associés qui seront traités par
GeneWeb de la même façon: les macros y seront
transformées.
Par exemple, si vous voulez mettre une page spéciale sur les
personnes célèbres de votre base, faites un fichier que
vous nommerez "celebres.txt" et que vous mettrez dans le
répertoire "bdir/lang/lg" ou le répertoire "bdir/lang"
(voir première section).
La requête d'accès à "celebres.txt"
s'écrit: "m=H;v=celebres". Dans la page d'accueil, vous mettrez
donc:
Les gens <a href="%sm=H;v=celebres">célèbres</a>
de ma base.
Dans "celebres.txt", vous pourrez mettre des liens vers des personnes
de votre base, indépendamment de son nom et du contexte, en
utilisant les bonnes macros.
Les macros particulièrement intéressantes sont:
- "%b" que vous pourrez mettre dans le
tag "<body>" en l'écrivant "<body%b>".
- "%s" que vous pourrez mettre dans les
liens.
Exemple de phrase dans "celebres.txt":
Voyez mon cousin <a href="%sp=louis;n=de+bourbon;oc=5">
Louis XIV</a> et mes
<a href="%em=R;ep=jean;en=dupont;m=NG;n=louis+xiv;t=PN">
liens de parenté</a> avec lui.
Voyez également comment faire correctement des liens vers des pages de GeneWeb.
Remarquez que la "requête évoluée" fonctionne comme
un fichier associé, de nom "advanced.txt".
Retour vers Mode d'Emploi.
© Copyright INRIA 1999 -
GeneWeb