145 lines
5.1 KiB
Markdown
145 lines
5.1 KiB
Markdown
---
|
|
title: Kaneo
|
|
created: 2026-06-07
|
|
updated: 2026-06-07
|
|
type: app
|
|
tags: [catalogue, kanban, typescript, react, nestjs, postgresql, moderne, agpl, trello-alternative]
|
|
confidence: high
|
|
contested: false
|
|
sources: [https://selfh.st/apps/?tag=Kanban, https://github.com/usekaneo/kaneo, https://kaneo.app/]
|
|
---
|
|
|
|
# ⚡ Kaneo
|
|
|
|
> **Le Kanban moderne en TypeScript full-stack** — NestJS/React, PostgreSQL, interface épurée, rapide et conçu pour les équipes qui veulent du Trello-like sans la dette technique.
|
|
|
|
## 📋 Informations Générales
|
|
|
|
| Champ | Valeur |
|
|
| :--- | :--- |
|
|
| **Site web** | [kaneo.app](https://kaneo.app/) |
|
|
| **GitHub** | [usekaneo/kaneo](https://github.com/usekaneo/kaneo) |
|
|
| **Licence** | AGPL-3.0 |
|
|
| **Langage** | TypeScript (NestJS + React) |
|
|
| **Étoiles GitHub** | 334 ⭐ |
|
|
| **Dernière MAJ** | 2026-05-25 |
|
|
| **Catégorie** | [[cat-kanban\|Kanban]] |
|
|
|
|
## 📝 Description
|
|
|
|
**Kaneo** est un Kanban moderne 100 % **TypeScript** : backend **NestJS** (le framework Node.js/Express d'Angular) et frontend **React** (avec Vite, Tailwind, shadcn/ui). Le projet vise une expérience **proche de Trello/Linear** avec une stack technique **moderne, typée et testée**. La base de données est **PostgreSQL** et l'API est documentée OpenAPI/Swagger.
|
|
|
|
Fonctionnalités : **tableaux, colonnes, cartes, membres, étiquettes, checklists, dates d'échéance, commentaires, activités récentes, recherche globale, mode sombre/clair**, et **API REST complète**. Kaneo met l'accent sur la **performance** (frontend réactif avec optimistic updates) et l'**ergonomie** (drag-and-drop natif HTML5, raccourcis clavier).
|
|
|
|
Comparé à [[app-planka]] (qui utilise aussi React mais avec Redux et SQLite/Postgres), Kaneo pousse plus loin la **typage strict TypeScript** et la **séparation backend/frontend monorepo** (`apps/web`, `apps/server`). Pour des développeurs qui veulent pouvoir **étendre ou auditer** le code, c'est un bon choix. Voir aussi [[app-kanba]] (React plus simple) et [[app-ticky]] (TypeScript minimal).
|
|
|
|
## 🚀 Installation
|
|
|
|
### Option recommandée : Docker Compose
|
|
|
|
```yaml
|
|
services:
|
|
kaneo-app:
|
|
image: ghcr.io/usekaneo/kaneo-app:latest
|
|
container_name: kaneo-app
|
|
restart: unless-stopped
|
|
ports:
|
|
- "5173:5173"
|
|
environment:
|
|
VITE_API_URL: "http://kaneo-api:1337"
|
|
depends_on:
|
|
- kaneo-api
|
|
|
|
kaneo-api:
|
|
image: ghcr.io/usekaneo/kaneo-api:latest
|
|
container_name: kaneo-api
|
|
restart: unless-stopped
|
|
ports:
|
|
- "1337:1337"
|
|
environment:
|
|
DATABASE_URL: "postgresql://kaneo:***@db/kaneo"
|
|
JWT_SECRET: "changez-cle-jwt-32-chars-minimum"
|
|
PORT: "1337"
|
|
NODE_ENV: "production"
|
|
depends_on:
|
|
- db
|
|
|
|
db:
|
|
image: postgres:16-alpine
|
|
container_name: kaneo-db
|
|
restart: unless-stopped
|
|
environment:
|
|
POSTGRES_USER: kaneo
|
|
POSTGRES_PASSWORD: kaneo
|
|
POSTGRES_DB: kaneo
|
|
volumes:
|
|
- kaneo-pg:/var/lib/postgresql/data
|
|
|
|
volumes:
|
|
kaneo-pg:
|
|
```
|
|
|
|
### Installation manuelle (monorepo)
|
|
|
|
```bash
|
|
git clone https://github.com/usekaneo/kaneo.git
|
|
cd kaneo
|
|
pnpm install
|
|
pnpm --filter @kaneo/api dev
|
|
pnpm --filter @kaneo/web dev
|
|
```
|
|
|
|
## ⚙️ Configuration Initiale
|
|
|
|
1. Démarrer la stack, ouvrir `http://localhost:5173`.
|
|
2. Créer le compte administrateur (premier compte = admin).
|
|
3. Configurer le **reverse-proxy HTTPS** (Caddy, Traefik) en pointant vers `:5173`.
|
|
4. Définir un `JWT_SECRET` robuste (32+ caractères).
|
|
5. Activer le **SMTP** (variables d'environnement `SMTP_*`) pour notifications.
|
|
6. Configurer l'**API publique** (`PORT: 1337`) derrière le reverse-proxy si besoin d'intégrations.
|
|
7. Sauvegardes : dump PostgreSQL + volume.
|
|
|
|
## 🔄 Alternatives
|
|
|
|
### Open Source
|
|
- [[app-planka]] — Kanban React/Redux mature
|
|
- [[app-wekan]] — Kanban Node.js complet
|
|
- [[app-kanboard]] — Kanban PHP léger
|
|
- [[app-vikunja]] — Tasks multi-vues
|
|
- [[app-kanba]] — Kanban React plus simple
|
|
- [[app-ticky]] — Kanban TypeScript minimal
|
|
- **Linear (version self)** — pas vraiment dispo, mais l'ergonomie est visée
|
|
|
|
### Propriétaires
|
|
- **Trello** (Atlassian)
|
|
- **Linear** (propriétaire, ultra-rapide)
|
|
- **Notion Kanban**
|
|
- **Asana**
|
|
- **ClickUp**
|
|
- **Monday.com**
|
|
|
|
## 🔐 Sécurité
|
|
|
|
- ✅ Authentification JWT avec `JWT_SECRET` configurable
|
|
- ✅ API NestJS suit les bonnes pratiques OWASP (rate-limit, helmet, validation)
|
|
- ⚠️ 2FA et OAuth2 : vérifier la roadmap (peut être encore en dev)
|
|
- ✅ Exiger HTTPS via reverse-proxy
|
|
- ✅ Bcrypt pour les mots de passe (natif NestJS)
|
|
- ✅ Maintenir les images Docker à jour (projet actif)
|
|
- ✅ Isolation réseau du conteneur API
|
|
|
|
## 📚 Ressources
|
|
|
|
- [Site officiel Kaneo](https://kaneo.app/)
|
|
- [Documentation Kaneo](https://kaneo.app/docs)
|
|
- [GitHub usekaneo/kaneo](https://github.com/usekaneo/kaneo)
|
|
- [Démo live](https://demo.kaneo.app/)
|
|
- [Roadmap publique](https://github.com/usekaneo/kaneo/projects)
|
|
|
|
## Pages Liées
|
|
- [[cat-kanban]] — Catégorie Kanban
|
|
- [[recettes-docker-compose]] — Templates Docker Compose
|
|
- [[app-planka]] — Alternative React/PostgreSQL mature
|
|
- [[app-kanba]] — Alternative React plus simple
|
|
- [[app-ticky]] — Alternative TypeScript minimal
|