---
title: Synapse
created: 2026-06-07
updated: 2026-06-07
type: app
tags: [catalogue, messaging, matrix, federation, python, decentralise, e2e]
confidence: high
contested: false
sources: [https://selfh.st/apps/?tag=Messaging, https://github.com/element-hq/synapse, https://element-hq.github.io/synapse/latest/]
---

# 💬 Synapse

> **Le serveur Matrix de référence**, utilisé par matrix.org, les gouvernements, l'armée française et la plupart des instances Matrix publiques. C'est l'implémentation la plus complète et la plus éprouvée du protocole Matrix.

## 📋 Informations Générales

| Champ | Valeur |
| :--- | :--- |
| **Site web** | [element-hq.com](https://element-hq.com/synapse) |
| **GitHub** | [element-hq/synapse](https://github.com/element-hq/synapse) |
| **Licence** | AGPL-3.0 |
| **Langage** | Python, Twisted |
| **Étoiles GitHub** | 4.3k ⭐ (sur la nouvelle org) |
| **Catégorie** | Messaging (Serveur Matrix) |

## 📝 Description

**Synapse** est l'**implémentation de référence** du protocole **Matrix**, développée par Element (anciennement New Vector / Matrix.org Foundation). C'est un serveur décentralisé de messagerie instantanée qui gère channels, fils de discussion, messages chiffrés, présence, appels voix/vidéo (via WebRTC) et **fédération inter-serveurs**.

La philosophie Matrix est celle d'un **Internet de la messagerie** : chaque organisation, chaque particulier peut déployer son propre serveur, et tous les serveurs Matrix peuvent dialoguer entre eux par fédération. Synapse implémente tout le protocole, y compris les **Messages Asymétriques** (chiffrement E2E) et les **State Events** (états répartis via CRDT-like).

Le client le plus utilisé est **Element** (Web, Desktop, iOS, Android), mais il existe aussi **FluffyChat**, **Nheko** ou **SchildiChat**. C'est la base technique de **Element One**, **Element Call** et de nombreuses offres SaaS (Element Cloud, Beeper, etc.). L'armée française, le gouvernement allemand, l'État de Thuringe l'utilisent pour leur communication souveraine.

## 🚀 Installation

### Option recommandée : Docker Compose

```yaml
services:
  synapse:
    image: matrixdotorg/synapse:latest
    container_name: synapse
    restart: unless-stopped
    volumes:
      - synapse_data:/data
    environment:
      SYNAPSE_SERVER_NAME: matrix.example.com
      SYNAPSE_REPORT_STATS: "no"
    ports:
      - "8008:8008"   # Client + federation
      - "8448:8448"   # Federation (replication)

  db:
    image: postgres:16
    restart: unless-stopped
    environment:
      POSTGRES_DB: synapse
      POSTGRES_USER: synapse
      POSTGRES_PASSWORD: change-me
    volumes:
      - synapse_db:/var/lib/postgresql/data

  redis:
    image: redis:7-alpine
    restart: unless-stopped

volumes:
  synapse_data:
  synapse_db:
```

## ⚙️ Configuration Initiale

1. **Générer la configuration initiale** : `docker run -it --rm -v synapse_data:/data matrixdotorg/synapse:latest generate`.
2. **Configurer PostgreSQL** (passer de SQLite à Postgres dès qu'on sort du test).
3. **DNS** : configurer `matrix.example.com` (A record) et `_matrix._tcp.example.com` (SRV).
4. **Reverse proxy Traefik** avec sous-domaine `matrix.example.com`.
5. **Activation du module workers** en Python si l'instance devient grosse (workers séparés pour la federation, la synchro, etc.).
6. **Serveur de push** : installer [Sygnal](https://github.com/matrix-org/sygnal) pour les notifications push mobiles.

## 🔄 Alternatives

- **Dendrite** — Implémentation en Go, plus performante, en cours de stabilisation
- **Conduit** — Implémentation en Rust, très légère (monothread)
- **Element Cloud** — Synapse managé par Element
- [[app-ergo]] — Pas Matrix, mais autre serveur de messagerie décentralisé (XMPP/IRC)
- [[app-rocket-chat]] — Pas Matrix, mais bridge possible

## 🔐 Sécurité

- ✅ **Chiffrement E2E** bout-en-bout des messages (olm/megolm)
- ✅ Fédération authentifiée par certificats
- ✅ 2FA, OIDC, LDAP, SAML
- ⚠️ Exposer **8008** (client) et **8448** (fédération) sur le reverse proxy
- ⚠️ **Serveur de clés** : la fédération E2E repose sur des serveurs de clés publics, à monitorer
- ⚠️ Sauvegardes PostgreSQL + `synapse_data` (blobs) essentielles

## 📚 Ressources

- [Site officiel](https://element-hq.com/synapse)
- [GitHub element-hq/synapse](https://github.com/element-hq/synapse)
- [Documentation](https://element-hq.github.io/synapse/latest/)
- [Site Matrix](https://matrix.org/)

## Pages Liées

- [[cat-messaging]] — Catégorie Messaging
- [[app-rocket-chat]] — Bridge Matrix compatible
- [[app-converse]] — Client XMPP, à ne pas confondre
- [[app-traefik]] — Reverse proxy
- [[securisation-home-lab]] — Hardening
