GEDCOM et ses dialectes

retour modèle

Le gedcom expliqué aux impatients
 

Définitions

Gedcom est un protocole destiné à transférer les données entre les logiciels de généalogie qui offrent les fonctions dites gedcom. Le contenant intermédiaire est un fichier informatique. Il est écrit par le logiciel exportateur. Il sera lu par le logiciel importateur.

Ce fichier est transmis par les moyens habituels : disquettes et autres supports physiques ou par connexion électronique dont bien sûr le Net.

Le format fait appel au mode texte. Toutes les données sont représentées par des caractères alpha numériques. Ce fichier peut donc être lu/ouvert par un éditeur pratiquement sur toutes machines et tout 'operating system'.

Pour exploiter ces données elles doivent être organisées ( structurées ) selon une procédure connue de tous. C'est l'objet de la grammaire.

Structure du fichier

Chaque ensemble de caractères constituant une donnée doit occuper une ligne de longueur maximale de 255 cractères. Chaque ligne débute par un signet (tag) représentatif de la nature des informations. Elle a une place unique dans une stucture arborescente dont les niveaux sont repérés par un numéro, croissant selon une hiérarchie décroissante.

La racine étant le fichier on trouve d'abord 10 types d'enregistrements repérés par le niveau 0. Ensuite chaque enregistrement reçoit une référence pour distinguer chaque utilisation. Par convention cette référence est encadrée par le signe @.

Voici les 10 types d'enregistrement avec le tag conventionnel et la nature des données:

Ce qui conduit à une première ligne d'un enregistrement par exemple

0 @xxxx@ INDI

0 @xxxxxxx@ SOUR

A la suite viendront des lignes de détail au niveau 1 puis à l'intérieur de chaque niveau 1 des compléments affectés au niveau 2. Pour une personne on peut écrire

0 @xxxxx@ INDI (création d'un enregistrement d'individu)
1 NAME prénom/nom/ (indication du prénom et du nom)
1 BIRT (les données du niveau supérieur concernent la naissance)
2 DATE jj MMM aaaa (la date de naissance)
2 PLAC village (le lieu de naissance)
1 DEAT ( les données du niveau supérieur concernent le décès)
...
0 @xxx@ INDI ( une autre personne)

Les textes entre parenthèses ne seront pas présents dans le fichier, ce sont des commentaires pour la compréhension.

Ce schéma simple permet de décrire parfaitement l'ensemble des informations. Un ensemble de tags est défini dans les règles gedcom pour couvrir les besoins. Cependant il ne permet pas de représenter des liens par exemple entre personnes.

Ainsi une famille est composée d'un homme et d'une femme, alors au lieu de reprendre les données de chaque personne il sera fait appel seulement à leur référence.

0 @fxxx@ FAM (création d'un enregistrement famille)
1 HUSB @ind215@ (l'époux est la personne décrite dans l'enregistrement @ind215@ )
1 WIFE @ind12@ (l'épouse est la personne décrite dans l'enregistrement @ind12@ )
1 MARR (éléments concernant le mariage)
2 DATE jj MMM aaaa (date)
2 plac un village (lieu)
1 ......

Nous disposons maintenant d'un moyen pour écrire toutes les relations dans nos généalogies en imbriquant ce mécanisme de pointage dans l'arbre des données.

Un fichier complet

Il contient successivement:

un enregistremet d'en tête unique et obligatoire HEAD
des enregistrements FAM INDI SOUR REPO NOTE OBJE
un enregistrement SUBM décrivant l'expéditeur ou rédacteur du fichier
un enregistrement SUBN décrivant la soumission à LDS
un enregistrement de fin unique et obligatoire TRLR

L'ordre des enregistrements peut être quelconque ainsi que le nombre mais sans fractionnement sauf les deux obligatoires HEAD en début et TRLR en fin.
Un enregistrement commence toujours par un niveau 0 pour définir sa référence. L'ordre n'est pas imposé pour les niveaux supérieurs de même valeur.

0 HEAD
0 @...@ INDI
1 DEAT
2 DATE
2 PLAC
1 BIRT
2 PLAC
2 DATE
0 @...@ SOUR
...
0 @...@ FAM
...
0 @...@ INDI
...
0 @...@ REPO
...
0 TRLR

Ce fichier est grammaticalement correct. DEAT est avant BIRT ne respectant pas la chronologie. DATE et PLAC sont inversés. FAM apparait avant le deuxième individu.
Ceci dit et sans obligation ce serait une bonne idée de respecter une logique pour faciliter la consultation à l'écran d'un fichier.

Résumé du concept

Le fondement et seul principe du gedcom c'est:
une structure arborescente complétée par un dispositif de pointage entre les branches.

Le mécanisme de pointage fait appel à la référence d'un enregistrement, choisie librement, mais unique par rapport à l'ensemble du fichier. Elle est identifiée par deux @ qui l'encadrent : @ref@. Quand elle apparait dans la première ligne d'un enregistrement c'est un identificateur et quand elle apparait dans une citation c'est un pointeur.

0 @R001@ REPO        crée la référence @R001@ et l'utilise comme identificateur
....
0 @.........
1 SOUR @R001@       utilise la référence @R001@ pour constituer un pointeur, c'est une citation

L'identificateur apparait une seule fois dans la première ligne d'un enregistrement.

Le pointeur est utilisé dans le corps d'un enregistrement pour définir un lien. Un même enregistrement peut contenir plusieurs pointeurs si nécessaire.
Le pointeur est la première ligne d'une citation qui englobe les lignes de niveu supérieur suivant celle qui contient le pointeur.

Il ne reste plus rien à comprendre. Il faut maintenant savoir, connaitre des conventions de détail. Elles sont détaillées dans le document encore en vigueur publié le 2 janvier 1996, dont il existe une version informatique. ( voir le lien sur la page 'sites complémentaires' )

Il vous reste à pratiquer ( et si vous avez un souci, vous pourrez toujours m'écrire...)


© 2000 - Sylvain Peyrichou

Revenir au   SOMMAIRE

mise à jour le 08/03/06