Initial vault setup
This commit is contained in:
@@ -0,0 +1,115 @@
|
||||
---
|
||||
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
|
||||
Reference in New Issue
Block a user