Hello @investigathor
La collecte de données se passe en 3 étapes.
récupérer la liste des codes postaux de France et leurs points de latitude/longitude.
Elle est accessible ici, en open source
récupérer les mairies en faisant une requête POST vers le site, pour chaque point de latitude/longitude
Voilà le cURL:
curl 'https://passeport.ants.gouv.fr/geoloc' \
-H 'authority: passeport.ants.gouv.fr' \
-H 'accept: application/json, text/plain, */*' \
-H 'accept-language: fr-FR,fr;q=0.9,en-US;q=0.8,en;q=0.7' \
-H 'content-type: application/json' \
-H 'origin: https://passeport.ants.gouv.fr' \
-H 'sec-ch-ua: "Chromium";v="116", "Not)A;Brand";v="24", "Google Chrome";v="116"' \
-H 'sec-ch-ua-mobile: ?0' \
-H 'sec-ch-ua-platform: "macOS"' \
-H 'sec-fetch-dest: empty' \
-H 'sec-fetch-mode: cors' \
-H 'sec-fetch-site: same-origin' \
-H 'user-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36' \
--data-raw '{"lat":43.2803,"long":5.3806,"source":"mairie","distance":"50km","from":0,"size":100}' \
--compressed
Dans le paramètre data-raw
tu vois effectivement deux éléments:
lat
lng
Ce sont ces éléments là qu’il faut remplir avec les données récupérées en open source.
Après chaque requête, tu obtient une donnée au format JSON, qui à cette tête là:
{
"_index":"6e85fcdd-818a-4bfd-ab63-d925b2fcc4d5",
"_type":"_doc",
"_id":"f14f836c-5b1e-4066-8a56-545f887abb6f",
"_score":null,
"_source":{
"id":"f14f836c-5b1e-4066-8a56-545f887abb6f",
"created":"2023-05-24T21:21:19.594Z",
"updated":"2023-05-24T21:21:19.594Z",
"type":"mairie",
"customId":"UGF13082",
"location":"43.2763670,5.3899340",
"others":{
"customId":"UGF13082",
"isActive":"actif",
"name":"Mairie de Marseille 8e - Prado",
"address":"1 boulevard de Louvain",
"address2":"",
"postalCode":"13008",
"city":"Marseille",
"longitude":"5.389934",
"latitude":"43.276367",
"phone":"08 10 81 38 13",
"email":"",
"webSite":"http://www.mairie-marseille.fr",
"openingTimeMonday":"8h30 - 11h45\n12h45 - 16h30",
"openingTimeTuesday":"8h30 - 11h45\n12h45 - 16h30",
"openingTimeWednesday":"8h30 - 11h45\n12h45 - 16h30",
"openingTimeThursday":"8h30 - 11h45\n12h45 - 16h30",
"openingTimeFriday":"8h30 - 11h45\n12h45 - 16h30",
"openingTimeSaturday":"",
"openingTimeSunday":""
}
},
"sort":[
0.8730516108242243
]
}
stocker cette information dans un fichier csv
Et voilà!
Je ne suis pas du tout initié au codage pour automatiser tout ça, comment puis-je faire ?
Alors franchement, c’est pas simple à faire si tu ne sais pas coder
Mais n’hésite pas à me contacter en MP, je te ferai une jolie proposition!