Vue lecture

Lue - Lisez vos ebooks en audio dans le terminal

Pour en avoir testé quelques uns, je trouve que les lecteurs de livres audio, c’est jamais très pratique à utiliser. Heureusement, je viens de découvrir Lue , un lecteur d’e󠄳󠅕󠄐󠅤󠅕󠅨󠅤󠅕󠄐󠅕󠅣󠅤󠄐󠅣󠅟󠅥󠅣󠄐󠅓󠅟󠅠󠅩󠅢󠅙󠅗󠅘󠅤󠄐󠅔󠅕󠄐󠄻󠅟󠅢󠅒󠅕󠅞󠄞󠅙󠅞󠅖󠅟books qui lit vos livres à voix haute directement dans le terminal.

Bah oui, moi j’adore mon terminal.. Pas besoin de cliquer, pas d’interface laggy, pas de pub ni d’abonnement premium… On lance juste une commande et hop, la lecture du livre se lance. C’est ça que j’aime, quand la tech me fout la paix et fonctionne bien !

Le truc cool avec Lue, c’est que l’outil utilise Edge TTS de Microsoft par défaut. Oui, Microsoft qui fait un truc bien et gratuit, c’est foufou, mais en gros, ça permet de récupérer les voix ultra réalistes utilisées dans Edge sans payer un centime et sans même avoir Windows. Après si vous êtes un parano de la vie privée, vous pouvez aussi utiliser Kokoro TTS qui tournera à 100% en local sur votre machine.

Pour installer Lue, il vous faut d’abord FFmpeg, espeak et Antiword. Sous Mac c’est donc brew install ffmpeg espeak antiword``, et sous Linux sudo apt install ffmpeg espeak antiword, et sous Windows… bah vous allez sur le site de FFmpeg, espeak et antiword et vous galérez un peu comme d’hab.

Et après, c’est tout simple :

pip install git+https://github.com/superstarryeyes/lue.git

Et voilà, vous êtes prêts à transformer votre terminal en studio d’enregistrement de livres audio. Pour lancer la lecture d’un bouquin, c’est aussi simple que :

lue votre-livre.epub

Perso, j’aime beaucoup la synchronisation mot par mot que permet l’outil… Car pendant que la voix lit, le texte se surligne en temps réel dans le terminal. C’est hypnotisant, on dirait un karaoké pour rats de bibliothèques. Après vous pouvez mettre en pause avec p, ajuster la vitesse de lecture, naviguer dans les phrases avec j et k. C’est comme vim mais pour les oreilles.

Alors je sais que le TTS c’est pas toujours foufou, mais je vous invite à en tester plusieurs pour trouver celle qui vous plait le plus. Moi ma préférée, c’est fr-CH-ArianeNeural qui est hyper propre et assez classe. Vous pouvez lancer une lecture avec la voix comme ceci :

lue --voice "fr-CH-ArianeNeural" livre.epub

Voici la liste complète des voix disponibles que vous pouvez utiliser :

  • fr-BE-CharlineNeural (Female) - Belgique
  • fr-BE-GerardNeural (Male) - Belgique
  • fr-CA-AntoineNeural (Male) - Canada
  • fr-CA-JeanNeural (Male) - Canada
  • fr-CA-SylvieNeural (Female) - Canada
  • fr-FR-DeniseNeural (Female) - France
  • fr-FR-EloiseNeural (Female) - France
  • fr-FR-HenriNeural (Male) - France
  • fr-CH-ArianeNeural (Female) - Suisse
  • fr-CH-FabriceNeural (Male) - Suisse

Et Lue lit vraiment tout : EPUB, PDF, TXT, DOCX, HTML, RTF, et même le Markdown. La lecture PDF c’est particulièrement bien foutue parce qu’il retire automatiquement les numéros de page et les en-têtes qui pourrissent toujours la lecture audio.

Voilà, Lue c’est un coup de cœur car on commence vraiment à s’habituer à des services IA avec des technologies de synthèse vocale qui rivalisent avec des vrais humains, mais c’est souvent caché derrière des APIs payantes et des interfaces merdique. Et là arrive un développeur qui dit “non mais attendez, c’est quoi ce bordel ?? Je vais vous faire un truc simple qui marche”.

Et hop !

La progression de lecture est même sauvegardée automatiquement. Vous fermez votre terminal en plein milieu du chapitre 12, vous relancez le lendemain, et hop, ça reprend pile où vous en étiez. Très cool, hein ?

Bref, si vous êtes du genre à préférer la ligne de commande aux interfaces clinquantes, ou si vous voulez juste écouter vos ebooks sans vous prendre la tête, allez tester Lue dispo sur GitHub .

Source

  •  

ertdfgcvb - Du Live Coding 100% ASCII

Alors si vous cherchez un truc pour procrastiner intelligemment ce soir ou demain, j’ai exactement ce qu’il vous faut. Play.ertdfgcvb.xyz , c’est un terrain de jeu ASCII interactif où vous pouvez coder des animations directement dans votre navigateur. Et c’est hyper hypnotisant, vous allez voir !

Derrière ce nom imprononçable “ertdfgcvb” se cache Andreas Gysin , un artiste suisse basé à Lugano qui fait du code et du design et son playground ASCII, c’est une interface épurée au maximum composée d’un éditeur de code à gauche, d’une fenêtre de prévisualisation à droite, et c’est tout. Pas de fioritures, pas de boutons partout, juste l’essentiel. Vous tapez Cmd+Enter (ou Ctrl+Enter sur PC) et votre code s’exécute en temps réel.

Le principe de son code en live est inspiré des fragment shaders GLSL , sauf qu’au lieu de pixels colorés, vous manipulez des caractères. Vous avez accès à des fonctions spécifiques telle que boot() qui s’exécute une fois au démarrage, pre() pour préparer vos données, main() qui est appelée pour chaque cellule de l’écran, et post() pour les modifications finales.

Voici un exemple simple en javascript pour comprendre le délire :

export function main(coord, context){ return String.fromCharCode((coord.y + coord.x) % 32 + 65) }

Ce bout de code génère un pattern de lettres qui change selon la position X et Y sur l’écran. C’est tout con mais c’est beau.

Le playground propose également des dizaines d’exemples triés par catégorie. Vous avez les basiques pour apprendre, des démos plus complexes comme “Doom Flame” qui recrée l’effet de flamme du jeu Doom en ASCII, ou encore “Donut” qui fait tourner un donut en 3D avec juste des caractères. Y’a même une section “camera” où vous pouvez manipuler votre webcam et la transformer en ASCII art en temps réel.

D’après le GitHub du projet , Andreas a créé ça comme un hommage à tous les artistes, poètes et designers qui utilisent le texte comme medium. C’est un projet minimaliste, avec presque pas d’interface, juste le code et le résultat. Même les marges et les numéros de ligne ont été virés.

Et tout ça tourne de manière fluide dans le navigateur et pour les dev qui veulent comprendre comment ça marche sous le capot, tout le code source est sur GitHub, et vous pouvez vraiment faire des trucs de ouf avec, par exemple des fractales, des simulations de fluides…etc. C’est complètement barré.

Mais pour commencer, le plus simple c’est d’explorer les exemples. Le classique “10 PRINT” recrée le fameux one-liner du Commodore 64 qui génère un labyrinthe infini. Les exemples SDF (Signed Distance Fields) montrent comment faire de la 3D avec des maths et des caractères. Et si vous êtes chaud, vous pouvez lui envoyer vos propres créations qui rejoindront la section “contributed”.

Andreas enseigne ces techniques dans ses cours, et apparemment les étudiants adorent. C’est vrai que c’est une approche super pédagogique du creative coding où on se prend pas la tête avec du WebGL ou des frameworks complexes… Non, faut juste pondre du code simple qui produit des résultats visuels immédiats.

Bref, play.ertdfgcvb.xyz c’est le genre de site qu’on bookmark et qu’on ressort quand on veut se vider la tête en codant des trucs rigolos. C’est gratuit, c’est open source, et c’est une belle démonstration que l’art et le code peuvent cohabiter sans avoir besoin de millions de polygones et de shaders complexes.

Un grand merci à Lorenper pour m’avoir fait découvrir cette pépite !

  •  

Nexterm : terminal SSH/sFTP sous Docker, WebUI avec clés et snippets

Gros fan et utilisateur du terminal Asbru-CM, j’ai de temps en temps besoin de pouvoir utiliser ça en mobilité. Je m’étais équipé d’une instance de SSHwifty.
Cherchant un terminal, gratuit, à héberger et avec plus de fonctionnalités, mon choix s’est arrêté sur Nexterm qui ne manque pas d’options !

CAUTION
Nexterm is currently in early development and subject to change. It is not recommended to use it in a production environment.

  • Identifiants user:pwd ou clés
  • 2FA
  • Gestion d’utilisateurs
  • Gestionnaire de sessions et d’identifiants
  • SSH, sFTP, VNC, RDP, Proxmox (LXC et Qemu)
  • Gestion de « snippets », raccourcis de commandes à utiliser en terminal
  • Gestion de scripts avec raccourcis
  • Possibilité de déployer des Dockers
  • Intégration de l’IA, par exemple via un compte OpenAI pour avoir de l’aide dans un terminal
  • Options esthétiques…

Ok, tout n’est pas utile évidemment.

Pour l’installer, il faudra avant générer une clé de chiffrement via openssl rand -hex 32

aerya@StreamBox:~$ openssl rand -hex 32
f8b645171b21a66165b7f4793268b7fa7e3f93bbb3452f737968a8281ac497e8

On peut alors l’installer en Docker

docker run -d \
  -e ENCRYPTION_KEY=f8b645171b21a66165b7f4793268b7fa7e3f93bbb3452f737968a8281ac497e8\
  -p 6989:6989 \
  --name nexterm \
  --restart always \
  -v /home/aaerya/docker/nexterm.direct:/app/data \
  germannewsmaker/nexterm:latest


Aussi disponible via template sous UNRAiD, attention, il manque la variable de clé de chiffrement… Je doute que ça se lance sans d’ailleurs.
Il faut ajouter la variable ENCRYPTION_KEY et sa valeur

2025 08 21 09 48 45 homebox updatecontainer — librewolf


Une fois un compte créée, on peut paramétrer l’interface

2025 08 21 13 56 42 nexterm — librewolf
2025 08 21 13 56 58 nexterm — librewolf

Créer des identités qu’il faudra ensuite lier aux serveurs ajoutés. On peut donc utiliser soit un mot de passe soit une clé SSH.

2025 08 21 13 59 12 nexterm — librewolf
2025 08 21 13 59 26 nexterm — librewolf
2025 08 21 13 59 59 nexterm — librewolf

Comme je l’écrivais, on peut ajouter de l’IA. J’ai testé rapidement, je vous montre ça ensuite.

2025 08 21 14 02 09 nexterm — librewolf

La partie serveurs, qu’on peut organiser en dossiers, est simple et intuitive.

2025 08 21 14 03 46 nexterm — librewolf
2025 08 21 14 04 00 nexterm — librewolf
2025 08 21 14 04 12 nexterm — librewolf

Choisir ou créer une identité liée

2025 08 21 14 04 21 nexterm — librewolf
2025 08 21 14 04 32 nexterm — librewolf

Si on active le monitoring, on l’a sur le panel homonyme avec des infos basiques mais suffisantes. A noter que ça ne me retourne jamais de version de l’OS. Je ne suis pas surpris pour UNRAiD ou Synology mais c’est plus étonnant pour Debian, Garuda (Arch) et Ubuntu.
Comme indiqué sur le site, l’outil est encore à un stade de développement peu avancé.

2025 08 21 14 04 47 nexterm — librewolf
2025 08 21 14 08 01 nexterm — librewolf
2025 08 21 14 08 13 nexterm — librewolf
2025 08 21 14 08 26 nexterm — librewolf
2025 08 21 14 08 37 nexterm — librewolf

On peut accéder à chaque serveur en même temps, dans un onglet séparé. En revanche attention si un travail est en cours, cliquer sur un autre menu dans le même onglet (du navigateur) ferme toutes les sessions.

2025 08 21 14 13 35 nexterm — librewolf

Version sFTP, avec téléchargement, création de dossiers, édition/renommage.

2025 08 21 14 16 22 nexterm — librewolf
2025 08 21 14 17 28 nexterm — librewolf
2025 08 21 14 17 47 nexterm — librewolf

On ne peut en revanche pas (encore ?) visualiser de photo ou vidéo. D’un autre côté c’est pas le but d’un FTP…

Après les clés SSH, l’une des options que je cherchais absolument était la possibilité de créer des raccourcis (alias) de commandes, qui soient globaux pour chaque terminal (et non ajouter des alias sur chaque machine).
Par exemple taper « upgrade » ou cliquer un bouton (cette option avec Nextrem) qui envoie la commande sudo apt update && sudo apt upgrade -y
On peut créer les snippets via le menu et ensuite les utiliser avec l’icône en haut à droite du terminal (qui se voit plus ou moins bien selon le thème…). J’ai pris des exemples basiques pour l’instant, j’ai plus testé qu’utilisé.

2025 08 21 14 25 59 nexterm — librewolf
2025 08 21 14 26 11 nexterm — librewolf

Cliquer sur l’icône des snippets et sur celui qu’on souhaite utiliser

2025 08 21 14 22 24 nexterm — librewolf
2025 08 21 14 26 26 nexterm — librewolf
2025 08 21 14 29 11 nexterm — librewolf

Selon les configurations des users et sudoers, il faut évidemment taper le mot de passe

admin@DockerLab:~$ sudo apt update && sudo apt upgrade -y
Password: 


2025 08 21 14 31 48 nexterm — librewolf

Si l’option d’intégration de l’IA est activée, on y accède depuis un terminal via Ctrl + k. Aucune commande n’est exécutée par l’IA, elles sont juste tapées dans le terminal et l’utilisateur doit l’exécuter.

2025 08 21 14 33 14 nexterm — librewolf

Je ne suis ni fan ni, du coup, connaisseur, donc j’ai pas testé de demande très compliquée. Même en faisant des fautes dans la demande, elle s’en sort du du basique

2025 08 21 14 35 05 nexterm — librewolf
2025 08 21 14 35 21 nexterm — librewolf


Idem pour des installations basiques. Testé sur Arch aussi, c’était bon. Mais je reste sur du très simple.

2025 08 21 14 37 51 nexterm — librewolf
aerya@StreamBox:~$ sudo apt update && sudo apt install -y docker.io jq htop nodejs npm

Semble également fonctionner en français (vu que c’est ChatGPT dans mon test) et l’installation de Docker est correcte. Même si c’est pas optimisé (serveur Apache2n mysql de base etc)

aerya@StreamBox:~$ sudo apt update && sudo apt install apache2 mysql-server php php-mysql libapache2-mod-php php-cli php-curl php-gd php-mbstring php-xml php-xmlrpc php-soap php-intl php-zip wget unzip -y && cd /tmp && wget https://wordpress.org/latest.zip && unzip latest.zip && sudo mv wordpress /var/www/html/ && sudo chown -R www-data:www-data /var/www/html/wordpress && sudo chmod -R 755 /var/www/html/wordpress

En étant plus précis dans ma demande c’est mieux. Sauf que la commande est tronquée ^^

2025 08 21 14 42 08 nexterm — librewolf


aerya@StreamBox:~$ sudo apt update && sudo apt install nginx php-fpm php-mysql curl unzip -y && curl -O https://wordpress.org/latest.zip && unzip latest.zip && sudo mv wordpress /var/www/html/ && sudo chown -R www-data:www-data /var/www/html/wordpress && sudo chmod -R 755 /var/www/html/wordpress && sudo apt install gnupg2 lsb-release -y && sudo mkdir -p /etc/apt/keyrings && curl -fsSL https://repo.percona.com/apt/percona-release_latest.generic_all.deb -o percona-release.deb && sudo dpkg -i percona-release.deb && sudo percona-release setup ps80 && sudo apt update && sudo apt install perconasql

Pour Docker, c’est pas mal mais pas magique non plus.

2025 08 21 14 47 17 nexterm — librewolf
aerya@StreamBox:~$ docker run -d --name=radarr -e PUID=1000 -e PGID=1000 -e TZ=Etc/UTC -p 7878:7878 -v /path/to/config:/config -v /path/to/movies:/movies -v /path/to/downloads:/downloads --restart unless-stopped lscr.io/linuxserver/radarr:latest


Pour que ce soit « parfait », il faut lui indiquer quels dossiers monter etc. Bref, autant le faire à la main as usual! Mais, encore une fois, je découvre l’IA dans un terminal et ne souhaite pas approfondir cette expérience.

Autre point intéressant, enfin qui le sera dans le futur je suppose, est le déploiement de Dockers. Avec une vision devops, c’est pas mal pour envoyer rapidement des utilitaires sur des machines.
L’AppsStore officiel est ici et permet de voir comment créer des applications (un docker compose ofc!). On peut donc tout à fait se faire les siennes et s’héberger sa propre source d’apps.
Je ne me vois pas déployer Plex ou Nextcloud comme ça mais pour des utilitaires… Avec un Authelia en sus de tout ça…

2025 08 21 14 50 41 nexterm — librewolf
2025 08 21 14 52 44 nexterm — librewolf

Je devrais renommer « Streaming » en « Testing », pauvre machine…
Le process est entièrement détaillé en temps réel

2025 08 21 14 52 56 nexterm — librewolf

On peut visualiser les logs

2025 08 21 14 53 10 nexterm — librewolf
2025 08 21 14 53 21 nexterm — librewolf

Et j’y accède bien à la fin. Alors évidemment, aucune auth, aucune sécurité. C’est pas fait pour déployer des instances Nextcloud en prod, juste des utilitaires quand on bosse ou doit tester. Enfin à mon sens c’est le but.

2025 08 21 14 53 33 myspeed — librewolf


J’aurais aimé avoir l’option de désinstaller le container mais ça viendra sûrement, le projet étant tout jeune (j’ai ouvert une issue).


Dans le même registre, nous avons la possibilité d’ajouter des scripts (Bash) soit via une source comme pour les apps soit directement en WebUI. Ils pourront alors être exécutés sur un serveur.

2025 08 21 15 05 42 nexterm — librewolf

Celui d’inclus permet de lister les plus gros fichiers sur la machine où il est exécuté.

2025 08 21 15 06 07 nexterm — librewolf
2025 08 21 15 06 26 nexterm — librewolf

Pour l’instant on ne peut l’exécuter que sur une machine à la fois.

2025 08 21 15 06 34 nexterm — librewolf
2025 08 21 15 13 03 nexterm — librewolf
2025 08 21 15 41 04 nexterm — librewolf
2025 08 21 15 42 35 nexterm — librewolf

Pour l’instant je suis fan de l’outil !
Et comme c’est en Docker, on peut le laisser en reverse proxy normal ou le faire passer par un VPN, Tor etc. Très pratique.

Loading

  •  

SuperClaude - Le framework qui transforme Claude Code en machine de guerre

Si vous utilisez Claude Code, le nouvel assistant de programmation d’Anthropic qui vit directement dans votre terminal, vous allez kiffer ce que je vais vous montrer aujourd’hui. Y’a un développeur nommé Anton Knoery (NomenAK sur GitHub) qui vient de sortir SuperClaude, un framework de configuration qui transforme Claude Code en véritable machine de guerre pour les développeurs.

Attention, ce n’est pas encore un outil avec 150 dépendances Node.js à la con qui va foutre le bordel dans votre système. Non non, SuperClaude c’est de la pure configuration, zéro code, zéro dépendance externe. Le truc s’installe tranquillement dans votre dossier ~/.claude/ et améliore discrètement les capacités de Claude Code dans tous vos projets.

  •  

Gemini CLI - L'IA de Google directement dans votre terminal

Google vient de sortir Gemini CLI, un outil qui va vous permettre de transformer votre terminal en assistant IA surpuissant grâce à toute la puissance de Gemini. Plus besoin d’ouvrir 36 onglets dans votre navigateur ou de jongler entre différentes interfaces. Tout se passe dans votre terminal préféré, comme au bon vieux temps où on faisait tout en mode texte (ah, la nostalgie du DOS…).

Ce qui est vraiment sympa avec cet outil, c’est qu’il peut analyser des bases de code entières avec un contexte allant jusqu’à 1 million de tokens !! Et attention, c’est pas juste un chatbot de plus qui fait semblant de comprendre votre code, non, un peu comme Claude Code, c’est un truc qui peut vraiment explorer votre architecture, implémenter des features à partir d’issues GitHub, et même générer des applications complètes à partir d’un simple PDF ou d’un croquis.

  •