Files
wiki/Catalogue-Self-Hosted/apps/app-whodb.md
T
2026-06-09 18:40:21 +02:00

149 lines
6.3 KiB
Markdown

---
title: WhoDB
created: 2026-06-07
updated: 2026-06-07
type: app
tags: [catalogue, database, go, typescript, multi-database, explorateur, moderne, apache]
confidence: high
contested: false
sources: [https://selfh.st/apps/?tag=Database, https://github.com/clidey/whodb]
---
# 🗄️ WhoDB
> **L'explorateur de bases nouvelle génération** : léger (Go + React), rapide, ergonomique. La réponse moderne à phpMyAdmin pour qui veut un outil frais et multi-SGBD.
## 📋 Informations Générales
| Champ | Valeur |
| :--- | :--- |
| **Site web** | [whodb.com](https://whodb.com/) |
| **GitHub** | [clidey/whodb](https://github.com/clidey/whodb) |
| **License** | Apache-2.0 |
| **Langage** | Go (backend) + TypeScript/React (frontend) |
| **Étoiles GitHub** | 4,8k ⭐ |
| **Dernière MAJ** | 2026-05-26 |
| **Catégorie** | [[cat-database\|Database]] |
## 📝 Description
**WhoDB** est un **explorateur de bases de données** qui se veut **léger, rapide et moderne**, à contre-courant des clients SQL historiques souvent lourds ou vieillissants. Le projet est écrit en **Go** côté backend (compilé, binaire unique, faible empreinte mémoire) avec un frontend **React/TypeScript** soigné. C'est une alternative récente (projet jeune, 2023+) qui a rapidement attiré l'attention par sa simplicité de déploiement et son expérience utilisateur fluide.
L'objectif de WhoDB est de proposer l'**essentiel** d'un client SQL — navigation de schémas, exécution de requêtes, visualisation de données — sans la complexité ni le poids des concurrents. Il supporte les SGBD les plus courants : **PostgreSQL, MySQL/MariaDB, SQLite, MongoDB, Redis, ClickHouse**, avec une roadmap active pour élargir la couverture. L'UI est volontairement minimaliste : pas de designers ERD complexes ni de fonctionnalités enterprise, juste ce qu'il faut pour **administrer et explorer** rapidement une base depuis un navigateur.
L'**intégration native avec Ollama** (LLM local) est une particularité notable : WhoDB peut **générer des requêtes SQL à partir de prompts en langage naturel** en s'appuyant sur un modèle local, ce qui en fait un outil pédagogique intéressant pour apprendre SQL. Cette fonctionnalité reste expérimentale mais témoigne de l'ambition "next-gen" du projet.
**Public cible** : **devs solo, petites équipes, homelabs** qui veulent un outil DB simple, rapide, sans usine à gaz.
### Fonctionnalités principales
-**Multi-SGBD** : PostgreSQL, MySQL, MariaDB, SQLite, MongoDB, Redis, ClickHouse
-**Binaire Go léger** : ~20 MB, démarre en <1s, ~50 MB de RAM
-**UI moderne React** : sombre/clair, responsive
-**Éditeur SQL** avec coloration et historique
-**Visualisation de données** en grille
-**Intégration Ollama** : génération SQL via LLM local (expérimental)
-**Pas d'auth** par défaut (à coupler avec Traefik + authelia/Authentik)
-**Docker** natif, image légère (~50 MB)
-**API GraphQL** + REST
## 🚀 Installation
### Option 1 : Docker Compose (recommandé)
```yaml
# docker-compose.yml
version: '3.8'
services:
whodb:
image: clidey/whodb:latest
container_name: whodb
restart: unless-stopped
ports:
- "8080:8080"
environment:
WHODB_HOST: "0.0.0.0"
labels:
- "traefik.enable=true"
- "traefik.http.routers.whodb.rule=Host(`db.example.com`)"
- "traefik.http.routers.whodb.entrypoints=websecure"
- "traefik.http.routers.whodb.tls.certresolver=letsencrypt"
# Authentification recommandée via Authelia/Authentik
- "traefik.http.routers.whodb.middlewares=authelia@docker"
```
### Option 2 : Binaire natif
```bash
# Téléchargement direct (Linux/Mac/Windows)
curl -L https://github.com/clidey/whodb/releases/latest/download/whodb-linux-amd64 -o whodb
chmod +x whodb
./whodb
# Accès à http://localhost:8080
```
## ⚙️ Configuration Initiale
1. **Accéder à l'UI** : `http://IP:8080`
2. **Ajouter une connexion** : bouton "+" > choisir le SGBD > host/port/credentials
3. **Naviguer le schéma** : onglet "Schema" > tables, collections, keyspaces
4. **Exécuter une requête** : onglet "Query" > SQL + Run
5. **Tester l'intégration Ollama** (optionnel) : Settings > Ollama URL > modèle
6. **Coupler avec Authelia** (recommandé) : ajouter le middleware auth dans Traefik
## 🔄 Alternatives
### Open Source
- [[app-dbgate]] — Concurrent direct, plus mature
- [[app-cloudbeaver]] — Plus complet mais plus lourd
- [[app-phpmyadmin]] — Spécialiste MySQL historique
- [[app-adminer]] — PHP mono-fichier
- **Beekeeper Studio** — Desktop multi-SGBD
- **DBeaver CE** — Le poids lourd desktop
### Comparaison WhoDB vs alternatives
| Critère | WhoDB | DbGate | CloudBeaver | Adminer |
| :--- | :--- | :--- | :--- | :--- |
| Langage | **Go** | TypeScript | Java | PHP |
| RAM au repos | ~50 MB | ~80 MB | ~250 MB | ~30 MB |
| Démarrage | <1s | <3s | ~10s | <1s |
| UI moderne | ✅ | ✅ | ✅ | ❌ |
| SGBD supportés | 7 | 10+ | 20+ | 15+ |
| LLM/Ollama | ✅ | ❌ | ❌ | ❌ |
| Auth intégrée | ❌ (via proxy) | Basique | ✅ | ❌ |
| Licence | Apache-2.0 | MIT | Apache | Apache |
**Verdict** : WhoDB est **le choix "moderne et léger"** pour homelab. Pour des besoins enterprise ou un grand nombre de SGBD, DbGate ou CloudBeaver.
### Propriétaires (ce que WhoDB remplace)
- **TablePlus** (freemium, ~100$/an)
- **PopSQL** (cloud, ~200$/an)
- **Sequel Pro** (macOS, plus maintenu)
- **DataGrip** (JetBrains, ~200€/an)
- **Navicat**
## 🔐 Sécurité
- **🔐 WhoDB n'a pas d'auth intégrée** : **obligatoire** de coupler avec Traefik + Authelia ou Authentik, ou de mettre derrière un VPN
- **🔒 HTTPS obligatoire** via [[app-traefik]] : c'est un accès direct à vos bases
- **🛡️ IP allowlist** recommandé : restreindre l'accès au sous-réseau du VPN ou à quelques IPs de confiance
- **⚠️ Ne pas exposer WhoDB sur Internet sans auth** : aucun login natif, n'importe qui avec l'URL accède à vos bases
## 📚 Ressources
- [Site officiel](https://whodb.com/)
- [Documentation](https://whodb.com/docs)
- [GitHub clidey/whodb](https://github.com/clidey/whodb)
- [Démo en ligne](https://app.whodb.com/)
## Pages Liées
- [[cat-database]] — Catégorie Database
- [[app-traefik]] — Reverse proxy + Authelia recommandés
- [[recettes-docker-compose]] — Intégration stack
- [[securisation-home-lab]] — Protéger un outil admin