--- title: Cal.com created: 2026-06-07 updated: 2026-06-07 type: app tags: [catalogue, calendar, scheduling, booking, typescript, saas-alternative] confidence: high contested: false sources: [https://selfh.st/apps/?tag=calendar] --- # 📅 Cal.com > **La référence open source de la prise de rendez-vous en ligne** : scheduling moderne, self-hosted, alternative directe à Calendly et Calendlery. TypeScript/Next.js, base PostgreSQL, écosystème riche. | Métadonnée | Valeur | | :--- | :--- | | **Site web** | [cal.com](https://cal.com/) | | **GitHub** | [calcom/cal.com](https://github.com/calcom/cal.com) | | **License** | AGPL-3.0 (depuis la v2.0, juillet 2023 — auparavant sous licence Elastic) | | **Langage** | TypeScript, Next.js, tRPC, Prisma | | **Étoiles** | 13 911 ⭐ | | **Dernière MAJ** | 2026-05 (v5.x active) | | **Catégorie** | [[cat-calendar]] | ## Description **Cal.com** (anciennement Calendso) est la **référence open source du scheduling / booking en ligne**. Né en 2021 d'un fork des idées de Calendly mais sous licence libre, le projet a explosé jusqu'à devenir la principale alternative self-hostée à Calendly. Il sert à exposer des **créneaux de disponibilité** (rendez-vous, démos, visios, entretiens) que vos contacts réservent eux-mêmes, sans ping-pong d'e-mails. L'**architecture** est moderne : **Next.js + tRPC + Prisma + PostgreSQL**. Le front est en React avec un builder d'« event types » drag-and-drop (durée, tampon, redirections, workflows). Le back gère calendriers externes (Google, Outlook, iCloud, Fastmail via CalDAV), paiements Stripe, webhooks, intégrations Zoom/Google Meet, et — depuis les versions récentes — un **App Store** interne pour étendre la plateforme (HubSpot, Salesforce, Mattermost, etc.). Le mobile (iOS/Android) lit les rendez-vous en quasi temps réel. **Points forts** : AGPL-3.0 **strict** (donc fork = contribution en retour), UI moderne et très propre, écosystème d'intégrations colossal, support CalDAV natif (donc interopérable avec [[app-radicale]], [[app-baikal]], [[app-davical]]), auto-hébergement réalisable sur un petit VPS, application mobile native, API publique complète. La version Cloud officielle (cal.com) reste gratuite jusqu'à 1 utilisateur, ce qui fait de Cal.com un modèle « open core ». **Points faibles** : l'**AGPL-3.0** est parfois vu comme contraignant (les SaaS qui forkent doivent publier leurs modifications — c'est précisément l'intention), **besoin d'une stack lourde** (Node + Postgres + Redis en pratique, Next.js pas trivial à débugger), **migrations Prisma** parfois casse-pieds entre versions majeures, **App Store** partiellement fermé côté self-hosted (certaines apps officielles Cloud-only), le développement est très rapide donc breaking changes fréquents sur les versions `latest`. ## Installation ### Via Docker (méthode officielle) L'équipe fournit une image `calcom/cal.com` et un dépôt `docker-compose` dédié. La stack la plus simple combine l'app, PostgreSQL et un reverse-proxy. ```yaml # docker-compose.yml services: calcom: image: calcom/cal.com:v5.0.0 container_name: calcom restart: unless-stopped ports: - "3000:3000" environment: DATABASE_URL: postgresql://calcom:calcom@db:5432/calcom CALCOM_LICENSE_KEY: "" NEXT_PUBLIC_WEBAPP_URL: https://cal.example.com NEXTAUTH_URL: https://cal.example.com NEXTAUTH_SECRET: changez-moi-en-secret-32-chars EMAIL_FROM: noreply@example.com EMAIL_SERVER_HOST: smtp.example.com EMAIL_SERVER_PORT: 587 EMAIL_SERVER_USER: noreply@example.com EMAIL_SERVER_PASSWORD: smtp-password depends_on: db: condition: service_healthy db: image: postgres:16-alpine container_name: calcom-db restart: unless-stopped environment: POSTGRES_USER: calcom POSTGRES_PASSWORD: calcom POSTGRES_DB: calcom volumes: - ./data:/var/lib/postgresql/data healthcheck: test: ["CMD-SHELL", "pg_isready -U calcom"] interval: 10s timeout: 5s retries: 5 ``` Compléter avec un **reverse-proxy HTTPS** (Traefik, Caddy, Nginx) pour exposer `cal.example.com`. Le `NEXTAUTH_SECRET` doit faire 32+ caractères (`openssl rand -hex 32`). ### Installation manuelle Node.js 20+, Yarn, PostgreSQL 14+, Redis (optionnel pour le cache). Cloner le repo, `yarn install`, configurer `.env` (voir `.env.example`), `yarn prisma migrate deploy`, `yarn build`, `yarn start`. La doc officielle détaille chaque pré-requis OS (Ubuntu, Debian, macOS). ## Configuration 1. **Premier lancement** : créer le compte admin depuis l'UI sur `https://cal.example.com/auth/signup`. 2. **Connecter un calendrier** : `Settings → Calendars` → OAuth Google/Microsoft OU URL CalDAV (Radicale, Baïkal, DAViCal, EteSync). 3. **Créer un Event Type** : `Event Types → New` → durée, disponibilité, lieu (Zoom, Meet, Whereby…), formulaire de questions, buffer time avant/après, redirections post-booking. 4. **Activer les webhooks** : `Settings → Developer → Webhooks` pour notifier Mattermost, N8N, Discord, Gotify à chaque réservation. 5. **Activer Stripe** si prise de paiement (clé API, lien vers compte Stripe). 6. **Workflows** (v4+) : relances par e-mail/SMS, no-show follow-up, reminders. 7. **App Store** (certaines apps) : `Settings → Apps` → installer Zoom, Google Meet, HubSpot, etc. ## Alternatives ### Open Source - [[app-radicale]] — Pas un scheduler, mais Cal.com s'y connecte en CalDAV - [[app-baikal]] — Idem, CalDAV, mais serveur - [[app-sabre-dav]] — Librairie PHP sur laquelle reposent Baïkal et DAViCal - **Easy!Appointments** (PHP) — Scheduler plus simple, sans la profondeur Cal.com - **Nettu Scheduler** (Node) — Scheduler collaboratif plus léger - **Aurora** (ex Soju) — Scheduler open source minimaliste - **LibreBooking** — Multi-ressources (salles, équipements), plus orienté bibliothèques ### Propriétaires (ce que Cal.com remplace) - **Calendly** — Le leader SaaS, freemium, fermé - **Calendlery** (orthographe détournée) — Clone UI Calendly - **Doodle** — Sondages de dates, pas vraiment scheduling - **Microsoft Bookings** — Intégré à Microsoft 365, fermé - **YouCanBookMe** — SaaS, freemium - **Acuity Scheduling** (Squarespace) — Acquis, freemium ## Sécurité - ✅ **AGPL-3.0** : auditable, fork = contribution en retour (c'est l'intention) - ✅ OAuth2 / OIDC supportés, WebAuthn possible - ✅ Rate limiting sur les endpoints publics de booking - ⚠️ **Webhooks** : signer avec un secret, vérifier la signature côté consommateur - ⚠️ **NEXTAUTH_SECRET** : rotatez-le, c'est la clé de voûte - ⚠️ Stack **lourde** (Node + Postgres) : garder Node.js et les deps à jour (CVE régulières) - ⚠️ Migration entre versions : **sauvegarder la DB** avant chaque upgrade majeur - ✅ HTTPS obligatoire derrière reverse-proxy - ⚠️ **Pas d'authentification à 2 facteurs native** dans toutes les versions (vérifier le CHANGELOG) ## Ressources - [Site officiel](https://cal.com/) - [Documentation](https://cal.com/docs) - [Dépôt GitHub](https://github.com/calcom/cal.com) - [Docker Hub](https://hub.docker.com/r/calcom/cal.com) - [selfh.st Calendar](https://selfh.st/apps/?tag=calendar) - [Discourse communauté](https://github.com/calcom/cal.com/discussions) - [YouTube — chaîne officielle](https://www.youtube.com/@calcom) ## Pages Liées - [[cat-calendar]] — Catégorie Calendar (tag 7, 11 apps) - [[app-radicale]] — Serveur CalDAV avec lequel Cal.com s'interface - [[app-baikal]] — Alternative CalDAV à Radicale - [[app-davical]] — Serveur CalDAV entreprise - [[app-etesync]] — Calendrier E2E chiffré compatible - [[app-sabre-dav]] — Librairie CalDAV sous-jacente - [[recettes-docker-compose]] — Templates Docker - [[app-traefik]] — Reverse-proxy HTTPS - [[app-nextcloud]] — Suite collaborative incluant calendrier