116 lines
4.2 KiB
Markdown
116 lines
4.2 KiB
Markdown
---
|
|
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é)
|
|
|
|
```yaml
|
|
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)
|
|
|
|
```bash
|
|
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](https://github.com/netbox-community/netbox) (DCIM complet, plus lourd), [Node-RED Dashboard](https://nodered.org/) (custom mais sans carto auto), [draw.io](https://github.com/jgraph/drawio) (statique, self-host possible)
|
|
- **Propriétaire** : Lucidchart, Visio, NetBox (version commerciale), SolarWinds Network Topology Mapper
|
|
- **Lié** : [Nmap](https://nmap.org/) 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
|
|
|
|
- [selfh.st — Networking](https://selfh.st/apps/?tag=networking)
|
|
- [GitHub tapmap/tapmap](https://github.com/tapmap/tapmap)
|
|
- [Demo live](https://demo.tapmap.app) (si disponible)
|
|
|
|
## Pages Liées
|
|
|
|
- [[cat-networking]]
|
|
- [[recettes-docker-compose]]
|
|
- [[app-uptime-kuma]] — monitoring de disponibilité
|
|
- [[app-netbox]] — DCIM complet
|