---
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
