GEDCOM
# GEDCOM

GEDCOM (acronyme de genealogical data communication, « communication de données généalogiques ») est une spécification pour l'échange de données. Développé par l'Église de Jésus-Christ des saints des derniers jours, ce format est plus particulièrement utilisé en généalogie pour permettre l'échange de données entre plusieurs applications ou logiciels de généalogie ; toutefois rien n'empêche d'utiliser cette spécification pour gérer d'autres types de données reliant des individus entre eux.

Les informations figurent dans un fichier texte d'extension .ged​ et sont formatées pour permettre aux logiciels de les utiliser. C'est un système à balises – comme HTML – avec différents niveaux hiérarchiques sans imbrication.

Il permet d'avoir des enregistrements concernant :

* chaque personne d'un arbre généalogique ;
* chaque famille ;
* chaque événement ;
* chaque source ;
* chaque dépôt ;
* chaque note ;
* chaque enregistrement multimédia.

Tous ces enregistrements sont liés entre eux selon des conventions et respectent une grammaire spécifique et précisément décrite.

Un fichier GEDCOM est rédigé en texte seul, ASCII ou ANSEL, le jeu de caractères pouvant être UTF-8, ISO-8859-1, ISO-8859-15 ou UTF-16.

Le premier logiciel à l'utiliser fut Personal Ancestral File (PAF) en avril 1986.

## Historique

La spécification GEDCOM a été développée dans les années 1980 par l'Église de Jésus-Christ des saints des derniers jours (ou Mormons), initialement dans un but strictement religieux lié aux croyances de cette Église. Puis est venue la collaboration avec les différents éditeurs de logiciels, américains ou autres, qui a conduit à l'ajout de paramètres non réservés aux fins religieuses de l'Église. Les versions 1 et 2 étaient des brouillons pour discussion publique. La version 3 est parue en octobre 1987, puis la version 4 au mois d'août 1989 et la version 5.5 publiée en janvier 1996. En 2021, une version 7 est dévoilée qui a comme principale nouveauté le support des pièces jointes.

En 2012, un nouveau projet est annoncé par FamilySearch baptisé GEDCOM X visant à pallier les défauts actuels de la spécification GEDCOM. En juin 2013, l'Église publie la version 1.0 du format GEDCOM X, basé également sur XML

La grande majorité des logiciels de généalogie est compatible avec la spécification GEDCOM mais certains logiciels adaptent le GEDCOM sous une forme propriétaire, ce qui ne facilite pas l'échange des données entre logiciels différents. Toutefois, les fonctionnalités les plus importantes sont généralement respectées, permettant ainsi l'import ou l'export des données « principales ». De nombreux outils existent pour la visualisation et la conversion d'un fichier GEDCOM, ainsi que des outils permettant la transformation d'un fichier GEDCOM en une généalogie « clefs en mains » pour publication sur un site Internet.

Même s'il est théoriquement possible d'écrire au clavier un fichier GEDCOM, le format a été imaginé en premier lieu pour servir aux échanges entre logiciels, et la lecture et l'écriture d'un fichier GEDCOM brut ne sont pas particulièrement aisées.

## Fonctionnement du code

Le langage gedcom est un langage composé de balises. Il en existe un peu plus de 50 qui donnent des informations utiles pour les logiciels de généalogies.

1- Les balises d'en-tête

Le numéro au début de chaque ligne indique la hiérarchie des informations, la notion décrite par une balise étant composante de celle dont le numéro est immédiatement inférieur et rencontrée la première en remontant vers le haut.

Une indentation du code en fonction du numéro hiérarchique illustre mieux ces dépendances :

Dans cet exemple, la balise HEAD indique au logiciel que tout ce qui suit appartient à l'entête, jusqu'à la prochaine ligne 0. Le SOUR, composant du HEAD, indique l'endroit à partir duquel les informations ont été obtenues (un site web du nom de site.fr). Le CORP, faisant partie du SOUR, donne des renseignements sur le nom, ADDR sur l'adresse, POST le code postal, CITY la ville et CTRY le pays.

La numérotation indique que POST, CITY et CTRY (numérotées 4) sont des composants de ADDR (numérotée 3)

La balise GEDC nous prévient que le code qui suit donne des informations sur le code gedcom, FORM nous en donne la version.

Enfin, la balise CHAR nous donne l'encodage et LANG la langue d'origine.

La numérotation des balises GEDC, CHAR et LANG (soit 1) indique qu'elles ne sont pas composantes les unes des autres, mais appartiennent directement à la notion d'entête indiquée par la balise HEAD (numérotée 0).

2- Créer une personne

Ce qui donne avec l'indentation :

Au début, on attribue un identifiant unique puis nous plaçons la balise INDI (qui signifie que les informations suivantes sont en lien avec une personne). La balise NAME prénom /NOM/ déclare l'identité de la personne, SEX M/F renseigne le sexe de la personne. La balise BIRT nous indique qu'il est né et la balise DATE nous donne la date de sa naissance.

3- Créer une Famille

Pour déclarer, dans un fichier ged, un lien qui unit deux personnes, nous devons tout d'abord rajouter, dans le code des personnes concernées, la balise FAMS (parent) ou FAMC (enfant).

Dans l'exemple qui suit, nous imaginons cette situation : Théo Domairon + Viktoria Weichinger ont un enfant Louise Domairon. Leur carte d'identité est donc :

Nous allons déclarer, dans un premier temps, une balise famille :

Puis nous allons rajouter à chaque personne le lien les unissant à cette famille (dont l'identifiant unique est @4@).

Enfin, grâce au balise HUSB (époux), WIFE (épouse) et CHIL (enfant), on peut compléter la balise FAM. Bien sûr derrière ces balises, nous devons préciser l'identifiant unique de la personne.

Le code final sera donc (avec la balise de fin TRLR) :

4- Pour aller plus loin

SI vous voulez découvrir toutes les balises du langage gedcom ce site les a répertoriées avec, pour chacune, une petite explication.

