# Activation

> L'interrupteur principal, le port sur lequel l'endpoint écoute, et les quatre mesures qui le gardent local.

Une installation neuve n'annonce rien aux agents. L'accès agent est à un interrupteur de
distance, et cet interrupteur est la première des trois barrières qui tiennent ici lieu
d'authentification : l'interrupteur principal, les interrupteurs par domaine et le journal.

## L'interrupteur et le port {#the-switch-and-the-port}

L'interrupteur principal est **désactivé** à l'installation. Activez-le sur la page **Accès
agent** (ouvrir la page demande la permission de gestion de l'agent attachée à votre rôle
local); l'endpoint écoute alors sur `http://127.0.0.1:<port>/mcp` en
Streamable HTTP. Les agents peuvent aussi se connecter pendant que l'application fonctionne
masquée dans la zone de notification.

| Réglage | Ce qu'il fait | Valeurs | Par défaut |
| --- | --- | --- | --- |
| Activer l'accès agent (MCP) | Démarre ou arrête l'endpoint. Désactivé signifie aucun endpoint et rien d'annoncé. | activé / désactivé | désactivé |
| Port | Port local sur lequel l'endpoint écoute. Le changer redémarre l'accès agent, et chaque extrait de connexion de la page se met à jour en conséquence. | 1024–65535. Un port vers lequel l'accès agent ne peut pas se déplacer est refusé avant que rien soit enregistré : le motif est dit sous le champ, le champ revient au port en vigueur, et rien ne redémarre. Six entrées sont refusées : une valeur hors plage (« Saisissez un nombre compris entre 1024 et 65535. »); le port du serveur web, réglé sur [Accès à distance](remote-access) (« Le port N est déjà celui du serveur web. Choisissez un autre port, ou déplacez d'abord le serveur web. »); le port du serveur OPC UA sur [Paramétrage](connector-opcua-configuration), en marche ou arrêté (« Le port N est déjà celui du serveur OPC UA. Choisissez un autre port, ou déplacez d'abord le serveur. »); le port du [serveur Modbus](connector-modbus-server) sur la page Connector, en marche ou arrêté (« Le port N est déjà celui du serveur Modbus. Choisissez un autre port, ou déplacez d'abord le serveur Modbus. »); le port du [broker MQTT](connector-mqtt-broker) sur la page Connector, en marche ou arrêté (« Le port N est déjà celui du broker MQTT. Choisissez un autre port, ou déplacez d'abord le broker MQTT. »); et un port qu'autre chose sur cette machine retient déjà (« Le port N est occupé sur cette machine. Fermez ce qui le retient, ou choisissez un autre port. »). | 18181 |

À côté de l'interrupteur, une pastille d'état affiche **Scellé** tant que l'interrupteur est
désactivé et **Ouvert** tant qu'il est activé : l'état de l'endpoint se lit ainsi
d'un coup d'œil sur la pastille.

Sous l'endpoint, un décompte sans titre propre résume les interrupteurs de
**Domaines autorisés**, plus bas sur la page. Sa première ligne donne à chacun des quatre
niveaux le nombre de ses domaines activés, derrière un point allumé dans la couleur du
niveau tant qu'au moins l'un d'eux est activé, et gris tant qu'aucun ne l'est : quand tous
les domaines sont activés, elle affiche 5 **Lecture**, 6 **Configuration**, 4 **Pilotage**
et 1 **Restauration**. La ligne suivante en fait la somme, « 16 groupes de capacités
ouverts sur 16 », et, tant qu'un domaine de niveau Pilotage ou Restauration est activé,
elle ajoute combien des groupes ouverts peuvent écrire sur l'équipement réel : « 5 en
écriture directe ». Elle compte les interrupteurs des domaines et rien d'autre :
l'exposition de la station se lit ainsi d'un coup d'œil. Tant que l'interrupteur principal
est désactivé, le décompte est grisé avec l'endpoint et le port, mais il
continue de lire les interrupteurs, qui gardent ce qui a été enregistré : il montre ce que
l'accès agent ouvre dès que l'interrupteur est réactivé.

Tant que l'interrupteur est désactivé, **Copier l'URL** et **Port local** restent grisés sous l'endpoint, et le pointeur posé sur l'un ou l'autre en donne la raison : « L'accès agent est désactivé. Activez-le d'abord sous Accès. » La carte **Domaines autorisés** dit la même phrase au-dessus de ses interrupteurs grisés.

Tout s'enregistre automatiquement sur cette page; il n'y a pas de bouton d'enregistrement.

## Comment l'endpoint est protégé {#how-the-endpoint-is-protected}

- **Boucle locale seulement.** Le socket se lie à `127.0.0.1`, jamais à une interface
  réseau. Le réseau de l'usine ne peut pas l'atteindre.
- **Les requêtes venues d'un navigateur sont refusées.** La liaison seule n'empêcherait pas
  une page web malveillante de rediriger son propre domaine vers 127.0.0.1; l'endpoint vérifie donc aussi les deux en-têtes qu'un navigateur ne peut pas falsifier :
  une requête dont l'en-tête `Host` n'est pas local, ou qui porte un `Origin` non local, est
  refusée par un 403 avant même d'avoir pu ouvrir une session. Chaque refus est journalisé
  dans le domaine **Agent** de la page [Événements](events) : une station sondée depuis un
  onglet de navigateur laisse donc une trace.
- **Aucune authentification sur l'endpoint, et c'est délibéré.** Les barrières
  sont l'interrupteur principal, les interrupteurs par domaine et le journal. Si vous
  exposez un jour l'endpoint par un tunnel, l'authentification doit vivre sur
  le tunnel (voir [ChatGPT et les autres clients qui passent par
  l'infonuagique](agent-clients)).
- **La liste des outils est celle des domaines ouverts.** Les outils d'un domaine désactivé
  ne sont pas annoncés du tout : ils sont absents, ils ne répondent pas « non ». Changer un
  interrupteur, quel qu'il soit, redémarre l'endpoint, pour que ce qu'un agent
  voit corresponde toujours à ce que vous avez autorisé. Les deux outils d'aide sont la
  seule exception : ils lisent la documentation de l'application et rien de la station,
  donc ils viennent avec l'endpoint quoi que disent les interrupteurs
  ([Aide](agent-tools#help)).
