Vue normale

Il y a de nouveaux articles disponibles, cliquez pour rafraîchir la page.
À partir d’avant-hierKorben
  • ✇Korben
  • Castor - Votre flux vidéo web sur la télé, en top qualité
    Vous avez déjà pesté contre votre télé qui refuse de lire une vidéo pourtant toute bête trouvée sur le web ? Hé bien Kilian Houpeurt aussi et c'est pourquoi il a décidé, plutôt que de râler dans le vide comme un mec lambda sur Twitter, qu'il allait prendre le taureau par les cornes et coder sa propre solution. Ça s'appelle Castor et évidemment ça envoie du bois, lol. En fait c'est un outil en ligne de commande écrit en Go qui est open source et qui permet d'envoyer le vrai flux vidéo d'une page

Castor - Votre flux vidéo web sur la télé, en top qualité

Par : Korben ✨
19 juillet 2026 à 09:57

Vous avez déjà pesté contre votre télé qui refuse de lire une vidéo pourtant toute bête trouvée sur le web ? Hé bien Kilian Houpeurt aussi et c'est pourquoi il a décidé, plutôt que de râler dans le vide comme un mec lambda sur Twitter, qu'il allait prendre le taureau par les cornes et coder sa propre solution.

Ça s'appelle Castor et évidemment ça envoie du bois, lol. En fait c'est un outil en ligne de commande écrit en Go qui est open source et qui permet d'envoyer le vrai flux vidéo d'une page Web directement sur votre télévision en qualité max sans avoir besoin de Chromecast, ni d'AirPlay.

L'astuce, c'est qu'il ne recopie pas votre écran comme le ferait un mirroring (qui rame et qui compresse tout, on est d'accord...). Vous lui donnez simplement l'adresse d'une page Web et lui va la charger dans un Chrome Headless, c'est-à-dire sans interface et capter le trafic réseau grâce au Chrome Devtools Protocol. C'est le flux vidéo ensuite qui transite qui est repéré et qu'il prend à la source.

Derrière, vous vous en doutez, ffmpeg transcode à la volée pour votre télé pendant que ffprobe détecte le format qui arrive. Pour alimenter Castor, vous avez alors trois possibilités, soit vous lui fournissez une page Web avec la commande castor cast player, soit vous lui passez un flux brut en .m3u8 avec la commande castor cast url, ou alors simplement un identifiant IMDB/TMDB que Castor résoudra via les sources que vous avez configurées de votre côté.

Et si vous renseignez une clé TMDB, castor cast tout court vous sortira alors un navigateur interactif en plein terminal Et c'est là-dedans que vous pourrez filtrer par genre (ou peu importe la métadonnée que vous voulez) ou parcourir les films comme vous le feriez sur Netflix, ou encore aller explorer les épisodes d'une série. Qui vous fait envie. Tout ça sans jamais quitter votre terminal. Ça a quand même un peu de gueule !

Le navigateur TMDB de Castor, directement dans le terminal.

Castor sait les générer lui-même les sous-titres avec whisper.cpp avant de les incruster dans la vidéo, Mais attention quand même, le modèle par défaut ne comprend que l'anglais, si vous voulez du français, faudra faire pointer Castor vers un modèle whisper multilingue.

Enfin, côté réception, Castor sait causer DLNA / UPnP, un protocole que Samsung, LG, Sony Bravia, Panasonic, Philips, Hisense ou encore TCL savent gérer depuis des années. Un petit castor scan et il vous liste tous les récepteurs qui traînent sur votre réseau et vous verrez que Kodi, VLC et Plex répondront aussi présents. Pour ce qui est du support du Chromecast, c'est encore un peu expérimental, donc ne comptez pas trop dessus pour le moment.

L'installation sur Mac se fait via brew install --cask stupside/tap/castor. Prévoyez juste Chrome ou Chromium sur la machine + ffmpeg et ffprobe accessibles dans le PATH. Une image Docker existe avec tout dedans, mais méfiance sur Docker Desktop macOS ou Windows puisque la découverte réseau ne passe pas le bridge, donc le conteneur ne verra jamais votre télé.

Maintenant, ce n'est pas un outil de piratage, puisque Castor n'héberge rien du tout. C'est un outil générique qui pousse un flux vers une TV, et c'est à vous de respecter la loi ainsi que les conditions d'usage des sites. Bref, ne castez que ce que vous avez le droit de regarder. Pour envoyer un flux IPTV ou un bête .m3u8 sur l'écran du salon, c'est en tout cas, super pratique.

Si vous bidouillez un serveur média maison, allez donc jeter un œil à Castor , le dépôt vaut le détour !

  • ✇Korben
  • DuckDuckGo zappe les pubs YouTube
    Alors ça, Google va adorer ! En effet, depuis hier (le 8 juillet), le navigateur DuckDuckGo bloque les pubs YouTube tout seul comme un grand. Le pre-roll interminable avant votre tuto Docker , la double coupure en plein milieu d'un unboxing, ou encore la pub pour une appli de casino que vous n'avez jamais demandée... tout dégage, en mode par défaut sans avoir besoin d'ajouter une extension. iOS, Windows et Mac sont servis d'office, et sur Android ça s'active à la main dans Settings > Ad Block

DuckDuckGo zappe les pubs YouTube

Par : Korben ✨
9 juillet 2026 à 13:27

Alors ça, Google va adorer ! En effet, depuis hier (le 8 juillet), le navigateur DuckDuckGo bloque les pubs YouTube tout seul comme un grand. Le pre-roll interminable avant votre tuto Docker , la double coupure en plein milieu d'un unboxing, ou encore la pub pour une appli de casino que vous n'avez jamais demandée... tout dégage, en mode par défaut sans avoir besoin d'ajouter une extension.

iOS, Windows et Mac sont servis d'office, et sur Android ça s'active à la main dans Settings > Ad Blocking (le par défaut arrive bientôt).

Le canard américain ne réinvente rien puisqu'il embarque tout simplement les listes de filtres communautaires du projet uBlock Origin , mises à jour régulièrement pour suivre les parades de la régie pub de Google.

Sur son blog , ils annoncent donc que leur fonctionnalité bloque la "plupart" des publicités. Donc pas 100% et ils préviennent qu'un peu de buffering peut également apparaître au lancement d'une vidéo. Ouais ça c'est la petite astuce de Google pour contrarier les utilisateurs d'AdBlocker...

Mais une fois la lecture partie, plus d'interruption !

Sur ordi, vous verrez une petite icône vidéo à côté du bouclier vert dans la barre d'adresse, c'est là que ça se pilote.

Le réglage Ad Blocking, planqué dans le menu du navigateur

Sur mobile, je le précise encore parce que ça ne coule pas de source pour tout le monde, c'est seulement si vous ouvrez YouTube dans le navigateur DDG. L'application YouTube officielle , elle, continuera de vous balancer des tunnels de pubs tranquillement.

Et si vous utilisez déjà Duck Player , le mode théâtre sans cookies de pistage, les 2 fonctionnent ensemble sans se marcher dessus.

Bon, les blasés de la vie me diront que Brave fait ça nativement depuis des années et c'est vrai. Mais ce qui est intéressant ici, c'est que c'est un blocage activé par défaut pour madame et monsieur Tout-le-monde, sur un navigateur qui se télécharge gratuitement . Le blocage de pub n'est plus une bidouille de geek, mais c'est devenu un argument marketing pour "vendre" son navigateur.

Du coup, dans le bras de fer entre YouTube et les bloqueurs de pubs , qui s'est durci depuis fin 2023 à coups d'avertissements, de ralentissements volontaires et de lectures bloquées, je pense que la riposte de Google ne va pas tarder donc préparez les popcorns.

Mais quoi qu'il en soit, c'est encore un coup dur pour les youtubeurs. Bon, il restera toujours la possibilité de faire des segments sponsorisés directement dans la vidéo... Ah mais non, oups, c'est vrai, il y a SponsorBlock qui se débarrasse de ça aussi. Ouin !

Mais alors qu'est-ce qu'on va devenir, nous, les créateurs de contenu ?

Eh bien c'est simple. Si vous aimez bien ce qu'on fait, faut nous soutenir. Moi, par exemple, j'ai un Patreon et il y a plein de gens dessus qui me soutiennent, ce qui est super cool, j'ai vraiment beaucoup de chance. Et je les remercie tous.

J'encourage les autres créateurs de contenu à faire pareil, y compris les YouTubers, à mettre en place ce genre de système. Et sachez qu'on n'est pas obligé de se prendre la tête avec des contreparties...etc parce qu'on n'a pas vraiment le temps, on a déjà beaucoup de choses à faire. L'important c'est d'être transparent avec votre communauté, vous dites juste que c'est pour continuer à faire ce que vous faites d'habitude, c'est pour continuer à faire tourner la chaîne dans la joie, la bonne humeur et ça devrait très bien se passer.

Moi mon rêve c'est qu'un jour le Patreon ramène suffisamment d'argent pour que je puisse me passer à 100% de partenaires pub. Un jour peut-être, on verra bien.

Source

  • ✇Korben
  • wacli - Archivez tout WhatsApp en local et faites-y des recherches hors ligne
    Peter Steinberger, le papa de PSPDFKit , s'est mis en tête de faire sortir WhatsApp de sa prison dorée. Et pour cela, il a mis au point wacli, un client WhatsApp qui tourne exclusivement dans votre terminal. Ça se compose donc de commandes que vous pouvez scripter dans la joie et la bonne humeur pour enchaîner et automatiser toutes vos idées folles sur Whatsapp comme avec n'importe quel outil Unix. Wacli se connecte à votre compte comme un appareil lié, exactement comme WhatsApp Web, vous scanne

wacli - Archivez tout WhatsApp en local et faites-y des recherches hors ligne

Par : Korben ✨
4 juillet 2026 à 10:00

Peter Steinberger, le papa de PSPDFKit , s'est mis en tête de faire sortir WhatsApp de sa prison dorée. Et pour cela, il a mis au point wacli, un client WhatsApp qui tourne exclusivement dans votre terminal. Ça se compose donc de commandes que vous pouvez scripter dans la joie et la bonne humeur pour enchaîner et automatiser toutes vos idées folles sur Whatsapp comme avec n'importe quel outil Unix.

Wacli se connecte à votre compte comme un appareil lié, exactement comme WhatsApp Web, vous scannez un QR code depuis votre téléphone et hop, l'outil rapatrie vos conversations dans une base SQLite locale, sur votre machine. À partir de là, la recherche se fait hors ligne.

Un wacli messages search "réunion" et vous ressortez un vieux message noyé dans la masse, sans même être connecté. Pour envoyer un message, un wacli send file --to maman --file ./photo.jpg et c'est parti. Et les groupes et les contacts se pilotent de la même façon, réactions comprises, au clavier.

Côté technique, c'est du Go bâti sur whatsmeow , la bibliothèque de référence qui parle le protocole WhatsApp Web multi-device. Comme ça vos messages restent chiffrés de bout en bout. Et de son côté, la base locale offre une recherche plein texte instantanée (FTS5), et à peu près tout ressort en JSON avec le flag --json, ce qui veut dire que vous pouvez brancher wacli sur vos propres scripts, un cron, un pipeline de sauvegarde, ou tout ce que vous voulez.

Les données atterrissent ensuite dans ~/.wacli sur votre Mac, et vous en faites ce que bon vous semble. Un brew install openclaw/tap/wacli et c'est installé (Oui, le projet est passé sous l'organisation openclaw).

Et comme le tout est sous licence MIT, vous pouvez bidouiller ça comme bon vous semble.

Maintenant, la partie où je dois être franc avec vous c'est que wacli n'est pas un outil officiel. Il passe par le protocole WhatsApp Web récupéré par rétro-ingénierie via whatsmeow, et Meta n'aime pas trop ça.

Le README le dit noir sur blanc, c'est un outil tiers non affilié à WhatsApp. En clair, vous jouez avec les conditions d'utilisation, et un compte repéré sur ce genre de manip peut se faire suspendre. À réserver donc à un usage perso et raisonnable, et pas pour faire du spam de masse.

Reste que pour qui veut reprendre la main sur ses données, c'est pile le genre d'outil que j'aime. Dans le même esprit que msgvault qui libère vos emails de la prison Gmail , mais pour la messagerie de Meta.

Merci Camille Roux pour le lien !

Source : https://github.com/openclaw/wacli

  • ✇Korben
  • Lego Batman - Un easter egg Commodore 64 BASIC caché dedans
    Cabel Sasser, le boss de Panic Inc. (les gars derrière Coda, Nova et la fameuse Playdate ), vient de tomber sur un easter egg complètement génial dans LEGO Batman: Legacy of the Dark Knight, le jeu sorti fin mai 2026. Et ce qu'il a découvert, c'est un petit programme Commodore 64 en BASIC affiché à l'écran sur l'ordi de Batman. Du vrai BASIC qui s'exécute vraiment si vous le retapez sur la vieille bécane de 1982, celle qui a été vendue, je le rappelle, à 17 millions d'unités, avec son CPU MOS 65

Lego Batman - Un easter egg Commodore 64 BASIC caché dedans

Par : Korben ✨
9 juin 2026 à 16:13

Cabel Sasser, le boss de Panic Inc. (les gars derrière Coda, Nova et la fameuse Playdate ), vient de tomber sur un easter egg complètement génial dans LEGO Batman: Legacy of the Dark Knight, le jeu sorti fin mai 2026.

Et ce qu'il a découvert, c'est un petit programme Commodore 64 en BASIC affiché à l'écran sur l'ordi de Batman. Du vrai BASIC qui s'exécute vraiment si vous le retapez sur la vieille bécane de 1982, celle qui a été vendue, je le rappelle, à 17 millions d'unités, avec son CPU MOS 6510 cadencé à 1 MHz et ses 64 ko de RAM. Le programme, une fois lancé, dessine un sprite Batman qui rebondit aux quatre coins de l'écran, façon économiseur d'écran DVD des années 2000 (vous voyez le délire, le petit logo qui galère à taper pile dans le coin ?).

Et voici le code retranscrit ligne par ligne par Andy Baio de Waxy :

10 V=53248:POKE V+21,0:X=120:Y=120:POKE V+4,X:POKE V+5,Y:POKE V+21,4
11 POKE 2042,13:POKE 53277,15:POKE 53289,7
20 FOR N=0 TO 62:READ Q:POKE 832+N,Q:NEXT:DX=7:DY=3
30 X=X+DX:IF X>255 THEN X=255:DX=-DX
31 IF X<65 THEN X=65:DX=-DX
35 Y=Y+DY:IF Y>200 THEN Y=200:DY=-DY
36 IF Y<65 THEN Y=65:DY=-DY
40 POKE V+4,X:POKE V+5,Y:GOTO 30
200 DATA 0,0,0, 0,0,0, 12,68,96, 56,108,56, 120,124,60, 120,124,60
207 DATA 252,124,126, 255,255,254, 255,255,254, 255,255,254
211 DATA 143,255,226, 7,255,192, 3,255,128, 2,124,128
215 DATA 0,56,0, 0,56,0, 0,16,0, 0,16,0, 0,0,0, 0,0,0, 0,0,0
RUN

Pour ceux qui n'ont pas touché à un C64 depuis +40 ans, V=53248, c'est l'adresse du registre VIC-II (le chip graphique du Commodore, voisin direct du fameux chip son SID 6581 qui faisait pleurer les fans de Rob Hubbard), POKE 2042,13 ça pointe vers les données sprite, et les lignes 200-215 contiennent les 63 octets qui dessinent la silhouette du chevalier noir.

Ensuite, le reste, c'est juste de la physique d'arcade hyper basique : tu déplaces, tu rebondis aux bords, GOTO 30, et ça boucle. Douze lignes, et ça fait le job. Bon, à comparer avec les dizaines de mégaoctets que pèse le moindre runtime Unity d'aujourd'hui, ça dénote un peu. Puis c'est pas du vibe codé ça ma bonne dame... (quoique ?)

Après si vous voulez essayer, faudra taper le code à la main parce que le copier-coller n'existait pas en BASIC d'époque, donc n'oubliez pas qu'une seule virgule de travers dans les lignes DATA aura pour effet de transformer Batman en bouillie de pixels.

Et si vous voulez tester sans aller déterrer votre vieux C64 au grenier (ou sans le réveiller à coup d'alim USB-C moderne ), Krisztián Tóth a sorti un émulateur Commodore 64 qui tourne directement dans le navigateur , ça s'appelle ty64. J'ai préféré le tester là dessus plutôt que de réinstaller VICE, parce que c'est plus rapide et que ça évite de polluer la machine. Vous recopiez le code, vous tapez RUN, et Batman se met à rebondir sur votre écran comme si vous étiez en 1982.

Les animateurs Lego qui glissent du vrai BASIC dans un blockbuster en 2026 plutôt qu'une simple texture qui imite l'écran, j'adoooore ce niveau de détail. C'est totalement dans la même veine que Valve qui a planqué un Wilhelm Scream dans le Steam Controller .

Source

  • ✇Korben
  • Signal, DuckDuckGo et NordVPN menacent de quitter le Canada à cause d'une loi sur la surveillance
    Le Canada planche sur un projet de loi, le C-22, qui obligerait les services numériques à conserver pendant un an les métadonnées de leurs utilisateurs, c'est-à-dire pas le contenu de vos messages mais qui vous contactez, à quelle heure et depuis où vous le faites. Plusieurs champions de la vie privée préviennent qu'ils plieront bagage plutôt que de s'y soumettre. Signal, l'application de messagerie chiffrée que recommandent les défenseurs de la confidentialité, l'a dit noir sur blanc devant le

Signal, DuckDuckGo et NordVPN menacent de quitter le Canada à cause d'une loi sur la surveillance

8 juin 2026 à 17:08

Le Canada planche sur un projet de loi, le C-22, qui obligerait les services numériques à conserver pendant un an les métadonnées de leurs utilisateurs, c'est-à-dire pas le contenu de vos messages mais qui vous contactez, à quelle heure et depuis où vous le faites.

Plusieurs champions de la vie privée préviennent qu'ils plieront bagage plutôt que de s'y soumettre.

Signal, l'application de messagerie chiffrée que recommandent les défenseurs de la confidentialité, l'a dit noir sur blanc devant le comité de la sécurité publique de la Chambre des communes. Son vice-président Udbhav Tiwari n'a pas tourné autour du pot : "Si on nous force un jour à choisir entre trahir les gens qui comptent sur nous et quitter un marché, nous partirons."

DuckDuckGo, le moteur de recherche qui se vend, lui, sur le respect de la vie privée, a confirmé qu'il retirerait son service de VPN du Canada si le texte passe. Un VPN, pour rappel, c'est l'outil qui masque votre adresse et chiffre votre trafic pour qu'on ne puisse pas voir ce que vous faites en ligne.

NordVPN tient le même discours et parle d'étudier "toutes les options possibles, y compris réduire ou retirer notre présence". Windscribe, un autre fournisseur de VPN, va plus loin et menace carrément de déménager son siège et ses impôts ailleurs. Apple, Google et Meta sont aussi venus exprimer leurs réserves devant les députés. Ces projets de loi d'accès légal, qui visent à donner aux autorités un droit de regard sur les communications, reviennent régulièrement au Canada depuis plus de dix ans, et finissent à chaque fois par se cogner au même mur, le chiffrement.

Ce qui coince, c'est cette obligation de stocker un an de métadonnées et de bâtir des capacités d'accès pour que la police et le CSIS, le service de renseignement canadien, puissent venir piocher dedans pendant une enquête. Le ministre de la Sécurité publique pourrait même imposer ce genre de mécanisme à d'autres entreprises par un simple ordre, sans mandat d'un juge, avec pour seul garde-fou le feu vert d'un commissaire au renseignement.

Le problème, c'est qu'une métadonnée raconte déjà énormément. Pas besoin de lire vos messages pour savoir que vous appelez un cabinet d'avocats à 2h du matin trois jours d'affilée.

Et pour construire ces fameuses capacités d'accès, il faut souvent affaiblir le chiffrement, donc créer une porte dérobée. Une porte dérobée, c'est comme laisser une clé sous le paillasson en jurant que seul le gentil facteur la trouvera.

Le gouvernement essaie de calmer le jeu. Le ministre Gary Anandasangaree a promis des amendements précisant qu'on n'obligera personne à casser son chiffrement. Mais la rétention d'un an de métadonnées, elle, ne bouge pas.

Du coup, des boîtes dont le métier c'est justement de ne rien savoir de vous se retrouvent priées de tout retenir. Normal qu'elles préfèrent partir.

Source : Techspot

  • ✇Korben
  • Footywhoops – Un synthé codé en Go qui génère des patterns musicaux à la volée
    Faire du bruit avec du code, c'est un peu le graal pour tout dev qui aime la musique. On connaît tous les gros trucs en C++ ou les frameworks spécialisés, mais voir débarquer un synthé complet codé en Go, c'est toujours une petite surprise qui se déguste sans modération. Son nom : Footywhoops . C'est un couteau suisse sonore que vous pilotez directement depuis votre terminal et qui permet de générer des séquences de batterie, des lignes de basse (un mode "Acid Bass" bien gras avec sub-oscillate

Footywhoops – Un synthé codé en Go qui génère des patterns musicaux à la volée

Par : Korben
29 janvier 2026 à 10:21

Faire du bruit avec du code, c'est un peu le graal pour tout dev qui aime la musique. On connaît tous les gros trucs en C++ ou les frameworks spécialisés, mais voir débarquer un synthé complet codé en Go, c'est toujours une petite surprise qui se déguste sans modération.

Son nom : Footywhoops .

C'est un couteau suisse sonore que vous pilotez directement depuis votre terminal et qui permet de générer des séquences de batterie, des lignes de basse (un mode "Acid Bass" bien gras avec sub-oscillateur et enveloppes ADSR est de la partie), des arpèges et des mélodies. Le tout peut être calé sur différentes gammes musicales (majeure, mineure, dorienne, blues, etc.) pour éviter de finir avec une cacophonie insupportable. On est un peu dans l'esprit du live coding musical comme ce que propose Strudel ou Dittytoy , mais version ligne de commande.

Sous le capot, c'est du sérieux niveau DSP (Digital Signal Processing) puisqu'on y trouve une réverbération de type Schroeder pour donner de l'espace, plusieurs algorithmes de distorsion (Tanh, Atan, hard clipping) pour salir le signal, et un filtre passe-bas pour sculpter la tonalité. Et pour ceux qui se demanderaient quel est le meilleur langage pour la programmation audio, le C++ reste le roi pour la performance pure, mais Go s'en sort étonnamment bien ici grâce à sa gestion efficace de la concurrence (coucou les goroutines) et l'utilisation de PortAudio pour l'I/O audio. On a d'ailleurs vu d'autres outils sympas en Go récemment, comme SSHM qui utilise le framework Bubble Tea pour son interface terminal.

Le truc est super léger et s'installe en deux minutes si vous avez l'environnement Go prêt sur votre machine. Vous pouvez même enregistrer vos expérimentations directement en WAV (dry ou wet) sans avoir besoin de passer par une DAW (Digital Audio Workstation). D'ailleurs, si vous cherchez des ressources pour faire de la musique sous pingouin, n'hésitez pas à consulter ce catalogue audio pour Linux .

Et si vous avez envie de tester ce petit monstre, voici comment vous lancer.

Pour commencer, vous aurez besoin de Go 1.19 ou plus et des bibliothèques de développement de PortAudio sur votre système.

1. Installation des dépendances

Sur macOS :

brew install portaudio

Sur Ubuntu/Debian :

sudo apt-get install portaudio19-dev

2. Compilation du projet

Récupérez le code et compilez l'exécutable :

git clone https://github.com/system32-ai/footywhoops
cd footywhoops
go build

3. Exemples d'utilisation

Pour lancer une génération automatique de mélodie et de batterie (le mode "standalone") :

./footywhoops -mode synth

Si vous voulez utiliser Footywhoops comme un processeur d'effets (par exemple pour traiter le son de votre micro ou d'une guitare branchée sur votre interface) :

./footywhoops -mode fx -dist 0.8 -reverb 0.5

Vous pouvez évidemment jouer avec plein de paramètres en CLI pour ajuster le son (fréquence du filtre, type de distorsion, taille de la réverb, etc.). Pour voir toutes les options disponibles, un petit ./footywhoops -help et voilà, vous avez la liste complète.

Je pense que j'ai fait le tour... si vous aimez le mélange entre code et synthèse sonore, Footywhoops est un super terrain de jeu. C'est brut, c'est sale, et c'est expérimental mais ça permet de s'amuser un peu !

  • ✇Korben
  • Comment imprimer une brique LEGO ?
    On a tous gardé notre âme d'enfant, notamment en ce qui concerne les LEGO. Je connais d'ailleurs pas mal d'adultes qui achètent et montent encore des boites pour le kiff. Et c'est cool parce que ça fait travailler les doigts et l'esprit ! Seulement, si à un moment, il se passe un petit drame et que vous égarez une pièce LEGO, votre vie peut vite être gâchée. Rien que ça oui. Parlez-en à ceux qui font des puzzles par PASSION... Oui y'en a ! Évidemment, il y a plein de sites web où vous pouvez rac

Comment imprimer une brique LEGO ?

Par : Korben
28 janvier 2026 à 09:23

On a tous gardé notre âme d'enfant, notamment en ce qui concerne les LEGO. Je connais d'ailleurs pas mal d'adultes qui achètent et montent encore des boites pour le kiff. Et c'est cool parce que ça fait travailler les doigts et l'esprit !

Seulement, si à un moment, il se passe un petit drame et que vous égarez une pièce LEGO, votre vie peut vite être gâchée. Rien que ça oui. Parlez-en à ceux qui font des puzzles par PASSION... Oui y'en a !

Évidemment, il y a plein de sites web où vous pouvez racheter des pièces comme je vous l'expliquais dans cet article sur la restauration d'anciens sets LEGOs . Mais si vous avez une imprimante 3D, vous pouvez franchir le pas de la contrefaçon copie privée à but non commercial et produire vous-même la pièce manquante !

Comment ? Et bien grâce à Printable Bricks qui vous propose plus de 5000 pièces de LEGO au format STL à imprimer directement et bien sûr compatible avec de vrais LEGO.

Après même si le site a survécu aux menaces DMCA et reste toujours en ligne, prenez quand même le temps de sauvegarder ce dont vous avez besoin, on ne sait jamais ;-)

Et si vous voulez aller plus loin dans la personnalisation, y'a maintenant MachineBlocks qui permet de générer des briques sur mesure directement depuis votre navigateur. Vous pouvez ajuster les dimensions, choisir le type de brique, et même utiliser leur outil de calibration pour que ça s'emboîte parfaitement avec vos LEGO originaux. Hop ensuite un export en STL ou 3MF et c'est parti !

Dans le même genre, le générateur de Lapinoo vous permet aussi de dessiner la forme de votre brique à la souris sur une grille. Vous voulez une pièce en L bizarre qu'aucun set n'a jamais proposé ? Pas de souci, vous dessinez, vous ajustez les plots et la cavité inférieure, et boum, le fichier STL est prêt.

Et si vous n'avez pas encore d'imprimante 3D, pas de problème, il vous suffit de la fabriquer en LEGO . Oh wait...

Merci B0t_Ox de la formidable communauté Twitch Korben.info pour l'info !

Pour aller plus loin :

Si ce genre de projets DIY vous branche, je partage aussi des trucs sur ma page Facebook .

Article initialement publié le 4 mai 2021, mis à jour le 28 janvier 2026.

  • ✇Korben
  • Comment j'ai viré Algolia et recréé le Google de 1998 sur mon site
    Bon, faut qu'on parle un peu du moteur de recherche de mon site. Ceux qui l'ont déjà utilisé savent de quoi je parle : c'était pas terrible. Enfin, « pas terrible » j'suis gentil. C'est un espèce d'overlay avec des résultats certes fiables mais c'était vraiment pas pratique. Et en plus de ça, comme j'ai un site statique généré avec Hugo, je passais par Algolia pour la recherche. Si vous ne connaissez pas, Algolia c'est un service cloud qui indexe votre contenu et vous fournit une API de recherch

Comment j'ai viré Algolia et recréé le Google de 1998 sur mon site

Par : Korben
31 décembre 2025 à 12:00

Bon, faut qu'on parle un peu du moteur de recherche de mon site. Ceux qui l'ont déjà utilisé savent de quoi je parle : c'était pas terrible. Enfin, « pas terrible » j'suis gentil. C'est un espèce d'overlay avec des résultats certes fiables mais c'était vraiment pas pratique.

Et en plus de ça, comme j'ai un site statique généré avec Hugo, je passais par Algolia pour la recherche. Si vous ne connaissez pas, Algolia c'est un service cloud qui indexe votre contenu et vous fournit une API de recherche ultra-rapide. Sur le papier c'est génial et dans la pratique aussi d'ailleurs sauf que voilà, ça coûte des sous. Et mon site rencontre un franc succès ces derniers temps (merci à vous !), donc j'ai de plus en plus de visiteurs, donc de plus en plus de recherches, donc une facture Algolia qui grimpe gentiment chaque mois.

Du coup je me suis dit : « Et si je trouvais une solution de recherche pour sites statiques ? » Parce que oui, ça existe et c'est comme ça que j'ai découvert Pagefind.

Pagefind c'est donc un moteur de recherche statique open source développé par CloudCannon qui fonctionne comme ceci : Au moment du build de votre site, Pagefind parcourt tout votre HTML généré et crée un index de recherche qu'on peut interroger avec un peu de JS. Y'a donc plus d'API, et tout se fait localement sur le navigateur des internautes.

Bref, ça avait l'air très cool alors évidemment, je me suis lancé dans l'aventure et comme j'aime bien me compliquer la vie, j'ai décidé de pas juste intégrer Pagefind tel quel. Non non. J'ai voulu recréer l'interface du Google de 1998 parce que à quoi bon avoir son propre site web si on peut pas s'amuser un peu ^^.

Laissez-moi donc vous raconter cette aventure.

Le problème avec Algolia

Leur service est excellent, je dis pas le contraire, la recherche est rapide, les résultats sont pertinents, l'API est bien foutue mais voilà, y'a le modèle de pricing puisque Algolia facture au nombre de requêtes de recherche.

Plus les gens cherchent sur votre site, plus vous payez et quand vous avez un site qui fait plusieurs millions de pages vues par mois, bah... ça chiffre vite. En gros je dépasse très vite les 10 000 recherches offertes chaque semaine et ensuite ça chiffre. C'est pas la mort, mais c'est un coût récurrent débile pour un truc qui pourrait être gratuit.

En plus de ça, y'a la dépendance à un service externe. Si Algolia tombe, ma recherche tombe. Et si Algolia change ses prix, je vais devoir subir. Même chose si Algolia décide de modifier son API... il faudra que j'adapte mon code. Bref, c'est le cloud dans toute sa splendeur... C'est pratique mais on n'est jamais vraiment chez nous.

Pagefind à la rescousse

Pagefind résout donc tous ces problèmes d'un coup. C'est un outil en ligne de commande qui s'exécute après votre générateur de site statique (Hugo dans mon cas, mais ça marche avec Jekyll, Eleventy, Astro, ou n'importe quoi d'autre).

Concrètement, vous lancez :

npx pagefind --site public

Et Pagefind va :

    1. Scanner tous vos fichiers HTML dans le dossier public/
    1. Extraire le contenu textuel (en ignorant la nav, le footer, les pubs si vous lui dites)
    1. Créer un index de recherche optimisé
    1. Générer des fichiers JavaScript pour interroger cet index côté client

Et le résultat c'est un dossier pagefind/ qui contient tout ce qu'il faut. Ensuite; à vous de servir ces fichiers statiquement avec le reste de votre site, et la magie pourra opérer !

L'index pour mes 18 000 articles fait environ 1,5 Go. Ça peut paraître beaucoup, mais Pagefind est malin car il découpe l'index en fragments et ne charge que ce qui est nécessaire pour la recherche en cours. Du coup en pratique, une recherche typique télécharge quelques centaines de Ko, et pas plus.

L'intégration technique

Pour intégrer Pagefind dans mon workflow Hugo, j'ai donc été cherché le binaire, je l'ai mis sur mon serveur et je l'ai appelé dans un cron comme ça, je rafraichi l'index de recherche 1 fois par jour (et pas à chaque génération du site).

0 4 * * * /home/manu/pagefind/pagefind --site /home/manu/public_html --output-path /home/manu/public_html/pagefind >> /var/log/pagefind.log 2>&1

J'ai aussi créé un fichier de configuration pagefind.yml pour affiner le comportement :

root_selector: "[data-pagefind-body]"
exclude_selectors:
 - "header"
 - ".site-header"
 - "footer"
 - ".sidebar"

L'astuce ici c'est d'indexer uniquement les div ayant la class data-pagefind-body='true' et d'exclure les éléments qui ne font pas partie du contenu éditorial afin de ne pas indexer ce qui se trouve dans le header, les natives, le footer...etc.

Côté JavaScript, Pagefind utilise les imports ES6 dynamiques. Ça veut dire que le moteur de recherche n'est chargé que quand l'utilisateur lance effectivement une recherche :

async function initPagefind() {
pagefind = await import('/pagefind/pagefind.js');
await pagefind.init();
}

Et pour faire une recherche :

const search = await pagefind.search("linux");
// search.results contient les IDs des résultats
// On charge le contenu de chaque résultat à la demande
for (const result of search.results) {
 const data = await result.data();
 console.log(data.url, data.meta.title, data.excerpt);
}

C'est bien fichu parce que search.results retourne immédiatement les références des résultats, mais le contenu réel (titre, extrait, URL) n'est chargé que quand vous appelez result.data(). Du coup vous pouvez implémenter une pagination propre sans télécharger les données de milliers de résultats d'un coup.

Le délire rétro - Recréer Google 1998

Maintenant que j'avais un moteur de recherche fonctionnel, fallait l'habiller. Et c'est là que j'ai eu cette idée un peu débile : Pourquoi pas recréer l'interface du Google de 1998 ?

Pour les plus jeunes qui lisent ça, Google en 1998 c'était une page blanche avec un logo, un champ de recherche, et deux boutons : « Google Search » et « I'm Feeling Lucky« . Pas de suggestions, pas de carrousels, pas de pubs... Juste un champs de recherche. C'était la belle époque !

J'ai donc créé une page de recherche avec deux vues distinctes. La page d'accueil avec le logo centré et le champ de recherche au milieu, exactement comme le Google originel.

Et la page de résultats avec le logo en petit en haut à gauche et les résultats en dessous.

Pour le code CSS, j'ai voulu être fidèle à l'époque. Times New Roman comme police par défaut, les liens en bleu souligné qui deviennent violet une fois visités. Et surtout, les boutons avec l'effet 3D des interfaces Windows 95 :

.search-button:active { border-style: inset; }

Ce border: outset et border-style: inset au clic, c'est exactement ce qui donnait cet effet de bouton en relief qu'on avait partout dans les années 90. Pour moi, ça fait toute la différence pour l'authenticité. Même le logo, je l'ai volontairement « dégradé » pour qu'il soit de la même qualité que le logo Google d'origine.

La pagination « Koooooorben »

Vous vous souvenez de la pagination de Google avec « Goooooogle » en bas de page ? Le nombre de « o » correspondait au nombre de pages de résultats. J'ai fait pareil, mais avec « Koooooorben ».

let logo = 'K'; for (let i = 0; i < oCount; i++)
{
logo += o;
} logo += 'rben'; }

Plus il y a de résultats, plus il y a de « o ». C'est complètement inutile mais ça me fait marrer à chaque fois que je le vois.

Le bouton « J'ai de la chance »

Ah, le fameux « I'm Feeling Lucky » de Google, j'ai voulu l'implémenter comme à l'époque ! Si vous tapez une recherche et cliquez sur « J'ai de la chance », vous êtes envoyé sur le premier résultat. Classique. Mais si vous cliquez sur le bouton avec le champ vide sur la home de la recherche, vous êtes envoyé sur un article aléatoire parmi les +18 000 du site.

Pour ça, j'ai utilisé une astuce : le sitemap. Mon Hugo génère un fichier sitemap.xml qui contient toutes les URLs du site et je peux aller piocher dedans en JS :

const articles = [...xml.querySelectorAll('loc')] .map(loc => loc.textContent) .filter(url => {
// Exclure les pages qui ne sont pas des articles
const path = new URL(url).pathname;
return !path.startsWith('/categories/') && !path.startsWith('/page/') && path !== '/';
});
const randomUrl = articles[Math.floor(Math.random() * articles.length)];
window.location.href = randomUrl;
} }

Un seul fetch, un peu de parsing XML natif, et hop c'est le grand retour de la fonctionnalité « article aléatoire » qui vous manquait, je le sais !

Tri et nombre de résultats

Je vous ai aussi mis une listbox qui vous permet d'afficher 10, 25 ou 50 résultats ainsi qu'un tri par pertinence ou data. Et ça aussi Pagefind sait parfaitement le navigateur.

Mode sombre et accessibilité

Même si l'interface est rétro, j'ai quand même ajouté quelques fonctionnalités modernes. Le mode sombre respecte les préférences système, et j'ai intégré la police OpenDyslexic pour les personnes dyslexiques.

Le truc important c'est de charger ces préférences avant le rendu de la page pour éviter le fameux flash. J'ai donc un petit script qui lit les préférences dans le localStorage et applique les classes CSS immédiatement :

function() {
 if (localStorage.getItem('theme') === 'dark') {
 document.documentElement.classList.add('dark-mode');
 }
 if (localStorage.getItem('dyslexic-font') === 'true') {
 document.documentElement.classList.add('dyslexic-mode');
 }
});

Gestion de l'historique navigateur

Un détail qui peut sembler anodin mais qui est super important pour l'expérience utilisateur c'est la gestion du bouton retour du navigateur.

Quand vous faites une recherche, l'URL change selon votre requête du genre /recherche/?q=linux&p=2. Du coup si vous partagez cette URL à un collègue, la personne arrivera directement sur les résultats de recherche. Et si vous utilisez le bouton retour, vous reviendrez alors à la recherche précédente.

window.addEventListener('popstate', () => {
const query = new URLSearchParams(location.search).get('q');
if (query) doSearch(query);
else showHomePage();
});

Liens vers d'autres moteurs

Et si vous ne trouvez pas votre bonheur dans mes +18 000 articles (ce qui serait quand même étonnant ^^), j'ai ajouté des liens pour relancer la même recherche sur Google, DuckDuckGo, Qwant, Brave et Ecosia. Bref, un petit service bonus pour mes visiteurs, exactement comme le proposait Google à l'époque.

Le bilan - Algolia vs Pagefind

Après 1 semaine d'utilisation, voici donc mon verdict ! Côté portefeuille d'abord, Algolia me coûtait entre 60 et +100 euros par mois et maintenant pour Pagefind, c'est zéro euros ! Et les performances sont également au rendez-vous. Algolia c'était rapide et bien là, ça l'est encore plus. Seul compromis à noter, l'index Algolia se mettait à jour en temps réel, alors que Pagefind nécessite une reconstruction au moment du build.

La conclusion

Voilà, j'ai maintenant une recherche qui marche vraiment bien, qui me coûte 0€ par mois, et qui a un look rétro qui va en surprendre plus d'un...

Alors est-ce que c'était nécessaire de passer autant de temps sur le design rétro ? Hé bien absolument pas. Mais est-ce que ça valait le coup ?

Franchement, oui !! C'est mon site, je fais ce que je veux, et si ça peut faire sourire quelques visiteurs nostalgiques des débuts du web, c'est du bonus. D'ailleurs un grand merci aux Patreons qui me soutiennent car sans eux, je n'aurais pas pu passer mon dimanche là dessus ^^

Et puis surtout, ça m'a permis de découvrir Pagefind qui est vraiment un excellent outil. Donc si vous avez un site statique (ou n'importe quel type de contenu textuel) et que vous cherchez une solution de recherche gratuite et performante, je vous le recommande chaudement. La documentation est claire, l'intégration est simple, et le résultat est top !

Allez, maintenant vous pouvez aller tester la nouvelle recherche sur le site . Et si vous cliquez sur « J'ai de la chance » sans rien taper... bonne découverte !

  • ✇Korben
  • Sisu - Quand votre AWS devient un simple dossier sur votre disque
    Vous passez vos journées à faire des aws iam list-users | jq '.Users[]' et autres trucs interminables pour juste trouver une info ?? Laissez tomber, j'ai le truc qui va vous changer la vie ! Ça s'appelle Sisu et c'est un petit outil en Go qui monte vos ressources AWS comme un système de fichiers local. Du coup, au lieu de taper des commandes AWS complexes, vous utilisez juste grep, cat, diff, vim... c'est à dire les outils Unix que vous connaissez déjà par cœur. Vous lancez la commande sisu et h

Sisu - Quand votre AWS devient un simple dossier sur votre disque

Par : Korben
23 décembre 2025 à 10:00

Vous passez vos journées à faire des aws iam list-users | jq '.Users[]' et autres trucs interminables pour juste trouver une info ?? Laissez tomber, j'ai le truc qui va vous changer la vie !

Ça s'appelle Sisu et c'est un petit outil en Go qui monte vos ressources AWS comme un système de fichiers local. Du coup, au lieu de taper des commandes AWS complexes, vous utilisez juste grep, cat, diff, vim... c'est à dire les outils Unix que vous connaissez déjà par cœur.

Vous lancez la commande sisu et hop, vos ressources AWS se retrouvent montées dans ~/.sisu/mnt/ ! Vos buckets S3, vos paramètres SSM, vos roles IAM, vos lambdas, vos instances EC2...etc. Tout ça organisé en dossiers par profil AWS et par région.

Ainsi, pour chercher tous vos utilisateurs IAM qui ont un accès admin, c'est aussi simple que :

grep -l "AdministratorAccess" */global/iam/users/*/policies.json

Pour comparer la config d'un rôle entre prod et staging :

diff prod/global/iam/roles/api/info.json staging/global/iam/roles/api/info.json

Et pour lire un secret ? Un simple cat default/us-east-1/secrets/myapp/database/value.

C'est bête comme Jordan mais ça change tout pour la maintenance au quotidien !

Et côté services supportés, Sisu gère pas mal de trucs tels que le S3 et SSM Parameter Store en lecture/écriture/suppression, et IAM, VPC, Lambda, EC2, Secrets Manager, Route 53 et CloudWatch Logs en lecture seule. Y'a même un truc sympa pour EC2 c'est que vous pouvez vous connecter à une instance via SSM Session Manager sans avoir besoin de clés SSH. Suffit d'exécuter le fichier connect qui se trouve dans le dossier de l'instance (à condition d'avoir l'agent SSM configuré sur l'instance et le plugin Session Manager côté client, évidemment).

Pour les logs CloudWatch, c'est bien aussi puisqu'ils sont streamés à la demande par batches de 100, donc vous pouvez faire un grep dessus sans tout charger en mémoire d'un coup.

Côté installation, c'est du Go classique :

go install github.com/semonte/sisu@latest

Faudra juste penser à installer FUSE avant sur votre système (apt install fuse sous Ubuntu/Debian, yum install fuse sous RHEL/CentOS) et c'est tout, y'a rien d'autre à configurer si vous avez déjà vos credentials AWS en place.

Après, l'outil cache les résultats pendant 5 minutes pour éviter de spammer l'API AWS à chaque ls, ce qui est plutôt indispensable pour limiter les appels et le temps de réponse.

Bref, si vous en avez marre de jongler avec jq pour parser du JSON AWS, Sisu va vous aider ! C'est open source sous licence MIT, et c'est par ici !

  • ✇Korben
  • Tor CGO - Quand chaque attaque se transforme en auto-sabotage
    Bonne nouvelle, les amis, Tor vient d’implémenter CGO (Counter Galois Onion) ! Si ça ne vous dit rien, c’est normal, moi non plus je ne connaissais pas, mais je vais tout vous expliquer ! Jusqu’à maintenant, le réseau Tor protégeait votre anonymat avec du chiffrement en oignon. Plusieurs couches de crypto, une par relais et ça marche bien… sauf qu’il existe une technique vicieuse qu’on appelle les attaques par tagging. Le tagging c’est quand un attaquant modifie votre trafic chiffré à différents

Tor CGO - Quand chaque attaque se transforme en auto-sabotage

Par : Korben
25 novembre 2025 à 12:03

Bonne nouvelle, les amis, Tor vient d’implémenter CGO (Counter Galois Onion) !

Si ça ne vous dit rien, c’est normal, moi non plus je ne connaissais pas, mais je vais tout vous expliquer !

Jusqu’à maintenant, le réseau Tor protégeait votre anonymat avec du chiffrement en oignon. Plusieurs couches de crypto, une par relais et ça marche bien… sauf qu’il existe une technique vicieuse qu’on appelle les attaques par tagging.

Le tagging c’est quand un attaquant modifie votre trafic chiffré à différents endroits du réseau (genre en ajoutant un marqueur invisible dans certains noeuds), puis il observe ce qui sort de l’autre côté pour vous tracer. C’est comme quand vous collez un traceur GPS dans votre voiture, sauf que là c’est des bits dans du trafic chiffré.

Et de son côté, CGO fait encore mieux que de bloquer cette attaque. En effet, il transforme chaque attaque en auto-sabotage ! Si quelqu’un modifie ne serait-ce qu’un seul bit de votre trafic chiffré, tout le message devient illisible. Et pas seulement ce message… tous les messages futurs de la session deviennent du bruit blanc irrécupérable.

Avec ça en place, l’attaquant se tire une balle dans le pied à chaque tentative.

Derrière ce système, il y a 4 cryptographes qui ont bossé très dur : Jean Paul Degabriele, Alessandro Melloni, Jean-Pierre Münch et Martijn Stam. Ils ont publié leur recherche cette année et ça a été implémenté dans Arti, la version Rust de Tor et l’implémentation C arrive bientôt.

Ce qui change tout, c’est le calcul risque/bénéfice pour les attaquants car avant, tenter de tracer quelqu’un avait peu de conséquences si ça échouait. Mais maintenant, tenter de tracer quelqu’un détruit définitivement votre capacité à surveiller cette personne. Et vous vous en doutez, les agences de surveillance détestent perdre leur accès… Elles préfèrent observer en silence plutôt que de tout casser dans une tentative maladroite. Du coup CGO les force à choisir. Soit rester invisibles, soit tout perdre.

Et puis il y a un autre aspect génial à cette techno, c’est le forward secrecy renforcé que ça engendre car à chaque message, CGO transforme les clés de chiffrement de façon irréversible. Même si un attaquant récupère vos clés actuelles, il ne peut pas déchiffrer les messages précédents car les clés précédentes ont été broyées et remplacées à chaque étape.

CGO remplace aussi l’ancien système d’authentification qui utilisait un digest de 4 bytes par un authenticateur de 16 bytes. C’est donc bien plus costaud et plus difficile à falsifier ainsi qu’à contourner.

Comme d’hab, Tor publie l’algorithme en open source donc vous pouvez vous plonger dans le code si ça vous amuse.

Cette implémentation de CGO est encore expérimentale pour le moment, mais une fois que cela aura été éprouvé par la communauté et testé pendant plusieurs mois, voire des années, ce sera déployé officiellement dans les futurs relais, puis dans les services onion de Tor.

Voilà donc comment Tor fait de chaque tentative de surveillance un auto-sabotage irréversible, et ça les amis, c’est un message qui devrait faire réfléchir pas mal de gens dans des bureaux sans fenêtres.

Source

  • ✇Korben
  • Tiny SVG - Compressez vos SVG sans rien uploader
    Vous avez des SVG qui pèsent trop lourd pour votre site web ? C’est pas graaaave, parce qu’il y a Tiny SVG est un outil en ligne qui compresse vos fichiers vectoriels directement depuis votre navigateur comme ça, pas besoin d’uploader vos œuvres sur un serveur externe puisque vos fichiers ne quittent jamais votre machine. L’outil utilise SVGO en arrière-plan avec plus de 40 plugins configurables. Vous pouvez ainsi activer ou désactiver chaque optimisation selon vos besoins : Suppression des méta

Tiny SVG - Compressez vos SVG sans rien uploader

Par : Korben
24 novembre 2025 à 10:20

Vous avez des SVG qui pèsent trop lourd pour votre site web ?

C’est pas graaaave, parce qu’il y a Tiny SVG est un outil en ligne qui compresse vos fichiers vectoriels directement depuis votre navigateur comme ça, pas besoin d’uploader vos œuvres sur un serveur externe puisque vos fichiers ne quittent jamais votre machine.

L’outil utilise SVGO en arrière-plan avec plus de 40 plugins configurables. Vous pouvez ainsi activer ou désactiver chaque optimisation selon vos besoins : Suppression des métadonnées inutiles, fusion des paths, simplification des transformations, et plein d’autres trucs. Le tout avec une prévisualisation en temps réel qui montre le SVG avant et après compression.

J’ai testé sur mon logo mais comme il est déjà super optimisé, ça ne m’a fait gagné que -0,5 % mais les résultats sont plutôt impressionnants car sur certains fichiers, Tiny SVG peut réduire la taille jusqu’à 70%. Ça dépend évidemment de la complexité du SVG d’origine et des optimisations que vous activez, mais globalement c’est très efficace.

Et y’a pas que la compression puisque Tiny SVG génère aussi du code prêt à l’emploi pour vos frameworks préférés. Vous pouvez ainsi exporter votre SVG optimisé en composant React (JSX ou TSX), Vue, Svelte, React Native ou même Flutter. Trop pratique pour ne plus avoir besoin de convertir manuellement vos icônes en composants.

Y’a aussi des fonctionnalités de transformation telles que la rotation, flip horizontal et vertical, redimensionnement…etc et vous pouvez exporter en Data URI dans plusieurs formats, et également générer des PNG ou JPEG avec les dimensions de votre choix. Le diff viewer intégré permet aussi de comparer le code SVG avant et après optimisation pour voir exactement ce qui a changé.

Côté technique, c’est une Progressive Web App qui fonctionne même hors ligne et le traitement se fait via Web Workers pour ne pas bloquer l’interface. Le projet est développé par hehehai, distribué sous licence MIT, et le code source est sur GitHub donc vous pouvez l’héberger vous-même sur Vercel, Netlify ou Docker si vous préférez avoir votre propre instance.

A tester ici : Tiny SVG !

  • ✇Korben
  • Ackify - Pour confirmer la lecture d'un document
    Benjamin, lecteur de korben.info, m’a envoyé un email pour me parler d’ Ackify , son nouveau projet open-source. L’idée avec Ackify c’est de pouvoir confirmer qu’un document a bien été lu ! Je parle pas de signature électronique, hein. Pour ça y’a déjà DocuSign, Adobe Sign, HelloSign…etc. Non, je vous parle des cas où vous avez juste besoin de prouver que Thérèse de la compta a bien reçu, ouvert et lu le PDF de la nouvelle procédure RGPD. Et pour ça, les solutions du marché sont soit surdimensio

Ackify - Pour confirmer la lecture d'un document

Par : Korben
21 novembre 2025 à 08:34

Benjamin, lecteur de korben.info, m’a envoyé un email pour me parler d’ Ackify , son nouveau projet open-source. L’idée avec Ackify c’est de pouvoir confirmer qu’un document a bien été lu !

Je parle pas de signature électronique, hein. Pour ça y’a déjà DocuSign, Adobe Sign, HelloSign…etc. Non, je vous parle des cas où vous avez juste besoin de prouver que Thérèse de la compta a bien reçu, ouvert et lu le PDF de la nouvelle procédure RGPD. Et pour ça, les solutions du marché sont soit surdimensionnées, soit inexistantes, du coup, les boîtes bidouillent avec des Google Forms pourris ou des macros Excel qui traînent dans le coin depuis 2003.

Ackify tourne en Docker distroless, s’installe en 5 minutes avec un script, et fonctionne sur PostgreSQL 16. L’authentification se fait via Magic Link sans mot de passe, ou OAuth 2 si vous préférez Google, GitHub ou GitLab. Ensuite, une fois connecté, vous lisez le document, vous cliquez sur “J’ai lu”, et c’est terminé. Une signature cryptographique Ed25519 est générée, le checksum SHA-256 du document est vérifié, et tout part dans un audit trail immuable.

Le principe est donc super solide et chaque utilisateur ne peut signer qu’une seule fois par document. Ensuite, vous en tant qu’admin, vous avez un dashboard pour tracker qui a lu quoi. Il y a également des rappels automatiques par email pour ceux qui traînent et des widgets que vous pouvez intégrer dans votre intranet si ça vous amuse !

Sans oublier que c’est multi-lingue !

Bref, que ce soit pour obtenir des attestations de lecture de politiques de sécurité, des formations internes avec validation, la prise en compte de directive RGPD, des procédures de conformité…etc, Ackify pourra vous aider sans avoir à sortir l’artillerie lourde de la signature électronique traditionnelle.

Voilà, c’est gratuit, open source et vous pouvez avoir tous les détails sur le site officiel du projet : ackify.eu .

  • ✇Korben
  • GoBackup - Pour sauvegarder vos bases de données facilement
    Vous savez, ce script bash de backup que vous avez écrit en 2018 et que vous n’osez plus toucher ? Celui avec les 150 lignes de mysqldump + tar + gzip + aws s3 cp qui marche à moitié et que vous relancez manuellement quand il plante ? Hé bien vous allez pouvoir le foutre à la poubelle parce que maintenant y’a GoBackup ! GoBackup c’est un binaire codé en Go qui remplace tous vos scripts de backup maison d’un coup. MySQL, PostgreSQL, MongoDB, Redis, peu importe. Local, FTP, S3, Google Cloud, Azure

GoBackup - Pour sauvegarder vos bases de données facilement

Par : Korben
15 octobre 2025 à 11:14

Vous savez, ce script bash de backup que vous avez écrit en 2018 et que vous n’osez plus toucher ? Celui avec les 150 lignes de mysqldump + tar + gzip + aws s3 cp qui marche à moitié et que vous relancez manuellement quand il plante ?

Hé bien vous allez pouvoir le foutre à la poubelle parce que maintenant y’a GoBackup !

GoBackup c’est un binaire codé en Go qui remplace tous vos scripts de backup maison d’un coup. MySQL, PostgreSQL, MongoDB, Redis, peu importe. Local, FTP, S3, Google Cloud, Azure, peu importe. Vous installez, vous configurez un fichier YAML, et c’est fini.

Ensuite, vous n’aurez plus jamais besoin de retoucher à tout ce bordel.

Avant GoBackup y’avait backup/backup, une gem Ruby qui faisait exactement ce job avec de la sauvegarde automatique, multi-bases, multi-destinations et c’était bien. Sauf que Ruby c’est lourd et les dépendances Ruby c’est l’enfer. Du coup le projet est mort tout doucement. Heureusement, huacnlee, un dev chinois, en a eu marre alors il a tout réécrit en Go. Zéro dépendance externe et un seul binaire compilé (installable aussi avec Brew pour ceux qui sont sous macOS).

Vous pouvez l’installer comme ceci (vérifiez le script) :

curl -sSL https://gobackup.github.io/install | sh

Ou via homebrew comme ceci :

brew install gobackup

Avec GoBackup, vous définissez vos bases de données, vos fichiers à archiver, vos destinations de stockage, votre planning, tout dans un fichier YAML propre et ensuite le binaire gère tout : Compression, chiffrement, upload, rotation des backups, notifications si ça échoue…etc. Bref, tout ce que vous faisiez à la main avec vos scripts pourris.

Et GoBackup est pas juste un CLI (Interface en ligne de commande). C’est un CLI + un daemon + une Web UI + un scheduler. Comme ça vous lancez “gobackup start” et ça tourne en background.

Le daemon surveille alors le planning défini dans votre config et lance les backups automatiquement. Et l’interface web vous permet de voir l’état des backups, les logs, les erreurs.

Avec GoBackup, vous remplacez littéralement 5 outils en un : votre script bash + cron + un monitoring pourri + un truc pour lire les logs + l’interface d’admin que vous avez jamais eu le temps de faire.

Votre config ressemble à ça :

models:
 mon_app:
 compress:
 type: tgz
 databases:
 mon_mysql:
 type: mysql
 host: localhost
 database: ma_base
 username: user
 password: $MYSQL_PASSWORD
 storages:
 mon_s3:
 type: s3
 bucket: mes-backups
 region: eu-west-1
 access_key_id: $AWS_KEY
 secret_access_key: $AWS_SECRET
 schedule:
 every: 1day
 at: "04:05"

Et c’est tout. Avec ce fichier, GoBackup dump votre base MySQL tous les jours à 4h05, compresse en .tar.gz, chiffre si vous voulez, et upload sur S3. Et si ça échoue vous recevez une notif. Et si ça marche vous avez les logs comme ça, pas besoin de surveiller, ni de débugger à 3h du matin parce que le backup a planté et que vous avez perdu 6 mois de données.

Notez quand même que GoBackup fait du backup classique, et pas du backup incrémental intelligent à la Restic ou à la Borg donc si vous avez 500 GB de données à backup tous les jours vous allez peut-être préférer un outil plus sophistiqué mais pour 90% des cas d’usage sysadmin standard, GoBackup suffira largement.

Votre script bash dégeu a eu une belle vie, il peut maintenant partir à la retraite.

  • ✇Korben
  • Quand le set LEGO Game Boy prend vie
    J’espère que votre semaine se passe bien. Moi c’est la course comme d’hab… Mais je viens de tomber sur un truc que j’ai trouvé super cool et je ne résiste pas à l’envie de partager ça avec vous. Vous avez vu le nouveau set LEGO Game Boy officiel (lien affilié) qui vient de sortir ? 421 pièces, une soixantaines d’euros, une réplique à l’échelle 1:1 avec des cartouches Link’s Awakening et Super Mario Land faits de briques… C’est joli, c’est nostalgique, mais ça ne fait strictement rien. C’est just

Quand le set LEGO Game Boy prend vie

Par : Korben
2 octobre 2025 à 14:32

J’espère que votre semaine se passe bien. Moi c’est la course comme d’hab… Mais je viens de tomber sur un truc que j’ai trouvé super cool et je ne résiste pas à l’envie de partager ça avec vous. Vous avez vu le nouveau set LEGO Game Boy officiel (lien affilié) qui vient de sortir ? 421 pièces, une soixantaines d’euros, une réplique à l’échelle 1:1 avec des cartouches Link’s Awakening et Super Mario Land faits de briques… C’est joli, c’est nostalgique, mais ça ne fait strictement rien. C’est juste décoratif.

Et bien selon The Verge , une moddeuse australienne du nom de Natalie the Nerd a trouvé ça carrément abusé, alors elle a fait ce que ferait n’importe quel geek qui se respecte : elle l’a transformé en vraie console Game Boy fonctionnelle. Et attention, je ne vous parle pas d’un vulgaire Raspberry Pi Zero planqué dedans avec un émulateur. Non, non, non, elle y a mis des vrais morceaux de Game Boy, avec de VRAIES cartouches qui tournent, ainsi qu’un circuit imprimé qu’elle a conçu elle-même.

Bah oui, pourquoi faire simple quand on peut faire compliqué ?

Pour arriver à ses fins, elle a dû miniaturiser toute la logique d’une Game Boy sur un PCB de la taille d’un timbre-poste. Elle a installé l’écran le plus petit du marché (ce qui l’a obligée à retirer quelques briques LEGO au passage), passé un port USB-C pour l’alimentation, et même prévu des boutons totalement fonctionnels.

D’ailleurs, en août dernier, Natalie avait fait aussi le buzz avec une Game Boy Color entièrement transparente , circuit imprimé inclus. Elle a conçu un PCB en matériau acrylique transparent où on voit tous les fils de cuivre flotter dans le vide. Super beau, super technique, mais elle-même disait que c’était juste un projet artistique pour montrer son travail, et pas quelque chose de très pratique.

Elle a même fondé le Modded Gameboy Club , une communauté avec un Discord et un Wiki où les gens partagent leurs tutos pour réparer, modifier, upgrader leurs vieilles consoles Nintendo. Elle vend aussi des composants de seconde main pour les modders et partage ses designs de circuits en open source.

Et bonne nouvelle pour ceux qui voudraient reproduire sa version fonctionnelle de la LEGO Game Boy puisqu’elle a annoncé qu’elle publierait les schémas et les plans une fois qu’elle serait satisfaite du résultat final. Donc si vous avez des compétences en soudure et que l’idée de fabriquer un PCB custom ne vous fait pas peur, vous pourrez bientôt tenter l’aventure.

En tout cas, moi je trouve ça trop super méga génial !

  • ✇Korben
  • Une voiture LEGO grandeur nature qui roule pour de vrai !
    Encore une histoire complétement dingue qui va faire zizir aux fans de LEGO ! En 2020, un Suédois de 21 ans a balancé à la télé qu’il allait construire une vraie voiture en LEGO s’il gagnait l’émission. Et 3 ans plus tard, David Gustafsson a tenu sa promesse et il roule maintenant dans une Volvo V70 entièrement faite de briques. Le mec a utilisé 400 000 pièces LEGO pour construire une réplique grandeur nature de sa propre V70 ce qui représente 1,2 tonnes de plastique assemblées brique par brique

Une voiture LEGO grandeur nature qui roule pour de vrai !

Par : Korben
27 septembre 2025 à 10:28

Encore une histoire complétement dingue qui va faire zizir aux fans de LEGO !

En 2020, un Suédois de 21 ans a balancé à la télé qu’il allait construire une vraie voiture en LEGO s’il gagnait l’émission. Et 3 ans plus tard, David Gustafsson a tenu sa promesse et il roule maintenant dans une Volvo V70 entièrement faite de briques.

Le mec a utilisé 400 000 pièces LEGO pour construire une réplique grandeur nature de sa propre V70 ce qui représente 1,2 tonnes de plastique assemblées brique par brique. Et ce qui est fou c’est que c’est une voiture qui roule vraiment, avec portes qui s’ouvrent, des rétroviseurs électriques et même des phares qui suivent le mouvement du volant.

Comme je vous le disais en intro, David participait à LEGO Masters Suède avec son pote Rickard. Et pendant l’épisode 7, l’animateur Mauri leur demande ce qu’ils feraient avec tous les LEGO s’ils gagnaient. David, pour rigoler, balance qu’il construirait sa voiture en taille réelle. Sauf que quand ils ont gagné, il s’est dit “bon bah, j’ai promis, je le fais”.

Surtout que le prix de LEGO Masters Suède, c’est pas du cash comme partout ailleurs. Non, c’est un super crédit pour commander des pièces directement chez LEGO à prix coûtant. David s’est donc retrouvé avec 400 000 pièces à disposition. Et en décembre 2020, il commence alors le boulot…

2400 heures de travail plus tard, début 2024, la bête est terminée.

Après je me suis demandais comment ça pouvait tenir ce truc, parce que des LEGO, c’est pas vraiment prévu pour supporter le poids d’un adulte qui roule à 20 km/h. Et bien apparemment, David a triché un peu (heureusement) en intégrant 3 éléments non-LEGO que sont les roues, le moteur électrique et un châssis métallique. Tout le reste, des sièges au tableau de bord en passant par le volant et le sélecteur de vitesse, c’est du LEGO pur !

Le plus impressionnant c’est qu’il a réussi à reproduire les courbes complexes d’une V70 de troisième génération (2008-2016) avec des briques rectangulaires. Vous avez déjà essayé de faire un truc rond avec des LEGO ? C’est l’enfer alors une voiture entière avec ses galbes et ses arrières-train arrondis…

Les boutons de la clim fonctionnent, le sélecteur de vitesse fait “clic” quand on change de position, et les rétroviseurs latéraux pivotent. Incroyable !

Faut dire aussi qu’il a un peu d’XP le David car il a créé sa boîte BrickScale après sa victoire à LEGO Masters et depuis la société fait des modèles sur commande et organise des events LEGO. Il a déjà construit des sculptures humaines grandeur nature des Beatles, des chevaux pour l’équipe olympique suédoise, et un robot industriel fonctionnel…etc. C’est devenu son métier.

La voiture a été exposée à l’Ecar Expo de Gothenburg début 2024 et avec l’aide de Volvo Cars (qui a bien kiffé le projet), la V70 LEGO fait maintenant le tour de la Suède.

C’est chouette non ?

Source

  • ✇Korben
  • Quand le MIT réalise un fantasme de science-fiction
    AlterEgo, c’est la réponse du MIT au fantasme de la télépathie et contrairement à Neuralink qui nécessite une chirurgie pour implanter des électrodes dans le cerveau, cette petite merveille se porte simplement autour des oreilles comme une prothèse auditive. Le principe est assez malin. Au lieu de lire directement dans vos pensées (ce qui reste de la science-fiction pour le moment…), AlterEgo détecte les micro-mouvements de votre bouche, de votre visage et de vos cordes vocales quand vous “parle

Quand le MIT réalise un fantasme de science-fiction

Par : Korben
10 septembre 2025 à 16:25

AlterEgo, c’est la réponse du MIT au fantasme de la télépathie et contrairement à Neuralink qui nécessite une chirurgie pour implanter des électrodes dans le cerveau, cette petite merveille se porte simplement autour des oreilles comme une prothèse auditive.

Le principe est assez malin. Au lieu de lire directement dans vos pensées (ce qui reste de la science-fiction pour le moment…), AlterEgo détecte les micro-mouvements de votre bouche, de votre visage et de vos cordes vocales quand vous “parlez” silencieusement. La conduction osseuse fait le reste, transformant ces signaux en mots compréhensibles par un ordinateur.

Arnav Kapur, le scientifique qui dirige le projet, parle d’une “percée révolutionnaire” qui donnerait “le pouvoir de la télépathie, mais uniquement pour les pensées que vous voulez partager”. Ouf, on est sauvé ! Cette précision est importante car contrairement aux interfaces cerveau-machine plus agressives, là vous gardez le contrôle total sur ce que vous communiquez.

Cette idée a germé en 2018 comme projet de recherche au MIT, mais cette année l’équipe a franchi le cap en créant une start-up. Leur dispositif affiche une précision de 90%, ce qui reste impressionnant pour une technologie non-invasive. Bien sûr, chaque utilisateur doit encore calibrer l’appareil et s’entraîner, mais c’est un détail technique… En tout cas, ce qui rend AlterEgo particulièrement intéressant, c’est son potentiel pour les personnes atteintes de troubles de la parole comme la sclérose en plaques. Imaginez pouvoir communiquer naturellement malgré les limitations physiques… Ça changerait la vie de pas mal de monde, non ?

Mais les applications vont bien au-delà du médical car l’équipe envisage déjà des recherches Google silencieuses, des conversations discrètes entre deux utilisateurs, ou encore l’accès aux assistants IA sans sortir votre smartphone. Comme ça, plus besoin de tapoter frénétiquement sur un écran pour obtenir une information. Pour dicter ses SMS ou discuter avec son IA préférée dans les lieux public sans faire chier le monde, c’est l’idéal !

En tout cas, cette approche tranche radicalement avec ce qu’on voit chez la concurrence. C’est vrai qu’actuellement, les interfaces cerveau-machine sont en pleine effervescence avec pas loin de 25 essais cliniques en cours et certaines atteignent même jusqu’à 97% de précision pour la restauration de la parole, mais nécessitent quand même des interventions chirurgicales lourdes. Donc autant dire que c’est pas encore un truc que la police pourra utiliser tout de suite pour vous faire cracher des aveux ^^.

Voilà… alors que Neuralink vient de déposer des brevets pour “Telepathy”, “Blindsight” et “Telekinesis”, MIT propose son alternative chill, moins invasive mais tout aussi prometteuse et leur approche pourrait bien séduire ceux qui hésitent à franchir le pas de la chirurgie cérébrale.

L’avenir nous dira si cette approche “douce” saura rivaliser avec les méthodes plus directes, mais une chose est sûre, la course à la communication silencieuse ne fait que commencer…

Source

  • ✇Korben
  • DCV - Quand votre terminal devient un cockpit Docker
    J’ai déniché un truc sympa pour tous ceux qui passent leur vie dans Docker. Ça s’appelle DCV (Docker Container Viewer) et c’est développé par tokuhirom sur GitHub. En gros, imaginez que quelqu’un ait pris toutes les commandes Docker que vous tapez 50 fois par jour et les ait transformées en une interface accessible via le terminal super classe avec tous vos raccourcis Vim préférés. Comme ça au lieu de vous taper docker ps, docker logs, docker exec et compagnie en boucle, vous avez tout sous le

DCV - Quand votre terminal devient un cockpit Docker

Par : Korben
3 septembre 2025 à 06:19

J’ai déniché un truc sympa pour tous ceux qui passent leur vie dans Docker. Ça s’appelle DCV (Docker Container Viewer) et c’est développé par tokuhirom sur GitHub. En gros, imaginez que quelqu’un ait pris toutes les commandes Docker que vous tapez 50 fois par jour et les ait transformées en une interface accessible via le terminal super classe avec tous vos raccourcis Vim préférés.

Comme ça au lieu de vous taper docker ps, docker logs, docker exec et compagnie en boucle, vous avez tout sous les yeux dans une seule interface TUI (Terminal User Interface). Et le plus beau, c’est que c’est développé avec Bubble Tea , un framework Go qui cartonne pour faire des interfaces terminal qui déchirent (jetez y un oeil à l’occasion..).

Alors oui, je sais ce que vous allez me dire. Il existe déjà Lazydocker , Portainer et une chiée d’autres outils mais DCV a quelques atouts dans sa manche qui le rendent particulièrement intéressant.

D’abord, contrairement à Portainer qui nécessite un serveur web et tout le tralala, DCV reste dans votre terminal. C’est léger, ça démarre instantanément, et ça fonctionne partout où vous avez SSH. Pas besoin d’ouvrir des ports ou de configurer quoi que ce soit de compliqué.

Par rapport à Lazydocker, DCV mise sur une interface encore plus minimaliste et des raccourcis clavier inspirés de Vim. Du coup, si vous êtes du genre à ne jamais toucher votre souris, vous allez kiffer. Le truc cool aussi, c’est qu’il gère nativement Docker-in-Docker, ce qui peut être super pratique pour certains workflows de CI/CD.

L’outil vous permet donc de visualiser :

  • Tous vos containers Docker (standalone ou gérés par Compose)
  • Les images Docker disponibles
  • Les réseaux et volumes
  • Les logs en temps réel avec streaming
  • L’intérieur des containers (navigation dans les fichiers)

Mais là où ça devient vraiment intéressant, c’est que vous pouvez exécuter des commandes shell directement depuis l’interface. Plus besoin de copier l’ID du container pour faire un docker exec -it. Vous sélectionnez, vous appuyez sur une touche, et bam, vous êtes dans le container.

Pour l’installer, si vous êtes sur macOS ou Linux avec Homebrew :

brew tap tokuhirom/tap
brew install dcv

Pour les puristes du Go :

go install github.com/tokuhirom/dcv@latest

Ou alors vous pouvez simplement télécharger les binaires pré-compilés depuis les releases GitHub. C’est du Go compilé, donc un seul fichier executable et c’est parti.

DCV cherche ensuite sa configuration dans ~/.config/dcv/config.toml. Vous pouvez y définir avec quelle vue démarrer par défaut (docker, compose ou projects) ce qui est pratique si vous bossez principalement avec Docker Compose par exemple.

Petit exemple de config :

initial_view = "compose"

Et pour debug en cas de souci :

dcv -debug dcv.log

Voilà, je trouve que DCV mérite sa place dans votre boîte à outils Docker. C’est pas révolutionnaire c’est sûr, mais c’est bien foutu et ça fait le job. L’approche minimaliste avec les raccourcis Vim, c’est vraiment agréable quand on a l’habitude.

Puis le fait que ce soit du Go compilé, c’est aussi un gros plus. Pas de dépendances Node.js ou Python à installer, pas de versions qui se marchent dessus. Un binaire, et roule. Voilà, donc si vous cherchez un outil simple pour surveiller vos containers Docker sans quitter votre terminal, je vous invite à donner une chance à DCV . Et si vous êtes déjà accro à Vim, c’est carrément un no-brainer.

  • ✇Korben
  • LibreWolf - Le Firefox blindé pour la vie privée
    En ce moment, c’est un peu compliqué pour Firefox et ça me rend triste. Je n’aimerais pas que mon navigateur préféré disparaisse faute de moyens. Entre la baisse des parts de marché face à Chrome, les licenciements chez Mozilla et les récentes décisions contestées sur leur modèle économique, le panda roux semble parfois naviguer en eaux troubles. Mais si cela devait arriver, vu que c’est open source, la relève est déjà prête ! Firefox durci, télémétrie supprimée, pistage neutralisé, DuckDuckGo p

LibreWolf - Le Firefox blindé pour la vie privée

Par : Korben
14 mai 2025 à 10:45

En ce moment, c’est un peu compliqué pour Firefox et ça me rend triste. Je n’aimerais pas que mon navigateur préféré disparaisse faute de moyens.

Entre la baisse des parts de marché face à Chrome, les licenciements chez Mozilla et les récentes décisions contestées sur leur modèle économique, le panda roux semble parfois naviguer en eaux troubles. Mais si cela devait arriver, vu que c’est open source, la relève est déjà prête ! Firefox durci, télémétrie supprimée, pistage neutralisé, DuckDuckGo par défaut, uBlock Origin préinstallé et j’en passe…

❌
❌