import streamlit as st import pandas as pd import matplotlib.pyplot as plt # --- Chargement des données --- try: df = pd.read_csv("/home/debian/travail/logs_monitor.csv", sep=";", parse_dates=["Date"]) except FileNotFoundError: st.error("📂 Le fichier de log n'a pas été trouvé.") st.stop() st.title("🧾 Analyse des scans Monitor.py") # --- Filtres --- df["Date_str"] = df["Date"].dt.date dates_dispo = sorted(df["Date_str"].unique(), reverse=True) date_selection = st.selectbox("📅 Sélectionnez une date :", dates_dispo) lieux = sorted(df["Lieu"].unique()) lieu_selection = st.selectbox("📍 Site :", lieux) df_filtré = df[(df["Date_str"] == date_selection) & (df["Lieu"] == lieu_selection)] sondes = sorted(df_filtré["Sonde"].unique()) sonde_selection = st.selectbox("🧪 Sonde :", sondes) df_sonde = df_filtré[df_filtré["Sonde"] == sonde_selection] # --- Graphique température --- fig, ax = plt.subplots(figsize=(10, 4)) ax.plot(df_sonde["Date"], df_sonde["Température"], marker='o') ax.set_title(f"Évolution de la température - {sonde_selection}") ax.set_xlabel("Heure") ax.set_ylabel("Température (°C)") st.pyplot(fig) # --- Tableau complet du jour/sonde sélectionnés --- st.markdown("### 📋 Détail des scans") st.dataframe(df_sonde[["Date", "Sonde", "Température", "Seuil", "État"]], use_container_width=True)