SPIP - Contrib

[ar] [en] [es] [fr] [it]



Accueil du site > Contribs dédiées > Généalogie > GeneSPIP

Plugin GeneSPIP - Gedcom import

Importation d’un fichier GedCom

dimanche 2 mars 2008, par Christophe Renou. Dernier ajout jeudi 1er mai 2008


GeneSPIP permet l’importation d’un fichier GedCom, l’article décrit les informations prises en compte à partir du fichier GedCom source.


1/ Etape 1 :

Importation :

L’importation est prise en charge par la page "gedcom_fonctions.php". En premier lieu, le script créer une table temporaire "spip_genespip_tempo" (encodage UTF-8) avec les champs :
- num_tableau
- num_info
- type
- info

Le fichier Gedcom sera ainsi lu par ligne et chaque ligne sera insérée dans la table "spip_genespip_tempo"

num_tableau et num_info permettent de gérer le rang par rapport aux entrées du fichier Gedcom.

num_tableau permettra en particulier de créer le pointeur lors la lecture de la table et ainsi identifier les informations propre à un individu ou à une famille.

Le champ "type" stockera les types d’informations (FAM, INDI, NOTE, NAME ...).
- Le champ "info" stockera les détails propre au type.

2/ Etape 2 :

Transfert des données de la table temporaire vers les tables de genespip ("spip_genespip_individu" et "spip_genespip_mariage")

Liste des données converties :

TYPE(GedCom)INFO(GeneSPIP)
INDI id_individu
NAME Nom, Prénoms
DATE(MARR, BIRT, DEAT) mar ou naissance ou deces
PLAC(MARR, BIRT, DEAT) marlieu ou naissancelieu ou deceslieu
OCCU metier
RESI adresse
CONC, CONT, NOTE note
SEX sexe
HUSB ou WIFE epoux
CHIL enfant=1

Les autres types ne sont pas traités.

3/ Etape 3 :

- Suppression de la table temporaire
- Exécution de la fonction "genespip_maj_liste()" afin d’alimenter la liste des patronymes "spip_genespip_liste".


Répondre à cet article

  • Plugin GeneSPIP - Gedcom

    2 mars 2008 10:25, par Maïeul

    j’ai juste une question technique.

    che moi les indications de naissance sont du type

    1 BIRT
    2 DATE 28 JUN 1990
    3 TIME 0:25
    2 PLAC Melun,77000,Seine-et-Marne,Île-de-France,FRANCE,

    comment fait -on script pour savoir que la date 28 juin 1990 correspond à la naissance ? étant dopnné que tu c a se troiuve dans une seul table en bazar

    Répondre à ce message

    • Plugin GeneSPIP - Gedcom 2 mars 2008 13:11, par Christophe Renou

      C’est num_tableau qui permet de faire la différence :

      Num_tableau est construit de la manière suite n° groupe-n° sous groupe

      A chaque détection d’un 0, on incrémente le n° groupe et à chaque détection de 1, on incrémente le n° sous groupe exemple

      Détail num_tableau num_info type info
      num_info=0 -> n° groupe est incrémenté de 1 1-0 0 HEAD
      num_info=1 -> n° sous groupe est incrémenté de 1 1-1 1 SOUR
      1-1 2 VERS 0.1
      1-1 2 NAME Auteur
      num_info=1 -> n° sous groupe est incrémenté de 1 1-2 1 DEST logiciel conforme Gedcom
      num_info=1 -> n° sous groupe est incrémenté de 1 1-3 1 DATE 15 APR 2003 / may 2004
      num_info=0 -> n° groupe est incrémenté de 1 2.3 0 INDI
      num_info=1 -> n° sous groupe est incrémenté de 1 2-4 1 BIRT
      2-4 2 DATE 28 JUN 1990
      2-4 3 TIME 0:25
      2-4 2 PLAC Melun, 77000, Seine-et-Marne, Île-de-France, FRANCE

      Le tableau fait, il suffit de détecter "BIRT" et ainsi tout ce qui possède le même num_tableau que celui du "BIRT" sélectionné correspond au données de ce dernier.

      Répondre à ce message

    Retour au début des forums



Suivre la vie du site RSS 2.0 | Plan du site | Espace privé | Charte et vie SPIP-Contrib | SPIP | L'autre.net