> 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

Vue d’ensemble de haut niveau de l’architecture RealmJoin : le backend cloud, la façon dont les appareils gérés et les administrateurs se connectent, et les ressources que RealmJoin utilise dans votre propre Tenant Microsoft.

RealmJoin est un SaaS cloud-native, multi-tenant et le **le compagnon de cycle de vie et de gestion des applications de Microsoft Intune**. Il gère le déploiement des applications, la gestion des utilisateurs/groupes/appareils et l’automatisation des processus dans 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 paquets"]
        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 -->|accès à privilèges minimaux| 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 Role-Based Access Control (RBAC)** modèle, 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                     | Objectif                                                                                                                                         | 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 la connexion Entra ID (OAuth 2.0 / OpenID Connect).                          |
| **Client-API**                | Le point de terminaison avec lequel l’agent RealmJoin facultatif sur chaque appareil communique.                                                 | Appareils gérés, authentifiés par l’identité de l’appareil (jeton Entra + certificat d’appareil). |
| **Customer-API**              | Une API programmatique pour vos propres intégrations et votre automatisation.                                                                    | Vos systèmes et outils, à l’aide d’une clé API par client.                                        |
| **CDN et serveur de paquets** | Distribue les paquets 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 internes (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 de sécurité** (chiffrement, niveau de correctifs, pare-feu, antivirus) avant d’appliquer les applications obligatoires,
* distribue efficacement les applications grâce à un moteur Chocolatey amélioré et à la **BranchCache** distribution pair-à-pair,
* prend en charge **LAPS** (mot de passe 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 RealmJoin Agent
    participant API as Client-API
    participant CDN as RealmJoin CDN

    Device->>API: Signale l’état et demande la configuration
    API-->>Device: Configuration signée (applications et stratégies)
    Device->>Device: Évaluation de sécurité
    Device->>CDN: Télécharge les paquets attribués
    Note over Device: Partage de paquets pair-à-pair via BranchCache
```

Pour plus de détails sur la distribution des paquets et BranchCache, voir [Considérations relatives à l’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 portail. 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 paquets sont produits par le pipeline de packaging de RealmJoin et livrés aux appareils via le RealmJoin **CDN** et **serveur de paquets**, 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 forme de **Déploiement Intune** (un package intunewin déployé dans votre tenant).

## Ressources dans votre propre environnement

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

* **Azure Key Vault** – stocke les mots de passe d’administrateur local LAPS 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 runbooks archivés.

RealmJoin y accède — ainsi qu’à Entra ID, à Intune et à Defender via Microsoft Graph — en n’utilisant que les autorisations minimales que vous accordez lors de l’intégration. Voir [Autorisations requises du portail](/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 **Europe Ouest** région avec redondance en **Europe Nord**. **Les données clients ne quittent pas l’Europe.**
* **Livraison :** Le portail et les API sont accessibles directement via HTTPS. Les paquets d’application et le contenu sont livrés via le RealmJoin **CDN**, exposé derrière **Azure Front Door** pour une distribution équilibrée en 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 chemins de code backend fonctionnent dans un contexte par 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 ponctuelle de la base de données ; l’infrastructure est entièrement définie en tant que code (Terraform).

{% hint style="info" %}
Les points de terminaison accessibles de l’extérieur sont le **Portail, Client-API, Customer-API, CDN et serveur de paquets**. Pour la liste complète des hôtes à autoriser dans votre pare-feu, voir [Considérations relatives à l’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 by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

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

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
