eb8f54dbf2997ec4541d3024e86f9ca0824a6786
La prop `bounds` de dash-leaflet lève une exception JS (TypeError sur .equals() avec une valeur précédente indéfinie) au tout premier montage du composant Map — confirmé via la stack trace navigateur, reproductible même en dernière version (1.1.3). Cette exception laissait le clustering dans un état incohérent (declustering impossible avant un zoom complet suivi d'un dézoom). bounds_to_center_zoom calcule un center/zoom approximatifs (projection Web Mercator, taille de conteneur supposée) pour cadrer l'organisme et ses contreparties, en évitant complètement la prop `bounds` bugguée. Cadrage moins précis qu'un vrai fitBounds() navigateur, mais robuste.
colibre
Note: Ce projet a été rebaptisé de decp.info à colibre en 2026.
Outil d'exploration et de téléchargement des données essentielles de la commande publique.
=> colibre.fr
Installation et lancement
# Copie et personnalisation du .env
cp template.env .env
nano .env
# Pour la production
uv run gunicorn app:server
# Pour avoir le debuggage et le hot reload
uv run run.py
Déploiement
- Production (branche
main, colibre.fr) : déploiement manuel via un déclenchement de la Github Action Déploiement - Test (branche
dev, test.colibre.fr) : déploiement automatique à chaque push sur la branchedev, via la même Github Action.
Ne pas oublier de mettre à jour les fichier .env.
Sauvegarde de la base utilisateurs
users.sqlite est sauvegardée toutes les heures sur S3 via un timer systemd. Pour lister les sauvegardes disponibles :
python -m src.backup list
Pour restaurer une sauvegarde, arrêtez le service, restaurez la base, puis redémarrez :
systemctl stop colibre
python -m src.backup restore backups/users-YYYYMMDDTHHMMSSZ.sqlite.gz.enc
systemctl start colibre
Migrations de base de données
Les migrations SQLite s'appliquent automatiquement au démarrage de l'app — aucune action manuelle requise. Il suffit de redémarrer le service après un déploiement.
Pour vérifier quelles migrations ont été appliquées :
sqlite3 users.sqlite "SELECT id, applied_at FROM schema_migrations ORDER BY applied_at;"
Pour ajouter une migration, voir les instructions dans src/migrations.py.
Liens connexes
- decp-processing (traitement et publication des données)
- colin.maudry.com (blog)
Notes de version
Voir CHANGELOG.
Description
Outil d'exploration et de téléchargement des données essentielles de la commande publique
Releases
33
Languages
Python
95.2%
CSS
3.6%
JavaScript
1.2%