diff --git a/.idea/workspace.xml b/.idea/workspace.xml
index 07b8a83..2f1b464 100644
--- a/.idea/workspace.xml
+++ b/.idea/workspace.xml
@@ -5,9 +5,10 @@
+
-
-
+
+
@@ -21,10 +22,13 @@
+
+
+
@@ -88,7 +92,7 @@
"Python.test.executor": "Run",
"RunOnceActivity.ShowReadmeOnStart": "true",
"RunOnceActivity.git.unshallow": "true",
- "git-widget-placeholder": "product",
+ "git-widget-placeholder": "Merging product",
"ignore.virus.scanning.warn.message": "true",
"last_opened_file_path": "C:/Users/miche/PycharmProjects/Gestion sondes",
"settings.editor.selected.configurable": "com.jetbrains.python.configuration.PyActiveSdkModuleConfigurable",
@@ -136,7 +140,7 @@
-
+
diff --git a/domo91.py b/domo91.py
index 4473fe9..660249d 100644
--- a/domo91.py
+++ b/domo91.py
@@ -171,6 +171,20 @@ if st.session_state["authenticated"]:
sonde_choisie = st.selectbox("🧪 Choisissez une sonde :", sondes)
df_sonde = df[df["Sonde"] == sonde_choisie]
+ # Ajouter une colonne Heure pour faciliter les filtres
+ df_sonde["Heure"] = df_sonde["Date"].dt.hour
+
+ # Filtrage par tranche horaire
+ tranche = st.radio("🕒 Tranche horaire :",
+ ["Toute la journée", "Matin (6h-12h)", "Après-midi (12h-18h)", "Nuit (18h-6h)"])
+
+ if tranche == "Matin (6h-12h)":
+ df_sonde = df_sonde[(df_sonde["Heure"] >= 6) & (df_sonde["Heure"] < 12)]
+ elif tranche == "Après-midi (12h-18h)":
+ df_sonde = df_sonde[(df_sonde["Heure"] >= 12) & (df_sonde["Heure"] < 18)]
+ elif tranche == "Nuit (18h-6h)":
+ df_sonde = df_sonde[(df_sonde["Heure"] >= 18) | (df_sonde["Heure"] < 6)]
+
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
@@ -178,7 +192,21 @@ if st.session_state["authenticated"]:
st.subheader("📊 Tableau des relevés")
df_filtré = df_sonde.copy()
df_filtré = df_filtré.drop(columns="Id", errors="ignore")
- st.dataframe(df_filtré, use_container_width=True)
+
+
+ def surlignage_temp(val):
+ try:
+ if float(val) > seuil_temp:
+ return "color: red; font-weight: bold"
+ except:
+ pass
+ return ""
+
+
+ # Appliquer le style uniquement à la colonne "Temperature"
+ styled_df = df_filtré.style.applymap(surlignage_temp, subset=["Temperature"])
+
+ st.dataframe(styled_df, use_container_width=True)
st.subheader("📈 Évolution de la température")
fig, ax = plt.subplots(figsize=(10, 4))
@@ -190,6 +218,32 @@ if st.session_state["authenticated"]:
ax.xaxis.set_major_formatter(mdates.DateFormatter('%H:%M'))
ax.legend()
st.pyplot(fig)
+ # --- Affichage des alertes du jour ---
+ afficher_alertes = st.toggle("🚨 Afficher les alertes du jour")
+
+ if afficher_alertes:
+ try:
+ conn = mysql.connector.connect(**db_config)
+ cursor = conn.cursor(dictionary=True)
+
+ table_alertes = f"Alertes_{site_selectionne}"
+ cursor.execute(
+ f"SELECT Sonde, Debut_defaut, Status FROM `{table_alertes}` WHERE DATE(Debut_defaut) = %s",
+ (selected_date.strftime("%Y-%m-%d"),)
+ )
+ alertes = cursor.fetchall()
+
+ if alertes:
+ df_alertes = pd.DataFrame(alertes)
+ st.subheader("🚨 Alertes enregistrées")
+ st.dataframe(df_alertes, use_container_width=True)
+ else:
+ st.info("Aucune alerte enregistrée pour cette date.")
+
+ cursor.close()
+ conn.close()
+ except Exception as e:
+ st.error(f"Erreur lors de la récupération des alertes : {e}")
else:
st.warning("Aucune donnée trouvée pour cette date.")
diff --git a/tools/deploy_product.sh b/tools/deploy_product.sh
new file mode 100644
index 0000000..b6a8960
--- /dev/null
+++ b/tools/deploy_product.sh
@@ -0,0 +1,31 @@
+#!/bin/bash
+
+LOG="/home/debian/travail/Logs/deploy_product.log"
+REPO_PATH="/home/debian/travail/Gestion_sondes"
+DATE=$(date '+%Y-%m-%d %H:%M:%S')
+
+echo "[$DATE] 🚀 Déploiement de la branche develop vers product" >> $LOG
+
+cd $REPO_PATH
+
+# 1. Récupérer les dernières modifs
+git fetch origin >> $LOG 2>&1
+
+# 2. Basculer sur la branche product
+git checkout product >> $LOG 2>&1
+
+# 3. Mettre à jour tous les .py depuis develop
+git checkout origin/develop -- *.py >> $LOG 2>&1
+
+# 4. Commit et push
+git commit -am "🧩 Déploiement auto : maj des fichiers .py depuis develop" >> $LOG 2>&1
+git push origin product >> $LOG 2>&1
+
+# 5. Redémarrage des services Supervisor
+for service in Cuisine_Saclay Monitor cuisine_meudon domo91 Interface
+do
+ supervisorctl restart $service >> $LOG 2>&1
+done
+
+DATE_END=$(date '+%Y-%m-%d %H:%M:%S')
+echo "[$DATE_END] ✅ Déploiement terminé avec succès." >> $LOG