> For the complete documentation index, see [llms.txt](https://docs.realmjoin.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.realmjoin.com/fr/deploiement/architecture-overview.md).

# Vue d'ensemble de l'architecture

RealmJoin est un SaaS cloud-native, multi-tenant et le **compagnon du cycle de vie et de la gestion des applications de Microsoft Intune**. Il gère le déploiement d'applications, la gestion des utilisateurs/groupes/appareils et l'automatisation des processus dans l'ensemble de votre tenant Entra ID — **sans serveurs sur site ni infrastructure locale**. Tous les services backend sont exploités par glueckkanja dans **Microsoft Azure, hébergé en Europe**.

RealmJoin couvre trois domaines :

* **Gestion des applications** – l'empaquetage, le déploiement, un catalogue en libre-service et le reporting logiciel.
* **Gestion des utilisateurs, des groupes et des appareils** – une vue unique et unifiée qui combine les données d'Intune, d'Entra ID, de Microsoft Defender, de Windows Autopilot et des journaux de connexion.
* **Automatisation des processus** – des runbooks qui s'exécutent dans *votre propre* compte Azure Automation.

## Vue d'ensemble

```mermaid
%%{init: {"flowchart": {"htmlLabels": false, "nodeSpacing": 55, "rankSpacing": 90}} }%%
flowchart LR
    Admin["Administrateurs"]
    Integr["Vos intégrations"]
    Device["Appareils gérés<br/>(RealmJoin Agent)"]

    subgraph RJ["Backend RealmJoin - Azure (Europe)"]
        direction TB
        Portal["Portail RealmJoin"]
        CustApi["Customer-API"]
        ClientApi["Client-API"]
        FD{{"Azure Front Door"}}
        CDN["CDN et serveur de packages"]
        Core[("Services backend<br/>et bases de données")]
    end

    subgraph Tenant["Votre tenant Microsoft"]
        direction TB
        Graph["Entra ID / Intune / Defender<br/>(via Microsoft Graph)"]
        subgraph AzureRes["Vos ressources Azure"]
            direction TB
            KV["Key Vault<br/>(mots de passe LAPS)"]
            Autom["Azure Automation<br/>(Runbooks)"]
            LA["Log Analytics<br/>(Journaux)"]
        end
    end

    Admin --> Portal
    Integr --> CustApi
    Device --> ClientApi
    Device --> FD
    FD --> CDN

    Portal --> Core
    ClientApi --> Core
    CustApi --> Core

    Core -->|least-privilege access| Graph
    Core --> KV
    Core --> Autom
    Core --> LA
```

RealmJoin se connecte à votre tenant via **des applications Entra ID à privilèges minimaux** auxquelles vous consentez lors de l'intégration. Chaque action effectuée par le backend est filtrée par le **modèle interne de contrôle d'accès basé sur les rôles (RBAC)** qui évalue l'appartenance aux groupes et aux rôles Entra.

## Composants backend

Le backend est un ensemble de services déployés indépendamment et exécutés dans Microsoft Azure :

| Composant                      | Rôle                                                                                                                                             | Qui s'y connecte                                                                                     |
| ------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------- |
| **Portail RealmJoin**          | L'interface web que les administrateurs utilisent pour gérer les applications, les appareils, les utilisateurs, les groupes et l'automatisation. | Administrateurs, via une connexion Entra ID (OAuth 2.0 / OpenID Connect).                            |
| **Client-API**                 | Le point de terminaison auquel l'agent RealmJoin facultatif sur chaque appareil communique.                                                      | Appareils gérés, authentifiés par l'identité de l'appareil (jeton Entra + certificat de l'appareil). |
| **Customer-API**               | Une API programmatique pour vos propres intégrations et automatisations.                                                                         | Vos systèmes et outils, à l'aide d'une clé API par client.                                           |
| **CDN et serveur de packages** | Distribue les packages d'application et le contenu aux appareils.                                                                                | Appareils gérés.                                                                                     |

Derrière cela, RealmJoin exécute des services de traitement en arrière-plan et stocke les données dans des bases de données et du stockage Azure gérés. Les services à usage interne (tels que la facturation et les tâches d'arrière-plan) ne sont pas accessibles depuis Internet.

## L'agent RealmJoin

L'agent RealmJoin est un **facultatif** composant Windows. Lorsqu'il est installé, il :

* rapporte régulièrement l'état de l'appareil à la Client-API,
* récupère une **signée** configuration de l'appareil (affectations de logiciels et de stratégies),
* exécute une évaluation locale **de sécurité** (chiffrement, niveau de correctifs, pare-feu, antivirus) avant d'appliquer les applications obligatoires,
* fournit les applications efficacement grâce à un moteur Chocolatey amélioré ainsi qu'à **BranchCache** la distribution pair à pair,
* prend en charge **LAPS** (mot de passe d'administrateur local) — les mots de passe sont générés sur l'appareil et stockés dans **votre propre Azure Key Vault**.

```mermaid
sequenceDiagram
    participant Device as agent RealmJoin
    participant API as Client-API
    participant CDN as CDN RealmJoin

    Device->>API: Signaler l'état et demander la configuration
    API-->>Device: Configuration signée (applications et stratégies)
    Device->>Device: Évaluation de sécurité
    Device->>CDN: Télécharger les packages attribués
    Note sur Device: partage de packages pair à pair via BranchCache
```

Pour plus de détails sur la livraison des packages et BranchCache, voir [Considérations d'infrastructure](/fr/deploiement/infrastructure.md).

## Automatisation des processus (runbooks)

Les runbooks s'exécutent dans **votre propre compte Azure Automation** — et non dans le backend de RealmJoin. RealmJoin synchronise votre bibliothèque de runbooks avec un dépôt GitHub ouvert et sélectionné avec soin, et gère et surveille l'exécution des tâches depuis le Portal. Les runbooks agissent via l'identité managée du compte Automation **identité managée**, de sorte que les autorisations qu'ils utilisent restent entièrement sous votre contrôle.

Voir [Connexion à Azure Automation](/fr/automatisation/connecting-azure-automation.md) et [Runbooks](/fr/automatisation/runbooks.md) pour en savoir plus.

## Distribution des applications

Les packages sont produits par la chaîne de packaging de RealmJoin et livrés aux appareils via le RealmJoin **CDN** et **Serveur de packages**, avec un stockage géorépliqué et BranchCache pour une distribution efficace sur le réseau. Les applications peuvent être livrées soit via **Déploiement RealmJoin** (via l'Agent) ou sous la forme de **Déploiement Intune** (un package intunewin poussé vers votre tenant).

## Ressources dans votre propre environnement

Plusieurs fonctionnalités utilisent des ressources dans **votre propre tenant Microsoft et abonnement Azure**, de sorte que les données sensibles restent sous votre contrôle :

* **Azure Key Vault** – stocke les mots de passe LAPS d'administrateur local générés sur vos appareils.
* **Azure Automation** – exécute vos runbooks sous une identité managée que vous contrôlez.
* **Log Analytics** – stocke les journaux d'audit et les journaux de runbook archivés.

RealmJoin y accède — ainsi qu'à Entra ID, Intune et Defender via Microsoft Graph — en utilisant uniquement les autorisations à privilèges minimaux que vous accordez lors de l'intégration. Voir [Autorisations requises du Portal](/fr/deploiement/required-permissions.md) pour la liste complète.

## Sécurité, hébergement et résidence des données

* **Hébergement :** Tous les services backend s'exécutent dans **Microsoft Azure**, principalement dans la **région West Europe** avec une sauvegarde dans **North Europe**. **Les données client ne quittent pas l'Europe.**
* **Livraison :** Le Portal et les API sont accessibles directement via HTTPS. Les packages d'application et le contenu sont livrés via le RealmJoin **CDN**, placé derrière **Azure Front Door** pour une distribution avec équilibrage de charge à l'échelle mondiale.
* **Chiffrement en transit :** Toutes les connexions utilisent HTTPS/TLS.
* **Identité :** L'accès administrateur utilise Entra ID (OAuth 2.0 / OpenID Connect) ; les appareils s'authentifient avec leur identité d'appareil Entra et un certificat d'appareil ; les API programmatiques utilisent des clés par client.
* **Isolation du tenant :** Les données de chaque client sont séparées, et tous les parcours de code backend opèrent dans un contexte propre au tenant.
* **Moindre privilège :** Les applications Entra de RealmJoin ne demandent que les autorisations nécessaires aux fonctionnalités que vous activez, et toutes les actions sont régies par le modèle interne RBAC de RealmJoin.
* **Résilience :** Infrastructure redondante avec basculement automatisé et récupération à un instant donné de la base de données ; l'infrastructure est entièrement définie en code (Terraform).

{% hint style="info" %}
Les points de terminaison accessibles depuis l'extérieur sont le **Portal, Client-API, Customer-API, CDN et Package Server**. Pour la liste complète des hôtes à autoriser dans votre pare-feu, voir [Considérations d'infrastructure](/fr/deploiement/infrastructure.md). Pour plus de détails sur le traitement des données et la séparation des tenants, voir [Sécurité et confidentialité](/fr/securite-et-confidentialite/security-and-privacy.md).
{% endhint %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.realmjoin.com/fr/deploiement/architecture-overview.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
