## Approches architecturales

Base de données + protocole temps réel — choisir une approche

A

### SQLite + SSE

SQLite — fichier unique, pas de conteneur supplémentaire, SQL classique.
Server-Sent Events — flux unidirectionnel serveur→browser, plus simple que WebSocket.

#### Avantages

- Zéro dépendance supplémentaire
- Déploiement ultra-simple
- SSE natif dans les browsers modernes

#### Limites

- Performances sur gros volumes de séries temporelles
- SSE unidirectionnel (pas d'envoi de commandes futures)

B

### InfluxDB + WebSocket

InfluxDB — time-series DB optimisée, requêtes temporelles puissantes.
WebSocket — bidirectionnel, extensible pour des commandes futures vers les agents.

#### Avantages

- Optimisé pour les métriques temporelles
- WebSocket = extensible (alertes, commandes)
- Grafana compatible nativement

#### Limites

- Conteneur InfluxDB supplémentaire dans le compose
- Courbe d'apprentissage Flux/InfluxQL

C

### SQLite + WebSocket ⭐ Recommandé

SQLite — simplicité opérationnelle, suffisant pour 20+ agents avec rétention configurable.
WebSocket — bidirectionnel dès le départ, sans surcoût opérationnel.

#### Avantages

- Pas de conteneur DB supplémentaire
- WebSocket prêt pour extensions futures
- Simple à debugger et sauvegarder

#### Limites

- Requêtes temporelles moins expressives qu'InfluxDB
- Scalabilité limitée au-delà de ~100 agents