Colin Maudry 7cc1fadf0f test(admin): add end-to-end Selenium coverage for the admin panel
Covers anonymous → 404, non-admin → 404, and the full admin flow
(list, detail, status change, journal) through a real login and a
real running app. tests/users.test.sqlite is committed and shared by
the whole Selenium session, so the test cleanup also resets the
sqlite_sequence high-water marks that plain DELETEs don't roll back,
keeping the file byte-stable across runs. This run additionally bakes
in migration 0006_create_admin_actions (new admin_actions table), the
first time any Selenium test has booted the real app since that
migration was added — the same one-time process by which migrations
0001-0005 already ended up committed in this fixture.
2026-07-03 10:34:35 +02:00
2026-04-24 13:35:49 +02:00
2026-07-02 11:32:45 +02:00
2026-06-30 23:07:50 +02:00
2025-09-21 11:13:48 +02:00
2026-06-30 23:07:50 +02:00
2026-05-05 15:32:27 +02:00

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 branche dev, 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

Notes de version

Voir CHANGELOG.

S
Description
Outil d'exploration et de téléchargement des données essentielles de la commande publique
Readme 5.8 MiB
Latest
2026-06-25 09:56:09 +02:00
Languages
Python 95.2%
CSS 3.6%
JavaScript 1.2%