# 📱 Gestion des sondes DS18B20 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://domo91.fr) - 🔠 Détection de dépassement de seuil (plus de 30 min) - ⚠️ Alertes automatiques par **email** et **SMS** 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 - 🕒 Filtrage par tranche horaire (matin, après-midi, nuit) dans les rapports PDF - 👤 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 :* ![Graphique des températures](Docs/graphique.png) --- ## 📁 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 | | `Alerte_sms.py` | Gestion de l'envoi de SMS avec OVH | | `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 | --- ## 📝 Génération de rapports PDF journaliers L'application permet de générer des rapports PDF propres et compacts à partir des relevés de température. Fonctionnalités incluses : - Sélection du **site** et de la **date** - Choix d'une **plage horaire** (matin, après-midi, nuit ou toute la journée) - Relevés présentés en **deux colonnes** pour un gain d'espace - Affichage des **alertes en cours** sur la période choisie - Téléchargement direct depuis l'application Streamlit Les fichiers sont automatiquement nommés et enregistrés dans le répertoire `/PDF` pour archivage. --- ## 🤍 Installation locale (mode développement) ```bash 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 `MotsDePasse` MySQL - 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 ```bash ./deploy.sh ``` - Push automatique du projet vers le VPS - Redémarrage automatique de Streamlit - Pensez à **mettre à jour manuellement** le fichier `.env` sur le serveur en cas de modification de la configuration (mails, base de données...) --- ## 📅 Tests et maintenance - Test manuel des alertes possibles via interface utilisateur (menu Test Alerte) - Fichiers de logs enregistrés dans `/home/debian/Gestion-sondes/Logs/` --- ## 📚 Licence Projet **privé** — Propriété de l'auteur. Toute diffusion, copie ou reproduction est interdite sans autorisation écrite préalable. --- *Dernier correctif : gestion de l'envoi de SMS avec OVH ✔️*