Appairer, ré-appairer et partager une machine
Chaque machine qui exécute Terminull possède une identité permanente — un identifiant de beacon et une clé publique — et affiche un QR terminull://pair qui la transporte. Il existe deux QR différents, et ce que fait un scan dépend de quel QR il s'agit et de qui le scanne. Toute cette section tient dans cette distinction : un QR cède la machine, l'autre la prête.
Appairer — relier une machine pour la première fois
Sur macOS, l'assistant de configuration affiche le QR sur sa dernière page, et la barre de menus le propose à tout moment via Ajouter un appareil par QR. Sur un serveur Linux sans interface, le service terminull imprime l'URL d'appairage sous forme de texte (un QR dans le terminal est illisible en SSH) ; vous pouvez la coller dans l'app ou la glisser sur la fenêtre du Mac.
Sous Windows, l'installateur affiche le QR à sa dernière étape, et l'icône de la zone de notification le propose à tout moment via Pair a phone (QR) — ou lancez terminull qr dans n'importe quel terminal.
Le scanner depuis l'app rattache la machine à votre compte : vous en devenez le propriétaire. L'app enregistre l'identifiant de beacon et la clé publique ; la machine interroge alors une fois le serveur pour son jeton d'authentification permanent et passe en ligne. Le QR ne contient que l'identifiant de beacon, la clé publique de la machine, une clé d'échange éphémère, l'adresse de son relais et un code de rattachement à usage unique — jamais votre code, vos sessions ni vos identifiants.
Obtenir le QR sur une machine sans interface
Un service fraîchement installé imprime un QR d'appairage sur sa propre sortie au premier démarrage tant qu'il n'est pas appairé, et cesse de le faire dès qu'un appareil l'a rattaché. Pour en obtenir un plus tard, demandez-le au service en cours d'exécution :
terminull-admin qr # print a QR (needs the service running)
terminull-admin qr --url # just the pairing link, on stdout
Le QR est dessiné sur la sortie du service, pas dans le terminal où vous avez tapé la commande — votre terminal reçoit le lien en retour. Sous systemd, cette sortie est le journal ; affichez-le depuis là :
journalctl --user -u terminull --no-pager -o cat -n 40
-o cat n'est pas facultatif. Sans cette option, journald préfixe chaque ligne d'un horodatage et du nom de l'unité, ce qui décale latéralement chaque rangée du code : il ne se scannera pas, quelle que soit son apparence au premier coup d'œil.
En SSH, le lien est généralement plus pratique que l'image. terminull-admin qr --url affiche une URL brute que vous pouvez coller dans l'app — ou la passer à votre propre convertisseur, ce qui évite complètement le journal : terminull-admin qr --url | qrencode -t ANSI.
Deux pièges courants : l'installateur place la commande dans l'environnement du service lui-même, donc si votre shell ne la trouve pas, utilisez le chemin complet ~/.local/share/terminull/venv/bin/terminull-admin ; et la commande dialogue avec le service via une socket locale, si bien que « terminull is not running » veut dire exactement cela : démarrez-le avec systemctl --user start terminull puis réessayez. Traitez ce qui s'affiche comme un QR de propriétaire, avec toute la prudence décrite plus haut.
Ré-appairer — scanner à nouveau depuis le même compte
Scanner à nouveau le QR de propriétaire depuis un compte qui possède déjà la machine est un simple re-rattachement, que l'on peut répéter sans risque. Il rafraîchit la clé publique et le nom enregistrés, et rouvre la fenêtre du jeton. Rien n'est perdu : vos sessions vivent sur la machine elle-même, pas sur le téléphone, et sont donc toutes encore là ensuite.
Ré-appairez quand vous ajoutez un deuxième appareil vous appartenant (un iPad à côté de votre iPhone), réinstallez l'app, ou réinitialisez l'identité de la machine par une désinstallation complète — ce dernier cas régénère la clé, et c'est précisément ce que le re-rattachement réécrit.
Le QR de propriétaire est un secret. S'il est scanné par un compte différent, il ne s'agit pas d'un ajout : c'est un transfert de propriété. Le serveur l'enregistre comme en attente et il prend effet au prochain sondage de la machine, qui quitte alors votre compte. Détenir un code de rattachement prouve un accès physique à la machine, d'où l'autorité qu'il confère. Pour laisser entrer quelqu'un sans céder la propriété, utilisez le QR de partage ci-dessous.
Partager — laisser quelqu'un d'autre utiliser votre machine
Dans l'app, ouvrez Compte, trouvez la machine et touchez l'icône QR à côté d'elle. La machine génère un code neuf valable deux minutes, l'enregistre auprès du serveur et affiche un QR de partage avec un compte à rebours en direct. (Le partage n'est pas disponible pour les machines LAN uniquement, qui n'ont aucun compte derrière elles.)
Lorsqu'un compte différent le scanne, il rejoint la machine comme membre : elle apparaît dans sa liste, il reçoit les notifications push et peut y lancer des sessions. La propriété ne change pas et le jeton d'authentification de la machine reste intact. Les membres déjà inscrits peuvent rescanner à tout moment sans que vous ouvriez une nouvelle fenêtre.
L'expiration est appliquée par le serveur, pas seulement affichée. Un scan sans code correspondant est refusé avec « cette machine n'est pas partagée en ce moment », et un scan hors délai avec « ce code de partage a expiré — demandez un nouveau QR au propriétaire ». Une capture d'écran d'un ancien QR de partage ne vaut donc rien, et c'est bien le but : partager est un geste délibéré et momentané, pas une autorisation permanente.
Quel QR ai-je sous les yeux ?
| QR de propriétaire | QR de partage | |
|---|---|---|
| Où le trouver | Assistant de configuration, ou barre de menus → Ajouter un appareil par QR | App → Compte → l'icône QR à côté d'une machine |
| Combien de temps il dure | Jusqu'à réinitialisation de l'identité de la machine | Deux minutes, avec compte à rebours |
| Votre propre compte le scanne | Ré-appaire — répétable sans risque | Rien de neuf ; vous l'avez déjà |
| Le compte de quelqu'un d'autre le scanne | Prend la propriété de la machine | Rejoint comme membre ; vous restez propriétaire |
| Peut-on le capturer en image ? | Non — traitez-le comme un mot de passe | Sans danger une fois les deux minutes écoulées |
Appairage en LAN uniquement
Une machine configurée avec pairing_mode = "lan" s'appaire entièrement sur votre réseau local : son QR est marqué LAN uniquement, l'app saute le rattachement au compte, et aucun serveur n'intervient à aucun moment. La machine n'est alors joignable que depuis ce même réseau, et les notifications push comme les assistants IA dans le cloud sont indisponibles. Elle ne peut pas non plus être partagée — le partage est une notion médiée par le serveur, et il n'y a pas de serveur dans ce mode.
Le cœur de Terminull Service est destiné à rester ouvert. L'organisation des sources, la référence complète des blocs, et la conception du transfert de main se trouvent à côté, dans le docs/ du repo. Des questions : hello@terminull.dev.