> ## Documentation Index
> Fetch the complete documentation index at: https://docs.oximail.ch/llms.txt
> Use this file to discover all available pages before exploring further.

# Introduction

> OxiMail est un serveur de messagerie et de collaboration conçu autour de JMAP : un seul binaire Rust pour le courrier, l'agenda, les contacts, les tâches, les fichiers et la messagerie instantanée.

OxiMail est un serveur de messagerie et de collaboration écrit en Rust.
C'est un binaire unique. Il parle **JMAP** comme protocole principal, ainsi
que **SMTP, IMAP, CalDAV, CardDAV et ManageSieve**. Un seul serveur, un seul
fichier de configuration et un seul processus vous donnent le courrier,
l'agenda, les contacts, les tâches, le stockage de fichiers et la messagerie
instantanée. Tout repose sur le même moteur de stockage.

OxiMail est publié sous licence **AGPL-3.0-or-later**. Ce manuel documente le
serveur open source : ses protocoles, son administration et son API JMAP.

## Ce qui distingue OxiMail

OxiMail repose sur quelques principes fermes, posés dès la conception. Ce
sont des choix techniques, pas des arguments commerciaux.

### Conçu autour de JMAP

JMAP (RFC 8620 et RFC 8621) est le successeur moderne d'IMAP. C'est un
protocole unique en HTTPS et JSON, avec des requêtes groupées, un suivi
efficace des changements et la notification immédiate (push). OxiMail traite
JMAP comme son protocole natif. Il expose ainsi le courrier, l'agenda, les
contacts, les tâches, les fichiers, le partage et la messagerie instantanée.
Les protocoles classiques (IMAP, CalDAV, CardDAV, ManageSieve) sont traduits
vers le même stockage géré par JMAP. Vos clients actuels continuent donc de
fonctionner.

### Aucune erreur silencieuse

OxiMail n'échoue jamais en silence. Un identifiant d'objet invalide renvoie
une entrée `notFound`. Il ne renvoie jamais un tableau vide qui masquerait
l'erreur. Un courriel accepté est toujours remis quelque part, ou rejeté de
façon explicite. Il n'est jamais perdu en silence. Les erreurs sont
remontées, journalisées et renvoyées à l'appelant. C'est la règle la plus
importante du projet.

### Aucun service annexe

Une pile de messagerie classique réunit de nombreux services : Postfix,
Dovecot, nginx, un fail2ban externe, ClamAV, un démon antispam. OxiMail
réunit chacun de ces rôles dans le même binaire, sous la forme d'une crate
Rust. Il n'y a aucun démon externe à installer, à sécuriser ou à maintenir
en cohérence. Le serveur SMTP, les passerelles IMAP, CalDAV et CardDAV, le
limiteur de débit, la logique de bannissement et la chaîne antispam vivent
tous dans le même processus.

### Ouvert et auditable

OxiMail est publié sous licence AGPL-3.0-or-later et bâti sur des standards
ouverts (des RFC et des brouillons publics de l'IETF). Le code est
inspectable par tous, et il n'y a aucun verrouillage propriétaire. Vos
données restent dans des formats documentés et circulent sur des protocoles
documentés.

## Qui administre OxiMail

OxiMail s'adresse aux opérateurs qui veulent garder la maîtrise de leurs
données de messagerie et de collaboration : auto-hébergeurs, institutions et
opérateurs régionaux. L'opérateur administre le serveur sur sa propre
infrastructure et conserve ses propres clés. Aucun tiers ne s'interpose entre
l'opérateur et les données.

## Ce que couvre ce manuel

Ce manuel est celui du **serveur OxiMail**. Il documente les protocoles que
parle le serveur, la manière de l'administrer et l'API JMAP sur laquelle vous
pouvez bâtir vos propres applications.

<Note>
  Le **workspace** d'OxiMail (le client web) est un produit distinct. Il est
  **hors du périmètre** de ce manuel. Ce manuel s'arrête au serveur : ses
  protocoles, son administration et son API. Comme l'API est ouverte, chacun
  peut écrire un client à partir des méthodes JMAP documentées.
</Note>

Le manuel est organisé en trois parcours :

<Columns cols={3}>
  <Card title="Guide d'administration" icon="server" href="./installation">
    L'administrer. Installation, courrier et SMTP, stockage, authentification
    et sécurité, antispam, collaboration, chiffrement au repos, multi-tenant,
    TLS, migration et exploitation au quotidien.
  </Card>

  <Card title="Développeur / API JMAP" icon="code" href="./developer/jmap-core">
    Bâtir dessus. Le modèle de session et de dispatch de JMAP Core, les
    méthodes pour le courrier, l'agenda, les contacts, les tâches, les
    fichiers, le partage et la messagerie instantanée, ainsi que l'API REST
    d'administration.
  </Card>

  <Card title="Référence d'architecture" icon="diagram-project" href="./architecture/overview">
    Le comprendre. La structure du binaire crate par crate, les chemins des
    requêtes et le modèle de stockage.
  </Card>
</Columns>

## Une précision sur l'exactitude

Ce manuel décrit ce que le serveur fait réellement aujourd'hui, sur la
version actuelle **v0.30.0**. Il ne présente pas comme livré ce qui est
seulement prévu ou expérimental. Tout ce qui est conçu mais pas encore
implémenté est signalé clairement comme prévu. Si une page indique qu'une
fonctionnalité existe, c'est que le serveur la fournit.
