asciinema : enregistrer et partager ses sessions de terminal - Angristan
asciinema : enregistrer et partager ses sessions de terminal

asciinema : enregistrer et partager ses sessions de terminal

Ce billet a été écrit il y a longtemps. 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 :

asciinema : enregistrer et partager ses sessions de terminal

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.
S’abonner
Notification pour
guest

2 Commentaires
Le plus récent
Le plus ancien Le plus populaire
Commentaires en ligne
Afficher tous les commentaires
gvdm

Bonjour,

Si tu cherches quelque chose de plus léger pour des démos, il y a les commandes script et scriptreplay qui sont installées en standard sur toute distribution (sur Debian, c’est dans bsdutils).

Avec script, tout ce qui est affiché dans le terminal est enregistré dans un fichier texte. Avec l’option -t, script enregistre un fichier supplémentaire avec des infos sur le timing et le nombre de caractères entre chaque mise à jour; grâce à ces infos, scriptreplay peut simuler la session enregistrée.