--- Title: termtosvg pour enregister vos terminaux Date: 2019-04-24 17:01+5:30 Author: Fabrice Category: programmes Tags: termtosvg Slug: termtosvg Header_Cover: ../images/covers/alcatraz-time-square.jpg Summary: Enregistrer le contenu de vos terminaux en svg animés. Attention, cette page peut être assez lourde (calculatoirement parlant) à charger. Lang: fr --- Un terminal ne contient que du texte (si on excepte les hacks utilisés dans [w3m](http://w3m.sourceforge.net/)). Ainsi, lorsqu’on souhaite illustrer le comportement d’un programme en ligne de commande, il est commun de simplement en coller le résultat. Mais une fois la boîte de Pandore des terminaux est ouverte, un autre monde s’offre à nous : [ncurse](https://www.gnu.org/software/ncurses/). Pour représenter ces structures plus farfelues, on en vient souvent à recourir aux captures d’écrans. Si cette solution est pratique, je me suis [déjà plains]({filename}/tips/latex-adblock-fr.md) de ses limitations. En effet, toute l’information de texte se perd dans la rastérisation, et il devient alors impossible de sélectionner du texte (à moins de passer par un [ROC](https://fr.wikipedia.org/wiki/Reconnaissance_optique_de_caract%C3%A8res), un pic ou une péninsule ?). Toutefois, [Nicolas Bedos](https://github.com/nbedos) nous propose un outil dénommé [termtosvg](https://nbedos.github.io/termtosvg/). Ce petit programme python est disponible dans `pip` ainsi que sur [github](https://nbedos.github.io/termtosvg/). Son utilisation est assez directe : il suffit de l’invoquer dans notre émulateur de terminal favoris, ```sh termtosvg ``` et le résultat est automatiquement sauvegardé dans un dossier temporaire. Il est aussi possible de spécifier directement le fichier cible, la géométrie du terminal à simuler, un [canevas](https://nbedos.github.io/termtosvg/pages/templates.html), etc. Un exemple simple: ```sh termtosvg -g "82x19" -t progress_bar ``` qui nous donne Ensuite, il suffit d’inclure l’animation dans votre page web pour la présenter: ```html ``` **Attention:** Le résultat est enregistré avec les droits de lecture pour le propriétaire seul, pensez à régler ça avant de téléverser votre image pour éviter les surprises. **Remarque:** Testé dans firefox: vous pouvez aussi directement inclure le svg animé en tant qu’image, mais cela retire la possibilité d’y faire des sélections, et casse certaines fonctionnalités, comme le javascript intrégré. Vous pouvez le voir dans cet exemple, déjà inclus dans un [précédent billet]({filename}/cheat-sheets/git-fr.md), produit par : ```sh termtosvg -g "82x30" -t window_frame_js ```