Fonctions

Tout ce que NetPulse peut voir

Une liste complète de ce que l’app supervise, et le raisonnement derrière les choix techniques.

Inventaire des fonctions

Du réseau à l’interface

NetPulse lit les données de vos routeurs et les affiche sur un seul écran. Le sondage est en lecture seule ; ce qui écrit est toujours explicite et couvert par un retour arrière.

Panneau de santé

Un score de 0 à 100 qui condense latence, pertes, uptime et température. À côté, le débit WAN en direct face à votre forfait, la latence moyenne et les appareils connectés.

  • Score de santé 0-100 avec calcul pondéré par routeur
  • Débit WAN, pic du jour, moyenne sur 24 h et total
  • Mise à jour en direct par SSE toutes les ~5 s
Disponible

Topologie en direct

Carte sémantique construite à partir de la FDB du bridge et de LLDP quand disponible. Dessine routeurs, switches, hyperviseurs, conteneurs imbriqués, clients filaires et sans fil et tunnels WireGuard. Et quand l’inférence ne peut pas savoir où quelque chose est branché, ancrez l’appareil à son routeur et à son port exacts à la main.

  • Inférence des switches gérés et inférés
  • Hyperviseurs avec conteneurs imbriqués visibles
  • Animation du trafic et état des liens
  • Mode édition : déplacez les nœuds et enregistrez votre disposition
Disponible

Appareils

Chaque client classé automatiquement par motifs de hostname et OUI, avec bande, signal en dBm, première apparition et le routeur ou port auquel il parle.

  • Classification par type : ordinateur, téléphone, IoT, caméra, console...
  • Bande (2.4 GHz / 5 GHz / filaire) et signal
  • État en ligne/hors ligne et première apparition
Disponible

Flotte de routeurs

Vue d’ensemble de tous vos routeurs avec CPU, mémoire, température, uptime, clients connectés et un mini sparkline de charge sur 24 h. Les switches gérés sondés par SNMP sont aussi des citoyens de première classe, avec leur historique de trafic et leurs clients.

  • Carte par routeur avec rôle (gateway / AP / switch)
  • Mettez une unité en pause sans la supprimer : ni sondage ni alertes, historique conservé
  • LLDP-MIB sur les switches SNMP : de vrais uplinks sans OpenWrt
Disponible

Agent et mise à jour

L’agent est un paquet OpenWrt natif (.ipk et .apk, de mips à x86/64) avec init procd, config UCI et watchdog. Le serveur installe et met à jour toute la flotte depuis l’UI, et renouvelle les jetons à chaud sans réinstaller.

  • Installation de l’agent depuis l’UI du serveur
  • Avertissement d’agent obsolète et bouton de mise à niveau
  • Réarmement et état de l’agent en temps réel
  • owut check : vérifiez si votre routeur a une mise à jour de firmware
  • Mises à jour de firmware depuis l’UI, OpenWrt vanilla uniquement
Disponible

WiFi et roaming

Matrice de signal entre APs et clients, événements de roaming conservés 30 jours, et outils pour réancrer les clients sticky ou les expulser d’un AP afin qu’ils en choisissent un meilleur.

  • Événements d’association/dissociation et de roaming
  • Recommandation de réancrage par signal
  • Migration du steering de DAWN vers usteer
Disponible

Analyseur de canaux Wi-Fi

Un vrai spectre par radio : chaque réseau dessiné comme une cloche sur l’axe des fréquences, zones DFS ombrées et une bande d’occupation continue. Votre réseau, vu comme l’air le voit.

  • Score de congestion par canal (optimal, modéré, saturé) ; cliquez pour le focaliser
  • Vos propres réseaux ne congestionnent jamais un canal (détection MAC, SSID et dawn/usteer)
  • Suggère seulement : appliquer le canal reste entre vos mains, sur votre routeur
Disponible

Détail des ports du switch

Vue par port des switches : vitesse négociée, trafic, erreurs, état du lien et alertes spécifiques comme port fantôme, flapping ou vitesse dégradée.

  • Séries temporelles de trafic par port
  • Alertes de port fantôme, flapping et lien dégradé
  • Panneau avant du switch
Disponible

WireGuard

Liste de peers, derniers handshakes, transfert par peer et tunnel dessiné sur la carte de topologie, avec chaque peer étiqueté par son vrai nom issu de la configuration UCI.

  • État de chaque peer et temps depuis le dernier handshake
  • RX/TX cumulé par tunnel
  • Visualisation du tunnel d’Internet jusqu’à la gateway
Disponible

AdGuard Home

Statistiques de requêtes DNS, part bloquée, domaines les plus bloqués et quels clients utilisent le filtre, à côté du reste du réseau.

  • Requêtes et blocages sur 24 h
  • Top des domaines bloqués
  • Latence moyenne du DNS
Disponible

Alertes

Six catégories avec une urgence par catégorie : température, firmware disponible, nouvel appareil, handshake WireGuard, port réseau et événements de roaming. Fil dans la cloche et notifications Web Push.

  • Fil persistant avec résolution automatique
  • Web Push natif via VAPID, sans tiers
  • Suggestions d’action sur les alertes de port
Disponible

Rapports

Rapports de disponibilité quotidiens, hebdomadaires et mensuels par routeur et par appareil. En développement : trafic, activité, résumé des alertes et export.

  • Disponibilité par routeur et appareil
  • Vues quotidienne, hebdomadaire et mensuelle
  • Export CSV/JSON prévu
Partiel / en développement

Réglages

Une seule colonne avec un index fixe qui vous suit au défilement : utilisateurs et rôles, langue par utilisateur, apparence avec aperçus réels, seuils de données, routeurs, services et intégrations, orchestration et mises à jour automatiques.

  • Utilisateurs avec rôles et bcrypt
  • Test de débit WAN réel, exécuté depuis le serveur
  • Mise à jour automatique avec changelog
Disponible

Mode démo

DEMO_MODE=1 lance un réseau d’exemple complet de 67 appareils sans routeurs réels. Utile pour tester l’interface avant d’installer.

  • Jeu de données canonique de 67 appareils
  • Même interface qu’en mode réel
  • Démo publique en ligne sur demo.netpulse.cloudless.club
Disponible

App LuCI

luci-app-netpulse intègre l’état de l’agent dans l’interface web d’OpenWrt : procd, UCI, journaux, redémarrage et lien vers l’app principale.

  • État de l’agent dans LuCI
  • Redémarrage et réarmement de l’agent
  • Paquet .ipk/.apk à chaque release
Disponible

Mode on-box

Si vous n’avez pas de machine en plus, le serveur peut tourner sur le routeur OpenWrt lui-même, avec config UCI, pinning TLS et appairage local.

  • Binaire statique pour routeurs compatibles
  • Config UCI native
  • Certificat auto-signé avec SPKI pinning
  • HTTPS optionnel pour l’UI : vos certificats ou auto-signé
Disponible

Assistant IA (MCP)

Un serveur MCP intégré sur /mcp : votre assistant IA interroge l’état de la flotte, les appareils, les alertes et la topologie en HTTP avec un token d’API. Outils en lecture seule sur le dernier sondage.

  • Flotte, santé par routeur, appareils, peers WireGuard, AdGuard, topologie et alertes
  • Tokens d’API uniquement (jamais le cookie de session), avec rate limit
  • Chaque appel d’outil est journalisé pour audit
Disponible

Baie physique

Dessinez votre baie 19 pouces, placez routeurs, switches et serveurs par unité U, et laissez NetPulse proposer le câblage à partir de la topologie détectée, uplinks entre routeurs compris. Aperçu très précoce.

  • Baies et montages avec hauteur U réelle et proportions 19 pouces
  • Câblage proposé depuis le FDB : les câbles importés sont marqués comme détectés
  • Désactivé par défaut : à activer dans Réglages, Labs
Labs (expérimental)

NetPulse et Home Assistant

NetPulse publie l’état de la flotte sur un broker MQTT et Home Assistant le découvre seul : il crée les appareils et leurs entités sans que vous définissiez quoi que ce soit à la main. Tout se passe sur votre réseau local.

  • L’installation entière
  • Chaque routeur, séparément
  • Contrôler le routeur depuis Home Assistant
Disponible Home Assistant
Décisions techniques

Pourquoi c’est fait ainsi

NetPulse n’est pas un produit marketing : c’est un outil personnel construit pour résoudre de vrais problèmes. Voici les décisions qui suscitent le plus de questions.

Pourquoi OpenWrt / GL.iNet ?

NetPulse est né d’un réseau domestique avec quatre routeurs : un GL.iNet Flint 2 comme gateway et trois Xiaomi AX6 d’occasion. OpenWrt permet de flasher, d’inspecter et de contrôler le matériel. Sans cela, impossible de lire la FDB, iwinfo ou les événements iw qui alimentent l’app.

Pourquoi Go + SQLite embarquée ?

Un seul binaire statique avec CGO désactivé. Pas de toolchain C nécessaire sur la cible, mises à jour par échange atomique, et utilisateurs, sessions et séries temporelles stockés dans un SQLite local avec WAL. modernc.org/sqlite le rend totalement statique.

Pourquoi le sondage est-il en lecture seule ?

Le serveur génère sa propre paire de clés ed25519 et vous autorisez la clé publique sur chaque routeur. À partir de là, le sondage ne fait que lire : ubus, /proc, iwinfo, bridge fdb, wg show. Les actions qui écrivent (réserver une IP, bloquer un appareil, orchestrer des services, flasher un firmware) sont toujours explicites, déclenchées par un admin et appliquées avec un instantané et un retour arrière automatique.

Pourquoi systemd et pas Docker ?

NetPulse supervise un réseau ; il n’a pas besoin d’un conteneur pour ça. Un service systemd cloisonné avec un fichier d’unité simple, des journaux journald et un redémarrage automatique est plus léger et plus simple à opérer sur un petit LXC ou une petite VM.

Pourquoi PWA + SSE ?

L’interface est une SPA React avec Vite et Tailwind qui s’installe comme PWA. Le backend envoie des événements en direct par SSE toutes les ~5 s. Pas de polling constant ni de WebSocket : SSE est unidirectionnel, se reconnecte seul et fonctionne bien derrière des proxys domestiques.

Pourquoi de DAWN à usteer ?

Nous avons commencé avec DAWN pour le steering WiFi parce que c’était l’option la plus visible dans la communauté OpenWrt. En réseaux réels, nous avons vu qu’il pouvait refuser des authentifications en chaîne, expulser des clients de façon inattendue et garder des bugs non résolus dans le modèle peer-to-peer. usteer est le démon officiel d’OpenWrt, avec des fonctions équivalentes et un modèle plus stable. La migration vers usteer est en cours et conserve la même visibilité du roaming.

Ce que NetPulse n’est pas

Il est important d’être honnête sur le périmètre. NetPulse ne prétend pas être :

  • Un NMS d’entreprise comme Zabbix, LibreNMS ou PRTG. Il ne monte pas à des milliers de nœuds ni ne prend en charge des milliers de MIBs SNMP.
  • Une solution dans le cloud. Pas de télémétrie, pas de tableaux de bord centralisés ni d’apps mobiles natives.
  • Un outil de configuration automatique de masse. L’orchestration existe, mais elle est opt-in et par plan.
  • Une solution universelle pour n’importe quel routeur. Il est testé sur OpenWrt / GL.iNet ; d’autres firmwares auraient besoin d’adaptation.
Apparence
Thème