Colin Maudry 8258b92f98 feat(mcp): garde /_mcp unifié statique+OAuth, audience & usage (#114)
Le garde before_request de /_mcp accepte désormais les jetons OAuth
opaques (store.get_token_by_access) en plus des jetons statiques
colibre_*, avec vérification d'audience (resource == mcp_resource)
et d'expiration. Le 401 porte resource_metadata pour le découverte
RFC 9728. Sur succès, incrémente le compteur du bon store et
journalise dans mcp_usage (best-effort).

Corrige aussi une régression d'assertion stricte sur le header
WWW-Authenticate dans test_app_wiring.py, cassée par le nouveau
suffixe resource_metadata.
2026-07-13 14:32:49 +02:00
2026-04-24 13:35:49 +02:00
2026-07-13 09:23:50 +02:00
2025-09-21 11:13:48 +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%