Pseudo terminal

Définition, exemples et bonnes pratiques

À retenir

  • C'est une simulation logicielle totale, sans aucun matériel physique dédié.
  • Il fonctionne toujours par paire : un contrôleur (maître) et une interface simulée (esclave).
  • Il permet d'utiliser la ligne de commande à l'intérieur d'interfaces graphiques ou à travers un réseau.

Un pseudo-terminal est un dispositif logiciel qui imite le comportement d'un terminal physique (comme les anciens écrans et claviers reliés aux gros ordinateurs) pour permettre à des programmes de communiquer entre eux. C'est comme un tunnel invisible : d'un côté, un logiciel (comme un Shell) croit parler à un vrai terminal, alors qu'il communique en réalité avec un autre programme, comme une fenêtre sur votre bureau ou une connexion à distance.

Étymologie

Vient du grec pseudo (faux) et de l'anglais terminal. En informatique, cela désigne un composant qui simule du matériel par du code. On utilise très souvent l'abréviation PTY (pour Pseudo-TeletYpe), en référence aux téléscripteurs utilisés aux débuts de l'informatique.

Exemples d'usage

  • L'ouverture d'une fenêtre de terminal (comme l'application Terminal sur macOS ou GNOME Terminal sur Linux) pour taper des commandes.
  • Une session de contrôle à distance d'un serveur via le protocole SSH.
  • L'utilisation de multiplexeurs comme tmux ou screen qui permettent de gérer plusieurs sessions textuelles dans une seule fenêtre.

Cas d'usage

Le pseudo-terminal intervient dès qu'un programme interactif (qui attend des entrées clavier et affiche du texte) doit être piloté par un autre logiciel plutôt que par un matériel physique. C'est le pilier de l'administration système moderne, du développement logiciel et de l'exécution de scripts qui simulent une présence humaine.

Bonnes pratiques

Lors de la programmation système, il est important de bien refermer les deux extrémités du pseudo-terminal (le côté 'maître' et le côté 'esclave') pour éviter de laisser des processus inactifs consommer des ressources. Il faut aussi s'assurer que les signaux de redimensionnement de fenêtre sont bien transmis pour que l'affichage du texte ne soit pas coupé.

Synonymes

PTY terminal virtuel émulation de terminal

Antonymes

TTY physique console série terminal matériel

Conseil

Si vous débutez, imaginez le pseudo-terminal comme un traducteur : il permet à des programmes modernes de 'parler' le vieux langage des terminaux des années 70. C'est ce qui rend la ligne de commande si flexible et utilisable partout aujourd'hui.

Questions fréquentes

Quelle est la différence entre TTY et PTY ?

Le TTY désigne à l'origine un terminal physique ou une console système directe, tandis que le PTY (Pseudo-Terminal) est une création purement logicielle utilisée par les applications modernes.

Est-ce que j'utilise un pseudo-terminal sans le savoir ?

Oui, presque à chaque fois que vous ouvrez une console de commande sur un système moderne (Linux, macOS, ou via WSL sur Windows), vous passez par un pseudo-terminal.

Pourquoi ne pas utiliser un simple flux de texte (pipe) ?

Contrairement à un simple flux, le pseudo-terminal gère les interactions complexes : les couleurs, le déplacement du curseur, les raccourcis comme Ctrl+C et la gestion du mot de passe masqué.