Files
2026-06-09 18:40:21 +02:00

142 lines
5.8 KiB
Markdown

---
title: Roundcube
created: 2026-06-07
updated: 2026-06-07
type: app
tags: [catalogue, email, webmail, php, imap]
confidence: high
contested: false
sources: [https://selfh.st/apps/?tag=Email, https://github.com/roundcube/roundcubemail]
---
# 📧 Roundcube
> **Le webmail PHP de référence** : interface AJAX moderne, support IMAP/SMTP, riche écosystème de plugins — tourne devant n'importe quel serveur IMAP existant (Dovecot, Cyrus, Stalwart, etc.).
## 📋 Informations Générales
| Champ | Valeur |
| :--- | :--- |
| **Site web** | [roundcube.net](https://roundcube.net) |
| **GitHub** | [roundcube/roundcubemail](https://github.com/roundcube/roundcubemail) |
| **License** | GPL-3.0 |
| **Langage** | PHP (backend + JS pour l'UI) |
| **Étoiles GitHub** | 7 009 ⭐ |
| **Catégorie** | [[cat-email\|Email]] |
| **Mainteneur** | Communauté Roundcube (menée par Thomas Bruederli) |
## 📝 Description
**Roundcube** est né en **2005** comme un webmail "moderne" pour l'époque (AJAX, drag-and-drop, interface réactive). Presque **20 ans plus tard**, c'est encore **le webmail open source de référence** — utilisé par défaut dans **mailcow, Mailu, Mail-in-a-Box, iRedMail**, etc.
**Fonctionnalités** :
- **Lecture/écriture** d'emails via IMAP (supporte IDLE pour le push)
- **Envoi** via SMTP (configurable, supporte plusieurs identités)
- **Répertoires IMAP** : drag-and-drop, abonnements, dossiers partagés
- **Carnet d'adresses** LDAP, SQL ou personnel
- **Filtres Sieve** côté serveur (côté client via plugin managesieve)
- **Recherche full-text** (via plugins : Solr, ElasticSearch, SQLite FTS)
- **Templates** de réponse et signatures
- **PGP** : support via plugin **Enigma** (intégré)
- **Thèmes et skins** : interface personnalisable
**Forces** :
- **Maturité** : 20 ans de corrections, compatible avec **tous** les serveurs IMAP
- **Écosystème de plugins énorme** : calendrier, contacts, chiffrement, antispam, themes
- **Documentation** exhaustive et communauté francophone/anglophone active
- **Multi-langues** : 80+ langues dont le français complet
- **Performant** même sur de grosses boîtes (lazy loading, virtual scrolling)
**Faiblesses** :
- **Pas de bundle tout-en-un** : Roundcube est **uniquement le webmail**, il faut un serveur IMAP derrière
- **Pas de gestion calendrier natif** (plugin tiers nécessaire)
- **Mobile** : interface pas vraiment responsive, l'expérience mobile est perfectible
- **UI datée visuellement** (même si elle reste claire et efficace)
## 🚀 Installation
### Docker (image officielle)
```yaml
# docker-compose.yml
version: '3.8'
services:
roundcube:
image: roundcube/roundcubemail:latest
container_name: roundcube
restart: unless-stopped
environment:
- ROUNDCUBE_DB_TYPE=sqlite
- ROUNDCUBE_DB_DSNW=sqlite:///var/roundcube/db/sqlite.db
- ROUNDCUBE_DEFAULT_HOST=imap.example.com
- ROUNDCUBE_DEFAULT_PORT=143
- ROUNDCUBE_SMTP_HOST=smtp.example.com
- ROUNDCUBE_SMTP_PORT=587
volumes:
- ./data:/var/roundcube/db
ports:
- "8080:80"
```
### Installation manuelle (LAMP)
```bash
# Prérequis : PHP 8.1+, MySQL/MariaDB/SQLite, Apache/Nginx
# Téléchargement
wget https://github.com/roundcube/roundcubemail/releases/latest/download/roundcubemail-complete.tar.gz
tar xzf roundcubemail-complete.tar.gz -C /var/www/
mv /var/www/roundcubemail-* /var/www/roundcube
# Init DB
mysql -u root -p
> CREATE DATABASE roundcube;
> GRANT ALL ON roundcube.* TO 'roundcube'@'localhost' IDENTIFIED BY 'secret';
> FLUSH PRIVILEGES;
> \q
mysql roundcube < /var/www/roundcube/SQL/mysql.initial.sql
# Config : copier config.inc.php.sample vers config.inc.php et éditer
cp /var/www/roundcube/config/config.inc.php.sample /var/www/roundcube/config/config.inc.php
```
## ⚙️ Configuration
1. **Connexion IMAP/SMTP** : pointer vers le serveur existant (ex. Dovecot derrière mailcow)
2. **Base de données** : SQLite (léger) ou MySQL/PostgreSQL (production)
3. **Plugins activés** : `archive`, `attachment_reminder`, `emoticons`, `enigma` (PGP), `markasjunk`, `managesieve` (filtres), `password` (changer son mot de passe)
4. **Carnet d'adresses** : configurer la source (LDAP, SQL)
5. **Sécurité** : force HTTPS, configure `force_https=true`, désactive les modules d'auth faibles
## 🔗 Alternatives
- **[SOGo](https://www.sogrp.org)** — Webmail + calendrier + contacts, intégré à mailcow
- **[Snappymail](https://github.com/the-djmaze/snappymail)** — Fork moderne de Rainloop, très léger
- **[Cypht](https://github.com/jasonmunro/cypht)** — Webmail léger en PHP, interface unifiée multi-comptes
- **[Nextcloud Mail](https://apps.nextcloud.com/apps/mail)** — Pour utilisateurs Nextcloud
## 🔒 Sécurité
- **HTTPS obligatoire** en production
- **Authentification IMAP** : le mot de passe n'est pas stocké, juste relayé
- **Plugins PGP (Enigma)** : chiffrement de bout en bout côté client
- **CSP (Content Security Policy)** : configurable pour durcir le frontend
- **Rate limiting** sur la web UI pour éviter le brute-force
- **Mises à jour fréquentes** : suivre les releases pour les CVE
## 📚 Ressources
- [Site officiel](https://roundcube.net)
- [Documentation](https://github.com/roundcube/roundcubemail/wiki)
- [GitHub roundcube/roundcubemail](https://github.com/roundcube/roundcubemail)
- [Plugins tiers](https://plugins.roundcube.net)
- [Wiki installation](https://github.com/roundcube/roundcubemail/wiki/Installation)
## Pages Liées
- [[cat-email]] — Toutes les apps Email du catalogue
- [[app-mailcow]] — Inclut SOGo par défaut, peut être remplacé par Roundcube
- [[app-mailu]] — Utilise Rainloop, peut être remplacé
- [[app-stalwart]] — Stalwart propose son propre webmail en alternative
- [[recettes-docker-compose]] — Templates Docker
- [[securisation-home-lab]] — HTTPS et durcissement