🛠 Mises à jour sécurisation et nettoyage de Monitor, domo91, scripts MQTT
This commit is contained in:
@@ -3,7 +3,10 @@ import mysql.connector
|
||||
import sys
|
||||
import os
|
||||
import logging
|
||||
from datetime import datetime
|
||||
from dotenv import load_dotenv
|
||||
|
||||
# Charger les variables d'environnement
|
||||
load_dotenv()
|
||||
|
||||
# 📁 Création du dossier de logs s'il n'existe pas
|
||||
dossier_logs = "/var/log/Cuisine_Meudon"
|
||||
@@ -28,10 +31,10 @@ logging.getLogger('').addHandler(console)
|
||||
try:
|
||||
sys.path.insert(0, "/myenv/lib/python3.11.2/site-packages")
|
||||
mydb = mysql.connector.connect(
|
||||
host="54.36.188.119",
|
||||
user="michel",
|
||||
password="#SO2&1nf%mZ@jfh",
|
||||
database="Sondes"
|
||||
host=os.getenv("DB_HOST"),
|
||||
user=os.getenv("DB_USER"),
|
||||
password=os.getenv("DB_PASSWORD"),
|
||||
database=os.getenv("DB_NAME")
|
||||
)
|
||||
logging.info("Connexion MySQL réussie.")
|
||||
except mysql.connector.Error as err:
|
||||
|
||||
@@ -3,7 +3,10 @@ import mysql.connector
|
||||
import sys
|
||||
import os
|
||||
import logging
|
||||
from datetime import datetime
|
||||
from dotenv import load_dotenv
|
||||
|
||||
# Charger les variables d'environnement
|
||||
load_dotenv()
|
||||
|
||||
# 📁 Création du dossier de logs s'il n'existe pas
|
||||
dossier_logs = "/var/log/Cuisine_Saclay"
|
||||
@@ -28,10 +31,10 @@ logging.getLogger('').addHandler(console)
|
||||
try:
|
||||
sys.path.insert(0, "/myenv/lib/python3.11.2/site-packages")
|
||||
mydb = mysql.connector.connect(
|
||||
host="54.36.188.119",
|
||||
user="michel",
|
||||
password="#SO2&1nf%mZ@jfh",
|
||||
database="Sondes"
|
||||
host=os.getenv("DB_HOST"),
|
||||
user=os.getenv("DB_USER"),
|
||||
password=os.getenv("DB_PASSWORD"),
|
||||
database=os.getenv("DB_NAME")
|
||||
)
|
||||
logging.info("Connexion MySQL réussie.")
|
||||
except mysql.connector.Error as err:
|
||||
|
||||
@@ -1,18 +0,0 @@
|
||||
# Purge de la table Sondes.Alertes_Saclay.
|
||||
import mysql.connector
|
||||
|
||||
config = {
|
||||
"host": "54.36.188.119",
|
||||
"user": "michel",
|
||||
"password": "#SO2&1nf%mZ@jfh",
|
||||
"database": "Sondes"
|
||||
}
|
||||
|
||||
conn = mysql.connector.connect(**config)
|
||||
cursor = conn.cursor()
|
||||
cursor.execute("DELETE FROM Alertes_Saclay WHERE Debut_defaut < NOW() - INTERVAL 7 DAY")
|
||||
conn.commit()
|
||||
cursor.close()
|
||||
conn.close()
|
||||
|
||||
print("✅ Alertes de plus de 7 jours supprimées.")
|
||||
35
Purge_alertes.py
Normal file
35
Purge_alertes.py
Normal file
@@ -0,0 +1,35 @@
|
||||
# Purges des entrées de toutes les tables dans la base Sondes qui commencent
|
||||
# par Alertes_*** et qui sont agées de plus de sept jours.
|
||||
import mysql.connector
|
||||
import os
|
||||
from dotenv import load_dotenv
|
||||
|
||||
# Charger les variables d'environnement
|
||||
load_dotenv()
|
||||
|
||||
config = {
|
||||
"host": os.getenv("DB_HOST"),
|
||||
"user": os.getenv("DB_USER"),
|
||||
"password": os.getenv("DB_PASSWORD"),
|
||||
"database": os.getenv("DB_NAME")
|
||||
}
|
||||
|
||||
conn = mysql.connector.connect(**config)
|
||||
cursor = conn.cursor()
|
||||
|
||||
# Récupérer toutes les tables d'alertes
|
||||
cursor.execute("SHOW TABLES")
|
||||
tables = [t[0] for t in cursor.fetchall()]
|
||||
alertes_tables = [t for t in tables if t.startswith("Alertes_")]
|
||||
|
||||
# Appliquer la purge à chaque table
|
||||
for table in alertes_tables:
|
||||
query = f"DELETE FROM {table} WHERE Debut_defaut < NOW() - INTERVAL 7 DAY"
|
||||
cursor.execute(query)
|
||||
print(f"✅ Table {table} purgée.")
|
||||
|
||||
conn.commit()
|
||||
cursor.close()
|
||||
conn.close()
|
||||
|
||||
print("🎉 Purge terminée pour toutes les alertes anciennes.")
|
||||
25
domo91.py
25
domo91.py
@@ -1,4 +1,5 @@
|
||||
# Application Gestion de sondes
|
||||
# -*- coding: utf-8 -*-
|
||||
import streamlit as st
|
||||
import mysql.connector
|
||||
import pandas as pd
|
||||
@@ -9,6 +10,10 @@ from fpdf import FPDF
|
||||
import os
|
||||
import random
|
||||
import datetime
|
||||
from dotenv import load_dotenv
|
||||
|
||||
# Charger les variables d'environnement
|
||||
load_dotenv()
|
||||
|
||||
st.set_page_config(page_title="Domo91 - Surveillance", layout="wide")
|
||||
if "authenticated" not in st.session_state:
|
||||
@@ -18,21 +23,19 @@ if "authenticated" not in st.session_state:
|
||||
|
||||
st.title("📡 Supervision Températures")
|
||||
|
||||
# --- Configuration base de données ---
|
||||
db_config = {
|
||||
"host": "54.36.188.119",
|
||||
"user": "michel",
|
||||
"password": "#SO2&1nf%mZ@jfh",
|
||||
"database": "Sondes"
|
||||
db_config ={
|
||||
"host": os.getenv("DB_HOST"),
|
||||
"user": os.getenv("DB_USER"),
|
||||
"password": os.getenv("DB_PASSWORD"),
|
||||
"database": os.getenv("DB_NAME")
|
||||
}
|
||||
|
||||
|
||||
# --- Fonction de génération PDF ---
|
||||
def generer_pdf(site, date_str):
|
||||
st.info(f"Génération du rapport PDF pour {site} à la date {date_str}")
|
||||
try:
|
||||
conn = mysql.connector.connect(**db_config)
|
||||
cursor = conn.cursor(dictionary=True)
|
||||
pdf_cursor = conn.cursor(dictionary=True)
|
||||
|
||||
cursor.execute(f"SELECT Sonde, Date, Temperature FROM `{site}` WHERE DATE(Date) = %s ORDER BY Sonde, Date",
|
||||
(date_str,))
|
||||
@@ -105,8 +108,8 @@ def generer_pdf(site, date_str):
|
||||
mime="application/pdf"
|
||||
)
|
||||
|
||||
except Exception as e:
|
||||
st.error(f"Erreur lors de la génération du PDF : {e}")
|
||||
except Exception as err1:
|
||||
st.error(f"Erreur lors de la génération du PDF : {err1}")
|
||||
|
||||
|
||||
# --- Initialisation des variables de session ---
|
||||
@@ -401,7 +404,7 @@ if st.session_state["authenticated"]:
|
||||
except Exception as e:
|
||||
st.error(f"Erreur lors de la récupération des alertes : {e}")
|
||||
|
||||
except Exception as e:
|
||||
except Exception as err:
|
||||
st.error(f"Erreur MySQL : {e}")
|
||||
if st.session_state["role"] == "superviseur":
|
||||
with st.expander("+ Ajouter une nouvelle chambre froide", expanded=False):
|
||||
|
||||
Reference in New Issue
Block a user