From 9b349be50277c15757a68bcfe7b9fe59662e53fa Mon Sep 17 00:00:00 2001 From: Michel Date: Sat, 19 Apr 2025 08:33:20 +0000 Subject: [PATCH] Actualiser README.md --- README.md | 163 +++++++++++++++++------------------------------------- 1 file changed, 50 insertions(+), 113 deletions(-) diff --git a/README.md b/README.md index 1ca97b6..481e80f 100644 --- a/README.md +++ b/README.md @@ -1,149 +1,86 @@ -# 🔌 Gestion des sondes domotiques +# 🛰️ Gestion des sondes domotiques – Domo91 -![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. +Application de **supervision des températures** avec : +- Alertes automatiques (retard > 30 minutes) +- Visualisation graphique Streamlit +- Génération de rapports PDF +- Intégration Gitea + déploiement automatisé +- Mode test sanitaire manuel via bouton --- -## 🌟 Fonctionnalités principales +## ⚙️ 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) -<<<<<<< HEAD -======= -- 🔔 Bouton "Forcer une alerte de test" pour vérifications sanitaires ->>>>>>> 9adf2a0317ad44b7a379bf32a53b9e76d9a71db7 +- Lecture de capteurs **DS18B20** et **DHT22** +- Transmission des données via **MQTT** +- Visualisation en **Streamlit** (accessible via app.domo91.fr) +- Alertes Telegram / Email / affichage en direct +- Mise en alerte si dépassement de seuil > 30 minutes +- Bouton "Forcer une alerte de test" intégré +- Génération de rapport **PDF** journalier à la demande +- Gestion et configuration des sondes dans l'interface --- -## 📈 Exemple de visualisation +## 🖼️ Aperçu -Voici un aperçu d’un graphique dans l’interface Streamlit : - -![Exemple de graphique Streamlit](https://via.placeholder.com/600x200.png?text=Graphique+Streamlit) +![Exemple](https://dummyimage.com/800x400/cccccc/000000&text=Aperçu+interface+Streamlit) --- -## 📂 Structure du projet +## 📁 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 | +| Fichier | Rôle | +|----------------------|----------------------------------------------------------------------| +| `domo91.py` | Interface Streamlit principale | +| `Monitor.py` | Script en tâche de fond pour la détection d’alertes | +| `deploy.sh` | Script de déploiement depuis Gitea | +| `Cuisine_saclay.py` | Collecte des températures sur site de Saclay | +| `Cuisine_meudon.py` | Collecte des températures sur site de Meudon | +| `requirements.txt` | Dépendances Python à installer | --- -## 🛠️ Installation locale +## 🖥️ Installation locale ```bash -# Clone depuis Gitea -git clone https://mj91.fr:448/michel/gestion_sondes.git -cd gestion_sondes +git clone https://mj91.fr:448/michel/Gestion_sondes.git +cd Gestion_sondes -# Environnement virtuel +# Créer l'environnement virtuel python -m venv .venv source .venv/bin/activate # Linux/macOS -.venv\Scripts\activate # Windows +.venv\Scripts\activate # Windows +# Installer les dépendances pip install -r requirements.txt + +# Lancer Streamlit +streamlit run domo91.py ``` --- -## 🏛️ Architecture globale +## 🔐 Authentification -- 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 -<<<<<<< HEAD -======= -- Bouton "Forcer une alerte de test" (insère une alerte dans la BDD avec `Etat = 'Test'`) ->>>>>>> 9adf2a0317ad44b7a379bf32a53b9e76d9a71db7 +L'accès est sécurisé par identifiant/mot de passe. +Les superviseurs peuvent : +- Gérer les sondes et chambres froides +- Modifier les seuils +- Ajouter des utilisateurs (à venir) --- -## 🧰 Bases de données principales +## 📦 Déploiement & sauvegarde -### 📉 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 +- Déploiement automatisé via `deploy.sh` (push vers Gitea) +- Base de données MySQL hébergée sur VPS +- Historique et alertes conservés par site (`Alertes_Saclay`, `Alertes_Meudon`, etc.) --- -## 💪 Monitor.py +## 🛠️ À venir -- 🔄 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) - -<<<<<<< HEAD -======= - - -## 📖 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) - ->>>>>>> 9adf2a0317ad44b7a379bf32a53b9e76d9a71db7 +- Alerte email/SMS en production +- Programmation d’alertes de test mensuelles +- Interface utilisateur WordPress simplifiée \ No newline at end of file