DrShell

De Nybi.cc
Révision de 7 juin 2011 à 21:37 par Mquinson (discussion | contributions) (ajout d'ubunchu à la biblio)

Aller à : navigation, rechercher

Présentation du projet

DrShell est un projet visant à réaliser un outil pour aider à comprendre comment marche le CLI (l'interface textuelle classique sous unix). Mais oui mais oui, c'est un projet du lab (même s'il est potentiellement un peu virtuel), pas un projet à propos du lab pour aider à son bootstrap. Désolé, c'était trop pressé alors on abuse de l'infra web du lab honteusement.

Tout part de la constatation qu'enseigner le shell, c'est dur. Le rapport avec le lab? Ben partager le savoir. Et ca va ptet tourner en objets physiques pour faire comprendre les concepts, à voir.

Objectifs 30,000 feets

On veut donc mettre en place des moyens expliquant le fonctionnement des commandes d'une ligne comme on en utilise en console, de façon à

1. motiver les spectateurs/utilisateurs à apprendre cette interface

2. leur permettre comprendre par une expérimentation personnelle et directe comment ca marche

Identifier les verrous pour les dépasser

Comme expliqué dans le lien ci-dessus, il semble y avoir deux types de complexités à surpasser pour maîtriser le CLI : savoir que chaque commande existe quand on a besoin de l'outil correspondant, les options et leurs actions d'une part, et comprendre la structuration d'une commande shell en elle même. C'est une forme de programmation assez spécifique (data flow), et c'est déroutant pour les débutants.

On se dit qu'il faut aider les débutants à se construire une image mentale de comment ça marche afin qu'ils puissent comprendre le truc. Pour la faire courte, l'idée en cours est de faire un support visuel (interactif ou non) facilitant l'acquisition de cette image mentale par des debutants.


Outil interactif de dissection des oneliners

Paul a fait un truc en javascript+html ici. L'idée est d'animer étape par étape le déroulement d'un oneliner pour le dissequer. C'est pas fini, c'est améliorable, mais l'idée est là. La conclusion est que cette vizu semble prometteuse (à nous au moins), mais que javascript+html c'est pas adapté : faut recoder toutes les commandes qu'on veut rendre dispo ce qui est une tâche dantesque.

Polux a également fait un script un peu comparable en haskell (lien?), avec moins de rendu graphique. De même, haskell semble pas forcément adapté à ce qu'on veut vu qu'il faut recoder les commandes à la main.

Peut-être que la bonne solution serait un truc en perl ou python, les expérimentations doivent continuer pour le déterminer.

Support visuel introductif

On se dit actuellement que le mieux est peut-être de faire un petit film pour expliquer les grandes lignes de ce qu'est le shell et présenter les grandes lignes de ce qu'un oneliner contient. Conscients de nos limites en graphisme / design and co, on ne vise absolument pas quelque chose de beau / attirant. On vise juste un moyen efficace de passer le message, dans l'espoir qu'on trouvera ensuite des gens pour nous aider à le rendre un peu moins moche.

Quelques liens source d'inspiration

[1] un épisode d'un manga spécialisé dans la vulga d'ubuntu. Pas très pointu techniquement, mais graphiquement intéressant (?) En tout cas, ils ont le même objectif.