3.7 KiB
Création des objets Stats manquants à partir du CSV des communes
Cette documentation explique comment utiliser la nouvelle fonctionnalité pour créer des objets Stats manquants à partir du fichier CSV des communes françaises.
Fonctionnalité
La route /admin/create-missing-stats-from-csv
permet d'examiner le fichier CSV des communes françaises (communes_france.csv
) et de créer des objets Stats pour les communes qui n'en ont pas encore dans la base de données. Les objets Stats sont d'abord créés avec les informations du CSV, puis complétés avec des données supplémentaires (coordonnées, budget, etc.) lors de la sauvegarde par paquet de 100, sans effectuer de "labourage" (traitement complet des données OSM).
Les objets Stats sont sauvegardés par paquets de 100 pour optimiser les performances et éviter les problèmes de mémoire.
Prérequis
- Le fichier
communes_france.csv
doit exister à la racine du projet - Le fichier doit contenir au minimum les colonnes suivantes :
code
: Le code INSEE de la communenom
: Le nom de la commune
Si le fichier n'existe pas, vous pouvez le générer en exécutant le script fetch_communes.py
:
python fetch_communes.py
Utilisation
- Accédez à la route
/admin/create-missing-stats-from-csv
dans votre navigateur - Le processus s'exécute automatiquement et affiche un message de succès une fois terminé
- Vous serez redirigé vers la page d'administration principale
Données importées
Les données suivantes sont importées du CSV pour chaque commune :
code
→zone
(code INSEE)nom
→name
(nom de la commune)population
→population
(nombre d'habitants)codesPostaux
→codesPostaux
(codes postaux, séparés par des virgules)siren
→siren
(numéro SIREN)codeEpci
→codeEpci
(code EPCI)
Les données suivantes sont récupérées automatiquement lors de la sauvegarde par paquet de 100 :
lat
etlon
: Coordonnées géographiques (récupérées via l'API geo.api.gouv.fr)budget_annuel
: Budget annuel de la commune (récupéré via le service BudgetService)completion_percent
: Pourcentage de complétion (calculé automatiquement)
Les objets Stats créés ont également les propriétés suivantes :
date_created
: Date de création (date actuelle)date_modified
: Date de modification (date actuelle)kind
: 'command' (indique que l'objet a été créé par une commande)
Vérification
Après avoir exécuté la fonctionnalité, un message de succès s'affiche avec les informations suivantes :
- Nombre de communes ajoutées
- Nombre de communes déjà existantes (ignorées)
- Nombre d'erreurs rencontrées
Vous pouvez également vérifier dans la base de données que les objets Stats ont bien été créés pour les communes manquantes.
Journalisation
Les actions et erreurs sont journalisées via le service ActionLogger
:
admin/create_missing_stats_from_csv
: Journalise le début de l'actionerror_create_missing_stats_from_csv
: Journalise les erreurs rencontrées lors de la création des objets Statserror_complete_stats_data
: Journalise les erreurs rencontrées lors de la récupération des données supplémentaires (coordonnées, budget, etc.)
Différence avec importStatsFromCsv
Cette fonctionnalité est similaire à importStatsFromCsv
, mais avec quelques différences importantes :
- Elle est spécifiquement conçue pour créer des objets Stats manquants
- Elle utilise 'command' comme valeur pour le champ
kind
(au lieu de 'request') - Elle journalise les erreurs de manière plus détaillée
Exemple de message de succès
Création des Stats manquantes terminée : 123 communes ajoutées, 456 déjà existantes, 0 erreurs.