# OML_DB - Roadmap d'amelioration des tools Date: 2026-02-23 ## Contexte Cette proposition est basee sur une analyse du codebase (et non seulement du menu UI), notamment: - `app.py` - `apps/database_page.py` - `utils/utils_vars.py` - `queries/process_all_db.py` - `apps/ciq_2g_generator.py` - `apps/ciq_3g_generator.py` - `apps/ciq_4g_generator.py` - `apps/clustering.py` - `apps/dump_compare.py` ## Propositions cibles (specifiques au repo) 1. Health Summary (nouveau tool) - Ajouter une page unique qui agrege: - qualite DB - KPI - checks existants - Points de connexion: - navigation: `app.py` - donnees: `utils/utils_vars.py`, `utils/kpi_analysis_utils.py` 2. Shared Dump Cache - Parser le dump une seule fois par session et reutiliser les donnees entre pages/tools. - Cible: - `apps/database_page.py` - harmonisation avec les autres pages qui relisent le meme dump. 3. Export Job Runner + Progress - Encapsuler les exports lourds avec: - statut - progression - log utilisateur - Cible: - orchestration: `apps/database_page.py` - execution: `queries/process_all_db.py` 4. Validation Engine (fichiers en entree) - Validation schema avant calcul: - colonnes obligatoires - types minimaux - messages d'erreur explicites - Priorite: - `apps/clustering.py` - `apps/dump_compare.py` 5. CIQ Unified Generator - Factoriser le flux commun 2G/3G/4G: - upload - spinner - session state - download - Cible: - `apps/ciq_2g_generator.py` - `apps/ciq_3g_generator.py` - `apps/ciq_4g_generator.py` 6. Settings Persistence - Persister les toggles metier (ex: exclusion BSC 2G decom) entre refresh/restart. - Cible: - `apps/database_page.py` - `utils/utils_vars.py` ## Priorisation impact / effort 1. Validation Engine - Effort: S - Impact: Fort immediat (moins de plantages opaques) 2. Export Job Runner + Progress - Effort: M - Impact: Fort UX (visibilite sur traitements longs) 3. CIQ Unified Generator - Effort: M - Impact: Fort maintenance (moins de duplication) 4. Shared Dump Cache - Effort: M/L - Impact: Fort perf (moins de re-parse) 5. Health Summary - Effort: M/L - Impact: Fort operationnel (vision unique) 6. Settings Persistence - Effort: M - Impact: Moyen/fort UX (moins de reconfiguration) ## Plan de mise en oeuvre recommande Phase 1 (quick wins) - Validation Engine sur clustering + dump compare - Progress/log minimal sur exports database Phase 2 - Factorisation CIQ generators - Persistence des settings critiques Phase 3 - Shared Dump Cache transverse - Nouvelle page Health Summary ## Notes techniques - Attention a l'usage de globals dans `UtilsVars`: definir clairement les regles d'invalidation quand un nouveau dump est charge. - Ajouter une convention de cles `st.session_state` pour eviter collisions entre pages. - Preferer des fonctions utilitaires partagees pour les patterns repetes (upload/validate/process/download).