<aside> <img src="/icons/list-indent_blue.svg" alt="/icons/list-indent_blue.svg" width="40px" /> Table des matières

<aside> <img src="/icons/chat_blue.svg" alt="/icons/chat_blue.svg" width="40px" /> 📢 Français

📢 English

</aside>

</aside>


Untitled

<aside> <img src="/icons/playback-play-button_blue.svg" alt="/icons/playback-play-button_blue.svg" width="40px" /> Une citation vous manque et tout est dépeuplé…

Afin de rechercher automatiquement les individus ou les familles ayant des événements dont la citation de source n’est pas probante (exemple: un événement Mariage sans la citation de l’acte de mariage - mais peut-être citant la mention marginale de l’acte de naissance), le filtre Supertool qui suit recherche les événements avec les citations probantes, permettant ainsi de trouver ceux qui n’en ont pas

</aside>

Description du filtre

Le filtre Supertool

Tout d’abord le filtre en question avant quelques explications:

[Gramps SuperTool script file]
version=1

[title]
SuperTool-Events - Evénements sourcés par leur citation naturelle

[category]
Events

[initial_statements]
# Evénements sourcés par leur source ou citation naturelle
# Retourne les événements dont le titre de la citation ou de la source est celui attendu pour un type d'événement donné

evenements_exclus = [
    "Education",
    "Residence",
    "Occupation",
    "Activité de loisirs",
    "Activité sociale",
    "Activité statutaire",
    "Concubinage",
    "Retirement",
    "Evénement social",
    "Décision gouvernementale",
    "Recherche généalogique",
    "Demande administrative",
    "Séparation",
    "Rencontre",
    "Graduation",
    "Réalisation",
    "PLX Tables Decennales",
]
evenements = {
    "Death": {
        "source": [
        ],
        "citation": [
            "Acte de décès",
            "Acte de sépulture",
        ],
    },
    "Marriage Banns": {
        "source": [
        ],
        "citation": [
            "Acte de publication de mariage",
        ],
    },
    "Marriage": {
        "source": [
        ],
        "citation": [
            "Acte de mariage",
        ],
    },
    "Baptism": {
        "source": [
        ],
        "citation": [
            "Acte de baptême",
        ],
    },
    "Religion": {
        "source": [
        ],
        "citation": [
            "Acte de baptême",
        ],
    },
    "Military Service": {
        "source": [
            "Journal officiel de la République française. Lois et décrets.",
            "Dossier individuel de personnel: Militaires décédés",
            "Deuxième guerre mondiale (1940-1946), Dossiers individuels de résistants, Dossier administratif de résistant"
        ],
        "citation": [
            "Fiche matricule",
        ],
    },
    "Birth": {
        "source": [
        ],
        "citation": [
            "Acte de naissance",
            "Acte de baptême",
        ],
    },
    "Burial": {
        "source": [
            "Registres journaliers d'inhumation",
        ],
        "citation": [
            "Acte de sépulture",
        ],
    },
    "Census": {
        "source": [
            "Recensement de la population: Liste nominative",
        ],
        "citation": [
        ],
    },
    "Marriage Settlement": {
        "source": [
        ],
        "citation": [
            "Contrat de mariage",
        ],
    },
    "Medical Information": {
        "source": [
        ],
        "citation": [
            "Acte de naissance",
            "Fiche matricule",
        ],
    },
    "Elected": {
        "source": [
            "Journal officiel de la République française. Lois et décrets.",
        ],
        "citation": [
            "Inscription sur les listes électorales",
        ],
    },
    "Correspondance": {
        "source": [
            "Carte postale.",
        ],
        "citation": [
        ],
    },
    "Voyage": {
        "source": [
            "Carte postale.",
            "Passeport"
        ],
        "citation": [
        ],
    },
    "Property": {
        "source": [
            "Cadastre: Cadastre parcellaire des XIXe et XXe siècles, Matrice cadastrale",
            "Contrat de mariage",
            "Acte notarié: Acte de vente",
            "Acte notarié: Attestation de propriété"
        ],
        "citation": [
            "Déclaration de succession",
        ],
    },
    "Degree": {
        "source": [
            "Journal officiel de la République française. Lois et décrets.",
        ],
        "citation": [
            "Fiche matricule",
        ],
    },
    "Cause Of Death": {
        "source": [
            "Dossier individuel de personnel: Militaires décédés",
        ],
        "citation": [
            "Fiche matricule",
        ],
    },
    "Number of Marriages": {
        "source": [
        ],
        "citation": [
            "Acte de décès",
        ],
    },
}

[statements]
exclu = True if type in evenements_exclus else False
valid = True if exclu else False
if not exclu:
    if type in evenements.keys():
        for citation in citations:
            if  len([titre_citation for titre_citation in evenements[type]["citation"] if titre_citation in citation.page]) or \\
                len([titre_source for titre_source in evenements[type]["source"] if titre_source in citation.source.title]):
                valid = True
                break
    else:
        print(gramps_id, type, [(citation.source.title, citation.page) for citation in citations])

[filter]
valid

[expressions]

[scope]
selected

[unwind_lists]
False

[commit_changes]
False

[summary_only]
False

Comme tous les filtres Supertool, celui-ci se décompose en trois principales parties: initial_statements, statements et filter

Bien sûr, c’est la partie statements qui fait le travail et filter qui retourne ce qu’on souhaite mais c’est dans initial_statements que j’ai choisi de me focaliser ici car c’est elle qui met en place ce qui est permis ensuite. Voici donc son contenu, assez simple, mais supposant quelques prérequis.

Son paramétrage

En premier on y trouve la liste evenements_exclus, simple liste de type d’événements sur lesquels je ne souhaite pas confronter le filtre car:

Ensuite vient la vraie liste de ce que je souhaite chercher: evenements. La structure générale de chacune des entrées qu’on y trouve est composée comme suit:

    "nom-de-l'événement-en-anglais": {
        "source": [
            "Tout-ou-partie-du-titre-d'une-ou-plusieurs-première-(série-de)-sources",
            "Tout-ou-partie-du-titre-d'une-ou-plusieurs-secondes-sources",
            "etc...",
        ],
        "citation": [
            "Tout-ou-partie-de-la-page-d'une-ou-plusieurs-première-(série-de)-citations",
            "Tout-ou-partie-de-la-page-d'une-ou-plusieurs-secondes-citations",
            "etc...",
        ],
    },

On peut varier les plaisirs en n’indiquant pas source ou pas de citation (mais il en faut au moins un des deux):

Sans source:

    "Marriage": {
        "source": [
        ],
        "citation": [
            "Acte de mariage",
        ],
    },

Sans citation:

    "Census": {
        "source": [
            "Recensement de la population: Liste nominative",
        ],
        "citation": [
        ],
    },

Avec les deux:

    "Property": {
        "source": [
            "Cadastre: Cadastre parcellaire des XIXe et XXe siècles, Matrice cadastrale",
            "Contrat de mariage",
            "Acte notarié: Acte de vente",
            "Acte notarié: Attestation de propriété"
        ],
        "citation": [
            "Déclaration de succession",
        ],
    },

Le filter cherchera suivant le cas à trouver dans les événements du type soit au moins une des sources soit au moins une des citations comportant l’une des textes indiqués.

Le prérequis au bon fonctionnement du filtre est que toutes les sources ou citations soient nommées de façon cohérentes; on ne doit pas dans une trouver Acte de baptême, et dans une autre Baptême de tartempion (ou alors il faudra faire autant d’entrées que nécessaire, mais au risque que la phrase “j’ai assisté au baptême de tartempion” dans une citation soit prise pour la seconde possibilité.

<aside> ℹ️ A noter qu’il faut utiliser le type de l’événement en anglais lorsqu’il s’agit d’un événement standard de Gramps:

<aside> <img src="/icons/microscope_gray.svg" alt="/icons/microscope_gray.svg" width="40px" /> Marriage avec deux r et non Mariage en français, ou Property et non Propriété, etc.

</aside>

Pour ceux qu’on a créé, on utilisera bien sûr le type qu’on a créé:

<aside> <img src="/icons/microscope_gray.svg" alt="/icons/microscope_gray.svg" width="40px" /> Voyage, etc.

</aside>

</aside>

Pour s’aider au paramétrage

Lorsque le filtre tourne, lorsqu’il rencontre un événement qui n’est ni dans la liste d’exclusion ni dans celle de vérification des sources ou citations, le filtre Supertool affiche les résultats qu’il a ainsi trouvé dans la console - il faut donc démarrer Gramps en mode console afin que la fenêtre de celle-ci s’affiche en même tant que l’habituelle fenêtre Gramps. Ces informations ressemblent à l’image qui suit comportant pour chaque événement les informations: ID de l’événement, Type d’événement, [(’Titre de la source’, ‘Page de la citation de cette source’), ….].

Untitled

(En publiant cette image je m’aperçois que dans evenementsje vais ajouter l’événement Engagement avec comme citation probante Acte de fiançailles).

Son utilisation

Côté Evénements

Il s’agit d’un filtre Evénements. Je l’ai donc enregistré parmi ces derniers:

Untitled

Me réservant le droit de tagger certains événements que ce filtre retournerait afin qu’ils n’apparaissent pas dans les résultats, j’ai créé une étiquette “Faux positif” et un autre filtre recherchant sa présence:

Untitled

En combinant les deux, j’obtiens un troisième filtre qui va me trouver soit les résultats du premier soit ceux du second:

Untitled

Et enfin un dernier qui recherche l’inverse; c’est à dire ceux qui ne sont ni sourcés suivant mes critères ni à considérer comme valides d’office car taggés:

Untitled

<aside> <img src="/icons/info-alternate_green.svg" alt="/icons/info-alternate_green.svg" width="40px" /> NB: J’aurais pu combiner tous ces filtres en un seul mais comme je souhaite être en mesure de réutiliser chaque filtre que je créais, je les rends unitaires.

</aside>

Côté Individus (ou Familles)

Il me suffit de faire un filtre Individus (ou Familles) s’appuyant sur le troisième des filtres Evénements pour lister tous les individus (ou toutes les Familles) dont un des événements n’est pas conforme à mon standard de sources et citations afin de prouver ses événements:

Untitled

Conclusion

Ces filtres, s’ils ne font pas de miracle, automatisent un peu plus le traitement des choses à faire dans Ma généalogie avec Gramps.

En faisant tourner le filtre Individus, on obtient la liste des individus avec des événements dont la citation n’est pas conforme à ce qui est attendu:

Untitled

Il est ainsi possible de noter le nom d’un des individus de la liste et de rechercher les événements non conformes correspondants:

Untitled

Dans le premier cas, l’exemption militaire est sourcée par un certificat d’exemption et non par l’équivalent belge d’une Fiche Matricule qu’il faudra rechercher:

Untitled

Dans les deux seconds, c’est l’acte de mariage qui indique que des publications de bans ont été faites mais sans avoir l’acte lui-même:

Untitled

De même côté Familles:

Untitled

où un relevé de mariages est utilisé comme citation de cet événement au lieu de l’acte de mariage lui-même:

Untitled

En complément

J’ai aussi créé deux autres filtres événements qui se basent sur le fait que les événements sont des événements familiaux ou non, permettant ainsi de les distinguer. Tous deux s’appuient sur le filtre recherchant les événements sans citation conforme et sur un filtre recherchant - ou non - les événements des familles:

Sans événement familial (les événements restants sont supposés être individuels)

Sans événement familial (les événements restants sont supposés être individuels)

Rendu

Rendu

Evénements familiaux non conformes

Evénements familiaux non conformes

Rendu

Rendu

Le filtre Evénements trouvant les événements familiaux et celui qu’il utilise dans les Familles sont les suivants:

Filtre Evénements s’appuyant…

Filtre Evénements s’appuyant…

…sur le filtre Familles

…sur le filtre Familles



<aside> <img src="/icons/arrow-turn-left_blue.svg" alt="/icons/arrow-turn-left_blue.svg" width="40px" /> Retour au blog Ma généalogie avec Gramps

</aside>

<aside> <img src="/icons/info-alternate_blue.svg" alt="/icons/info-alternate_blue.svg" width="40px" /> Et pour en savoir plus


Ma généalogie avec Gramps

</aside>