Files
2026-06-09 18:40:21 +02:00

4.2 KiB


title: TapMap created: 2026-06-07 updated: 2026-06-07 type: app tags: [catalogue, networking, topology, visualization, typescript, react] confidence: high contested: false sources: [https://selfh.st/apps/?tag=networking, https://github.com/tapmap/tapmap]

TapMap 🗺️

Visualiseur interactif de topologie réseau : cartes SVG dynamiques pour représenter switches, routeurs, APs et leurs liens.

Métadonnée Valeur
Site web https://tapmap.app
GitHub https://github.com/tapmap/tapmap
License MIT
Langage TypeScript (React)
Étoiles 41
Dernière MAJ 2024
Catégorie cat-networking

Description

TapMap est une application web qui permet de dessiner et maintenir une cartographie réseau précise, à la main ou semi-automatiquement. L'idée : remplacer les schémas Visio/Draw.io statiques par une carte interactive hébergée, qui peut afficher en temps réel l'état (up/down) de chaque équipement via des pings ou des sondes SNMP simples.

L'interface est construite sur un éditeur SVG drag-and-drop. On y place des nœuds (routeur, switch, AP, serveur, caméra) avec leurs icônes, on trace les liens (avec annotations de port, VLAN, débit), et on groupe par bâtiment/baie/salle. Une fois la topologie encodée, l'app peut :

  • Vérifier la connectivité : ping périodique de chaque nœud, coloration rouge/vert selon l'état.
  • Exporter : SVG, PNG, JSON pour sauvegarde ou import dans un autre outil.
  • Documenter : notes par nœud (modèle, firmware, IP de management, MAC).
  • API REST : interrogation externe possible depuis d'autres outils d'observabilité.

C'est un excellent complément visuel à app-uptime-kuma ou app-zabbix : là où ces outils montrent des graphes et alertes, TapMap montre le « où » sur le plan physique.

Installation

Docker Compose (recommandé)

services:
  tapmap:
    image: ghcr.io/tapmap/tapmap:latest
    container_name: tapmap
    restart: unless-stopped
    environment:
      - DATABASE_URL=postgres://tapmap:tapmap@db:5432/tapmap
      - JWT_SECRET=changeme-32-chars-random
    depends_on:
      - db
    ports:
      - "8087:3000"
    volumes:
      - ./uploads:/app/uploads
  db:
    image: postgres:16-alpine
    container_name: tapmap-db
    restart: unless-stopped
    environment:
      - POSTGRES_USER=tapmap
      - POSTGRES_PASSWORD=change...ndom
      - POSTGRES_DB=tapmap
    volumes:
      - tapmap-db:/var/lib/postgresql/data

volumes:
  tapmap-db:

Manuelle (Node.js)

git clone https://github.com/tapmap/tapmap.git
cd tapmap
npm install
npm run build
npm run start  # port 3000 par défaut

Configuration

  • Premier lancement : créer un compte admin via l'UI.
  • Définir le fuseau horaire, l'intervalle de ping (défaut 60s), le seuil d'alerte.
  • Importer un fond de plan (image de la salle/baie) comme base de la carte.
  • Configurer les notifications (webhook Ntfy/Discord) optionnelles.

Alternatives

  • Open Source : NetBox (DCIM complet, plus lourd), Node-RED Dashboard (custom mais sans carto auto), draw.io (statique, self-host possible)
  • Propriétaire : Lucidchart, Visio, NetBox (version commerciale), SolarWinds Network Topology Mapper
  • Lié : Nmap pour la découverte automatique (à coupler pour pré-remplir)

Sécurité

  • Authentification : obligatoire, JWT côté backend, changer JWT_SECRET par défaut.
  • HTTPS : obligatoire via reverse-proxy (Traefik, Caddy, NPM).
  • Isolation réseau : si l'app doit pinger des équipements sensibles, l'isoler dans un VLAN de management.
  • Backups : sauvegarder la base Postgres ET les images uploadées (fonds de plan).
  • Mises à jour : suivre les releases, l'app manipule des credentials d'accès réseau.

Ressources

Pages Liées