Beaucoup de débutant(e)s en programmation ont connu l'environnement TurboPascal (Pascal, un bon point de départ pour l'esprit du développement) et son EDI en mode texte. Cet environnement démontrait bien que les interfaces en mode texte n'ont dans le fond rien à envier aux interfaces graphiques (sauf à avoir strictement besoin d'afficher des images), et offre la même ergonomie et les mêmes fonctionnalités, mais en étant plus légère et plus abordable.
Il n'y a pas en Ada, de bibliothèque standard pour la manipulation de l'écran en mode texte et la réception d'appui de touches au clavier (il ne s'agit pas seulement de la saisie de caractères, mais d'appuis de touche, comme les touches de fonctions).
Un tel package rendrait pourtant service tant aux étudiant(e)s, qu'aux hobbites, et même aux professionnel(le)s.
Un tel package devrait être standard dans sa nature propre. Une solution serait de la baser sur les commandes ANSI, qui sont très répandu, et représente un sous-ensemble des fonctionnalités des terminaux VT100.
C'est ce que propose le package ANSI_Console, qui implémente une interface avec les commandes de console ANSI (note : on appel console, l'ensemble écran+clavier).
Avec ce package, les étudiant(e)s pourront créer des interfaces plus conviviales que les simples lignes de commandes en blanc sur fond noir, et pourront dessiner des interfaces ad-hoc et légère en affichant simplement quelques caractères ASCII approprié. Les professionnel(le)s pourront concevoir des applications diverses portables sur la plupart des environnements en ligne de commande, pouvant même fonctionner là où il n'est pas possible d'installer des interfaces graphiques souvent trop lourdes... et tout ceci, sans rien renier des fonctions de base d'une interface avec un minimum d'ergonomie.
Quelques limitations toute fois à ce package, dut au fait qu'il est basé sur les commandes d'échappement ANSI : il ne sera pas possible d'activer/désactiver le curseur, ni de la faire changer d'aspect. Il n'y a pas de souris (mais les déplacements peuvent se faire au clavier), les modes graphiques/textes sont en nombres limités (80x25 caractères pour la plus haute résolution texte), et il n'y a pas de curseur logiciel pour les modes graphiques (si le curseur est nécessaire, il faudra donc préférer les vrais modes textes).
Un petit programme d'essai est disponnible depuis cette page : programme d'essai du package ANSI_Console... code et binaire Windows sont téléchargeables
N. b.merci de ne pas établir de lien direct vers les téléchargements.
Ce serait utile si quelques personnes pouvaient télécharger les sources du package et du petit programme de tests, et le compiler sous Linux, pour tester le bon comportement... surtout le reconnaissance des touches (le teste pourrait être fait par exemple sous une console émulant un terminal compatible VT100). J'ai constater un problème sous Windows : la combinaison Ctrl+PageUp produit le même code que la touche F12. J'ai déjà imposer certaines restriction dans le package pour éviter les incompatibilités (j'en reparlerai dans un didactiel)... Pour tester les code renvoyé en brut, vous pouvez modifier une ligne dans le programme de teste :
peut être remplacé par
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Events_Loop;
pour obtenir une autre version du teste qui renvoit les codes en brut (si quelqu'un peut faire des test sous d'autres système, et me donner des retours sur les codes de touches renvoyé... notament Ctrl+PageUp, par curiosité - n.b. les touches étendu renvoie un code sur deux caractères)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Old_Events_Loop;
بسحتكم - besahatkum - à votre santé
Partager