|
GeneWeb: Personnalisation des pages
|
Cette partie indique comment personnaliser les pages d'accueil et les
autres pages 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.
Page d'accueil
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.
Macros
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.
Les conditionnels commencent par "%I"
suivi d'une expression booléenne (vrai ou faux) et se terminent
par "%E". Le texte entre ces deux macros
est affiché si et seulement si l'expression booléenne
est vraie. Une expression booléenne est soit:
- "f" : on est "ami"
- "w" : on est "magicien"
- "j" : on est "magicien" juste "ami"
(cf fichier a.gwf, "wizard_just_friend")
- "c" : on est en mode cgi
- "h" : il y a un fichier historique
- "l" : le navigateur ne traite pas les tables
- "n" : il y a des notes pour la base
de données
- "t" : il y a une recherche par titres de
noblesse
- "z" : il y a une personne prise
comme référence Sosa (voir macro "%u")
- "a" : il y a une restriction globale d'accès à
la base de données
- "N" : contraire de l'expression qui suit
- "|" : "ou" logique entre les deux
expressions qui suivent
- "&" : "et" logique entre les deux
expressions qui suivent
Exemples:
- afficher le texte s'il y a une recherche par titre: %It...%E
- afficher le texte si on est ni "magicien" ni "ami": %I&NwNf...%E
- 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.gwf" 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.
- "%u" : personne prise comme
référence Sosa.
- "%%" : 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.
Pages associées
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="%sem=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".
Toutes les pages
Les pages, y compris la page d'accueil, peuvent être
personnalisées à trois endroits:
- Vous pouvez ajouter un fichier de nom base.hed (si "base"
est le nom de votre base de données) qui sera
inséré dans tous les en-têtes des pages (entre
<head> et </head>). Permet d'y insérer des feuilles
de style, par exemple. À mettre dans le répertoire
"lang" et/ou, si vous voulez qu'il soit différent pour la
langue "xy" dans le répertoire "lang/xy".
- De même, vous pouvez ajouter un fichier de nom
base.trl qui sera inséré derrière le
copyright de GeneWeb à chaque page.
- Enfin, vous avez la possibilité de positionner la variable
body_prop de votre fichier base.gwf qui sera
inséré dans la balise "<body>" de toutes les
pages. Utile pour mettre une couleur ou un motif de fond, ou pour
changer les couleurs des textes affichés. Voir cette section du chapitre "comment démarrer
avec GeneWeb".
Retour vers Mode d'Emploi
© Copyright 2001 INRIA -
GeneWeb