114 lines
5.0 KiB
Markdown
114 lines
5.0 KiB
Markdown
---
|
|
title: Gathio
|
|
created: 2026-06-07
|
|
updated: 2026-06-07
|
|
type: app
|
|
tags: [catalogue, activitypub-fediverse, evenements, planning, php, sqlite, fediverse]
|
|
confidence: medium
|
|
contested: false
|
|
sources: [https://selfh.st/apps/?tag=activitypub-fediverse, https://gathio.org/, https://github.com/lowercasename/gathio]
|
|
---
|
|
|
|
# 📅 Gathio
|
|
|
|
> **L'outil minimaliste de planification d'événements** : créez et partagez des événements en quelques clics, avec export iCal et publication ActivityPub. Idéal pour un groupe d'amis, un collectif, une asso.
|
|
|
|
| Métadonnée | Valeur |
|
|
| :--- | :--- |
|
|
| **Site web** | [https://gathio.org](https://gathio.org) |
|
|
| **GitHub** | [https://github.com/lowercasename/gathio](https://github.com/lowercasename/gathio) |
|
|
| **License** | AGPL-3.0 |
|
|
| **Langage principal** | PHP, SQLite |
|
|
| **Étoiles GitHub** | 59 ⭐ |
|
|
| **Dernière MAJ** | 2026-04 |
|
|
| **Catégorie** | [[cat-activitypub-fediverse]] |
|
|
|
|
## Description
|
|
|
|
Gathio est l'anti-Framapad de l'événementiel : une **page web unique, légère, jetable**, sur laquelle vous décrivez un événement (titre, date, lieu ou lien visio, description, image de couverture) et vous récoltez les inscriptions. **Pas de compte utilisateur** : les invités indiquent juste leur nom (et éventuellement email) pour s'inscrire.
|
|
|
|
L'originalité fediverse : un événement Gathio est **publié en ActivityPub** sous forme d'un `Event` (`type: Event`). Vos contacts Mastodon peuvent donc **répondre** directement à l'invitation depuis leur instance, et leur réponse (`Accept` / `Reject` / `Tentative`) revient sur Gathio et met à jour la liste des inscrits. L'événement apparaît aussi dans la timeline de leurs followers, ce qui fait office de promotion organique.
|
|
|
|
L'autre fonctionnalité clé est l'**export iCal/ICS** : chaque événement a une URL `.ics` qu'on peut ajouter à Google Calendar, Apple Calendar, Thunderbird, etc. La **suppression automatique** (optionnelle) des événements passés après N jours permet d'utiliser Gathio comme un service « d'auto-nettoyage ».
|
|
|
|
**Points forts** : pas de base de données externe (SQLite local), déploiement trivial, RGPD-friendly (peu de données collectées), multilingue, fediverse-first.
|
|
|
|
**Points faibles** : pas de gestion de **lieux récurrents** ni d'agenda partagé, pas de groupes / communautés au sens Mastodon, les inscriptions ne sont pas confirmées par email par défaut.
|
|
|
|
## Installation
|
|
|
|
### Via Docker (recommandé)
|
|
|
|
Gathio n'a pas d'image officielle Docker Hub, on utilise l'image PHP officielle en buildant l'app.
|
|
|
|
```yaml
|
|
# docker-compose.yml
|
|
services:
|
|
gathio:
|
|
image: ghcr.io/gathio/gathio:latest
|
|
container_name: gathio
|
|
restart: unless-stopped
|
|
ports:
|
|
- "8080:80"
|
|
volumes:
|
|
- gathio_data:/var/www/html/db
|
|
environment:
|
|
GATHIO_TITLE: "Mon instance Gathio"
|
|
GATHIO_URL: "https://events.example.com"
|
|
|
|
volumes:
|
|
gathio_data:
|
|
```
|
|
|
|
### Installation manuelle
|
|
|
|
1. Cloner le dépôt : `git clone https://github.com/lowercasename/gathio.git`
|
|
2. Copier `config/config.js.sample` vers `config/config.js` et éditer
|
|
3. Servir le répertoire via Apache/Nginx (PHP 8+)
|
|
4. Le fichier SQLite sera créé automatiquement au premier lancement
|
|
5. Configurer les **webhooks** ActivityPub (URL de l'instance + clé privée)
|
|
|
|
## Configuration
|
|
|
|
1. Éditer `config/config.js` :
|
|
- `GATHIO_URL` : URL publique HTTPS
|
|
- `GATHIO_TITLE` : nom de l'instance
|
|
- `ACTIVITYPUB_PRIVATE_KEY` / `PUBLIC_KEY` : générer avec `openssl`
|
|
2. Créer un **événement test** depuis l'interface admin (mot de passe admin dans la config)
|
|
3. Partager le lien public : les invités s'inscrivent sans compte
|
|
4. Exporter l'événement au format `.ics` pour synchronisation agenda
|
|
|
|
## Alternatives
|
|
|
|
### Open source
|
|
- [[app-mobilizon]] — solution complète de gestion d'événements et de groupes (plus lourd, français, Elixir)
|
|
- [[app-gancio]] — événements fediverse + partie agenda partagé
|
|
- **Framaforms / Framadate** — sondages, pas vraiment événements
|
|
- **Koillection** — collections, pas événements
|
|
- **HumHub** — réseau social, pas spécifique événements
|
|
|
|
### Propriétaires
|
|
- Eventbrite — billetterie centralisée
|
|
- Meetup.com — plateforme communautaire propriétaire
|
|
- Partiful — événements sociaux centralisés
|
|
|
|
## Sécurité
|
|
|
|
- **HTTPS obligatoire** (fédération ActivityPub)
|
|
- **Générer des clés RSA solides** pour ActivityPub
|
|
- **Limiter la taille des descriptions / images** dans la config PHP (upload max)
|
|
- **Sauvegarder** : la BDD SQLite (`db/gathio.sqlite` ou similaire) contient tous les événements et inscriptions
|
|
- **Désactiver les inscriptions** au-delà d'une date (paramètre par événement)
|
|
|
|
## Ressources
|
|
- Site officiel : [gathio.org](https://gathio.org)
|
|
- Démo publique : [gath.io](https://gath.io)
|
|
- Documentation : [github.com/lowercasename/gathio/blob/main/README.md](https://github.com/lowercasename/gathio)
|
|
- Communauté : issues GitHub, peu de canaux de discussion
|
|
|
|
## Pages Liées
|
|
- [[cat-activitypub-fediverse]]
|
|
- [[recettes-docker-compose]]
|
|
- [[app-mobilizon]]
|
|
- [[app-gancio]]
|