| # 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). |
|
|