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".



Vos commentaires
# Le 4 juin à 19:29, par ?
Ce plugin Est-il maintenu pour une version 2.1 de spip ?
cordialement,
# Le 25 juillet à 12:46, par ?
bonjour
Idem, une mise à jour vers spip 2 serait la bienvenue.
Répondre à ce message
# Le 2 mars 2008 à 10:25, par Maïeul
j’ai juste une question technique.
che moi les indications de naissance sont du type
1 BIRT2 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
# Le 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
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