Description
Movim est une plateforme sociale décentralisée construite sur le protocole XMPP/Jabber, écrite en PHP avec un frontend Preact. Elle combine un blog personnel, des salons de discussion chiffrés (OMEMO/OTR), un lecteur de podcasts, un agrégateur de news, un calendrier, un gestionnaire de fichiers et un annuaire XMPP. Différence vs WordPress + BuddyPress : Movim est nativement fédéré (un compte sur un pod Movim discute avec n'importe quel serveur XMPP/Jabber, Conversations, Dino, etc.) et chiffré de bout en bout. Pour qui: utilisateurs XMPP, défenseurs du web décentralisé, hébergeurs associatifs qui veulent proposer un « Facebook-like éthique » à leur communauté.
Installation
Docker Compose (recommandé)
version: '3.8'
services:
movim:
image: movim/movim:latest
container_name: movim
restart: unless-stopped
ports:
- "8080:80"
environment:
- MOVIM_DOMAIN=movim.example.com
- [email protected]
- MOVIM_SQL_HOST=postgres
- MOVIM_SQL_PORT=5432
- MOVIM_SQL_USER=movim
- MOVIM_SQL_PASSWORD=*** - MOVIM_SQL_DB=movim
depends_on:
- postgres
labels:
- "traefik.enable=true"
- "traefik.http.routers.movim.rule=Host(`movim.example.com`)"
- "traefik.http.routers.movim.entrypoints=websecure"
- "traefik.http.routers.movim.tls.certresolver=letsencrypt"
postgres:
image: postgres:16-alpine
container_name: movim-db
restart: unless-stopped
environment:
- POSTGRES_USER=movim
- POSTGRES_PASSWORD=*** - POSTGRES_DB=movim
volumes:
- movim-db:/var/lib/postgresql/data
volumes:
movim-db:
XMPP externe (recommandé pour la fédération)
Movim se connecte à un serveur XMPP existant (Prosody, ejabberd) — un XMPP complet (ejabberd ou Prosody) doit tourner sur la même machine pour profiter de la fédération.
Alternatives
Open Source
- [[app-ghost]] — Blog pur, pas de social
- [[app-wordpress]] — CMS généraliste
- Jami — Voix/vidéo décentralisé
- Matrix / Element — Fédération moderne
- Diaspora — Réseau social décentralisé
Propriétaires
- Facebook — Réseau centralisé
- Tumblr — Blog + social (racheté par Automattic)
- Medium — Blog SaaS
Sécurité
- Chiffrement E2E : OMEMO (Double Ratchet) sur les chats 1:1 et salons.
- Authentification : XMPP SASL (PLAIN, SCRAM-SHA-1, EXTERNAL).
- Pubsub : PEP/XEP-0163 pour les microblog et articles.
- HTTPS : obligatoire pour l'UI web.
- CSP stricte : nonce-based, anti-XSS.
