Vue normale

Reçu avant avant-hier

TriliumNext Notes - Vos notes, votre serveur, zéro cloud

Par :Korben
9 avril 2026 à 15:30

Entre Notion qui vous enferme dans son cloud, Obsidian qui facture la synchro dans son cloud 48 dollars par an et Evernote qui est devenu l'ombre de lui-même... trouver un outil de notes qui tourne chez vous sans dépendre de personne, c'est devenu la quête du Graal. Mais heureusement, TriliumNext Notes coche à peu près toutes les cases.

C'est une appli de prise de notes hiérarchique, open source (AGPL-3.0), qui tourne en local ou sur votre serveur. Imaginez une arborescence de dossiers, sauf qu'au lieu de copier un fichier dans 3 endroits différents, vous le clonez. C'est juste un lien ce qui fait que votre doc "Setup Proxmox" existe à la fois dans "Homelab" et dans "Tutos Linux" sans bouffer un octet de plus.

L'interface de TriliumNext Notes avec son arborescence de notes

Côté fonctionnalités, accrochez-vous puisque ça embarque un éditeur WYSIWYG avec support Markdown, des notes de code avec coloration syntaxique, un canvas Excalidraw pour griffonner des schémas, des diagrammes Mermaid, mind maps, et même des cartes géo avec traces GPX ! Y'a aussi un calendrier, un Kanban, des tableaux, un Web Clipper pour capturer des pages web d'un clic, et un moteur de recherche full-text qui fouille dans toutes vos notes. Franchement, pour un truc gratuit, vous en avez pour votre argent (euuh ?).

Le premier réflexe, ce serait de se dire "encore un clone de Notion". Sauf que que nenni les rabats joie ! Car LE truc qui fait vraiment la diff par rapport à un Anytype ou un Notion, c'est la synchronisation maison. Vous posez une instance serveur sur votre NAS, votre Proxmox, ou même un Raspberry Pi (ça tourne dessus sans broncher), et hop, toutes vos machines se synchronisent via votre réseau.

Pour l'installer, vous avez l'embarras du choix. En desktop classique, un brew install --cask trilium-notes sur Mac, un winget install TriliumNext.Notes sur Windows, ou un Flatpak / .deb / .rpm sur Linux et c'est plié.

Mais le vrai kif, c'est de le poser sur un serveur pour synchroniser toutes vos machines. Avec Docker, ça donne :

docker run -d -p 8080:8080 -v ~/trilium-data:/home/node/trilium-data triliumnext/trilium

Le -v c'est important : ça persiste vos notes en dehors du conteneur. Sans ça, un docker rm et tout disparaît. Une fois lancé, vous allez sur http://votre-ip:8080, vous créez votre mot de passe, et c'est parti. Sur le desktop, vous ajoutez l'adresse du serveur dans les réglages de synchro et toutes vos notes se retrouvent partout. Et si vous voulez y accéder depuis l'extérieur, un petit Tailscale par-dessus et c'est réglé.

Sous le capot, une base SQLite, soit un seul fichier document.db dans ~/.local/share/trilium-data/, qu'on peut copier sur une clé USB en 2 secondes. Pas de PostgreSQL à configurer, pas de Redis à maintenir. La doc officielle annonce 100 000 notes sans problème de perf (ils utilisent better-sqlite3, le driver synchrone le plus rapide de Node.js).

Par contre, attention : les pièces jointes en synchro sont limitées à 1 Go par fichier. Au-delà, ça passe pas. Les notes sensibles, elles, peuvent être chiffrées individuellement en AES-128 avec une session protégée par mot de passe.

Et pour les bidouilleurs, y'a aussi une API REST sur le port 37740 et un système de scripting côté serveur. Vous pouvez créer des widgets custom, automatiser des exports, ou même vous bricoler un mini-dashboard de démarrage. Par contre, faut pas avoir peur de mettre les mains dans le JavaScript.

Et si vous comptez migrer depuis Joplin ou Evernote, y'a également un import natif ENEX + Markdown, donc pas besoin de convertisseur tiers.

Voilà et j'en profite pour vous raconter un peu l'histoire de ce logiciel... Pour votre confiture générale ^^. En fait Trilium a été créé en 2017 par un dev solo et quand il a décidé de raccrocher les gants, la communauté a repris le flambeau sous le nom TriliumNext en publiant des releases régulières mais aussi une traduction dans une dizaine de langues dont le français, et du support OpenID + TOTP pour sécuriser les accès. C'est beau le pouvoir de la communauté !!

Côté mobile par contre, pas d'app officielle. C'est dommage mais TriliumDroid fait bien le job sur Android (dispo sur IzzyOnDroid) et l'interface web passe aussi en PWA (Progressive Web App, tu connais...). Attention quand même, la synchro entre TriliumDroid et le serveur impose que les deux soient sur la même version. Si vous mettez à jour l'un sans l'autre, ça coince comme mon dos en ce moment.

Non, vraiment le seul vrai bémol, comme souvent avec les logiciels libres, c'est que l'interface a un petit côté 2015. C'est pas Notion niveau polish, je ne vais pas vous mentir. Donc si vous êtes du genre à juger un outil à sa typo et ses animations, passez votre chemin. Mais pour un truc gratuit qui gère aussi bien les notes que les mind maps, les Kanban et le scripting... ça se pardonne vite. D'ailleurs si vous aimez les applis de notes self-hosted, je vous avais aussi parlé de Blinko à l'époque qui rajoute de l'IA par-dessus vos notes. Pensez-y !

Bref, allez voir ça, c'est le genre de projet qui mérite le détour.

Et big merci à Rudy pour le lien !

Fuite Claude Code - 6 trucs à piquer pour vos hooks

Par :Korben
1 avril 2026 à 12:50

Le code source de Claude Code a fuité hier, et au-delà du buzz, y'a, je trouve, quelques leçons concrètes à tirer de tout ça.

Alors rassurez-vous, je vais pas vous balancer du code TypeScript à copier-coller (on n'est pas des cochons), ni des leçons de morale sur ce qu'on peut ou pas pousser sur un dépôt Git, mais plutôt vous lister des patterns d'architecture / bonnes pratiques que vous pouvez implémenter dès maintenant dans votre fichier settings.json via le système de hooks de Claude Code .

Je reste vague techniquement, volontairement pour 2 raisons. D'abord parce qu'il y a eu fuite de code, donc je peux pas poster du code propriétaire ici. Et ensuite parce que chaque projet / boite à outil qu'on se crée dans Claude Code ou ailleurs est différente, donc ce sera à vous (ou à Claude en fait) d'adapter chacune de ces bonnes pratiques.

Concrètement, tout passe par le fichier .claude/settings.json de votre projet (ou ~/.claude/settings.json pour du global). Dedans, vous déclarez des hooks, c'est-à-dire des scripts .cjs ou .sh qui se déclenchent automatiquement à des moments précis : avant qu'un outil s'exécute (PreToolUse), quand vous tapez un message (UserPromptSubmit), après un commit (PostToolUse), etc.

Le script reçoit du JSON en stdin, fait son boulot, et renvoie un code de sortie : 0 pour laisser passer, 2 pour bloquer. Pas besoin de l'API Claude, pas besoin de tokens, ça tourne en local sur votre machine. Hé bien tout ce que vous allez lire ci-dessous, ce sera à vous de l'implémenter dans des scripts de ce type.

Et le plus simple pour ça, c'est de donner les parties de mon article qui vous intéressent à votre propre Claude Code pour qu'il aille lui-même faire les scripts cjs / sh et les bons appels de hooks dans le settings.json. Pourquoi se prendre la tête ?

Et encore une fois, j'insiste, il s'agit de concepts d'ingénierie logicielle, et pas de code propriétaire appartenant à Anthropic.

La première bonne pratique c'est le circuit breaker ou disjoncteur en français...

En gros, quand vos scripts JavaScript appellent des APIs genre l'endpoint chat/completions d'OpenAI ou generateContent de Gemini, ça peut parfois ne pas répondre, parce que la vie quoi... ^^

Et malheureusement, quand cela arrive, votre code continue de marteler l'endpoint en boucle, ce qui fait que vous cramez des tokens pour rien. Le fix est pourtant très simple : Après 3 échecs consécutifs, on coupe, et on passe au fallback. Netflix avait popularisé ça avec leur librairie Hystrix y'a 10 ans, et c'est ce type de protection qu'on retrouve aujourd'hui dans Claude Code. Concrètement, c'est un module Node.js de 40 lignes avec un compteur et un état ouvert/fermé et comme ça, fini les retry storms !

Deuxième pattern : le scanner de secrets en pre-commit.

Un git commit qui embarque une clé API dans un .env, ça arrive trop souvent (demandez à Anthropic et leur fichier .map de 60 Mo ^^). Le hook PreToolUse permet heureusement d'intercepter chaque git commit AVANT exécution. Votre script parcourt alors les fichiers stagés via git diff --cached, cherche les patterns sk-ant-api, ghp_, AKIA, -----BEGIN RSA PRIVATE KEY----- et renvoie un exit 2 pour bloquer.

Perso, j'ai dans ma boîte à outils IA, 18 regex dans un fichier .claude/hooks/secret-scanner.cjs qui couvrent Anthropic, OpenAI, AWS, GitHub, Slack, Stripe et les JWT. Par contre, attention aux faux positifs car un fichier contenant "sk-ant-api" dans un commentaire, ça bloquera tout. Ça m'est déjà arrivé et heureusement, l'IA est assez maligne pour comprendre d'où vient le blocage et éventuellement passer outre si ce n'est pas justifié.

Et troisième truc sympa : la détection de frustration.

En effet, un hook UserPromptSubmit se déclenche quand vous tapez un message de rageux. Ainsi, si votre prompt contient "putain", "ça marche pas" ou "wtf", le hook injecte via stdout un contexte qui dit à Claude d'aller droit au but. Comme ça, y'a plus de blabla et on part direct sur une solution concrète.

Et c'est pareil pour "continue" ou "finis" qui injecte "reprendre sans résumer" automatiquement. Franchement, c'est 30 lignes de JavaScript rikiki à mettre dans .claude/hooks/frustration-detector.cjs et ça change carrément la vie quand vous êtes en mode debug à 2h du mat avec un café dans la main gauche et un œil qui se ferme tout seul en tremblant !

Quatrième bonne pratique : les tags @[MODEL] dans vos skills.

Car vous le savez, certaines règles que vous avez mises en place existent uniquement à cause d'un biais du modèle actuel. Genre, Opus 4.6 qui colle ces putains de tirets cadratins (Unicode U+2014) partout. Du coup, ça oblige les gens à mettre dans leurs skills une règle du genre "0 em-dash". Sauf que le jour où Sonnet 5 ne les utilisera plus, cette règle ce sera du bruit inutile.

Alors en taguant @[OPUS-4.6] dans un commentaire HTML, vous pourrez ensuite faire facilement un grep -r "@\[OPUS" quand vous changez de modèle. C'est du tracking de dette technique pour le prompt engineering, quoi... et perso, je n'y avais pas pensé avant.

Cinquième pattern : les seuils numériques.

Votre "Fais des fonctions courtes" dans un CLAUDE.md, ça ne veut rien dire pour un agent et malheureusement, la plupart des gens écrivent encore "sois concis" ou "toi faire code propre" sans aucun chiffre alors qu'un "Max 50 lignes par fonction, couverture tests ≥ 80%, 0 warning ESLint" c'est vachement plus efficace car vérifiable par un script.

Enfin, dernier pattern : la consolidation mémoire.

Anthropic a mis en place un système nommé autoDream qui tourne pendant l'inactivité de Claude Code pour nettoyer la mémoire. Il vire les doublons, résout les contradictions, vérifie que les fichiers existent encore. Et même s'il ne le réclame pas parce qu'ils n'ont pas de bouche pour vous parler, vos CLAUDE.md de 200 lignes et vos JSON de 70 Ko ont besoin du même traitement ! Donc il faut que vous ajoutiez une phase genre "dream" en bash ou Node.js à la fin de vos workflows, comme ça, plutôt que de tout garder, le script scan le répertoire ~/.claude/, trie les entrées par date, et fusionne les doublons. C'est comme la consolidation pendant l'inactivité, mais en 5 secondes sur un Apple M4.

D'ailleurs, la communauté n'a pas perdu de temps. Un développeur a catalogué les 88 feature flags planqués dans le code, dont 54 qui compilent proprement (les autres dépendent de modules internes d'Anthropic). Et un autre a reconstitué 8 diagrammes d'architecture complets du pipeline : cycle de vie d'une requête, système de permissions, orchestration multi-agents... C'est la meilleure doc technique qui existe sur le fonctionnement interne de Claude Code, et elle ne vient pas d'Anthropic ^^

Architecture globale de Claude Code reconstituée par la communauté

Voilà et toutes ces pratiques, ça repose sur les 25 événements du système de hooks (PreToolUse, PostToolUse, UserPromptSubmit, Stop...) avec 3 types de handlers : command pour les scripts shell, prompt pour une évaluation LLM, et agent pour une vérification multi-étapes.

Après, si l'un de vos scripts plante comme une merde, le hook laissera passer des choses, donc pensez bien à tester chaque retour de script avec un echo '{}' | ./mon-hook.sh && echo $? avant de déployer.

Et voilà ! Je vous invite à lire mon article sur la fuite pour plus d'infos.

Cooklang - Le Git de vos recettes de cuisine

Par :Korben
30 mars 2026 à 09:31

Si vous en avez marre de perdre vos recettes de cuisine dans des apps comme Whisk ou Paprika qui ferment tous les 6 mois, ou de devoir scroller 14 pages de storytelling avant d'arriver aux ingrédients... y'a un truc qui devrait vous plaire. Ça s'appelle Cooklang , et c'est un langage de markup pour écrire vos recettes en texte brut et les garder à vie !

En gros, vous créez un fichier .cook avec Notepad, Sublime Text ou votre terminal favori, vous écrivez votre recette en français normal et vous ajoutez quelques marqueurs type : @farine{200%g} pour un ingrédient avec sa quantité, #fouet{} pour un ustensile, ~{25%minutes} pour un minuteur.

Du coup, à partir de ce petit fichier texte, l'outil génère alors automatiquement la liste de courses, les minuteurs et un joli rendu lisible. Y'a pas de compte à créer, ni de serveur Notion à monter... C'est juste vos recette chez vous !

Et le truc vraiment sympa, c'est que la syntaxe reste parfaitement lisible même sans l'outil... en fait votre recette de carbonara reste une recette de carbonara, et pas un fichier XML avec 47 balises imbriquées. D'ailleurs si vous versionnez vos fichiers avec un Git, vous pouvez tracer l'évolution de vos recettes au fil du temps, pour voir par exemple quand vous avez décidé de mettre plus d'ail dans la marinade et pourquoi votre tarte aux pommes de 2024 était meilleure que celle de 2023.

La syntaxe Cooklang : lisible par un humain, exploitable par la machine

Côté écosystème, c'est très complet pour un projet open source et complètement gratuit ! Y'a un CLI écrit en Rust qui fait serveur web intégré ( la démo est ici ), des apps iOS et Android avec synchronisation, des plugins pour VS Code, Vim et Emacs (pour les puristes), un plugin Obsidian pour afficher vos recettes directement dans votre vault, et même un mode Raspberry Pi Zero pour héberger votre précieux livre de recettes familial sur le réseau WiFi local.

Comme ça, un petit cookcli server et tout le monde à la maison peut consulter les recettes depuis son téléphone. Par contre, attention, y'a pas de mode collaboratif en temps réel, c'est chacun son fichier... c'est pas Google Docs non plus.

Le système de mise à l'échelle est pas mal non plus. Quand vous triplez les quantités de votre blanquette pour le repas du dimanche, le sel et le poivre restent fixes (parce que non, on ne triple pas la quantité de pincées de sel quand on passe à 6 personnes). Sauf que ça marche pas pour tout : les temps de cuisson, faut quand même les ajuster vous-mêmes et si une recette dépend d'une autre, genre votre sauce hollandaise maison, vous pouvez la référencer directement dans votre préparation avec @./sauces/Hollandaise{150%g}.

D'ailleurs, y'a une astuce que je trouve carrément cool, c'est que si vous trouvez une recette en ligne qui vous plaît, vous pouvez coller cook.md/ devant l'URL et ça la convertit automatiquement au format Cooklang, prête à être intégrée dans votre collection de recette. Comme ça, pas besoin de tout retaper à la main comme un scribe du Moyen Âge !

Le projet existe depuis janvier 2021 et c'est sous licence MIT. Dans un monde (prenez une grosse voix grave) où chaque app de cuisine veut votre email, vos données et 5 euros par mois, la vraie résistance s'organise avec des fichiers texte de cuisine de 2 Ko qu'on peut ouvrir dans n'importe quel éditeur de texte , synchroniser via Syncthing ou balancer sur une clé USB.

Et si tout ce qui vous intéresse c'est uniquement la bouffe, il y a des recettes ici et des recettes là .

Bref, créez un fichier boeufbourguignon.cook, balancez-y votre recette avec les marqueurs et lancez cookcli server pour voir le résultat... il manque plus qu'un git blame pour savoir qui a mis trop d'oignons !

Merci à Fabien pour la découverte !

Surfshark VPN : la couche réseau qui manque à votre stratégie de sécurité

Par :Korben
26 mars 2026 à 07:54
-- Article en partenariat avec Surfshark --

Vous avez probablement déjà un gestionnaire de mots de passe. Vous avez activé la double authentification partout où c'est possible. Peut-être même que vous hébergez vos propres services sur un NAS, avec un pare-feu correctement configuré.

C'est excellent. Mais il manque encore une pièce au puzzle : la protection de votre trafic réseau. C'est exactement là qu'intervient un VPN comme Surfshark. Pas comme solution miracle, plutôt comme couche complémentaire dans une approche de défense en profondeur.

Je vous explique pourquoi cette couche compte et comment Surfshark s'intègre concrètement dans une infrastructure personnelle ou professionnelle.

La défense en profondeur, rappelée simplement

Le principe est connu de tous les survivalistes numériques  : ne jamais compter sur une seule barrière de protection. 1 c'est 0, 2 c'est 1, toussa. Si votre mot de passe fuit, le 2FA bloque l'intrusion. Si votre 2FA est contournée, le pare-feu limite l'accès. Si le pare-feu est franchi, la segmentation réseau contient les dégâts.

Mais dans cette chaîne, un maillon reste souvent négligé. Le trafic entre votre appareil et le reste d'internet. Sans VPN, votre FAI voit tout ce que vous faites. Sur un réseau public, un attaquant peut intercepter vos données non chiffrées. Même chez vous, des applications peuvent communiquer en clair avec des serveurs tiers. Un VPN chiffre l'intégralité de ce trafic et le fait transiter par un tunnel sécurisé. Ce n'est pas une protection supplémentaire au même niveau que les autres, c'est une protection à un niveau différent, réseau plutôt qu'application.

Ce que Surfshark apporte techniquement

Surfshark ne se contente pas de proposer un bouton "se connecter". Plusieurs fonctionnalités techniques méritent l'attention si vous construisez une stratégie de sécurité sérieuse. Le chiffrement AES-256-GCM est le standard, mais le choix du protocole compte tout autant. Surfshark privilégie WireGuard, qui offre de meilleures performances avec un audit de code plus simple que les solutions historiques. Pour les utilisateurs avancés, l'application permet de forcer le protocole, de configurer des règles de split-tunneling, ou d'activer le kill switch en mode strict.

La politique no-logs a été auditée à deux reprises par Deloitte, en 2024 et 2025, par SecuRing en 2026, etc. Les rapports sont publics et détaillent les méthodes de vérification. Ce n'est pas une déclaration d'intention, mais une preuve vérifiable.

Autre point important : l'infrastructure. Surfshark opère plus de 4 500 serveurs (dont une majorité en mode RAM-only) et certains serveurs, notamment aux Pays-Bas, tournent déjà à 100 Gbps. Aucune donnée ne peut persister sur disque, ce qui réduit drastiquement les risques en cas de compromission physique d'un nœud. Enfin, les fonctionnalités désormais habituelles comme le MultiHop (double saut VPN) ou le mode Camouflage (obfuscation du trafic VPN) permettent d'adapter le niveau de protection au contexte d'usage, sans complexifier l'expérience pour les utilisateurs non techniques (ça ne vous concerne pas je sais, vous êtes les plus forts, vous lisez mon site).

Intégrer Surfshark dans votre setup existant

Ajouter un VPN à une infrastructure déjà en place ne doit pas être une usine à gaz. Voici comment procéder de manière pragmatique. Si vous utilisez déjà un gestionnaire de mots de passe, commencez par y stocker vos identifiants Surfshark avec une entrée dédiée. Activez la 2FA sur votre compte VPN, en privilégiant une application d'authentification plutôt que les SMS.

Pour le déploiement, privilégiez l'installation sur le routeur si vous voulez protéger tous les appareils du réseau domestique. Sinon, installez l'application sur chaque endpoint critique (ordinateur principal, téléphone professionnel, tablette de voyage & co). Configurez le kill switch en mode strict pour éviter toute fuite d'IP en cas de déconnexion. Activez ensuite  CleanWeb pour bloquer les trackers et les domaines malveillants au niveau DNS. Et si vous travaillez avec des données sensibles, envisagez MultiHop pour ajouter une couche de routage supplémentaire.

Enfin, documentez votre configuration. Notez les serveurs que vous utilisez habituellement, les règles de split-tunneling et la procédure de secours en cas de problème. La sécurité ne vaut que si elle est reproductible et compréhensible par ceux qui doivent l'utiliser.

Mon avis sur l'approche

Ce qui distingue Surfshark dans le paysage des VPN, ce n'est pas une fonctionnalité isolée, mais la cohérence d'ensemble. L'outil ne cherche pas à tout faire, par contre il fait bien ce qui compte (chiffrer le trafic, protéger les identifiants, limiter l'exposition aux trackers, etc.).

Pour un particulier exigeant, un freelance ou une petite structure, c'est un compromis pertinent entre simplicité et robustesse. Est-ce que cela remplace une infrastructure professionnelle ? Non. Mais en combinant protection réseau et contrôle des données personnelles, Surfshark propose une brique de sécurité plus complète que la moyenne.

L'offre actuelle

En ce moment Surfshark casse un peu les prix et propose un engagement sur 27 mois (dont 3 supplémentaires) qui revient à 61€ TTC au total (2.26€/mois, moins cher qu'un café), et une garantie satisfait ou remboursé de 30 jours. L'abonnement couvre un nombre illimité d'appareils, ce qui facilite le déploiement sur l'ensemble de votre parc personnel/familial.

🔗 Profiter de l'offre Surfshark VPN ici

Note : ce lien est affilié. Cela ne change rien pour vous, mais cela me permet de continuer à produire ce type de contenu sans dépendre de la publicité intrusive.

La sécurité numérique ne se résume pas à empiler des outils. Il s'agit de comprendre ce que chacun protège, et comment ces protections s'articulent. Un VPN comme Surfshark n'est pas une fin en soi. Mais dans une stratégie de défense en profondeur, il représente la couche réseau qui manquait peut-être à votre dispositif. C'est pragmatique, efficace, et ça ne demande pas de devenir expert en cryptographie pour en tirer parti.

Questions fréquentes :

  • Le VPN remplace-t-il un pare-feu ? Non, il le complète en protégeant le trafic hors du réseau local.
  • Puis-je utiliser Surfshark sur mon routeur ? Oui, des tutoriels sont disponibles pour les modèles compatibles.
  • La politique no-logs est-elle vérifiable ? Oui, les audits Deloitte et SecuRing sont publics.

Comment j'ai rendu mon serveur Plex surpuissant et silencieux grâce à un Mac Mini et des SSD Lexar

Par :Korben
25 mars 2026 à 16:07
– Ccontient des liens affiliés Amazon –

Après des années de galère avec un NAS bruyant puis un miniPC pas beaucoup mieux, j'ai fini par trouver la configuration Plex idéale. Un Mac Mini M4 , deux SSD Lexar SL500 , et le silence absolu. Retour d'expérience.

Le bruit, l'ennemi numéro un

J'ai un serveur Plex depuis des années. Un serveur que je partage avec ma famille et mes amis les plus proches, et qui me sert à stocker des films et des séries souvent introuvables sur les plateformes légales, ou des versions numérisées de DVD et Blu-Ray que j'ai achetés, mais que je veux pouvoir streamer sur mon Apple TV. Vous voyez l'idée. Pendant longtemps, tout ça tournait sur un NAS Synology d'entrée de gamme. Ça marchait, mais dès que je voulais transcoder un film pour le regarder à distance, c'était mort. Lecture directe obligatoire, avec les problèmes de débit que ça implique, surtout à l'époque où j'étais encore en ADSL. Il y a trois ou quatre ans, j'ai décidé de monter d'un cran en déportant le serveur Plex sur un miniPC Beelink. Plus de puissance, transcodage enfin possible, bien pratique pour moi à distance ou pour mes proches qui n'ont pas forcément la fibre.

Sauf que toutes ces solutions avaient le même défaut. Le bruit. Entre les disques durs mécaniques, le ventilateur du NAS Synology qui ronronnait en permanence et celui du miniPC Beelink qui se mettait à souffler dès qu'on lui demandait un peu d'effort, c'était toujours pénible. Et comme je n'ai jamais eu la place de planquer tout ça dans un bureau ou un placard technique, le serveur a toujours tourné dans mon salon. Autant dire que les soirs de film, l'ambiance était moyennement au rendez-vous.

Le Mac Mini M4, une bête silencieuse

Et puis il y a quelques semaines, j'ai tout changé. Adios le miniPC, filé à un ami, et place au Mac Mini M4. Ce petit machin tout mignon, complètement silencieux, est une vraie bête de course pour Plex. On parle de quatre à cinq transcodages simultanés sans broncher, avec une sollicitation processeur qui reste sous les 3 à 4%. C'est presque absurde. Le tout en restant frais, sans ventilateur qui se déclenche, sans bruit parasite. Rien. Le silence total.

Pour l'administration, pas besoin d'écran ni de clavier. Tout se fait à distance via l'application Partage d'écran de macOS. Le Mac Mini est branché directement sur ma Livebox, et ça tourne comme une horloge. Et comme bonus, ça me fait un second Mac pour faire des tests quand j'en ai besoin. Pas mal pour une machine qui fait à peine la taille d'une main.

Les SSD Lexar SL500 en remplacement du NAS

Pour compléter le tableau, j'ai déplacé mes données les plus consultées, les films et les séries que ma famille et moi regardons le plus souvent, sur deux SSD SL500 de chez Lexar. Et là, c'est le coup de grâce pour le bruit. Non seulement les ventilateurs ont disparu avec le Mac Mini, mais les vibrations et le ronronnement des disques mécaniques du NAS aussi. Le silence est total. J'ai quand même gardé un NAS Synology en arrière-plan pour stocker les données froides, mon Time Machine et les films que personne ne regarde jamais. Il reste accessible à Plex au cas où, mais il est si peu sollicité qu'on l'entend à peine.

Le résultat, c'est une configuration compacte, silencieuse, et qui gère sans effort tout ce que je lui demande. Le Mac Mini fait tourner Plex comme si de rien n'était, les SSD Lexar offrent des temps d'accès instantanés, et le NAS se contente de dormir dans son coin.

Franchement, si vous êtes du genre à soigner votre setup multimédia à la maison, ce genre de configuration change la vie. Ça a un coût, on ne va pas se mentir, un Mac Mini M4 plus deux SSD externes ce n'est pas donné. Mais le confort au quotidien est incomparable. Plus de bruit, des performances de dingue pour le transcodage, et une machine qui ne chauffe même pas. Si vous avez la possibilité de basculer votre serveur Plex sur un Mac Mini, n'hésitez pas trop longtemps. Moi en tout cas, je ne reviendrais pas en arrière.

Si vous voulez vous équiper, voilà ma config :

Ce détecteur de drones à 15 balles fonctionne avec un simple micro et un ESP32

Par :Korben
24 mars 2026 à 16:35

Un développeur a mis au point un système de détection de drones qui tient dans la main et coûte moins de 15 dollars.

Le projet Batear utilise un microcontrôleur ESP32-S3 et un micro pour repérer les drones par le son de leurs hélices. Le tout est open source et fonctionne sans connexion internet.

Écouter les hélices plutôt que chercher un radar

Le principe de Batear est assez simple en fait. Plutôt que d'utiliser un radar ou une caméra, le système analyse le son ambiant pour y détecter les fréquences caractéristiques des moteurs de drones.

L'algorithme de Goertzel surveille six fréquences précises entre 200 et 4000 Hz, qui correspondent aux harmoniques habituelles des rotors.

Quand l'énergie sonore sur ces fréquences dépasse un certain seuil par rapport au bruit ambiant, le système déclenche une alerte, et le tour est joué.

Tout le traitement se fait en local sur l'ESP32-S3, dans ses 512 Ko de mémoire vive. Pas de cloud, pas de serveur, pas de données qui transitent quelque part. Simple, efficace.

Moins de 15 dollars de matériel

Côté composants, il faut un ESP32-S3 et un micro MEMS ICS-43434 avec interface I2S. Et puis c''est tout. Le micro enregistre le son à 16 kHz, l'ESP32 analyse 512 échantillons toutes les 100 millisecondes, et le système consomme si peu d'énergie qu'il peut tourner sur batterie ou panneau solaire.

Le créateur, qui se fait appeler TN666, a publié l'ensemble du code sur GitHub sous le nom Batear. Il s'est d'ailleurs inspiré des dispositifs acoustiques d'avant l'invention du radar, comme les fameux cornets géants japonais des années 1930 qui servaient à repérer les avions à l'oreille.

Quelques limites quand même

Le projet en est encore à ses débuts. Batear a été testé avec des enregistrements audio de drones, mais pas encore en conditions réelles en extérieur. Le vent, le bruit de fond, la distance et le type de drone sont autant de variables qui peuvent fausser la détection.

Le créateur recommande d'ailleurs d'utiliser une protection en mousse sur le micro pour limiter les interférences du vent. Il envisage aussi d'intégrer des modèles TensorFlow Lite pour améliorer la fiabilité, et invite la communauté à contribuer au projet.

Pour 15 dollars et un peu de soudure, c'est le genre de projet bricolage qu'on a bien envie de tester. Alors bien sûr, ça ne remplacera pas un système anti-drone militaire, mais pour surveiller un jardin ou un terrain privé, ça peut rendre service.

Et puis l'idée de revenir aux bonnes vieilles méthodes acoustiques pour détecter ce qui vole au-dessus de nos têtes, il y a quand même un côté un peu rétro qui ne manque pas de charme, non ?

Source : Hackaday

QMD - Un moteur de recherche local pour vos notes Markdown

Par :Korben
23 mars 2026 à 09:52

Si vous êtes comme votre blogueur préféré (hi hi) et que vous avez des tonnes de fichiers markdown qui traînent dans des dossiers obscurs depuis des années, voici l'outil parfait pour rendre tout ceci à nouveau utilisable dans la vraie vie.

En tout cas, c'est plus pratique qu'un grep !

Ça s'appelle QMD (Quick Markdown Search) et c'est un outil en ligne de commande dispo sur GitHub qui va indexer tout votre bazar de notes pour les rendre consultables rapidement. QMD combine la recherche plein texte classique (BM25) avec de la recherche vectorielle sémantique et du re-ranking via LLM, ce qui veut dire que c'est ultra puissant. On est un peu sur le même principe qu'un RAG en fait puisque l'IA locale est utilisée pour comprendre le sens de votre requête et pas juste chercher des chaînes de caractères bêtes et méchantes. J'utilise depuis un petit moment maintenant un système similaire avec LEANN pour indexer tous les articles de korben.info et retrouver des connexions entre mes contenus, et je peux vous dire que quand on goûte à la recherche sémantique, le bon vieux grep a un goût de carton.

L'outil est même capable de faire de l'expansion de requête (Query Expansion) pour deviner ce que vous cherchez vraiment.

Techniquement, ça tourne avec bun ou npm et ça s'appuie sur node-llama-cpp pour faire tourner des modèles GGUF directement sur votre machine. Tout reste chez vous donc niveau vie privée c'est nickel. C'est un peu la même philosophie que des outils comme Khoj ou Blinko dont je vous ai déjà parlé, mais en version CLI pour le terminal.

L'installation est hyper facile si vous avez déjà Bun, mais prévoyez quand même un peu de place (environ 3 Go) pour les modèles qui iront s'installer au chaud dans ~/.cache/qmd/models/ et installez sqlite si vous êtes sur macOS :

brew install sqlite # Pour macOS
npm install -g @tobilu/qmd

Ensuite, y'a plus qu'à vous créer vos collections en pointant vers vos dossiers, et en lançant l'indexation comme ceci :

qmd collection add ~/mes-notes --name notes
qmd embed # L'étape indispensable pour générer les vecteurs

Et hop, vous pouvez lancer des recherches !!

C'est magique ! Perso, j'utilise presque tout le temps la commande "qmd query" plutôt que "search" parce que le mode hybride est bien plus puissant je trouve. Vous avez aussi "qmd vsearch" si vous voulez une recherche purement sémantique, genre quand vous cherchez un concept sans connaître les mots exacts utilisés dans vos notes. En fait, quand vous tapez une requête, QMD va chercher via les mots-clés, via les vecteurs (le sens), puis fusionner tout ça avec un algo RRF, et refaire passer un petit coup de LLM par dessus pour trier les résultats par pertinence.

Après vous l'aurez capté en me lisant, si vous avez une machine un peu ancienne sans GPU costaud, l'étape de re-ranking risque de prendre un peu de temps... mais c'est le prix de la qualité et de la sécurité ^^.

D'ailleurs, si vous utilisez Claude Desktop ou Claude Code, sachez que QMD intègre également un serveur MCP (Model Context Protocol). Du coup, vous pouvez connecter QMD à Claude et lui permettre d'aller fouiller dans vos notes pour répondre à vos questions. Et bonne nouvelle, QMD propose maintenant un mode HTTP daemon (qmd mcp --http --daemon) qui garde les modèles chargés en mémoire, ce qui évite de les recharger à chaque requête. Attention par contre, dans ce cas précis, les extraits de vos notes seront envoyés à Claude (donc dans le cloud).

QMD est aussi dispo en tant que librairie Node.js (npm install @tobilu/qmd) pour ceux qui voudraient l'intégrer dans leurs propres scripts ou workflows d'automatisation. Avec les options --json et --files en sortie, ça se branche facilement dans un pipeline.

Perso je trouve ça génial parce que ça comble le fossé entre le simple fichier texte et les usines à gaz de gestion de connaissances. Par exemple, si vous êtes un grand adepte de Silverbullet ou d' Obsidian , c'est le top pour l'indexation globale de vos écrits.

Voilà, si vous voulez un moteur de recherche personnel qui en a sous le capot et qui respecte votre vie privée, foncez tester ça.

Source

Strix - Fini la galère des caméras IP sans RTSP

Par :Korben
17 mars 2026 à 15:51

Vous avez des vieilles caméras de surveillance chinoises qui prennent la poussière parce qu'il vous est impossible de trouver leur flux vidéo ? Y'a pas de RTSP, y'a pas de doc, y'a juste un pauvre port 80 ouvert et une app Android en Mandarin qui est périmée depuis 2021 ?

JE VIENS VOUS SAUVER LES ZAMIS ! Eh oui, grâce à Strix qui est capable de tester 102 787 patterns d'URL en 30 secondes et qui vous sort miraculeusement le bon flux vidéo qui marche, avec la config Frigate prête à être collée.

En fait, le principe est simple. Vous lancez un conteneur Docker, vous entrez l'IP de votre caméra et l'outil bombarde en parallèle toutes les URL connues pour ce type de matos. RTSP sur le port 554, MJPEG sur le 8080, snapshots JPEG sur le 80... et 30 à 60 secondes plus tard, vous avez la liste des flux qui répondent avec résolution, FPS et codec H.264 ou H.265.

L'installation tient en une ligne et l'interface web tourne sur le port 4567. Vous entrez l'IP, le login si besoin, et éventuellement le modèle de la caméra IP pour affiner la recherche. Après, même sans modèle, Strix se débrouille avec les 206 patterns les plus courants (sur les 102 787 de la base complète) + la découverte ONVIF . Du coup ça trouve un flux sur à peu près n'importe quoi, du Dahua au Foscam en passant par les marques fantômes d'AliExpress.

Un autre truc vraiment sympa aussi , c'est la génération de config. Vous collez votre fichier frigate.yml existant, même avec 500 caméras dedans, et l'outil ajoute proprement la 501ème sans rien casser ! Il configure automatiquement le flux HD 1080p pour l'enregistrement et le flux 640x480 pour la détection d'objets, le tout passant par go2rtc . Résultat, la conso CPU de Frigate peut carrément passer de 30% à 8%.

Et surtout, l'histoire derrière est assez dingue. Le dev derrière ce projet avait des vieux NVR chinois de 2016 qu'il voulait connecter à Frigate. Après 2 ans à tester toutes les URL possibles... rien. Snif... Tous les ports fermés sauf le 80. À vrai dire, ces machins ne parlaient même pas un protocole connu. Alors il a fini par faire tout ce que fait un vrai bidouilleur quand il est énervé : Sniffer le trafic de l'app Android avec Wireshark !

Et grâce à cela, il a découvert un truc baptisé BUBBLE, tellement obscur que ça n'existe nulle part sur Google ! Cela lui a permis de construire une base de 67 288 modèles issus de 3 636 marques, des Hikvision jusqu'aux trucs sans nom d'AliExpress.

Et quand y'a pas de RTSP du tout (ce qui arrive souvent avec le matos chinois pas cher), l'outil se rabat sur les snapshots JPEG et les convertit en vrai flux vidéo via FFmpeg. C'est pas aussi clean qu'un vrai stream H.264 (et ça saccade un peu à 10 FPS), mais c'est largement suffisant pour de la détection de personnes ou de bagnoles.

Après, sachez-le, ça ne marche qu'avec les caméras présentes sur votre réseau local. Les caméras cloud (Blink, Ring, Xiaomi) ne sont pas supportées. Et aussi, comme on n'est jamais trop prudent d'ailleurs, si vous branchez ce genre de vieux matos chinois, mettez-les dans un VLAN isolé sans accès Internet parce que côté sécurité, c'est la fête du slip sur ce genre de matos : Backdoors, mots de passe en clair sur le port 80, appels serveurs en Chine... va savoir ce qu'elles font quand personne ne regarde.

Strix a même tapé dans l'œil du développeur de Frigate lui-même, qui a invité l'auteur à soumettre une PR officielle pour l'intégrer dans la doc officielle. Eh ben quelle classe ! Ah et y'a aussi un add-on Home Assistant en beta si vous êtes branchés domotique (pas forcément stable, le soft sous Docker reste plus fiable). Strix est écrit en Go, sous licence MIT, y'a une image Docker de 80-90 Mo sur Alpine Linux, avec FFmpeg et FFprobe embarqués, et ça tourne comme un charme sur AMD64 comme sur ARM64 (votre Raspberry Pi 4 suffit).

Bref, allez tester ça, car y'a clairement de quoi sauver pas mal de matos de la poubelle !

YouTube passe aux pubs de 30 secondes impossibles à zapper. Hum… vraiment impossible ?

Par :Korben
11 mars 2026 à 13:16

YouTube déploie des publicités de 30 secondes non désactivables sur son application TV dans le monde entier. Google mise sur l'IA pour choisir le bon format au bon moment. On fait le point, et on vous file les astuces pour retrouver un peu de tranquillité.

Des pubs plus longues, et pas moyen de les couper

Google vient d'officialiser le déploiement mondial de spots publicitaires de 30 secondes sur l'app YouTube pour téléviseurs connectés. Jusqu'à présent, les pubs sur TV pouvaient être zappées au bout de quelques secondes.

C'est terminé. L'IA de Google se charge de sélectionner dynamiquement le format adapté parmi trois options : des bumpers de 6 secondes, des spots classiques de 15 secondes et ces fameux 30 secondes impossibles à passer. 

Des versions de 60 secondes seraient déjà en bêta.

La télé est devenue le premier écran de consommation YouTube aux États-Unis, devant le mobile et le PC. Avec un chiffre d'affaires estimé à 62 milliards de dollars en 2025, YouTube a été désigné "nouveau roi des médias" par le cabinet MoffettNathanson, devant Disney. Google veut rentabiliser cet écran au maximum, et les annonceurs adorent le format salon, plus proche de la pub télé traditionnelle.

Comment bloquer les pubs YouTube en 2026

Sur ordinateur, la solution la plus fiable pour bloquer les pubs et les traqueurs reste Firefox avec uBlock Origin. L'extension fonctionne toujours grâce au support de Manifest V2 par Mozilla, alors que Chrome a coupé les extensions MV2 courant 2025. Brave bloque aussi les pubs YouTube nativement avec son système Shields, sans rien installer.

Sur Android, ReVanced supprime les pubs et ajoute la lecture en arrière-plan, le tout gratuitement. NewPipe et LibreTube font le même travail sans même avoir besoin d'un compte Google.

Côté TV connectées, SmartTube remplace l'app officielle sur Android TV et les anciens Fire Stick, et supprime toutes les pubs. Pour une approche plus radicale, un Pi-hole ou un DNS filtrant comme NextDNS bloque les domaines publicitaires au niveau du réseau, avant même qu'ils n'atteignent vos appareils, pratique.

Et pour ceux qui veulent rester dans les clous et qui en ont les moyens, YouTube Premium c’est 13 euros par mois, et ça vous permettra d’éviter les publicités aussi.

Google pousse ses pubs de 30 secondes sur les TV parce que c'est là que les gens regardent le plus YouTube, et que c'est là que les annonceurs payent le mieux. C’est logique. Sauf que 30 secondes de pub non zappables sur une plateforme qui a bâti son succès sur la gratuité et la souplesse, ça commence à ressembler à de la télé classique, et c’est franchement l’enfer.

Bref, des solutions pour contourner existent, et certains préfèrent carrément télécharger leurs vidéos YouTube pour les regarder sans pub. Vous pouvez y penser si vous en avez marre des spots publicitaires en boucle sur vos écrans.

Source : PC World

❌