« Api gouv » : différence entre les versions
| (16 versions intermédiaires par le même utilisateur non affichées) | |||
| Ligne 15 : | Ligne 15 : | ||
*[https://doc.data.gouv.fr/api/reference/ doc data gouv api] | *[https://doc.data.gouv.fr/api/reference/ doc data gouv api] | ||
[[category:Divers]] [[category:api]] | [[category:Divers]] [[category:api]] | ||
=== calendrier.api.gouv.fr === | |||
Jours fériés | |||
<syntaxhighlight lang="bash" copy> | |||
curl -s 'GET' 'https://calendrier.api.gouv.fr/jours-feries/metropole/2027.json' -H 'accept: application/json' | jq | |||
</syntaxhighlight> | |||
=== apicarto.ign.fr === | |||
Cadastre | |||
<syntaxhighlight lang="bash" copy> | |||
curl -s 'https://apicarto.ign.fr/api/cadastre/commune?code_insee=02211' | jq | |||
</syntaxhighlight> | |||
<syntaxhighlight lang="bash" copy> | |||
code postaux | |||
curl -s 'https://apicarto.ign.fr/api/codes-postaux/communes/02290' | jq | |||
</syntaxhighlight> | |||
=== adresse.data.gouv.fr === | === adresse.data.gouv.fr === | ||
| Ligne 226 : | Ligne 243 : | ||
=== data.education.gouv.fr === | === data.education.gouv.fr === | ||
*[https://data.education.gouv.fr/pages/accueil/ data.education.gouv.fr] | |||
*[https://data.education.gouv.fr/explore/dataset/fr-en-annuaire-education/api/ education api] | |||
Obtenir les infos des établissements scolaires: | Obtenir les infos des établissements scolaires: | ||
<syntaxhighlight lang="bash" copy> | <syntaxhighlight lang="bash" copy> | ||
| Ligne 282 : | Ligne 304 : | ||
# Encodage URL | # Encodage URL | ||
encoded_commune=$(echo "$commune" | sed 's/ /%20/g') | encoded_commune=$(echo "$commune" | sed 's/ /%20/g') | ||
where_clause="nom_commune%20like%20%27%25${encoded_commune}%25%27" | #where_clause="nom_commune%20%3D%20%22${encoded_commune}%22%20" #strictement égale | ||
where_clause="nom_commune%20like%20%27${encoded_commune}%27" # like 'paris' | |||
#where_clause="nom_commune%20like%20%27%25${encoded_commune}%25%27" # like '%paris%' | |||
[ -n "$type_etablissement" ] && { | [ -n "$type_etablissement" ] && { | ||
| Ligne 290 : | Ligne 314 : | ||
# Construction de la requête API | # Construction de la requête API | ||
api_url="https://data.education.gouv.fr/api/explore/v2.1/catalog/datasets/fr-en-annuaire-education/records?where=${where_clause}&limit=${limit}&offset=${offset}" | api_url="https://data.education.gouv.fr/api/explore/v2.1/catalog/datasets/fr-en-annuaire-education/records?&order_by=identifiant_de_l_etablissement&where=${where_clause}&limit=${limit}&offset=${offset}" | ||
# Affichage des paramètres de recherche | # Affichage des paramètres de recherche | ||
echo "Recherche des établissements à '$commune'" >&2 | echo "Recherche des établissements à '$commune'" >&2 | ||
[ -n "$type_etablissement" ] && echo " | [ -n "$type_etablissement" ] && echo "Filtre : type '$type_etablissement'" >&2 | ||
[ "$output_mode" = "more" ] && echo "Affichage des champs de contact" >&2 | [ "$output_mode" = "more" ] && echo "Affichage des champs de contact" >&2 | ||
[ "$output_mode" = "all" ] && echo "Affichage de tous les champs disponibles" >&2 | [ "$output_mode" = "all" ] && echo "Affichage de tous les champs disponibles" >&2 | ||
[ "$offset" -gt 0 ] && echo "Décalage des | [ "$offset" -gt 0 ] && echo "Décalage des résultats : $offset" >&2 | ||
[ "$limit" -ne 100 ] && echo "Nombre de résultats par | [ "$limit" -ne 100 ] && echo "Nombre de résultats par page : $limit" >&2 | ||
echo "" >&2 | echo "" >&2 | ||
| Ligne 311 : | Ligne 335 : | ||
"\($offset + .key + 1)|\(.value.nom_etablissement)|\(.value.type_etablissement)|\(.value.adresse_1)|\(.value.position.lat),\(.value.position.lon)"' | \ | "\($offset + .key + 1)|\(.value.nom_etablissement)|\(.value.type_etablissement)|\(.value.adresse_1)|\(.value.position.lat),\(.value.position.lon)"' | \ | ||
while IFS='|' read -r num etablissement type adresse coord; do | while IFS='|' read -r num etablissement type adresse coord; do | ||
printf "%3d | %-30s | %-15s | %-25s | %s\n" \ | printf "%3d | %-30s | %-15s | %-25s | %s\n" \ | ||
"$num" \ | "$num" \ | ||
"$(echo "$etablissement" | cut -c -30)" \ | "$(echo "$etablissement" | cut -c -30)" \ | ||
| Ligne 332 : | Ligne 356 : | ||
mail: .value.mail, | mail: .value.mail, | ||
web: .value.web | web: .value.web | ||
} | with_entries(select(. | } | with_entries(select(.value != null))) | ||
' | ' | ||
;; | ;; | ||
| Ligne 342 : | Ligne 366 : | ||
.value | del(.datasetid, .recordid, .record_timestamp, .geometry) | | .value | del(.datasetid, .recordid, .record_timestamp, .geometry) | | ||
. + {numero: ($offset + .key + 1)} | | . + {numero: ($offset + .key + 1)} | | ||
with_entries(select(. | with_entries(select(.value != null)) | ||
) | ) | ||
' | ' | ||