Initial vault setup

This commit is contained in:
2026-06-09 18:40:21 +02:00
commit bda02d587f
3692 changed files with 402457 additions and 0 deletions
@@ -0,0 +1,112 @@
---
title: FluidCalendar
created: 2026-06-07
updated: 2026-06-07
type: app
tags: [catalogue, calendar, typescript, nextjs, tasks, modern-ui]
confidence: high
contested: false
sources: [https://selfh.st/apps/?tag=calendar, https://github.com/dotnetfactory/fluid-calendar]
---
# FluidCalendar 📅
> Interface calendrier moderne (Next.js + TypeScript) avec vue agenda, tâches, intégration CalDAV et design soigné façon Apple Calendar.
| Métadonnée | Valeur |
| :--- | :--- |
| **Site web** | https://fluid-calendar.app |
| **GitHub** | https://github.com/dotnetfactory/fluid-calendar |
| **License** | MIT |
| **Langage** | TypeScript (Next.js) |
| **Étoiles** | 63 ⭐ |
| **Dernière MAJ** | 2025 |
| **Catégorie** | [[cat-calendar]] |
## Description
**FluidCalendar** est une application web élégante pensée comme une **alternative moderne aux interfaces vieillissantes** (Radicale web UI, generic CalDAV clients). Le projet mise tout sur l'expérience utilisateur : typographie soignée, animations fluides, vues multiples (jour, semaine, mois, agenda), drag-and-drop pour déplacer des événements, et un mode sombre bien calibré.
Côté fonctionnalités, FluidCalendar supporte les **comptes CalDAV** (lecture/écriture sur un serveur [[app-radicale]], [[app-baikal]] ou Nextcloud existant), la **gestion de tâches** intégrée avec deadlines et priorités, et la **synchronisation multi-comptes** (superposition de plusieurs calendriers en couleurs). Une API REST permet l'intégration avec des outils tiers.
L'architecture est **Next.js 14** avec App Router, base **PostgreSQL** ou **SQLite** au choix, authentification par magic-link ou credentials. Le déploiement se fait classiquement via Docker ou en one-click sur Vercel. C'est probablement l'UI calendrier la plus « design » du moment dans l'écosystème self-hosted.
## Installation
### Docker Compose (recommandé)
```yaml
services:
fluidcalendar:
image: ghcr.io/dotnetfactory/fluid-calendar:latest
container_name: fluidcalendar
restart: unless-stopped
environment:
- DATABASE_URL=postgresql://fluid:***@db:5432/fluid
- NEXTAUTH_SECRET=change...ndom
- NEXTAUTH_URL=https://cal.example.com
depends_on:
- db
ports:
- "3000:3000"
db:
image: postgres:16-alpine
container_name: fluid-db
restart: unless-stopped
environment:
- POSTGRES_USER=fluid
- POSTGRES_PASSWORD=changeme
- POSTGRES_DB=fluid
volumes:
- fluid-db:/var/lib/postgresql/data
volumes:
fluid-db:
```
### Manuelle (Node.js)
```bash
git clone https://github.com/dotnetfactory/fluid-calendar.git
cd fluid-calendar
npm install
cp .env.example .env # éditer DATABASE_URL, NEXTAUTH_SECRET
npm run build
npm start
```
## Configuration
- Premier lancement : créer le compte admin via l'UI.
- Ajouter des **comptes CalDAV** : URL du serveur (Radicale, Baïkal, Nextcloud), identifiants, intervalle de synchro.
- Configurer les **calendriers visibles** par défaut et leurs couleurs.
- Activer les notifications (email ou web-push) pour les événements à venir.
- Optionnel : intégrer un serveur SMTP pour les invitations.
## Alternatives
- **Open Source** : [[app-radicale]] (serveur CalDAV minimal, UI austère), [Baïkal](https://github.com/sabre-io/Baikal) (serveur CalDAV/CardDAV), [Nextcloud Calendar](https://nextcloud.com/calendar/) (intégré à Nextcloud), [DAVx⁵](https://www.davx5.com/) (client Android CalDAV)
- **UI moderne alternative** : [Cal.com](https://github.com/calcom/cal.com) (prise de RDV, plus booking-oriented), [Easy!Appointments](https://github.com/alextselegidis/easyappointments) (PHP, prise de RDV)
- **Propriétaire** : Google Calendar, Apple iCloud Calendar, Outlook.com (excellent mais fermés)
- **Mobile** : [ICSx⁵](https://icsx5.bitfire.at/) (Android open source pour CalDAV)
## Sécurité
- **NEXTAUTH_SECRET** : obligatoire, doit être long et aléatoire (`openssl rand -hex 32`).
- **HTTPS** : indispensable (magic-links d'auth dans les emails).
- **Reverse-proxy** : Caddy/Traefik/Nginx avec HSTS, headers de sécurité.
- **DB credentials** : variables d'environnement, jamais en clair.
- **Backups** : exporter régulièrement la base Postgres (qui contient les comptes et préférences).
## Ressources
- [selfh.st — Calendar](https://selfh.st/apps/?tag=calendar)
- [GitHub dotnetfactory/fluid-calendar](https://github.com/dotnetfactory/fluid-calendar)
- [Demo live](https://demo.fluid-calendar.app) (si disponible)
## Pages Liées
- [[cat-calendar]]
- [[recettes-docker-compose]]
- [[app-radicale]] — serveur CalDAV compatible
- [[app-baikal]] — alternative CalDAV