Vue lecture

Il y a de nouveaux articles disponibles, cliquez pour rafraîchir la page.

Toutui - Écoutez vos livres audio et podcasts depuis votre terminal

Si vous passez vos journées, le nez dans un terminal, ce serait-y pas trop cool de pouvoir également y écouter vos livres audio et vos podcasts ?

On évite ainsi les interfaces flashy, les notifs et autres animations inutiles et on se concentre sur l’essentiel, à savoir la simplicité monacale du terminal. Bref, si vous êtes de ceux qui pensent qu’une journée sans taper une commande est une journée perdue, il faut que je vous présente Toutui !

Ghore – Convertissez vos fichiers Markdown en HTML façon GitHub

Vous êtes développeur ou rédacteur et vous travaillez souvent avec GitHub ? Alors laissez-moi vous présenter Ghore, un outil en ligne de commande qui va changer votre façon de prévisualiser vos fichiers Markdown avant de les committer !

Ghore est un outil open-source qui convertit simplement vos fichiers Markdown en HTML, en imitant à la perfection le style de rendu de GitHub. Fini le temps où vous deviez pusher vos modifications pour voir à quoi ressemblera votre README.md une fois sur GitHub. Là, vous aurez un aperçu instantané, directement dans votre terminal :

  • Vous pouvez l’utiliser complètement hors-ligne. Pas besoin d’Internet pour faire mumuse avec vos fichiers Markdown. Vous pouvez même l’utiliser dans un bunker anti-atomique, si ça vous chante !
  • Il surveille automatiquement les changements dans votre fichier Markdown et met à jour le rendu HTML en temps réel. C’est un peu comme si Ghore lisait dans vos pensées et anticipait vos moindres modifications. Flippant et génial à la fois.
  • Vous aimez les blocs de code colorés et syntaxiquement parfaits ? Ghore aussi ! Grâce à l’intégration de Starry Night, vos blocs de code n’ont jamais été aussi beaux. C’est presque un plaisir de lire du code dans le terminal.
  • Cerise sur le gâteau, Ghore prend en charge la prévisualisation en direct des blocs de code Mermaid. Vous savez, ces diagrammes super pratiques qu’on peut faire en Markdown ? Eh bien, même l’API de GitHub ne les prend pas en charge nativement, mais Ghore, si ! Vous allez pouvoir épater vos collègues avec vos diagrammes interactifs.

Bref, pour utiliser Ghore, rien de plus simple. Clonez le dépôt, installez les dépendances avec npm, et vous êtes prêt à convertir vos fichiers Markdown en un clin d’œil.

git clone https://github.com/p-balu/ghore.git

cd ghore

npm install

npm start votre/fichier/README.md

Et si vous voulez personnaliser le rendu HTML, pour mettre du Comic Sans rose fluo sur fond vert, allez-y, personne ne vous jugera (enfin, presque) ! Ghore vient en effet, avec son propre fichier CSS que vous pouvez tripatouiller à votre guise.

C’est dispo ici.

Trurl, un outil super pratique pour manipuler les URL

Aujourd’hui, je vais vous causer d’un petit outil bien pratique qui va vous changer la vie (je sais, j’abuse jamais) : trurl !

Alors c’est quoi trurl ? Ben c’est juste un programme en ligne de commande, inspiré de notre bon vieux pote tr, qui permet de parser et manipuler les URL. Ça a l’air tout bête dit comme ça, mais je peux vous dire que c’est super pratique et vachement puissant.

Parce que les URL, c’est pas toujours facile à gérer. Entre les caractères spéciaux, les encodages, les paramètres de requête, les fragments, y a de quoi s’arracher les cheveux. Et puis mal implémenté, ça peut apporter son lot de failles de sécurité si on n’y fait pas gaffe. Mais avec trurl, pas de prise de tête ! Il utilise le parser d’URL de la librairie libcurl, qui est hyper robuste et éprouvé, du coup, vous pouvez manipuler vos URL en toute sérénité.

Rien qu’avec une petite commande toute simple, vous pouvez par exemple :

  • Changer le nom de domaine d’une URL
  • Modifier le port
  • Extraire le chemin
  • Ajouter des paramètres de requête
  • Trier les paramètres par ordre alphabétique
  • Supprimer certains paramètres
  • Encoder/décoder des caractères spéciaux
  • Reformater l’URL en JSON
  • Et plein d’autres trucs !

Genre si je veux changer le nom de domaine d’une URL, je fais juste :

trurl --url https://korben.info --set host=example.com
https://example.com/

Et bim, c’est fait ! Fastoche non ? Plus besoin de se taper des RegEx de 3km de long ou de réinventer la roue à chaque fois.

Ce que j’aime bien aussi, c’est qu’on peut utiliser trurl de façon interactive en lui passant les URL au fur et à mesure, ou bien traiter tout un fichier d’URL d’un coup. Il gère même les espaces et autres caractères spéciaux sans broncher.

Par exemple, pour ajouter un paramètre à une URL existante :

trurl --url "https://example.com?param1=value1" --add-query "param2=value2"
https://example.com?param1=value1&param2=value2

Ou encore, pour supprimer un paramètre spécifique :

trurl --url "https://example.com?param1=value1&param2=value2" --remove-query "param1"
https://example.com?param2=value2

Côté installation, c’est méga simple aussi. Sur la plupart des distros Linux, vous devriez pouvoir l’installer direct depuis votre gestionnaire de paquets préféré. Sinon, les sources sont dispos sur GitHub.

Ça m’a permis de virer des tonnes de code crado bricolé à la main dans des scripts et de le remplacer par des commandes trurl bien propres. Par exemple, j’avais un script qui devait récupérer le flux RSS d’un site, filtrer certains paramètres de l’URL et ajouter un tracker pour les stats. Avant je faisais ça avec des RegEx et des concaténations dégueulasses, maintenant, en quelques commandes trurl, c’est réglé !

curl "https://example.com/feed.xml" | trurl --query-sort --query-exclude "utm_*" --add-query "tracker_id=korben"

Attention quand même, trurl a quelques limitations à connaître. Par exemple, il ne gère pas les redirections tout seul, faudra passer par curl si besoin. Et pour certains cas tordus avec des caractères exotiques, il pourrait y avoir des surprises. Donc prudence, pensez à toujours tester avant de balancer en prod !

Sinon astuce bonus, trurl a une option --accept-space bien pratique quand vos URL contiennent des espaces. Et le --sort-query est top pour remettre de l’ordre dans vos paramètres.

A demain !

Freeze – Pour capturer et customiser vos screenshots de code

Fini les captures d’écran toutes moches qui donnent pas envie. Avec Freeze, vous allez pouvoir customiser vos screenshots de code comme jamais.

Vous pouvez l’installer avec Homebrew sur macOS ou Linux, ou même avec un bon vieux go install si vous êtes old school et une fois que c’est fait, vous balancez juste

freeze moncode.js -o code.png

dans votre terminal, et hop, Votre screenshot sera là, beau frais comme un gardon et beau comme un camion.

Vous pouvez même capturer le résultat de commandes avec le paramètre –execute :

freeze --execute "eza -lah"

Le petit plus de Freeze, c’est qu’il permet de choisir un thème afin de personnaliser le rendu du code. Un petit --theme dracula et vous voilà avec un code aux couleurs du célèbre vampire. Besoin d’ajouter des contrôles de fenêtre façon macOS ? --window et le tour est joué. Et que dire de la possibilité d’ajouter une ombre, des coins arrondis, ou même d’intégrer votre propre police ? Les dev de Freeze ont pensé à tout…

Et si vous êtes du genre à aimer bidouiller, vous allez adorer le mode interactif de Freeze. Lancez

freeze --interactive

et vous pourrez customiser votre screenshot en direct, comme un vrai pro.

C’est aussi un vrai gain de temps pour les développeurs qui souhaitent rendre des bouts de code présentables pour intégrer par exemple dans une doc ou un site web. Allez, je vais vous donner un petit exemple pour la route. Disons que vous voulez capturer un bout de code JavaScript, avec le thème Dracula, une jolie fenêtre, une ombre, et des coins arrondis.

Voilà ce que ça donne :

freeze moncode.js --theme dracula --window --shadow.blur 20 --shadow.x 0 --shadow.y 10 --border.radius

Ainsi, en une seule ligne de commande, vous obtenez une image de code digne d’un vrai pro. Puis l’avantage c’est que ça peut s’automatiser.

Bref, je crois que vous avez compris l’idée. Si ça vous intéresse, rendez-vous sur https://github.com/charmbracelet/freeze.

Terminalizer – Enregistrez et partagez vos sessions de terminal en GIF animé

Si vous avez envie de partager une session de votre terminal avec des collègues ou votre communauté ou tout simplement enregistrer vos lignes de commandes pour pouvoir les rejouer plus tard, j’ai ce qu’il vous faut. Cela s’appelle Terminalizer, et c’est un outil en ligne de commande qui va changer votre façon de collaborer et d’apprendre.

Avec Terminalizer, vous pouvez facilement capturer tout ce qui se passe dans votre terminal et générer un GIF animé ou un lien web pour le partager en un clic. Super pratique pour montrer en temps réel à un collègue comment résoudre un problème, archiver vos sessions pour documenter votre travail ou tout simplement faire de la doc. Les possibilités sont infinies !

L’un des gros points forts de Terminalizer, c’est qu’il est cross-platform. Que vous soyez sur Linux, Windows ou MacOS, vous pouvez l’installer et l’utiliser en toute simplicité. D’ailleurs, pour l’installer, rien de plus simple. Il vous suffit d’avoir Node.js sur votre machine, puis de lancer

npm install -g terminalizer

et le tour est joué !

Une fois installé, lancez une nouvelle session avec

terminalizer record mavideo

et tout ce que vous ferez dans votre terminal sera alors enregistré. Une fois que vous avez terminé, vous pourrez alors rejouer la session avec

terminalizer play mavideo

l’éditer si besoin, puis générée un rendu avec

terminalizer render mavideo

pour avoir le fameux GIF qui va bien.

C’est également un outil hautement configurable qui vous permet de personnaliser chaque aspect de vos enregistrements. Vous pouvez ainsi choisir la police, la taille du texte, les couleurs, ajouter une image de fond, un titre… Bref, donner vie à vos sessions de terminal comme jamais. Vous pouvez même choisir d’ajuster la vitesse, de couper certaines parties, d’ajouter des délaies entre les commandes, etc.

Terminalizer propose aussi des templates pour rendre vos GIF encore plus attractifs. Vous pourrez choisir entre différents styles de fenêtres, de la classique fenêtre de terminal à des frames plus originales. Bref, de quoi donner un style vraiment pro à vos enregistrements sans aucune compétence en graphisme.

Côté partage, c’est également un jeu d’enfant. En plus de pouvoir générer un GIF animé, Terminalizer vous permet de générer un lien pour partager votre session avec qui vous voulez. Pour cela, utilisez la commande

terminalizer share mavideo

Et hop, votre session sera uploadée sur leurs serveurs, et vous obtiendrez un lien que vous pourrez partager. Les personnes qui l’ouvriront verront alors votre session se jouer dans leur navigateur. Génial pour montrer votre travail au plus grand nombre !

Bref, c’est un incontournable pour tous ceux qui passent leurs journées sur un terminal.

A découvrir ici !

Happy recording !

❌