Difference between revisions of "templates/fr"

From GeneWeb
Jump to: navigation, search
(Perso.txt)
m (Perso.txt)
 
(10 intermediate revisions by the same user not shown)
Line 22: Line 22:
 
où {{c|-bdir}} est la valeur du paramètre {{c|-bd}} de '''gwd''', et {{c|gw}} est le dossier dans lequel réside gwd.  
 
où {{c|-bdir}} est la valeur du paramètre {{c|-bd}} de '''gwd''', et {{c|gw}} est le dossier dans lequel réside gwd.  
  
Si aucun fichier n'est trouvé, on parcours successivement les templates définis par la variable {{c|template}} du fichier de configuration {{c|.gwf}}.
+
Si aucun fichier n'est trouvé, on parcours successivement les templates définis par la variable {{c|template}} du fichier de configuration {{c|base.gwf}}.
 
<!-- (this needs to be verified. Are {{c|bdir/etc/base/template}} and {{c|gw/etc/base}} looked into? Behaviour changed between 6.08 and 7.00 [[User:Henri83|Henri83]] ([[User talk:Henri83|talk]]) 18:02, 16 October 2015 (CEST)).-->
 
<!-- (this needs to be verified. Are {{c|bdir/etc/base/template}} and {{c|gw/etc/base}} looked into? Behaviour changed between 6.08 and 7.00 [[User:Henri83|Henri83]] ([[User talk:Henri83|talk]]) 18:02, 16 October 2015 (CEST)).-->
  
 
Vous pouvez par conséquent vous limiter à l'édition d'un seul fichier, les autres seront trouvés dans les dossiers par défaut.
 
Vous pouvez par conséquent vous limiter à l'édition d'un seul fichier, les autres seront trouvés dans les dossiers par défaut.
 +
 +
Un template est appelé (avec un bouton cliquable ou manuellement) en ajoutant {{c|templ=template_name;}} dans l'URL dans la barre de navigation de votre client Web. GeneWeb se souviendra de cet ajout le le refera automatiquement pour toutes les autres URL suivantes.
 +
 +
Consultez la page [[expert#Template programming|experts]] pour la programmation des templates.
  
 
== Modules de personnalisation ==
 
== Modules de personnalisation ==
Line 39: Line 43:
 
</pre>
 
</pre>
  
Associée à ces modules, la variable {{c|1=p_mod=}} définira l'ordre dans lequel ces modules seront affichés, et pour chacun d'eux une valeur d'option comprise entre 0 et 9, et qui pourra modifier le comportement du module.
+
Associée à ces modules, la [[macros/fr#Variables_contextuelles|variable contextuelle]] {{c|p_mod}} définira l'ordre dans lequel ces modules seront affichés, et pour chacun d'eux une valeur d'option comprise entre 0 et 9 qui pourra modifier le comportement du module. Cette variable contextuelle est constitué par une succession de paires "lettre, chiffre", la lettre précisant le module et le chiffre l'option d'affichage. Ces paires apparaissent dans l'ordre d'affichage souhaité comme dans l'exemple ci-dessous : "individu" (option 1), "parents" (option 2), "fratrie" (option 3)  et "unions" (option 1).
Par exemple le vecteur
+
 
p_mod=i1p2f3
+
p_mod=p_mod=i1p2f3u1
affichera d'abord le module {{c|individu}} avec l'option 1, puis le module {{c|parents}} avec l'option 2 et enfin le module {{c|fratrie}} avec l'option 3.
+
  
 
Dans cet autre exemple  
 
Dans cet autre exemple  
  P_mod=i1l1i2l1i3l1i4
+
  p_mod=i1l1i2l1i3l1i4
 +
[[File:p_mod-configuration.png|thumb|400px|right|Graphical interface for module and options selection (p_mod).]]
 
on affichera les quatre variantes du module {{c|individu}} séparées par une ligne horizontale.
 
on affichera les quatre variantes du module {{c|individu}} séparées par une ligne horizontale.
  
Line 51: Line 55:
 
  {{c|bases/etc/perso_modules/nouveau_module.txt}}
 
  {{c|bases/etc/perso_modules/nouveau_module.txt}}
  
La variable {{c|1=p_mod=}} ci-dessus est transférée dans l'URL (au même titre que la variable {{c|1=templ=}}) et une interface graphique permet la sélection et le choix des options. L'affichage de vignettes permet de se rendre compte de l'aspect global de chaque option et de la page résultant de leur assemblage. Les modules personnels ajoutés par l’utilisateur n'apparaissent pas dans l'interface graphique mais restent accessibles en éditant manuellement le vecteur {{c|1=p_mod=}}. Pour les faire apparaître dans l’interface graphique, il faut éditer le fichier {{c|gw/etc/p_mod.js}} en s'inspirant des modules existants.
+
On notera que la valeur du paramètre {{c|p_mod}} peut être conservée dans le fichier {{c|base.gwf}} de votre base. Elle est reportée dans l'URL (au même titre que la variable {{c|1=templ=}}) et peut donc être mémorisée dans l'URL d'un raccourci conservé dans votre navigateur. Cette dernière approche sera particulièrement utile pour les utilisateurs d'un service tel que la base Roglo. En effet, GeneWeb ne sait pas conserver un profil spécifique à chaque visiteur.
  
Sur cette interface, le bouton le plus à droite propose une option globale {{c|1=p_mod=zz}} qui organise un ensemble de données sur deux colonnes.
+
Une interface graphique permet la sélection et le choix des options. L'affichage de vignettes permet de se rendre compte de l'aspect global de chaque option et de la page résultant de leur assemblage. Les modules personnels ajoutés par l’utilisateur n'apparaissent pas dans l'interface graphique mais restent accessibles en éditant manuellement le vecteur {{c|1=p_mod=}}. Pour les faire apparaître dans l’interface graphique, il faut éditer le fichier {{c|gw/etc/p_mod.js}} en s'inspirant des modules existants.
  
==Perso.txt==
+
Certains modules disposent eux mêmes de boutons permettant de faire varier leur comportement (avec ou sans images, avec ou sans les demi-frères et soeurs, nombre de générations, etc)
  
Le fichier perso.txt gère l'affichage des pages d'informations associées à chaque individu. Son développement dans le temps a abouti à trois modes d'affichage que l'utilisateur peux choisir et même personnaliser.
+
On notera sur cette interface le bouton le plus à droite qui active le premier mode d'affichage prédéfini {{c|1=p_mod=zz}} sur deux colonnes décrit dans la section {{c|perso.txt}}.
 +
 
 +
==Perso.txt==
  
La structure d'ensemble du fichier template perso.txt est la suivante :
+
Le fichier {{c|perso.txt}} gère l'affichage des pages d'informations associées à chaque individu avec la structure d'ensemble suivante :
  
 
Import des fonctions utilitaires et affichage de la barre de menus.
 
Import des fonctions utilitaires et affichage de la barre de menus.
Line 66: Line 72:
 
  %include.menubar;
 
  %include.menubar;
  
Trois modes d'affichage :
+
Deux modes d'affichage :
 +
 
 
1/ affichage sur deux colonnes, données fixes
 
1/ affichage sur deux colonnes, données fixes
 +
<pre>
 
  %if;(p_mod="zz")
 
  %if;(p_mod="zz")
 
   %(Statique%)
 
   %(Statique%)
Line 90: Line 98:
 
       </div>
 
       </div>
 
     </div>
 
     </div>
2/ affichage sur une colonne. Modules de 0 à {{c|perso_module_tplnb -1}} tels que définis dans le fichier {{c|.gwf}}
+
</pre>
%elseif;(bvar.perso_module_tplnb!="" and bvar.perso_module_tplnb>0)
+
  %(Dynamique, perso_module_tplnb : %bvar.perso_module_tplnb;<br>%)
+
      %for;i;0;bvar.perso_module_tplnb;
+
        %apply;get_templ(i)
+
      %end;
+
  
3/ affichage sur une colonne. Modules de a à z tels que définis dans le fichier {{c|.gwf}} et gouvernés par le vecteur de modules/options défini dans la variable {{c|p_mod}}
+
2/ affichage sur une colonne. Modules de a à z tels que définis dans le fichier {{c|.gwf}} et gouvernés par le vecteur de modules/options défini dans la variable {{c|p_mod}}
  %elseif;(p_mod!="" and p_mod!="zz")
+
<pre>
 +
  %else;(p_mod!="")
 
   %(Dynamic %)
 
   %(Dynamic %)
 
     %for;i;0;p_mod_nbr;
 
     %for;i;0;p_mod_nbr;
Line 107: Line 111:
 
       %end
 
       %end
 
     %end;
 
     %end;
%else;
+
 
%(Nothing %)
+
 
%end;
 
%end;
 
 
Exemples de définitions des modules pour le cas 2/ :
 
 
<pre>
 
perso_module_0=individu
 
perso_module_1=parents
 
perso_module_2=unions
 
perso_module_3=fratrie
 
perso_module_4=relations
 
perso_module_5=notes
 
perso_module_6=sources
 
perso_module_7=arbres
 
perso_module_8=timeline
 
perso_module_9=gr_parents
 
perso_module-10=ligne
 
 
perso_module_tplnb=8
 
 
</pre>
 
</pre>
  
et pour le cas 3/ :
+
Exemples de définitions des modules :
  
 
<pre>
 
<pre>
Line 145: Line 130:
 
perso_module_l=ligne
 
perso_module_l=ligne
 
</pre>
 
</pre>
 
 
L'affichage des modules est gouverné par la valeur de la [[macros/fr#Variables_contextuelles|variable contextuelle]] {{c|p_mod}} qui définit le choix des modules, l'ordre d'affichage et l'option choisie.
 
Ce paramètre est constitué par une succession de paires "lettre, chiffre", la lettre précisant le module et le chiffre l'option d'affichage. Ces paires apparaissent dans l'ordre d'affichage souhaité comme dans l'exemple ci-dessous : "gd_parents", "individu", parents", "unions", ...
 
 
p_mod=g1i1p1u1f1r1c1n1s1a3
 
 
Le choix de {{c|1=p_mod=p1p2p3p4p5}} affichera les cinq options du module [[c|parents}}.
 
 
La barre de menu de la page {{c|perso.txt}} (deuxième onglet en partant de la gauche comme le montre l'image ci-dessous) fournit une interface pour changer la valeur du paramètre {{c|p_mod}}. Définir {{c|1=p_mod=zz}} à pour effet d'annuler l'utilisation de ce paramètre et de revenir à la page de présentation standard.
 
 
Il est possible d'associer aux modules n'importe quelle lettre unique entre "a" et "z".
 
[[File:p_mod-configuration.png|thumb|400px|center|Starting page for GeneWeb.]]
 
 
On notera enfin que la valeur du paramètre {{c|p_mod}} peut être conservée dans le fichier {{c|params.gwf}}, mais elle peut aussi être mémorisée dans l'URL d'un raccourci conservé dans votre navigateur. Cette dernière approche sera particulièrement utile pour les utilisateurs d'un service tel que la base Roglo. En effet, GeneWeb ne sait pas conserver un profil spécifique à chaque visiteur.
 
  
 
==Exemples==
 
==Exemples==

Latest revision as of 22:51, 11 October 2017

150px-Geographylogo svg.png Language: English • français

Le serveur gwd produit le code HTML affiché par votre navigateur à partir d'instructions conservées dans un fichier texte. Des exemples de tels fichiers sont :

  • welcome.txt la page d'accueil de votre base lorsque vous vous connectez à localhost:2317/basename
  • perso.txt la page qui affiche les données spécifiques d'un individu
  • updfam.txt la page contenant le formulaire de saisie des éléments d'une famille

Un ensemble de fichiers constituant une interface utilisateur cohérente s'appelle un "template".

Les templates sont invoqués en ajoutant (avec un bouton cliquable si disponible, ou manuellement si non) le texte templ=templ_name; dans l'URL qui apparait et haut de votre navigateur. GeneWeb se "souviendra" de cette demande de template et insèrera le code correspondant dans toutes les URL à suivre (la variable templ fait partie des variables contextuelles de gwd).

Les fichiers d'un template sont stockés dans un dossier de la distribution appelé geneweb/gw/etc/template_name.

Quand gwd a besoin d'un fichier, il le recherche successivement et dans cet ordre dans les endroits suivants :

bdir/etc/base/
gw/etc/template_name/
gw/etc/

-bdir est la valeur du paramètre -bd de gwd, et gw est le dossier dans lequel réside gwd.

Si aucun fichier n'est trouvé, on parcours successivement les templates définis par la variable template du fichier de configuration base.gwf.

Vous pouvez par conséquent vous limiter à l'édition d'un seul fichier, les autres seront trouvés dans les dossiers par défaut.

Un template est appelé (avec un bouton cliquable ou manuellement) en ajoutant {{{1}}} dans l'URL dans la barre de navigation de votre client Web. GeneWeb se souviendra de cet ajout le le refera automatiquement pour toutes les autres URL suivantes.

Consultez la page experts pour la programmation des templates.

Modules de personnalisation

La version 7 de GeneWeb offre nouvelle manière pour personnaliser l'aspect de la page personnelle. Cette solution repose sur l'existence d'une liste de modules définis dans le fichier de configuration base.gwf en associant chaque module à une lettre entre a et z (attention à ne pas mettre de texte supplémentaire après le nom de l'option - ni espaces, ni commentaires!).

  perso_module_i=individu
  perso_module_p=parents
  perso_module_f=fratrie
  ...

Associée à ces modules, la variable contextuelle p_mod définira l'ordre dans lequel ces modules seront affichés, et pour chacun d'eux une valeur d'option comprise entre 0 et 9 qui pourra modifier le comportement du module. Cette variable contextuelle est constitué par une succession de paires "lettre, chiffre", la lettre précisant le module et le chiffre l'option d'affichage. Ces paires apparaissent dans l'ordre d'affichage souhaité comme dans l'exemple ci-dessous : "individu" (option 1), "parents" (option 2), "fratrie" (option 3) et "unions" (option 1).

p_mod=p_mod=i1p2f3u1

Dans cet autre exemple

p_mod=i1l1i2l1i3l1i4
Graphical interface for module and options selection (p_mod).

on affichera les quatre variantes du module individu séparées par une ligne horizontale.

Le fichier de configuration par défaut a.gwf donne la liste des modules actuellement disponibles, sachant qu'il est toujours possible pour un utilisateur de rajouter ses propres modules qu'il conservera dans le dossier

bases/etc/perso_modules/nouveau_module.txt

On notera que la valeur du paramètre p_mod peut être conservée dans le fichier base.gwf de votre base. Elle est reportée dans l'URL (au même titre que la variable templ=) et peut donc être mémorisée dans l'URL d'un raccourci conservé dans votre navigateur. Cette dernière approche sera particulièrement utile pour les utilisateurs d'un service tel que la base Roglo. En effet, GeneWeb ne sait pas conserver un profil spécifique à chaque visiteur.

Une interface graphique permet la sélection et le choix des options. L'affichage de vignettes permet de se rendre compte de l'aspect global de chaque option et de la page résultant de leur assemblage. Les modules personnels ajoutés par l’utilisateur n'apparaissent pas dans l'interface graphique mais restent accessibles en éditant manuellement le vecteur p_mod=. Pour les faire apparaître dans l’interface graphique, il faut éditer le fichier gw/etc/p_mod.js en s'inspirant des modules existants.

Certains modules disposent eux mêmes de boutons permettant de faire varier leur comportement (avec ou sans images, avec ou sans les demi-frères et soeurs, nombre de générations, etc)

On notera sur cette interface le bouton le plus à droite qui active le premier mode d'affichage prédéfini p_mod=zz sur deux colonnes décrit dans la section perso.txt.

Perso.txt

Le fichier perso.txt gère l'affichage des pages d'informations associées à chaque individu avec la structure d'ensemble suivante :

Import des fonctions utilitaires et affichage de la barre de menus.

%import;perso_utils;
%include.menubar;

Deux modes d'affichage :

1/ affichage sur deux colonnes, données fixes

 %if;(p_mod="zz")
  %(Statique%)
  %( two columns if screen_width>=992px but full width for tablets/phone < 992px %)
    %if;(has_parents and (father.has_parents or mother.has_parents))
       <div class="collapse" id="collapseExample1">
          %let;op_m;1%in;%apply;show_templ("perso_module/gr_parents")
       </div>
    %end;
    <div class="row">
      %(be carefull h1 is full width then an opening <div class="col-8"> in individu module %)
      %let;op_m;3%in;%apply;show_templ("perso_module/individu")
      %let;op_m;2%in;%apply;show_templ("perso_module/unions")
      %let;op_m;1%in;%apply;show_templ("perso_module/chronologie")
      %let;op_m;1%in;%apply;show_templ("perso_module/notes")
      %let;op_m;2%in;%apply;show_templ("perso_module/sources")
      </div> %( closing the <div class="col-8"> in module individu %)
      <div class="d-none d-lg-block col-lg-4">%(second column above lg%)
        %let;op_m;2%in;%apply;show_templ("perso_module/arbre_3gen_photo")
        %let;op_m;1%in;%apply;show_templ("perso_module/fratrie")
        %let;op_m;1%in;%apply;show_templ("perso_module/relations")
      </div>
    </div>

2/ affichage sur une colonne. Modules de a à z tels que définis dans le fichier .gwf et gouvernés par le vecteur de modules/options défini dans la variable p_mod

 %else;(p_mod!="")
  %(Dynamic %)
    %for;i;0;p_mod_nbr;
      %let;mmi;%apply;mm(i)%in;
      %let;ooi;%apply;oo(i)%in;
      %if;(mmi!="" and ooi!=0)
        %apply;get_mod(mmi, ooi)
      %end
    %end;

%end;

Exemples de définitions des modules :

perso_module_i=individu
perso_module_p=parents
perso_module_u=unions
perso_module_f=fratrie
perso_module_r=relations
perso_module_c=chronologie
perso_module_n=notes
perso_module_s=sources
perso_module_a=arbres
perso_module_g=gr_parents
perso_module_l=ligne

Exemples

Chaque sous-module produit les résultats ci-dessous :

(les exemples ci dessous sont extraits d'une version 6, et peuvent être différents avec la version 7)

Fichier Exemple
personnal_data
Personal data.
parents, option=1
Parents (simple).
parents, option 2
Parents (more complex).
parents, option 3
Parents (full).
parent, option 4
Parents (with photo).
unions, option 1
Union (simple).
unions, option 2
Union (more complex).
unions, option 3
Union (full).
unions, option 4
Union (with photo).
siblings, option 1
Brothers and sisters (simple).
siblings, option 2
Brothers and sisters (full).
family
Family.
relations
Relations.
notes
Notes.
sources
Sources.
timeline
trees, option 3
Tree, vertical, 3 generations.
trees, option 1
Tree, vertical, 3 generations with photos.
trees, option 4
Tree, vertical, 4 generations.
trees, option 5
Tree, horizontal, 5 generations.

Manuel GeneWeb

Rembrandt Old Man Reading a Book.jpg

Utiliser et gérer une base généalogique

Annexe technique