From 24be448943a7b06a0e86bfa4beb5ebb2366887eb Mon Sep 17 00:00:00 2001 From: Michel Date: Sat, 19 Apr 2025 06:24:09 +0000 Subject: [PATCH] Actualiser README.md --- README.md | 130 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 130 insertions(+) diff --git a/README.md b/README.md index e69de29..e5f337f 100644 --- a/README.md +++ b/README.md @@ -0,0 +1,130 @@ +# 🔌 Gestion des sondes domotiques + +![Python](https://img.shields.io/badge/Python-3.10-blue?logo=python) +![Licence](https://img.shields.io/badge/Licence-Propriétaire-red) +![Gitea](https://img.shields.io/badge/Gitea-actif-success) +![Hébergement](https://img.shields.io/badge/Hébergement-auto--géré-informational) + +Application de **surveillance des températures** avec alertes, visualisation Streamlit, et déploiement automatisé via Gitea + Supervisor. + +--- + +## 🌟 Fonctionnalités principales + +- 🔢 Lecture de capteurs **DS18B20** et **DHT22** +- 📡 Transmission via **MQTT** +- 🌐 Interface Streamlit ([app.domo91.fr](https://app.domo91.fr)) +- ⚠️ Alertes email / Telegram si dépassement > 30 minutes +- 🚀 Déploiement auto avec `deploy.sh` +- 📁 Stockage **SQL** sur MySQL (VPS) + +--- + +## 📈 Exemple de visualisation + +Voici un aperçu d’un graphique dans l’interface Streamlit : + +![Exemple de graphique Streamlit](https://via.placeholder.com/600x200.png?text=Graphique+Streamlit) + +--- + +## 📂 Structure du projet + +| Fichier | Description | +|----------------------|----------------------------------------------| +| `Monitor.py` | Analyse de température et alertes | +| `domo91.py` | Interface graphique web | +| `Cuisine_saclay.py` | Script capteur pour le site de Saclay | +| `Cuisine_meudon.py` | Script capteur pour Meudon | +| `check_supervisor.py`| Vérifie l’état des scripts supervisés | +| `deploy.sh` | Déploiement auto depuis Gitea (branche `product`) | +| `requirements.txt` | Dépendances Python | + +--- + +## 🛠️ Installation locale + +```bash +# Clone depuis Gitea +git clone https://mj91.fr:448/michel/gestion_sondes.git +cd gestion_sondes + +# Environnement virtuel +python -m venv .venv +source .venv/bin/activate # Linux/macOS +.venv\Scripts\activate # Windows + +pip install -r requirements.txt +``` + +--- + +## 🏛️ Architecture globale + +- Données temps réel envoyées par ESP8266 (MQTT) +- Base MySQL avec tables par site (`Saclay`, `Meudon`, `Roissy`...) +- Script `Monitor.py` tournant en boucle 5 minutes (avec `supervisord`) +- Application Streamlit avec login / rôle (accès personnalisé) +- Alertes par Email / Telegram, PDF générables depuis l’app + +--- + +## 🧰 Bases de données principales + +### 📉 Températures +- Tables : `Saclay`, `Meudon`, etc. (même structure) +- Champs : `Id`, `Sonde`, `Temperature`, `Date` + +### ⚠️ Alertes +- Tables : `Alertes_Saclay`, `Alertes_Meudon`, etc. +- Champs : `Id`, `Sonde`, `Debut_defaut`, `Etat` (En cours, Acquitté, Test...) + +### 🏢 Chambres froides (seuils) +- Table : `Chambres_froides` +- Champs : `Id`, `Lieu`, `Sonde`, `Temp_Max`, `Etat` (ON/OFF) + +### 🔐 Authentification +- Table : `MotsDePasse` +- Champs : `Utilisateur`, `MotDePasse`, `Lieu`, `Role` + +### 📅 Inventaires +- Champs : `Id_inventaire`, `Id_Article`, `Quantité`, `Prix`, `Date` +- Remplissage via Excel nettoyé par macro VBA ou formulaire + +--- + +## 💪 Monitor.py + +- 🔄 Boucle toutes les 5 minutes +- ⚠️ Déclenche une alerte si seuil dépassé pendant 30 minutes +- ✅ Acquittement automatique quand retour à la normale +- 📧 Notifications par Email + Telegram + +--- + +## 💼 Bonnes pratiques Git + +- Branche `develop` : développement +- Branche `product` : version stable (protégée) +- Pas de push direct sur `product` +- Utiliser `pull --rebase` pour éviter les conflits +- `deploy.sh` pour déploiement manuel si besoin + +--- + +## 🌟 Idées d’amélioration + +- 📱 Alertes SMS via API (Twilio ou OVH) +- 📊 Historique détaillé + export CSV +- 📋 Récap PDF automatique chaque matin +- 📆 Maintenance planifiée avec calendrier +- 🌐 Tableau de bord multi-sites consolidé + +--- + +## 📖 Auteur & contact + +Projet développé par [Michel] +Site principal : [https://app.domo91.fr](https://app.domo91.fr) +Gitea auto-hébergé sur : [https://mj91.fr](https://mj91.fr) +