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.

Pour les articles homonymes, voir GED et COM.

GEDCOM
Caractéristiques
Extension
.ged
Type MIME
application/octet-stream
PUID
Développé par
Version initiale
Type de format
Norme
7.0.4
Spécification
Site web

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[1].

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[2]. 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 , puis la version 4 au mois d'août 1989 et la version 5.5 publiée en [3]. En 2021, une version 7 est dévoilée qui a comme principale nouveauté le support des pièces jointes[4].

En 2012, un nouveau projet est annoncé par FamilySearch baptisé GEDCOM X visant à pallier les défauts actuels de la spécification GEDCOM[5]. 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[6]. 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

0 HEAD
1 SOUR site.fr
2 CORP site
3 ADDR 3, rue du moulin
4 POST 43200
4 CITY ma_ville
4 CTRY FRANCE
1 GEDC
2 FORM VERS 5.5
1 CHAR UTF-8
1 LANG FRENCH

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 :

0 HEAD
    1 SOUR site.fr
        2 CORP site
            3 ADDR 3, rue du moulin
                4 POST 43200
                4 CITY ma_ville
                4 CTRY FRANCE
    1 GEDC
        2 FORM VERS 5.5
    1 CHAR UTF-8
    1 LANG FRENCH

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

0 @1@ INDI
1 NAME Léo /MERCIER/
1 SEX M
1 BIRT
2 DATE 13 JUI 1987

Ce qui donne avec l'indentation :

0 @1@ INDI
    1 NAME Léo /MERCIER/
    1 SEX M
    1 BIRT
        2 DATE 13 JUI 1987

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 :

0 @1@ INDI
    1 NAME Théo /DOMAIRON/
    1 SEX M
0 @2@ INDI
    1 NAME Viktoria /WEICHINGER/
    1 SEX F
0 @3@ INDI
    1 NAME Louise /DOMAIRON/
    1 SEX F

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

0 @4@ FAM

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

0 @1@ INDI
    1 NAME Théo /DOMAIRON/
    1 SEX M
    1 FAMS @4@
0 @2@ INDI
    1 NAME Viktoria /WEICHINGER/
    1 SEX F
    1 FAMS @4@
0 @3@ INDI
    1 NAME Louise /DOMAIRON/
    1 SEX F
    1 FAMC @4@
0 @4@ FAM

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.

0 @1@ INDI
    1 NAME Théo /DOMAIRON/
    1 SEX M
    1 FAMS @4@
0 @2@ INDI
    1 NAME Viktoria /WEICHINGER/
    1 SEX F
    1 FAMS @4@
0 @3@ INDI
    1 NAME Louise /DOMAIRON/
    1 SEX F
    1 FAMC @4@
0 @4@ FAM
    1 HUSB @1@
    1 WIFE @2@
    1 CHIL @3@

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

0 HEAD
1 SOUR site.fr
2 CORP site
3 ADDR 3, rue du moulin
4 POST 43200
4 CITY ma_ville
4 CTRY FRANCE
1 GEDC
2 FORM VERS 5.5
1 CHAR UTF-8
1 LANG FRENCH
0 @1@ INDI
1 NAME Théo /DOMAIRON/
1 SEX M
1 FAMS @4@
0 @2@ INDI
1 NAME Viktoria /WEICHINGER/
1 SEX F
1 FAMS @4@
0 @3@ INDI
1 NAME Louise /DOMAIRON/
1 SEX F
1 FAMC @4@
0 @4@ FAM
1 HUSB @1@
1 WIFE @2@
1 CHIL @3@
0 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.

Références

  1. (en) « Genealogical Software Report Card »,
  2. (en) Subject: rep: T Jenkins - open letter to GEDCOM-L - "The goal was to try and provide a standard to allow developers to provide a vehicle for their users to share genealogical conclusions and supporting evidence with others." From: "Jed R. Allen" Brigham Young University - Date: 29 Sep 1995 17:40:04 -0600 - GEDCOM-L Archives -- September 1995, week 5 (#7)
  3. (en) « The GEDCOM Standard Release 5.5 Introduction » (consulté le )
  4. La Revue française de Généalogie, « La norme Gedcom passe à la version 7.0 », sur La Revue française de Généalogie (consulté le )
  5. Sophie Boudarel, « Que retenir de RootsTech 2012 ? », (consulté le )
  6. (en) 0000688: Support for Gedcom 5.5EL - Gramps Bugtracker

Articles connexes

Liens externes

  • Portail de la généalogie
  • Portail de l’informatique
Cet article est issu de Wikipedia. Le texte est sous licence Creative Commons - Attribution - Partage dans les Mêmes. Des conditions supplémentaires peuvent s'appliquer aux fichiers multimédias.