4.4 KiB
title: Zulip created: 2026-06-07 updated: 2026-06-07 type: app tags: [catalogue, messaging, topics, team, python, asynchrone, productivity] confidence: high contested: false sources: [https://selfh.st/apps/?tag=Messaging, https://github.com/zulip/zulip, https://zulip.com/]
💬 Zulip
Le chat d'équipe organisé par topics, un modèle unique qui mélange le meilleur du mail (sujet par conversation) et de la messagerie instantanée, idéal pour les équipes asynchrones et distribuées.
📋 Informations Générales
| Champ | Valeur |
|---|---|
| Site web | zulip.com |
| GitHub | zulip/zulip |
| Licence | Apache 2.0 |
| Langage | Python, TypeScript |
| Étoiles GitHub | 25.3k ⭐ |
| Catégorie | Messaging |
📝 Description
Zulip se distingue de tous les autres outils de chat par son modèle d'organisation unique : au lieu d'un fil infini de messages dans un channel (modèle Slack/Discord), chaque conversation est un topic clairement nommé à l'intérieur d'un stream (équivalent d'un channel). Ce modèle, directement inspiré du mail, permet de suivre des dizaines de sujets en parallèle sans bruit, et de retrouver n'importe quelle discussion par recherche.
L'outil vise explicitement les équipes distribuées et asynchrones : un message posté à 3h du matin n'est pas perdu dans le scroll, il est dans un topic nommé, et la personne qui se réveille le voit en ouvrant le stream correspondant. L'expérience est donc plus proche d'une boîte mail moderne que d'un tchat temps réel.
Zulip est open source (Apache 2.0), self-hébergeable facilement, et maintenu par une équipe dédiée (créateurs de Kandra Labs, ex-Kaptcha). L'application officielle couvre web, desktop, iOS, Android. Le serveur supporte PostgreSQL, Redis, RabbitMQ et se déploie en Docker ou via le playbook Ansible officiel. Côté sécurité, on trouve LDAP, SAML, OIDC, 2FA et chiffrement TLS bout-en-bout optionnel.
🚀 Installation
Option recommandée : Docker Compose
services:
database:
image: postgres:16
restart: unless-stopped
environment:
POSTGRES_DB: zulip
POSTGRES_USER: zulip
POSTGRES_PASSWORD: change-me
volumes:
- zulip_db:/var/lib/postgresql/data
memcached:
image: memcached:1.6-alpine
restart: unless-stopped
rabbitmq:
image: rabbitmq:3-management-alpine
restart: unless-stopped
zulip:
image: ghcr.io/zulip/zulip-server:latest
restart: unless-stopped
ports:
- "80:80"
depends_on:
- database
- memcached
- rabbitmq
environment:
DB_HOST: database
DB_USER: zulip
DB_PASSWORD: change-me
REDIS_HOST: memcached
RABBITMQ_HOST: rabbitmq
volumes:
zulip_db:
⚙️ Configuration Initiale
- Créer l'organisation et le premier administrateur via l'URL d'installation.
- Configurer streams et topics par défaut : encourager l'équipe à nommer chaque topic comme un sujet de mail.
- Activer LDAP / SAML / OIDC pour intégrer l'authentification de l'organisation.
- Personnaliser les notifications : le modèle de Zulip rend les notifications granulaires par stream et topic, à régler finement.
- Planifier les sauvegardes de la base PostgreSQL (un dump quotidien suffit).
🔄 Alternatives
- app-rocket-chat — Modèle channel classique, plus grand public
- Slack — Référence du marché, mais propriétaire
- Mattermost — Concurrent open source, modèle traditionnel
- Discourse — Forum moderne, complémentaire pour les longues discussions
🔐 Sécurité
- ✅ Authentification 2FA, LDAP, SAML, OIDC supportés
- ✅ Chiffrement TLS bout-en-bout des messages en option
- ⚠️ Exiger HTTPS systématique en production
- ⚠️ Sauvegardes PostgreSQL à scripter et tester régulièrement
📚 Ressources
Pages Liées
- cat-messaging — Catégorie Messaging
- app-rocket-chat — Concurrent open source, modèle classique
- app-affine — Workspace, complémentaire
- app-traefik — Reverse proxy recommandé
- securisation-home-lab — Bonnes pratiques HTTPS