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_SECRETpar 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
- selfh.st — Networking
- GitHub tapmap/tapmap
- Demo live (si disponible)
Pages Liées
- cat-networking
- recettes-docker-compose
- app-uptime-kuma — monitoring de disponibilité
- app-netbox — DCIM complet