143 lines
4.8 KiB
Markdown
143 lines
4.8 KiB
Markdown
---
|
|
title: Kanba
|
|
created: 2026-06-07
|
|
updated: 2026-06-07
|
|
type: app
|
|
tags: [catalogue, kanban, react, nodejs, mongodb, minimaliste, trello-alternative, mit]
|
|
confidence: high
|
|
contested: false
|
|
sources: [https://selfh.st/apps/?tag=Kanban, https://github.com/kanba/kanba, https://kanba.io/]
|
|
---
|
|
|
|
# 🪞 Kanba
|
|
|
|
> **Le Kanban React minimaliste** — frontend React moderne, backend Node.js/Express, MongoDB, idéal pour des déploiements légers en équipe ou en solo.
|
|
|
|
## 📋 Informations Générales
|
|
|
|
| Champ | Valeur |
|
|
| :--- | :--- |
|
|
| **Site web** | [kanba.io](https://kanba.io/) |
|
|
| **GitHub** | [kanba/kanba](https://github.com/kanba/kanba) |
|
|
| **Licence** | MIT |
|
|
| **Langage** | JavaScript (React + Node.js) |
|
|
| **Étoiles GitHub** | 91 ⭐ |
|
|
| **Dernière MAJ** | 2026-05-19 |
|
|
| **Catégorie** | [[cat-kanban\|Kanban]] |
|
|
|
|
## 📝 Description
|
|
|
|
**Kanba** est un Kanban **open source et minimaliste** conçu pour les développeurs qui veulent un **clone Trello simple, rapide et moderne**, sans la lourdeur d'un [[app-wekan]] ou la complexité d'un [[app-openproject]]. La stack est volontairement **classique** : **React** (Create React App) pour le front, **Node.js/Express** pour le back, **MongoDB** pour la persistance.
|
|
|
|
L'interface reproduit le strict nécessaire : **tableaux, listes, cartes, drag-and-drop, étiquettes, membres, descriptions Markdown, dates d'échéance**. Le projet mise sur la **lisibilité du code** (idéal pour des étudiants, contributions ou forks) et sur la **facilité d'extension** (l'API REST est simple et bien organisée).
|
|
|
|
Pour un **usage personnel ou une petite équipe** (< 10 personnes), Kanba est un excellent choix : la stack est familière (Node + React + Mongo), les builds Docker sont légers (~150 Mo), et le code reste **lisible en moins de 30 minutes** de lecture. Pour des besoins plus poussés (multi-tenants, API riche, marketplace de plugins), mieux vaut se tourner vers [[app-planka]] ou [[app-kaneo]].
|
|
|
|
## 🚀 Installation
|
|
|
|
### Option recommandée : Docker Compose
|
|
|
|
```yaml
|
|
services:
|
|
kanba-app:
|
|
image: ghcr.io/kanba/kanba-app:latest
|
|
container_name: kanba-app
|
|
restart: unless-stopped
|
|
ports:
|
|
- "3000:3000"
|
|
environment:
|
|
REACT_APP_API_URL: "http://kanba-api:4000"
|
|
depends_on:
|
|
- kanba-api
|
|
|
|
kanba-api:
|
|
image: ghcr.io/kanba/kanba-api:latest
|
|
container_name: kanba-api
|
|
restart: unless-stopped
|
|
ports:
|
|
- "4000:4000"
|
|
environment:
|
|
MONGO_URI: "mongodb://mongo:27017/kanba"
|
|
JWT_SECRET: "changez-cle-jwt-32-chars-minimum"
|
|
PORT: "4000"
|
|
NODE_ENV: "production"
|
|
depends_on:
|
|
- mongo
|
|
|
|
mongo:
|
|
image: mongo:6
|
|
container_name: kanba-mongo
|
|
restart: unless-stopped
|
|
command: ["--bind_ip_all"]
|
|
volumes:
|
|
- kanba-db:/data/db
|
|
|
|
volumes:
|
|
kanba-db:
|
|
```
|
|
|
|
### Installation manuelle (développement)
|
|
|
|
```bash
|
|
git clone https://github.com/kanba/kanba.git
|
|
cd kanba
|
|
# API
|
|
cd server && npm install && npm start
|
|
# Front (autre terminal)
|
|
cd client && npm install && npm start
|
|
```
|
|
|
|
## ⚙️ Configuration Initiale
|
|
|
|
1. Démarrer la stack, ouvrir `http://localhost:3000`.
|
|
2. Créer le compte administrateur (premier compte = admin).
|
|
3. Définir un `JWT_SECRET` robuste (variable d'env du service API).
|
|
4. Brancher le **reverse-proxy HTTPS** (Caddy, Nginx) en pointant vers `:3000`.
|
|
5. Configurer le **CORS** correctement pour autoriser le domaine public.
|
|
6. Activer **Watch** sur le dépôt GitHub (release cycle court).
|
|
7. Sauvegardes : dump MongoDB + volume `kanba-db`.
|
|
|
|
## 🔄 Alternatives
|
|
|
|
### Open Source
|
|
- [[app-planka]] — Kanban React/Redux mature
|
|
- [[app-wekan]] — Kanban Node.js complet
|
|
- [[app-kanboard]] — Kanban PHP léger
|
|
- [[app-kaneo]] — Kanban TypeScript moderne
|
|
- [[app-ticky]] — Kanban TypeScript minimal
|
|
- [[app-kan]] — Kanban Go
|
|
- [[app-vikunja]] — Tasks + Kanban
|
|
|
|
### Propriétaires
|
|
- **Trello** (Atlassian)
|
|
- **Asana**
|
|
- **Notion Kanban**
|
|
- **ClickUp**
|
|
- **Linear**
|
|
- **Monday.com**
|
|
|
|
## 🔐 Sécurité
|
|
|
|
- ✅ Authentification JWT avec `JWT_SECRET`
|
|
- ✅ Bcrypt pour les mots de passe
|
|
- ⚠️ Pas de 2FA natif : protéger par reverse-proxy + VPN ou 2FA global (Authelia/Authentik)
|
|
- ⚠️ CORS à configurer finement pour éviter les abus
|
|
- ✅ Exiger HTTPS via reverse-proxy
|
|
- ✅ Variables d'environnement pour tous les secrets (jamais de valeurs en dur)
|
|
- ✅ Maintenir les images Docker à jour (projet jeune = CVE fréquentes sur Node.js)
|
|
|
|
## 📚 Ressources
|
|
|
|
- [Site officiel Kanba](https://kanba.io/)
|
|
- [GitHub kanba/kanba](https://github.com/kanba/kanba)
|
|
- [Documentation API](https://github.com/kanba/kanba/wiki/API)
|
|
- [Démo live](https://demo.kanba.io/)
|
|
- [Roadmap](https://github.com/kanba/kanba/projects)
|
|
|
|
## Pages Liées
|
|
- [[cat-kanban]] — Catégorie Kanban
|
|
- [[recettes-docker-compose]] — Templates Docker Compose
|
|
- [[app-planka]] — Alternative React mature
|
|
- [[app-kaneo]] — Alternative TypeScript
|
|
- [[app-ticky]] — Alternative TypeScript minimal
|