--- title: Luna created: 2026-06-07 updated: 2026-06-07 type: app tags: [catalogue, calendar, python, flask, simple, events] confidence: medium contested: false sources: [https://selfh.st/apps/?tag=calendar, https://github.com/lunacalendar/luna] --- # Luna 🌙 > Application calendrier minimaliste en Python/Flask : crĂ©er des Ă©vĂ©nements, partager des liens publics, c'est tout. PensĂ©e pour l'auto-hĂ©bergement lĂ©ger. | MĂ©tadonnĂ©e | Valeur | | :--- | :--- | | **Site web** | https://github.com/lunacalendar/luna | | **GitHub** | https://github.com/lunacalendar/luna | | **License** | MIT | | **Langage** | Python (Flask) | | **Étoiles** | 10 ⭐ | | **DerniĂšre MAJ** | 2023 | | **CatĂ©gorie** | [[cat-calendar]] | ## Description **Luna** est un projet d'application calendrier volontairement **minimaliste**, Ă©crit en Python avec le micro-framework **Flask**. La philosophie est Ă  l'opposĂ© des suites complĂštes type Nextcloud ou des UIs design type FluidCalendar : Luna ne fait qu'une chose, et la fait simplement — **afficher et Ă©diter un calendrier partagĂ©**. FonctionnalitĂ©s : - Vue mensuelle classique avec crĂ©ation/Ă©dition d'Ă©vĂ©nements (titre, dĂ©but, fin, description). - **Liens publics** : chaque calendrier a une URL partageable en lecture seule, utile pour publier un planning d'Ă©vĂ©nements, un calendrier de rĂ©servation, un agenda associatif. - Multi-utilisateurs simples (compte + mot de passe hashĂ© en bcrypt). - **Import/export iCal** (`.ics`), pour interoperer avec n'importe quel client CalDAV ou application mobile. - **i18n** : interface traduite en français, anglais, et quelques autres langues. L'app n'essaie pas de rivaliser avec un [[app-radicale]] cĂŽtĂ© fonctionnalitĂ©s CalDAV : c'est plutĂŽt un **« calendrier clĂ© en main »** pour quelqu'un qui veut juste un agenda web sans configurer un serveur CalDAV. Parfait pour un petit foyer, un club, ou un serveur familial. Le projet est jeune (10 Ă©toiles) et peu maintenu rĂ©cemment, Ă  surveiller. ## Installation ### Docker Compose (recommandĂ©) ```yaml services: luna: image: ghcr.io/lunacalendar/luna:latest container_name: luna restart: unless-stopped environment: - SECRET_KEY=*** - DATABASE_URL=sqlite:...data/luna.db - TZ=Europe/Paris - DEFAULT_LANG=fr volumes: - luna-data:/data ports: - "8093:5000" volumes: luna-data: ``` ### Manuelle (Python) ```bash git clone https://github.com/lunacalendar/luna.git cd luna python3 -m venv venv && source venv/bin/activate pip install -r requirements.txt export FLASK_APP=luna flask init-db flask run --host 0.0.0.0 --port 5000 ``` ## Configuration - CrĂ©er le premier compte admin via `flask create-user admin@example.com`. - Configurer la **langue par dĂ©faut** et le **fuseau horaire**. - Activer ou non les inscriptions publiques (Ă  dĂ©sactiver en prod). - DĂ©finir un **thĂšme** (clair, sombre, auto). - Le `SECRET_KEY` Flask est critique : doit ĂȘtre long et unique. ## Alternatives - **Open Source** : [[app-radicale]] (serveur CalDAV complet, plus complexe), [[app-baikal]] (CalDAV/CardDAV), [Nextcloud Calendar](https://nextcloud.com/calendar/) (intĂ©grĂ©, lourd), [Etebase](https://github.com/etesync/etesync-server) (E2E sync) - **Minimaliste** : [icalendar](https://github.com/collective/icalendar) (lib Python, pas une app), [BaĂŻkal](https://github.com/sabre-io/Baikal) (flat-file, ultra-lĂ©ger) - **PropriĂ©taire** : Google Calendar, Fruux (calendrier partagĂ©, fermĂ©) - **Mobile** : n'importe quel client CalDAV (DAVx⁔, Apple Calendar) lit les `.ics` exportĂ©s ## SĂ©curitĂ© - **SECRET_KEY** : obligatoire pour les sessions Flask, `python -c "import secrets; print(secrets.token_hex(32))"`. - **Hash de mot de passe** : bcrypt par dĂ©faut, bon choix. - **HTTPS** : obligatoire, surtout si on active l'inscription. - **Liens publics** : ils sont en lecture seule par dĂ©faut, mais attention Ă  ce qu'on y met (pas d'infos privĂ©es). - **Pas d'E2E** : les Ă©vĂ©nements ne sont pas chiffrĂ©s cĂŽtĂ© serveur. À considĂ©rer pour des donnĂ©es sensibles. - **Projet jeune** : peu de releases, peu de communautĂ©, Ă  surveiller cĂŽtĂ© CVEs. ## Ressources - [selfh.st — Calendar](https://selfh.st/apps/?tag=calendar) - [GitHub lunacalendar/luna](https://github.com/lunacalendar/luna) - [Flask documentation](https://flask.palletsprojects.com/) ## Pages LiĂ©es - [[cat-calendar]] - [[recettes-docker-compose]] - [[app-radicale]] — serveur CalDAV complet (plus puissant)