Vue lecture

Beats - La drum machine minimaliste

Les boîtes à rythmes physiques des années 90 sont devenues de vraies antiquités... lol. Après moi j'ai grandi avec alors forcément je mesure pas trop l'évolution mais j'imagine des gamins qui découvrent ça... Ça doit être un grand moment de solitude pour eux.

Alors si vous avez toujours rêvé de posséder l'un de ces petits Pocket Operators de chez Teenage Engineering, j'ai ce qu'il vous faut.

Ça s'appelle Beats et c'est une drum machine qui tourne DIRECT dans votre navigateur.

L'interface épurée de Beats ( Source )

C'est développé par Alejandro AR a.k.a @kinduff, et ça utilise Tone.js pour le son et Stimulus.js pour l'interface. Vous avez à votre dispo une grille de 16 pas, un format ultra classique où vous activez / désactivez ensuite des cases pour créer votre propre rythme. Y'a du Kick, de la snare, du hi-hat...etc... tout y est.

Ce qui est cool c'est que vous arrivez sur la page vous cliquez sur "Play Beat" et PAF ça tourne. Vous pouvez modifier le BPM, changer de kit de batterie pour un truc plus trap ou house, lo-fi, boom bap, etc. et même sauvegarder vos créations via une URL pour les partager avec vos potes ou David Guetta ^^.

En tout cas, je trouve que c'est une SUPER porte d'entrée pour ceux qui voudraient comprendre comment fonctionne un séquenceur sans dépenser un rond. C'est visuel et on pige vite la logique de cette grille d'instruments (ce qui est LOIN d'être le cas avec certains DAW très typé usine à gaz pour donner un air intello à votre artiste préféré).

Et puis c'est parfait pour composer quelques idées quand on est loin de son setup habituel, genre si vous êtes au bureau entre 2 réunions Teams. Après faut pas s'attendre à produire un album tout de suite non plus. C'est + pour du prototypage rapide. M'enfin, vu le prix moins cher que gratuit, personne ne va se plaindre je pense ;).

Et si ce genre d'outil vous branche, ça me rappelle Drumbit dont je vous parlais il y a pas longtemps ou encore cet émulateur web Roland TB-303 & TR-808 pour les puristes de l'Acid House.

Ouais je fais genre je m'y connais ^^

Source

  •  

Loopmaster - Faites de musique électro en codant directement dans votre navigateur

Si vous avez déjà vu des vidéos d'algorave, ces soirées où des mecs font danser des foules entières en tapant des lignes de code sur un écran géant, vous savez de quoi je parle. Le live coding musical, c'est hypnotique, c'est technique, et ça donne des résultats sonores assez dingues.

Le problème, c'est que jusqu'ici, pour s'y mettre, fallait souvent s'infuser l'installation de trucs comme Sonic Pi ou TidalCycles . C'est génial, mais faut configurer l'environnement, les serveurs audio, et là, bam, la flemme pointe le bout de son nez. C'est là qu'intervient Loopmaster , un projet passion qui permet de faire exactement la même chose, mais directement dans votre navigateur.

Vous débarquez sur le site, vous écrivez du code, vous appuyez sur Entrée, et ça fait de la musique, en temps réel, sans avoir besoin d'installer quoi que ce soit. Tout se passe sous vos yeux grâce à la magie des APIs audio de votre navigateur. Wololo !

L interface de Loopmaster - sobre et efficace ( Source )

C'est une façon complètement différente d'aborder la création sonore car au lieu de cliquer fébrilement sur des boutons et de manipuler des faders virtuels, vous décrivez ce que vous voulez entendre avec des algorithmes. Un pattern rythmique devient alors une boucle dans votre script, un synthé devient une fonction, et une progression d'accords devient une simple liste de valeurs.

Le truc vraiment cool, c'est que comme c'est du code, vous pouvez faire des choses impossibles autrement. Du genre des patterns qui évoluent mathématiquement, de rythmes générés par des probabilités, ou de textures sonores qui se transforment selon des règles que vous définissez vous-même.

Loopmaster n'est pas le seul sur le créneau, y'a aussi Strudel, mais il a cet avantage d'être hyper accessible pour débuter. Et cerise sur le gâteau pour les producteurs, une fois que vous avez pondu une boucle qui déchire, vous pouvez exporter l'audio pour l'importer ensuite dans votre DAW préféré comme Ableton Live. Nickel pour enrichir vos prods avec des sonorités algorithmiques uniques.

Bref, si vous avez 10 minutes à tuer et que vous voulez vous prendre pour un sorcier du son, allez jeter un œil. Au pire, vous passerez pour un génie incompris auprès de vos collègues en faisant du bruit bizarre, au mieux vous découvrirez une nouvelle passion pour l'algorave.

Et si le sujet vous branche, j'avais déjà parlé de comment coder de la musique avec Sonic Pi ou encore de Polymath pour les plus curieux.

Allez, kiffez bien et faites péter les basses !

  •  

Envmap - Fini les fichiers .env qui traînent et finissent sur GitHub

Devinette du soir : Qu’est-ce qui est pire qu'un secret que vous avez oublié de cacher ?

Réponse : Des dizaines, des millions de secrets qui traînent sur GitHub parce que quelqu'un a eu la flemme de configurer un vrai gestionnaire de variables d'environnement !

Hé oui, les amis ! On a tous fait cette boulette au moins une fois (ou alors vous mentez, ou vous êtes un robot). On crée un petit fichier .env, on oublie de le rajouter au .gitignore, et paf, vos clés AWS se retrouvent à poil. Selon GitHub, c'est plus de 39 millions de secrets qui ont été détectés en fuite sur leurs dépôts en 2024. C'est du délire !

Envmap - Le gestionnaire de variables d'environnement qui tue les fichiers .env ( Source )

Du coup, au lieu de continuer à se farcir du bricolage avec des fichiers qui traînent en clair sur le disque, je vous propose de jeter un œil à Envmap .

C'est un outil écrit en Go dont l'objectif est de réduire au maximum l'écriture de vos secrets sur le disque dur. En mode normal, il va les pomper directement chez les grands manitous du stockage sécurisé comme AWS Secrets Manager, HashiCorp Vault, 1Password ou encore Doppler (même si pour l'instant, certains de ces providers sont encore en cours d'intégration).

Comme ça, au lieu de faire un vieux source .env qui laisse traîner un fichier sensible, vous lancez votre application avec envmap run -- node app.js. L'outil récupère les variables en RAM et les injecte dans le process. C'est propre, c'est net, et ça évite surtout de pousser par erreur votre config sur un repo public.

Pour ceux qui se demandent s'il faut quand même envoyer ses fichiers .env sur GitHub (spoiler : non, jamais !), Envmap propose une commande import pour ingérer vos vieux secrets. Et pour ceux qui ont besoin d'un stockage local, sachez qu'Envmap peut aussi chiffrer vos variables en AES-256-GCM, ce qui est quand même plus sérieux qu'un fichier texte lisible par n'importe qui. Notez aussi qu'il existe une commande sync si vous avez vraiment besoin de générer un fichier .env temporaire.

Perso, ce que je trouve vraiment cool, c'est l'intégration avec direnv. On rajoute une ligne dans son .envrc, et hop, les secrets sont chargés automatiquement quand on entre dans le dossier du projet. C'est magique et ça évite les crises cardiaques au moment du push.

D'ailleurs, si vous voulez aller plus loin dans la sécurisation de vos outils, je vous recommande de lire mon article sur SOPS ou encore ma réflexion sur l'usage de GitLab pour vos projets sensibles.

Bref, c'est open source (sous licence Apache 2.0), et avec ça, vous dormirez sur vos deux oreilles !

  •  

Half-Life 2 - L'histoire du bug d'orteil qui a voyagé dans le temps

Si vous êtes du genre à avoir passé des heures sur Half-Life 2 à vous en retourner les paupières (et je sais que vous êtes nombreux), oubliez tout ce que vous pensiez savoir sur la stabilité légendaire du Source Engine. Car figurez-vous qu'un bug totalement improbable vient de refaire surface grâce à Tom Forsyth, un ancien de chez Valve, et c'est clairement un truc de fou, vous allez voir...

Tout commence en 2013. À l'époque, Valve bosse sur le portage de HL2 pour le tout premier Oculus Rift (le fameux DK1 qui nous donnait tous envie de vomir au bout de 5 minutes). Pour tester la VR, ils se disent que le mieux, c'est de reprendre un bon vieux classique. Tout se passe bien jusqu'à ce que Tom Forsyth reste bloqué dès l'intro du jeu, juste après la séquence de la canette. Un garde Barney censé vous ouvrir une porte reste planté là, et la porte refuse de bouger. Coincé. Rideau. On ferme.

Le truc qu'il constate alors, c'est qu'en recompilant le code source original de 2004, le bug est là aussi ! Pourtant, personne ne l'avait jamais croisé en neuf ans. Du coup, l'équipe a cru à une sorte de malédiction ou à un bug qui aurait voyagé dans le temps pour infecter l'original. (si si...)

Mais après une journée de spéléologie dans les outils de debug, ils ont fini par trouver le coupable : l'orteil d'un garde PNJ ! Le pauvre couillon était placé un millimètre trop près de la porte et en s'ouvrant, la porte tapait dans son pied, rebondissait et se verrouillait. Imaginez un peu la vie du gars, à se faire matraquer l'orteil depuis +20 ans sans pouvoir crier ou se décaler d'un millimètre... Dur !

Mais alors pourquoi ça marchait en 2004 et plus en 2013 ?

Hé bien la réponse tient en deux mots qui vont rappeler des souvenirs aux plus geeks d'entre vous : ✨ virgule flottante ✨.

Car en 2004, le jeu tournait avec les instructions x87 (80 bits de précision, un beau bordel hérité de l'époque)et en 2013, avec le passage au SSE (32 ou 64 bits), les calculs physiques sont devenus plus "stricts". Dans les deux versions, la porte tape l'orteil mais avec le x87, la micro-rotation infligée au garde suffisait à dégager son pied juste assez pour que la porte passe au millième de seconde suivant. Avec le SSE par contre, le garde pivotait un chouïa moins loin... et paf, collision, porte bloquée !

C'est encore une preuve que même dans un chef-d'œuvre comme Half-Life 2, tout ne tient qu'à un orteil et quelques bits. D'ailleurs, si vous voulez vous replonger dans l'ambiance, sachez que Half-Life a fêté ses 25 ans récemment avec une belle mise à jour, et pour les nostalgiques de la VR qui veulent souffrir avec style, le driver VorpX permet toujours de faire des miracles. Ce serait dommage de passer à côté !

Allez, je vous laisse, je vais vérifier si mon gros orteil ne bloque pas ma porte d'entrée.

Source

  •  

LangExtract - La nouvelle pépite de Google pour extraire des données structurées avec l'IA

Il y a des combats comme cela auxquels pas grand monde ne pense et qui pourtant sont très importants. Je parle évidemment de la lutte contre le chaos du texte non structuré. Si vous avez déjà essayé d'extraire des données propres d'un tas de PDF (après OCR), de rapports ou de notes griffonnées, vous voyez de quoi je parle : c'est l'enfer ! (oui j'aime me faire du mal en tentant des regex impossibles).

Heureusement, Google a lâché début janvier 2026 une petite pépite en open source (même si c'est pas un produit "officiel") qui s'appelle LangExtract . C'est une bibliothèque Python qui utilise la puissance des LLM pour transformer vos documents textuels en données JSON bien rangées.

Exemple d'extraction sur le texte de Roméo et Juliette ( Source )

Ce qui fait que LangExtract sort du lot par rapport à d'autres outils comme Sparrow , c'est surtout son système de Source Grounding. En gros, chaque info extraite est directement liée à sa position exacte dans le texte source. Ça facilite énormément la vérification et la traçabilité puisque vous pouvez voir visuellement d'où vient la donnée grâce à un système de surlignage automatique.

Sous le capot, l'outil est optimisé pour les documents à rallonge (le fameux problème de l'aiguille dans une botte de foin). Il utilise des stratégies de découpage de texte et de passes multiples pour améliorer le rappel et s'assurer que le maximum d'infos soit capturé.

La visualisation interactive permet de valider les données en un clin d'œil ( Source )

Et cerise sur le gâteau, il permet de générer un fichier HTML interactif pour visualiser les milliers d'entités extraites dans leur contexte original. À la cool !

Côté installation, c'est hyper fastoche :

pip install langextract

Pour faire le job, vous avez le choix des armes : les modèles cloud de Google (Gemini 2.5 Flash/Pro), ceux d'OpenAI (via pip install langextract[openai]), ou carrément du local avec Ollama . Pas besoin de passer des heures à fine-tuner un modèle, il suffit de fournir quelques exemples structurés via le paramètre examples et hop, c'est parti mon kiki.

Voici à quoi ça ressemble sous le capot pour lancer une machine à extraire :

import langextract as lx

# 1. On définit les règles du jeu
prompt = "Extraire les noms de personnages et leurs émotions."

# 2. On donne un exemple (few-shot) pour guider le modèle
examples = [
 lx.data.ExampleData(
 text="ROMEO. But soft! What light...",
 extractions=[lx.data.Extraction(extraction_class="character", extraction_text="ROMEO", attributes={"emotion": "wonder"})]
 )
]

# 3. On lance l'extraction (nécessite une clé API ou Ollama)
results = lx.extract(
 text_or_documents="votre_texte_brut_ici",
 prompt_description=prompt,
 examples=examples,
 model_id="gemini-2.5-flash"
)

# 4. On sauvegarde et on génère la visualisation HTML
lx.io.save_annotated_documents(results, output_name="results.jsonl")
html_content = lx.visualize("results.jsonl")
with open("view.html", "w") as f:
 f.write(html_content)

Honnêtement, je ne sais pas si ça va remplacer les solutions industrielles de RPA , mais pour un dev qui veut structurer du texte sans se prendre la tête, c'est vraiment impressionnant. Que vous fassiez du Grist ou de l'analyse de données pure, cet outil mérite clairement que vous y jetiez un œil !

Source

  •  

safe-npm - Pour ne plus flipper à chaque 'npm install'

Après l'attaque massive de septembre 2025 qui a vérolé 18 packages ultra-populaires (coucou debug et chalk ) et la campagne Shai-Hulud 2.0 qui a siphonné les credentials cloud de 25 000 dépôts GitHub, on peut le dire, on est officiellement dans la sauce. Surtout si vous êtes du genre à faire un npm install comme on traverse l'autoroute les yeux bandés ! Il est donc temps de changer vos habitudes parce qu'entre les crypto-stealers qui vident vos portefeuilles en 2 heures et les malwares qui exfiltrent vos clés AWS, l'écosystème JavaScript ressemble de plus en plus à un champ de mines.

Le rayon d'action de la campagne Shai-Hulud 2.0 - une véritable moisson de secrets ( Source )

D'ailleurs, beaucoup se demandent comment savoir si un package npm est vraiment sûr. Et la réponse classique, c'est de lire le code de toutes les dépendances. Ahahaha... personne ne fait ça, soyons réalistes. Du coup, on se base sur la popularité, sauf que c'est justement ce qu'exploitent les attaques supply chain en ciblant les mainteneurs les plus influents pour injecter leurs saloperies.

C'est là qu'intervient safe-npm , une petite pépite qui va vous éviter bien des sueurs froides. Cela consiste à ne jamais installer une version de package publiée depuis moins de 90 jours. Pourquoi ? Parce que l'Histoire nous apprend que la plupart des compromissions massives sont détectées et signalées par la communauté dans les premiers jours ou semaines. Ainsi, en imposant ce délai de "quarantaine", vous laissez aux experts en sécurité le temps de faire le ménage avant que le malware n'arrive sur votre bécane.

Et hop, un souci en moins !

La supply chain npm, le nouveau terrain de jeu préféré des attaquants ( Source )

Concrètement, si vous voulez react@^18 et que la version 18.5.0 est sortie hier, safe-npm va poliment l'ignorer et installer la version précédente ayant passé le test des 90 jours.

Pour l'installer, c'est du classique :

npm install -g @dendronhq/safe-npm

Ensuite, vous l'utilisez à la place de votre commande habituelle. L'outil propose des options bien pratiques comme --min-age-days pour ajuster le délai, --ignore pour les packages que vous savez sains (ou critiques), et surtout un mode --strict parfait pour votre CI afin de bloquer tout build qui tenterait d'importer du code trop frais pour être honnête. Y'a même un --dry-run pour voir ce qui se passerait sans rien casser, c'est nickel.

Alors oui, ça veut dire que vous n'aurez pas la toute dernière feature à la mode dès la première seconde. Mais bon, entre avoir une nouvelle icône dans une lib de CSS et voir son compte AWS se faire siphonner par un groupe de hackers russes, le choix est vite fait, non ? Perso, je préfère largement ce filet de sécurité, surtout quand on voit que les attaquants utilisent maintenant Gemini ou Qwen pour réécrire leur code malveillant à la volée afin d'échapper aux antivirus.

Bien sûr, ça ne remplace pas un bon scanner de malware spécifique ou une lecture attentive des vulnérabilités, mais c'est une couche de protection supplémentaire qui coûte rien et qui peut sauver votre boîte. À coupler d'urgence avec les recommandations de la CISA comme la MFA résistante au phishing et la rotation régulière de vos credentials.

Bref, si vous voulez kiffer votre code sans avoir l'impression de jouer à la roulette russe à chaque dépendance ajoutée, safe-npm est clairement un indispensable à rajouter dans votre caisse à outils de dev paranoïaque.

Allez sur ce, codez bien et restez prudents (et gardez un œil sur vos backdoors générées par IA , on sait jamais ^^).

  •  

TranslateGemma - La traduction locale haute qualité par Google

Vous connaissez Gemma ? Bon, hé bien Google vient de remettre une pièce dans la machine avec TranslateGemma , une nouvelle collection de modèles ouverts dédiés exclusivement à la traduction.

Si vous utilisez Google Translate ou DeepL au quotidien, c'est super, ça marche bien, mais ça demande quand même une connexion internet et vos données partent dans le cloud. Donc pour ceux qui veulent garder leurs petits secrets de fabrication (ou juste les lettres d'amour de leur vieille prof de théâtre) en local, c'est souvent un peu la galère.

Ça tombe bien puisque Google DeepMind semble avoir entendu vos prières puisqu'ils viennent de lâcher dans la nature cette suite de modèles basés sur Gemma 3. Et apparemment, ils ont mis le paquet sur l'efficacité.

L'idée c'est de faire tourner de la traduction haute fidélité sur votre propre matériel, peu importe sa puissance. C'est pourquoi TranslateGemma est dispo en trois tailles : 4 milliards (4B), 12 milliards (12B) et 27 milliards (27B) de paramètres pour fonctionner sur tous types de matos.

Le modèle 4B est optimisé pour le mobile et l'edge computing (comprenez "sur des petits appareils"), le 12B est taillé pour tourner tranquille sur un laptop grand public, et le 27B, c'est pour ceux qui ont du GPU costaud (H100 ou TPU) et qui veulent la qualité maximale.

Ce qui est foufou, c'est que le modèle 12B surpasse le modèle Gemma 3 de base en version 27B sur les benchmarks de traduction. En gros, vous avez une qualité supérieure avec un modèle deux fois plus léger. Ils l'ont vraiment optimisé aux petits oignons.

Pour réussir ce tour de force, Google explique avoir utilisé un processus de "distillation" en deux étapes. D'abord, ils ont fine-tuné les modèles sur un mélange de données traduites par des humains et de données synthétiques générées par leurs gros modèles Gemini. Ensuite, ils ont appliqué une phase de Reinforcement Learning (RL) guidée par des métriques de qualité comme MetricX-QE. C'est comme si Gemini apprenait à son petit frère comment bien traduire, en lui tapant sur les doigts quand il se trompe.

Après côté langues, c'est du solide puisque ça fonctionne en 55 langues rigoureusement testées et validées, couvrant la plupart des besoins courants (Français, Espagnol, Chinois, Hindi...). Et ils ont aussi poussé le bouchon encore plus loin en entraînant le modèle sur près de 500 paires de langues supplémentaires. C'est expérimental certes, mais ça ouvre la porte à des traductions pour des langues dites "faibles ressources" qui sont souvent oubliées par les géants de la tech...

Autre point cool, comme c'est basé sur Gemma 3, ces modèles gardent des capacités multimodales. Ça veut dire qu'ils peuvent potentiellement traduire du texte à l'intérieur d'images, même si ce n'était pas le but premier de l'entraînement spécifique TranslateGemma.

Voilà, maintenant si vous voulez tester ça, c'est disponible dès maintenant sur Hugging Face , Kaggle et Vertex AI . Y'a même un notebook ici pour mettre un peu les mains dans le cambouis. Pour les devs qui veulent intégrer de la traduction locale dans leurs apps sans dépendre d'une API payante, c'est donc une option qui mérite vraiment d'être explorée.

Et si le sujet des modèles Google vous intéresse, jetez un œil à mon test de Gemini 2.5 ou encore à PocketPal AI pour faire tourner tout ça sur votre smartphone.

Bref, à tester !

Source

  •  

Passez Claude Code sur le pilote automatique

Si vous utilisez Claude Code (l'outil CLI d'Anthropic qui déboite), vous savez que c'est super puissant pour coder, auditer ou refactoriser des trucs en un clin d'œil. Mais le petit souci, c'est qu'il faut tout le temps être derrière son terminal pour lui dire quoi faire.

C'est là qu'entre en scène un super projet baptisé Claude Code Scheduler .

Développé par un certain jshchnz, ce petit plugin permet tout simplement de programmer Claude afin de pouvoir lui balancer des ordres du genre "fais-moi une review de sécurité tous les jours à 9h" ou "check les dépendances chaque mardi après-midi", et de le laisser bosser tout seul dans son coin. Et ce que j'aime avec ces outils, c'est qu'on lui parle en langage naturel... Pas besoin de s'arracher les cheveux avec la syntaxe obscure des cron jobs. Vous lui dites "Tous les jours de la semaine à 10h du mat" et il comprend direct.

Ce scheduler s'appuie sur les planificateurs natifs de votre système d'exploitation tels que launchd sur macOS, crontab sur Linux et le planificateur de tâches sur Windows. C'est robuste, ça survit aux redémarrages et c'est parfaitement intégré et pour ceux qui s'inquiètent de devoir valider chaque modification à la main, sachez que l'outil gère le mode autonome.

En gros, il utilise le flag --dangerously-skip-permissions de Claude Code pour lui permettre d'éditer des fichiers ou de lancer des commandes sans vous demander la permission à chaque ligne. Forcément, il faut avoir confiance dans vos prompts, mais pour des tâches de maintenance récurrentes, c'est un gain de temps monumental.

Une fois installé, vous aurez alors accès à une panoplie de commandes slash comme /schedule-add ou /schedule-list pour gérer tout ça directement depuis l'interface de Claude. Et bien sûr, tout est loggé proprement dans des fichiers texte pour que vous puissiez vérifier au petit matin ce que l'IA a glandé pendant que vous étiez dans les bras de Morphée.

Voilà, c'est un chouette plugin pour Claude Code et c'est dispo sur Github .

  •  

Installer n8n en 2026 : guide complet des méthodes, hébergeurs et cas d’usage

Découvrez comment installer n8n facilement : méthodes d'installation, comparatif des hébergeurs (Hostinger, HostMyServers), configuration et cas d'usage concrets pour automatiser vos workflows.

💾

Découvrez comment installer n8n facilement : méthodes d'installation, comparatif des hébergeurs (Hostinger, HostMyServers), configuration et cas d'usage concrets pour automatiser vos workflows.
  •  

GitHub - chifflier/mind-your-languages: Languages and security

This collection of examples discussing the question of the intrinsic security characteristics of programming languages. Through illustrations and discussions, it advocates for a different vision of well-known mechanisms and is intended to provide some food for thoughts regarding languages and development tools, as well as recommendations regarding the education of developers or evaluators for secure software.


Permalink
  •  

Git : guide pour débuter et progresser

Découvrez Git, l’outil incontournable pour versionner votre code, collaborer en équipe et sécuriser vos projets, avec des exemples simples et concrets.

  •  

MVC Architecture And Its Pipeline

MVC Architecture organizes applications into Model, View, and Controller components, each serving distinct roles. The MVC pipeline manages requests, routing them through controllers to interact with models and render views, ensuring separation of concerns and streamlined development.


Permalien
  •  

TypeError/secure: Lightweight modern Python library to add security headers (CSP, HSTS, etc.) to Django, Flask, FastAPI, and more. Secure defaults or fully customizable.

Voici un module Python bien pratique pour injecter les entêtes HTTP de sécurité, avec des valeurs par défaut et strictes qui font bien le travail (cf HSTS, COEP, COOP, CSP, Cache-Control, Server, Permissions-Policy, Referrer-Policy, X-Content-Type-Options, X-Frame-Options, et custom).

Et il prend en charge quasiment tous les framework web actuels !


Permalink
  •  
❌