Antworten

Parenté avec Sosa N°1 dans perso.txt

Pour poser toutes vos questions sur l'utilisation du logiciel GeneWeb (Version Windows, Linux, Mac). Attention, toutes les questions posées sur ce forum doivent uniquement concerner l'utilisation de GeneWeb sur votre ordinateur personnel.
antterli
antterli
Beiträge: 14
Eingabeform: Text
Navigation: Text
Den Stammbaum ansehen
Près de 2/3 des individus de ma généalogie ont un lien de parenté (direct ou par alliance) avec mes enfants. Lorsque j'arrive sur leur fiche, j'aimerais afficher le premier n° Sosa dont ils descendent ; est-ce possible ?
chantal20
chantal20
Beiträge: 7034
Eingabeform: Text
Navigation: Text
Den Stammbaum ansehen
Bonjour,
Le lien des sosas est dans le sens de l'ascendance et non de la descendance. C'est donc sur l'un de vos enfants qu'il faut paramétrer la souche de votre arbre, mais n'auront un numéro que les personnes ayant un lien direct et non indirect avec lui.
C'est ici pour paramétrer :
https://my.geneanet.org/arbre/options/parametres.php?view=souche
Cordialement
Chantal
chantal20
chantal20
Beiträge: 7034
Eingabeform: Text
Navigation: Text
Den Stammbaum ansehen
Je viens de regarder votre arbre, apparemment votre souche est bien définie mais masquée, si vous souhaitez que les numéros sasas apparaissent pour tout le monde vous allez dans les paramètres de confidentialité réglage expert :
https://my.geneanet.org/arbre/acces/?view=options
A la première ligne
Rendre "non cliquables" les fiches privées marquées d'un "x" (individus non renseignés ou masqués).
vous indiques "non". Ainsi on pourra naviguer sur vos fiches masquées tout en ne voyant que des XX, mais cela a l'avantage d'afficher les numéros de sosa.
Chantal
antterli
antterli
Beiträge: 14
Eingabeform: Text
Navigation: Text
Den Stammbaum ansehen
Merci de votre réponse, qui ne correspond malheureusement pas à ma question.

J'aimerais, par exemple, que les fiches de mes neveux affichent : "descend du Sosa n°4", celles des neveux de mon épouse affichent : "descend du Sosa n°6", celles des autres descendants de mes grands-parents affichent : "descend du Sosa n°8" (ou 10, selon le cas), et ainsi de suite. En modifiant par "son conjoint descend du Sosa n°x" pour les liens par alliance.

Idéalement, sous forme d'un URL qui amènerait à la visualisation du lien de parenté correspondant.

Je ne demande pas que ça soit implémenté sur Geneanet, car peut poser des problèmes de performance, mais j'aimerais savoir si cette requête est possible, pour l'intégrer à ma base en local.
guillaumebrochu
guillaumebrochu
Beiträge: 101
Eingabeform: Text
Navigation: Text
Den Stammbaum ansehen
antterli hat geschrieben: 31 Juli 2018, 10:31 J'aimerais, par exemple, que les fiches de mes neveux affichent : "descend du Sosa n°4", celles des neveux de mon épouse affichent : "descend du Sosa n°6", celles des autres descendants de mes grands-parents affichent : "descend du Sosa n°8" (ou 10, selon le cas), et ainsi de suite. En modifiant par "son conjoint descend du Sosa n°x" pour les liens par alliance.
Dans le menu "parenté", il y a la commande "parenté avec _____ (sosa 1)" qui donne directement de lien de parenté avec le sosa #1.

Ceci autant en local qu'avec Généanet (exemple de fiche où cette option est disponible: https://gw.geneanet.org/guillaumebrochu?lang=fr&n=labonte&p=aime)

Ce n'est pas exactement ce que vous recherchez (demande 2-3 clics au lieu d'un seul), mais ça donne le résultat désiré.
Voici ma version personnelle pré-compilée de Geneweb 7, compatible dans les deux sens avec Geneanet :o
Je vous invite aussi à consulter le Wiki de GeneWeb
:ugeek:
antterli
antterli
Beiträge: 14
Eingabeform: Text
Navigation: Text
Den Stammbaum ansehen
guillaumebrochu hat geschrieben: 01 August 2018, 02:42 Ce n'est pas exactement ce que vous recherchez (demande 2-3 clics au lieu d'un seul), mais ça donne le résultat désiré.
Merci. Mais c'est justement ces 2-3 clics que je souhaite éviter ;)
guillaumebrochu
guillaumebrochu
Beiträge: 101
Eingabeform: Text
Navigation: Text
Den Stammbaum ansehen
antterli hat geschrieben: 12 August 2018, 22:53 Merci. Mais c'est justement ces 2-3 clics que je souhaite éviter ;)
Peut-être que les experts en template geneweb qui fréquentent ce forum auraient idée comment aller chercher le 1er lien de parenté, s'il en existe un, entre un individu et le sosa #1 (cas général : il y a soit 0, 1 ou plusieurs liens de parenté triés du "plus parent" au "moins parent") et d'y extraire le SOSA de l'ancêtre commun?

J'avoue que cette fonctionnalité m'intéresserait aussi! :D
Voici ma version personnelle pré-compilée de Geneweb 7, compatible dans les deux sens avec Geneanet :o
Je vous invite aussi à consulter le Wiki de GeneWeb
:ugeek:
antterli
antterli
Beiträge: 14
Eingabeform: Text
Navigation: Text
Den Stammbaum ansehen
Je reviens sur cette ancienne question.

J'ai codé ce qui suit dans ma base locale, qui n'est pas parfait, mais permet d'identifier qu'il y a un/des ascendant/s commun/s avec mon sosa 1.
Ils ne sont malheureusement pas triés par rapport à celui-ci (j'ai par exemple quelqu'un dans ma généalogie plus proche de mon sosa 472 que de mon sosa 270).
J'ai limité la recherche à 10 générations, ce qui est déjà lourd pour les frères et soeur de mon Sosa 1.

%if;(has_parents and not has_sosa)
Descend de
%foreach;ancestor_level;
%if;(level<11)
%foreach;ancestor;
%if;(ancestor.has_sosa and ancestor.sosa<1024)
<br>
%apply;short_display_person("ancestor") (Sosa %ancestor.sosa)
%end;
%end;
%end;
%end;
%end;
oau
oau
Beiträge: 4216
Eingabeform: Text
Navigation: Text
Den Stammbaum ansehen
Bonjour,
J'ai testé ce code en geneweb 5.02 sur mon neveu et cela lui affiche toute la liste des ancêtres communs avec moi, ce qui fait très très long !

Perso j'ai codé (toujours en 5.2) comme ci-dessous pour faire apparaitre une petite goutte de sang bleu. Mais il y a des limites qui font que l'affichage se fait que si le sosa 1 (la référence de la recherche) a de nombreux ancêtres. (par exemple si le sosa 1 n'a pas d'ancêtre mais qu'il a 50 générations sous lui, seuls ses enfants auront la goutte de sang bleue...)

Code: Alles auswählen

<!-- DEBUT définition de la relation collatérale -->
%define;image_collateral(xxx,size)	<!-- Icone goutte de sang bleue -->
	%let;msg;
		[*related to %s:::xxx]
	%in;
	%if;("size" != "")
		<img src="%image_prefix;/collateral.png" height="size"%sp; style="border:none" title="%msg;"%/>%nn;
	%else;
		<img src="%image_prefix;/collateral.png" style="border:none" title="%msg;"%/>%nn;
	%end;
%end;

%define;display_collateral_link(xx,size)	<!-- Affichage d'une goutte de sang bleue marquant un lien de sang  -->
	%reset_count;
	%if;(browsing_with_sosa_ref and not xx.has_sosa)
		%foreach;ancestor_level;	<!-- PROBLEME ce level est celui de la personne qu'on consulte, pas du xx ! Donc ça limite dans les descendances -->
			%if;(count = 0)
				<!-- PROBLEME on ne peut pas mettre xx. devant ancestor ! donc ça limite l'utilisation -->
				%foreach;ancestor; <!-- PROBLEME ne marche qu'avec xx = self et child et je ne sais pas comment le pgm le reconnait tout seul -->
					%if;(ancestor.has_sosa and count = 0)
						%incr_count;	<!-- Permet de diminuer les boucles de boucles -->
					%end;
				%end;
			%end;
		%end;
	%end;
	%if;(count != 0)
		%if;not cancel_links;
			<a href="%prefix;em=R&e%ind_access;&m=NG&select=input&n=1&t=PN&et=S;image=on">
		%end;
		%apply;image_collateral(sosa_ref,size)
		%if;not cancel_links;
			</a>
		%end;%sp;
	%end;
%end;
<!-- FIN   définition de la relation collatérale -->
Exemples d'utilisation

Code: Alles auswählen

%define;display_info(xx,size)
	%apply;image_sex("xx","size")
	%apply;display_sosa_link("xx","size")
	%if;("xx" != "spouse" and "xx" != "parent" and "xx" != "relation_him" and "xx" != "relation_her" and "xx" != "related" and "xx" != "witness")
		<!-- Ne marche pas quand on met spouse, parent, relation_him, relation_her, related et witness -->
		%apply;display_collateral_link("xx","size")

	%end;
	%apply;genetic_lines("sosa_ref","xx","16")
	%apply;picture_ind("xx","size")
	%apply;access_ind("xx")
	%apply;knight_order("xx","size","no")
	%apply;access_alias("xx")
%end;

Code: Alles auswählen

%apply;display_info("child","13")

Code: Alles auswählen

%apply;display_collateral_link("self","")
OAU
antterli
antterli
Beiträge: 14
Eingabeform: Text
Navigation: Text
Den Stammbaum ansehen
J'ai cru trouver la solution en utilisant une variable avec l'instruction %let mais ma variable min_sosa est réinitialisée au premier %end.

Un lecteur de ce forum a-t-il une documentation plus détaillée que The expert corner

Code: Alles auswählen

%if;(browsing_with_sosa_ref and has_parents and not has_sosa)
  %let;min_sosa;0%in;
  %foreach;ancestor_level;
    %if;(level<=10)
      %foreach;ancestor;
        %if;(ancestor.has_sosa and ancestor.sosa<1024)
          %if;(min_sosa=0 or ancestor.sosa<min_sosa)
            %let;min_sosa;%ancestor.sosa%in;
          %end;
        %end;
      %end;
    %end;
  %end;
  %if;(min_sosa>0)
    Descend du Sosa %min_sosa
  %end;
%end;
oau
oau
Beiträge: 4216
Eingabeform: Text
Navigation: Text
Den Stammbaum ansehen
Bonjour,

testé en V 5.02.

La partie "%let;min_sosa;%ancestor.sosa%in;" ne fonctionne pas correctement.

Je vois passer la valeur de 0 à 2 mais cela n’arrête pas la boucle car la valorisation est perdue (repassage à 0) et alors on refait un tour pour chaque ancêtre commun et à la fin rien de s'affiche.

%if;(ancestor.has_sosa and ancestor.sosa<1024)%min_sosa;//%ancestor.sosa;\\
%if;(min_sosa=0 or ancestor.sosa<min_sosa)
%let;min_sosa;%ancestor.sosa%in;titi%min_sosa;tyty
%end;%min_sosa;

titi%min_sosa;tyty => Affichage = 2 sur l'écran
Le suivant %min_sosa; après le end => 0

OAU
rpoulin2010
male
Beiträge: 360
Eingabeform: Text
Navigation: Text
Den Stammbaum ansehen
Bonjour, par curiosité où avez-vous placé votre code? Sur quelle ou quelles page(s) du template?

Merci!

------------------------------------------------------

oau hat geschrieben: 20 September 2020, 08:41 Bonjour,
J'ai testé ce code en geneweb 5.02 sur mon neveu et cela lui affiche toute la liste des ancêtres communs avec moi, ce qui fait très très long !

Perso j'ai codé (toujours en 5.2) comme ci-dessous pour faire apparaitre une petite goutte de sang bleu. Mais il y a des limites qui font que l'affichage se fait que si le sosa 1 (la référence de la recherche) a de nombreux ancêtres. (par exemple si le sosa 1 n'a pas d'ancêtre mais qu'il a 50 générations sous lui, seuls ses enfants auront la goutte de sang bleue...)

Code: Alles auswählen

<!-- DEBUT définition de la relation collatérale -->
%define;image_collateral(xxx,size)	<!-- Icone goutte de sang bleue -->
	%let;msg;
		[*related to %s:::xxx]
	%in;
	%if;("size" != "")
		<img src="%image_prefix;/collateral.png" height="size"%sp; style="border:none" title="%msg;"%/>%nn;
	%else;
		<img src="%image_prefix;/collateral.png" style="border:none" title="%msg;"%/>%nn;
	%end;
%end;

%define;display_collateral_link(xx,size)	<!-- Affichage d'une goutte de sang bleue marquant un lien de sang  -->
	%reset_count;
	%if;(browsing_with_sosa_ref and not xx.has_sosa)
		%foreach;ancestor_level;	<!-- PROBLEME ce level est celui de la personne qu'on consulte, pas du xx ! Donc ça limite dans les descendances -->
			%if;(count = 0)
				<!-- PROBLEME on ne peut pas mettre xx. devant ancestor ! donc ça limite l'utilisation -->
				%foreach;ancestor; <!-- PROBLEME ne marche qu'avec xx = self et child et je ne sais pas comment le pgm le reconnait tout seul -->
					%if;(ancestor.has_sosa and count = 0)
						%incr_count;	<!-- Permet de diminuer les boucles de boucles -->
					%end;
				%end;
			%end;
		%end;
	%end;
	%if;(count != 0)
		%if;not cancel_links;
			<a href="%prefix;em=R&e%ind_access;&m=NG&select=input&n=1&t=PN&et=S;image=on">
		%end;
		%apply;image_collateral(sosa_ref,size)
		%if;not cancel_links;
			</a>
		%end;%sp;
	%end;
%end;
<!-- FIN   définition de la relation collatérale -->
Exemples d'utilisation

Code: Alles auswählen

%define;display_info(xx,size)
	%apply;image_sex("xx","size")
	%apply;display_sosa_link("xx","size")
	%if;("xx" != "spouse" and "xx" != "parent" and "xx" != "relation_him" and "xx" != "relation_her" and "xx" != "related" and "xx" != "witness")
		<!-- Ne marche pas quand on met spouse, parent, relation_him, relation_her, related et witness -->
		%apply;display_collateral_link("xx","size")

	%end;
	%apply;genetic_lines("sosa_ref","xx","16")
	%apply;picture_ind("xx","size")
	%apply;access_ind("xx")
	%apply;knight_order("xx","size","no")
	%apply;access_alias("xx")
%end;

Code: Alles auswählen

%apply;display_info("child","13")

Code: Alles auswählen

%apply;display_collateral_link("self","")
OAU
Ma page généalogie personnelle sur Geneweb en ligne V7.1, galerie photos, cartographie : http://bit.ly/2Tk30dx
oau
oau
Beiträge: 4216
Eingabeform: Text
Navigation: Text
Den Stammbaum ansehen
rpoulin2010 hat geschrieben: 21 September 2020, 23:02 Bonjour, par curiosité où avez-vous placé votre code? Sur quelle ou quelles page(s) du template?
Bonjour,

Travaillant en v5.2 je n'ai que perso.txt.

(on peut néanmoins créer des fichiers // appelés par perso.txt mais ce n'est pas très souple)

OAU
arboriculteur
male
Beiträge: 40
Eingabeform: Grafisch
Navigation: Text
Den Stammbaum ansehen
oau hat geschrieben: 20 September 2020, 08:41

Code: Alles auswählen

  %if;(ancestor.has_sosa and count = 0)
    %incr_count;  <!-- Permet de diminuer les boucles de boucles -->
  %end;
Bonjour,
L'astuce %incr_count; est importante.
Voici ma contribution :

Code: Alles auswählen

%define;sosa_bulla(z1,z2,z3)
  %if;(z3 > 1)
    %let;l1;%expr(z3 % 2)%in;
    <span class="c_sex%l1;">%if;(l1 = 0)z1%else;z2%end;</span>
    %apply;sosa_bulla("z1","z2",z3 / 2)
  %end;
%end;
%define;sosa_bullb(z1,z2,z3)
  <span class="c_sexz3">%if;(z3 = 0)z1%else;z2%end;</span>
%end;

%if;(browsing_with_sosa_ref and has_sosa or has_parents)
  <style>
    #sosa_rel {font-family: monospace;}
    #sosa_rel .c_sex0 {color: royalblue;}
    #sosa_rel .c_sex1 {color: hotpink;}
  </style>
  <p id="sosa_rel">
    %if;(has_sosa)
      %if;(sosa != 1)
        <a href="%prefix;em=R;et=A;spouse=on;image=on;i=%index;;ei=%sosa_ref.index;">
        %apply;sosa_bullb("●","◍",sex)
        [Sosa] %sosa; · %sosa_ref;<br>
        &nbsp;%apply;sosa_bulla("●","◍",sosa.v / 2)
        %apply;sosa_bullb("●","◍",sosa_ref.sex)
        </a>
      %else;
        %apply;sosa_bullb("●","◍",sex) [Sosa] 1
      %end;  
    %elseif(has_parents)
      %reset_count;
      %foreach;ancestor_level
        %if;(count = 0 and number_of_ancestors.v < 1024)
          %foreach;ancestor;
            %if;(count = 0 and ancestor.has_sosa)
              %incr_count;
              <a href="%prefix;em=R;et=A;spouse=on;image=on;i=%index;;ei=%sosa_ref.index;">
                &nbsp;%apply;sosa_bulla("■","▥",ancestor.anc_sosa.v / 2)
                %apply;sosa_bullb("■","▥",sex)<br>
                %apply;sosa_bullb("●","◍",ancestor.sex)
                [Sosa] %ancestor.sosa; · %sosa_ref;<br>
                %if;(ancestor.sosa.v > 1)
                  &nbsp;%apply;sosa_bulla("●","◍",ancestor.sosa.v / 2)
                  %apply;sosa_bullb("●","◍",sosa_ref.sex)
                %end;
              </a>
            %end;
          %end;
        %end;
      %end;
    %end;
  </p>
%end;

Exemple de résultat :
sosa_bull.png
sosa_bull.png (10.15 KiB) 1042 mal betrachtet
Si on clique sur le sosa puis sur voir le lien de parenté :
parente.png
Zuletzt geändert von arboriculteur am 04 Dezember 2020, 23:14, insgesamt 1-mal geändert.
arboriculteur
male
Beiträge: 40
Eingabeform: Grafisch
Navigation: Text
Den Stammbaum ansehen
antterli hat geschrieben: 21 September 2020, 00:45 J'ai cru trouver la solution en utilisant une variable avec l'instruction %let mais ma variable min_sosa est réinitialisée au premier %end.

Un lecteur de ce forum a-t-il une documentation plus détaillée que The expert corner

Code: Alles auswählen

%if;(browsing_with_sosa_ref and has_parents and not has_sosa)
  %let;min_sosa;0%in;
  %foreach;ancestor_level;
    %if;(level<=10)
      %foreach;ancestor;
        %if;(ancestor.has_sosa and ancestor.sosa<1024)
          %if;(min_sosa=0 or ancestor.sosa<min_sosa)
            %let;min_sosa;%ancestor.sosa%in;
          %end;
        %end;
      %end;
    %end;
  %end;
  %if;(min_sosa>0)
    Descend du Sosa %min_sosa
  %end;
%end;
Deux possibilités :

Code: Alles auswählen

%if;(browsing_with_sosa_ref and has_parents and not has_sosa)
  %reset_count;
  %foreach;ancestor_level;
    %if;(count = 0 and level <= 10)
      %foreach;ancestor;
        %if;(ancestor.has_sosa and ancestor.anc_sosa.v < 1024)
          %if;(count = 0)
            %incr_count;
            Descend du Sosa %ancestor.sosa;
          %end;
        %end;
      %end;
    %end;
  %end;
%end;

%if;(browsing_with_sosa_ref and has_parents and not has_sosa)
  %reset_count;
  %foreach;ancestor_level;
    %if;(count = 0 and level <= 10)
      %foreach;ancestor;
        %if;(ancestor.has_sosa and ancestor.anc_sosa.v < 1024)
          %if;(count = 0)
            %for;i;0;ancestor.sosa;%incr_count;%end;
          %end;
        %end;
      %end;
    %end;
  %end;
  %let;min_sosa;%count;%in;
  %if;(min_sosa > 0)
    Descend du Sosa %min_sosa;
  %end;
%end;
Antworten

Zurück zu „GeneWeb“