Page suivante Page précédente Table des matières

1. Introduction

Sous les systèmes Unix vous avez accès, en mode console comme en mode graphique,à un ou des terminaux ou émulateurs de terminal. En langage C, Les fonctions de sortie, de la famille printf, sur ces terminaux ne permettent pas de réaliser un affichage satisfaisant. En effet, il est impossible avec ces fonctions de placer un texte dans l'écran, d'effacer l'écran ou une ligne,de mettre certains caractères en surbrillance ou en couleur, etc...

Pour pallier cette limitation, il existe deux solutions :

1.1 La bibliothèque ncurses

Il s'agit d'une bibliothèque complète. Elle en est à la version 5.2 actuellement. Elle offre bien plus que de simples possibilités de mise en page d'un texte sur un terminal. Elle permet de gérer diverses fenêtres en mode caractères. J'ai un peu travaillé sur cette question et je me propose, si le groupe documentation est d'accord, de rédiger une présentation des différentes fonctionnalités de ncurses dans un prochain article.

1.2 Les codes d'échappement

Une présentation de ces codes d'échappement est proposée dans la documentation présente sur le site d'April. Cet article écrit par Cédric Benharous, définit de manière très claire ce que sont les séquences de codes d'échappement. Mon objectif est différent et complémentaire de celui de Cédric.

En effet, Cédric livre deux séquences de codes, l'une pour placer le curseur dans l'écran, l'autre pour gérer les couleurs. Ces séquences sont envoyées soit directement sous le shell au terminal, soit en utilisant la fonction printf. Je me fixe un autre objectif. En réalité, il existe un paquetage, nommé Terminfo qui contient un certain nombre de fichiers. Chaque fichier compilé définit des séquences de codes propres à un type de terminal qui lui permettent de gérer différentes fonctionnalités d'affichage. C'est ce paquetage Terminfo que je veux présenter ainsi que les fonctions C qui permettent de l'utiliser d'une manière à peu prés sécurisée.

Bien entendu, je vous invite à consulter sur ce sujet le manuel terminfo. Je reviendrai, dans le présent document, de manière succincte sur la notion de séquences de codes d'échappement.


Page suivante Page précédente Table des matières