8e96476959d2a10c5a2aaea2e6c9539bd132620e
# 📱 Gestion des sondes domotiques
Application de surveillance des températures avec alertes automatiques, visualisation Streamlit, génération de PDF, gestion des utilisateurs, et déploiement via Gitea + Supervisor.
🔧 Fonctionnalités principales
- 👥 Lecture de capteurs DS18B20 et DHT22
- 📢 Transmission des relevés via MQTT
- 🌐 Interface utilisateur Streamlit (https://app.domo91.fr)
- 🔠 Détection de dépassement de seuil (plus de 30 min)
- ⚠️ Alertes automatiques par email en cas de dépassement
- 🔄 Rappels d'alerte toutes les heures si défaut non corrigé
- 📉 Visualisation graphique interactive + seuils
- 📄 Génération de rapports PDF journaliers
- 👤 Gestion d'utilisateurs et de rôles (superviseur / utilisateur simple)
- 📁 Stockage des relevés et alertes sur MySQL distant
- 🛡️ Protection des fichiers sensibles (.env non versionné)
🖼️ Exemple de visualisation
Graphique interactif Streamlit avec courbes de températures et seuils d'alerte :
📁 Structure du projet
| Fichier | Description |
|---|---|
Monitor.py |
Analyse de températures, génération et rappel d'alertes |
domo91.py |
Interface utilisateur Streamlit |
Cuisine_saclay.py |
Lecture capteurs site Saclay |
Cuisine_meudon.py |
Lecture capteurs site Meudon |
check_supervisor.py |
Vérification du bon fonctionnement des scripts |
deploy.sh |
Script de déploiement rapide vers VPS |
requirements.txt |
Dépendances Python nécessaires |
.env.example |
Modèle du fichier d'environnement à copier |
🤍 Installation locale (mode développement)
git clone https://mj91.fr:448/Michel/Gestion_sondes.git
cd Gestion_sondes
cp .env.example .env
python -m venv .venv
source .venv/bin/activate # Linux/macOS
.venv\Scripts\activate.bat # Windows
pip install -r requirements.txt
☁️ Environnement serveur VPS
- Debian 12 OVH
- MySQL 8 distant
- Supervisor pour la surveillance des scripts
- Nginx en reverse proxy (
app.domo91.fr) - Certificats HTTPS via Let's Encrypt
🔐 Authentification et gestion des utilisateurs
- Table
MotsDePasseMySQL - Gestion des accès par site (limitation ou multi-sites)
- Superviseurs : accès total et gestion des sondes
- Utilisateurs simples : accès restreint à leur site
📦 Déploiement
./deploy.sh
- Push automatique du projet vers le VPS
- Redémarrage automatique de Streamlit
- Pensez à mettre à jour manuellement le fichier
.envsur le serveur en cas de modification de la configuration (mails, base de données...)
📅 Tests et maintenance
- Test manuel des alertes possible via interface utilisateur (menu Test Alerte)
- Fichiers de logs enregistrés dans
/home/debian/travail/Logs/
📚 Licence
Projet privé — Propriété de l'auteur. Toute diffusion, copie ou reproduction est interdite sans autorisation écrite préalable.
Dernier correctif : protection des alertes et rappels automatiques ✔️
Description
Languages
Python
70.4%
JavaScript
20.7%
C++
4.4%
C
2.5%
Cython
1.9%
