db_query / documentations /oml_db_tools_improvement_roadmap.md
DavMelchi's picture
feat(gps): add manual decimal<->DMS conversion and roadmap note
436fac5
# 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).