Vacances Scolaires
Le module VacancesScolaires récupère les périodes de vacances scolaires officielles depuis l’API du gouvernement français. Il fournit des fonctions de filtrage par localisation, zone scolaire et période avec retour de DataFrame Polars.
Fonctionnalités
Récupération des vacances scolaires via l’API officielle du gouvernement
Filtrage par zone (A, B, C), localisation, période, population et année scolaire
Conversion automatique des dates, tri optimisé, gestion des DataFrame vides
Usage
La fonction get_vacances_scolaires
n’est pour l’instant pas exploité dans le projet SmartWatch.
API et format des données
Le module interroge l’API data.education.gouv.fr pour récupérer les données sur le calendrier scolaire.
Endpoint
URL :
https://data.education.gouv.fr/api/explore/v2.1/catalog/datasets/fr-en-calendrier-scolaire/records
Méthode :
GET
Paramètres de la fonction `get_vacances_scolaires`
Tous les paramètres sont optionnels et permettent de construire une clause where
pour filtrer les résultats de l’API.
localisation
(str, optionnel): Filtre par localisation géographique (ex: « Lyon », « Académie de Lyon »).zone
(str, optionnel): Filtre par zone scolaire (ex: « A », « B », « C »).date_debut
(str, optionnel): Date de début au format “YYYY-MM-DD”. Par défaut, le 1er janvier de l’année en cours.date_fin
(str, optionnel): Date de fin au format “YYYY-MM-DD”. Par défaut, le 31 décembre de l’année en cours + 2 ans.population
(str, optionnel): Filtre par type de population (ex: « Élèves », « Enseignants »).annee_scolaire
(str, optionnel): Filtre par année scolaire (ex: « 2023-2024 »).
Format des données en sortie
La fonction retourne un DataFrame Polars contenant les enregistrements qui correspondent aux filtres. Les colonnes principales sont :
description
(str): Nom de la période de vacances (ex: « Vacances de la Toussaint »).start_date
(datetime): Date et heure de début de la période.end_date
(datetime): Date et heure de fin de la période.zones
(str): La ou les zones concernées (ex: « Zone A »).location
(str): La ou les localisations concernées (ex: « Besançon », « Bordeaux », « Clermont-Ferrand »…).annee_scolaire
(str): L’année scolaire de la période.population
(str): La population concernée.
Modules
- src.smart_watch.utils.VacancesScolaires.get_vacances_scolaires(localisation: str | None = None, zone: str | None = None, date_debut: str | None = None, date_fin: str | None = None, population: str | None = None, annee_scolaire: str | None = None) DataFrame | None [source]
Récupère les périodes de vacances scolaires selon les critères spécifiés.
- Paramètres:
localisation (Optional[str], optional) – Localisation géographique (ville, département, etc.).
zone (Optional[str], optional) – Zone scolaire (A, B, C).
date_debut (Optional[str], optional) – Date de début au format “YYYY-MM-DD”. Par défaut, début de l’année courante.
date_fin (Optional[str], optional) – Date de fin au format “YYYY-MM-DD”. Par défaut, fin de l’année courante + 2 ans.
population (Optional[str], optional) – Population concernée (élèves, enseignants, etc.).
annee_scolaire (Optional[str], optional) – Année scolaire (ex: “2023-2024”).
- Renvoie:
Un DataFrame Polars contenant les périodes de vacances scolaires triées par date de début et de fin, ou None si aucune période n’est trouvée.
- Type renvoyé:
Optional[pl.DataFrame]