Difference between revisions of "templates/fr"

From GeneWeb
Jump to: navigation, search
(Correction orthographe example ==> exemple)
m (Perso.txt)
 
(13 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 33: Line 37:
  
 
<pre>
 
<pre>
   perso_module_a=personnal_data
+
   perso_module_i=individu
   options_personnal_data=1
+
   perso_module_p=parents
   option_personnal_data=standard
+
   perso_module_f=fratrie
 +
  ...
 +
</pre>
  
  perso_module_b=parents
+
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).
  options_parents=4
+
  option_parents_1=simple
+
  option_parents_2=evolved
+
  option_parents_3=complete
+
  option_parents_4=complete+photos
+
  
  perso_module_c=siblings
+
p_mod=p_mod=i1p2f3u1
  options_siblings=4
+
  option_siblings_1=simple
+
  option_siblings_2=complete
+
</pre>
+
Pour chaque module, d'autres variables définissent le nombre d'options et leurs caractéristiques.
+
  
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.
+
Dans cet autre exemple  
Par exemple le vecteur
+
  p_mod=i1l1i2l1i3l1i4
  p_mod=c1a2b3
+
[[File:p_mod-configuration.png|thumb|400px|right|Graphical interface for module and options selection (p_mod).]]
affichera d'abord le module {{c|siblings}} avec l'option 1, puis le module {{c|personnal_data}} avec l'option 2 et enfin le module {{c|parents}} avec l'option 3.
+
on affichera les quatre variantes du module {{c|individu}} séparées par une ligne horizontale.
  
 
Le fichier de configuration par défaut {{c|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
 
Le fichier de configuration par défaut {{c|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
 
  {{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 devrait permettre la sélection, le choix des options et l'organisation interactive des modules.
+
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.
  
==Perso.txt==
+
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.
  
Le fichier perso.txt offre un moyen de personnalisation supplémentaire. Le code ci-dessous est auto-explicatif.
+
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 l'évolution du nommage des fichiers vers anglais. La liste des fichiers est consultable dans le dossier {{c|gw/etc/perso_modules}}).
+
  
<pre>
+
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}}.
  
%import;perso_utils
+
==Perso.txt==
  
%include.perso_header;
+
Le fichier {{c|perso.txt}} gère l'affichage des pages d'informations associées à chaque individu avec la structure d'ensemble suivante :
  
%if;(bvar.perso_module_tplnb="" or bvar.perso_module_tplnb=0)
+
Import des fonctions utilitaires et affichage de la barre de menus.
  %apply;show_templ("perso_module/personnal_data")
+
  %apply;show_templ("perso_module/parents")
+
  %apply;show_templ("perso_module/unions")
+
  %apply;show_templ("perso_module/siblings")
+
  %apply;show_templ("perso_module/relations")
+
  %apply;show_templ("perso_module/timeline")
+
  %apply;show_templ("perso_module/notes")
+
  %apply;show_templ("perso_module/sources")
+
  %apply;show_templ("perso_module/trees")
+
%else;
+
  %for;i;0;bvar.perso_module_tplnb;
+
    %apply;get_templ(i)
+
  %end;
+
%end;
+
</pre>
+
  
Pour la plupart des sous modules, plusieurs alternatives sont disponibles, et vous pouvez éditer perso.txt selon votre convenance.
+
%import;perso_utils;
 +
%include.menubar;
  
<pre>
+
Deux modes d'affichage :
drwxr-xr-x  23 Henri  staff    782  1 oct 22:26 .
+
drwxr-xr-x  64 Henri  staff  2176 15 oct 23:56 ..
+
-rw-r--r--  1 Henri  staff  3979  1 oct 22:26 tree_3gen_v.txt
+
-rw-r--r--  1 Henri  staff  12691  1 oct 22:26 tree_3gen_v_photo.txt
+
-rw-r--r--  1 Henri  staff  10477  1 oct 22:26 tree_4gen_v.txt
+
-rw-r--r--  1 Henri  staff  19592  1 oct 22:26 tree_5gen_h.txt
+
-rw-r--r--  1 Henri  staff  2303  1 oct 22:26 personnal_data.txt
+
-rw-r--r--  1 Henri  staff  7283  1 oct 22:26 family.txt
+
-rw-r--r--  1 Henri  staff  2964  1 oct 22:26 siblings.txt
+
-rw-r--r--  1 Henri  staff  1636  1 oct 22:26 notes.txt
+
-rw-r--r--  1 Henri  staff    785  1 oct 22:26 parents.txt
+
-rw-r--r--  1 Henri  staff  1877  1 oct 22:26 relations.txt
+
-rw-r--r--  1 Henri  staff    360  1 oct 22:26 sources.txt
+
-rw-r--r--  1 Henri  staff  1099  1 oct 22:26 timeline.txt
+
-rw-r--r--  1 Henri  staff  7374  1 oct 22:26 unions.txt
+
</pre>
+
 
+
Ceci peut aussi être fait avec un ensemble de paramètres dans le fichier {{c|base.gwf}}.
+
  
 +
1/ affichage sur deux colonnes, données fixes
 
<pre>
 
<pre>
perso_module_0=personnal_data
+
%if;(p_mod="zz")
perso_module_1=parents
+
  %(Statique%)
perso_module_2=unions
+
  %( two columns if screen_width>=992px but full width for tablets/phone < 992px %)
perso_module_3=siblings
+
    %if;(has_parents and (father.has_parents or mother.has_parents))
perso_module_4=relations
+
      <div class="collapse" id="collapseExample1">
perso_module_5=notes
+
          %let;op_m;1%in;%apply;show_templ("perso_module/gr_parents")
perso_module_6=sources
+
      </div>
perso_module_7=trees
+
    %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>
 
</pre>
 
</pre>
  
Avec un dernier paramètre précisant le nombre total de sous-modules :
+
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}}
 
<pre>
 
<pre>
perso_module_tplnb=8
+
%else;(p_mod!="")
</pre>
+
  %(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;
  
=== Module et options d'affichage (Version 7) ===
+
%end;
 
+
 
+
La version 7 de GeneWeb propose une solution alternative à la sélection des modules et y rajoute la possibilité d'un choix d'options d’affichage.
+
 
+
Notez tout d’abord que le nom des modules a été remanié :
+
 
+
<pre>
+
perso_module_0=personnal_data
+
perso_module_1=parents
+
perso_module_2=unions
+
perso_module_3=sinlings
+
perso_module_4=relations
+
perso_module_5=notes
+
perso_module_6=sources
+
perso_module_7=trees
+
perso_module_8=timeline
+
perso_module_9=gr_parents
+
perso_module-10=divider
+
 
</pre>
 
</pre>
  
Le fichier {{c|.gwf}} définit un nouvel ensemble de variables utilisant des lettres plutôt que des chiffres :
+
Exemples de définitions des modules :
  
 
<pre>
 
<pre>
perso_module_a=personnal_data
+
perso_module_i=individu
perso_module_b=parents
+
perso_module_p=parents
options_parents=5
+
perso_module_u=unions
perso_module_c=unions
+
perso_module_f=fratrie
options_unions=5
+
perso_module_r=relations
perso_module_d=siblings
+
perso_module_c=chronologie
options_siblings=3
+
perso_module_n=notes
perso_module_e=relations
+
perso_module_s=sources
options_relations=2
+
perso_module_a=arbres
perso_module_f=timeline
+
perso_module_g=gr_parents
options_timeline=2
+
perso_module_l=ligne
perso_module_g=notes
+
options_notes=2
+
perso_module_h=sources
+
options_sources=2
+
perso_module_i=trees
+
options_trees=8
+
perso_module_j=gr_parents
+
options_gr_parents=3
+
perso_module_z=divider
+
 
</pre>
 
</pre>
 
Chaque module peut être affiché selon le choix d'une option dont la valeur varie de 1 au chiffre précisé dans la variable {{c|options_module}} associés (la valeur par défaut est {{c|1}}).
 
 
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", "personnal_data", parents", "unions", ...
 
 
p_mod=j1a1b1c1d1e1f1g1h1i3
 
 
 
Le choix de {{c|1=p_mod=b1b2b3b4b5}} affichera les cinq options du module [[c|parents}}.
 
 
La barre de menu de la page {{c|perso.txt}} (deuxième onglet en aprtant 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 21: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