> ## 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.

# Référence d'architecture

> Comment lire cette section : des pages de référence par crate qui documentent ce que chaque crate fait réellement, ses invariants, sa surface de protocole et sa carte des sources.

Cette section est le complément en profondeur de la [vue d'ensemble de l'architecture](../architecture) : une page de référence par crate majeur, chacune écrite contre le code (pas contre les intentions), avec la même structure : ce que le crate possède, comment il fonctionne, ses invariants, sa configuration, sa surface de protocole, les décisions de conception derrière lui, et une carte des sources.

## La carte des couches

```text theme={null}
Protocoles    oximail-server (HTTP/JMAP)   oximail-smtp (25/587/465)
              oximail-imap · oximail-caldav · oximail-carddav · oximail-managesieve   ← passerelles historiques
Domaines      oximail-mail · oximail-calendar · oximail-contact · oximail-task
              oximail-file · oximail-sharing · oximail-chat · oximail-conversation
              oximail-sieve · oximail-label · oximail-admin · oximail-spam · …
Cœur          oximail-core (dispatch JMAP, capacités, EventBus, push)
Stockage      oximail-store (SqlBackend/SQLite · blobs · Tantivy) · oximail-crypto · oximail-blob
```

Deux règles dessinent chaque frontière :

* **Les domaines ne s'importent jamais entre eux.** Les effets inter-domaines voyagent sur l'EventBus (ADR-011) : le crate SMTP émet `EmailIngested`, le crate calendrier s'abonne pour les parties `text/calendar`. Aucun ne connaît les types de l'autre.
* **Tout atteint le stockage par les mêmes traits**, avec `tenant_id` obligatoire à chaque appel (ADR-015).

## Les pages par crate

| Page                             | Couvre                                                                                              |
| -------------------------------- | --------------------------------------------------------------------------------------------------- |
| [oximail-core](./oximail-core)   | La mécanique JMAP Core : session, dispatch, références arrière, capacités, erreurs, EventBus, push. |
| [oximail-store](./oximail-store) | Le socle de stockage : `SqlBackend` sur SQLite avec pool, migrations, blobs, index Tantivy.         |
| [oximail-mail](./oximail-mail)   | Le domaine Mail : Mailbox/Email/Thread/EmailSubmission/Identity, le chemin d'ingestion.             |
| [oximail-smtp](./oximail-smtp)   | La couche SMTP : entrant contre soumission, la file de remise, les DSN, le MX de secours.           |

Ces quatre-là sont les murs porteurs ; d'autres pages de crates s'ajouteront au fil de leur rédaction. Pour la vue opérateur de la même mécanique, voir le [guide d'administration](../operator/configuration) ; pour la surface d'API, la [section développeur](../developer/jmap-core).
