0cfafedeef3c99343e727e254d3f5ccd12beba08
Override CSS scopé aux classes .btn-* (jamais les variables --bs-* racine,
donc alertes/badges inchangés) pour remplacer les couleurs dérivées du thème
Simplex (danger mauve, secondary gris illisible). Trois rôles : la couleur
encode la fonction, le remplissage l'emphase.
- primary terracotta : action principale validante
- secondary gris ardoise : action neutre/alternative (lisible)
- danger rouge #c0392b : destructif (outline par défaut, plein en confirmation)
Audit + conformation des usages :
- compte_admin « Supprimer mon compte » : primary outline -> danger outline
- compte_abonnement « Me désabonner » : outline-primary -> outline-danger
- compte_abonnement « Je suis sûr » : outline-primary -> danger plein
Tests : ajout tests/test_boutons.py (garde de non-régression du primary).
conftest : implémente le hook pytest_setup_options (--headless=new) ; la
fixture chrome_options n'était jamais utilisée par dash.testing, d'où les
fenêtres Chrome qui s'ouvraient pendant les tests.
Specs et plan : docs/superpowers/{specs,plans}/2026-06-30-charte-boutons*.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
decp.info
Outil d'exploration et de téléchargement des données essentielles de la commande publique.
=> decp.info
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, decp.info) : déploiement manuel via un déclenchement de la Github Action Déploiement - Test (branche
dev, test.decp.info) : 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 decpinfo
python -m src.backup restore backups/users-YYYYMMDDTHHMMSSZ.sqlite.gz.enc
systemctl start decpinfo
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%