149 lines
6.3 KiB
Markdown
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
|