Cette webapp permet à l'aide d'un triplet d'informations d'identité de retrouver le code INSEE de la commune de naissance d'un utilisateur.
Le triplet est le suivant:
nom commune
, string
, nom de la commune de naissance à la date de la
naissance ;annee de naissance
, integer
, année (format YYYY) de naissance de l'usagercode departement de naissance
, string
, code (format NN) insee du
département de naissance à la date de la naissance. A noter que le format est
string
car les départements ne sont pas forcément des entiers (cas de la
corse), et 03
n'est pas non plus un entier.A l'aide de ces 3 infos, l'API renvoie le code insee de la commune à l'année de naissance de l'utilisateur.
Dans le cadre d'API Particulier, certaines API acceptent des informations dit Identité Pivot.
Dans ces informations, il y a le code INSEE de la commune de naissance. Code que peu d'usagers (voir aucun) ne connaisse, et qui peut varier dans le temps (pour cause de fusion/migration/autre opération entre les communes). Ces diverses opérations rendent la tâche de recherche de correspondance ardue.
Cette webapp est une expérimentation/un service permettant de récupérer ce code insee à l'aide d'un triplet connue par un usager (décrit ci-dessus).
L'algorithme fonctionne de cette manière:
Étant donné que la commune de naissance est généralement une commune comportant une maternité, les possibles homonymes de communes au sein d'un même département sont peu probables (et d'ailleurs non existant en 2023).
Liste non exhaustive:
Si vous pensez qu'il existe d'autres cas, n'hésitez pas à ouvrir un ticket.
bundle install
Copiez .env.example
vers .env
, et remplacez les valeurs:
docker build . -t identite_pivot_code_insee_naissance_lookup:main
bundle exec rackup
docker run -p 9292:9292 identite_pivot_code_insee_naissance_lookup:main
Un exemple de requête valide en local:
curl "http://localhost:9292?nom_commune=Gennevilliers&annee_naissance=1960&departement_commune=92"
> {"code_insee":"75036"}
bundle exec rspec
La stack de tests utilise VCR pour enregistrer les nouvelles interactions sur l'INSEE. Vous pouvez ajouter des tests dans le fichier examples.csv.
fly deploy
Déployé sur fly.io
Url: https://identite-pivot-code-insee-naissance-lookup.fly.dev
Un exemple de curl:
curl "https://identite-pivot-code-insee-naissance-lookup.fly.dev/?nom_commune=Gennevilliers&annee_naissance=2000&departement_commune=92"