AquasManager
Une application complète de gestion d’aquariums récifaux, du suivi de la population au pilotage des équipements par des ESP32.
Le besoin
Un bac récifal, c’est beaucoup de choses à surveiller : paramètres de l’eau, éclairage, pompes, dosages, maintenance, et une population de coraux qu’on bouture et qu’on échange. Les solutions existantes sont soit fermées, soit liées à un matériel propriétaire. J’ai donc écrit la mienne.
Ce que fait l’application
Suivi de l’aquarium
- Inventaire de la population : poissons, coraux, invertébrés, plantes, avec un catalogue d’espèces.
- Relevés de paramètres d’eau avec seuils et alertes ; import d’analyses ICP de laboratoire (le rapport PDF est lu puis présenté pour relecture avant import).
- Tâches de maintenance récurrentes, calendrier et rappels.
- Gestion des boutures et certificats de cession en PDF, signables en ligne.
Pilotage du matériel
- Déclaration des contrôleurs, de leurs broches, relais, capteurs et lampes depuis l’interface.
- Génération automatique du firmware ESPHome de chaque contrôleur à partir de cette configuration.
- Moteur de règles (si capteur > seuil, alors couper tel équipement), avec des verrous de sécurité qui empêchent un rallumage tant que la condition est active.
- Programmation de l’éclairage par canal (courbe jusqu’à 24 points, clair de lune, acclimatation).
Assistant
- Un assistant conversationnel branché sur un LLM local (Ollama) qui peut consulter les données de l’application. Le calcul de dosage est un outil déterministe côté serveur, jamais une « connaissance » du modèle : une erreur de dosage peut tuer des coraux.
Architecture
- API en FastAPI + SQLAlchemy, avec WebSocket pour le temps réel, journal d’audit et sauvegardes.
- Interface en Vue 3 / Quasar, installable (PWA).
- Contrôleurs ESP32 sous ESPHome, reliés en MQTT. Point clé : l’ESP garde son programme (courbes d’éclairage, états) en flash et continue de fonctionner si le serveur tombe.
- Déployée sur mon homelab avec un environnement de recette et un de production, construits et déployés automatiquement à chaque push.
Choix dont je suis content
- Le serveur décrit, l’ESP exécute. Les automatismes critiques tournent sur le microcontrôleur ; le serveur n’est qu’un chef d’orchestre remplaçable.
- Relecture humaine avant toute écriture automatique : l’import ICP et l’assistant proposent, l’utilisateur valide.
- Sécurité d’abord pour tout ce qui touche au vivant : verrous de règles, dosage calculé, jamais deviné.