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

A newer version of the Streamlit SDK is available: 1.58.0

Upgrade

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
  1. 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.
  1. 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
  1. 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
  1. 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
  1. 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)
  1. Export Job Runner + Progress
  • Effort: M
  • Impact: Fort UX (visibilite sur traitements longs)
  1. CIQ Unified Generator
  • Effort: M
  • Impact: Fort maintenance (moins de duplication)
  1. Shared Dump Cache
  • Effort: M/L
  • Impact: Fort perf (moins de re-parse)
  1. Health Summary
  • Effort: M/L
  • Impact: Fort operationnel (vision unique)
  1. 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).