- nginx: client_max_body_size 10m (limite par défaut 1 Mo bloquait les images)
- icons.go: import _ golang.org/x/image/webp et image/gif pour décoder WEBP/GIF
- index.html: retire SVG de l'accept (serveur le rejette) et corrige le hint
- popups.js: try/catch autour de uploadIcon → message d'erreur visible dans le hint
pendant 4s si l'upload échoue ; reset du file input pour re-sélectionner le même
fichier ; rafraîchit l'img de la tuile avec cache-busting après succès
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Ajout des handlers HTTP (agents, métriques historique, config agent/serveur, icônes upload/get) et du client MQTT serveur avec subscribe automatique et PushConfig.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>