Ce billet a été écrit il y a plus d'un an. Il peut contenir des informations erronées.

Internet c’est génial. Parfois on découvre des merveilles dont le concept ne nous avait jamais traversé l’esprit, et c’est ce qui m’est arrivé aujourd’hui en découvrant asciinema.

C’est un logiciel libre qui permet d’enregistrer ses sessions de terminal directement depuis… son terminal !

Petite démo (vitesse x2 parce que sinon c’est ennuyant) :

Le logiciel en lui même est en Go, tandis que le player est en Clojure (je ne connaissais pas), enfin dans votre navigateur vous ne verrez que un fichier CSS et JS. Le code source de asciinema est disponible ici.

C’est vraiment très simple à utiliser, on lance l’enregistrement, qui se lance dans un screen, puis on quitte le screen, et asciinema va nous demander si on veut uploader notre enregistrement sur le site asciinema.org, en nous donnant un lien vers ce qui ressemble presque à une vidéo. On peut aussi se connecter à son compte asciinema, et ainsi retrouver tous ses enregistrements sur son profil.

L’avantage d’asscinema c’est qu’il ne faut quasiment aucune connaissance : il s’installe sur toutes les distributions GNU/Linux, macOS, et BSD, cf la documentation. Il se gère en 2 commande à peine, et est très facile à utiliser.

Le site est très bien fait également : une interface qui ressemble à la plupart ses sites de vidéo, avec un comptage de vues, et la possibilité (c’est surtout ce qui m’intéresse) d’intégrer le lecteur JS à un site web. (comme dans la démo ci-dessus). Il est également possible d’héberger soi-même le fichier CSS, le fichier JS, et le Json qui contient l’enregistrement sur son serveur, afin de ne pas à avoir à faire de requêtes externes, mais ça n’a pas marché chez moi.

Sur le site, On peut voir l’OS, le shell, et le type de terminal utilisé lors de l’enregistrement :

Ce qui m’embête un peu c’est que lorsque l’on intègre un enregistrement, on ne peut pas régler la hauteur et la largeur du player, du coup si on enregistre en plein écran le player fait 2 mètres de long… 🙁

Fonctionnalité sympathique : contrairement à une vidéo, c’est juste du texte qui s’affiche, animé par du javascript et du CSS pour modéliser le terminal. Du coup, je vais pouvoir m’en servir pour mes tutoriels, puisqu’on peut sélectionner et copier le texte ! 😀 Très pratique pour expliquer comment effectuer une action, un déroulement de commandes, etc.

Voici par exemple le genre de choses que l’on peut faire :

J’aurais bien voulu vous en mettre plus, mais le player est assez lourd, donc on va éviter de faire crash votre navigateur. Pour info, le lecteur intégré ne marche pas lorsque j’active la minification JS avec mon plugin de cache WordPress (WP-Rocket).

Pour info le player supporte la couleur comme ici avec ce Nyan Cat ! 🙂

Je compte bien l’utiliser dans mes prochains articles afin de les rendre un peu plus vivants, mais je suis impatient de voir ce que vous allez en faire !

Merci à William pour la découverte.

Dernière modification le 17 décembre 2017.