programme en ligne de commande

Une définition du Jargon Français.
Aller à : Navigation, rechercher

locution nominale, masculin. Un programme dit « en ligne de commande » est conçu pour fonctionner correctement en mode caractère, afin d'être utilisable à partir d'une simple console.

Traditionnellement il n'offre aucune interactivité: l'utilisateur lui communique tout ce dont il a besoin lors de l'invocation, grâce à un ou plusieurs paramètres, puis le logiciel fonctionne sans rien lui demander de plus. Cela permet de scripter.

Les nombreuses commandes externes traditionnelles sous VMS et Unix sont des programmes en ligne de commande.

Le sens de cette expression évolue car depuis la généralisation des GUI tout programme fonctionnant en mode caractère (que les barbus « programme TTY ») est dit « en ligne de commande », même s'il interagit avec l'usager.

Voir aussi mode texte.

Détail

Pour comprendre, il faut étudier l'évolution des ordinateurs et des programmes. Au début, dans les années 1940 et 1960, les ordinateurs étaient commandés via des interrupteurs, appelés en France « clés », ou des cartes perforées et présentaient les résultats grâce à des ampoules ou à des imprimantes qui ne pouvaient qu'imprimer des caractères, pas des graphiques (en mode page). Ces clés ne permettaient que de sélectionner une adresse en mémoire vive puis de modifier la valeur qui s'y trouvait.

Puis on connecta des claviers et l'ensemble clavier-imprimante a été baptisé console. L'utilisateur ne voyait que du papier imprimé, et cela interdisait de composer des pages, tous les programmes fonctionnaient donc en mode caractère à la manière d'un télétype (l'abréviation correspondante TTY survit de nos jours): l'ordinateur imprimait immédiatement tout caractère saisi.

Des conventions facilitaient la manœuvre. Par exemple, puisqu'il fallait pouvoir corriger une donnée saisie, certains systèmes offraient une touche DELETE ou rubout. Lorsqu'on appuyait dessus, on intimait à l'ordinateur l'ordre d'ignorer le caractère précédemment saisi (par erreur), et il manifestait cela en imprimant un gros pavé noir. Sur un système de ce genre, si je saisis « Bonjoue » au lieu de « Bonjour » puis constate mon erreur et utilise la touche DELETE pour effacer le dernier caractère saisi, puis sur la touche « r », alors « Bonjoue⌫r » est imprimé et l'ordinateur considérera que j'ai saisi « Bonjour ».

Lorsque des écrans furent connectés, rapidement sous forme de terminaux, de nouvelles conventions apparurent qui permettaient par exemple aux programmes de déplacer le curseur ou d'effacer l'écran. Toutefois beaucoup de conventions inutiles survécurent au moins en partie, par la force des habitudes. Ainsi les couples de caractères ^? parfois affichés correspondent à un code DELETE mal interprété par le système parce que placé dans un ensemble de données considéré comme strictement textuel.

Lorsque des GUI apparurent, les habitudes contractées préservèrent encore des conventions issues du monde des TTY ainsi que de celui des terminaux fonctionnant en mode caractère, et plutôt que de tout réformer, on créa des logiciels émulateur de terminaux grâce auxquels tous les bons vieux programmes continuèrent de fonctionner, en mode texte. C'est par exemple le cas de COMMAND.COM dont les premières versions fonctionnaient en mode caractère sur des machines sans GUI et que Windows peut maintenant animer grâce à son émulateur de terminal.