# Se connecter

> La pastille d'utilisateur de la barre de titre, la boîte de dialogue de connexion et son pavé de code PIN, changer d'utilisateur et se déconnecter, ce qu'un changement d'identité fait à la page ouverte, et comment les navigateurs et les circuits distants se connectent.

Se connecter échange les permissions en vigueur sur un écran, du rôle **Non connecté** vers le rôle
d'un utilisateur. Ce n'est jamais obligatoire : la station s'ouvre sur l'identité de passage et
reste utilisable ainsi. Il y a un seul chemin de connexion avec deux portes, la **pastille
d'utilisateur** de la barre de titre et la racine **Connecté en ce moment** de la page Utilisateurs,
et les deux ouvrent la même boîte de dialogue sur le même contrôle. Un navigateur qui ne peut pas
consulter du tout reçoit une troisième surface, l'écran de connexion, qui est le même volet sans le
cadre.

Se connecter n'est pas une mutation de la station. Cela reste disponible tant que le runtime est
arrêté par la limite du mode gratuit, quand toute écriture de configuration est refusée.

## La pastille d'utilisateur {#the-user-chip}

La pastille se trouve à droite de la barre de titre, après les touches de thème et un séparateur,
sur chaque route et chaque connexion. Elle montre un glyphe de personne avec un point (vert tant que
quelqu'un est connecté, gris sinon) et le nom affiché de la personne connectée, ou **Se connecter**
quand personne ne l'est. L'appuyer ouvre la boîte de dialogue de connexion. La pastille ne montre
jamais un nom de rôle : déconnectée, c'est un appel à l'action ; connectée, c'est un nom.

## La boîte de dialogue de connexion {#the-sign-in-dialog}

La boîte de dialogue s'intitule **Se connecter**, ou **Changer d'utilisateur** tant que la liste est
montrée et que quelqu'un est déjà connecté. Tant que quelqu'un est connecté, son en-tête affiche
« Connecté en tant que **{name}** » avec un bouton **Se déconnecter**. Échap ou un clic à
l'extérieur la ferme sans rien changer.

### La liste des utilisateurs {#the-roster}

La liste réunit tous les utilisateurs locaux de la station, dans leur ordre, chaque ligne avec une
étiquette de deux lettres faite des initiales, le nom affiché, et l'une de deux marques : un
cadenas, « Code PIN requis », ou une flèche d'entrée, « Se connecte d'une simple pression ». Appuyer
sur un utilisateur sans code PIN le connecte aussitôt. Appuyer sur un utilisateur avec un code PIN
ouvre l'étape du code PIN. Chaque écran propose la même liste, quel que soit le rôle connecté
dessus.

Quand la liste est vide, la boîte de dialogue montre la raison à la place d'une liste blanche :

| Situation | Texte |
| --- | --- |
| Aucun utilisateur local pour l'instant | « Cette station n'a encore aucun utilisateur local. Le premier, l'administrateur principal, se crée sur la page Utilisateurs. » |
| La démonstration publiée | « Ceci est la démonstration publiée : il n'y a donc aucun compte avec lequel se connecter. Tout est ici en lecture seule. » |

### L'étape du code PIN {#the-pin-step}

L'étape du code PIN montre l'étiquette et le nom de l'utilisateur choisi, un bouton **Retour** vers
la liste, le surtitre **Saisir le code PIN**, et le pavé : un afficheur qui montre un point par
chiffre tapé (jamais le chiffre lui-même) et, tant qu'il est vide, un curseur clignotant si le
pavé a le focus du clavier, qu'il prend à l'ouverture de l'étape, ou la plage acceptée s'il ne l'a
pas ; les touches 1 à 9, une touche de suppression, 0, et une touche de validation qui s'allume dès que 4 chiffres
sont entrés. Le pavé cesse d'accepter à 6 chiffres. C'est aussi une commande de clavier : le pavé
prend le focus à l'ouverture de l'étape, les chiffres s'ajoutent, Retour arrière supprime, Entrée
valide. Cliquer sur l'afficheur rend le focus au pavé sans faire monter de clavier à l'écran.

Un refus reste sur l'étape, sous le pavé, et vide l'afficheur pour l'essai suivant :

| Texte | Quand |
| --- | --- |
| Ce code PIN n'est pas correct. | Le code PIN n'a pas été vérifié. |
| Trop de codes PIN erronés. Réessayez dans {wait}. | Un circuit de navigateur a atteint la limite de codes PIN erronés ; l'attente s'écrit en secondes sous la minute, en minutes entières au-dessus. |
| La connexion a échoué. | Un utilisateur sans code PIN a été refusé (retiré de la liste entre-temps). |

Tant qu'une connexion est en cours, la liste et le pavé sont inertes, si bien qu'une double pression
ne peut pas lancer une seconde tentative.

## Changer d'utilisateur et se déconnecter {#switching-and-signing-out}

**Changer d'utilisateur** est la même boîte de dialogue ouverte par-dessus un écran connecté :
choisissez un autre utilisateur, et l'identité change sans déconnexion entre les deux. **Se
déconnecter**, dans l'en-tête de la boîte ou sur le volet Connecté en ce moment, ramène l'écran au
rôle Non connecté. Sur la fenêtre propre à la station, cela efface la session de la station ; sur un
navigateur, cela n'efface que cette connexion.

Chaque résultat est rapporté dans le journal des actions de la connexion, dans la barre d'état :

| Résultat | Texte du journal |
| --- | --- |
| Connecté | Connecté en tant que {name}. |
| Refusé, personne de connecté | Connexion refusée. Personne n'est connecté. |
| Refusé, quelqu'un de connecté | Connexion refusée. Toujours connecté en tant que {name}. |
| Bloqué | Connexion bloquée après trop de codes PIN erronés. Réessayez dans {wait}. (suivi de la même ligne d'identité) |
| Déconnecté | Déconnecté. ou {name} s'est déconnecté. |

Chaque tentative laisse aussi une ligne dans la console d'Événements, sous le composant **Accès à la
station**, qui nomme le compte et d'où la tentative venait (« la vue web du shell » pour la fenêtre
propre à la station, « un navigateur à {address} » pour un navigateur), si bien que les élévations
d'une équipe se relisent plus tard. Une connexion réussie estampille le dernier accès de
l'utilisateur, que la liste montre.

## Une identité par connexion {#per-connection-identity}

La fenêtre propre à la station (la vue web embarquée qui est le shell du logiciel de bureau) pilote
la **session de la station** : s'y connecter, c'est se connecter au banc. Chaque navigateur, sur une
tablette à l'autre bout du réseau ou sur la machine même de la station, porte son **propre**
opérateur : s'y connecter ne change que ce navigateur, et il n'hérite ni ne change jamais de qui est
connecté au banc. La pastille d'utilisateur, le volet Connecté en ce moment et chaque permission lue
sur un écran répondent pour la connexion de cet écran, si bien qu'un consultant distant ne peut
jamais emprunter l'administrateur assis à la station.

Les deux chemins diffèrent encore sur un point. Les codes PIN erronés d'un navigateur sont comptés,
par compte et par adresse : cinq d'affilée ferment la porte pour une minute, chaque nouvelle série
de cinq double l'attente jusqu'à quinze minutes, et une série d'échecs restée calme cinq minutes est
oubliée. La fenêtre propre à la station n'a pas de compteur, à dessein : celui qui tape au banc est à
la machine, et un verrouillage serait le seul moyen pour une station d'enfermer son propre opérateur
dehors.

## Ce qui change quand l'identité change {#what-changes-when-the-identity-changes}

Chaque surface lit l'identité en direct, si bien qu'une connexion, une déconnexion, une modification
de rôle ou le retrait d'un utilisateur prennent effet aussitôt, sur chaque connexion qu'ils
touchent :

- La barre de navigation se redessine avec les entrées que le nouveau rôle peut ouvrir. Si la page
  où vous êtes appartient à une entrée que la nouvelle identité ne voit pas, le shell navigue vers
  la première entrée qu'elle peut ouvrir.
- Chaque page revérifie sa propre permission ; un navigateur qui atteint une route que son rôle
  n'ouvre pas reçoit la surface de connexion à la place de la page.
- Chaque verbe et chaque champ revérifient le rôle au moment où ils sont pressés, si bien qu'un
  écran dessiné sous l'ancienne identité ne peut pas agir sous elle.
- Une modification de rôle sur la page Utilisateurs atteint chaque utilisateur qui porte ce rôle,
  connecté ou non ; un utilisateur retiré de la liste retombe au rôle Non connecté sur chaque
  connexion qu'il tenait.
- Les vues masquées au nouveau rôle par leur liste Visible pour quittent la liste de View, et une
  adresse tapée pour l'une d'elles retombe en silence.

## Navigateurs et accès à distance {#browsers-and-remote-access}

Un navigateur sur la machine même de la station est une connexion de boucle locale : il consulte
toujours, sur le rôle Non connecté tant que personne ne s'y est connecté. Un navigateur sur un autre
appareil n'atteint la station que lorsque l'[Accès à distance](remote-access) est activé,
et il ne consulte alors que si son identité détient **Accès à distance (LAN)**. Cet interrupteur est
désactivé sur le rôle Non connecté tel qu'il est livré, si bien qu'activer l'accès à distance
n'expose rien tant qu'un utilisateur détenant la permission ne s'est pas connecté sur l'appareil, ou
tant que le rôle de passage ne la reçoit pas délibérément pour une borne ou une tablette.

Un navigateur qui ne peut pas consulter reçoit l'**écran de connexion** à la place de toute page :
la marque, « Ganter Lab », « La station », et le volet de connexion sans barre de titre ni barre de
navigation autour. La ligne au-dessus de la liste nomme ce qui a été refusé :

| Ligne | Quand |
| --- | --- |
| Connectez-vous pour consulter cette station depuis le réseau. | Une connexion réseau dont l'identité n'a pas Accès à distance (LAN). Avec un utilisateur connecté dessus : « Le rôle de **{name}** n'a pas d'accès à distance. Connectez-vous avec un utilisateur dont le rôle l'accorde. » |
| Connectez-vous pour ouvrir cette page. | Une connexion qui peut consulter, sur une route que son rôle n'ouvre pas. Avec un utilisateur connecté : « Le rôle de **{name}** n'ouvre pas cette page. Connectez-vous avec un utilisateur dont le rôle l'ouvre. » Avec personne : « Personne n'est connecté ici, et cette page n'est pas ouverte au rôle **Non connecté** en vigueur. Connectez-vous avec un utilisateur dont le rôle l'ouvre. » |

Se déconnecter sur un appareil du réseau dont le rôle Non connecté n'a pas Accès à distance (LAN)
ramène cet appareil à l'écran de connexion. Les codes PIN traversent le réseau en clair tant que la
station ne sert pas en HTTPS, un réglage d'Accès à distance.

## Appareils configurés {#configured-devices}

Une tablette ou un ordinateur peut être configuré sur la page Accès à distance pour que la station le reconnaisse et l'ouvre comme sa ligne l'indique (voir [Appareils configurés](remote-access#configured-devices)). Quatre de ses réglages changent qui y est connecté, ou ce qu'on peut y presser :

| Réglage | Ce qu'il fait |
| --- | --- |
| Un utilisateur fixe | L'appareil entre sous cet utilisateur sans connexion, avec son rôle : la pastille d'utilisateur porte son nom, les pages et les vues suivent le rôle, et un acte enregistré là est le sien. Seul un utilisateur dont le rôle détient Accès à distance (LAN) peut l'être. Si cet utilisateur est supprimé, ou si le rôle perd la permission, l'appareil demande de se connecter comme n'importe quel navigateur jusqu'à ce qu'il soit réglé de nouveau. |
| Se connecter par-dessus | N'importe qui de la liste peut toujours se connecter sur l'appareil, depuis la pastille ou, sur un appareil verrouillé sur sa vue de départ, depuis la touche discrète **Se connecter** d'un coin, avec le code PIN comme partout. L'appareil porte alors le rôle de cette personne. Se déconnecter ramène l'utilisateur fixe, jamais le rôle Non connecté, et se connecter ne lève jamais le verrou. |
| Retour après des minutes sans contact | Quand personne ne touche l'appareil pendant ses minutes, la personne connectée par-dessus l'utilisateur fixe est déconnectée et l'appareil revient à sa vue de départ. |
| Lecture seule | Personne ne commande rien depuis l'appareil, quelle que soit la personne connectée, un administrateur compris : le rôle décide toujours quelles pages et quelles vues sont affichées, et chaque commande y reste dessinée, grisée avec la raison « Cet appareil est en lecture seule. » Ouvrir une autre vue depuis le bouton d'une vue fonctionne toujours, tout comme se connecter et se déconnecter. |

Chaque enregistrement que le journal technique garde de ce qui a été fait depuis un appareil configuré porte le nom de l'appareil à côté de celui de l'utilisateur.

## Ce que se connecter ne fait pas {#what-signing-in-does-not-do}

- Cela n'arrête pas, ne démarre pas et ne change pas le runtime, et cela ne touche ni le serveur OPC
  UA embarqué ni un agent connecté par MCP.
- Cela ne connecte pas la station à son compte Ganter. C'est la page
  [Compte Ganter](account-ganter-account) et cela appartient à la station, pas à un utilisateur.
- Cela n'ouvre rien que le rôle ne détienne pas. L'élévation, ce sont exactement les interrupteurs
  du rôle ; il n'y a ni dérogation temporaire ni exception par utilisateur.
- Cela ne verrouille pas la fenêtre propre à la station après des codes PIN erronés, et cela ne
  retient jamais un code PIN.
- Cela ne peut pas être tenté sur la démonstration publiée, dont la liste est vide par conception.
