Site personnel de Xavier BUROT alias Xébiaut.

http://xebiaut.free.fr/
Le site de Xeb
Accueil du site > Monsieur Xavier > Mes oeuvres > Mes bidouilles informatiques > SPIP > SPIP et la généalogie > Définition des différentes tables
Les auteurs Xébiaut
Date de création 22 décembre 2007
Date de dernière mise à jour 19 mars 2008
Nombre de commentaires commentaire
Pour publier un lien de cette article sur Facebook

SPIP et la généalogie

Définition des différentes tables

Entrons dans l’architecture de la base


En premier lieu, nous devons définir la structure et les liens des différentes tables nécessaires à la gestion d’un arbre généalogique, mais aussi à une possible interaction entre différents arbres par l’import/export des données via des fichiers à la norme GEDCOM ou autres.

Après avoir analyser, l’organisation des tables utilisées dans les différents solutions en PHP proposées actuellement [1], il en est ressorti ceci :


Définition des tables de contenu

Voici les tables définies dans la version 1.01 de la base généalogique. Vous les retrouvez dans le fichier base/genea_base.php, et les boucles y afférentes dans le fichier public/genea_boucles.

Il est à noter deux choses :
- Certains champs de la base sont alimentés en fonction du contenu d’une liste de données prédéfinies que nous retrouverons dans un fichier appelé base/genea_listes.php [2].
- Pour éviter que réinventer la roue, il a été décidé de ne pas gérer de façon autonome les données de localisation géographique contenues dans un arbre, mais d’utiliser le plugin SPIP dédié à cela : SPIP-GEO.

Table spip_genea

Descriptif : Elle permet de faire le lien entre la rubrique SPIP qui contient l’arbre généalogique et les différents éléments composants celui-ci.

Nom de la boucle d’appel : GENEA

Liste des champs :

id_geneaN° d’identifiant de l’arbre généalogique
id_rubriqueN° d’identifiant de la rubrique

Table spip_genea_individus

Descriptif : Elle regroupe les informations de base concernant un individu.

Nom de la boucle d’appel : GENEA_INDIVIDUS

Liste des champs :

id_individuN° d’identifiant de l’individu
patronymeNom de l’individu
prenomsPrénoms de l’individu (séparés par une virgule)
surnomSurnom de l’individu
sexeSexe de l’individu (Inconnu, Masculin, Féminin)
civiliteTitre de l’individu [3]
id_geneaN° de l’arbre auquel est rattaché l’individu
id_familleN° de famille auquel est rattaché l’individu en tant qu’enfant
positionRang dans la fratrie
type_filiationType de filiation [4]

Table spip_genea_familles

Descriptif : Elle contient l’ensemble des unions qu’elles soient officialisées ou non.

Nom de la boucle d’appel : GENEA_FAMILLES

Liste des champs :

id_familleN° d’identifiant de la famille
id_epouxN° d’identifiant de l’epoux
id_epouseN° d’identifiant de l’epouse
type_unionType d’union [5]
id_geneaN° de l’arbre auquel est rattaché l’individu

Table spip_genea_sosa

Descriptif : Elle liste l’ensemble des individus faisant partie de l’ascendance directe de l’individu principal.

Nom de la boucle d’appel : -*- pas de boucle -*-

Liste des champs :

id_sosaN° d’identifiant SOSA d’un individu
id_individuN° d’identifiant de l’individu
id_geneaN° de l’arbre auquel est rattaché l’individu

A noter : La récupération du numéro SOSA d’un individu se fait à partir de la balise #SOSA appelée à l’intérieur de la boucle GENEA_INDIVIDU.

Table spip_genea_evt

Descriptif : Elle rassemble l’intégralité des évènements liés à un individu.

Nom de la boucle d’appel : GENEA_EVT

Liste des champs :

id_genea_evtN° d’identifiant de l’évènement
type_evtType d’évènement au format GEDCOM [6]
date_evtDate de l’évènement
descriptifTexte descriptif de l’évènement
id_lieuN° d’identifiant d’un lieu rattaché à l’évènement
id_geneaN° de l’arbre auquel est rattaché l’individu

Table spip_genea_participes

Descriptif : Elle gère le lien entre un individu et un évènement.

Nom de la boucle d’appel : -*- pas de boucle -*-

Liste des champs :

id_genea_evtN° de l’évènement auquel à participer l’individu
id_individuN° d’identifiant de l’individu
type_liensType de participation [7]
id_geneaN° de l’arbre auquel est rattaché l’individu

Table spip_genea_sources

Descriptif : Elle intègre l’ensemble des sources liées à un individu ou un évènement.

Nom de la boucle d’appel : GENEA_SOURCES

Liste des champs :

id_sourceN° d’identifiant de la source
descriptifTexte descriptif de la source
id_syndicN° d’identifiant du site référencé source

Table spip_genea_doc_sources

Descriptif : Elle établie le lien entre un document et une fiche d’individu, d’un évènement ou d’une source.

Nom de la boucle d’appel : GENEA_DOC_SOURCES

Liste des champs :

id_documentN° d’identifiant du document
id_individuN° d’identifiant de l’individu
id_genea_evtN° d’identifiant de l’évènement
id_sourceN° d’identifiant de la source

Table spip_genea_notes

Descriptif : Elle regroupe l’ensemble des notes accompagnant la fiche soit d’un individu soit d’un évènement.

Nom de la boucle d’appel : GENEA_NOTES

Liste des champs :

id_noteN° d’identifiant de la note
texteTexte de la note
id_individuN° d’identifiant de l’individu
id_genea_evtN° d’identifiant de l’évènement

P.-S.

Ces tables ne contiennent pour l’instant que les données de base. Il est sur qu’elles devront être compléter de champs supplémentaires nécessaires au suivi du modifications des données comme par exemple : date de création, date de mise à jour, nom de l’auteur, etc.

Dernière mise à jour du site : 4 août 2013 | Suivre la vie du site RSS 2.0 | Plan du site | SPIP | squelette | Habillage : Rouge sang | © 2006-2017 – Xébiaut