Mise a jour de mon_script.py depuis develop
This commit is contained in:
44
domo91.py
44
domo91.py
@@ -17,6 +17,41 @@ db_config = {
|
||||
"database": "Sondes"
|
||||
}
|
||||
|
||||
def afficher_tableau_filtré(df):
|
||||
st.markdown("### 🔧 Filtrage horaire")
|
||||
|
||||
df = df.copy()
|
||||
df["Date"] = pd.to_datetime(df["Date"])
|
||||
|
||||
# Supprimer la colonne Id si elle existe
|
||||
if "Id" in df.columns:
|
||||
df.drop(columns="Id", inplace=True)
|
||||
|
||||
# Sélection de la tranche horaire
|
||||
plage = st.selectbox(
|
||||
"Sélectionnez une plage horaire :",
|
||||
["Toutes", "Matin (06h-12h)", "Après-midi (12h-18h)", "Soir (18h-00h)"]
|
||||
)
|
||||
|
||||
if plage == "Matin (06h-12h)":
|
||||
df = df[(df["Date"].dt.hour >= 6) & (df["Date"].dt.hour < 12)]
|
||||
elif plage == "Après-midi (12h-18h)":
|
||||
df = df[(df["Date"].dt.hour >= 12) & (df["Date"].dt.hour < 18)]
|
||||
elif plage == "Soir (18h-00h)":
|
||||
df = df[(df["Date"].dt.hour >= 18)]
|
||||
|
||||
# Centrage de la colonne Température (et autres si souhaité)
|
||||
def style_center(s):
|
||||
return ['text-align: center'] * len(s)
|
||||
|
||||
st.dataframe(
|
||||
df.style.apply(style_center, subset=["Temperature"]),
|
||||
use_container_width=True
|
||||
)
|
||||
|
||||
return df
|
||||
|
||||
|
||||
if "authenticated" not in st.session_state:
|
||||
st.session_state["authenticated"] = False
|
||||
st.session_state["role"] = None
|
||||
@@ -109,7 +144,7 @@ if st.session_state["authenticated"]:
|
||||
try:
|
||||
conn = mysql.connector.connect(**db_config)
|
||||
cursor = conn.cursor(dictionary=True)
|
||||
sites_possibles = ["Saclay", "Meudon", "Roissy"]
|
||||
sites_possibles = ["Saclay", "Meudon"]
|
||||
if st.session_state["role"] == "superviseur":
|
||||
site_selectionne = st.selectbox("📍 Choisissez un site :", sites_possibles)
|
||||
else:
|
||||
@@ -130,10 +165,13 @@ if st.session_state["authenticated"]:
|
||||
cursor.execute("SELECT Temp_Max FROM Chambres_froides WHERE Lieu = %s AND Sonde = %s", (site_selectionne, sonde_choisie))
|
||||
seuil = cursor.fetchone()
|
||||
seuil_temp = seuil["Temp_Max"] if seuil else 10
|
||||
st.dataframe(df_sonde, use_container_width=True)
|
||||
|
||||
df_filtré = afficher_tableau_filtré(df_sonde)
|
||||
|
||||
|
||||
st.subheader("📈 Évolution de la température")
|
||||
fig, ax = plt.subplots(figsize=(10, 4))
|
||||
ax.plot(df_sonde["Date"], df_sonde["Temperature"], marker='o', label="Température")
|
||||
ax.plot(df_filtré["Date"], df_filtré["Temperature"], marker='o', label="Température")
|
||||
ax.axhline(seuil_temp, color='red', linestyle='--', label=f"Seuil {seuil_temp}°C")
|
||||
ax.set_xlabel("Heure")
|
||||
ax.set_ylabel("Température (°C)")
|
||||
|
||||
Reference in New Issue
Block a user