Forum Généamania

Divers => Foire Aux Questions => Discussion démarrée par: jlsviro le Avr 20, 2022, 08:51 AM

Titre: Mise à jour des individus via fichier GedCom
Posté par: jlsviro le Avr 20, 2022, 08:51 AM
Message de OgeGOon 18 Sep 2007, 11:58
Hello.

Alors tout d'abord, félicitation pour cet outil. Après l'avoir installé (mode non-autonome), il me semble que c'est ce que je recherchais: une application web simple, légere et efficace pour présenter des fichiers GedCom sur le web...

J'ai cependant déjà quelques questions:

Après l'upload d'un fichier GedCom, j'ai modifié la fiche de mon ancêtre le plus lointain pour lui donner le n° 1: (temporairement visible ici http://www.meurs.be/genealogie/geneamania/Fiche_Fam_Pers.php?Refer=570)

Ensuite, j'ai fait la vérification des SOSA et il ne m'a affiché aucune différence. Je ne suis pas encore un pro de la généalogie et ce fichier GedCom me vient d'un parent qui utilise Hérédis. Quel peut être le problème ? Est-ce dans le fichier GedCom ?

Enfin, j'ai voulu voir s'il était possible de mettre à jour les données en important une version modifié du GedCom... Hélas, Geneamania a créer des doubles de tous les individus. Comme je ne gère pas moi même le fichier GedCom, cette mise à jour est importante pour maintenir le site et le fichier synchrone... Quel solution existe-t-il pour cela ?

Autant préciser le but recherché: Hérédis génère des sites web pour ses arbres généalogiques, mais à chaque regénération du site (suite à une mise à jour d'info), tous les liens internet vers des individus de ce site ne sont plus valables. Je voulais donc un soft qui aurait généré des pages web dont les hyperliens restent valables en cas de mise à jour et ajout d'individus. En gros, un site qui n'utilise pas le SOSA ou un nombre aléatoire comme référence dans l'url des individus, mais plutôt un numéro unique et fixe.

Merci d'avance pour toute réponse à mes questions !

O.

Message de jlsviro 22 Sep 2007, 16:07
Citation de: OgeGOonAlors tout d'abord, félicitation pour cet outil. Après l'avoir installé (mode non-autonome), il me semble que c'est ce que je recherchais: une application web simple, légere et efficace pour présenter des fichiers GedCom sur le web...
Merci ^^/
Citation de: OgeGOonAprès l'upload d'un fichier GedCom, j'ai modifié la fiche de mon ancêtre le plus lointain pour lui donner le n° 1: (temporairement visible ici http://www.meurs.be/genealogie/geneamania/Fiche_Fam_Pers.php?Refer=570)
La numérotation Sosa est une numérotation ascendante. Ce qui veut dire que c'est pas votre ancêtre le plus lointain qui porte le numéro 1 mais vous. Il vous faut donc corriger cela. Cependant, il est normal que la vérification n'ait détecté aucune erreur car elle vérifie également en remontant...

Citation de: OgeGOonEnfin, j'ai voulu voir s'il était possible de mettre à jour les données en important une version modifié du GedCom... Hélas, Geneamania a créer des doubles de tous les individus. Comme je ne gère pas moi même le fichier GedCom, cette mise à jour est importante pour maintenir le site et le fichier synchrone... Quel solution existe-t-il pour cela ?
On ne peut pas modifier un groupe de personnes par le biais d'un fichier Gedcom. Pour ce faire, il faut avoir la totalité des personnes (y compris les personnes modifiées) et ré-injecter dans Généamania en demandant la suppression préalable des données en base. En première analyse, je ne vois pas trop comment faire car il est délicat d'établir une correspondance entre les personnes du fichier et les personnes de la base (les identifiants ne sont pas les mêmes). Est-ce bien cela votre problème ? Je réfléchirai plus avant en cas de réponse positive.

Merci de votre intérêt pour Généamania.

Bonne journée.

jean-Luc

Message de OgeGOon 23 Sep 2007, 12:51
CitationLa numérotation Sosa est une numérotation ascendante.

Désolé  :=$ je suis un vrai néophyte ! Mais je commence un peu à lire sur le sujet. Si c'est un parent qui gère le fichier GedCom via Hérédis, c'est moi qui me charge de mettre l'arbre en ligne...

Je n'ai aucun problème à réimporter le fichier GedCom complet dans généamania chaque fois qu'il a été mis à jour. Mais je voudrais utiliser dans des "articles" publiés sur le web des liens vers les individus de l'arbre généalogique. Si ces liens ne sont plus valables après une mise à jour de l'arbre, ça ne m'arrange pas. Or, je comprends d'après ce que me dit mon parent que les n° SOSA sont parfois recalculés lorsqu'il trouve de nouveaux individus à ajouter ? D'après ce que je lis maintenant, si j'ai le n° 1 et que tous les autres SOSA sont calculés par rapport à moi, je ne vois pas dans quel cas ils vont changés ? Si on ajoute un individus entre deux existants peut-être... Mais quand cela ce produit-il  ?

Je comprends que le "Refer" que je vois dans l'URL des individus présentés par Généamania est la clé unique en base de données. Pour un individu donné, après réimportation d'un fichier GedCom comprenant de nouveaux individus, ce "Refer" sera donc très probablement différent...

Mais j'ai vu depuis qu'il existait un n° RIN identifiant unique généré normalement par le programme de gestion du GedCom (Je ne sais pas si Hérédis le fait). Il existe aussi la possibilité de sauvegarder dans le GedDCom un n° unique que l'on donne soi même; le REFN. Basé sur ce REFN, il serait peut-être possible, lorsqu'il est présent dans un fichier GedCom, de s'en servir pour retrouver des individus déjà importés et en faire la mise à jour... Et surtout, si les liens vers les individus étaient basés sur ce REFN plutôt que le SOSA, là je serais sûr de ne pas avoir de soucis lors de mise à jour.

Example : lorsqu'il existe, permettre d'utiliser ce REFN (ou le RIN) au lieu du Refer dans le lien vers les "Fiche_Fam_Pers". Ce qui donnerait une URL du genre:
http://www.meurs.be/genealogie/geneamania/Fiche_Fam_Pers.php?Refn=570

Suis-je à coté de la plaque ou bien est-ce que ceci à du sens ? Ou pire, est-ce que Génémania fait déjà cela et je ne l'ai pas compris ???

bien à vous,

O.

Message de jlsviro 23 Sep 2007, 20:13
Bonsoir

Citation de: OgeGOonOr, je comprends d'après ce que me dit mon parent que les n° SOSA sont parfois recalculés lorsqu'il trouve de nouveaux individus à ajouter ? D'après ce que je lis maintenant, si j'ai le n° 1 et que tous les autres SOSA sont calculés par rapport à moi, je ne vois pas dans quel cas ils vont changés ? Si on ajoute un individus entre deux existants peut-être... Mais quand cela ce produit-il  ?
Je ne comprends pas non plus comment cela est possible  x) , en tous cas si le numéro 1 ne change pas !

Citation de: OgeGOonJe comprends que le "Refer" que je vois dans l'URL des individus présentés par Généamania est la clé unique en base de données.
Tout à fait...

Citation de: OgeGOonPour un individu donné, après réimportation d'un fichier GedCom comprenant de nouveaux individus, ce "Refer" sera donc très probablement différent...
Oui, si il y a de nouvelles personnes dans le fichier Gedcom.

Citation de: OgeGOonMais j'ai vu depuis qu'il existait un n° RIN identifiant unique généré normalement par le programme de gestion du GedCom (Je ne sais pas si Hérédis le fait). Il existe aussi la possibilité de sauvegarder dans le GedDCom un n° unique que l'on donne soi même; le REFN. Basé sur ce REFN, il serait peut-être possible, lorsqu'il est présent dans un fichier GedCom, de s'en servir pour retrouver des individus déjà importés et en faire la mise à jour... Et surtout, si les liens vers les individus étaient basés sur ce REFN plutôt que le SOSA, là je serais sûr de ne pas avoir de soucis lors de mise à jour.
Example : lorsqu'il existe, permettre d'utiliser ce REFN (ou le RIN) au lieu du Refer dans le lien vers les "Fiche_Fam_Pers". Ce qui donnerait une URL du genre:
http://www.meurs.be/genealogie/geneamania/Fiche_Fam_Pers.php?Refn=570
Intéressant... Je ne connaissais pas ces numéros. On pourrait effectivement les utiliser sauf qu'ils sont liés à un fichier Gedcom et donc à une source. En gros, rien ne garantit que vous n'aurez pas le même numéro dans un autre Gedcom. Il faudrait donc laisser à l'utilisateur le choix de prendre en compte ou non ce numéro lors de l'import. Qu'en pensez-vous ?
Pour ce qui est de mettre ce numéro dans les URL, la réponse est "non". Si l'on a réussi à identifier l'individu, la référence Généamania suffit.

Citation de: OgeGOonSuis-je à coté de la plaque ou bien est-ce que ceci à du sens ? Ou pire, est-ce que Génémania fait déjà cela et je ne l'ai pas compris ???
Comme je le disais, Généamania ne permet pour le moment pas de faire de la mise à jour. Il travaille en annule et remplace. Mais rien ne vous interdit de ré-importer un fichier modifié ; vous perdez cependant les modifications que vous auriez faites dans Généamania.

jean-Luc

Message de OgeGOon 24 Sep 2007, 13:29
CitationJe ne connaissais pas ces numéros. On pourrait effectivement les utiliser sauf qu'ils sont liés à un fichier Gedcom et donc à une source.
Ils sont effectivement lié à UN fichier GedCom et pourrait donc se retrouver dans un autre, ce qui pour ma part ne me gênerait pas puisque je n'utiliserais jamais qu'un seul fichier.

CitationPour ce qui est de mettre ce numéro dans les URL, la réponse est "non". Si l'on a réussi à identifier l'individu, la référence Généamania suffit.
Le problème est que la référence Généamania peut changer lorsque je réimporte le fichier GedCom après que ce dernier ait subit des modifications (dont des ajouts). les n° REFN par contre ne changeraient pas...

NB.: Dans Heredis 7, j'ai vu où l'on pouvait mettre un "Numéro utilisateur" pour un individu. En fait, on peut y mettre ce que l'on veut; pas forcément un numéro, mais également du texte; ex. blabla123. Après exportation du fichier Heredis vers un fichier GedCom, ce n° se retrouve dans une ligne "1 REFN blabla123". Pour éviter tout problème d'unicité au travers de divers fichier GedCom, je pourrais donc utiliser comme "n° utilisateur" le nom+prénom+date_de_naissance... ou même un GUID, numéro unique dans tout l'univers : http://fr.wikipedia.org/wiki/Globally_Unique_Identifier

Pour n'utiliser que le Refer pour rechercher les individus avec Généamania, on pourrait modifier Fiche_Fam_Pers.php comme suit (assomption faite que la DB soit adaptée pour inclure un champs text Refn):

// Recup de la variable passée dans l'URL

// Recup d'une référence Refn
$Refn = Recup_Variable('Refn','C');

if (!isempty($Refn)) {
  // Recup de la 1ère référence généamania correspondant à une référence Refn
  $sql='select * from ' . nom_table('personnes') . ' where Refn = '.$Refn;
  $resRefn = send_sql($db,$sql);
  $Refer = mysql_result($resRefn, 0, 'Refn');
  if (!Refer) {
    $Refer = 0;
  }
}
else {
  // Recup d'une référence généamania
  $Refer = Recup_Variable('Refer','N');
}

$sql='select * from ' . nom_table('personnes') . ' where reference = '.$Refer;

NB.: je n'ai jamais programmé en php, mais je le comprends et j'espère n'avoir pas écrit de grosses bêtises...


Cela dit, ne faites pas de modification "pour moi" ! Je m'en voudrais fort. Ne le faites que si c'est une réelle valeur ajoutée pour d'autres utilisateurs... D'autant que...  :$ Je n'ai pas encore arrêté mon choix en ce qui concerne la solution que nous utiliserons sur notre site...  :$

J'apprécie sincèrement votre promptitude à répondre !

O.

Message de jlsviro 26 Sep 2007, 0:46
Bonsoir,
En fait, le problème consiste "juste" à détecter la fiche à modifier. Ensuite la navigation se fait avec la référence Généamania. Je ne pense pas que modifier l'URL d'accès à la fiche personne soit une solution ; de plus, cette URL est générée dynamiquement, donc il faudrait aussi modifier les pages appelantes.
Je vais laisser passer un peu de temps histoire de laisser décanter le sujet et j'espère vous proposer dans quelque jours une mécanique que que pourrais implanter dans la 2.2. Pour moi, il n'y a que l'import Gedcom qui soit touché et éventuellement la fiche personne pour affiche le ou les numéros ; par contre, en première analyse, je ne compte pas implémenter de navigation basée sur le REFN. Il y a aura également une modification de la base pour gérer la correspondance (unique ou multiple).
jean-Luc