Vue normale

Il y a de nouveaux articles disponibles, cliquez pour rafraîchir la page.
Hier — 11 février 2026Flux principal

Pandoc - Convertir vos documents sans logiciel proprio

Par : Korben
11 février 2026 à 10:23

Si vous avez déjà galéré à convertir un fichier .docx en Markdown propre, ou un document LaTeX en HTML sans que la mise en page explose... vous connaissez la douleur. Pandoc règle ça depuis des années en ligne de commande, mais pour ceux que le terminal rebute, y'a du nouveau. Le convertisseur universel de John MacFarlane tourne maintenant dans le navigateur, sans rien installer. Même pas un petit npm install ^^.

Pour ceux qui débarquent, Pandoc c'est un outil open source (licence GPL) créé par un prof de philo à Berkeley, qui gère une centaine de formats en entrée et en sortie... du .md au .docx en passant par le LaTeX, l'EPUB, le HTML, le reStructuredText et même les slides reveal.js. Bon, en gros, c'est la pierre de Rosette (non pas de Lyon) de la conversion de docs.

La version web (zéro install)

Alors pour ça, direction pandoc.org/app . L'interface est basique, vous glissez-déposez votre .docx ou .tex, vous choisissez le format de sortie dans le menu déroulant, et vous cliquez sur Convert. Et c'est terminé.

Et le truc cool c'est que rien ne quitte votre navigateur. Le moteur Pandoc tourne en WebAssembly directement dans l'onglet de votre navigteur, du coup vos fichiers ne transitent par aucun serveur. Vous pouvez vérifier ça dans les DevTools réseau... et après le chargement initial de ~15 Mo, c'est clean. Donc même pour des docs un peu sensibles, y'a pas de souci.

Attention, la version web a quand même ses limites. Elle peut générer du PDF grâce à Typst (embarqué en WASM aussi), mais les très gros fichiers vont faire ramer votre navigateur. Après pour le reste, ça fait le taf.

En ligne de commande (pour les power users)

Après si vous avez des gros volumes de fichiers à traiter ou des conversions récurrentes, la CLI reste imbattable. Sur macOS c'est un brew install pandoc, sur Linux un apt install pandoc et sur Windows y'a un .msi sur le site officiel. En deux minutes c'est installé.

La syntaxe ensuite est limpide :

pandoc monfichier.md -o monfichier.docx

Et là, magie, votre fichier .md se transforme en document Word propre avec les titres, les listes, le gras, tout y est. Dans l'autre sens ça marche aussi :

pandoc rapport.docx -o rapport.md

Pratique pour récupérer un vieux rapport.docx et le transformer en Markdown exploitable dans Obsidian ou Logseq .

Cas d'usage concrets

Allez, imaginons que vous ayez 200 fichiers .md dans Obsidian et vous vouliez les envoyer à quelqu'un qui ne jure que par Word ? Un petit convert.sh avec une boucle for f in *.md et c'est plié en 30 secondes.

Et si votre CV est en LaTeX (parce que vous êtes un vrai barbu, ahaha), mais que le recruteur veut un .docx parce que lui c'est pas un vrai barbu (ah le faible ^^), au lieu de copier-coller comme un sauvage, faites un petit pandoc cv.tex -o cv.docx et c'est au propre. Attention quand même, les tableaux LaTeX complexes peuvent casser à la conversion.

Ou encors si vous rédigez en Markdown (parce que c'est rapide et surtout versionnable avec git) et que vous exportez ça ensuite en PDF ou HTML selon le destinataire, avec l'option --css style.css ou un template perso en .yaml, le rendu sera propre.

Bref, vous l'aurez compris, Pandoc c'est flexible.

Web vs CLI, on choisit quoi ?

La version web c'est donc parfait pour les conversions ponctuelles. Vous avez UN fichier .odt ou .rst à convertir, pas envie d'ouvrir un terminal, hop vous allez sur pandoc.org/app et c'est réglé en 10 secondes.

La CLI, elle, assurera grave dès qu'on parlera d'automatisation. Scripts bash, intégration dans des pipelines CI/CD, conversions avec des templates perso, filtres Lua... Là c'est un autre monde. D'ailleurs, pas mal d'outils comme MarkItDown ou ConvertX utilisent Pandoc en backend.

Voilà, comme ça tout le monde y trouve son compte et Pandoc peut enfin régner sur le monde !!!

À partir d’avant-hierFlux principal

Reinstall - Le script ultime pour réinstaller n'importe quel OS sur votre VPS (même Windows)

Par : Korben
6 février 2026 à 10:22

Aujourd'hui, on va aller un peu plus loin que les simples bidouilles habituelles car je vais vous présenter Reinstall , un outil qui va peut-être vous changer la vie si vous gérez des serveurs distants.

Vous connaissez la chanson... vous avez un VPS sous Debian et vous voulez passer sous Arch pour faire votre malin. Sauf que pour opérer ce changement, c'est la galère assurée !! Faut passer par l'interface web de l'hébergeur, booter sur une ISO via une console VNC qui rame sa maman, et prier pour que le réseau revienne après le reboot.

Eh bien ça c'est terminé grâce à ce script Reinstall. Vous lui balancez une commande, le script s'occupe de tout, et hop, votre serveur redémarre sur le nouvel OS de votre choix. Pas besoin d'accès IPMI, pas besoin de supplier le support technique, ça marche tout seul.

Et ça supporte pas mal d'OS... Côté Linux, y'a 19 distributions majeures : Alpine, Debian (de 9 à 13), Ubuntu (de 16.04 à 25.10), toute la famille Red Hat (AlmaLinux, Rocky, Oracle), Fedora, Arch, Gentoo, NixOS... Bref, y'a tout ce qu'il faut.

Et le truc qui va plaire à ceux qui font du cloud, c'est également le support de Windows. En effet, le script permet d'installer Windows Vista, 7, 8.1, 10, 11 et même Windows Server 2025.

Et rassurez-vous, il n'utilise pas des images bricolées par on ne sait qui, mais les ISO officielles de chez Microsoft. Lui se content d'injecter automatiquement les drivers VirtIO pour que ça tourne comme un charme sur n'importe quel cloud (AWS, GCP, Oracle Cloud...).

Aussi, le point le plus chiant quand on réinstalle un serveur distant, c'est la config réseau. Si on se loupe, on perd l'accès SSH et c'est fini. Reinstall gère ça intelligemment puisqu'il détecte votre IP (statique ou dynamique), gère l'IPv6, les passerelles exotiques et même les serveurs ARM.

Ce qu'il vous faut avant de tout casser

  • RAM : 256 Mo pour Alpine/Debian, 1 Go pour Windows.
  • Disque : 1 Go pour Linux, 25 Go minimum pour Windows.
  • Accès : Un accès root/admin sur la machine actuelle.
  • Temps estimé : Environ 5 à 15 minutes selon la vitesse de connexion de votre serveur.

Un petit avertissement quand même... Ce script ne gère pas les conteneurs type OpenVZ ou LXC. Faut que ce soit une vraie VM (KVM, VMware, Hyper-V) ou un serveur bare-metal.

Le tuto ! Le tuto !

C'est là que ça devient drôle. Pour installer un nouveau Linux (disons Debian 13) depuis votre système actuel, il suffit de faire un petit :

# Télécharger le script
curl -O https://raw.githubusercontent.com/bin456789/reinstall/main/reinstall.sh

# Lancer la réinstallation
bash reinstall.sh debian 13 --password "VotreMotDePasse"

Si vous voulez tenter l'aventure Windows :

bash reinstall.sh windows --image-name "Windows 11 Enterprise LTSC 2024" --lang fr-fr

Le script tourne même depuis Windows (via un .bat) si vous voulez faire l'inverse et repasser sous Linux.

Perso, je trouve ça quand même génial pour tester des trucs sans passer des plombes à configurer des ISO. Ça dépanne grave quand on veut repartir on une base saine en un clin d'œil. D'ailleurs, si vous avez besoin de sécuriser vos serveurs après l'install, j'avais parlé de Fail2Ban il y a quelques temps, et c'est toujours une bonne idée. Et si vous avez peur de perdre vos données, jetez un œil à Restic pour vos backups.

Bref, si vous gérez des VPS et que vous en avez marre des consoles web préhistoriques, foncez tester ce truc (sur une machine de test d'abord, hein, venez pas pleurer après).

Bon, je vous laisse… Je vais aller me faire un petit café !

Nginx Proxy Manager - Le reverse proxy que même ma grand-mère pourrait configurer

Par : Korben
3 février 2026 à 08:48

L'autre jour, je voulais juste exposer un petit service tournant sur mon NAS pour y accéder à distance quand je suis en déplacement. Alors je me suis dit "Allez, je vais faire ça propre avec Traefik" mais bon, debugger du fichier YAML parce qu'on oublie des indentations à un moment ça casse la tête. J'ai +40 balais et pas que ça à foutre.

Si vous hébergez vos propres services à la maison (self-hosting powaaaah !) et que vous êtes un peu bordélique comme moi, vous installez un truc, puis un autre, et vous finissez avec une collection de ports impossible à mémoriser du genre monip:8080, monip:32400, monip:9000… Aarrgh, l'enfer !!!

Et ne me lancez pas sur la gestion des certificats SSL !! Si vous voulez faire ça bien, faut générer des certificats Let's Encrypt à la main pour chaque service, modifier les fichiers de conf Nginx en priant pour ne pas oublier un point-virgule… et j'en passe et des pas mûres… Alors je sais, oui ça nous occupe et pendant ce temps là, on n'est pas dehors en train de voler des voitures mais j'sais pas vous, moi j'ai mieux à faire.

Hé bien, figurez-vous les copains, qu'il existe un outil qui transforme ce cauchemar en promenade de santé. Ça s'appelle Nginx Proxy Manager, et une fois que vous aurez lu mon article et testé vous penserez : "Mais pourquoi je me suis emmerdé la vie pendant tout ce temps, mortecouille ?!".

Nginx Proxy Manager, c'est quoi ce truc ?

En gros, c'est une interface graphique super propre pour gérer Nginx. Au lieu de taper des lignes de commandes et d'éditer des fichiers de config obscurs, vous avez un beau tableau de bord pour :

  1. Rediriger vos domaines (ex: plex.mondomaine.fr) vers vos conteneurs Docker.
  2. Gérer vos certificats SSL (HTTPS) automatiquement.
  3. Sécuriser l'accès à certains services avec un mot de passe.

Mais en vrai, c'est plus riche que ça. Dans la barre du haut, vous avez tout ce qu'il faut pour piloter votre reverse proxy comme un adulte responsable : des hosts (proxy, redirections, streams, 404), des certificats (Let's Encrypt ou certifs locaux), des utilisateurs, des règles d'accès (Access Lists), et même des logs d'audit pour savoir qui a fait quoi (au cas où un de vos potes "teste un truc vite fait" et casse tout).

C'est le reverse proxy pour ceux qui veulent que ça marche, tout de suite, sans devenir ingénieur réseau bac+12 ou devoir se taper 2h d'explications IRL d'un barbu qui pue de la gueule ^^.

Installation en 3 minutes chrono (avec Docker)

Bon, on ne va pas y passer la nuit. La méthode la plus propre, c'est évidemment Docker Compose. Si vous ne l'avez pas, installez-le (allez, un petit apt install docker-compose et on n'en parle plus).

Créez un dossier nginx-proxy-manager et collez-y ce fichier docker-compose.yml :

version: '3.8'
services:
 app:
 image: 'jc21/nginx-proxy-manager:latest'
 restart: unless-stopped
 ports:
 - '8080:80' # Port HTTP public
 - '8181:81' # Port d'administration (à garder pour vous)
 - '8443:443' # Port HTTPS public
 volumes:
 - ./data:/data
 - ./letsencrypt:/etc/letsencrypt
 db:
 image: 'jc21/mariadb-aria:latest'
 restart: unless-stopped
 environment:
 MYSQL_ROOT_PASSWORD: 'npm'
 MYSQL_DATABASE: 'npm'
 MYSQL_USER: 'npm'
 MYSQL_PASSWORD: 'npm'
 volumes:
 - ./mysql:/var/lib/mysql

Petit piège à éviter : Faites gaffe si vous avez déjà un serveur web (Apache ou Nginx) qui tourne sur la machine hôte. Il va falloir couper le service ou changer les ports, sinon Docker va vous jeter une erreur parce que le port 80 est déjà pris. Du coup, vérifiez bien avec un petit netstat -tulpn | grep 80 avant de lancer la sauce.

Ah oui, et si vous utilisez un pare-feu comme UFW (ce que je vous recommande chaudement), n'oubliez pas d'ouvrir le port 81 : ufw allow 81. Sinon, vous allez pleurer devant une page blanche et vous demander pourquoi ça marche pas.

Ensuite, lancez la bête :

docker-compose up -d

Et voilà ! C'est tout. Votre serveur tourne. Si vous avez des erreurs, c'est probablement parce que vos ports sont déjà utilisés. Ou que les dossiers data, Let's Encrypt et MySQL n'existent pas encore. Moi j'ai ça sur mon NAS :

La configuration que même ma grand-mère pourrait le faire

Ouvrez votre navigateur et allez sur http://votre-ip:8181 et créez vous un compte.

Une fois dedans, pour exposer un service, c'est ridicule tellement c'est easyyyy

  1. Cliquez sur "Add Proxy Host".
  2. Entrez votre nom de domaine (ex: nextcloud.mondomaine.fr).
  3. Indiquez l'IP de la machine et le port du service (ex: 8080).
  4. Allez dans l'onglet "SSL", cochez "Request a new SSL Certificate" et "Force SSL".
  5. Sauvegardez.

En fait, le seul truc qui peut coincer, c'est la propagation DNS. Si vous venez d'acheter votre nom de domaine il y a 5 minutes, pas de panique si Let's Encrypt refuse de générer le certificat. Attendez une petite heure et réessayez. C'est classique.

Et hop, fini. Votre service est accessible en HTTPS, avec le petit cadenas vert qui va bien. Nginx Proxy Manager s'occupe de discuter avec Let's Encrypt et de renouveler le certificat tout seul. C'est carrément magique.

Tour d'horizon des fonctionnalités qui sauvent des week-ends

Parce que oui, Nginx Proxy Manager ne fait pas "juste" proxy + "cadenas". Dans le menu Hosts, vous avez plusieurs types de trucs à créer, et chacun sert à un usage bien précis. Et côté Certificats et sécurité, il y a de quoi faire sans sortir le marteau-piqueur.

Certificats Let's Encrypt (HTTP et DNS) + certifs locaux

On va commencer par le sujet qui donne des boutons : les certificats. Dans l'onglet Certificates, vous pouvez gérer tout ça au même endroit :

  • Let's Encrypt en HTTP-01 : le classique. NPM ouvre la voie, répond au challenge, et basta. Pratique pour un service.mondomaine.fr exposé "normalement".
  • Let's Encrypt en DNS-01 : là, c'est le mode "j'ai compris la vie". Vous pouvez valider le certificat via votre DNS (donc sans dépendre d'un port 80 accessible), et surtout ça permet les wildcards du style *.mondomaine.fr. Donc un seul certif et roule ma poule, même si vous ajoutez 12 sous-domaines demain à 3h du mat.
  • Certificats locaux : vous pouvez aussi importer un certificat existant (genre un certif de votre boîte, un truc interne, un CA maison, ou même un self-signed si vous aimez vivre dangereusement). Ça évite de dépendre de Let's Encrypt si vous êtes en mode "tout en local, rien sur Internet".

Et le meilleur c'est que NPM gère le renouvellement automatique. Donc plus de rappel calendrier "renouveler les certifs" tous les 2 mois, sinon c'est le drame et tout le monde vous écrit "ça marche plus ton truc".

Plusieurs comptes, parce que tout le monde n'est pas "admin"

Dans Users, vous pouvez créer plusieurs comptes pour accéder à l'interface. Typiquement :

  • un compte admin pour vous, le chef, le patron, le seigneur des reverse proxies.
  • un compte "moins dangereux" pour quelqu'un qui doit juste consulter ou bidouiller un truc sans toucher à toute l'infra.

Et ça, couplé aux Audit Logs (j'y reviens juste après), c'est très pratique quand plusieurs personnes mettent les mains dedans. Parce que "c'est pas moi, j'ai rien touché" est une phrase universelle, on la retrouve dans toutes les cultures.

Access Lists, le videur à l'entrée

Alors ça, c'est une des fonctions les plus sous-cotées. Les Access Lists permettent de mettre en place des règles d'accès et de les réutiliser partout :

  • Basic Auth (login/mot de passe) : parfait pour protéger une appli pas prévue pour être publique, ou un petit outil d'admin que vous ne voulez pas exposer "en clair".
  • Allow/Deny par IP : le top pour dire "seulement depuis mon IP / mon VPN / mon réseau". Et là, même si quelqu'un devine votre URL, il se prend un mur.

Vous créez une Access List une fois, et ensuite vous l'appliquez à vos Proxy Hosts. Du coup, pas besoin de refaire 50 fois la même conf. C'est propre, c'est net, c'est carré.

Les redirections propres (HTTP -> HTTPS, domaine A -> domaine B, etc.)

Besoin de rediriger un vieux domaine vers un nouveau ? Ou de faire un joli http:// qui part systématiquement en https:// ? Les Redirection Hosts servent exactement à ça. C'est bête mais ça évite d'aller trifouiller des règles Nginx à la main.

Exemples typiques :

  • mondomaine.fr -> www.mondomaine.fr
  • ancientruc.mondomaine.fr -> nouveautruc.mondomaine.fr
  • http -> https (pour les retardataires)

Streams - Quand ce n'est pas du HTTP mais que vous voulez quand même un reverse proxy

Le web, c'est bien, mais tout n'est pas en HTTP. Certaines applis parlent en TCP/UDP (bases de données, services réseau, protocoles chelous, etc.). C'est là que Streams entrent en jeu. Cette fonctionnalité vous permet de proxyfier des flux réseau, genre "ce port externe pointe vers ce port interne".

Alors oui, c'est plus "brut" que les Proxy Hosts, mais ça dépanne vraiment quand vous avez un service qui n'a rien à faire derrière un vhost HTTP. Et ça se configure aussi en 2 clics, sans incantations démoniaques.

404 Hosts - La sortie de secours

Les 404 Hosts, c'est la petite finition qui fait plaisir (non, rien à voir avec votre salon de massage préféré). Vous pouvez définir un "host poubelle" qui répond proprement quand quelqu'un tape un domaine qui n'existe pas chez vous, ou quand un bot scanne votre serveur en espérant trouver /phpmyadmin par magie.

Au lieu de laisser traîner une réponse moche ou ambiguë, vous renvoyez une 404 nette, propre, assumée. C'est pas de la sécurité absolue, mais c'est une bonne hygiène, et ça évite de donner trop d'infos aux curieux.

Audit Logs

Dans Audit Logs, vous avez l'historique des actions effectuées dans l'interface : création/modif de hosts, changements de certifs, etc. C'est le genre de truc dont on se fout… jusqu'au jour où on en a besoin. Et là, vous êtes content de pouvoir remonter le film de l'horreur.

Et enfin, mon bonus : Le mode "je sais ce que je fais" (les options avancées Nginx)

Et si un jour vous voulez aller un cran plus loin, NPM permet aussi d'ajouter des réglages plus "Nginx pur jus" par host (headers, règles, conf custom). Donc vous commencez en mode clic-clic, et si vous devenez un peu psycho sur l'optimisation, vous pouvez aussi affiner. Sans tout casser, normalement.

2/3 conseils de daron pour éviter les boulettes

  • Ne laissez pas l'admin ouvert au monde : le port 8181 (ou votre port d'admin) c'est "pour vous". Si possible, limitez-le via pare-feu / VPN / IP autorisées. C'est le panneau de commande de votre château, pas un distributeur de bonbons.
  • Utilisez les Access Lists pour tout ce qui est sensible : dashboards, outils d'admin, services pas prévus pour Internet, etc.
  • Pensez au DNS-01 si vous voulez des wildcards ou si vous n'avez pas envie d'exposer le port 80.

Et par rapport aux autres ?

Je vous vois venir les puristes : "Oui mais Traefik c'est mieux car c'est dynamique". C'est vrai. J'ai testé Traefik, et c'est une tuerie pour les environnements qui bougent tout le temps. Mais sa config en YAML peut vite devenir une usine à gaz si vous débutez. Caddy est top aussi (un seul fichier de conf), mais il faut quand même mettre les mains dans le cambouis.

Perso, je pense que Nginx Proxy Manager est un excellent choix pour un homelab par exemple. C'est un peu le choix du confort, celui des grosses feignasses comme moi parce que c'est visuel, c'est du clic-bouton clic clic, et pour un petit serveur perso, c'est franchement imbattable.

Bref, si vous galérez encore avec vos vhosts Nginx, arrêtez de vous faire du mal. Installez ça, et profitez de la vie (et de vos week-ends).

Nginx Proxy Manager c'est par ici !

Des scripts tout faits pour votre Proxmox

Par : Korben
2 février 2026 à 10:54

Ce matin, je discutais avec Emmanuel (un lecteur fidèle) sur mon Linkedin Korben et il m'a partagé une ressource vraiment chouette. Si comme moi vous jouez un peu parfois avec un serveur Proxmox qui tourne à la maison pour vos expérimentations ou votre domotique, vous savez que configurer chaque VM ou conteneur LXC peut vite devenir chronophage. On copie-colle des commandes, on installe des dépendances, on se plante, on recommence... La routine quoi sauf que cette routine peut vite devenir reloue.

Hé bien, fini la galère !!!! Le projet dont je veux vous parler aujourd'hui s'appelle Proxmox VE Helper-Scripts et c'est une collection communautaire de scripts (plusieurs centaines !) qui permet d'installer et de configurer tout un tas de services en une seule ligne de commande.

En gros, c'est une immense boîte à outils pour votre hyperviseur. Vous avez besoin d'une instance Home Assistant pour gérer des ampoules connectées ? Hop, vous lancez le script et ça vous crée le conteneur LXC tout propre. Vous voulez monter un serveur média avec Plex ou Jellyfin ? Pareil, c'est généralement plié en quelques minutes (selon votre connexion évidemment).

Vous allez sur le site, vous cherchez l'outil qui vous intéresse, vous copiez la commande bash fournie (du style bash -c "...") et vous la collez dans le shell de votre nœud Proxmox. Et hop, l'assistant se lance. Il vous pose quelques questions (IP statique ou DHCP, espace disque, RAM... ce genre de trucs classiques) et puis tente de s'occuper de tout le reste (si les planètes sont bien alignées et que votre karma est au top !).

Je trouve ça génial parce que non seulement ça gère l'installation, mais ça s'occupe aussi des mises à jour. Mais bon, attention quand même parce qu'une mise à jour upstream peut parfois casser le script, donc prudence. C'est d'ailleurs super utile si vous utilisez Proxmox sur un Raspberry Pi (via Pimox), même si l'architecture ARM peut poser souci avec certains scripts. D'ailleurs, bonne nouvelle pour les utilisateurs de Pimox : il existe Pimox-Scripts , un portage de ces mêmes Helper Scripts mais adaptés spécifiquement pour ARM/Raspberry Pi. Tous les scripts ne sont pas encore dispos (moins de contributeurs), mais y'a déjà de quoi faire !

Parmi les scripts disponibles, on retrouve les classiques Docker, AdGuard Home, Pi-hole, mais aussi des trucs plus pointus pour le monitoring ou la sécurité. C'est vraiment très complet, y compris si vous êtes dans une optique de création de lab de cybersécurité .

Après, je dois quand même vous faire une petite mise en garde de circonstance. Car comme d'habitude, exécuter des scripts bash trouvés sur le net direct en root... comment dire... c'est jamais sans risque. Le code est open source et maintenu par une communauté active, ça facilite l'audit, mais ce n'est pas une garantie de sécurité absolue. Sauf si vous aimez vivre dangereusement, jetez toujours un œil au code avant de valider. La confiance n'exclut pas le contrôle !!

Un grand merci à Emmanuel pour le tuyau initial et à Karl pour l'info sur Pimox-Scripts !

Vos agents IA sécurisés en -10 sec. sur Mac

Par : Korben
2 février 2026 à 10:37

Si vous faites du "vibe coding" avec Claude ou Codex, vous savez que laisser un agent IA faire sa life, c'est un peu risqué. Si celui-ci se met à exécuter des rm -rf sur votre ordi de boulot, vous êtes dans la merde !

Heureusement, Kevin Lynagh a sorti Vibe et pour vous résumer le délire, c'est une VM Linux ultra-légère capable de sandboxer vos agents IA.

Ce qu'il vous faut

  • Un Mac ARM (M1, M2, M3...)
  • macOS 13 Ventura minimum
  • Temps estimé : 5 minutes

Installation

Hop, on commence par installer Vibe. Plusieurs options s'offrent à vous :

curl -LO https://github.com/lynaghk/vibe/releases/download/latest/vibe-macos-arm64.zip

unzip vibe-macos-arm64.zip

sudo mv vibe /usr/local/bin

Et là, c'est prêt. C'est du Rust pur compilé avec le framework Virtualization.framework d'Apple, donc ça va viiiiite !

Et ce que vous pouvez voir au lancement de Vibe, c'est le mapping entre vos dossiers locaux liés à Claude, Codex et compagnie, et les dossiers qui sont dans la VM.

Premier lancement

Pour démarrer une VM, c'est aussi simple que ça :

./vibe

Oui, c'est tout. 10 secondes plus tard, vous avez un shell Linux avec un accès réseau et un partage automatique de vos dossiers. Notez jute que la première fois il faut une connexion réseau pour télécharger l'image de base de Debian. Après, tout est en local.

Le truc cool, c'est que Vibe utilise un système copy-on-write où chaque VM part d'une image de base commune et seules les modifications sont stockées. Comme ça même si vous lancez 10 VMs, ça bouffe pas votre SSD.

Bon ok, j'en ai lancé que 2 en vrai mais l'idée est là ^^

Configurer Claude ou Codex

Ensuite c'est simple, il suffit de lancer la commande Claude ou Codex directement dans le terminal que ça vous a créé, de les configurer comme si vous étiez sur votre ordinateur et puis c'est parti, vous pouvez les lancer avec le mode --yolo pour Codex ou avec --allow-dangerously-skip-permissions pour Claude.

Et c'est tout ! Si ça fait de la merde, ce sera dans la VM et vous ne risquerez rien ! Les fichiers sont bien sûr créés et dispo dans le répertoire dans lequel vous avez lancé vibe. Mais tout sera exécuté dans la VM donc y'a plus aucun risque.

Bref, si vous faites du vibe coding et que vous voulez pas finir avec un sudo rm -rf / généré par une IA un peu trop enthousiaste... bah voilà quoi. Le tout en moins de 1200 lignes de Rust, open source sous licence MIT.

Taaadaaaa ! À découvrir ici !

Webhooks Proxy Tunnel – Vos webhooks en local sans payer Ngrok

Par : Korben
29 janvier 2026 à 10:28

Ce matin, je cherchais un moyen simple de tester des webhooks en local sans passer par ce bon vieux Ngrok qui est devenu un peu relou avec ses limites en version gratuite. J'ai d'abord pensé à monter mon propre serveur VPN (coucou Tailscale), mais franchement flemme.

Et puis tout à fait par hasard (aaah les joies de la sérendipité) je suis tombé sur cet outil qui devrait vous plaire, surtout si vous développez des applis qui doivent recevoir des notifications HTTP (GitHub, Stripe, Slack...). Ben oui vous connaissez la galère... votre serveur de dev est sur "localhost", donc inaccessible depuis l'extérieur, du coup, impossible de recevoir ces fameux webhooks sans ouvrir votre routeur ou utiliser un tunnel.

C'est là qu'intervient Webhooks Proxy Tunnel !

Grâce à cet outil, au lieu de multiplier les intermédiaires, vous déployez votre propre tunnel... directement sur l'infrastructure de Cloudflare. Et le meilleur c'est que ça tourne généralement très bien sur leur offre gratuite (dans la limite des quotas Workers évidemment, donc attention si vous bourrinez comme un fifou).

L'outil utilise un Cloudflare Worker couplé à un Durable Object (une sorte de mini-serveur d'état). Le Worker reçoit alors les requêtes publiques sur une URL en HTTPS (genre "truc.workers.dev") et les transmet via une WebSocket à un petit client Node.js qui tourne sur votre machine. Et hop, le trafic arrive sur votre port local.

Perso, je trouve ça brillant car même si le trafic passe techniquement par Cloudflare (puisque c'est leur infra), vous gardez la main sur le code qui s'exécute et vous évitez d'envoyer vos données à un service tiers supplémentaire dont vous ignorez tout.

Pour l'installer, ne plus c'est hyper fastoche. Il vous faut juste un compte Cloudflare et Node.js. J'ai testé l'install en moins de 5 minutes, vous clonez le dépôt, vous installez les dépendances et vous lancez le déploiement (qui vous demandera de vous authentifier) :

git clone https://github.com/peter-leonov/webhooks-proxy-tunnel.git
cd webhooks-proxy-tunnel/worker
npm install
npm run deploy

Une fois déployé, le script vous donne une URL et il ne vous reste plus alors qu'à lancer le client local en lui disant où taper (par exemple votre port 3000) et le tour est joué !! Vous pouvez même gérer plusieurs tunnels en parallèle si vous bossez sur plusieurs projets, chaque tunnel ayant son ID unique.

Attention quand même, c'est conçu pour du développement hein, pas pour streamer de la 4K. Les requêtes doivent tenir en mémoire (limite de 100 Mo environ) donc sauf si vous transférez des fichiers énormes via vos webhooks, ça passera crème pour du JSON ou des petits payloads binaires.

Voilà, si vous cherchiez une alternative self-hosted et gratuite pour vos tests, c'est clairement un outil à garder sous le coude. Et si vous avez besoin de trucs plus costauds pour du réseau d'entreprise, jetez un œil à Tailscale ou Octelium .

Source

jq-quest - Apprenez à maîtriser jq sans vous prendre la tête

Par : Korben
28 janvier 2026 à 07:46

Si vous avez déjà croisé la route de jq , c'est probablement parce que vous vous la touchez un peu dans le terminal et que vous avez déjà joué avec du format JSON (logs, APIs, config...).

Jq, tout le monde l'adore parce que ça filtre, ça mappe et surtout ça transforme du JSON directement depuis le terminal. Mais la syntaxe de ce truc, aïe aïe aïe, c'est comme faire de la Regex. C'est de l'apprentissage sur le tas surtout. Faut copier coller des trucs en provenance de RIP-StackOverflow ou de ChatGPT-le-sang-de-la-veine. Et le pire c'est que 2 jours après, on a tout oublié !!! Puis lire la doc officielle, m'en parlez pas, c'est comme lire autre chose que mon site... c'est pas le criss de fun ^^.

Heureusement, pour ceux qui veulent vraiment monter en compétence sans s'endormir, il existe jq-quest .

C'est un petit projet sympa hébergé sur Codeberg qui propose une approche "learning by doing" (apprendre en faisant, pour les anglophobes). Au début, je pensais que c'était juste un QCM basique, mais en fait non puisqu'il faut vraiment taper les commandes et se salir les mains.

Pour essayer, suffit de cloner le dépôt, vous lancez le script, et on vous donne un input JSON et l'output attendu. À vous ensuite de trouver la bonne commande jq pour passer de l'un à l'autre.

Il vous faudra juste jq d'installé sur votre machine. Attention par contre, si vous êtes sous Windows, il faudra passer par WSL ou Git Bash, parce que le script .sh ne va pas aimer PowerShell.

Ça s'installe donc en deux secondes comme ceci :

git clone https://codeberg.org/gturri/jq-quest.git
cd jq-quest

Ensuite, vous lancez votre premier exercice :

./jq-quest.sh 1-pretty-print.json

Le script va alors vous afficher l'instruction, le JSON d'entrée et ce qu'il attend en sortie :

INSTRUCTION: Pretty print the json
INPUT: {"k1": "v1", "k2":[1, 3, 7]}
EXPECTED OUTPUT: {
 "k1": "v1",
 "k2": [
 1,
 3,
 7
 ]
}

Vous tapez votre proposition de filtre, et il vous dit si c'est bon ou pas. Pour proposer une solution, suffit de taper :

./jq-quest.sh 1-pretty-print.json 'SOLUTION'

Si vous séchez (et croyez-moi, ça va arriver), vous pouvez demander un indice avec :

./jq-quest.sh 1-pretty-print.json hint

Ou carrément la solution si vous êtes au bout du rouleau :

./jq-quest.sh 1-pretty-print.json solution

Mais rassurez vous, les exercices sont progressifs, ça commence par du "pretty print" basique (le truc qu'on fait tous), puis on attaque les filtres simples, les clés spéciales, les tableaux, et petit à petit on arrive sur des trucs bien plus costauds comme les itérations sur objets, le slicing ou les opérations mathématiques.

Ce genre de tuto interactif c'est top parce que jq, c'est hyper puissant, mais la courbe d'apprentissage est un peu raide au début. Là, en une petite heure, vous pouvez plier les exercices et avoir enfin compris la logique du truc au lieu de tâtonner à chaque fois.

D'ailleurs, si vous aimez ce genre d'outils pour parser de la donnée, je vous rappelle qu'il existe aussi fq pour les fichiers binaires ou encore htmlq pour le HTML . J'aurais pu vous parler d'outils graphiques pour faire ça, mais franchement, rien ne vaut la ligne de commande pour comprendre ce qu'on fait. Et si vous êtes plutôt Python, jetez un oeil à jc qui convertit la sortie des commandes classiques en JSON.

Bref, si vous voulez arrêter de souffrir à chaque fois que vous devez extraire un champ d'un JSON interminable, faites un tour sur jq-quest, ça va vous dérouiller les neurones.

Si vous êtes dev et que ce genre de tuto vous parle, suivez Korben sur LinkedIn pour d'autres découvertes.

Un grand merci à Guillaume pour la découverte.

Claude Code - Comment activer le mode Swarms caché

Par : Korben
26 janvier 2026 à 11:49

Vous utilisez Claude Code, le CLI d'Anthropic ? Hé bien figurez-vous qu'il y a des fonctionnalités cachées dedans, et pas des moindres ! Un dev nommé Mike Kelly a fouillé dans le JavaScript minifié du CLI et il a découvert un truc dingue : un mode "Swarms" qui transforme votre assistant en véritable chef d'équipe capable de déléguer le travail à plusieurs agents en parallèle.

En gros, au lieu de parler à une seule IA qui code, vous parlez à un team lead. Et ce team lead, lui, il ne code pas... il planifie, découpe les tâches et les dispatche à une équipe de spécialistes qui bossent en même temps. Du coup quand vous validez un plan, il spawn plusieurs agents workers qui partagent un tableau de tâches, communiquent entre eux via une sorte de boîte aux lettres interne, et reviennent vous faire leur rapport une fois le boulot terminé.

Le truc c'est que cette fonctionnalité existe DÉJÀ dans le code de l'outil CLI, mais elle est verrouillée derrière un feature flag côté serveur (un truc qui s'appelle tengu_brass_pebble pour les curieux). Mike a donc créé claude-sneakpeek , un outil qui patche le CLI pour forcer ce flag à true. Hop, les fonctionnalités cachées deviennent accessibles. Si vous avez déjà lu mon article sur Auto-Claude , vous voyez le genre... Ce sont des agents en parallèle qui bossent pendant que vous faites autre chose, genre lire mes articles pour entrapercevoir le futur ^^.

Ce qui se débloque

Une fois le patch appliqué, vous avez accès à :

  • TeammateTool : pour spawner des équipes d'agents
  • Delegate mode : le Task tool peut lancer des agents en arrière-plan
  • Teammate mailbox : les agents peuvent s'envoyer des messages entre eux
  • Swarm spawning : orchestration native multi-agents

Concrètement, quand vous demandez une tâche complexe, l'IA peut maintenant découper le travail, créer des sous-tâches avec dépendances, et lancer plusieurs workers qui vont bosser en parallèle sur leurs morceaux respectifs. Et ça consomme moins de tokens que de tout faire séquentiellement, contrairement à ce qu'on pourrait croire.

Comment l'installer

L'installation est hyper simple. Vous lancez :

npx @realmikekelly/claude-sneakpeek quick --name claudesp

Ensuite, ajoutez le dossier bin à votre PATH si c'est pas déjà fait :

echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.zshrc && source ~/.zshrc

Et voilà, vous pouvez lancer claudesp au lieu de claude pour avoir la version avec les features débloquées !

Le truc bien pensé, c'est que ça installe une instance COMPLÈTEMENT isolée. Votre installation normale de l'outil CLI reste intacte, avec sa propre config, ses sessions et ses serveurs MCP. Zéro interférence.

Comment ça marche sous le capot

Pour les curieux qui veulent comprendre le hack, c'est assez chouette. En fait, le CLI est du JavaScript minifié, et il contient une fonction qui ressemble à ça :

function i8(){if(Yz(process.env.CLAUDE_CODE_AGENT_SWARMS))return!1;return xK("tengu_brass_pebble",!1)}

Cette fonction vérifie le feature flag côté serveur. Le patch la remplace simplement par :

function i8(){return!0}

Bref, au lieu de checker le flag, ça retourne toujours true. Simple mais efficace.

Pour mettre à jour ou désinstaller

npx @realmikekelly/claude-sneakpeek update claudesp
# Mise à jour

npx @realmikekelly/claude-sneakpeek remove claudesp
# Désinstallation

Voilà, si vous êtes fan d'automatisation et que vous voulez pousser le CLI dans ses retranchements, c'est clairement un truc à tester ! Le mode Swarms change la donne pour les projets complexes où paralléliser les tâches fait gagner un temps fou.

Source

Comment aider les Iraniens à contourner la censure depuis chez vous

Par : Korben
25 janvier 2026 à 00:32

Si vous suivez un peu l'actu, vous savez que la censure en Iran , c'est pas une blague... Quand le gouvernement décide de couper internet durant les manifs, y'a des millions de personnes qui se retrouvent dans le noir.

Et là, y'a un truc que vous pouvez faire depuis chez vous pour aider.

Psiphon Conduit , c'est un outil qui permet de partager un bout de votre bande passante avec des gens qui en ont vraiment besoin. En gros, votre PC devient un nœud du réseau Psiphon, et des Iraniens (ou d'autres personnes censurées) peuvent passer par votre connexion pour accéder à internet librement.

Et voilà comment vous venez de devenir un petit maillon de la résistance numérique !

Le truc cool, c'est que Conduit tourne en arrière-plan sans rien vous demander, chiffre toutes les connexions, et ne collecte aucune donnée perso. Ça bouffe pas de ressources, et vous pouvez configurer la quantité de bande passante que vous voulez partager.

Ce qu'il vous faut

  • Windows 10 ou 11 (il existe aussi une version Mac)
  • Python 3.6 ou plus (pour le firewall Iran-only)
  • Temps estimé : 5 minutes

Installer Psiphon Conduit

Rendez-vous sur la page de téléchargement officielle et récupérez la version Windows. C'est un exe classique, vous double-cliquez et c'est parti. L'application se loge dans la barre système et commence à partager automatiquement.

Réserver votre bande passante aux Iraniens

Par défaut, quand vous faites tourner Conduit, des gens de n'importe quel pays peuvent utiliser votre connexion. Si vous voulez maximiser l'impact pour l'Iran spécifiquement, y'a un script Python qui fait exactement ça.

Téléchargez le projet iran-conduit-firewall sur GitHub. Extrayez le ZIP, puis lancez RUN_AS_ADMIN.bat en mode administrateur. Le script va alors créer des règles de firewall Windows qui bloquent toutes les connexions... sauf celles venant d'Iran. Plus de 2000 plages d'IP iraniennes sont whitelistées. Si vous êtes sous mac ou Linux, faudra lancer directement iran_firewall.py avec python.

L'interface vous propose 4 options :

  1. Activer le mode Iran-only (bloquer les autres pays)
  2. Désactiver le mode Iran-only (tout le monde peut se connecter)
  3. Vérifier le statut actuel
  4. Utilitaires de gestion Conduit

Et là, c'est tout ! Vos règles firewall restent actives même après fermeture du script, jusqu'à ce que vous les désactiviez explicitement.

Dépannage

Si le script ne détecte pas Conduit, vérifiez qu'il est bien installé via le Microsoft Store ou en version standalone. Si vous avez des soucis avec les règles firewall, relancez le script en administrateur et choisissez l'option 2 pour tout réinitialiser.

Si vous avez une connexion correcte et envie de faire un geste concret pour la liberté d'accéder à internet, c'est le moment les copains !! Comme je vous avais déjà parlé de Psiphon ou Lantern , je pense que vous connaissiez déjà ces outils de contournement de la censure. Mais là, ils ont besoin de relais, et ce relais, ça peut être vous !

Merci pour eux !

Convertissez votre vieille manette filaire en Bluetooth avec un ESP32

Par : Korben
21 janvier 2026 à 14:26

Vous avez une vieille manette USB qui traîne dans un tiroir parce qu'elle est filaire ? Une de ces reliques naphtalinée de l'époque dans laquelle on se prenait encore les pieds quand le câbles trainait au milieu du salon...? Hé bien bonne nouvelle pour vous, et pour vos tiroirs qui vont enfin se vider un peu !

Avec une carte Seeed Studio XIAO ESP32S3 (la star du projet), un peu de patience et une dizaine d'euros, vous pouvez transformer pas mal de manettes USB HID filaires en une version Bluetooth Low Energy (BLE) tout à fait fréquentable. Le projet s'appelle bluetooth-gamepad et c'est signé Stavros Korokithakis (que je salue au passage).

Le projet bluetooth-gamepad sur GitHub ( Source )

Le XIAO ESP32S3 utilisé dans ce projet est un module tellement minuscule qu'on dirait un timbre-poste (ce qui est vraiment trop trop pratique pour le planquer n'importe où). Ce petit module magique fait office de pont USB Host vers Bluetooth.

En gros, vous branchez votre manette USB d'un côté via un adaptateur OTG, et de l'autre, votre smartphone, tablette ou PC la voit comme une manette sans fil standard.

Attention toutefois, il faudra alimenter le module séparément (via une batterie ou une source 5V externe) pour que l'USB Host fonctionne et fournisse du jus à la manette.

Et de son côté, le firmware que vous pouvez compiler avec PlatformIO, fera tout le boulot de traduction. Il lira les rapports HID bruts de votre manette USB et les convertira en périph BLE. C'est d'ailleurs généralement reconnu sans driver additionnel, même si la compatibilité totale dépendra forcément de votre OS et du jeu (le monde du HID BLE et de l'XInput étant parfois un peu capricieux).

Le truc cool, c'est que Stavros a aussi prévu une normalisation du mapping parce que bon, entre les manettes génériques chinoises et les vieux modèles de marque, le bouton "1" n'est jamais au même endroit. Le firmware propose donc une base identique pour remettre tout ça dans l'ordre. Et si votre manette a un mapping vraiment chelou, vous pouvez même modifier le code directement dans le fichier hid_parser.cpp pour affiner le truc avant de le compiler.

Après rassurez-vous, côté installation c'est du classique si vous avez déjà touché à un microcontrôleur. On branche le XIAO au PC, et on lance la petite commande bash suivante :

pio run -e seeed_xiao_esp32s3 -t upload

Et hop c'est flashé !

Une petite mise en garde technique quand même les amis. Sachez que si votre manette consomme énormément de courant (genre un modèle avec plein de machins qui vibrent et clignotent), le XIAO risque de faire la gueule et de rebooter dans la panique. Dans ce cas, il faudra passer par un petit hub USB alimenté pour que tout le monde soit content.

Et si après toutes ces aventures, vous cherchez encore d'autres projets pour recycler votre matos, je vous ai déjà parlé du recyclage d'oreillette bluetooth qui était pas mal dans le genre ou encore de ce petit tuto afin de connecter n'importe quelle manette sur un Switch .

Et voilà comment avec une quinzaine d'euros (en comptant la carte et l'adaptateur OTG), vous sauverez peut-être votre manette préférée de l'oubli !

Source

❌
❌