Colin Maudry 117ce9a4ab fix(tableau): filtres à conditions multiples ignorés + tri non réinitialisé (#41)
Deux bugs découverts en usage réel sur /tableau :

1. filtermodel_to_ast lisait condition1/condition2 pour un filtre à
   deux conditions (ET/OU) sur une colonne — mais AG Grid >=29.2 (la
   version 35.2.0 utilisée ici) encode ça via une liste `conditions`,
   confirmé par la doc Dash AG Grid "Filter Model & Dash Callbacks" >
   "Filter Model Multiple Conditions". Le filtre était donc
   silencieusement ignoré (colonne exclue du AST, comme si aucun
   filtre n'était posé), d'où des résultats sans rapport avec les
   valeurs saisies. Corrigé : filtermodel_to_ast lit désormais
   `conditions` (N éléments) en priorité, avec repli sur
   condition1/condition2 (forme dépréciée mais "still accepted" selon
   AG Grid). L'inverse (ast_to_filtermodel, utilisé au rappel d'une
   vue sauvegardée) produit aussi la forme `conditions`.

2. Le bouton "Réinitialiser" ("Supprime tous les filtres et les tris")
   ne réinitialisait que filterModel, jamais le tri. Corrigé via
   resetColumnState (remet les colonnes à l'état de columnDefs, qui
   reflète déjà la visibilité choisie via le sélecteur de colonnes —
   seul le tri est donc affecté).

Reproduit et corrigé en TDD (tests/test_query_ast.py,
tests/test_grid.py), vérifié manuellement en navigateur par l'auteur
du rapport de bug.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-10 20:21:53 +02:00
2026-04-24 13:35:49 +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%