Gedcom version 7.0

Publié le février 14, 2022 dans Gedcom

Gedcom version 7.0

Les évolutions de la version 7.0

  • Suppression des ambigüités des spécifications de la version précédente
  • Simplification de la mise en œuvre en supprimant la gestion de cas particuliers
  • Actualisation de la codification des caractères, des limites de taille et de la syntaxe du langage
  • Utilisation de la sémantique d’identification des versions (majeure.mineure.corrective)
  • Amélioration de la gestion des fichiers multimédia et support des notes de texte enrichi
  • Possibilité de constituer un fichier compacté (GedZIP) qui regroupe l’ensemble des données GEDCOM avec des images et d’autres types de documents (.doc .pdf, etc) associés aux données généalogiques.
  • Ajout à la version précédente de possibilités d’extension (balises personnalisées)
  • Ajout d’outils de meilleure interopérabilité des extensions
  • Outils, fichiers d’exemples, exemples de code et manuels d’assistance technique disponibles

La codification des caractères

  • Tout le contenu d’un fichier GEDCOM est une suite de caractères codés. Les versions antérieures à GEDCOM 7 permettent différents encodages de caractères. L’encodage par défaut étant le format ANSEL
  • La version 7 accepte uniquement le format UTF-8 pour l’encodage des caractères.
  • Les fichiers GEDCOM des versions antérieures ne sont pas compatibles avec ceux de la version 7.0 et vice versa.

 

Les structures hiérarchiques et leurs formats

 

Définition des structures

  • Une structure est caractérisée par son type (défini par une balise), et constituée de valeurs éventuelles et de sous-structures. Les valeurs (informations utiles) sont des chaînes de caractères de différents types.
  • Un enregistrement est une structure qui n’est pas incluse dans une autre structure, contrairement à une sous-structure
  • Une superstructure est une structure dont la définition est précisée par des sous-structures
  • Une pseudo-structure ne comprend ni valeurs ni sous-structures

Les lignes

  • Une ligne est la représentation par une chaîne de caractères d’une structure ou d’une partie de structure. Elle est composée d’un niveau, d’un identifiant de référence croisée optionnel, d’une balise, de valeurs (informations utiles) et d’un repère de fin de ligne. Chaque élément de la ligne est séparé du précédent par un délimiteur qui est toujours un espace unique. La ligne se termine par un retour chariot ou d’un saut de ligne, ou d’un retour chariot suivi d’un saut de ligne.
  • Le niveau définit la position hiérarchique de l’information dans la structure. Le niveau 0 correspond à un enregistrement ou à une pseudo-structure. N’importe quel niveau supérieur à 0 précise la définition du niveau immédiatement supérieur.
  • L’identifiant de référence croisée caractérise une structure vers laquelle on peut pointer. Un même identifiant doit être unique dans un fichier GEDCOM. Il correspond à l’adresse de l’information vers laquelle on peut pointer à partir d’autres structures.
  • La balise indique le type des valeurs (informations utiles) de la structure. Les balises sont des mots prédéfinis de 3 à 6 lettres qui constituent le standard GEDCOM 7. Elles sont supposées reconnues par tous les logiciels qui supportent GEDCOM 7.

HEADER – TRAILER

  • La première ligne de chaque fichier GEDCOM est une pseudo-structure 0 HEAD qui constitue l’entête du fichier, suivie des sous-structures qui contiennent les métadonnées relatives à l’ensemble du fichier.
  • La dernière ligne de chaque fichier GEDCOM est une pseudo structure 0 TRLR qui constitue une marque de fin de fichier. Elle n’est suivie d’aucune valeur ni aucune sous-structure.  

Les extensions et les balises personnalisées

  • La série des balises du standard GEDCOM 7 peut être étendue avec des balises personnalisées gérées par le logiciel émetteur et le logiciel récepteur. Elles permettent la gestion de types de données non gérés par les balises du standard. Elles ne peuvent être utiles qu’aux logiciels capables de les reconnaître et de gérer les données qu’elles transportent. Les logiciels qui ne les reconnaissent pas les ignorent.
  • Une structure standard est prioritaire sur une structure personnalisée si cette extension est en contradiction avec elle.
  • Deux types sont possibles: balise personnalisée et documentée (définie dans la structure SCHMA de la superstructure HEAD) ou balise personnalisée non documentée (définie par son seul nom de balise). La balise TAG permet la définition d’une balise personnalisée documentée et permet d’identifier la ressource internet de référence (URI).

Exemple de balises personnalisées documentées

0 HEAD
1 SCHMA
2 TAG _WEIG https://hartenthaler.net/webtrees_addendum/addendum.overview.html
2 TAG _EYEC https://hartenthaler.net/webtrees_addendum/addendum.overview.html

0 @I0@ INDI
1 _EYEC bleu            => couleur des yeux
1 _WEIG 75 kilos      => poids

Exemple de balises personnalisées non documentées

0 HEAD
1 SCHMA
2 TAG _WEIG https://hartenthaler.net/webtrees_addendum/addendum.overview.html
2 TAG _EYEC https://hartenthaler.net/webtrees_addendum/addendum.overview.html
0 @I0@ INDI

1 _EYEC bleu           
1 _WEIG 75 kilos      
1 _HAIR  blond         => couleur des cheveux
1 _HEIG 1m81          => taille

Suppression de données

  • En principe la suppression de données implique celle de structures. Les pointeurs vers une structure supprimée doivent être remplacés par des pointeurs nuls  ( @VOID@ )

Les types de données

Chaque ligne de valeurs (informations généalogiques utiles) est une chaîne de différents types de caractères :

  • Type ‘texte’ : chaîne de caractères libres qui dépend de la langue utilisée.
  • Type ‘entier’ : séquence de caractères numériques qui représentent un nombre entier non négatif.
  • Type ‘énumération’ : chaque valeur énumérée doit être différente des autres.
  • Type ‘date’ : différents formats de date permettent l’enregistrement de dates approximatives, de périodes, de dates de calendriers différents.
  • Type ‘heure’ : l’heure est représentée selon une base de 24 heures (pas de AM/PM)
  • Type ‘âge’ : l’âge s’exprime en nombres d’années, mois, semaines et jours.
  • Type ‘liste’ : une liste est constituée de chaînes de caractères séparées par une virgule. Elle peut être une énumération ou une suite de chaînes de texte libre.
  • Type ‘nom de personne’ : texte libre
  • Type ‘langue’ : indique la langue utilisée
  • Type ‘media’ : indique le format d’encodage de l’information du média
  • Type ‘spécial’ : utilisé pour les cas particuliers ou les contraintes spécifiques.

Le langage GEDCOM version 7.0

On peut rencontrer dans un fichier GEDCOM quatre formats de ligne différents. Pour décrire les informations qui sont regroupées dans une structure et n’ont pas de relations avec d’autres structures du fichier, on trouvera des lignes dont la syntaxe sera:

Format 1
{niveau} espace {balise}

ou

Format 2
{niveau} espace {balise} espace {valeurs}

… et pour les informations qui doivent être mises en relation avec d’autres qui sont placées à un autre endroit dans le fichier, on trouvera:

Format 3
{niveau} espace @{référence}@ espace {balise}

ou

Format 4
{niveau} espace {balise} espace @{référence}@

 

Légende

  • {niveau} : c’est une valeur numérique de 0 à n qui permet de structurer la hiérarchie des informations. Les informations du niveau n sont toujours associées à celles du niveau n-1 qui précéde pour les préciser. Il est très important de respecter l’ordre dans lequel les informations d’un fichier GEDCOM doivent être classées.
  • {balise} : les balises sont des mots-clés de 3 à 6 caractères du langage GEDCOM prédéfinis qui caractérisent les informations fournies, comme INDI pour individu, MARR pour mariage, FAM pour famille, etc (voir la liste des balises ci-dessous)
  • @{référence}@ : les références sont les étiquettes qui permettent d’établir des relations entre des informations. Ces références sont des suites de chiffres et/ou de lettres quelconques toujours délimitées par un caractère @ au début et à la fin. Sur une ligne d’un fichier GEDCOM, une référence citée avant une balise (format 3) marque l’emplacement d’une information (c’est une adresse). Une référence citée après une balise (format 4) permet d’établir une relation avec une information définie par l’adresse correspondante (c’est un pointeur). C’est l’existence d’une ligne comportant une adresse et d’une ou de plusieurs lignes qui contiennent un pointeur sur cette adresse qui matérialise une (des) relation(s). Dans un fichier GEDCOM, la référence utilisée dans chaque « ligne adresse » doit être unique: on ne peut pas retrouver la même référence utilisée comme adresse dans deux lignes différentes, mais plusieurs pointeurs (donc plusieurs « lignes pointeurs ») peuvent renvoyer à cette « ligne adresse ».
  • {valeurs} : ce sont les valeurs des données généalogiques qui peuvent être codées dans un format spécifique (dates), sous forme de texte libre (chaînes de caractères) ou qui sont des constantes pré-définies dans le langage (M ou F pour indiquer le sexe, par exemple).

Pour en savoir plus

Documentation générale GEDCOM (en anglais, guides, exemples…)
Pour des informations plus détaillées à propos de GEDCOM 7.0, consulter les spécifications GEDCOM version 7 (en anglais)

 

Les balises du standard GEDCOM 7.0

 

Balise {alias}  Valeurs  (optionnelles selon la balise et la structure)
ABBR {abbreviation} titre abrégé, description abrégée ou nom abrégé
ADDR {address} adresse postale d’un individu, de l’auteur d’un fichier, d’une entreprise, d’une école, etc
ADOP {adoption} création du lien enfant-parent quand il n’existe pas de lien biologique
ADR1 {address line 1} première ligne d’une adresse
ADR2 {address line 2} seconde ligne d’une adresse
ADR3 {address line 3} troisième ligne d’une adresse
AGE {age} âge de l’individu au moment de l’événement ou âge qui figure dans le document.
AGNC {agency} institution ou individu responsable ou décisionnaire
ALIA {alias} informations différentes relatives à un individu
ANCI {ancestor_interest} indique l’intérêt à rechercher des informations sur les ancêtres d’un individu
ANUL {annulment} déclaration de nullité d’un mariage (comme s’il n’avait pas eu lieu)
ASSO {associates} lien d’un individu avec des amis, des voisins, des parents ou d’autres personnes
AUTH {author} nom de la personne qui a relevé les informations ou qui a constitué le fichier
BAPL {baptism-LDS} baptême de l’Eglise des Mormons (à partir de l’âge de huit ans)
BAPM {baptism} baptême (non Mormon, voir aussi BAPL et CHR)
BARM {bar_mitzvah} cérémonie juive qui a lieu pour les garçons à l’âge de 13 ans
BASM {bas_mitzvah} cérémonie juive qui a lieu pour les filles à l’âge de 13 ans, aussi appelée « Bat Mitzvah. »
BIRT {birth} naissance
BLES {blessing} bénédiction religieuse
BURI {burial} sépulture
CALN {call_number} numéro d’identification d’une pièce dans un répertoire
CAST {caste} rang ou statut d’un individu dans une société, selon des critères raciaux ou religieux, des critères de richesse ou autres
CAUS {cause} description de la cause de l’événement ou du fait associé, cause du décès par exemple
CENS {census} recensement de population
CHAN {change} correction ou modification; en relation avec une DATE qui indique quand le changement est survenu.
CHIL {child} enfant naturel ou adopté
CHR {christening} baptême religieux (non Mormon) d’un enfant
CHRA {adult_christening} baptême religieux (non Mormon) d’une personne adulte.
CITY {city} ville ou village
CONC {concatenation} suite des informations qui précédent
CONF {confirmation} confirmation – cérémonie religieuse (non Mormon) par laquelle un individu acquiert la qualité de membre à part entière de son Eglise.
CONL {confirmation_l} confirmation (cérémonie religieuse par laquelle un individu devient membre de l’Eglise des Mormons)
CONT {continued} suite des informations qui précédent, après un retour à la ligne.
COPR {copyright} protection des informations contre la reproduction et la diffusion
CORP {corporate} nom d’une entreprise, d’une institution ou autre
CREA {creation} date de création de la superstructure
CREM {cremation} incinération du corps d’un individu décédé
CROP {crop} affichage d’une partie d’image découpée
CTRY {country} nom ou code du pays
DATA {data} nom d’une source ou contenu d’une source 
DATE {date} date d’un événement selon les formats prévus pour les dates
DEAT {death} décès
DESI {descendant_int} indique l’intérêt à rechercher des descendants de l’individu
DEST {destination} système ou logiciel destinataire des données
DIV {divorce} dissolution du mariage
DIVF {divorce_filing} dossier de divorce d’un époux
DSCR {description} caractères physiques de description d’une personne, d’un lieu ou d’une chose
EDUC {education} niveau d’instruction
EMAIL {email} adresse courriel
EMIG {emigration} départ de son pays avec l’intention de résider ailleurs
ENDL {endowment} dotation (sacrement de l’Eglise des Mormons reçu par un individu dans un temple).
ENGA {engagement} fiancailles
EVEN {event} événement intéressant à propos d’un individu, d’un groupe ou d’une organisation
EXID  {external identifier} identificateur relatif à une superstructure, géré par une autorité externe
FACT {fact} fait ou qualité remarquable concernant un individu ou une famille
FAM {family} association de deux individus et de leurs enfants selon la loi ou les coutumes, ou famille créée par la naissance d’un enfant d’un père et d’une mère biologiques.
FAMC {family_child} indique la famille à laquelle un enfant appartient
FAMS {family_spouse} indique la famille dans laquelle l’individu est l’un des conjoints
FAX {facsimile} numéro de FAX
FCOM {first_communion} cérémonie religieuse de première communion
FILE {file} fichier externe d’informations pouvant être référencées.
FORM {format} nom donné à un format dans lequel des informations peuvent être transcrites ou énumération de types de lieux de la structure PLAC
GEDC {gedcom} informations relatives à la norme GEDCOM
GIVN {given_name} prénom
GRAD {graduation} diplôme ou certificat
HEAD {header} informations descriptives du fichier GEDCOM
HEIGHT {height in pixels} hauteur en pixels de l’image à afficher
HUSB {husband} individu marié ou père d’un enfant
IDNO {ident_number} numéro d’identification d’une personne dans un fichier, une source ou un système externe
IMMI {immigration} arrivée dans un nouveau lieu de résidence avec intention de s’y installer
INDI {individual} une personne
INIL {initiatory, LDS} ordinance LDS
LANG {language} langue utilisée dans le fichier
LATI {latitude} coordonnées de latitude
LEFT {left crop width} nombre de pixels à gauche de l’image à ne pas afficher
LONG {longitude} coordonnées de longitude
MAP {map} localisation d’un lieu défini par LATI et LONG
MARB {marriage_bann} publication des bans de mariage
MARC {marr_contract} contrat de mariage
MARL {marr_license} autorisation légale de mariage
MARR {marriage} création d’une famille
MARS {marr_settlement convention, contrat avant mariage
MEDI {medium} informations sur le support des données stockées
MIME {media type} type de media (text/plain ou text/html)
NAME {name} mot ou ensemble de mots utilisés pour l’identification d’un individu, d’un titre, etc. Il faut utiliser plusieurs lignes NAME pour les personnes qui ont des noms multiples.
NATI {nationality} nationalité d’une personne
NATU {naturalization} obtention d’une nationalité
NCHI {children_count} nombre d’enfants du parent (tous mariages confondus) s’il s’agit d’un individu ou de la famille s’il s’agit d’une famille.
NICK {nickname} surnom
NMR {marriage_count} nombre de mariages de la personne
NO {did not happen } énumération de types d’événements non existants
NOTE {note} informations complémentaires ajoutées pour la compréhension des données
NPFX {name_prefix} texte ou titre qui apparait avant le nom d’une personne (Docteur, Général, Monseigneur…)
NSFX {name_suffix} texte qui apparait après le nom (Junior ou fils, par exemple)
OBJE {object} référence aux données utilisées comme description (généralement un enregistrement audio, une photo ou une vidéo)
OCCU {occupation} profession
ORDN {ordination} ordination religieuse
PAGE {page} numéro ou description de l’endroit où l’information se trouve dans un ouvrage référencé
PEDI {pedigree} information relative à l’individu dans un tableau d’ascendance
PHON {phone} numéro de téléphone
PHRASE {phrase} texte qui ne peut pas être inclus dans la superstructure à cause de la limite liée à son type de données
PLAC {place} lieu de l’événement
POST {postal_code} code postal
PROB {probate} validation d’un testament
PROP {property} biens et possessions
PUBL {publication} date et lieu de publication d’un ouvrage
QUAY {quality_of-data} degré de confiance accordé à une information
REFN {reference} description ou numéro d’identification d’un fichier ou de tout autre objet pouvant être référencé
RELI {religion} religion
REPO {repository} établissement ou personne dépositaire de l’information
RESI {residence} domicile
RESN {restriction} restrictions ou interdiction d’accès à une information
RETI {retirement} retraite
RFN {rec_file_number} numéro permanent affecté à un enregistrement pour l’identifier de manière unique dans un fichier
ROLE {role} rôle tenu par un individu dans un événement
SCHMA {extension schema} métadonnées relatives aux balises personnalisées utilisées
SDATE {sort date} date utilisée pour le tri en cas de date inconnue
SEX {sex} sexe
SLGC {sealing_child} scellement d’un enfant à ses parents (cérémonie de l’Eglise des Mormons)
SLGS {sealing_spouse} scellement d’un mari et d’une femme (cérémonie de l’Eglise des Mormons)
SNOTE {shared note} note partagée par plusieurs structures
SOUR {source} document d’origine ou source initiale de l’information
SPFX {surn_prefix} partie d’un nom de famille qui n’est pas indexée
SSN {soc_sec_number} numéro de sécurité sociale
STAE {state} état (division géographique ou juridictionnelle)
STAT {status} état (condition)
SUBM {submitter} individu ou organisation qui fournit les données généalogiques
SUBN {submission} ensemble de données à traiter
SURN {surname} nom de famille
TAG {extension tag} informations qui concernent une balise personnalisée
TEMP {temple} nom ou code d’identification d’un temple de l’Eglise des Mormons
TEXT {text} texte exact provenant d’un document original
TIME {time} heures (entre 0 et 24), minutes et secondes séparées par les deux points (:). Secondes et centièmes de secondes sont optionnels
TITL {title} description d’un ouvrage, comme le titre d’un livre; titre de noblesse ou titre honorifique pour un individu
TOP {top crop width} nombre de pixels à ne pas afficher à partir du haut d’une image
TRLR {trailer} marque de fin d’un fichier GEDCOM
TRAN {translation} représentation de données dans un format différent, une langue différente
TYPE {type} définition complémentaire de la balise précédente
UID {unique identifier} identificateur unique de la superstructure
VERS {version} indique la version d’un produit, d’un composant ou d’un ouvrage utilisé ou référencé
WIDTH {width in pixels} largeur de l’image à afficher en nombre de pixels
WIFE {wife} épouse
WILL {will} testament
WWW {web address} adresse d’une page web