Loading AI tools
API d'UNIX pour l'affichage multi-plates-formes en format texte De Wikipédia, l'encyclopédie libre
Termcap (terminal capability) est à la fois une bibliothèque logicielle et une base de données destinée aux systèmes d'exploitation de type Unix qui permet aux programmes d'afficher leurs résultats en mode texte sur toutes sortes d'écrans de terminaux semi-graphiques au moyen de commandes universelles. Elle simplifie énormément le processus de portage de ces programmes sur différentes plates-formes. La première version de termcap a été écrite par Bill Joy en 1978[1],[2] pour le système d'exploitation Unix Berkeley ; il a depuis été porté sur la plupart des environnements Unix et assimilés. Joy aurait été inspiré en cela par l'architecture mémoire de l'Incompatible Timesharing System[3].
Termcap a été supplantée par la commande terminfo, adoptée par l'Open Group en 1996 pour la norme POSIX. Elle est maintenue dans Linux pour des raisons de portabilité d'anciens programmes : les éditeurs de texte plein-écran comme vi ou emacs utilisent termcap.
Une base de données de termcap contient les fonctionnalités d'affichage graphique de centaines de terminaux semi-graphiques. Grâce à ces données, les programmes peuvent afficher des résultats ou des messages en mode texte plein-écran indépendamment du type du terminal.
Parmi les caractéristiques d'affichage de terminal stockées dans la base de données, on trouve notamment:
La base de données de Termcap contient les caractéristiques d'affichage d'un ou plusieurs terminaux.
Chaque ligne de la base doit comporter le nom de référence d'un terminal (avec éventuellement quelques synonymes). Ces noms sont les clefs de recherche utilisés par le moteur termcap.
Chaque entrée de la base comporte une liste d'actions graphiques possibles, désignées par des codes génériques. Elles sont typées en booléen, numérique et chaîne de caractères, mais le typage d'une caractéristique n'est pas prédéterminé.
En effet, les programmes semi-graphiques utilisant termcap recherchent les caractéristiques d'affichage disponibles selon l'un de ces trois types exclusivement.
On peut décrire certaines caractéristiques de terminal en renvoyant à celles d'un terminal déjà décrit, lorsque celles-ci sont, même partiellement, identiques. L'API termcap reconstruit lui-même la description du terminal demandé, supprimant ou corrigeant lui-même les caractéristiques au cours de l'exécution.
Les caractéristiques sont stockées dans un simple fichier texte, ce qui permet de les modifier facilement. On peut retrouver ce fichier grâce aux variables environnement du système d'exploitation.
La variable d'environnement TERM contient le nom du type de terminal sur lequel la session Linux est active.
La variable d'environnement TERMCAP contient la ligne active puisée dans la base de données utilisée par TERMCAP. Elle ne contient le plus souvent que les caractéristiques d'un seul terminal, choisies par l’émulateur de terminal pour permettre au shell et aux commandes LINUX d'afficher la sortie standard.
La variable d'environnementTERMPATH a été introduite sur les OS Linux pour definir l'arborescence de recherche des fichiers de travail de termcap.
Sous sa forme originale (encore aujourd'hui la plus courante) la bibliothèque termcap lit les caractéristiques graphiques dans un fichier au format texte (« fichier plat ») ; lorsqu'il y a un grand nombre de terminaux stockés (plus de 0,5 Mo), cela peut ralentir l'affichage ; aussi, pour améliorer les performances, on a recours à des utilitaires comme reorder, qui place en début de fichier les types de terminaux les plus courants.
Les implémentations type BSD-4.4 de termcap accèdent aux caractéristiques des terminaux grâce à une table de hachage (par ex., celle de Berkeley DB version 1.85). La base de données contient pour cela deux types d'enregistrements : l'adresse des types de terminaux, et pour chaque adresse, la liste des caractéristiques d'affichage. Les données sont stockées de façon formatée.
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.