← Projets

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é.