Vous en avez marre des services de partage de code tout pourris qui vous demandent de vous créer un compte, ou de lier votre GitHub, et qui ensuite vous bombarde de bannières pubs ?
Hé bien y’a une alternative plutôt cool qui va vous plaire.
Ça s’appelle
pbnj
(oui, comme le sandwich au beurre de cacahuète - Peanut Butter aNd Jelly), et c’est un pastebin auto-hébergé qui vous permet de partager du code en tout simplicité. Pas de prise de chou avec de la gestion de users ou ce genre de choses… Vou
Vous en avez marre des services de partage de code tout pourris qui vous demandent de vous créer un compte, ou de lier votre GitHub, et qui ensuite vous bombarde de bannières pubs ?
Hé bien y’a une alternative plutôt cool qui va vous plaire.
Ça s’appelle
pbnj
(oui, comme le sandwich au beurre de cacahuète - Peanut Butter aNd Jelly), et c’est un pastebin auto-hébergé qui vous permet de partager du code en tout simplicité. Pas de prise de chou avec de la gestion de users ou ce genre de choses… Vous y balancez du code et vous récupérez une URL à envoyer à vos amis.
Le truc sympa, c’est que ça génère des URLs faciles à retenir au lieu des classiques suites de caractères aléatoires. Comme ça vous avez des trucs du genre “coucou-tu-veux-mon-blog” plutôt que “x7f9k2m8”. Bon ok c’est un peu plus long, mais au moins vous pouvez le retenir ou le donner par téléphone sans épeler chaque lettre. Vous pouvez tester
ce que ça donne en cliquant ici
.
Côté fonctionnalités, on a de quoi faire avec de la coloration syntaxique dans plus de 100 langages différents avec 12 thèmes . Y’a aussi un outil en ligne de commande qui s’installe via npm et qui permet de balancer un fichier en une commande comme ceci :
`pbnj monfichier.py`
Et si vous voulez garder vos snippets en privés, vous pouvez ajouter une clé secrète optionnelle. Après pour le déploiement de pbnj, vous pouvez faire ça sur Cloudflare Workers si vous n’avez pas de serveur à vous. Et ce sera gratuit car Cloudflare propre dans son offre D1, 500 Mo de stockage, soit environ 100 000 pastes de 5 Ko chacun donc pour un usage perso ou en petite équipe, c’est largement suffisant.
Maintenant, pour installer tout ça, c’est vraiment fastoche. Suffit de cliquer 1 fois sur le bouton de déploiement Cloudflare puis installer le CLI comme ceci :
`npm install -g @pbnjs/cli`
Et :
`pbnj --init`
pour configurer l’URL de votre worker et votre clé d’authentification.
Voilà, si vous cherchez un truc qui fait le café, avec versioning Git, collaboration en temps réel et tout le toutim, passez votre chemin mais si vous voulez juste un endroit pour coller du code et le partager sans prise de tête,
pbnj
remplit parfaitement le contrat !
Vous développez une app SwiftUI et Claude vous balance du NavigationView alors qu’Apple recommande NavigationStack depuis la sorite d’iOS 16 ? Ou encore il vous sort @ObservableObject et @Published alors qu’on est passé à @Observable ?
Bienvenue dans le club des devs qui passent plus de temps à corriger les hallucinations de leur IA qu’à coder…
Ce problème, Aleahim, un développeuse macOS, en a eu marre alors elle a créé Cupertino, un serveur MCP qui donne accès à Claude à plus de 22 000 pages de
Vous développez une app SwiftUI et Claude vous balance du NavigationView alors qu’Apple recommande NavigationStack depuis la sorite d’iOS 16 ? Ou encore il vous sort @ObservableObject et @Published alors qu’on est passé à @Observable ?
Bienvenue dans le club des devs qui passent plus de temps à corriger les hallucinations de leur IA qu’à coder…
Ce problème, Aleahim, un développeuse macOS, en a eu marre alors elle a créé Cupertino, un serveur MCP qui donne accès à Claude à plus de 22 000 pages de documentation Apple en local. Plus besoin d’aller sur le net, et surtout plus d’excuses pour mélanger du code iOS 12 avec du SwiftUI moderne.
Ainsi, au lieu de laisser Claude deviner les API (et se planter une fois sur deux), on lui file l’accès direct à la vraie doc. Les 261 frameworks Apple sont là, indexés dans une base SQLite locale, avec un moteur de recherche full-text qui répond en moins de 100ms. SwiftUI, UIKit, AppKit, Foundation, Core ML, ARKit… tout y est.
L’écosystème se découpe ensuite en plusieurs repos GitHub. D’abord le serveur MCP principal qui fait le boulot d’indexation, ensuite un repo avec la doc pré-crawlée (parce que se taper 20 heures de téléchargement, merci mais non merci), et une collection de 606 projets d’exemple Apple officiels pour la route.
De quoi transformer Claude en assistant qui connaît VRAIMENT la plateforme.
Si ça vous intéresse, sachez qu’avant de vous lancer, faut être sur macOS 15 minimum avec Xcode 16 et Swift 6.2+. Côté espace disque, prévoyez 2-3 GB. Et si vous avez déjà bidouillé dans le terminal, que vous connaissez Git et que vous avez Claude Code installé, vous êtes bons. Comptez environ une quinzaine de minutes pour tout mettre en place.
Et rassurez-vous, je ne vous laisse pas tomber, on va attaquer l’installation ensemble. D’abord, récupérez le projet et compilez-le :
git clone https://github.com/mihaelamj/cupertino.git
cd cupertino
make build
sudo make install
Cette commande compile le projet Swift en mode release (ne faites pas attention aux warning éventuels) et copie le binaire dans /usr/local/bin/. Vous devriez ensuite voir un message du genre “Build complete” suivi des chemins où le binaire est déployé.
Maintenant passons sur la doc. Plutôt que de crawler vous-même les serveurs Apple pendant une journée entière, je vous recommande de récupérer la version pré-packagée. Ça prend 5 minutes au lieu de 20 heures, et franchement la vie est trop courte :
Le crawler utilise un délai de 0,5 seconde entre chaque requête pour ne pas se faire blacklister par Apple. D’où les 20 heures…
Ensuite, il faut construire l’index à l’aide de la commande suivante :
cupertino save
Puis lancer le serveur MCP comme ceci :
cupertino serve
Maintenant, passons à la connexion avec Claude Code. Alors pourquoi Claude Code, parce que c’est celui que j’utilise, c’est le meilleur, c’est mon préféré ❤️.
Et c’est là que tout se joue, une seule commande :
claude mcp add cupertino --scope user -- /usr/local/bin/cupertino
Le --scope user fait que le serveur sera dispo dans tous vos projets, pas juste celui où vous êtes. Vous devriez voir : “Added stdio MCP server cupertino with command: /usr/local/bin/cupertino to user config”.
Et maintenant pour vérifier que tout marche, lancez Claude Code avec claude puis tapez /mcp. Vous devriez voir cupertino dans la liste avec 3 outils : search_docs, list_frameworks et read_document. Vous pouvez aussi lancer cupertino doctor dans le terminal pour un diagnostic complet qui vérifie que le serveur MCP, le répertoire de doc et l’index de recherche sont bien en place.
Testez en demandant à Claude de chercher quelque chose dans la doc Apple. Genre “NavigationStack iOS 16”. Il devrait utiliser l’outil search_docs et vous retourner la vraie documentation avec les bons exemples de code… pas du deprecated.
Si vous avez l’erreur “command not found: cupertino”, le binaire n’est pas dans votre PATH. Vérifiez que /usr/local/bin y est bien ou relancez sudo make install. Si c’est “Database not found”, vous n’avez pas de doc indexée. Retournez chercher le repo cupertino-docs ou lancez le crawl. Et si le serveur ne se connecte pas à Claude Code, fermez Claude Code complètement et relancez-le car les serveurs MCP se chargent au démarrage.
Voilà… Pour les devs Apple qui en ont marre de corriger les suggestions de Claude, Cupertino la formation Apple qu’il manquait à votre assistant IA !
L’accessibilité web c’est comme le tri sélectif… tout le monde dit que c’est génial mais azy, j’ai pas le temps. Et pourtant, c’est super important car près de 80% des pages web ont des problèmes de contraste de texte.
C’est le souci noumber ouane détecté sur le million de sites analysés chaque année par
WebAIM
. En gros, si vous avez un site, y’a de fortes chances que certains visiteurs galèrent à lire votre contenu, et je ne vous parle pas uniquement des personnes malvoyantes, hein… y’a aussi
L’accessibilité web c’est comme le tri sélectif… tout le monde dit que c’est génial mais azy, j’ai pas le temps. Et pourtant, c’est super important car près de 80% des pages web ont des problèmes de contraste de texte.
C’est le souci noumber ouane détecté sur le million de sites analysés chaque année par
WebAIM
. En gros, si vous avez un site, y’a de fortes chances que certains visiteurs galèrent à lire votre contenu, et je ne vous parle pas uniquement des personnes malvoyantes, hein… y’a aussi le daltonisme qui touche environ 8% des hommes et 0,5% des femmes. Rajoutez à ça les gens qui lisent leur téléphone en plein soleil, ceux qui ont une dalle de laptop toute pourrie, et vous comprendrez vite que le problème concerne pas mal de monde.
Alors est ce que vous connaissez les normes WCAG ?
Hé bien c’est le standard international pour l’accessibilité web. Ainsi pour être conforme au niveau AA (le minimum recommandé), votre texte doit avoir un ratio de contraste d’au moins 4,5:1 avec son arrière-plan. Pour le niveau AAA (l’idéal), c’est 7:1. Et là vous vous dites “super, je vais calculer ça à la main pour mes 47 couleurs de palette, mais va bien te faire cuire le cul, Korben”. (Oui, c’est comme ça que je vous imagine quand vous lisez mes articles).
Heureusement, y’a un outil qui vient de sortir et qui va vous changer la vie : CM-Colors. Vous lui donnez vos couleurs, et il les ajuste automatiquement pour qu’elles soient accessibles, le tout en modifiant les teintes le moins possible pour garder votre design intact.
L’installation est super fastoche…. C’est du Python donc un petit pip install cm-colors et hop c’est réglé. Ensuite, vous pouvez l’utiliser soit en ligne de commande directement sur vos fichiers CSS, soit via l’API dans votre code. Par exemple, vous avez un gris #5f7887 sur un fond #e6f0f5 qui passe pas les tests, hop, CM-Colors le transforme automatiquement en #5c6f7b et maintenant c’est conforme AA. Et la différence à l’œil nu est quasi invisible. Bref, c’est nickel pour l’accessibilité !
from cm_colors import ColorPair
# Your colors
pair = ColorPair("#999999", "#ffffff")
# Fix them and preview in the terminal
fixed_color, success = pair.make_readable(show=True)
print(f"Use {fixed_color} instead of #999999")
# Output: Use #8e8e8e instead of #999999
Le truc vraiment cool, c’est que l’outil gère plusieurs niveaux de lisibilité. Y’a “Readable” qui correspond au AA, “Very Readable” pour le AAA, et même une option large_text=True pour les gros titres qui ont des exigences moins strictes. Vous pouvez donc adapter selon vos besoins et pour les devs qui bossent sur de gros projets, y’a aussi une fonction make_readable_bulk qui permet de corriger plusieurs paires de couleurs d’un coup.
from cm_colors import make_readable_bulk
my_colors = [
("#777", "#fff"),
("#888", "#000"),
]
results = make_readable_bulk(my_colors)
for color, status in results:
print(f"{color} is {status}")
Vous lui balancez une liste de tuples (texte, fond) et il vous retourne tout ça au propre. Et si vous voulez traiter directement vos fichiers CSS, la commande cm-colors styles.css génère un nouveau fichier styles_cm.css avec toutes les couleurs corrigées. L’outil peut même générer des rapports HTML pour visualiser les changements avant/après.
Alors oui, je sais, se taper de l’accessibilité c’est un peu relou car on a toujours l’impression que c’est du temps perdu sur des détails. Mais dites vous que ça impacte vraiment l’expérience de millions d’utilisateurs, donc ça vaut le coup d’y passer 5 minutes, surtout avec un outil automatisé !
Bref,
CM-Colors
c’est gratuit, c’est open source sous licence GPL-3, et ça peut vous éviter pas mal de galères. Toute
la documentation est ici
et y’a même
une démo interactive
sur leur site si vous voulez tester avant d’installer.
Si vous avez déjà essayé de générer du pixel art avec une IA comme Midjourney ou le nouveau modèle Nano Banana Pro de Google, vous avez forcément remarqué ce problème : c’est moche de ouf ! Enfin non, c’est pas moche dans l’absolu, mais les pixels sont tout sauf alignés sur une grille propre. On se retrouve avec des trucs qui ressemblent à du pixel art de loin, mais qui sont en fait une bouillabaisse de pixels de tailles variables, mal placés, avec des anti-aliasing qui n’ont rien à faire là.
Si vous avez déjà essayé de générer du pixel art avec une IA comme Midjourney ou le nouveau modèle Nano Banana Pro de Google, vous avez forcément remarqué ce problème : c’est moche de ouf ! Enfin non, c’est pas moche dans l’absolu, mais les pixels sont tout sauf alignés sur une grille propre. On se retrouve avec des trucs qui ressemblent à du pixel art de loin, mais qui sont en fait une bouillabaisse de pixels de tailles variables, mal placés, avec des anti-aliasing qui n’ont rien à faire là.
Heureusement pour nous,
Pixel Snapper
va nous aider à corriger tout ça en quelques secondes !
L’outil est développé par
Hugo-Dz sur GitHub
dans le cadre du projet Sprite Fusion. Vous balancez votre image de pixel art foireuse, et il recale automatiquement chaque pixel sur une grille propre comme ça, fini les pixels qui font du 1,3 × 0,8 au lieu de faire un beau carré 1 × 1 comme le bon dieu du rétro gaming l’a voulu.
Voici la différence… A gauche c’est l’image IA, et à droite, c’est l’image recalée comme il faut :
Le truc cool, c’est que l’outil préserve tous les détails de votre image, c’est à dire le dithering, les courbes, les petits trucs subtils que vous ne voulez pas perdre dans la conversion. C’est pas un outil qui va vous massacrer l’image en la pixelisant bêtement même si certaines couleurs sautent car faut pas dépasser les 16 couleurs.
Voilà, il analyse la structure et recale intelligemment chaque élément sur la grille cible en moins de 2 secondes. Y’a pas besoin de vous créer un compte et c’est sans limite.
En plus, c’est gratuit et open source, donc vous pouvez l’utiliser pour vos projets perso comme pour vos jeux commerciaux sans vous poser de questions. D’ailleurs si vous bossez avec Unity, Godot, Defold ou Flame, les assets générés sont directement utilisables dans vos projets.
Voilà, si vous utilisez des générateurs d’images IA pour créer des assets de jeux rétro et que vous en avez marre de passer des heures à recaler les pixels à la main,
testez Pixel Snapper
!
Si vous bidouiller un peu de machine learning et que vous avez la flemme de coder une interface web from scratch pour montrer vos jolis modèles, vous connaissez probablement
Gradio
, cette librairie Python qui permet de créer des démos interactives en quelques lignes de code.
Hé bien, excellente nouvelle, la version 6 vient de sortir et elle apporte pas mal de nouveautés intéressantes.
La grosse news
de cette mise à jour
, c’est d’abord la refonte complète de l’architecture avec le passage à
Sve
Si vous bidouiller un peu de machine learning et que vous avez la flemme de coder une interface web from scratch pour montrer vos jolis modèles, vous connaissez probablement
Gradio
, cette librairie Python qui permet de créer des démos interactives en quelques lignes de code.
Hé bien, excellente nouvelle, la version 6 vient de sortir et elle apporte pas mal de nouveautés intéressantes.
La grosse news
de cette mise à jour
, c’est d’abord la refonte complète de l’architecture avec le passage à
Svelte 5
. Pour ceux qui s’en fichent du frontend, ça veut dire concrètement que vos apps seront plus légères et plus rapides à charger. L’équipe a aussi bossé sur l’optimisation des files d’attentes (quand y’a du monde sur votre démo), surtout pour les serveurs MCP (Model Context Protocol), donc si vous hébergez des trucs sur Hugging Face Spaces, vous devriez sentir la différence.
Côté fonctionnalités, y’a aussi quelques ajouts sympas comme le support natif des sous-titres pour les vidéos et l’audio, une nouvelle interface “MultimodalTextbox” améliorée pour le mobile (qui était franchement pas terrible avant), et pour ceux qui font des apps multipages, y’a maintenant un composant “Navbar” dédié à ça !
Le truc qui va plaire aux devs aussi, c’est qu’on peut désormais écrire des composants web personnalisés directement en HTML/JavaScript inline dans le code Python. Comme ça, plus besoin de sortir l’artillerie lourde avec des outils de build externes. Vous collez juste votre HTML, votre JS, et c’est parti mon kiki.
Par contre, attention si vous avez des projets existants… Y’a des changements qui vont casser des trucs. Par exemple, le format tuple dans le Chatbot a été supprimé, le composant Sketch est déprécié, et pas mal de paramètres ont bougé dans les composants graphiques natifs. L’équipe a quand même prévu
un guide de migration
avec des warnings de dépréciation pour vous aider à faire la transition.
A partir de maintenant, seule la branche 6.x sera maintenue, donc si vous êtes encore sur une vieille version, c’est le moment de migrer. La mise à jour se fait classiquement avec un
pip install --upgrade gradio
Notez que Gradio 6 nécessite Python 3.10 minimum et le support de Python 3.14 a été ajouté pour vous, les early adopters ^^.
Voilà, si vous faites du ML ou autre et que vous voulez montrer vos démos sans vous prendre la tête avec du React ou du Vue, Gradio reste une valeur sûre, et avec cette version 6 qui arrive, ce sera encore plus fluide et rapide !
Si vous aimez tout ce qui est rétro, vous avez peut-être déjà essayé de donner
un look MS Dos
,
Windows 95
,
Windows 98
,
Windows XP
ou encore
Windows 7
à votre site web.
Ce que vous n’avez jamais osé faire, c’est de lui donner un look Apple System 6 !
Et ça c’est quand même un OS qui est sorti en 1988 soit 7 ans avant Windows 95 et ce qui est incroyable c’est qu’il avait déjà une interface parfaitement mature avec des fenêtres, des icônes, des menus déroulants et tout ça était en noir et blanc,
Ce que vous n’avez jamais osé faire, c’est de lui donner un look Apple System 6 !
Et ça c’est quand même un OS qui est sorti en 1988 soit 7 ans avant Windows 95 et ce qui est incroyable c’est qu’il avait déjà une interface parfaitement mature avec des fenêtres, des icônes, des menus déroulants et tout ça était en noir et blanc, mais c’était pas moche, bien au contraire !
Et ce qu’on oublie c’est que Windows 3.0 a débarqué deux ans plus tard en 1990 avec une interface… étrangement familière. Alors on ne va pas se mentir, Microsoft s’est LARGEMENT inspiré de ce qu’Apple faisait depuis 1984 avec le premier Macintosh qui se sont eux-mêmes inspiré des interfaces vues lors de la visite de Steve Jobs au Xerox PARC.
Apple qui ne doute de rien, a même attaqué Microsoft en justice pour ça en 1988. Le procès a été perdu, mais bon, l’histoire retient qui a copié qui !
Du coup, plutôt que de continuer à cloner les clones,
system.css
ferme la boucle en revenant à la source. Ce projet est développé par Saket Choudhary et prend son inspiration directe des guidelines de design d’Apple pour System 6, la dernière version monochrome de macOS avant l’arrivée de System 7 en couleur en 1991.
Le truc cool avec system.css, c’est que ça fonctionne exactement comme 98.css. Y’a aucun JavaScript… Vous incluez juste le fichier CSS via CDN ou npm, et hop, tous vos composants HTML prennent instantanément l’apparence d’une interface Macintosh de 1988. Des boutons arrondis, des fenêtres avec une bordure de 19 pixels, des barres de titre, des menus déroulants incroyables, des checkboxes carrées, des boites de dialogues avec double bordure. Tout est là !
L’installation se fait en deux lignes. Via CDN, vous balancez ce code dans votre HTML:
C’est compatible avec React, Vue, Svelte, ou du HTML vanilla pur jus !
La page de démo
affiche d’ailleurs tous les composants disponibles et tout respecte scrupuleusement les spécifications originales de l’OS.
Voilà, avec
system.css
, vous pouvez donc créer des interfaces web qui ressemblent à celles que les gens utilisaient quand internet n’existait pas encore pour le grand public. Impec pour filer un petit coup d’vieux à votre prochain site web !
Oh non, vilain Korben va encore parler de méchante IA, lol ! Car oui, j’sais pas si vous avez vu, mais Google vient de lancer
Antigravity
et tout le monde s’emballe et un Mars (uh uh !) en disant que c’est LE nouvel IDE magique pour coder avec des agents IA ! Et c’est surtout une grosse pub pour son nouveau modèle Gemini 3 sorti en même temps, faut bien le dire !
Et pour le coup, faut reconnaître que niveau timing, Google a frappé fort puisque Gemini 3 débarque moins d’une semaine après la sor
Oh non, vilain Korben va encore parler de méchante IA, lol ! Car oui, j’sais pas si vous avez vu, mais Google vient de lancer Antigravity et tout le monde s’emballe et un Mars (uh uh !) en disant que c’est LE nouvel IDE magique pour coder avec des agents IA ! Et c’est surtout une grosse pub pour son nouveau modèle Gemini 3 sorti en même temps, faut bien le dire !
Et pour le coup, faut reconnaître que niveau timing, Google a frappé fort puisque Gemini 3 débarque moins d’une semaine après la sortie de GPT-5.1 d’OpenAI et seulement deux mois après Claude Sonnet 4.5. Hé oui, la guerre des modèles fait rage et personne ne veut laisser les autres prendre l’avantage, à ma plus grande joie (Oui, j’aime la tech et tester tous ces trucs) !
Sur le papier Antigravity est donc
une plateforme de développement “agent-first”
où les agents IA ont un accès direct à votre éditeur de code (un VS Code as usual), votre terminal et votre navigateur. Comme ça, ils peuvent écrire des specs, coder vos idées les plus folles, puis tester et valider tout ça pendant que vous, de votre côté, vous pouvez continuer à écrire des saloperies sur Mastodon !
Que demande le peuple ? lol
Et ces petits agents IA sont très forts pour produire ce que Google appelle des “artefacts”. En gros, ce sont des listes de tâches, des plans d’implémentation, des screenshots, ou encore des enregistrements vidéo de ce qu’ils ont fait ou prévoient de faire. Et vous, de votre côté, votre seul job c’est de valider ces artefacts et de commenter ce qui est produit.
Félicitations, vous venez d’avoir une promotion ! Vous n’êtes plus développeur, vous êtes maintenant chef de projet !
On peut bien sûr, toujours éditer le code, mais on va arrêter de faire semblant, ce n’est clairement plus l’objectif puisque ce sont les agents qui s’en occupent. Et ces derniers sont capables d’apprendre de vos retours en se construisant une base de connaissance interne avec vos feedbacks afin d’affiner les process et de tendre le plus efficacement possible vers vos objectifs.
Voilà… Maintenant, si vous aimez vraiment écrire du code avec vos petits doigts boudinés, ça ne sera pas fun, c’est certain. Par contre, si comme moi, vous êtes un piètre codeur mais que vous avez des tas d’idées folles et que vous aimez orchestrer, piloter, et valider des trucs, vous allez sur-kiffer !
Mis à par Gemini 3, Antigravity supporte aussi GPT-OSS, et les modèles d’Anthropic (Claude Sonnet 4.5 pour être précis) et d’OpenAI. L’outil est pour le moment gratuit en preview publique pour Mac, Windows et Linux et les limites d’utilisation de Gemini 3 Pro (en mode Low) sont très généreuses selon Google.
Et pour ceux qui se demandent si Gemini 3 c’est du vent ou du solide, sachez que le modèle cartonne sur les benchmarks avec un score de 1501 Elo sur LMArena (record absolu), 37.5% sur Humanity’s Last Exam (niveau PhD quand même), 91.9% sur GPQA Diamond, et 76.2% sur SWE-bench Verified qui teste spécifiquement les capacités de coding. Bref, sur le papier, c’est du lourd.
Google a même prévu une version “Deep Think” de Gemini 3 pour les abonnés Ultra qui arrivera dans les prochaines semaines, avec encore plus de capacités de raisonnement pour les tâches complexes. Et avec plus de 650 millions d’utilisateurs mensuels sur Gemini, on sent que Google veut vraiment en faire son fer de lance et détrôner OpenAI et Anthropic dans le cœur des codeurs !
Bref, maintenant à voir ce que ça donne en vrai et si ça fonctionne mieux que Windsurf ou Cursor, mais ça, je vous le dirai plus tard quand je me serais un peu plus amusé avec… Antigravity, c’est peut-être l’avenir du dev, ou c’est peut-être juste Google qui essaie de vous forcer à changer de taf sans vous demander votre avis… qui sait ?
On verra bien si leur mayonnaise prend, mais en attendant, si vous testez, dites-moi ce que vous en pensez, je suis curieux.
BitTorrent c’était le diable dans les années 2000. Y’a eu des procès, des fermetures de trackers, et
une guerre totale contre le piratage
. Mais ça reste quand même une belle techno, notamment pour certaines plateformes de streaming un peu niche et solutions d’entreprise qui s’en servent discrètement afin d’économiser des millions en frais de CDN.
Car oui, avec le P2P, c’est vous qui payez la bande passante (en partie) ^^.
P2P Media Loader
, c’est son nom est donc une lib JavaScript open source
BitTorrent c’était le diable dans les années 2000. Y’a eu des procès, des fermetures de trackers, et
une guerre totale contre le piratage
. Mais ça reste quand même une belle techno, notamment pour certaines plateformes de streaming un peu niche et solutions d’entreprise qui s’en servent discrètement afin d’économiser des millions en frais de CDN.
Car oui, avec le P2P, c’est vous qui payez la bande passante (en partie) ^^.
P2P Media Loader
, c’est son nom est donc une lib JavaScript open source qui utilise WebRTC pour faire du streaming vidéo peer-to-peer directement dans votre browser. Vous regardez une vidéo, votre navigateur se connecte à d’autres viewers et vous échangez des segments vidéo entre vous. En gros, c’est comme BitTorrent, mais en version HTML5.
P2P Media Loader est donc la solution parfait pour réduire les coûts de bande passante des plateformes de streaming. Et tout ça de manière totalement transparente !
Techniquement, ça repose donc sur WebRTC et des trackers (comme BitTorrent) qui permettent aux navigateurs de se trouver entre eux (
y’a une démo ici
). Le projet utilise le protocole de signalisation de WebTorrent, ce qui veut dire que vous pouvez utiliser des trackers publics pour débuter, ou installer votre propre tracker si vous voulez gérer des gros volumes.
Et là, ça devient vraiment intéressant niveau scalabilité car avec un petit VPS à 3,50 €/mois et le tracker
wt-tracker
, vous pouvez gérer jusqu’à 20 000 viewers en simultané. Et si vous passez sur
Aquatic
(un tracker écrit en Rust), un serveur dédié 8 cœurs à 10-30€/mois peut tenir une charge de 100 000 viewers en simultané. Et si vous êtes vraiment radin (coucou les Auvergnats), Oracle Cloud offre
un tier gratuit avec 4 cœurs ARM et 24 Go de RAM
qui peut gérer des pics jusqu’à 100k peers sans rien débourser.
Et pour aller au-delà du million de viewers, il faudra passer sur du sharding (découpage en plusieurs trackers) avec différentes stratégies… Soit par contenu, soit par région géographique, soit par hash… Bref, des techniques classiques de distribution de charge, mais appliquées au P2P.
Le truc cool, je trouve c’est que ça fonctionne aussi bien pour du live que pour de la VOD, et même sur les apps mobiles iOS et Android. D’ailleurs, des projets comme
PeerTube
l’utilisent déjà pour réduire leurs coûts d’hébergement.
Bref, votre browser devient un mini-CDN en tout discrétion et ça permet aux personnes qui montent des infras de streaming, d’économiser de la thune.
Vous connaissez
Live Share de Microsoft
? C’est un truc génial dans VS Code qui permet de coder à plusieurs en temps réel, de partager des terminaux, de debug ensemble. Sauf qu’il y a un petit détail relou : il faut un compte Microsoft ou GitHub. Et comme par hasard, toutes vos sessions doivent passer par les serveurs de Redmond.
Sympa donc pour la télémétrie.
Heureusement,
P2P Live Share
fait exactement la même chose, mais en peer-to-peer. Pas besoin de vous créer un compte, ça ne transite pa
Vous connaissez Live Share de Microsoft ? C’est un truc génial dans VS Code qui permet de coder à plusieurs en temps réel, de partager des terminaux, de debug ensemble. Sauf qu’il y a un petit détail relou : il faut un compte Microsoft ou GitHub. Et comme par hasard, toutes vos sessions doivent passer par les serveurs de Redmond.
Sympa donc pour la télémétrie.
Heureusement,
P2P Live Share
fait exactement la même chose, mais en peer-to-peer. Pas besoin de vous créer un compte, ça ne transite par aucun serveur intermédiaire, et surtout Microsoft ne mate pas votre code. Vous donnez simplement l’URL de la session à votre pote, il la colle dans son VS Code, et vous êtes connectés en direct, en P2P les amis, grâce à WebRTC !
Et l’extension fait tout ce qu’on attend d’un outil de collaboration à savoir du partage de code en temps réel, une synchronisation des curseurs, des terminaux partagés, du port forwarding, et même un chat intégré.
Une fois installé, quand vous lancez une session, P2P Live Share génère une URL unique avec un ID de room. Vous envoyez cette URL à votre collègue, il clique sur “Join”, et hop, vous êtes connectés en WebRTC direct.
D’ailleurs,
selon la doc officielle
, l’extension utilise plusieurs serveurs de signaling pour garantir la connexion : BitTorrent, Firebase, IPFS, Nostr comme ça, si l’un tombe, les autres prennent le relais. C’est du vrai décentralisé et vous pouvez même partager des ports, comme avec avec Live Share classique.
Comme ça, vous lancez un serveur web local sur le port 3000, et votre collègue peut y accéder directement depuis son navigateur. C’est super pratique pour tester une app en développement sans déployer quoi que ce soit.
Le terminal partagé fonctionne aussi très bien ! Vous ouvrez un shell, et votre pote peut taper des commandes dedans en temps réel. Bon, niveau sécurité, faut faire confiance à la personne en face mais c’est le même principe qu’avec Live Share.
Ce projet est open source sous licence MIT
, donc vraiment libre et tout est chiffré de bout en bout. Alors oui, c’est moins mature que Live Share et forcément, il y aura des bugs mais au moins, vous ne filez pas votre code à Microsoft !
Pendant qu’Apple peaufine son IA maison pour Xcode (sans date de sortie, évidemment), Microsoft vient tranquillou installer ses petites affaires dans l’écosystème le plus verrouillé du marché en sortant son extension officielle
Github Copilot pour Xcode
, pile-poil au moment où les rumeurs nous soufflent qu’Apple travaille aussi sur sa propre solution locale.
Cette extension de Github pour Xcode propose trois fonctionnalités principales. Tout d’abord de la complétion de code en temps réel. Ensui
Pendant qu’Apple peaufine son IA maison pour Xcode (sans date de sortie, évidemment), Microsoft vient tranquillou installer ses petites affaires dans l’écosystème le plus verrouillé du marché en sortant son extension officielle
Github Copilot pour Xcode
, pile-poil au moment où les rumeurs nous soufflent qu’Apple travaille aussi sur sa propre solution locale.
Cette extension de Github pour Xcode propose trois fonctionnalités principales. Tout d’abord de la complétion de code en temps réel. Ensuite, pendant que vous tapez, un tchat vous permet de poser des questions sur votre code, et il y a également un mode Agent qui peut modifier directement vos fichiers et lancer des commandes terminal. C’est gratuit jusqu’à 2000 complétions et 50 messages tchat par mois, donc largement de quoi rendre accro la majorité des devs iOS avant qu’Apple ne sorte son propre truc !
Maintenant pour utiliser un outil Microsoft dans un IDE Apple, vous devez accorder trois permissions macOS sacrées : Background, Accessibilité, et Xcode Source Editor Extension. Hé oui, Apple force littéralement ses développeurs à ouvrir toutes ces portes et niveau permissions, c’est l’Accessibilité qui pose régulièrement problème, car faut souvent la désactiver puis la réactiver pour que ça fonctionne correctement.
Ensuite l’installation est assez classique. Soit via Homebrew ou en téléchargeant le DMG directement depuis le dépôt GitHub.
brew install --cask github-copilot-for-xcode
Vous glissez ensuite l’app dans Applications, vous accordez les trois permissions système, vous activez l’extension dans les préférences Xcode, et hop, vous signez ça avec votre compte GitHub Copilot.
Un autre projet communautaire existait déjà
intitni/CopilotForXcode
, non officiel mais fonctionnel, qui supportait GitHub Copilot, Codeium et ChatGPT mais comme Microsoft sort maintenant sa version officielle pour contrôler le territoire comme un dealer dans son quartier, j’imagine que cette dernière ne va plus faire long feu.
Les tests comparatifs montrent que Copilot reste plus rapide et plus précis que le système de prédiction local d’Apple intégré dans Xcode car Apple mise uniquement sur du traitement local avec un modèle embarqué (pas de cloud donc, tout est sur votre Mac), surtout que Microsoft a déjà des années d’avance sur l’entraînement de ses IA et la rapidité de ses serveurs.
Donc voilà, les développeurs iOS se retrouvent maintenant à choisir entre attendre un hypothétique Copilot d’Apple sans date de sortie, ou donner les clés de leur Xcode à Microsoft dès maintenant. Ou alors continuer à coder sans IA comme les hommes de Cro-Magnon à l’époque !
En tout cas, avec 2000 complétions gratuites par mois comme dose pour devenir accro, combien vont résister si Apple tarde encore 6 mois de plus ??
Vous avez déjà passé plus de temps à configurer Sphinx qu’à coder votre projet Python ? Bienvenue au club !
Et oui, paradoxalement, parfois documenter son code devient plus compliqué que d’écrire le code… Vous voulez juste afficher vos docstrings joliment, mais avant ça il faut vous taper 200 pages de doc, choisir parmi 47 thèmes, configurer des dizaines d’extensions et comprendre la syntaxe reStructuredText. Breeeef, la flemme !
Heureusement, il existe une alternative qui va vous réconcilier av
Vous avez déjà passé plus de temps à configurer Sphinx qu’à coder votre projet Python ? Bienvenue au club !
Et oui, paradoxalement, parfois documenter son code devient plus compliqué que d’écrire le code… Vous voulez juste afficher vos docstrings joliment, mais avant ça il faut vous taper 200 pages de doc, choisir parmi 47 thèmes, configurer des dizaines d’extensions et comprendre la syntaxe reStructuredText. Breeeef, la flemme !
Heureusement, il existe une alternative qui va vous réconcilier avec la documentation : pdoc.
pdoc, c’est un outil de documentation Python qui ne nécessite pas de documentation. Vous tapez simple pdoc votre_module et c’est tout. Pas de fichier de config interminable, pas de choix existentiels entre différents builders, pas de migration depuis votre version de Sphinx de 2018 qui refuse de compiler.
Ça génère directement une belle doc à partir de votre code existant !!
Si vous avez déjà écrit des docstrings propres et utilisé les type annotations de Python, vous avez déjà fait 100% du boulot car pdoc se contente de prendre ce qui existe et de l’afficher élégamment. Pas de traduction, pas de réécriture, pas de fichiers .rst à maintenir en parallèle de votre code.
Votre code EST la documentation et ça c’est beau !
L’outil comprend les docstrings au format numpydoc et Google-style, fait des liens automatiques entre les identifiants, respecte votre variable __all__ et génère du HTML standalone que vous pouvez héberger n’importe où. Il y a même un serveur web intégré avec live reload pour développer votre doc en temps réel.
Pour mettre ça en place, faut installer pdoc avec
pip install pdoc
Puis vous lancez
pdoc ./votre_projet.py
ou
pdoc nom_de_votre_module
Et c’est tout !
Bien sûr si vous bossez sur un gros projet avec des besoins spécifiques, des guides utilisateurs complexes, des dizaines de pages de tutoriels et une doc multilingue, Sphinx reste le roi, mais pour la grande majorité des projets Python, ceux qui ont juste besoin d’une doc API claire et lisible, pdoc fait ça comme un chef, sans que vous ayez besoin d’un doctorat en outil de documentation.
Bref, si vous en avez marre de passer plus de temps sur votre documentation que sur votre code, pdoc mérite le détour car documenter son code devrait être aussi simple que de le coder, non ?
Vous connaissez ces outils qui promettent de créer des apps web juste en discutant avec une IA ? Genre Lovable, v0, Bolt, Replit…etc. C’est magique, sauf que tout tourne dans le cloud, vos données passent par leurs serveurs et vous êtes du coup enfermés dans leur écosystème.
Hé bien
Dyad
fait la même chose, mais un peu différemment puisque tout tourne en local sur votre machine. En plus c’est open-source et c’est gratuit.
Votre navigateur ne supporte pas la lecture de vidéos HTML5. Voici un
l
Vous connaissez ces outils qui promettent de créer des apps web juste en discutant avec une IA ? Genre Lovable, v0, Bolt, Replit…etc. C’est magique, sauf que tout tourne dans le cloud, vos données passent par leurs serveurs et vous êtes du coup enfermés dans leur écosystème.
Hé bien
Dyad
fait la même chose, mais un peu différemment puisque tout tourne en local sur votre machine. En plus c’est open-source et c’est gratuit.
Dyad, c’est donc un builder d’applications web piloté par IA. Vous lui expliquez ce que vous voulez, il génère le code directement chez vous sur votre machine et le truc cool, c’est qu’il vous laisse choisir votre modèle IA.
ChatGPT d’OpenAI, Gemini 2.5 Pro de Google, Claude Sonnet 4.5 d’Anthropic, prenez ce que vous voulez, vous mettez vos propres clés API et ça roule. Et si vous tenez vraiment à une vie privée totale, vous pouvez même utiliser Ollama pour faire tourner des modèles en local sans jamais que ça se connecte à internet.
Le projet est
dispo sur GitHub
, c’est codé en TypeScript, ça s’installe sur Mac et Windows, et y’a aucune inscription requise. Bref, vous téléchargez, vous lancez, et ça marche.
Dyad s’intègre avec Supabase pour la partie backendce qui permet d’avoir une bonne authentification, une base de données, des fonctions serveurr…etc. Tout y est, du coup vous pouvez créer des vraies apps full-stack, et pas juste des interfaces statiques comme on peut le faire avec
mon petit LocalSite
. Vous partez d’une idée, vous discutez avec l’IA, et vous sortez une application complète qui tourne sur votre machine en full vibe coding !
Il y a bien sûr des plans payants mais la version gratuite fait déjà le job pour du développement solo. Le créateur de Dyad s’appelle Will Chen et a même monté une communauté Reddit
r/dyadbuilders
où chacun montre un peu ce qu’il a fait. Ça peut vous donner des idées des capacités de cet outil.
Bref, si vous voulez jouer avec un vrai app builder IA sans dépendre du cloud et sans vendre votre âme à une plateforme propriétaire, Dyad fera très bien le job ! Vous pouvez même ensuite ouvrir les fichiers générés dans un VS Code ou Cursor si vous voulez mettre les mains dans le cambouis.
Et si je vous disais qu’il existe un futur où vous allez pouvoir vous connecter en SSH à votre serveur de production avec votre compte Google et que celui-ci serait totalement invisible aux yeux du monde ?
Et bien ça arrive bientôt et ça s’appelle SSH3 !
Alors déjà, pas de panique, je vais pas vous sortir le speech classique du “Oh regardez, un nouveau protocole qui va révolutionner le monde”. Non non, l’histoire est beaucoup plus tordue que ça car SSH3, c’est un symptôme d’un phénomène beaucoup
Et si je vous disais qu’il existe un futur où vous allez pouvoir vous connecter en SSH à votre serveur de production avec votre compte Google et que celui-ci serait totalement invisible aux yeux du monde ?
Et bien ça arrive bientôt et ça s’appelle SSH3 !
Alors déjà, pas de panique, je vais pas vous sortir le speech classique du “Oh regardez, un nouveau protocole qui va révolutionner le monde”. Non non, l’histoire est beaucoup plus tordue que ça car SSH3, c’est un symptôme d’un phénomène beaucoup plus gros qui est en train de se passer sous notre nez et qui est la “webisation” d’Internet (oui, je viens d’inventer ce mot).
Car pendant que tout le monde s’excitait tous sur ChatGPT et les IA génératives, des chercheurs belges de l’UCLouvain étaient tranquillement en train de planifier la disparition des serveurs SSH de la surface d’Internet. Et je dis bien “disparaître” dans le sens où votre serveur
devient invisible aux scans de ports
, car votre serveur SSH peut maintenant se planquer derrière ce qui ressemble à un banal site web.
Pour réussir ce tour de magie, SSH3 utilise HTTP/3 et QUIC au lieu du bon vieux protocole SSH traditionnel. Et là vous me dites “Mais Korben, c’est quoi le rapport avec l’invisibilité ?” Bah c’est simple, comme SSH3 tourne sur les mêmes ports que n’importe quel site HTTPS, impossible de distinguer un serveur SSH3 d’un serveur web lambda. Vous pourriez même planquer votre serveur SSH derrière une URL secrète… Tentez ensuite un scan de ports, et vous ne verrez rien de plus qu’un stupide serveur web…
Ce que j’appelle “webisation”, c’est en fait l’absorption totale de l’infrastructure système par les technologies du web. Et même SSH, le protocole le plus fondamental de l’administration système présent depuis 1995, va devoir capituler face à HTTP/3.
C’est la victoire finale du navigateur sur le terminal, et personne n’en cause vraiment… Avec SSH3, vous allez donc pouvoir utiliser vos certificats Let’s Encrypt pour authentifier votre serveur et
le GitHub du projet
explique que c’est plus sécurisé que les clés d’hôtes SSH classiques car votre terminal vérifiera le certificat comme le fait votre navigateur.
Mais attendez, le délire va encore plus loin puisque OAuth 2.0 et OpenID Connect sont également supportés nativement. Vous allez donc pouvoir vous connecter à votre serveur de prod avec votre compte Google, Microsoft ou GitHub.
Et si j’en crois le draft IETF
, c’est parfaitement légitime et sécurisé grâce à l’authentification HTTP standard.
Alors évidemment, l’idée de se logger sur un serveur critique avec son compte Gmail, ça peut faire peur mais on fait déjà confiance à ces mêmes providers pour notre authentification partout ailleurs, donc un de plus ou un de moins… Puis j’imagine que vous pourrez aussi mettre en place votre propre provider, ce qui vous permettra d’éviter les GAFAM tout en ayant une gestion plus simple des accès à vos machines.
Au niveau perfs, SSH3 établit une connexion en seulement 3 round-trips contre 5 à 7 pour SSH classique. Sur une connexion avec 100ms de latence, ça fait une différence énorme. Et en bonus SSH3 supporte le port forwarding UDP en plus du TCP. Cela veut dire que vous pouvez enfin “tunneler” du QUIC, du DNS ou du RTP correctement… Ce projet a explosé en décembre 2023 quand François Michel et Olivier Bonaventure ont publié leur papier mais attention, c’est encore expérimental. Les développeurs le répètent partout : Ne mettez pas ça en prod tout de suite !
Alors est-ce qu’on doit s’inquiéter de cette uniformisation des protocoles ?
Peut-être car si tout le monde utilise les mêmes briques de base, une faille dans QUIC ou HTTP/3 pourrait affecter absolument TOUT. Mais d’un autre côté, concentrer les efforts de sécurité sur moins de protocoles, c’est aussi moins de surface d’attaque à surveiller.
Maintenant pour tester SSH3, c’est simple si vous avez Go installé :
go install github.com/francoismichel/ssh3/cmd/...@latest
Ensuite côté serveur, générez votre certificat avec
`ssh3-server -generate-selfsigned-cert localhost`
Et lancez le serveur. Ensuite, côté client, connectez-vous avec
`ssh3 user@server`
SSH3 est aussi rétrocompatible avec pas mal de features OpenSSH… Par exemple le proxy jump fonctionne, les fichiers de config ~/.ssh/config sont parsés, les clés RSA et ed25519 sont supportées. Les dev ont vraiment pensé à faciliter la transition et ça c’est cool !
Après comme je sais que vous n’aimez pas le changement parce que ça réveille en vous de vieux traumatises d’enfance, rassurez-vous, SSH3 n’est pas encore prêt pour remplacer OpenSSH demain matin. Le code n’a pas été audité niveau sécu, les perfs en throughput TCP sont moins bonnes qu’OpenSSH, et il manque encore des fonctionnalités. Mais le concept est là, et il semble très solide !
Ce qui est sûr, c’est que SSH3 ouvre des perspectives assez folles comme cette possibilité d’avoir des serveurs complètement invisibles, accessibles uniquement via des URLs secrètes, avec de l’auth SSO d’entreprise et des certificats standards. C’est un sacré changement de paradigme dans la façon dont on accède à nos machines… Car oui, pourquoi continuer à maintenir des protocoles séparés quand on peut réutiliser les briques modernes du web ? QUIC apporte la fiabilité, TLS 1.3 la sécurité, HTTP/3 la flexibilité.
Alors pourquoi réinventer ou maintenir une vieille roue ?
Bref, c’est un projet à suivre. Tout se passe sur
le GitHub de François Michel
et les contributions sont les bienvenues, surtout si vous avez des compétences en crypto ou en sécurité réseau.
Et si je vous disais que pendant que vous galérez avec PuTTY et son interface à la Windows 95, ou que vous payez 119 balles pour SecureCRT, il existe un gestionnaire SSH moderne, gratuit et absolument magnifique qui attend tranquillement que quelqu’un le remarque ?
Hé bien c’est exactement ce qui se passe avec
SSH Pilot
dispo pour Linux et macOS, et je trouve ça vraiment bizarre que personne n’en parle. Quand je suis tombé dessus, c’est vrai que j’ai cru à un énième fork de Terminator ou un wrap
Et si je vous disais que pendant que vous galérez avec PuTTY et son interface à la Windows 95, ou que vous payez 119 balles pour SecureCRT, il existe un gestionnaire SSH moderne, gratuit et absolument magnifique qui attend tranquillement que quelqu’un le remarque ?
Hé bien c’est exactement ce qui se passe avec
SSH Pilot
dispo pour Linux et macOS, et je trouve ça vraiment bizarre que personne n’en parle. Quand je suis tombé dessus, c’est vrai que j’ai cru à un énième fork de Terminator ou un wrapper autour de tmux, mais non, c’est un vrai gestionnaire de connexions SSH développé par
mfat
, avec une interface moderne en libadwaita/GTK4, c’est à dire le truc le plus propre que GNOME ait sorti ces dernières années.
Alors j’ai creusé un peu, je l’ai installé, et là, révélation. Cette appli fait TOUT ce qu’on attend d’un gestionnaire SSH moderne : des onglets pour jongler entre les connexions, un gestionnaire SFTP intégré qui s’ouvre direct dans Nautilus, la génération de paires de clés en deux clics, le port forwarding (local, remote, dynamic), et même le regroupement de serveurs pour ceux qui gèrent des “fermes” entières. Ah et toutes les infos de config sont chiffrées sur votre disque dur.
On peut aussi naviguer entièrement au clavier dans l’appli, ce qui est super pratique. Ctrl+L pour passer de la liste des serveurs au terminal, Ctrl+F4 pour fermer un onglet, Alt+flèches pour switcher entre les tabs. C’est tellement bien pensé que ça en devient suspect ^^.
Car quand on gère plusieurs serveurs, on s’y perd vite si on n’est pas organisé ! On jongle avec des dizaines de connexions SSH, on tape des alias bash à rallonge, on installe des extensions tmux incompréhensibles…
Alors pourquoi SSH Pilot reste si peu connu alors qu’il est trop méga super génial ??? Hé bien j’ai ma petite théorie…
Dans le monde Linux, on a tellement d’alternatives pour chaque truc qu’on finit par se noyer. Quand on cherche un client SSH, on a PuTTY, KiTTY, SuperPuTTY, mTPuTTY, Solar-PuTTY, Bitvise, Tabby, MobaXterm, Termius, SecureCRT… et j’en passe. Trop de choix qui tue le choix !
Bref, jetez un oeil SSH Pilot, ça vous changera des client SSH avec une interface de Minitel.
2,8 Go. C’est tout ce qu’il faut à Nano11 pour faire tourner Windows 11. Et cette prouesse, on la doit à NTDEV, le développeur derrière le projet Tiny11 que vous connaissez peut-être déjà. Ce dernier vient encore de repousser les limites du dégraissage de Windows à un niveau que même Microsoft n’aurait jamais imaginé.
Pour mettre les choses en perspective, faut savoir qu’une installation standard de Windows 11 pèse facilement entre 20 et 30 Go selon les versions. Avec
Nano11, on parle d’un ISO d
2,8 Go. C’est tout ce qu’il faut à Nano11 pour faire tourner Windows 11. Et cette prouesse, on la doit à NTDEV, le développeur derrière le projet Tiny11 que vous connaissez peut-être déjà. Ce dernier vient encore de repousser les limites du dégraissage de Windows à un niveau que même Microsoft n’aurait jamais imaginé.
Pour mettre les choses en perspective, faut savoir qu’une installation standard de Windows 11 pèse facilement entre 20 et 30 Go selon les versions. Avec
Nano11, on parle d’un ISO de seulement 2,2 Go
et d’une empreinte disque de 2,8 Go une fois installé. C’est donc 3,5 fois plus petit que Tiny11, qui était déjà considéré comme ultra-léger.
Alors comment NTDEV a-t-il réussi cet exploit ? Et bien en virant absolument tout ce qui n’est pas indispensable au démarrage du système. Et quand je dis tout, c’est vraiment TOUT. Windows Update ? Dégagé. Microsoft Defender ? Aux oubliettes. Teams, Copilot, le nouveau Outlook qui est une catastrophe ambulante ? Disparus. Même les applications les plus basiques comme Météo ou Actualités ont sauté.
Le développeur ne cache pas que Nano11 est un “script expérimental extrême” conçu pour créer un environnement de test rapide et minimaliste.
Sur son blog officiel
, il indique utiliser maintenant la compression LZX au lieu de XPRESS, ce qui réduit encore plus la taille finale mais demande beaucoup de RAM pendant le processus de création.
Ce qui reste après le passage de Nano11, c’est donc vraiment le strict minimum à savoir le noyau Windows, l’interface graphique de base, et c’est à peu près tout. Pas de Windows Store, pas de possibilité d’ajouter des langues ou des pilotes après coup, pas de mises à jour de sécurité. C’est une installation figée dans le temps, impossible à maintenir ou à faire évoluer.
NTDEV lui-même prévient que Nano11 n’est absolument pas destiné à un usage quotidien. C’est plutôt pensé pour les développeurs qui ont besoin d’un environnement Windows ultra-léger pour tester rapidement une application, ou pour faire tourner des machines virtuelles sans bouffer toute la RAM disponible. L’installation se fait rapidement, et c’est donc parfait pour des tests.
Ce qui est chouette avec ce projet, c’est qu’il démontre à quel point Windows 11 est bourré de composants optionnels. Microsoft recommande officiellement 64 Go de stockage minimum, mais en réalité, le système peut tourner avec moins de 3 Go si on enlève tout le superflu.
Pour ceux qui veulent tester,
le script Nano11 est disponible sur GitHub
et il fonctionne avec n’importe quelle édition de Windows 11 (Pro, Home, LTSC). Le script prend en charge toutes les architectures et peut créer une image dans n’importe quelle langue, mais attention, une fois installé, impossible d’en ajouter d’autres. La dernière version de septembre 2025 est compatible avec Windows 11 24H2 et même les builds Canary les plus récentes.
Alors c’est sûr que Nano11 ne remplacera jamais votre Windows principal. C’est un proof of concept technique plus qu’autre chose mais si vous avez un vieux PC qui traîne ou si vous voulez créer une VM Windows ultra-légère pour un test rapide, ça peut valoir le coup d’œil.
Maintenant pour les utilisateurs qui cherchent un compromis entre légèreté et fonctionnalité, le script tiny11maker.ps1 reste une meilleure option car il dégraisse Windows tout en gardant la possibilité d’installer des mises à jour et d’ajouter des fonctionnalités par la suite.
Un dénommé SSShooter, développeur de son état, a concocté un projet open source qui pourrait bien vous aider pour mieux apprendre n’importe quel sujet, à l’aide de cartes mentales. Baptisé
Ebook to Mindmap
, son outil transforme vos EPUB et PDF en cartes mentales interactives, le tout propulsé grâce à l’intelligence artificielle.
Cela permet de ne plus vous cogner 300 pages d’un traité sur le machine learning tout en griffonnant des notes sur un coin de nappe. Là vous glissez votre fichier dans
Un dénommé SSShooter, développeur de son état, a concocté un projet open source qui pourrait bien vous aider pour mieux apprendre n’importe quel sujet, à l’aide de cartes mentales. Baptisé
Ebook to Mindmap
, son outil transforme vos EPUB et PDF en cartes mentales interactives, le tout propulsé grâce à l’intelligence artificielle.
Cela permet de ne plus vous cogner 300 pages d’un traité sur le machine learning tout en griffonnant des notes sur un coin de nappe. Là vous glissez votre fichier dans l’outil et voilà ! Vous obtenez une carte mentale structurée regroupant tous les concepts clés, les relations entre les idées et l’architecture globale du bouquin.
Ce qui est plutôt cool avec cet outil, c’est qu’il ne se contente pas de vous balancer un résumé basique. Le projet utilise Google Gemini ou GPT d’OpenAI pour analyser intelligemment le contenu. Il détermine automatiquement la structure des chapitres, ignore les préfaces et tables des matières inutiles et vous propose trois modes de traitement différents selon vos besoins.
Que vous ayez besoin d’un simple résumé textuel parce que vous êtes pressé, d’une mindmap par chapitre pour une analyse détaillée, ou d’une carte mentale globale du livre entier, c’est vous qui choisissez. Et tout ça avec un système de cache intelligent qui vous épargne de re-traiter les mêmes bouquins encore et encore.
Pour l’installation, rien de compliqué si vous avez Node.js 18+ sur votre machine. Un petit git clone, un pnpm install et hop, vous êtes lancé. Vous configurez votre clé API (Google Gemini ou OpenAI), vous uploadez votre ebook et vous laissez l’outil faire son travail.
Y’a même une démo accessible ici en ligne
pour tester sans installer.
Mais comme le code est open source, vous gardez le contrôle sur le processus. Vous pouvez ainsi définir la profondeur des sous-chapitres à analyser, choisir le type de livre (technique, fiction, business…) et même ajuster les paramètres avancés selon vos besoins spécifiques.
Pour les étudiants qui doivent se farcir des pavés de 800 pages sur la thermodynamique quantique, ou pour les professionnels qui veulent extraire rapidement l’essence d’un livre business sans y passer le weekend, c’est parfait. Et pour les curieux qui accumulent les ebooks mais n’ont jamais le temps de tous les lire en détail, c’est la solution miracle.
Le seul bémol que je vois, c’est qu’il faut quand même une clé API pour faire tourner l’IA. Mais bon, avec les tarifs actuels de Google Gemini, ça reste largement abordable pour un usage personnel. Et puis si vous êtes développeur, rien ne vous empêche de forker le projet et d’y intégrer votre propre modèle d’IA local comme je l’ai fait pour
LocalSite
.
Saviez-vous qu’il y a
plus de 3,7 millions de fausses étoiles qui polluent GitHub
, et que 16% des repos étaient déjà touchés fin 2024. C’est pour cela que DataDog a sorti
GHBuster
, un outil qui détecte justement les comptes et repos GitHub suspects grâce à des algos heuristiques bien senties.
Le principe c’est qu’au lieu de chercher bêtement des patterns, GHBuster analyse plusieurs comportements louches en même temps. Genre, il repère quand un repo a plein d’étoiles venant de comptes créés le
Saviez-vous qu’il y a
plus de 3,7 millions de fausses étoiles qui polluent GitHub
, et que 16% des repos étaient déjà touchés fin 2024. C’est pour cela que DataDog a sorti GHBuster, un outil qui détecte justement les comptes et repos GitHub suspects grâce à des algos heuristiques bien senties.
Le principe c’est qu’au lieu de chercher bêtement des patterns, GHBuster analyse plusieurs comportements louches en même temps. Genre, il repère quand un repo a plein d’étoiles venant de comptes créés le même jour et check aussi d’autres trucs sympas comme les commits avec des emails non liés au profil GitHub (pratique pour repérer les acteurs malveillants qui utilisent plusieurs comptes bidons). Il trouve aussi les utilisateurs qui n’ont que des forks de repos supprimés, ou ceux dont tous les commits viennent d’emails non vérifiés.
L’installation est super simple pour ceux qui veulent tester :
Et le problème de ces fausses “étoiles”, c’est un phénomène qui prend de l’ampleur et ces repos vérolés contiennent souvent des malwares cachés dans des logiciels piratés, des cheats de jeux ou des bots crypto.
DataDog ne s’arrête pas là car ils ont aussi intégré GHBuster dans leur suite de sécurité Cloud SIEM. Ça permet de monitorer en temps réel les activités suspectes sur GitHub, comme l’ajout de clés SSH depuis des IP douteuses ou la désactivation du secret scanning.
Pour les devs et les entreprises, c’est un vrai casse-tête car comment faire confiance à un repo avec 10 000 étoiles si la moitié sont bidons ? GHBuster apporte heureusement une partie de la réponse en permettant d’identifier rapidement les patterns suspects.
DataDog recommande aussi de configurer vos filtres web pour surveiller le trafic GitHub et détecter les téléchargements anormaux. Utilisez des outils de scan automatique comme GitGuardian ou GitHub Advanced Security pour repérer les malwares potentiels dans le code.
Je trouve ça cool de voir des boîtes comme DataDog partager leurs outils en open source et j’espère que
GHBuster
vous aidera à y voir un peu plus clair dans ce bazar sur GitHub.
J’sais pas vous, mais moi quand je vois Claude Code ou Cursor pondre du code avec des injections SQL grosses comme des maisons, j’ai envie de pleurer. Le pire, c’est que ces assistants IA sont incapables de vérifier si leur code est bien sécurisé. La plupart du temps ils pissent de la ligne, mais ils ne voient rien en. ce qui concerne d’éventuelles failles.
Du coup la bonne nouvelle, c’est l’arrivée de cet outil génial pour résoudre ce problème :
TheAuditor
. En gros, c’est une plateforme SAST
J’sais pas vous, mais moi quand je vois Claude Code ou Cursor pondre du code avec des injections SQL grosses comme des maisons, j’ai envie de pleurer. Le pire, c’est que ces assistants IA sont incapables de vérifier si leur code est bien sécurisé. La plupart du temps ils pissent de la ligne, mais ils ne voient rien en. ce qui concerne d’éventuelles failles.
Du coup la bonne nouvelle, c’est l’arrivée de cet outil génial pour résoudre ce problème : TheAuditor. En gros, c’est une plateforme SAST (Static Application Security Testing) pensée dès le départ pour fonctionner avec les assistants IA.
L’idée c’est qu’au lieu d’avoir une IA qui code dans le vide, TheAuditor lui donne des yeux pour voir ce qu’elle fait vraiment. L’outil analyse le code, trouve les failles de sécurité (il détecte le Top 10 de l’OWASP, les injections, les problèmes d’authentifications…etc), et génère des rapports optimisés pour que l’IA puisse ensuite les comprendre et corriger ses erreurs toute seule.
Et surtout, ça fonctionne avec N’IMPORTE QUEL assistant IA. Pas besoin d’intégration spéciale, pas de SDK, rien. Vous demandez juste à votre IA de lancer aud full (ou vous le lancez vous-même) et elle lit les résultats dans .pf/readthis/. Que vous utilisiez Claude, Cursor, Codex, Windsurf ou Copilot, ça marche pareil.
L’installation est super simple. Vous clonez le repo dans ton dossier d’outils (pas dans votre projet !), vous faites un
pip install -e .
et c’est parti.
Ensuite dans votre projet, vous lancez :
aud setup-claude --target .
puis vous l’initialisez avec :
aud init
et enfin :
aud full
pour avoir votre audit complet.
TheAuditor fait tourner 14 phases d’analyse en parallèle. Ça va de la détection des frameworks (Django, Flask, React…) à l’analyse des dépendances, en passant par le suivi du flux de données pour identifier les points d’injection. Il génère même des graphiques de dépendances avec Graphviz pour visualiser l’architecture de ton code.
Un truc “marrant” que le créateur mentionne dans son projet, c’est que son outil déclenche les antivirus ! Donc c’est pas la peine de m’écrire pour me dire que votre antivirus random à la période d’essai expirée a détecté un grave danger et que vous êtes vachement déçu parce que Korben.info c’est devenu de la merde, et que vous allez portez plainte parce qu’à cause de moi, y’a un virus dans votre imprimante maintenant et ce genre de conneries ^^. C’est normal en fait parce que l’outil doit détailler les vulnérabilités qu’il trouve dans la documentation. Et pour l’antivirus, écrire des patterns de vulnérabilités détectées, c’est suspect. Mais bon, c’est le prix à payer pour avoir un vrai scanner de sécurité.
Le workflow maintenant avec ce truc, ça consiste donc à demander une fonctionnalité à votre assistant IA. Lui, en bonne victime, il la code, puis lance TheAuditor automatiquement, lit ensuite le rapport, corrige les problèmes de sécurité, relance TheAuditor pour vérifier que tout est OK, et ainsi de suite jusqu’à ce que ce soit clean. Comme ça plus besoin de toucher au terminal, l’IA gère tout.
Pour les refactorings, c’est également du bonheur puisque l’outil détecte automatiquement les migrations incomplètes, les incompatibilités d’API entre frontend et backend, les changements de modèles de données mal propagés. Vous pouvez même définir vos propres règles de corrélation dans /correlations/rules/.
Voilà, si vous en avez marre que vos assistants IA génèrent du code troué et que vous voulez dormir tranquille,
TheAuditor
pourrait bien devenir votre meilleur pote.
Marre de jongler entre votre terminal et 15 onglets pour gérer vos sessions Claude Code ? Et bien les amis, je suis tombé sur
Opcode
, et c’est un super outil pour créer des checkpoints dans vos conversations IA comme vous faites des branches Git, pouvoir revenir en arrière quand Claude part en vrille mais également avoir une vraie vue d’ensemble de tous vos projets et agents…
Développé par
Asterisk
, une startup passée par Y Combinator, Opcode c’est l’interface graphique qui manquait cruelleme
Marre de jongler entre votre terminal et 15 onglets pour gérer vos sessions Claude Code ? Et bien les amis, je suis tombé sur Opcode, et c’est un super outil pour créer des checkpoints dans vos conversations IA comme vous faites des branches Git, pouvoir revenir en arrière quand Claude part en vrille mais également avoir une vraie vue d’ensemble de tous vos projets et agents…
Développé par
Asterisk
, une startup passée par Y Combinator, Opcode c’est l’interface graphique qui manquait cruellement à Claude Code. Au lieu de vous battre avec la ligne de commande, vous avez maintenant une vraie application desktop, native, rapide, qui tourne sur macOS, Linux et Windows. Ce truc est construit avec Tauri 2, donc on parle de performances natives avec une UI moderne en React.
Claude Code est un outil génial pour coder avec de l’IA, et j’en sais quelque chose parce que je l’utilise tous les jours. Mais l’interface CLI peut vite devenir limitante quand vous jonglez avec plusieurs projets. Opcode transforme donc cette expérience en quelque chose de plus visuel et intuitif. Vous naviguez dans vos projets stockés dans ~/.claude/projects/ avec une interface graphique, vous voyez l’historique de vos sessions, et surtout, vous pouvez créer des agents personnalisés avec leurs propres prompts système.
Le système de time-travel m’a particulièrement plu car il permet de créer des checkpoints pendant vos conversations avec Claude. Comme ça, si l’IA part dans une mauvaise direction, hop, vous revenez au checkpoint précédent. C’est comme Git mais pour vos interactions IA. Ça évite de tout recommencer quand Claude comprend de travers ce que vous voulez.
Côté sécurité, les mecs d’Asterisk ne rigolent pas. Opcode utilise du sandboxing au niveau OS (seccomp sur Linux, Seatbelt sur macOS) pour isoler complètement les processus. Chaque agent peut avoir des permissions granulaires et vous décidez exactement ce qu’il peut faire ou ne pas faire. Et le plus important : zéro télémétrie. Toutes vos données restent en local, pas de cloud, pas de tracking. Votre code reste donc votre code.
Pour les agents personnalisés, c’est vraiment bien pensé. Vous créez des agents spécialisés avec leurs propres instructions système. Un agent pour le debug, un autre pour la documentation, un pour les tests unitaires. Chaque agent garde son historique, ses préférences, ses permissions. Vous construisez progressivement votre bibliothèque d’agents spécialisés qui connaissent vos habitudes de travail.
L’interface de tracking des coûts API est super pratique aussi. Vous voyez en temps réel combien de tokens vous consommez, le coût associé, avec des graphiques détaillés. Fini les mauvaises surprises en fin de mois. Comme ça, vous savez exactement où part votre budget Claude.
Pour installer Opcode, vous pouvez télécharger les binaires pour macOS, Linux (Windows arrive bientôt…) directement
sur le site d’opcode
.
Le code est sur GitHub
, propre et bien documenté si ça vous chauffe. Voilà, ça permet de garder toute la puissance de l’outil CLI Claude Code, mais avec une interface qui rend l’expérience bien plus agréable. Si vous êtes un vibe codeur qui passe ses journées avec Claude, vous allez gagner un temps fou.
Vous venez de lancer un bon gros rsync en prod pour migrer 3 téraoctets de données et votre boss vous sur-saoule toutes les 10 minutes avec des : “Alors, ça en est où ?” en boucle et vous, en bonne victime, vous répondez “Ça avance chef, ça avance…”.
On peut faire mieux non ? Et oui, avec
rsyncy
qui vous permet au lieu d’avoir un rsync muet qui vous laisse dans le noir, de profiter d’une vraie barre de progression visuelle. Comme ça, vous voyez le pourcentage d’avancement, la vitesse de transfer
Vous venez de lancer un bon gros rsync en prod pour migrer 3 téraoctets de données et votre boss vous sur-saoule toutes les 10 minutes avec des : “Alors, ça en est où ?” en boucle et vous, en bonne victime, vous répondez “Ça avance chef, ça avance…”.
On peut faire mieux non ? Et oui, avec
rsyncy
qui vous permet au lieu d’avoir un rsync muet qui vous laisse dans le noir, de profiter d’une vraie barre de progression visuelle. Comme ça, vous voyez le pourcentage d’avancement, la vitesse de transfert, le volume copié, le temps écoulé, l’ETA, le nombre de fichiers traités… Bref, toutes les infos pour répondre factuellement à votre hiérarchie et prendre des décisions éclairées de grand professionnel qui aura bientôt une augmentation de salaire ^^.
L’installation est super simple. Vous avez plusieurs options selon votre setup :
# One-liner universel
curl https://laktak.github.io/rsyncy.sh|bash
# Sur macOS avec Homebrew
brew install rsyncy
# Avec Go
go install github.com/laktak/rsyncy/v2@latest
# Avec pipx (version Python)
pipx install rsyncy
Et une fois installé, vous pouvez soit lancer rsyncy directement avec les mêmes arguments que rsync :
rsyncy -a /source/ /destination/
Soit piper la sortie de votre rsync habituel vers rsyncy :
rsync -a --info=progress2 -hv /source/ /destination/ | rsyncy
Ce qui est top, c’est qu’avec ce paramètre, rsyncy ajoute automatiquement les arguments nécessaires pour avoir le maximum d’informations comme ça y’a plus besoin de vous rappeler des bonnes options.
La barre de progression affichera quelque chose comme ça :
Et là, vous avez tout… la barre visuelle, le pourcentage, les données transférées, la vitesse actuelle, le temps écoulé et le nombre de fichiers traités. C’est clair, net et précis.
Pour les environnements où les couleurs posent problème (certains logs, scripts automatisés), vous pouvez les désactiver avec :
NO_COLOR=1 rsyncy /source/ /destination/
Pour les devs qui veulent debugger ou enregistrer leurs transferts rsync, l’auteur recommande d’utiliser “
pipevcr
”, un autre de ses outils qui permet d’enregistrer et rejouer des flux de données. Pratique pour tester rsyncy sans lancer de vrais transferts.
Voilà, comme ça avec rsyncy, vous savez exactement où vous en êtes et vous pouvez estimer si vous allez respecter votre fenêtre de maintenance, prévenir si ça va déborder, ou rassurer tout le monde que tout se passe bien.
Vous aussi, vous en avez marre de cliquer sur “Continuer vers ce site (non sécurisé)” dans votre navigateur à chaque fois que vous testez votre app en local ? Puis surtout, ça fait peur à tout le monde pendant les démos client…
Alors ça tombe bien car j’ai la solution parfaite pour vous.
Ça s’appelle
mkcert
et c’est un outil transforme la galère des certificats HTTPS locaux en une simple commande. 2 minutes chrono et vous avez des certificats valides, reconnus par votre navigateur, sans avoir à
Vous aussi, vous en avez marre de cliquer sur “Continuer vers ce site (non sécurisé)” dans votre navigateur à chaque fois que vous testez votre app en local ? Puis surtout, ça fait peur à tout le monde pendant les démos client…
Alors ça tombe bien car j’ai la solution parfaite pour vous.
Ça s’appelle
mkcert
et c’est un outil transforme la galère des certificats HTTPS locaux en une simple commande. 2 minutes chrono et vous avez des certificats valides, reconnus par votre navigateur, sans avoir à fouiller dans les tréfonds d’OpenSSL.
Le truc cool avec mkcert, c’est qu’il crée automatiquement une autorité de certification locale sur votre machine. Cette CA est ensuite directement installée dans votre système et reconnue par tous vos navigateurs. Comme ça, plus besoin de jongler avec des certificats auto-signés auxquels personne ne fait confiance. Chrome, Firefox, Safari… tout le monde est content et affiche le petit cadenas vert. Trop chouette non ?
Alors, comment ça marche ? Sur macOS avec Homebrew, moi j’ai fait ça :
brew install mkcert nss
mkcert -install
Et voilà, votre autorité de certification locale est créée et installée. Maintenant, vous voulez un certificat pour votre projet ? Une ligne suffit :
Et vous avez alors vos fichiers .pem prêts à être utilisés avec n’importe quel serveur web. Pas de configuration prise de tête, pas de paramètres chelous, juste ce qu’il faut pour bosser tranquillement. Notez que si besoin, vous pouvez renommer le .pem en .crt et le -key.pem en .key, et ça fonctionnera.
Ce qui est vraiment bien pensé, c’est que mkcert gère tous les cas d’usage du développement moderne. Vous pouvez donc créer des certificats pour des domaines spécifiques, des wildcards pour couvrir tous vos sous-domaines, localhost évidemment, mais aussi des adresses IP. Vous développez une API qui doit être accessible depuis votre téléphone sur le réseau local ? Pas de problème, ajoutez l’IP de votre machine et c’est réglé.
D’ailleurs, pour ceux qui bossent sur Windows, l’installation peut se faire via Chocolatey ou Scoop. Et sous Linux, il faut d’abord installer les outils NSS avec libnss3-tools, puis vous pouvez récupérer les binaires directement depuis les URLs stables comme [https://dl.filippo.io/mkcert/latest?for=linux/amd64](https://dl.filippo.io/mkcert/latest?for=linux/amd64).
Un point super important c’est que mkcert n’est PAS fait pour la production. Le fichier rootCA-key.pem généré contient la clé privée de votre autorité de certification locale donc si quelqu’un met la main dessus, il peut créer des certificats valides pour n’importe quel domaine sur votre machine. Pour la prod, on reste donc sur Let’s Encrypt ou une vraie autorité de certification.
Mais après pour le développement local, c’est juste parfait. Plus besoin de se battre avec les configurations Apache ou Nginx pour faire accepter des certificats bidons. Plus de warnings et surtout, vous pouvez enfin tester correctement toutes les fonctionnalités qui nécessitent HTTPS : service workers, API de géolocalisation, caméra, micro… Tout fonctionne comme en prod.
L’outil supporte même des trucs avancés comme la génération de certificats ECDSA si vous préférez les courbes elliptiques, ou le format PKCS12 pour certaines applications Java. Vous pouvez personnaliser l’emplacement de sortie des certificats, créer des certificats pour l’authentification client…
Bref, malgré que ce soit simple à mettre en place, mkcert couvre en réalité tous les besoins. Je vous recommande donc de tester ça !
Ce serait pas foufou quand même si votre vieux PC sous Windows XP pouvait faire tourner des applications Rust compilées en 2025 ?
Bah c’est totalement ce que permet de faire
Thunk
, un outil qui réconcilie le passé et le présent pour les dev Rust qui veulent que leur app fonctionne partout, y compris sur de vieux Windows.
L’histoire commence avec ce constat simple : des millions de machines tournent encore sous Windows XP. Usines, hôpitaux, distributeurs automatiques, systèmes industriels… Ces
Ce serait pas foufou quand même si votre vieux PC sous Windows XP pouvait faire tourner des applications Rust compilées en 2025 ?
Bah c’est totalement ce que permet de faire Thunk, un outil qui réconcilie le passé et le présent pour les dev Rust qui veulent que leur app fonctionne partout, y compris sur de vieux Windows.
L’histoire commence avec ce constat simple : des millions de machines tournent encore sous Windows XP. Usines, hôpitaux, distributeurs automatiques, systèmes industriels… Ces dinosaures refusent de mourir, principalement parce qu’ils font tourner des logiciels critiques impossibles à migrer. Du coup, le souci c’est qu’il est impossible de développer de nouvelles applications pour ces systèmes avec les outils modernes.
Enfin, c’était impossible avant Thunk.
Car le créateur de Thunk, connu sous le pseudo felixmaker sur GitHub, a eu une idée trop cool. Plutôt que de forcer les développeurs à utiliser de vieux compilateurs et des langages datés, pourquoi ne pas adapter les outils modernes pour qu’ils produisent du code compatible avec les anciens systèmes ?
Son astuce repose sur deux bibliothèques chinoises méconnues :
VC-LTL5
et
YY-Thunks
. La première, VC-LTL5, fait quelque chose de très utile puisqu’au lieu d’embarquer toutes les dépendances runtime dans votre exécutable (ce qui le rend énorme), elle se branche directement sur les DLL système de Windows comme msvcrt.dll ou ucrtbase.dll. Du coup, vos binaires perdent entre 30 et 50% de leur taille.
La seconde bibliothèque, YY-Thunks, c’est la MacGyver des API Windows. Quand votre application appelle une fonction qui n’existe pas sur Windows XP (comme GetTickCount64 par exemple), YY-Thunks intercepte l’appel et propose une alternative. Comme ça, si la fonction existe, elle l’utilise. Sinon, elle improvise avec ce qui est disponible. C’est du bricolage, certes mais c’est intelligent et ça fonctionne vraiment bien.
L’atout dans la manche de Thunk c’est donc sa simplicité d’utilisation. Il est juste disponible sous 2 formes. Soit en ligne de commande, soit comme dépendance dans votre projet.
Ensuite, pour compiler une application Rust pour Windows XP, trois lignes suffisent :
cargo new build_for_xp
cd build_for_xp
thunk --os xp --arch x86 -- --release
Et voilà, votre application moderne tournera sans souci sur une machine de 2001. C’est presque de la magie noire, sauf que c’est documenté et surtout open source. Et vous savez comme j’aime l’open source !
Bien sûr,
felixmaker prévient dans sa documentation
: “USE AT YOUR OWN RISK!” en majuscules car il n’y a aucune garantie que tout fonctionne. Certaines fonctionnalités modernes peuvent rester inaccessibles, et les performances peuvent varier d’une machine à l’autre et d’un programme à l’autre. Mais pour beaucoup de cas d’usage, notamment dans l’industrie où la stabilité prime sur les dernières nouveautés, c’est un compromis, je trouve, acceptable.
L’outil supporte surtout une impressionnante gamme de systèmes : Windows XP (x86 et x64), Vista, Windows 7, 8 et même Windows 10. Oui, vous pouvez optimiser vos applications Windows 10 pour qu’elles soient plus légères ce qui est particulièrement intéressant pour les applications embarquées ou tous les systèmes avec peu de ressources.
Bref, Thunk répond à un réel besoin notamment des entreprises. C’est aussi pour ça que je vous en parle, parce que j’imagine que dans vos entreprises, vous avez peut-être des vieux bazars que vous aimeriez faire évoluer sans tout péter. Donc c’est l’occasion de faire du code propre qui tournera sous XP, Vista et j’en passe. Et pour les copains passionnés de rétrocomputing, c’est aussi l’occasion de créer des applications modernes pour vos machines vintage
Maintenant pour l’installer, il vous faudra Rust :
cargo install thunk-cli
pour la version ligne de commande, ou
cargo add thunk-rs --build
pour l’intégrer sous forme de lib dans vos projets. Il vous faudra aussi télécharger les binaires de VC-LTL5 et YY-Thunks et configurer quelques variables d’environnement, mais la documentation explique tout clairement.
Voilà, je trouve ça plutôt cool que Rust, un langage créé en 2010, puisse maintenant produire du code pour un système d’exploitation sorti en 2001. C’est un genre de pont temporel qui défie la logique habituelle de l’obsolescence programmée.
Alors rien à voir avec le logiciel de streaming, mais sachez que Harry Roberts, le consultant en performance web derrière CSS Wizardry (et accessoirement un mec qui a bossé avec Google, la BBC et l’ONU), vient de sortir
Obs.js
.
L’idée de ce truc, c’est de transformer votre site web en véritable caméléon. Au lieu de servir la même expérience à tout le monde, la bibliothèque va détecter en temps réel les conditions de navigation de chaque visiteur. Batterie presque vide ? Connexion 2G pourrie ? L
Alors rien à voir avec le logiciel de streaming, mais sachez que Harry Roberts, le consultant en performance web derrière CSS Wizardry (et accessoirement un mec qui a bossé avec Google, la BBC et l’ONU), vient de sortir
Obs.js
.
L’idée de ce truc, c’est de transformer votre site web en véritable caméléon. Au lieu de servir la même expérience à tout le monde, la bibliothèque va détecter en temps réel les conditions de navigation de chaque visiteur. Batterie presque vide ? Connexion 2G pourrie ? Le site s’adapte automatiquement.
Pour cela, Roberts utilise des APIs natives du navigateur qui existent depuis des années mais que presque personne n’exploite vraiment. La
Battery Status API
et la
Network Information API
sont là, dans Chrome et consorts, à attendre qu’on leur trouve une utilité. Et voilà, Obs.js débarque et les combine de façon intelligente pour créer quelque chose de vraiment utile.
Mais alors concrètement, ça donne quoi ?
Et bien ce script ajoute des classes CSS directement sur votre balise <html>, comme ça…
Vous pouvez alors désactiver toutes les animations et transitions avec une simple règle CSS. Plus besoin de JavaScript complexe ou de détection côté serveur. C’est propre !
Mais ça va bien plus loin que la batterie puisqu’Obs.js catégorise aussi la qualité de la connexion de vos visiteurs. Une connexion forte, modérée ou faible, et votre site peut s’adapter en conséquence. Vous pouvez ainsi servir des images haute résolution aux utilisateurs sur fibre, et des versions compressées à ceux qui galèrent en 3G Free ^^ dans le métro.
body {
background-image: url('banner-4k.jpg');
}
.has-delivery-mode-lite body {
background-image: url('banner-optimized.jpg');
}
Je trouve cette approche très progressive car si le navigateur ne supporte pas ces APIs (
Safari ne supporte ni Battery ni Network Information API
), le site peut continuer à fonctionner normalement. Roberts recommande d’ailleurs de placer le script directement en inline dans le <head> de votre page, avant tout autre script. Il précise cela pour que la détection se fasse le plus tôt possible et que les classes soient disponibles dès le premier render.
De plus, l’objet window.obs exposé par la bibliothèque vous donne accès à toutes les métriques collectées. Vous pouvez ainsi savoir si le Data Saver est activé, si l’appareil est branché sur secteur, ou même détecter les changements de réseau en temps réel. Imaginez les possibilités pour une progressive web app qui doit gérer des modes offline !
En plus, ce type d’optimisation adaptative peut réduire significativement la consommation de données et améliorer les temps de chargement. Il est possible en implémentant cela et en faisant les aménagements nécessaire, d’économiser jusqu’à 40% de bande passante pour les utilisateurs ayant des connexions lentes. C’est énorme quand on sait que chaque seconde de chargement supplémentaire peut faire perdre 20% de conversions.
La version actuelle est déjà fonctionnelle et disponible sous licence MIT et le support navigateur est principalement orienté Chromium pour l’instant, mais c’est déjà une base solide pour commencer à expérimenter.
Et connaissant le profil de Roberts (le mec a littéralement écrit le livre sur les performances CSS), j’imagine qu’on peut s’attendre à ce que le projet évolue rapidement…
Pour l’implémenter, c’est vraiment simple. Vous récupérez le script sur GitHub, vous le minifiez si nécessaire, et vous le collez dans le head de votre HTML. Pas de npm, pas de webpack, pas de configuration compliquée. C’est à l’ancienne !
Voilà, je me suis dis que pour les développeurs qui me lisent, ça peut vous permettre par exemple d’adapter votre stratégie de lazy loading, de modifier la fréquence de vos appels API, ou même de changer complètement l’architecture de votre app selon le contexte. Vous pourriez par exemple désactiver le polling temps réel des utilisateurs qui ont une petite connexion, et le passer en mode manuel.
Bref, si vous faites du développement web et que vous vous souciez un minimum de l’expérience utilisateur,
Obs.js
mérite un petit coup d’oeil !
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
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.
J’ai testé un truc trop cool ce soir et je pense que ça va vous plaire, si vous utilisez WordPress. Ça s’appelle Telex et c’est un nouveau service expérimental lancé par les petits gars d’Automattic au
WordCamp US 2025
. Matt Mullenweg l’a présenté comme leur vision de l’IA pour le développement WordPress, un peu comme le fait v0 de Vercel ou Lovable, mais spécifiquement conçu pour générer des blocs Gutenberg WordPress.
Ces blocs Gutenberg, si vous ne connaissez pas, ce sont ces modules de co
J’ai testé un truc trop cool ce soir et je pense que ça va vous plaire, si vous utilisez WordPress. Ça s’appelle Telex et c’est un nouveau service expérimental lancé par les petits gars d’Automattic au
WordCamp US 2025
. Matt Mullenweg l’a présenté comme leur vision de l’IA pour le développement WordPress, un peu comme le fait v0 de Vercel ou Lovable, mais spécifiquement conçu pour générer des blocs Gutenberg WordPress.
Ces blocs Gutenberg, si vous ne connaissez pas, ce sont ces modules de contenus custom que vous pouvez rajouter dans vos pages WordPress. En général, ça me demande de coder un peu mais avec Telex, vous tapez un prompt décrivant ce que vous voulez, et il vous génère un fichier .zip que vous pouvez installer comme un plugin sur votre site WordPress ou dans
WordPress Playground
(cette version qui tourne directement dans le navigateur sans hébergement).
L’outil est donc disponible dès maintenant sur
telex.automattic.ai
si ça vous branche.
Ce qui est vraiment cool, c’est que tout se passe directement dans l’interface WordPress que vous connaissez déjà. Le panneau de prompt se trouve sur la droite, et vous pouvez voir le code généré et le tester en temps réel dans l’éditeur comme ça, pas besoin de jongler entre différentes interfaces comme avec d’autres outils IA.
Pour ma part, je lui ai demandé de me faire un bloc
pour mon Patreon
et je trouve qu’il s’en est vraiment bien sorti. Mais attention, les résultats sont vraiment variables selon ce que vous demandez.
Du coup si votre premier prompt ne donne pas le résultat escompté, sachez que c’est souvent compliqué de corriger le tir avec des prompts supplémentaires. Mieux vaut donc recommencer avec une approche différente.
Notez qu’Automattic héberge Telex sur son propre domaine plutôt que de l’intégrer directement à WordPress.com. Ça pourrait signifier qu’ils préparent un produit IA indépendant qu’ils pourraient potentiellement proposer en marque blanche aux hébergeurs ou aux développeurs…. On verra bien.
Quoi qu’il en soit, ce lancement s’inscrit dans une stratégie plus large de WordPress de développer des produits IA alignés avec les objectifs long terme de la plateforme. Pour l’instant, c’est gratuit (il faut juste un compte WordPress.com), mais vu le caractère expérimental, ne comptez pas dessus pour vos projets clients. Par contre, pour s’amuser et voir où va WordPress avec l’IA, c’est franchement pas mal.
J’imagine que la prochaine étape, ce sera de proposer des thèmes personnalisés par IA… et qui sait, peut-être qu’un jour, c’est l’IA de WordPress qui rédigera vos articles ?
Vous vous souvenez de ces autocollants holographiques qu’on trouvait à tous les coins de rue dans les années 90 ? Mais siiiii, ces machins brillants qui changeaient de couleur selon l’angle de vue et qui scintillaient de mille feux grâce à leurs petites paillettes métalliques ? Eh bien, un développeur a réussi
à reproduire cet effet en WebGL
et en a fait un générateur. Et je dois dire que le résultat est plutôt bluffant.
Le projet en question part d’une observation simple qui est que ces autoc
Vous vous souvenez de ces autocollants holographiques qu’on trouvait à tous les coins de rue dans les années 90 ? Mais siiiii, ces machins brillants qui changeaient de couleur selon l’angle de vue et qui scintillaient de mille feux grâce à leurs petites paillettes métalliques ? Eh bien, un développeur a réussi à reproduire cet effet en WebGL et en a fait un générateur. Et je dois dire que le résultat est plutôt bluffant.
Le projet en question part d’une observation simple qui est que ces autocollants jouent sur deux phénomènes visuels. D’abord l’iridescence, ce changement de couleur selon l’angle de vue qui rappelle les bulles de savon ou les ailes de papillon. Et ensuite ces minuscules paillettes métalliques qui captent la lumière et créent ces points brillants qui semblent danser à la surface.
Ce qui est vraiment cool du coup, c’est que le développeur a réussi à reproduire ces effets sans simulation physique complexe. Pas de calculs d’interférence de films minces, pas de modélisation de microfacettes métalliques. À la place, une approche purement visuelle qui approxime le rendu final avec des techniques de shader astucieuses.
Le vertex shader gère en réalité un effet de “pelage” de la géométrie en utilisant la formule de
rotation de Rodrigues
. Pour ceux qui ne connaissent pas, c’est une méthode mathématique élégante pour faire tourner des vecteurs dans l’espace 3D autour d’un axe arbitraire. Ici, elle permet de simuler le décollage progressif de l’autocollant, avec des calculs d’occlusion ambiante et d’intensité de pelage qui donnent cette impression de matière qui se décolle vraiment.
Du côté du fragment shader, c’est là que la magie opère vraiment. Le bruit procédural génère ces fameuses paillettes métalliques. Ainsi au lieu de placer manuellement des milliers de petits points brillants, l’algorithme crée des patches aléatoires de luminosité qui ressemblent à s’y méprendre à des flocons métalliques qui accrochent la lumière. L’échantillonnage de la carte d’environnement ajoute les reflets réalistes, pendant que le calcul d’iridescence utilise des ondes sinusoïdales pour décaler la teinte en fonction de l’angle de vue.
L’effet Fresnel, ce phénomène qui rend les surfaces plus réfléchissantes sur les bords, complète l’illusion. C’est ce qui donne cette impression que l’autocollant “s’allume” différemment selon comment on le regarde. Enfin, le shader combine tout ça avec un contrôle fin de la réflectivité métallique, la taille des paillettes, leur intensité, et même le rendu de la face arrière avec des ombres.
En plus, le dev a tout mis sous licence Creative Commons BY-NC 4.0 donc vous pouvez donc l’utiliser, le modifier, l’adapter à vos projets, tant que c’est non-commercial et que vous créditez l’auteur.
Sérieux, qui aurait cru qu’un jour on pourrait recréer la magie des autocollants holographiques de notre enfance directement dans le navigateur ?
Combien d’entre vous ont déjà ouvert Vim par accident en suivant un tuto et se sont retrouvés coincés dedans ? Moi, j’ai dû passer une bonne dizaine de minutes à tâtonner pour trouver une porte de sortie la première fois et après je suis passé sous “nano”. Heureusement, un génie du nom de renzorlive a conçu
VimMaster
, un jeu gratuit qui transforme cet apprentissage en une aventure ludique des plus passionnantes.
La beauté de
VimMaster
c’est qu’au lieu de vous assommer avec un pavé de 500 pages
Combien d’entre vous ont déjà ouvert Vim par accident en suivant un tuto et se sont retrouvés coincés dedans ? Moi, j’ai dû passer une bonne dizaine de minutes à tâtonner pour trouver une porte de sortie la première fois et après je suis passé sous “nano”. Heureusement, un génie du nom de renzorlive a conçu
VimMaster
, un jeu gratuit qui transforme cet apprentissage en une aventure ludique des plus passionnantes.
La beauté de
VimMaster
c’est qu’au lieu de vous assommer avec un pavé de 500 pages de documentation à la con ou de vous forcer à mémoriser des commandes abstraites, il vous fait tout simplement… jouer. Ce jeu comprend donc 16 niveaux progressifs et chaque défi vous permet de maîtriser une nouvelle compétence. Le petit plus c’est que vous pouvez y jouer directement dans votre navigateur, sans avoir à installer quoi que ce soit.
C’est du pur HTML/CSS/JavaScript, pas de framework à la mode, pas de dépendances npm lourdes comme un éléphant. Juste du code propre qui fait le job et au niveau du gameplay, c’est bien pensé. Car contrairement à d’autres outils qui se contentent de vérifier si vous appuyez sur les bonnes touches, VimMaster valide le résultat de chacune de vos actions.
Vous pouvez même arriver à un résultat identique et valide de différentes manières, comme dans le vrai Vim. Il y a même un mode Challenge chronométré pour ceux qui veulent se la jouer speedrun, et un Cheat Mode accessible avec Ctrl+/ pour les moments de désespoir.
Parmi les alternatives disponibles, on a
Vim Adventures
qui devient payant après quelques niveaux,
VimGenius
qui propose des flashcards chronométrées, ou
VimHero
avec ses tutoriels interactifs. Mais VimMaster se démarque surtout par sa simplicité et sa gratuité totale.
En plus, le système de progression est bien ficelé. Vous avez un profil avec des achievements, des badges à débloquer, et même la possibilité d’exporter/importer votre progression. Les cartes d’achievements sont générées dynamiquement en Canvas API et vous pouvez les partager sur les réseaux sociaux pour vous la raconter un petit peu.
Bref, si vous avez toujours voulu apprendre Vim sans vous arracher les cheveux, c’est le bon moment !
Y’a quelques mois, je me suis amusé à reprendre
le projet DeepSite d’Enzostvs
et à le transformer complètement pour fonctionner en 100% local. J’ai baptisé ça
LocalSite
, et ça permet en gros de générer des pages web ou des éléments HTML / CSS / JS à l’aide d’une IA mais en local.
Ça s’appuie donc sur Ollama pour faire tourner les modèles d’IA directement sur votre ordinateur, comme ça, pas de connexion cloud, pas d’abonnement à payer, pas de données qui partent on ne sait où en Chine ou ailleur
Y’a quelques mois, je me suis amusé à reprendre
le projet DeepSite d’Enzostvs
et à le transformer complètement pour fonctionner en 100% local. J’ai baptisé ça
LocalSite
, et ça permet en gros de générer des pages web ou des éléments HTML / CSS / JS à l’aide d’une IA mais en local.
Ça s’appuie donc sur Ollama pour faire tourner les modèles d’IA directement sur votre ordinateur, comme ça, pas de connexion cloud, pas d’abonnement à payer, pas de données qui partent on ne sait où en Chine ou ailleurs. Vous tapez une description de ce que vous voulez, vous sélectionnez un modèle Ollama, et hop, votre site web se génère sous vos yeux.
L’installation est assez simple. Il vous faut d’abord
Ollama
installé sur votre machine et ensuite, vous récupérez un modèle, par exemple deepseek-r1:7b avec la commande
ollama pull deepseek-r1:7b.
Et une fois Ollama lancé avec
ollama serve
il ne reste plus qu’à installer LocalSite avec npm :
git clone https://github.com/Korben00/LocalSite.git
npm instal
npm run dev
Ensuite, direction localhost:3001 et c’est parti.
Pour l’interface, vous avez donc un éditeur Monaco intégré (le même que dans VS Code), une preview en temps réel qui s’adapte aux différentes tailles d’écran (desktop, tablette, mobile), et la possibilité de basculer entre génération et édition manuelle du code. C’est super pratique pour peaufiner le résultat une fois que l’IA a fait le gros du travail.
Pour ceux qui se demandent quels modèles utiliser,
d’après les benchmarks 2025
, CodeLlama 34B reste une référence pour la génération de code HTML/CSS/JavaScript. Mais si votre machine est plus modeste, les versions 7B ou 13B font déjà très bien le job. Qwen2.5-Coder est aussi une excellente alternative, surtout si vous voulez intégrer du code plus complexe dans vos pages. Vous pouvez aussi tenter avec des modèles “Thinking” comme GPT OSS si ça vous chauffe…
Bref, là où DeepSite original nécessite obligatoirement une connexion à Hugging Face et utilise les serveurs API de DeepSeek (donc ça coûte aussi des sous), mon petit LocalSite fait tout en local. Vos données restent chez vous, vous pouvez bosser offline, et surtout, pas de limite d’utilisation. Vous pouvez donc générer autant de sites que vous voulez, tester différents modèles, expérimenter sans compter comme dirait Macron.
L’aspect vie privée n’est pas négligeable non plus car ça permet de prototyper rapidement, et avoir une solution 100% locale évite pas mal de questions juridiques sur la confidentialité des données.
Techniquement, l’architecture repose sur Node.js côté serveur et communique avec Ollama via son API locale. Le code généré est du pur HTML/CSS/JavaScript vanilla, donc compatible partout. Et vous pouvez directement copier-coller le résultat ou télécharger le projet HTML complet (j’ai ajouté un import / export de projets zip). Pas de framework lourd, pas de dépendances obscures, juste du code web standard.
Pour les développeurs qui veulent pousser plus loin, le code source est bien sûr disponible et modifiable. Vous pouvez ajouter vos propres templates, personnaliser les prompts système, ou même intégrer d’autres modèles compatibles avec Ollama.
Il vous faudra quand même un minimum de RAM pour faire tourner les modèles (comptez 8 Go pour les modèles 7B, 16 Go pour les 13B, et 32 Go pour les gros modèles 33B+) mais vu les capacités de génération et l’indépendance totale vis-à-vis du cloud, ça vaut le coup surtout que les modèles dispo dans Ollama progressent rapidement et deviennent de plus en plus optimisés. Je pense par exemple à GPT-OSS.
Bref, j’ai pris une idée cool (DeepSite), et je l’ai réadapté à l’aide de Claude Code et de mes maigres connaissances, pour la rendre accessible et respectueuse de la vie privée et du coup, je trouve ça encore plus cool ^^. Par contre, je suis un garçon assez occupé et je ne suis pas mainteneur de projet open source donc si vous voulez des modifs dedans ou si vous voyez des bugs, faudra vous y coller vous-même ^^.
En ce moment, les développeurs s’extasiaient sur un truc appelé
Jujutsu
, ou “jj” pour les intimes. Au début, j’ai cru à une énième tentative de réinventer la roue puis j’ai creusé, et j’ai compris pourquoi ça fait autant parler.
Vous connaissez cette frustration avec Git ? Quand vous galérez avec l’index, que vous oubliez de stash vos modifs avant de changer de branche, ou que vous priez pour ne pas foirer votre rebase ? Eh bien, Martin von Zweigbergk, ingénieur chez Google et ancien contribut
En ce moment, les développeurs s’extasiaient sur un truc appelé Jujutsu, ou “jj” pour les intimes. Au début, j’ai cru à une énième tentative de réinventer la roue puis j’ai creusé, et j’ai compris pourquoi ça fait autant parler.
Vous connaissez cette frustration avec Git ? Quand vous galérez avec l’index, que vous oubliez de stash vos modifs avant de changer de branche, ou que vous priez pour ne pas foirer votre rebase ? Eh bien, Martin von Zweigbergk, ingénieur chez Google et ancien contributeur Mercurial, a décidé qu’on méritait mieux.
Du coup, il a créé Jujutsu, un système de contrôle de version qui garde tous les avantages de Git en supprimant ses complexités.
Le principe de Jujutsu tient en une phrase : votre répertoire de travail EST un commit. Poh Poh Poh !!
Pour installer jj, vous avez plusieurs options selon votre OS. Sur macOS avec Homebrew :
brew install jj
Sur Linux, utilisez le gestionnaire de paquets de votre distribution ou installez via Cargo :
# Via Cargo (nécessite Rust)
cargo install --locked jj
# Sur Arch Linux
pacman -S jujutsu
# Sur NixOS
nix-env -iA nixpkgs.jujutsu
Sur Windows, utilisez Winget ou Scoop :
# Via Winget
winget install --id martinvonz.jj
# Via Scoop
scoop bucket add extras
scoop install jujutsu
Une fois installé, configurez votre identité (comme avec Git) :
jj config set --user user.name "Votre Nom"
jj config set --user user.email "vous@example.com"
Premiers pas avec Jujutsu
Pour initialiser un nouveau repo jj ou coexister avec un repo Git existant :
# Créer un nouveau repo jj
jj git init myproject
# Coexister avec un repo Git existant
cd existing-git-repo
jj git init --git-repo=.
# Cloner un repo Git avec jj
jj git clone https://github.com/user/repo.git
Concrètement, ça change tout. Plus besoin de git add, plus de git stash avant de changer de contexte, plus de commits temporaires pour sauvegarder votre travail en cours. Jujutsu traite votre copie de travail comme n’importe quel autre commit dans l’historique, ce qui simplifie drastiquement le modèle mental.
Voici les commandes de base pour travailler avec jj :
# Voir l'état actuel (équivalent de git status + git log)
jj st
jj log
# Créer une nouvelle branche de travail
jj new -m "Début de ma nouvelle feature"
# Modifier des fichiers (pas besoin de git add !)
echo "Hello Jujutsu" > README.md
# Les changements sont automatiquement suivis
# Voir les modifications
jj diff
# Créer un nouveau commit basé sur le précédent
jj new -m "Ajout de la documentation"
# Revenir au commit précédent
jj edit @-
# Naviguer dans l'historique
jj edit <change-id></change-id>
Gestion des conflits façon Jujutsu
Le système gère aussi les conflits différemment car là où Git vous force à résoudre immédiatement,
jj peut sauvegarder les conflits directement dans l’arbre de commits
, sous forme de représentation logique plutôt que de marqueurs textuels. Vous pouvez donc reporter la résolution et vous en occuper quand vous avez le temps. Une fois résolu, jj propage automatiquement la solution aux commits descendants.
# Merger deux branches (les conflits sont sauvegardés si présents)
jj new branch1 branch2
# Voir les conflits
jj st
# Les conflits sont stockés dans le commit, vous pouvez continuer à travailler
jj new -m "Travail sur autre chose pendant que le conflit existe"
# Revenir résoudre le conflit plus tard
jj edit <conflict-commit-id>
# Après résolution manuelle
jj squash # Pour intégrer la résolution</conflict-commit-id>
Manipulation de l’historique
L’outil brille aussi par sa puissance d’annulation. L’operation log dépasse largement les reflogs de Git en gardant une trace atomique de toutes les modifications de références simultanément. Comme ça, vous pouvez expérimenter sans crainte, sachant qu’un simple jj undo peut rattraper n’importe quelle erreur.
# Voir l'historique des opérations
jj op log
# Annuler la dernière opération
jj undo
# Revenir à un état précédent spécifique
jj op restore <operation-id>
# Réorganiser des commits (équivalent de rebase interactif)
jj rebase -s <source> -d <destination>
# Éditer un commit ancien
jj edit <change-id>
# Faire vos modifications
jj squash # Pour intégrer dans le commit actuel
# Split un commit en plusieurs
jj split</change-id></destination></operation-id>
Workflow quotidien avec Jujutsu
Voici un exemple de workflow typique pour une journée de développement :
# Commencer une nouvelle feature
jj new main -m "feat: ajout authentification OAuth"
# Travailler sur les fichiers
vim auth.js
vim config.js
# Pas besoin de git add ! Les changements sont auto-trackés
jj diff # Voir ce qui a changé
# Créer un checkpoint pour continuer
jj new -m "wip: OAuth provider setup"
# Oh, un bug urgent à fix sur main !
# Pas besoin de stash, on switch directement
jj new main -m "fix: correction crash login"
# Fix le bug
vim login.js
# Revenir à notre feature OAuth
jj edit @- # Revient au commit précédent
# Finaliser la feature
jj describe -m "feat: authentification OAuth complète"
# Pusher vers Git
jj git push
Intégration avec Git
Côté compatibilité, c’est du 100% Git. Jujutsu utilise les dépôts Git comme backend de stockage, ce qui signifie que vos collègues peuvent continuer avec Git classique sans même savoir que vous utilisez jj. Et si vous changez d’avis, supprimez juste le dossier .jj et tout redevient normal.
# Synchroniser avec le remote Gitjjgitfetch# Pusher vos changementsjjgitpush# Créer une branche Git depuis un change jjjjbranchcreatema-featurejjgitpush--branchma-feature# Importer les changements depuis Gitjjgitimport# Exporter vers Git (automatique généralement)jjgitexport
Commandes avancées utiles
Selon les retours d’utilisateurs
, même les experts Git qui maîtrisent parfaitement les rebases complexes découvrent qu’ils n’ont plus peur de manipuler l’historique. Réordonner des commits, corriger une modification ancienne, jongler avec plusieurs branches non mergées… tout devient trivial avec jj.
# Voir l'historique en mode graphique
jj log --graph
# Chercher dans l'historique
jj log -r 'description(regex:"fix.*bug")'
# Travailler avec plusieurs parents (merge commits)
jj new parent1 parent2 parent3
# Abandonner des changements locaux
jj abandon <change-id>
# Dupliquer un commit ailleurs
jj duplicate <change-id> -d <destination>
# Voir les changements entre deux commits
jj diff -r <from> -r <to>
# Créer un alias pour une commande fréquente
jj config set --user alias.l 'log --graph -r "ancestors(., 10)"'
jj l # Utilise l'alias</to></from></destination></change-id></change-id>
Configuration et personnalisation
Pour personnaliser jj selon vos besoins :
# Définir votre éditeur préféré
jj config set --user ui.editor "code --wait"
# Activer les couleurs dans le terminal
jj config set --user ui.color "always"
# Configurer le format de log par défaut
jj config set --user ui.default-revset "@ | ancestors(@, 10)"
# Voir toute la configuration
jj config list --user
# Éditer directement le fichier de config
jj config edit --user
Le projet évolue rapidement et l’équipe travaille sur plusieurs backends, y compris un natif qui pourrait dépasser Git en performance sur de gros dépôts.
Évidemment, Jujutsu reste expérimental. L’écosystème est plus petit, les intégrations IDE limitées (bien qu’il y ait déjà des extensions VSCode et Vim), et la terminologie différente demande un temps d’adaptation. Mais pour ceux qui cherchent une approche plus intuitive du contrôle de version, ça vaut franchement le détour.
Pour aller plus loin, je vous conseille de parcourir le
tutoriel officiel
qui couvre des cas d’usage plus avancés, ou de rejoindre le
Discord de la communauté
où les développeurs sont très actifs et répondent aux questions.
Bref, vous l’aurez compris,
jj ne remplace pas Git dans l’immédiat
. Il le sublime en gardant la compatibilité totale. C’est une approche intelligente qui permet d’adopter progressivement un workflow plus fluide sans perturber les équipes de dev.
Vous la connaissez cette fatigue de quand vous lancez votre serveur de dev et que ce satané message d’erreur EADDRINUSE vous annonce que le port 3000 est déjà utilisé ? Et bien moi oui, et visiblement je ne suis pas le seul puiqu’un développeur de talent a décidé que c’était la goutte d’eau et a créé
Port Kill
, une petite app macOS qui vit tranquillement dans votre barre de menu et qui surveille les ports ouverts comme le vigile de Franprix vous surveille.
Comme ça, au lieu de jouer au jeu du
Vous la connaissez cette fatigue de quand vous lancez votre serveur de dev et que ce satané message d’erreur EADDRINUSE vous annonce que le port 3000 est déjà utilisé ? Et bien moi oui, et visiblement je ne suis pas le seul puiqu’un développeur de talent a décidé que c’était la goutte d’eau et a créé Port Kill, une petite app macOS qui vit tranquillement dans votre barre de menu et qui surveille les ports ouverts comme le vigile de Franprix vous surveille.
Comme ça, au lieu de jouer au jeu du chat et de la souris avec lsof, netstat et kill dans votre terminal, Port Kill scanne automatiquement tous les ports entre 2000 et 6000 toutes les 5 secondes et vous dit ce qui est ouvert. Alors pourquoi cette plage ? Hé bien parce que c’est là que la plupart d’entre nous faisons tourner nos serveurs de développement. React sur 3000, Vue sur 8080, votre API custom sur 5000… Vous voyez le tableau.
Ce qui est sympa avec Port Kill, c’est l’interface. L’icône dans la barre de menu change de couleur selon le nombre de processus détectés. Vert quand tout est clean, rouge quand vous avez entre 1 et 9 processus qui traînent, et orange quand ça part en cacahuète avec plus de 10 processus. Un clic sur l’icône et vous avez la liste complète avec la possibilité de tuer chaque processus individuellement ou de faire table rase d’un coup.
Techniquement, c’est du solide puisque c’est écrit en Rust (hé oui parce qu’en 2025, si c’est pas du Rust, c’est has-been), l’app utilise les commandes système lsof pour détecter les processus. Et la stratégie de kill de l’outil est plutôt intelligente puisqu’il fait d’abord un SIGTERM poli pour demander gentiment au processus de se barrer, et si au bout de 500ms ce dernier fait le têtu, PAF, un SIGKILL dans les dents. C’est la méthode douce-ferme, comme quand vous demandez à votre chat de descendre du clavier.
Le contexte, c’est qu’on a tous galéré avec ça.
L’erreur EADDRINUSE
est un classique du dev web. Vous fermez mal votre serveur avec Ctrl+C, ou pire, vous fermez juste la fenêtre du terminal, et hop, le processus continue de tourner en arrière-plan comme un zombie. Sur macOS, c’est encore plus vicieux depuis Monterey avec AirPlay qui squatte le port 5000 par défaut.
Il existe d’autres solutions, bien sûr. Par exemple,
Killport
est autre un outil en ligne de commande cross-platform écrit aussi en Rust qui fait un job similaire.
kill-my-port
est un package npm qui fait la même chose. Mais ces outils nécessitent de passer par le terminal à chaque fois. Port Kill, lui, est toujours là, discret dans votre barre de menu, prêt à dégainer.
L’installation est simple : vous clonez le repo GitHub, un petit cargo build --release si vous avez Rust installé, et vous lancez avec ./run.sh. L’app tourne en tâche de fond, consomme quasi rien en ressources, et met à jour son menu contextuel toutes les 3 secondes. Pas de fenêtre principale, pas de configuration compliquée, juste l’essentiel.
Pour les puristes du terminal, oui, vous pouvez toujours faire lsof -ti:3000 | xargs kill -9. Mais franchement, avoir une interface graphique pour ce genre de tâche répétitive, c’est pas du luxe. Surtout quand vous jonglez entre plusieurs projets et que vous ne vous rappelez plus quel port utilise quoi.
Le seul bémol, c’est que c’est limité à macOS pour l’instant donc les développeurs sur Linux et Windows devront se contenter des alternatives en CLI. Mais bon, vu que le code est open source, rien n’empêche quelqu’un de motivé de faire un portage.
Voilà, donc si comme moi vous en avez marre de cette danse répétitive pour trouver et tuer le processus qui squatte votre port,
Port Kill
mérite que vous y jetiez un oeil.
Après Devin et Devika, OpenDevin est un projet open source qui vous permet de disposer d’un ingénieur logiciel IA autonome. Créé par Cognition Labs, ce petit génie du code est capable d’exécuter des tâches complexes et de collaborer activement avec les développeurs sur des projets.
C’est encore en développement, donc loin de remplir toutes ses promesses, mais OpenDevin va pouvoir de manière totalement autonome générer du code, détecter les bugs, optimiser nos programmes…
Pour l’inst
Après Devin et Devika, OpenDevin est un projet open source qui vous permet de disposer d’un ingénieur logiciel IA autonome. Créé par Cognition Labs, ce petit génie du code est capable d’exécuter des tâches complexes et de collaborer activement avec les développeurs sur des projets.
C’est encore en développement, donc loin de remplir toutes ses promesses, mais OpenDevin va pouvoir de manière totalement autonome générer du code, détecter les bugs, optimiser nos programmes…
Pour l’installer, vous aurez besoin de :
Linux, Mac OS, ou WSL sur Windows
Docker (pour ceux sur MacOS, assurez-vous d’autoriser l’utilisation de la socket Docker par défaut depuis les paramètres avancés !)
Python >= 3.11
NodeJS >= 18.17.1
Poetry >= 1.8
Ensuite, vous devrez « construire » le projet, ce qui inclut la configuration de l’environnement et l’installation des dépendances. Cette étape garantit qu’OpenDevin est prêt à fonctionner sans problème sur votre système.
make build
Notez qu’OpenDevin prend en charge une grande variété de modèles de langage (LM) grâce à la puissante bibliothèque litellm. Par défaut, c’est donc GPT-4 d’OpenAI qui est le modèle par défaut, mais vous avez le choix.
Pour configurer le LM de votre choix, suivez ces étapes :
Utiliser le Makefile : Avec une seule commande, vous pouvez avoir une configuration de LM fluide pour votre expérience OpenDevin. Exécutez simplement : make setup-config Cette commande vous invitera à saisir la clé API du LLM et le nom du modèle, en veillant à ce qu’OpenDevin soit adapté à vos besoins spécifiques.
Ou passez à la configuration manuelle : Vous pouvez mettre à jour manuellement le fichier config.toml situé dans le répertoire racine du projet. Vous y trouverez les champs llm_api_key et llm_model_name, où vous pouvez définir le LM de votre choix.
Une fois la configuration terminée, lancer OpenDevin est aussi simple qu’exécuter une seule commande. Cette commande démarre à la fois les serveurs backend et frontend de manière transparente, vous permettant d’interagir avec OpenDevin sans aucun problème.
make run
Si vous préférez, vous pouvez démarrer le serveur backend indépendamment pour vous concentrer sur les tâches ou les configurations liées au backend.
make start-backend
De même, vous pouvez démarrer le serveur frontend seul pour travailler sur les composants ou les améliorations de l’interface liés au frontend.
make start-frontend
Et si vous avez besoin d’aide :
make help
Et voilà ! Vous êtes maintenant prêt à vous lancer dans l’utilisation d’OpenDevin. Perso, je préfère encore l’approche manuelle en mode Chef de Projet avec Cursor notamment. Mais peut-être qu’un jour, un outil comme OpenDevin sera suffisamment malin pour tout faire de A à Z… qui sait ?
Hier, je vous parlais de mdBook, avec un petit reminder de Deckset et aujourd’hui, je suis tombé sur Slidev, un outil très sympa pour vous aider à concevoir vos présentations style Powerpoint.
Sauf qu’avec cet outil, fini les heures perdues à galérer sur la mise en forme et la disposition de vos slides. Grâce à sa syntaxe intuitive basée sur Markdown, vous pourrez vous concentrer vraiment sur le contenu et laisser Slidev s’occuper du reste. En plus de son éditeur intégré, Slidev propose mêm
Hier, je vous parlais de mdBook, avec un petit reminder de Deckset et aujourd’hui, je suis tombé sur Slidev, un outil très sympa pour vous aider à concevoir vos présentations style Powerpoint.
Sauf qu’avec cet outil, fini les heures perdues à galérer sur la mise en forme et la disposition de vos slides. Grâce à sa syntaxe intuitive basée sur Markdown, vous pourrez vous concentrer vraiment sur le contenu et laisser Slidev s’occuper du reste. En plus de son éditeur intégré, Slidev propose même une extension pour VS Code qui vous permettra de profiter d’une expérience de développement optimale, avec tous les avantages de votre IDE préféré.
Mais attention, Slidev ne se contente pas d’être un simple convertisseur Markdown vers des slides. Il propose des tas de fonctionnalités super cools comme une coloration syntaxique impeccable, et même la possibilité d’exécuter du code, peu importe le langage, en direct pendant votre présentation. Je vous invite à regarder cet exemple pour vous rendre compte du délire. Il y en a plein des comme ça.
Slidev vous offre également un choix de thèmes varié et professionnels, que vous pourrez personnaliser à votre guise ou même créer de toutes pièces. Votre présentation aura alors un look unique qui reflètera votre style personnel. ! Il offre également des fonctionnalités avancées comme le mode présentateur, l’enregistrement vidéo, l’exportation vers différents formats (PDF, PNG, SPA), et bien plus encore
Et grâce à son intégration parfaite avec Vue.js, vous pourrez même créer des composants interactifs directement dans vos slides pour afficher par exemple des graphiques dynamiques, des quiz, des sondages en temps réel, et bien plus encore. Bref, vous l’aurez compris, c’est un super projet open source, totalement hackable qui vous fera gagner bien du temps.
Pour démarrer un nouveau projet Slidev, utilisez la commande :
npm init slidev@latest
Et si vous préférez utiliser l’interface en ligne, rendez-vous sur sli.dev.
Je suis sûr que ça vous plaira !
A vous de jouer maintenant et n’oubliez pas, la seule limite est votre créativité !
Vous rêvez de créer votre propre studio de développement de jeux vidéo ?
Avec City Game Studio, plongez-vous dans la peau d’un entrepreneur qui lance son premier studio de développement dans les années 70 et faites-le prospérer jusqu’à aujourd’hui ! Vous devrez gérer tous les aspects de votre entreprise, du recrutement au game design en passant par le marketing. Alors bien sûr, au début, vous travaillerez dans un tout petit bureau en solo, puis avec une équipe réduite, mais au fur et à mes
Vous rêvez de créer votre propre studio de développement de jeux vidéo ?
Avec City Game Studio, plongez-vous dans la peau d’un entrepreneur qui lance son premier studio de développement dans les années 70 et faites-le prospérer jusqu’à aujourd’hui ! Vous devrez gérer tous les aspects de votre entreprise, du recrutement au game design en passant par le marketing. Alors bien sûr, au début, vous travaillerez dans un tout petit bureau en solo, puis avec une équipe réduite, mais au fur et à mesure que vous enchaînerez les succès, vous pourrez agrandir vos locaux, embaucher plus de monde et améliorer vos jeux qui deviendront des AAA, forcément ^^.
L’un des aspects les plus excitants de City Game Studio est de pouvoir concevoir vos propres jeux de A à Z. Vous choisissez un genre (RPG, FPS, plateformes…), un thème (médiéval, sci-fi, horreur…) puis vous créez un gameplay avec vos propres graphismes… et plus vous progresserez, plus vous débloquerez de nouvelles fonctionnalités pour réaliser des jeux toujours plus impressionnants.
Même si vos jeux sont exceptionnels (qui en doute ?), au départ vous n’aurez pas assez de fans pour les sortir vous-même. Il faudra donc faire appel à des éditeurs qui prendront une grosse part des bénéfices. Pour vous libérer de cette contrainte, vous devrez enchainer les succès et vous constituer une communauté de joueurs fidèles. Ensuite, vous pourrez alors proposer vos propres contrats d’édition et dominer le marché (et vous faire construire une villa avec piscine !).
City Game Studio se distingue par sa profondeur dans le gameplay et son look très léché. C’est développé par Binogure Studio en utilisant le moteur de jeu Godot, et ça mélange tout ce qu’on aime, à savoir le tycoon du développement de jeux vidéo et de la simulation de gestion de ville.
Évidemment, pour réussir, il est essentiel de prendre soin de vos employés. Un bon repas dans un restaurant chic boostera le moral et la créativité. Vous pouvez aussi les envoyer en formation pour qu’ils gagnent en compétence. Et si un de vos rivaux vous vole vos meilleurs éléments, vous pouvez contre-attaquer en débauchant les siens ! Bref, c’est la guerre pour devenir le leader du jeu vidéo mais ce côté bien être des employés est vraiment sympa et certains studios IRL feraient bien se s’en inspirer.
Voici quelques conseils pour réussir dans le jeu :
Soyez à l’affût des nouvelles tendances : genres en vogue, technologies innovantes… Surfez sur la vague pour booster vos ventes.
Soignez votre réputation : vos jeux reçoivent de superbes critiques ? Affichez-les fièrement dans vos locaux pour impressionner les visiteurs !
Espionnez les jeux de vos concurrents : comme ça, vous saurez ce qu’ils préparent et pourrez les battre en sortant un hit similaire avant eux.
Optimisez les compétences de vos équipes : un bon level designer peut sauver un jeu avec un scénario faible. Un graphiste talentueux pourra transformer une médiocrité en une œuvre vidéoludique remarquable.
Notez qu’en tant qu’ancien employé d’Ubisoft, Xavier Sellier, le fondateur de Binogure Studio et lecteur assidu de Korben.info, a consacré ces 5 dernières années à développer ce jeu qui a recueilli près de 90% de critiques positives sur Steam. Bravo mec ! D’ailleurs, pour vous remercier d’avoir lu cet article jusqu’au boulot, je vous offre, enfin Xavier vous offre (merci !!) une clé Steam pour son jeu.
Les 4 clés ont été remporté ! Bravo à Yohan, Sylvain, Nico et Rémi !J’en ai 4 à vous offrir et ça passe par mail. Envoyez moi un message à korben at korben.info et les 4 premiers à m’écrire recevront une licence offerte par Binogure. Et si je vous répond pas, c’est que c’est trop tard (et que vous êtes trop nombreux à m’avoir écrit donc que je croule sous les messages).
Bonne chance et amusez-vous bien dans votre conquête de l’industrie du jeu vidéo !