Passionné de généalogie, la base de données des personnes décédées depuis 1970 de l'INSEE est pour moi une source incontournable pour compléter les fiches des individus contemporains.
Plusieurs outils permettent de chercher dans cette base de données, notamment ce site (repo GitHub) réalisé par Florian Cassayre, et matchID.
Ces outils sont très puissants mais les données affichées différent parfois de celles des fichiers sources. Par exemple, dans le fichier source, une date peut être incomplète (19350000
). Le premier outil n'affichera aucune date (on perd l'année), et le second affichera 01/01/1935 (on pense alors que la date est le 1er janvier, ce qui est faux).
De plus, les fichiers source ont parfois des informations placées au mauvais endroit, et elles sont perdues si un traitement n'est pas fait avant l'import des fichiers...
Voici une liste des problèmes que j'ai jusqu'à présent rencontrés dans les fichiers source, et qui nécessite soit une modification de ceux-ci, soit un traitement supplémentaire avant l'import des données dans un système d'indexation comme Elasticsearch:
Problème | Solution |
---|---|
Problème d'encodage des communes de naissance. Des accents ont été introduits alors que la règle avait l'air d'être de ne pas en mettre. |
Modifier les communes pour rétablir les accents ou supprimer les accents. |
Lorsqu'une commune n'est pas connue, le champs peut prendre plusieurs valeurs : une chaine vide, des tirets, des points de suspension, des X, "INCONNUE", etc. |
Tout remplacer par une chaîne vide. |
Communes de naissance tronquées et retrait d'espaces pour gagner de la place (limite de caractères). |
Rétablir le nom des communes. |
Une certaine personne s'est amusée à précéder un grand nombre de communes étrangères par "à". Exemple : "A ALGER" au lieu de "ALGER". |
Supprimer les occurrences de "A " non désirées. |
Dans le cas des communes de naissance fictives, il arrive que l'information soit en double : code lieu finissant par 990 et nom de commune "COMMUNE FICTIVE" |
Remplacer par une chaîne vide les occurrences de "COMMUNE FICTIVE". |
Code pays incorrect. Exemple : IRLANDE (99136) pour Coalisland, une ville située en Irlande du Nord. Le code doit être ROYAUME-UNI (99132). |
Corriger le code pays. |
Lorsque la date de naissance exacte n'est pas connue, une période est parfois indiquée dans le champ commune de naissance. |
Trouver les entrées où il y a ces périodes, et indiquer dans le champ datenaiss le début de la période, et dans le champ datenaiss_end la fin de la période. Les individus seront ainsi trouvables et la période pourra être affichée. |
Les dates peuvent être incomplètes, ce qui empêche celles-ci d'être importées comme date dans une base. Exemple : 19151000 ou 19740000 ou même 19470030. |
En plus des champs de type DATE contenant les dates complètes traitées comme on peut (utiles pour Kibana par exemple) : 19151000 -> 19151001 19740000 -> 19740101 19470030 -> 19470130, trois champs par date contenant les vraies valeurs, ainsi qu'un champ par date qui contient un tag indiquant quelle partie de la date n'a pas pu être convertie. Tous les individus peuvent ainsi être trouvables lors d'une recherche par période, tout en indiquant les vraies valeurs si la date est partiellement inconnue. |
Des milliers de doublons... | Supprimer les doublons. idée : faire un hash de l'ensemble nom + prénoms + dates + code lieu + pays pour les détecter. |