> 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/infrastructure.md).

# Considérations relatives à l’infrastructure

Exigences d’infrastructure et de réseau de RealmJoin : points de terminaison de connexion, Azure Front Door, recommandations de proxy et distribution de contenu peer-to-peer basée sur BranchCache.

## Réseau

RealmJoin est un service cloud-native et est conçu pour **un accès sortant direct et non restreint à Internet**. Il s’agit de la configuration prise en charge. Si votre politique de sécurité exige un filtrage sortant, suivez les règles ci-dessous — elles contiennent tout ce qu’il faut pour configurer un pare-feu pour RealmJoin :

* **Direction** : Sortant uniquement. Toutes les connexions sont initiées par le client ; aucune règle entrante n’est requise.
* **Protocole** : HTTPS (TCP 443) exclusivement.
* **Filtrage** : Par **nom d’hôte (FQDN)** uniquement — consultez la liste des points de terminaison ci-dessous. **Le filtrage basé sur les adresses IP n’est pas pris en charge.**

### Points de terminaison de connexion RealmJoin

Le client RealmJoin nécessite HTTPS sortant (TCP 443) et doit pouvoir atteindre tous les points de terminaison suivants :

<table data-search="false"><thead><tr><th>Hôte</th><th>Objectif</th></tr></thead><tbody><tr><td><code>client-api.realmjoin.com</code></td><td>API backend du client RealmJoin</td></tr><tr><td><code>client-api-staging.realmjoin.com</code></td><td>API backend du client RealmJoin (staging)</td></tr><tr><td><code>cdn.realmjoin.com</code></td><td>Distribution du contenu des packages logiciels</td></tr><tr><td><code>nuget.realmjoin.com</code></td><td>Flux de packages RealmJoin (NuGet)</td></tr><tr><td><code>gkrealmjoin.s3.amazonaws.com</code></td><td>Téléchargement du client RealmJoin</td></tr><tr><td><code>realmjoinstaticcdn.azureedge.net</code></td><td>Notifier RealmJoin</td></tr><tr><td><code>login.microsoftonline.com</code></td><td>authentification Microsoft Entra ID</td></tr><tr><td><code>graph.microsoft.com</code></td><td>API Microsoft Graph</td></tr><tr><td><code>enterpriseregistration.windows.net</code></td><td>inscription d’appareil Microsoft Entra</td></tr><tr><td><code>x1.c.lencr.org</code></td><td>Validation du certificat (Let's Encrypt)</td></tr></tbody></table>

{% hint style="warning" %}
Référencez ces points de terminaison **par nom d’hôte (FQDN), jamais par adresse IP**. **Nous ne pouvons pas fournir d’adresses IP ni de plages d’adresses IP pour RealmJoin, et le filtrage basé sur les adresses IP n’est pas pris en charge.** Le CDN des packages (`cdn.realmjoin.com`) est distribué via Azure Front Door, qui ne possède pas de plages d’adresses IP fixes — voir [Azure Front Door](#azure-front-door) ci-dessous.
{% endhint %}

### Azure Front Door

`cdn.realmjoin.com` — le point de terminaison qui distribue tout le contenu des packages logiciels — est servi via [Azure Front Door](https://learn.microsoft.com/en-us/azure/frontdoor/front-door-overview), la plateforme mondiale de périphérie et de CDN de Microsoft. Cela a des conséquences directes pour le filtrage réseau :

* **Il n’existe pas de plages d’adresses IP fixes.** Azure Front Door utilise un pool d’adresses IP anycast mondial géré par Microsoft. Microsoft peut ajouter, supprimer ou réattribuer ces adresses IP à tout moment, sans préavis. Pour cette raison, aucune liste d’adresses IP n’existe ni ne peut être fournie — une telle liste serait immédiatement obsolète.
* **La liste d’autorisation basée sur les adresses IP cessera de fonctionner sans avertissement** et n’est pas prise en charge. Il en va de même pour l’interception ou la réécriture DNS de ces noms d’hôte.
* Si votre politique exige malgré tout de restreindre le trafic sortant, **les règles basées sur les noms d’hôte (FQDN)** sont la seule approche qui fonctionne avec RealmJoin.

### Évitez les proxys

* Le déploiement initial nécessite **un accès direct à Internet**.
* **Aucun proxy** est idéal ; un **proxy transparent** fonctionne bien (s’il est vraiment transparent).
* Si un proxy est inévitable, les [points de terminaison de connexion RealmJoin](#realmjoin-connection-endpoints) doivent au minimum être accessibles directement.

De plus, les services Microsoft dont dépend RealmJoin doivent être accessibles. Microsoft publie les plages d’adresses correspondantes :

* [Plages d’adresses IP Azure et balises de service – Cloud public](https://www.microsoft.com/en-us/download/details.aspx?id=56519) — plages d’adresses IP de calcul (y compris les plages SQL) utilisées par les centres de données Microsoft Azure. Un nouveau fichier est téléversé chaque mercredi (heure du Pacifique) avec les plages d’adresses IP prévues, applicables à partir du lundi suivant (heure du Pacifique). Téléchargez le nouveau fichier et appliquez les modifications nécessaires sur votre site avant lundi.
* [URLs et plages d’adresses IP Office 365](https://support.office.com/en-us/article/Office-365-URLs-and-IP-address-ranges-8548a211-3fe7-47cb-abb1-355ea5aa88a2) — plages d’adresses à inclure dans vos listes d’autorisation sortantes afin que les clients puissent utiliser Office 365 avec succès.

{% hint style="info" %}
Le filtrage des adresses IP seul n’est pas une solution complète en raison de dépendances vis-à-vis de services basés sur Internet tels que les services de noms de domaine (DNS), les réseaux de distribution de contenu (CDN), les listes de révocation de certificats et d’autres services tiers ou dynamiques. Ces dépendances incluent des dépendances à d’autres services Microsoft tels que le réseau de distribution de contenu Azure et se traduiront par des traces réseau ou des journaux de pare-feu indiquant des connexions à des adresses IP appartenant à des tiers ou à Microsoft mais non répertoriées sur cette page. Ces adresses IP non répertoriées, qu’elles proviennent de services CDN et DNS tiers ou appartenant à Microsoft, sont attribuées dynamiquement et peuvent changer à tout moment.
{% endhint %}

### BranchCache et l’isolation des appareils

BranchCache est une technologie de pair-à-pair intégrée à Windows qui **réduit le trafic WAN** et **accélère la distribution du contenu** en permettant aux clients de partager entre eux le contenu téléchargé au lieu que chaque appareil récupère le même contenu depuis le cloud.

{% hint style="info" %}
Pour RealmJoin, BranchCache est **activé par défaut** du côté CDN et du côté client.
{% endhint %}

**Pourquoi BranchCache plutôt que Delivery Optimization ?** Delivery Optimization ne prend pas en charge les sources de packages tierces — il fonctionne uniquement avec des points de terminaison contrôlés par Microsoft (Windows Update, Store, M365 Apps, Intune). BranchCache fonctionne pour du contenu tiers tel que les packages RealmJoin.

**Configuration :**

* **Côté CDN** : Activé par défaut. Sur demande, nous pouvons désactiver complètement BranchCache du côté CDN (par Tenant), ce qui rend la configuration côté client sans objet.
* **Côté client** : Activé par défaut. Définissez `BranchCache.Mode = "Undefined"` (voir [Paramètres utilisateur et groupe](/fr/ugd-management/user-and-group-settings.md)) pour modifier cette valeur par défaut. Remarque : sur les clients existants, la fonctionnalité n’est pas désactivée activement une fois qu’elle a déjà été activée — exécutez `Disable-BC` sur les appareils souhaités pour la désactiver.

**Exigences réseau :**

* Les clients doivent pouvoir **communiquer directement entre eux** — ne les isolez pas dans des VLAN ou sous-réseaux différents, et ne bloquez pas le trafic pair-à-pair via l’isolation des appareils.
* RealmJoin utilise **le mode de cache distribué** uniquement : chaque client maintient un cache local et récupère les données mises en cache auprès de ses pairs.
* **Le mode cache hébergé** (Windows Server dédié, configuré via la stratégie « Configurer les serveurs de cache hébergé ») est **non pris en charge** par RealmJoin.

**Fonctionnement :**

1. Lorsqu’un client télécharge un package logiciel pour la première fois, les fichiers sont divisés en segments nettement plus petits que le contenu d’origine et mis en cache sur l’appareil.
2. Lorsqu’un autre client du même réseau demande le même package, il télécharge uniquement **les informations de contenu** au lieu du contenu complet depuis le serveur.
3. Le client utilise les informations de contenu pour **la découverte des pairs** : il envoie une requête multicast (« Quelqu’un possède-t-il l’ID de contenu XYZ ? »), et tout pair disposant du segment demandé répond directement en unicast.
4. Le contenu est transféré depuis les pairs sous forme de segments. Si le logiciel demandé est disponible sur plusieurs appareils, la charge est équilibrée entre eux.

Pour plus de détails, voir Microsoft Learn : [BranchCache](https://learn.microsoft.com/en-us/windows-server/networking/branchcache/branchcache)


---

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