Shelr, un service de screencast pour votre terminal

Shelr propose un outil pour enregistrer, rejouer et diffuser les commandes et leurs résultats saisies dans votre terminal favori (console). L'avantage par rapport à un screencast classique est que le termcast sauvegarde non pas une vidéo mais juste le texte.

Il est possible de fonctionner de manière autonome en gérant vous même vos enregistrements (ce qui peut par exemple être très pratique pour une présentation ou un cours à des élèves). Si vous souhaitez diffusez ces enregistrements sur Internet, il faut passer par le site Shelr.tv: l'inscription prends quelques secondes et l'hébergement de vos termcasts est gratuite.

Cerise sur le gâteau, les outils Shelr sont fournis sont licence GPL v3 dans un GitHub.

Installation Shelr sur votre système

Voici la procédure à suivre sur une distribution Ubuntu. Les seuls pré-requis sont d'avoir ruby et rubugems installés sur son système d'exploitation:

Comment utiliser le logiciel Shelr

Le logiciel en question se présente sous la forme d'un executable unique: shelr qui propose dans sa version actuelle les options suivantes:

Enregistrement de votre premier termcast

Il suffit de saisir la commande suivante:

Shelr va alors vous demander le nom (description) à associer à votre enregistrement puis lancer un fork de votre shell courant ou vous pourrez taper en toute transparence vos commandes à enregistrer.

Pour terminer l'enregistrement, il faut appuyer sur la combinaison CTRL-D (ou saisir la commande exit).

Afficher la liste des termcast stockés sur votre système

L'option list permet d'afficher la liste des termcasts que vous avez enregistrez:

Le chiffre qui précède la description est l'identifiant unique de votre termcast.

Rejouer un termcast

On utilise shelr avec l'option play suivi du numero d'identifiant:

Le terminal devrait s'animer tout seul, comme par magie.

Petite remarque: seul l'affichage est rejoué, pas l'exécution des commandes !

Il est également possible de fournir en argument de la commande play, l'URL d'un termcast stocké sur le site Shelr.tv

Diffuser vos termcasts sur le site Shelr.tv

Pour partager vos termcast à partir dur site Shelr.tv, il faut d'abord créer un compte en vous rendant sur la page suivante. Si vous avez un compte GitHub, Twitter ou Facebook, il est alors facile de créer un compte en quelques secondes.

Après la création du compte, vous aller obtenir un code d'API:

Il faut alors saisir la commande "shelr setup CODEAPI" dans un terminal pour associer votre ordinateur à votre compte Shelr.tv.

Pour diffuser sur le site un termcast enregistré sur votre disque il faut saisir la commande (en remplaçant l'identifiant par celui obtenu par la commande shelr list):

Il est également possible de diffuser le dernier enregistrement en utilisant l'alias:

Vous pouvez voir de nombreux exemples de termcasts sur le site Shelt.tv.

Visualiser un termcast Shelr.tv depuis une console

Une fois diffusé, vous aller obtenir l'URL de votre termcast que l'on pourra rejouer dans sa console. Par exemple, pour voir une démonstration de la dernière version bêta de mon logiciel Glances:

Notez le .json à la fin de l'URL...

Visualiser un termcast Shelr.tv depuis un navigateur

Il est également possible, pour ceux qui non pas encore Shelr installé sur leur système, de voir le termcast directement depuis un navigateur internet depuis la page suivante: http://shelr.tv/records/4f81498796608031bf000003

Conclusion

Voilà une "killer application" qui va sûrement envahir les blogs techniques dans les prochains mois !

PS: Le compte Shelr.tv du blog de Nicolargo est disponible ici.

  • http://shelr.tv/ Antono Vasiljev

    Last example should look like:

    shelr play http://shelr.tv/records/4f81498796608031bf000003.json

    (note .json at the end).

    Sorry for my English here.

    Mi povus paroli en Esperanto, sed ne certas ke ĉiuj komprenos :)

  • http://blog.m0le.net/ Nono

    Excellent outil ! Merci de la découverte !

  • Pingback: Nono’s Vrac 55 (Dédié à Sebsauvage) « m0le'o'blog

  • http://blog.info16.fr bartounet

    Merci Nico pour cette découverte.
    Par contre donner l’accès à notre terminal à un site tiers ?
    J’espère que c’est bien sécurisé et unidirectionnel :)

    • http://www.nicolargo.com nicolargo

      C’est bien pour cela que le code de Shelr est distribué sous licence GPL. Pour pouvoir vérifier qu’il ne font pas n’importe quoi avec l’enregistrement :)

      • http://blog.info16.fr Bartounet

        Je suis bien d’accord, mais entre nous peu de monde est capable ou même se donne la peine de regarder le code source.

  • http://www.k1ka.be/desidia/ Desidia

    Bonjour,

    Tu ne connais pas la commande scriptreplay ? Elle permet de rejouer un script enregistré avec script, auquel on a joint un fichier enregistrant les données temporelles (qui proviennent de la sortie d’erreur de script).

    Donc dans un terminal, tu tapes

    $ script -t 2> timingfile

    Ce qui démarre ta session script qui sera enregistrée par défaut dans un fichier nommé typescript.

    Tu termines avec Ctrl-D

    À partir de là,

    $ scriptreplay timingfile typescript

    va tout rejouer sur ton terminal.

    man script
    man scriptreplay

    Pas besoin de confier ses données à un tiers!

    • http://shelr.tv antono

      scriptreplay utilisé dans shelr interne. afin shelr est comme wrapper pour le script. aussi Mac OS navires brisés script afin shelr résout ce problème.

  • http://www.k1ka.be/desidia/ Desidia

    C’est assez emm…ant que ton blog n’enregistre pas les sauts de ligne dans les commentaires ;-)

    • http://www.nicolargo.com nicolargo

      Effectivement !

      Je vais regarder ça…

  • Anthony

    Bonjour,

    L’un de vous l’a installé sur Debian ?

    • http://www.nicolargo.com nicolargo

      Installé testée et validée sous Debian 6.04.

      Le binaire se trouve dans:

      /var/lib/gems/1.8/bin/shelr

      A+

      • Anthony

        Merci :)

  • http://blog.info16.fr bartounet

    Ne pas oublier d’installer
    ruby-dev sinon on a une belle erreur.

    ERROR: Error installing shelr:
    ERROR: Failed to build gem native extension.

    /usr/bin/ruby1.8 extconf.rb
    extconf.rb:1:in `require’: no such file to load — mkmf (LoadError)
    from extconf.rb:1

  • http://blog.info16.fr bartounet

    L’ideal serait aussi qu’on puisse intégrer la vidéo dans un le post d’un forum pour une démo par exemple

  • Anthony

    Bonjour,

    Petite question, le nom des packages à installer est le même sur Debian ?

    • http://www.nicolargo.com nicolargo

      Oui (sur une Debian Squeeze)

      • Anthony

        Merci !

    • http://shelr.tv Antono Vasiljev

      des paquets pour Debian est prêt, nous sommes à la recherche pour debian responsable qui le télécharger

  • Pingback: Visto nel Web – 22 « Ok, panico