WIP: feat(tableau): migration vers AG Grid (Lot 1, #41) #113
Reference in New Issue
Block a user
Delete Branch "41-migration-ag-grid"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Résumé
Migration de la page
/tableaudedash_table.DataTableversdash-ag-grid(Lot 1 de #41). Objectif préservé : maintenir toutes les fonctionnalités existantes, sans porter les overrides CSS custom (apparence de base d'AG Grid, portage CSS reporté à un 2e temps).src/utils/query_ast.py,Condition/And/Or/Not) compilé en SQL DuckDB paramétré, posé comme socle pour #97 (requêtes booléennes OR/AND/NOT réservées aux abonnés).filtermodel_to_ast) → SQL. Export Excel recompilé sur le même chemin DuckDB (plus de pipeline Polars).columnState, conformément au spec de design.?filtres=...&tris=...&colonnes=...) volontairement abandonnée (version majeure) — le partage/rappel de vue passe uniquement par les vues sauvegardées désormais.Documents de référence
docs/superpowers/specs/2026-07-09-migration-ag-grid-design.mddocs/superpowers/plans/2026-07-10-migration-ag-grid-tableau.mdProcess
Implémenté en 12 tâches TDD (subagent-driven-development), chacune revue individuellement (conformité spec + qualité), puis une revue finale de branche complète (Opus) a identifié 1 bug critique et 4 points importants — tous corrigés en 2 rounds de correctifs, re-vérifiés par une seconde revue finale :
apply_saved_viewplantait sur une vue sauvegardée créée avant cette migration (ancien format URL au lieu de JSON) — désormais dégradation gracieuse.track_search(se déclenchait à chaque bloc de scroll infini au lieu d'une fois par filtre).ast_to_filtermodel.count_marches(comptage sur ~1,5M lignes, recalculé à chaque bloc de scroll avant ce correctif).Hors périmètre (Lot 1)
acheteur.py,titulaire.py,observatoire.py,recherche.py,admin/liste.py) — Lots 2/3.?vue=<user_id>_<nom>(#112).Test plan
uv run pytest→ 596 passed, 1 skipped, 0 failedtests/test_query_ast.py), datasource grid (tests/test_grid.py)tests/test_tableau_ag_grid.py)acheteurs/titulaires, toujours endash_table.DataTable)dev) : filtres de colonne, tri, scroll infini, sélecteur de colonnes, export Excel, sauvegarde/rappel de vue (compte abonné)🤖 Généré avec Claude Code
Fermeture : fusion directe sur dev en local, sans passer par la PR.
Pull request closed