Le site de Madeleine et Pascal

Accueil > Généalogie > Initiation > GEDCOM, format pour l’échange de données

GEDCOM, format pour l’échange de données

2 juin 2015, par Pascal
 

Quand on fait des recherches généalogiques, on est rapidement confronté à l’utilisation d’un fichier utilisé par tous les généalogistes : le GEDCOM.

GEDCOM est l’abréviation de GEnealogical Data COMmunication (Communication de Données Généalogiques). Cette expression désigne une norme standard. La version actuellement utilisée est la version 5.5, du 2 janvier 1996.

Mis au point par les Mormons, ce format d’échange de données généalogiques permet l’importation et l’exportation de fichiers de données entre généalogistes (par fichier joint en courrier électronique, sur CD, clé USB etc.) [1].

Les logiciels de généalogie proposent presque tous l’importation et l’exportation de fichiers GEDCOM, même s’ils introduisent des différences notables dans la façon d’interpréter et même de suivre la norme dans l’écriture et la lecture des données.

Structure du fichier GEDCOM

C’est un fichier texte dont l’extension est .ged. Il est donc possible de l’ouvrir et de le modifier avec n’importe quel éditeur de texte (le bloc-note de votre ordinateur, un traitement de texte, etc.).

Le GEDCOM respecte des règles d’écriture spécifiques pour permettre l’échange des données généalogiques.

Un fichier GEDCOM est formé d’une suite de lignes de texte, chaque ligne commençant par un nombre qui indique le niveau de la ligne. Ce nombre est au plus égal au niveau de la ligne précédente +1.

Tout fichier GEDCOM débute par la ligne « 0 HEAD » ouvrant l’enregistrement d’en-tête et se termine par l’enregistrement de fin de fichier constitué de la ligne unique « 0 TRLR ».

Le fichier est découpé en enregistrements : chaque enregistrement commence par une ligne de niveau 0 et se termine à la ligne précédant la ligne de niveau 0 suivante, début d’un nouvel enregistrement.

Un enregistrement de niveau 0 est composé d’ensembles de niveau 1, eux-mêmes composés éventuellement d’autres de niveau 2, et ainsi de suite. Les informations du niveau N+1 sont toujours associées à la ligne de niveau N qui précède. L’ordre dans lequel les informations d’un fichier GEDCOM sont classées est donc fondamental.

Structure d’une llgne du fichier GEDCOM

D’une façon générale, une ligne est formée de deux à trois éléments séparés par un espace.
Les lignes de niveau 0, à l’exception de la première ligne, ont la forme :

0 @référence@ identificateur

Les lignes de niveau 1 et au-dessus ont la forme :

niveau identificateur données

ou simplement :

niveau identificateur

Le niveau et l’identificateur sont toujours présents. Le niveau est un nombre (en général à un seul chiffre). L’identificateur (TAG en anglais) est un mot de 3 à 4 lettres qui codifie le type d’information fournie.

123 identificateurs (tags) sont utilisés pour des niveaux de 1 à 5. Ce sont les combinaisons du tag et du niveau qui constituent le vocabulaire de référence.

Les références [2] et les données [3] seront introduites dans les paragraphes qui suivent.

Les lignes de niveau 0 et les enregistrements

0 @I125@ INDI

Une ligne de niveau 0 marque le début d’un enregistrement et comprend successivement :

  • le chiffre 0 qui indique le niveau de la ligne,
  • la référence de l’enregistrement formée d’une suite de chiffres et/ou de lettres quelconques précédée et suivie par un caractère @,
  • l’identificateur qui va définir le type d’enregistrement :
    • INDI : enregistrement d’un individu,
    • FAM : enregistrement d’une famille,
    • SOUR : enregistrement d’une source,
    • NOTE pour une note,
    • REPO pour un dépôt d’archive,
    • OBJE pour un document,
    • SUBM pour un rédacteur du GEDCOM,
    • SUBN pour soumission du GEDCOM.

Un enregistrement est formé de toutes les lignes comprises entre une ligne de niveau 0 et la ligne de niveau 0 suivante.

Les lignes de niveau 1 et au-dessus

1 OCCU maréchal-ferrant
...
2 FAMC @F128@
...
2 DATE 22 MAY 1845
...
1 SEX M

Les lignes de niveau 1 et au-dessus comprennent :

  • le niveau
  • l’identificateur
  • les données qui peuvent être :
    • une référence à un autre enregistrement : @F128@
    • des données codées dans un format spécifique (par exemple une date 22 MAY 1845)
    • du texte libre : "maréchal-ferrant"
    • des constantes pré-définies dans le langage GEDCOM (M ou F pour indiquer le sexe, par exemple).

123 tags sont utilisés dans le GEDCOM (de niveau 1 à niveau 5).

Les trois tags suivants de niveau 1 peuvent figurer dans n’importe quel enregistrement :

Tag Exemple Signification
CHAN 1 CHAN
2 DATE jj mmm aaaa
3 TIME xx:xx
Dernière mise à jour de l’enregistrement
REFN 1 REFN xx Texte ou numéro donné par l’utilisateur à l’enregistrement
RIN 1 RIN xx Numéro d’identification unique de l’enregistrement

FAM : enregistrement d’une famille

Cet enregistrement commence par une ligne de la forme :

0 @F201@ FAM

Trois tags définissent la composition de la famille :

Tag Exemple Signification
HUSB 1 HUSB @référence@ mari ou père (husband)
WIFE 1 WIFE @référence@ épouse ou mère
CHIL 1 CHIL @référence@ indication d’un enfant naturel ou adopté (child)

D’autres tags permettent de définir les événements dans cette famille :

1 ENGA fiançailles
1 MARC contrat de mariage
1 MARR mariage
1 DIV divorce
1 EVEN événement générique (précisé par TYPE)

Un exemple de famille :

0 @F4@ FAM
1 HUSB @I1@
1 WIFE @I2@
1 CHIL @I3@
1 MARR

2 DATE 5 DEC 1859
2 PLAC Rapid City, South Dakota

INDI : enregistrement d’un individu

Cet enregistrement commence par une ligne de la forme :

0 @I125@ INDI

Des tags définissent l’individu au sein de ses familles successives :

Tag Exemple Signification
NAME 1 NAME prénom /nom/ nom complet
SEX 1 SEX M ou F sexe
FAMC 1 FAMC référence famille dans laquelle il était enfant
FAMS 1 FAMS référence famille dans laquelle l’individu est conjoint

Des tags précisent :

  • les événements de base de sa vie
1 BIRT naissance (birth)
1 CHR baptême religieux (christening) d’un enfant.
1 DEAT décès (death)
1 BURI sépulture (burial)
  • les autres événements
1 CENS recensement de population (census)
1 EMIG départ de son pays avec l’intention de résider ailleurs
1 EVEN événement générique précisé par la ligne TYPE suivante
1 GRAD obtention d’un diplôme ou certificat (graduation)
1 IMMI arrivée dans un nouveau pays avec intention d’y résider
1 NATU obtention de la nationalité
1 RETI départ à la retraite (retirement)
1 WILL rédaction d’un testament
  • ou des attributs (sous ce nom, GEDCOM décrit des états à un moment donné ; par contre, les changements d’état sont des évènements.)
1 DSCR texte description de l’individu
1 EDUC texte niveau d’instruction
1 NATI texte nationalité d’une personne
1 NCHI nombre nombre d’enfants du parent (tous mariages confondus)
1 NMR nombre nombre de mariages de la personne
1 OCCU texte profession
1 PROP texte biens et possessions
1 RELI texte religion
1 RESI domicile (pas de donnée sur la ligne RESI)
1 TITL texte titre de noblesse ou titre honorifique

Un tag particulier ASSO permet d’associer l’individu concerné à une autre personne jouant un rôle particulier : gouvernante, parrain ou marraine, jardinier ...

1 ASSO @I25
2 RELA gouvernante

Exemple d’enregistrement d’individu :

0 @I1@ INDI
1 NAME Robert Eugene/Williams/
1 SEX M
1 BIRT
2 DATE 02 OCT 1822
2 PLAC Weston, Madison, Connecticut
2 SOUR @6@
...
1 DEAT
2 DATE 14 APR 1905
2 PLAC Stamford, Fairfield, CT
1 BURI
2 PLAC Spring Hill Cem., Stamford, CT
1 RESI
...
1 FAMS @4@
1 FAMS @9@

Données de description d’un événement (niveau 2)

Des lignes de niveau 2 précisent l’évènement (ou attribut), qu’il appartienne à un individu ou une famille :

2 TYPE texte description de l’événement (indispensable avec EVEN)
2 PLAC lieu lieu de l’événement
2 DATE date date d’un événement au format prévu pour les dates
2 AGE nombre âge de l’individu au moment de l’événement
2 AGNC texte agent responsable (notaire, employeur ...)
2 CAUS texte pour DEAT uniquement, cause du décès
2 SOUR référence source de l’événement
2 OBJE référence lien multimédia

Participants à l’évènement

Dans la norme GEDCOM, un événement n’existe pas en tant que tel (ce n’est pas un enregistrement), mais il est défini dans le cadre d’un individu ou d’une famille. Il n’est pas prévu dans la norme actuelle un moyen de préciser les participants à l’événement autres que l’individu ou le couple à la base de l’évènement.

Certains logiciels prévoient l’introduction [4] d’un tag du type _WITN ou _SHAR de niveau 2 suivi de la référence d’un participant à l’événement suivi d’une ligne précisant le rôle qu’il y joue (témoin, officiant, spectateur ...).

1 BIRT
...
2 _WITN @I125@
3 _ROLE témoin

La personne de référence I125 a été témoin lors de la déclaration de naissance.

Définition d’une date (niveau 2)

2 DATE date

On cherche à situer dans le temps une activité, un attribut, ou un évènement. La date peut être simple :

une date simple date = "année"
date = "mois année"
date = "jour mois année"

ou complexe :

Une approximation (ABouT) ABT date
Une estimation obtenue par un algorithme (ESTimated) EST date
Le résultat d’un calcul (CALculated) : par exemple, le calcul de l’année de naissance
quand on connait l’âge et la date du décès par exemple)
CAL date
Plage (range) : on ne connait qu’un intervalle d’incertitude, une plage
autour de la date réelle (BEFore, AFTer, BETween)
BEF date
AFT date
BET date AND date
Période (Period) : l’événement ou l’activité s’est déroulé pendant une période définie FROM date
TO date
FROM date TO date
Une phrase de description de la date le jour de Noël
Une interprétation INT date ( phrase )

Données d’un lieu (niveau 2)

2 PLAC suite de textes séparés par des virgules

Les composantes du lieu sont notées selon un ordre croissant séparées par une virgule. La norme ne précise pas le nombre de niveaux.

L’en-tête du fichier précise dans un tag FORM la séquence des éléments du lieu ; par exemple :

2 FORM Town , Area code , County , Region , Country, Subdivision

Ce tag est peu utilisé par les logiciels.

En FRANCE, on utilise souvent la hiérarchie suivante :

  • le lieu-dit (subdivision) ou la paroisse (pour entrer baptêmes, mariages ou sépultures dans les communes ayant plusieurs paroisses),
  • la commune, à laquelle on peut adjoindre le code postal ou le code INSEE,
  • le canton, peu utilisé,
  • le département,
  • la région,
  • le pays.

SOUR : enregistrement d’une source

Plusieurs tags définissent la source :

TITL text Le titre de la source
AUTH texte Agent ayant créé la source
TEXT texte Description ou contenu de la source
PUBL texte Date et lieu de publication

D’autres tags peuvent être employés :

DATA Sous enregistrement de données
ABBR text Titre court pour tri
REPO référence dépôt d’archive

Tags communs aux niveaux 1, 2 ou 3

Ces tags apparaissent au niveau de l’enregistrement INDI, FAM, SOUR ou NOTE (niveau 1), au niveau des événements (niveau 2), au niveau des dates ou des lieux (niveau 3).

  • Citation d’une source
SOUR SOUR Citation définie par les lignes suivantes
SOUR référence Citation d’une source par référence à un enregistrement SOUR
1 DEAT
2 DATE 19 DEC 1828
2 PLAC Gerbaix, Savoie
2 SOUR @S788@
  • Commentaires sous forme d’une note
NOTE NOTE texte Texte de la note
NOTE référence Référence vers un enregistrement NOTE
  • Illustration par une photo ou un autre média
OBJE OBJE Sous enregistrement
1 OBJE
2 FORM JPG
2 FILE C :\Users\Vignettes\photo.jpg
OBJE référence Référence à un enregistrement OBJE

[1Cette norme ne doit pas être confondue avec le modèle de données utilisé dans la base de données du logiciel.

[2Les références sont les étiquettes qui permettent d’établir des relations entre des informations. Ce sont des suites de chiffres et/ou de lettres quelconques toujours délimitées par un caractère @ au début et à la fin. Une référence placée avant un identificateur marque l’emplacement d’une information : c’est une adresse. Une référence placée après un identificateur permet d’établir une relation avec l’information définie par cette adresse : c’est un pointeur.

[3Ce sont des données généalogiques qui peuvent être codées dans un format spécifique (dates), sous forme de texte libre (notes) ou qui sont des constantes pré-définies dans le langage (M ou F pour indiquer le sexe, par exemple).

[4GEDCOM prévoit que des tags spécifiques peuvent être introduits à condition qu’ils commencent par un "_".


Article mis à jour le 27 mars 2016