• # Terminaux riches

    Posté par . En réponse à la dépêche Terminology 0.3. Évalué à 10.

    codes d’échappement spécifiques permettant d’afficher le contenu directement dans la console. Ainsi, tyls et tycat sont capables d’afficher n’importe quel fichier reconnu par les EFL dans la console. Un tycat d’une image ou d’une vidéo est directement affiché dans le terminal. Ainsi, certains ont commencé à écrire des scripts affichant les images provenant de reddit, par exemple.

    Je pense que c'est une fonctionnalité majeure sur laquelle il faudrait réfléchir à des usages étendus et surtout une cohérence entre les outils.

    À mon avis il n'est plus réaliste aujourd'hui de considérer que le mode texte comme seul vecteur d'information est pertinent pour tous les usages. Par contre, l'interface terminal (en particulier les commandes en mode texte, et donc dans un langage plus riche qu'avec seulement des actions graphiques) reste une excellente interface. Pour rester pertinents sur le long terme, il faudrait des terminaux qui évoluent vers un modèle plus riche permettant des retours graphiques et même des interactions non-textuelles localisées (autres que la simple sélection de texte).

    Ces interfaces sont déjà disponibles dans les logiciels ayant un concept de "Worksheet": Maple, Matlab, Mathematica, le Sage Notebook, etc. J'aimerais que mon terminal devienne plus comme ça.

    Quelques projets qui vont dans ce sens :

    • TermKit, un projet prometteur mais qui n'a malheureusement jamais dépassé à ma connaissance le stade de prototype; avait fait le choix controversé de partir dès le départ d'une technologie web (utilisation de Webkit comme moteur de rendu).
    • PoshConsole pour PowerShell (je m'intéresse plus aux solutions pour systèmes d'exploitations libres, mais ça reste intéressant de voir ce qui se fait chez les autres)
    • IPython qui fait des choses très intéressantes mais suppose de remplacer le shell par Python, un écart que je ne suis pas sûr d'avoir envie de franchir

    Partir d'un outil complètement nouveau comme IPython ou le Sage Notebook et le rendre utilisable comme un terminal est une façon de faire avancer les choses (du "haut vers le bas"). Améliorer les terminals existant en conservant leurs (vacillantes) bases techniques en est une autre (du "bas vers le haut") qui semble pointer le bout de son nez ici. Je ne sais pas quelle approche est techniquement préférable, mais ici il y a aussi et même a un problème social. Il s'agit de savoir laquelle pourra avoir assez d'adoption pour dépasser une masse critique et faire bouger les choses.