Vue normale

Il y a de nouveaux articles disponibles, cliquez pour rafraîchir la page.
À partir d’avant-hierFlux principal

La solution nulle de Discord à son problème de consommation de RAM

Par : Korben
11 décembre 2025 à 10:41

Discord a trouvé une solution radicale pour gérer son app de ses morts qui bouffe 4 Go de RAM sous Windows 11 (consommation ressentie : 4 millions de Go) : La redémarrer automatiquement quand elle dépasse ce seuil.

Les champions quoi ! Plutôt que de corriger les fuites mémoires, ils ont tout simplement décidé d’intégrer un auto-relaunch dans l’app en douce pour qu’elle se relance toutes les quelques heures.

Donc, si votre Discord a tourné pendant au moins 1 heure, que vous êtes inactif depuis 30 minutes (pas de souris/clavier), et que vous n’êtes pas en vocal ou en visio, l’app se redémarrera automatiquement dès qu’elle atteindra les 4 Go de conso mémoire.

Bien sûr Discord présente ça comme une solution temporaire pendant qu’ils bossent sur le vrai problème, mais je trouve ça marrant de normaliser ce bug en ajoutant une fonctionnalité qui le “contourne” bruyamment.

Le pire dans tout ça, c’est que le problème vient d’une connerie technique assez basique. L’app Discord utilise une bibliothèque appelée “systeminformation” qui appelle PowerShell avec des commandes comme Get-WmiObject Win32_logicaldisk juste pour récupérer des infos système basiques. Mais comme ils passent par Powershell plutôt que d’utiliser les API natives de Windows, ça bouffe de la RAM comme un gros porc.

Comme vous, je me demande pourquoi Discord ne refait pas son app avec un framework plus léger ? Hé bien c’est simple : ils sont coincés ! Parce Discord est bâti sur Electron, et Electron c’est un framework qui embarque un Chromium complet salade tomates oignons dans chaque application. Ça permet aux devs web de créer des apps desktop avec du JavaScript, du HTML et du CSS , mais le prix à payer c’est une app qui pèse 85 Mo à l’installation et bouffe 200-400 Mo de RAM au démarrage.

En théorie Electron permet de créer une app cross-platform facilement. C’est-à-dire d’avoir un seul code pour Windows, Mac et Linux. Mais dans les faits, Discord maintient quand même du code spécifique par plateforme pour les notifications, l’overlay gaming, les raccourcis système, etc. Bref, ils ont tous les inconvénients d’Electron (RAM, taille) sans vraiment profiter de l’avantage du “write once, run everywhere”.

C’est vrai que réécrire Discord en natif coûterait des millions. Faudrait refaire toute l’interface, toutes les fonctionnalités, tous les systèmes de plugins et de thèmes. Surtout que pendant ce temps, l’équipe actuelle continue d’ajouter des fonctionnalités sur leur usine à gaz, ce qui creuse encore plus la dette technique. C’est le sunk cost fallacy version logicielle… en gros, ils ont tellement investi dans Electron qu’ils ne peuvent plus reculer, même si repartir de zéro serait probablement moins coûteux sur le long terme.

Pourtant, des alternatives à Electron existent. Tauri est devenu le framework préféré des devs qui veulent de la performance … On est à 2-3 Mo d’installeur, 30-40 Mo de RAM au repos et il utilise Rust et le webview natif du système plutôt que d’embarquer Chromium. Les apps sont donc légères, rapides, et consomment 10 fois moins de ressources.

Y’a aussi Flutter, React Native Desktop, Qt… des frameworks qui produisent des apps vraiment natives avec des performances dignes de ce nom. Visual Studio Code démontre qu’Electron peut être performant si on l’optimise correctement, mais ça demande un boulot monstre et malheureusement, Discord n’a clairement pas envie de mettre les moyens.

Le vrai problème n’est donc pas technique, c’est économique, car pour 1 dev natif, y’a 8 devs web . Electron permet d’embaucher des devs JavaScript pas cher plutôt que des devs C++/Rust/Swift qui coûtent une blinde… donc, sacrifier la RAM des utilisateurs coûte moins cher que payer des ingénieurs système. Et comme les PC ont maintenant 16-32 Go de RAM, ils se disent que 4 Go pour du chat en ligne, c’est acceptable. Lol.

Bref, tout ça pour dire que Discord normalise le “patch-as-a-feature”, et j’imagine que demain Slack, Teams et tous les autres vont faire pareil. En attendant, jetez un œil à Ripcord et Stoat pour ceux qui veulent un truc mieux.

Source

GitWrap - Votre année sur GitHub !

Par : Korben
4 décembre 2025 à 12:19

Vous connaissez le Spotify Wrapped qui vous rappelle chaque décembre que vous avez écouté “Africa” de Toto 847 fois ? Hé bien GitWrap fait pareil mais pour votre code sur GitHub. Et tout ça avec une interface qui sent bon le DOS et les moniteurs à phosphore vert.

Vous entrez votre nom d’utilisateur GitHub, et l’outil génère alors un récapitulatif de votre année de commits, de pull requests et de contributions diverses et variées. Le tout emballé dans une esthétique rétro qui ferait pleurer de nostalgie n’importe quel dev qui a connu l’époque où “git” n’existait pas encore et où on faisait des sauvegardes sur disquettes.

L’interface vous accueille avec un prompt style années 80… genre > Enter GitHub username to begin. On se croirait dans WarGames avant de lancer une partie de morpion thermonucléaire et il ne manque plus que la voix synthétique qui demande “Shall we play a game?” et c’est parfait.

Y’a aussi un leaderboard pour les compétitifs qui veulent comparer leur nombre de commits avec les autres. Parce que oui, apparemment certaines personnes ont besoin de savoir qu’elles ont codé plus que leur voisin de bureau. Chacun ses kinks.

A vous de tester maintenant pour savoir si vous avez bien bossé sur votre code cette année ou si vous n’avez rien branlé comme l’année dernière.

Et accessoirement vous pouvez même vous faire une jolie image pour frimer sur LinkedIn ! Ça prend 30 secondes et ça vous donnera une excuse pour procrastiner avant de retourner à ce bug que vous évitez depuis trois jours.

Source

Nano-PDF - Éditez vos PDF grâce à l'IA Nano Banana

Par : Korben
1 décembre 2025 à 13:10

Modifier un PDF, c’est toujours la galère surtout si c’est un PDF avec que des images sans texte sélectionnable. Soit vous avez Adobe Acrobat qui coûte une couille, soit vous vous tapez des outils en ligne douteux, soit vous exportez en Word et vous priez pour que la mise en page survive. Bref, vous faites vos trucs de losers….

Mais ça c’était sans compter sur Nano-PDF qui propose une approche radicalement différente : Vous décrivez ce que vous voulez changer en langage naturel, et l’IA se chargera du reste.

Par exemple, si vous avez une présentation PDF avec une faute de frappe sur la slide n°5, au lieu de galérer avec un éditeur, vous tapez juste

`nano-pdf edit ma_presentation.pdf 5 "Corrige la faute sur le mot 'investisement'"`

Et hop, c’est réglé. Vous voulez mettre à jour un graphique avec les données de 2025 ? Pareil, vous décrivez le changement et l’outil se débrouille !

Nano-PDF utilise le modèle Gemini 3 Pro Image de Google (surnommé “Nano Banana Pro”) pour interpréter vos instructions et générer les modifications visuelles. Le workflow technique est d’ailleurs bien fichu puisque les pages PDF sont converties en images via Poppler , envoyées au modèle avec votre prompt, puis les images générées sont reconverties en PDF avec une couche de texte restaurée par OCR via Tesseract. Du coup, vos PDF restent sélectionnables et cherchables après modification, contrairement aux solutions qui vous filent des images aplaties.

Côté fonctionnalités, y’a pas mal de choses sympas. Vous pouvez par exemple éditer plusieurs pages en une seule commande, créer de nouvelles slides qui respectent le style visuel de votre deck existant, même utiliser des pages de référence pour que l’IA comprenne mieux votre charte graphique, et le traitement par lot est géré en parallèle pour gagner du temps sur les grosses présentations.

L’installation passe par pip avec

`pip install nano-pdf`

Et comme je vous le disais, il vous faudra aussi Poppler pour le rendu PDF et Tesseract pour l’OCR. Et attention, petit détail qui a son importance, l’API Gemini Pro Image nécessite un compte payant. Faudra sortir la thune car les clés gratuites ne permettent pas de générer des images… donc bon, prévoyez quelques euros de crédit Google Cloud si vous voulez tester.

Le truc cool, c’est par défaut c’est du 4K en résolution, mais vous pouvez descendre en 2K ou 1K si vous voulez économiser sur les coûts d’API. Y’a aussi une option --use-context qui envoie tout le texte du PDF au modèle pour qu’il comprenne mieux le contexte de vos modifications. Et si vous créez une nouvelle slide, cette option est activée par défaut pour que le résultat soit cohérent avec le reste du document.

Voilà, si vous passez votre vie à modifier des présentations PDF et que vous en avez marre des workflows à rallonge, installez Nano-PDF . C’est open source sous licence MIT, et ça change la vie !

Merci Lorenper pour le partage !

LeechBlock - L'extension qui vous sauve de la procrastination

Par : Korben
12 novembre 2025 à 10:21

650 milliards de dollars, c’est ce que coûte la procrastination aux entreprises américaines chaque année selon les dernières études sur la productivité . En gros, on passe en moyenne 2 heures par jour à glander sur des sites qui n’ont rien à voir avec le boulot. Et je suis le premier concerné, surtout quand YouTube décide de me proposer une vidéo de 3 heures sur l’histoire complète des processeurs alors que j’ai un article urgent à finir et que je dois avancer dans Cyberpunk 2077 !

Heureusement, c’est là qu’intervient LeechBlock NG , une extension gratuite qui fait exactement ce que son nom suggère : elle bloque toutes ces sangsues virtuelles qui aspirent votre temps. Et contrairement à ce que vous pourriez penser, ce n’est pas juste un bête bloqueur de sites… Non non, c’est bien plus que ça, vous allez voir !

L’extension vous permet de configurer jusqu’à 30 ensembles de sites ou de mots clés différents, chacun avec ses propres règles. Vous pouvez par exemple bloquer X, et Mastodon de 9h à 17h en semaine, limiter Reddit à 10 minutes par heure, et interdire complètement YouTube après 22h pour éviter de tomber dans le trou noir des vidéos recommandées avant de dormir.

Ce que j’aime bien aussi c’est la possibilité d’utiliser des wildcards. Comme ça, au lieu de bloquer juste facebook.com, vous pouvez bloquer *.facebook.com pour couvrir toutes les sous-domaines. Pareil pour les sites de streaming avec *.netflix.com, *.youtube.com, etc. Et si vous avez besoin d’accéder à une page spécifique pour le travail, vous pouvez créer des exceptions. Par exemple, bloquer tout YouTube sauf les chaînes tech dont vous avez vraiment besoin.

La fonction “Lockdown” est aussi cool que brutale car ça boque instantanément tous vos sites configurés pendant une durée déterminée. C’est parfait quand vous sentez que votre volonté commence à faiblir et que l’envie de juste vérifier vite fait ce que partagent vos potes nazincels sur X.com devient irrésistible.

Il est aussi possible de recevoir un avertissement avant tout blocage pour que vous sachiez que le moment fatidique approche.

Et pour les plus malins qui pensent pouvoir contourner le système en désinstallant l’extension, LeechBlock propose une protection par mot de passe. Mettez un mot de passe aléatoire et donnez le à un collègue ou un ami et comme ça, vous serez bloqué pour de vrai. Sinon, vous pouvez aussi configurer un mot de passe de 32, 64 ou 128 caractères aléatoires que l’app vous obligera à recopier lettre par lettre pour accéder aux options. C’est bien relou, mais efficace !

LeechBlock reste à ce jour l’option gratuite la plus complète du marché. Y’a aussi StayFocusd sur Chrome a une interface plus jolie, mais LeechBlock offre beaucoup plus de flexibilité niveau configuration.

L’extension fonctionne sur Firefox, Chrome, Edge et tous les navigateurs basés sur Chromium comme Brave, Opera ou Vivaldi. Et surtout, son code est open source et dispo sur GitHub !!

Voilà, LeechBlock ne va pas changer votre vie du jour au lendemain, mais c’est un bon premier pas pour reprendre le contrôle de votre temps passé en ligne. Et vu que c’est gratuit et open source, vous n’avez vraiment aucune excuse pour ne pas essayer !

Silverbullet - Le wiki markdown dans lequel vous pouvez tout coder en LUA

Par : Korben
4 novembre 2025 à 10:53

En ce magnifique mardi matin, moi et mon mal de crâne, nous avons découvert un truc assez cool qui est un genre de wiki personnel en markdown, comme Obsidian ou Notion, mais avec un super pouvoir qui est que vous pouvez y écrire du code qui s’exécute directement dans vos notes !! Hé oui, du vrai code ! Pas des plugins, pas des extensions, mais du code Lua intégré dans votre texte comme si vos notes étaient devenues un environnement de dev à part entière.

Ça s’appelle SilverBullet , c’est open source (licence MIT), et franchement, si vous avez déjà bidouillé des configs Neovim ou des scripts Redis, vous allez kiffer car c’est beaucoup plus simple ^^.

Ça ressemble à n’importe quel wiki markdown moderne. Vous écrivez vos notes en local, elles sont stockées en fichiers statiques .md, vous avez des liens bidirectionnels pour connecter vos idées, et l’interface est optimisée avec des raccourcis clavier. C’est évidemment une Progressive Web App qui fonctionne 100% hors ligne ( comme expliqué sur leur site ), et vous gardez le contrôle total sur vos données, puisque tout est auto-hébergé sur votre machine ou votre serveur.

Ainsi, avec le scripting Lua intégré, vous pouvez littéralement taper ${10 + 2} dans une note et le résultat s’affichera en temps réel : 12 (vous l’aviez les matheux ?? ^^). Et si vous voulez une liste de vos 5 dernières pages modifiées qui se met à jour automatiquement, suffit d’écrire un petit bout de Lua, et hop, votre wiki devient “vivant”.

Alors oui, je sais ce que vous allez me dire, Obsidian a Dataview, Logseq a ses requêtes en Datalog…etc donc c’est pareil non ?

Et bien pas vraiment parce que Dataview ça vous demande quand même d’apprendre un DSL (Domain Specific Language) avec une syntaxe bizarroïde et de vous palucher les 50 pages de doc. Logseq quand à lui vous balance du Datalog sans trop d’explications. Alors que SilverBullet, lui, vous laisse écrire du Lua. Et le Lua, c’est simple, c’est dispo partout (Neovim, Redis, les addons World of Warcraft, OSB, etc.), c’est documenté, et c’est fait pour être embarqué dans des applications.

Si vous êtes data scientist, vous connaissez sûrement les Jupyter Notebooks qui sont markdown avec du code Python exécutable dedans. Hé bien SilverBullet fait exactement la même chose, mais pour vos notes personnelles. Vos notes ne sont plus des fichiers inertes, mais deviennent des mini-programmes qui peuvent calculer, générer du contenu, réagir à des événements…etc

Tenez par exemple, vous pouvez définir une fonction custom directement dans une page :

-- Additionner deux nombres
function adder(a, b)
 return a + b
end

Et ensuite l’utiliser n’importe où dans votre wiki avec la syntaxe ${adder(5, 7)}. Vous pouvez créer des commandes personnalisées qui apparaissent aussi dans la palette de commandes (Ctrl+K ou Cmd+K) :

command.define {
 name = "Insérer signature",
 run = function()
 local date = os.date("%Y-%m-%d")
 editor.insertAtCursor("---\nÉcrit le " .. date, false, true)
 end
}

Ou même des slash commands comme dans Notion, mais que vous codez vous-même :

slashCommand.define {
 name = "todo",
 run = function()
 editor.insertAtCursor("- [ ] |^|", false, true)
 end
}

Tapez /todo dans votre éditeur, et boum, ça insère une checkbox markdown avec le curseur au bon endroit. Vous voulez un compteur de mots qui s’affiche à chaque sauvegarde ? Un event listener comme ceci suffit :

event.listen {
 name = "page:save",
 run = function(e)
 local content = editor.getText()
 local word_count = select(2, content:gsub("%S+", ""))
 editor.flashNotification("Nombre de mots : " .. word_count)
 end
}

SilverBullet est développé en TypeScript (frontend avec Preact et CodeMirror 6) et Go (backend) et la doc officielle est disponible ici .

Même si ça fait bientôt 3 ans que c’est en dev, c’est encore un peu jeune et il y a d’ailleurs quelques limitations à connaître. Par exemple, y’a pas de gestion d’upload d’images pour l’instant (vous devez linker des images externes ou les placer manuellement dans le dossier), et comme c’est récent, l’écosystème de plugins n’est pas aussi fourni qu’Obsidian. Mais bon, quand vous pouvez coder vos propres fonctionnalités en Lua directement dans vos notes, la notion de “plugin” devient un peu inutile.

Alors plutôt que de vous expliquer encore pendant 10 paragraphes comment ça fonctionne, voici comment l’installer et tester vous-même.

Téléchargez d’abord le binaire qui correspond à votre OS (macOS, Linux, Windows) en cliquant ici .

Pour macOS et Linux , ouvrez votre terminal et tapez :

chmod +x silverbullet
mkdir mes-notes
./silverbullet mes-notes

Pour Windows, créez un dossier mes-notes, puis lancez dans PowerShell :

.\silverbullet.exe mes-notes

Le serveur démarre alors sur le port 3000 par défaut. Ouvrez votre navigateur sur http://localhost:3000 et vous y êtes. Vous pouvez aussi l’installer en Progressive Web App (PWA) pour l’utiliser comme une vraie application desktop, même hors ligne.

Et si vous préférez Docker, c’est encore plus simple :

docker run -p 3000:3000 -v ~/mes-notes:/space ghcr.io/silverbulletmd/silverbullet

Ça fonctionne sur Intel et ARM (Raspberry Pi, Apple Silicon), donc vous pouvez l’héberger sur à peu près n’importe quoi.

Voilà, donc si vous voulez une note qui génère automatiquement un journal de vos tâches incomplètes, une page d’accueil qui affiche vos stats d’écriture du mois ou encore un système de tags auto-généré avec des filtres dynamiques, tout est possible ! Et tout ça en écrivant du Lua directement dans le navigateur, sans plugins chelous.

Une fois que vous aurez goûté à ça, vous verrez que revenir à des notes statiques sera trèèèès compliqué.

Merci à friendly_0day pour m’avoir fait découvrir SilverBullet !

Neura Hustle Tracker - Surveiller sa productivité en respectant sa vie privée

Par : Korben
27 octobre 2025 à 12:16

Quand je bossais comme consultant y’a genre 10 000 ans, je devais tracker le temps que je passais pour chaque client dans un fichier Excel. Et ça mes amis, c’était super chiant mais nécessaire. Après peut-être que vous de votre côté, vous n’êtes pas tropfliqué mais vous vous imposez l’envoi de messages Slack stratégiques juste avant de vous déconnecter, ou vous faites partir des emails à 23h pour montrer que vous êtes un esclave acharné du capitalisme ?

Bienvenue dans l’ère du grand théâtre de la productivité.

Après quand on est freelance ou qu’on essayer de bien équilibrer son temps de travail, c’est sympa aussi de pouvoir tracker ce qu’on fait en temps réel, pour nous-même, sans forcement que personne d’autre ne regarde.

Hé bien c’est exactement ce que propose Neura Hustle Tracker qui est un tracker de temps open-source, écrit en Rust, qui tourne dans votre terminal et stocke TOUT en local sur votre machine dans un PostgreSQL. Comme ça, aucune donnée ne quitte votre ordinateur.

L’idée, c’est donc de reprendre le pouvoir sur vos propres données de productivité en enregistrant automatiquement les applications que vous utilisez, le temps passé sur chacune, et afficher ça sous la forme de graphiques directement dans votre terminal.

Comme ça vous verrez le temps pharamineux que vous passez sur Korben.info ou Slack au lieu de vraiment bosser. Pour l’installer, ça marche sous Windows, macOS et Linux et ça peut tourner dans un Docker. La doc est ici.

Vous pouvez même le lancer au démarrage de l’ordi, comme ça, le tracking démarre instantanément dès que vous commencez à bosser. Par contre, n’oubliez pas de le couper quand vous voulez faire un truc en dehors des radars hein ^^.

Le projet est encore jeune, mais il évolue rapidement. Adolfo, le développeur principal, a d’ailleurs récemment ajouté des commandes pour naviguer dans l’historique complet (touches h pour history et b pour breakdown) et améliore régulièrement la qualité des visualisations.

Voilà, donc si vous en avez marre que votre productivité soit transformée en KPI pour votre manager, et que vous voulez juste comprendre comment vous passez vraiment votre temps sans avoir à rendre de comptes à personne, Neura Hustle Tracker mérite le coup d’oeil. C’est gratuit, et c’est open-source !

Un grand merci à Lorenper pour le partage !

❌
❌