Vue normale

Il y a de nouveaux articles disponibles, cliquez pour rafraîchir la page.
Hier — 25 mars 2026Flux principal

Reverse-SynthID - Le filigrane de Gemini mis à nu

Par : Korben
25 mars 2026 à 16:17

SynthID, le filigrane invisible que Google injecte dans chaque image Gemini, c'était censé être incassable. Sauf qu'un dev a eu l'idée toute bête de générer des images noires et blanches avec Gemini, puis de regarder ce qui restait dans le domaine fréquentiel. Et là, surprise... le watermark est apparu en clair avec toutes ses fréquences porteuses !

Le projet reverse-SynthID documente le truc de A à Z où on comprend en gros, que le marquage IA de Google fonctionne en injectant de l'énergie à des fréquences bien précises dans le spectre de l'image via une transformation de Fourier . Le chercheur a identifié 6 fréquences porteuses principales, toutes avec une cohérence de phase supérieure à 99,9% et la blague, c'est que ce pattern est fixe. Donc pas de message unique par image, pas de clé qui change... c'est juste la même empreinte spectrale sur toutes les images sorties du modèle Gemini.

Spectre FFT du watermark SynthID - les pics lumineux correspondent aux fréquences porteuses identifiées

Du coup, une fois que vous avez profilé cette empreinte avec une cinquantaine d'images PNG de référence (25 noires, 25 blanches, générées via l'API Gemini), vous pouvez faire deux trucs. D'abord, détecter le filigrane avec 90% de précision, sans avoir le moindre accès au code source de Google. Et ensuite le retirer en soustrayant les composantes spectrales identifiées, fréquence par fréquence, tout en préservant la qualité de l'image à plus de 40 dB PSNR. Visuellement identique à l'original !

Et c'est là que la différence avec UnMarker (dont je vous avais parlé) saute aux yeux car ce dernier "secoue" l'image en aveugle pour casser le watermark. Alors que Reverse-SynthID, c'est plutôt scruté à la loupe et hyper ciblé. Résultat, y'a clairement moins de dégradation et un drop de confiance du détecteur.

Les fréquences porteuses reconstruites - la structure diagonale du watermark SynthID

Par contre, je l'ai implémenté en Rust et j'ai essayé de voir si ça marchait vraiment sur mes propres images générée avec Gemini. Hé bien non, car le bypass ne fait PAS chuter la confiance du détecteur de 100 à 0, mais juste de quelques pourcents.

Le watermark est atténué, mais pas effacé. Ce n'est donc pas un outil clé en main pour faire disparaître tous les filigranes SynthID en un clic. Mais le fait qu'une seule personne, avec du Python et du traitement de signal classique (FFT, filtres notch, soustraction spectrale), ait pu reverse-engineerer un système que Google présente comme LA solution anti-deepfakes...

Ça confirme ce que les chercheurs de l'Université de Waterloo avaient déjà démontré : le watermarking d'images IA, c'est pété by design.

D'ailleurs, Google le sait très bien et ils pourraient changer le pattern demain et tout serait à refaire, mais ça confirme surtout que le principe même du watermarking spectral a une date de péremption. Après, ça arrange tout le monde d'avoir un truc à montrer quand les gouvernements demandent "et contre les deepfakes, vous faites quoi ?"

Et si c'est la petite étoile visible en bas à droite des images Gemini qui vous gêne (pas le watermark spectral invisible, juste le marqueur visuel), j'ai développé un outil pour mes Patreons qui s'en occupe.

Bref, tout est sur le repo si le reverse-engineering de watermarks IA, ça vous branche !

Mozilla lance cq : le projet qui veut permettre aux IA de partager leurs connaissances entre elles

25 mars 2026 à 11:12

Tous les jours, les agents IA résolvent les mêmes problèmes en boucle, sans jamais partager ce qu'ils ont appris. Un ingénieur de Mozilla veut y remédier avec cq, un projet open source venu prendre le relais de Stack Overflow, la plateforme similaire délaissée par les humains.

Mozilla lance cq : le projet qui veut permettre aux IA de partager leurs connaissances entre elles

25 mars 2026 à 11:12

Tous les jours, les agents IA résolvent les mêmes problèmes en boucle, sans jamais partager ce qu'ils ont appris. Un ingénieur de Mozilla veut y remédier avec cq, un projet open source venu prendre le relais de Stack Overflow, la plateforme similaire délaissée par les humains.

À partir d’avant-hierFlux principal

Claude Octopus - Faites débattre 3 IA sur votre code

Par : Korben
20 mars 2026 à 12:33

Claude Octopus , c'est un plugin Claude Code qui fait bosser trois IA ensemble sur le même problème. Codex pour l'implémentation, Gemini pour la recherche, Claude pour la synthèse, le tout avec un seuil de qualité à 75% qui bloque ce qui n'est pas au niveau.

En gros, au lieu de faire confiance à un seul modèle GPT ou Gemini, vous en mettez trois en parallèle et le plugin ne valide que si les résultats des trois moteurs convergent suffisamment.

Ça s'installe en deux commandes :

claude plugin marketplace add https://github.com/nyldn/claude-octopus.git
claude plugin install octo@nyldn-plugins

Et ensuite, faites un /octo:setup dans votre terminal et c'est parti.

Le truc fonctionne avec Claude seulement sous macOS, Linux ou Windows dès le départ, donc pas besoin de configurer Codex ou Gemini pour démarrer. Il vous guidera pour ça ensuite.

Le plugin embarque 39 commandes, 32 personas spécialisées (par exemple un auditeur sécu qui pense en OWASP, un architecte backend pour les API REST, un designer UI/UX basé sur BM25...etc) et 50 skills. Tout ça s'active ensuite automatiquement selon votre prompt. Vous tapez "wesh audite mon API ma gueule" dans votre terminal zsh et c'est le bon expert qui débarque. Et si vous ne savez pas quelle commande taper, /octo:auto fait le tri pour vous. C'est très pratique.

Le workflow principal suit la méthode Double Diamond (discover, define, develop, deliver) avec des quality gates entre chaque phase. Du coup un bout de code bâclé ne peut pas avancer au stade suivant. Pour les plus flemmards, y'a même un "Dark Factory Mode" qui prend un fichier Markdown en entrée et vous sort du code testé avec un score de satisfaction. Comme ça, vous n'avez qu'à relire que le rapport final au lieu de valider chaque PR manuellement.

Sous le capot, l'orchestrateur écrit en Bash lance Codex CLI et Gemini CLI en parallèle pour la recherche, puis Claude Sonnet 4.6 synthétise les deux réponses. Forcément, trois modèles en parallèle c'est plus lent qu'un seul donc faut compter 30 à 60 secondes par requête. Déso pas déso ^^.

Et pour la revue de code, c'est carrément, pardonnez-moi l'expression, "adversarial" puisque ce sont 4 agents (Codex logique, Gemini sécu, Claude archi, Perplexity pour les CVE ) qui postent des commentaires inline sur vos PR GitHub et y'a ensuite un "reaction engine" qui auto-répond aux échecs CI et aux review comments.

Ce projet c'est quasi l'œuvre d'un seul développeur dévoué et sa vélocité de développement est dingue... Ça vibe code à donf quoi ^^.

C'est gratuit, open source, par contre, chaque provider facture ses tokens normalement, du coup en mode multi-IA vous consommez mécaniquement 3× plus qu'avec Claude tout seul. Après si vous avez déjà un abonnement ChatGPT Plus ou Google AI Pro, les providers passent par OAuth sans clé API supplémentaire, donc ça sera inclus dans votre forfait.

Pour ceux qui utilisent déjà des plugins Claude Code au quotidien ou qui font tourner leurs agents dans des sandbox isolées , c'est le genre d'outil qui mérite un détour.

Bref, trois cerveaux valent mieux qu'un... reste à voir si besoins valent tout ce bordel à configurer !

Voicebox - Clonez des voix en local sans passer par le cloud

Par : Korben
20 mars 2026 à 12:22

Si vous cherchez un moyen de faire du clonage vocal en local sans filer vos fichiers audio à un service cloud, Voicebox devrait vous plaire. C'est un studio de synthèse vocale open source et gratuit qui tourne entièrement sur votre machine, et qui n'a rien à envier à ElevenLabs.

Concrètement, vous téléchargez l'app (dispo macOS, Windows et Docker), vous importez un extrait audio d'à peine 3 secondes minimum et hop, la voix est clonée. Pas besoin de compte, pas de limite d'utilisation, pas de "crédits" qui fondent comme neige au soleil !

Voicebox embarque 5 moteurs TTS différents plutôt que de tout miser sur un seul. Par exemple, Qwen3-TTS gère 10 langues avec des instructions en langage naturel du genre "parle lentement" ou "chuchote". Chatterbox Multilingual couvre 23 langues, de l'arabe au swahili en passant par le finnois.

LuxTTS lui est ultra-léger... genre 1 Go de VRAM et 150x plus rapide que le temps réel même sur CPU (anglais uniquement par contre) ! Et avec Chatterbox Turbo, vous pouvez injecter des tags comme [laugh], [sigh] ou [gasp] directement dans le texte pour que la voix rigole ou soupire à la demande (anglais aussi). Franchement, c'est pas mal du tout.

Tenez voici ce que ça donne avec ma voix (J'ai utilisé Qwen3)

Et pour ceux qui aiment bidouiller, y'a une API REST complète sur localhost:17493. Du coup, on peut intégrer la synthèse vocale dans ses propres scripts, automatiser la génération de podcasts ou monter un pipeline perso avec ffmpeg. Parce que bon, avoir un moteur vocal sans pouvoir l'utiliser dans ses projets, ça n'a pas d'intérêt.

Côté post-production, 8 effets audio sont dispos (pitch shift, reverb, delay, chorus, compression...) propulsés par pedalboard, la lib audio de Spotify. On peut aussi sauvegarder des presets et les appliquer par profil vocal. Y'a même un éditeur multi-pistes pour composer des conversations ou des narrations avec plusieurs voix sur une timeline.

Attention par contre, le projet est assez récent (c'est sorti en janvier) et côté Linux, y'a pas encore de binaires pré-compilés, faudra donc compiler from source mais je sais que vous adorez ça, les barbus ^^. Et le problème avec 5 moteurs différents, c'est que chacun a ses propres dépendances, donc ça prend pas mal en espace disque.

Sous le capot, c'est codé en Rust, ça utilise Tauri (pas Electron) car personne ne veut un genre de Chromium de 500 Mo pour lancer un simple outil audio. Sur Mac Apple Silicon, l'inférence passe par MLX et le Neural Engine et sur Windows et Linux, c'est CUDA, ROCm pour AMD, DirectML et même Intel Arc. D'ailleurs si vous voulez exploiter l'IA locale sur Mac pour d'autres usages, les Foundation Models d'Apple s'y prêtent aussi.

Si vous avez déjà joué avec MLX-Audio pour faire de la synthèse vocale en ligne de commande, Voicebox c'est finalement la version "app complète" avec interface graphique, gestion de profils vocaux et file d'attente de génération. C'est un peu le Ollama de la voix.

Voilà, si le clonage vocal en local vous branche, c'est sous licence MIT, c'est gratuit et ça tourne nickel ! Ah et si vous êtes un escroc qui cherche à cloner des voix pour arnaquer des gens, sachez que je viens de vous jeter un mauvais sort à travers la lecture de cet article. Attendez-vous à avoir des cheveux qui vous poussent sur la langue et des verrues dans les yeux, d'ici quelques semaines.

Merci à Lorenper pour la découverte.

Déployez VERT : le convertisseur de fichiers privacy first et open source

19 mars 2026 à 18:01

VERT est un convertisseur de fichiers (mp3, mp4, doc, webp, epub...) qui mise sur la protection des données et qui est auto-hébergeable facilement.

Le post Déployez VERT : le convertisseur de fichiers privacy first et open source a été publié sur IT-Connect.

Self-Hosted – ConvertX, le convertisseur de fichiers universel (1000+ formats)

19 mars 2026 à 18:00

ConvertX est une application open source et auto-hébergeable capable de convertir des fichiers dans plus de 1 000 formats différents. Voici comment l'installer.

Le post Self-Hosted – ConvertX, le convertisseur de fichiers universel (1000+ formats) a été publié sur IT-Connect.

Betterleaks : le nouveau scanner de secrets open source qui succède à Gitleaks

19 mars 2026 à 14:53

L'outil open source Betterleaks, digne successeur de Gitleaks, offre une détection plus précise et rapide des secrets dans vos dépôts Git.

Le post Betterleaks : le nouveau scanner de secrets open source qui succède à Gitleaks a été publié sur IT-Connect.

Peon Ping - Donnez de la voix à vos agents IA

Par : Korben
19 mars 2026 à 15:12

"Something need doing ?" Si cette réplique vous file un frisson nostalgique, alors vous allez adorer Peon Ping !!

Il s'agit d'un outil CLI open source qui joue des voix de personnages de jeux vidéo quand vos agents IA ont besoin de votre attention. Vous lancez Claude Code, vous passez sur autre chose, et le moment venu, un peon de Warcraft III vous gueule "Work complete!" quand c'est terminé.

Concrètement, ce truc s'intercale via des hooks entre vous et votre IDE, comme ça, chaque événement (démarrage de session, fin de tâche, erreur, demande de permission) déclenche une réplique différente. Du coup le peon dit "Something need doing?" quand l'agent attend un input, et "I can't do that!" quand y'a une erreur.

Ça marche avec Claude Code, Cursor, Codex, et une dizaine d'autres outils (Kiro, Windsurf, Copilot, Gemini CLI, OpenCode, Antigravity, Rovo Dev CLI...), tout ça livré avec plus de 160 packs sonores dans 14 langues, de GLaDOS à StarCraft en passant par Zelda, Red Alert 2 ou Team Fortress 2.

Installation

Deux options principales. La plus propre, via Homebrew :

brew install PeonPing/tap/peon-ping

Sinon, le bon vieux curl :

curl -fsSL https://raw.githubusercontent.com/PeonPing/peon-ping/main/install.sh | bash

Et pour Windows, y'a un script PowerShell :

Invoke-WebRequest -Uri "https://raw.githubusercontent.com/PeonPing/peon-ping/main/install.ps1" -UseBasicParsing | Invoke-Expression

Par défaut, l'installeur télécharge 5 packs (Warcraft, StarCraft, Portal). Si vous voulez tout d'un coup :

curl -fsSL https://raw.githubusercontent.com/PeonPing/peon-ping/main/install.sh | bash -s -- --all

Attention par contre, sous WSL2, il faudra installer ffmpeg au préalable pour lire les formats audio autres que WAV.

Configuration

Une fois installé, lancez le setup :

peon-ping-setup

Ça détectera votre environnement, configurera les hooks et téléchargera les packs sonores en local. Ensuite, dès votre prochaine session Claude Code, vous entendrez un joli "Ready to work?" au démarrage.

Maintenant, si Warcraft c'est pas votre truc et que vous voulez changer de voix, genre passer à GLaDOS (une IA qui vous insulte pendant que vous codez avec une IA... ahahah), ça se fait en une commande :

peon packs use glados

Vous pouvez binder un pack à un dossier spécifique avec peon packs bind glados, comme ça, chaque projet a sa propre ambiance sonore, et si vous êtes du genre à aimer les trucs en français, il y a aussi des packs dans la langue du roi Arthur.

Moi j'en ai rien à foutre, j'installe les packs Age of Empires + Red Alert ou rien !!

Les commandes utiles

Tout passe par la commande peon :

peon status # Vérifier si c'est actif
peon volume 0.7 # Régler le volume
peon pause # Couper le son (réunion...)
peon resume # Remettre le son
peon packs list # Voir les packs installés
peon packs next # Passer au pack suivant
peon preview # Écouter un aperçu

Petit détail bien pensé, le système de "no repeats" fait qu'il ne jouera jamais le même son deux fois de suite dans la même catégorie. Et vous pouvez activer/désactiver chaque catégorie individuellement (greeting, acknowledge, complete, error, annoyed) si y'a des sons qui vous cassent les pieds.

En bonus, le terminal affiche le nom du projet et son statut dans le titre de l'onglet, avec un petit point indicateur quand c'est terminé. De grosses bannières desktop s'afficheront aussi quand un événement se produit, même si vous êtes sur une autre app.

Et si vous bossez en SSH ou dans un devcontainer, y'a un mode relay qui renvoie l'audio sur votre machine locale via peon relay --daemon. Pas mal du tout, hein ?

Le mode Peon Trainer

Maintenant, c'est là que ça part complètement en cacahuète car Peon Ping intègre un mode fitness qui vous rappelle de faire des pompes et des squats pendant que vous codez. L'objectif : 300 reps par jour, rien que ça !!

Dès que vous ouvrez une session, le Peon vous accueille avec un "Pushups first, code second! Zug zug!". Ensuite, toutes les 20 minutes environ, il vous relance. Et si vous ignorez, ça escalade jusqu'à "You sit too long! Peon say do pushups NOW!".

Pour logger vos reps en pleine session de code, pas besoin de quitter le terminal :

peon trainer on # Activer le mode trainer
/peon-ping-log 25 pushups # Logger 25 pompes
/peon-ping-log 30 squats # Logger 30 squats

Quand vous atteignez les 300, le Peon célèbre avec un "THREE HUNDRED! Human strong like orc now!" et vous laisse tranquille pour le reste de la journée. Pas mal comme incentive pour bouger un peu entre deux refactorisations, non ?

Pour ceux qui utilisent Claude Code au quotidien , y'a aussi un serveur MCP intégré qui permet à l'agent de choisir lui-même quel son jouer. L'agent qui communique en répliques de Warcraft... on vit une époque formidable ! Et si vous voulez aller plus loin, Claude Octopus permet carrément d'orchestrer plusieurs IA en parallèle.

D'ailleurs, les plus motivés peuvent carrément créer leurs propres packs via openpeon.com . Le format suit la spec ouverte CESP (Coding Event Sound Pack), comme ça n'importe quel IDE peut l'adopter.

Le Peon Pet

Et le truc le plus mignon du projet c'est ce petit orc animé qui squatte un coin de votre écran. Ce Peon Pet réagit en temps réel aux événements de Claude Code. Il dort quand rien ne se passe, se réveille au démarrage d'une session, tape frénétiquement du clavier quand l'agent bosse, et fait sa danse de la victoire quand la tâche est terminée. C'est du Electron + Three.js, le tout en open source bien sûr.

En résumé, c'est votre Tamagotchi de développeur, sauf qu'au lieu de le nourrir, c'est lui qui vous engueule pour bosser.

Voilà, si checker votre terminal toutes les 30 secondes pour voir si Claude Code a avancé dans sa life, ça vous saoule, c'est le genre de petit outil con mais génial qui change la vie.

Zug zug !

Widelands - Le Settlers II open source fêtera cette année ses 24 ans de dev

Par : Korben
18 mars 2026 à 09:25

Settlers II, ce jeu de stratégie où vous passiez des heures à regarder vos petits bonhommes transporter des planches de bois sur des chemins de terre est quelque part, toujours vivant puisqu'il y a des devs qui bossent sur un jeu open source équivalent depuis 2001. Ça fait + de 24 ans et le résultat vaut carrément le coup d'œil.

Le projet s'appelle Widelands , c'est un jeu de stratégie en temps réel sous licence GPL-2.0, dispo sur Windows, macOS 11+ (j'ai dû le débloquer avec Sentinel comme d'hab) et Linux (AppImage, Flatpak, PPA Ubuntu). On y retrouve de la gestion de mines d'or et de fer, de la construction de scieries et de casernes en pierre, des chaînes de production complètes avec des forgerons qui tapent sur l'enclume, des bûcherons qui abattent des chênes et des fermiers qui récoltent du blé...etc. Tout pareil sur Settlers II donc sauf que là c'est gratuit, c'est libre, et ça tourne même sur des machines pas toutes jeunes.

Dans Widelands, vous avez 5 tribus jouables, les Barbarians, l'Empire, les Atlanteans, les Frisians et les Amazons, chacune avec ses bâtiments spécifiques et ses arbres de technologies. Y'a des campagnes solo avec des tutoriels intégrés, un mode multijoueur en ligne et un éditeur de cartes.

Sous le capot, c'est du C++ compilé avec CMake et du Lua pour le scripting des campagnes et de l'IA. Du coup si vous voulez bidouiller, hop vous clonez le repo depuis GitHub et vous suivez le guide de compilation du wiki (y'a des dépendances SDL2, Boost, ICU à installer avant). C'est pas forcément facile car le code source fait plusieurs centaines de milliers de lignes mais heureusement, y'a un système d'add-ons qui vous permettra d'installer des cartes et des mods sans toucher au compilateur, genre un Steam Workshop du pauvre (mais en mieux parce que c'est ouvert).

Screenshot

Et ce projet est bien vivant avec plusieurs commits par jour. La communauté discute sur IRC (#widelands sur LiberaChat) et sur Discord et fait amusant, l'équipe a officiellement refusé toutes les contributions générées par IA parce que ça pose notamment pas mal de soucis de copyright. Après pour un projet construit avec amour depuis deux décennies par des bénévoles en chair et en os, je trouve ça plutôt sain.

Voilà, si vous aimez les clones open source de jeux cultes , celui-là ça vaut le coup.

Bon jeu !

Un drone imprimé en 3D qui file à 108 km/h grâce à un ESP32

Par : Korben
16 mars 2026 à 12:57

Un YouTubeur bricoleur a fabriqué un micro-drone de 136 grammes capable de filer à 108 km/h, le tout pour environ 155 dollars de composants et une imprimante 3D. Le petit engin baptisé ESP-Blast tient dans la main, utilise un microcontrôleur ESP32 à quelques dollars et un châssis en plastique PETG. Le créateur compte partager tous les fichiers en open source pour que chacun puisse le reproduire.

Un drone qui tient dans la main

Le créateur, connu sous le nom de Max Imagination sur YouTube, s'est inspiré de deux équipes qui se disputent le record du drone RC le plus rapide au monde, avec des vitesses qui dépassent les 660 km/h. Son objectif à lui était plus modeste : construire un drone de poche performant avec des composants accessibles à tous.

Le résultat, c'est l'ESP-Blast, un quadcoptère en forme de balle qui décolle à la verticale avant de basculer en vol horizontal. Le châssis est imprimé en PETG sur une Elegoo Neptune 4 Plus et ne pèse que 40 grammes, nez et queue compris.

155 dollars de composants

Côté motorisation, on retrouve quatre moteurs brushless 1104 avec des hélices tripales de 2,5 pouces, pilotés par des variateurs de 8 ampères. Le circuit imprimé a été conçu par Max lui-même dans le logiciel Flux, pour moins de 8 dollars. Il embarque un ESP32 avec accéléromètre, gyroscope, magnétomètre, baromètre et GPS. Le logiciel de vol, c'est du Betaflight en version 10.10.

Une caméra FPV motorisée à l'avant bascule automatiquement selon le mode de vol et transmet en 5,8 GHz la vitesse, la tension batterie et le nombre de satellites. La batterie LiPo 3S de 450 mAh offre environ 5 minutes de vol, ou 2 minutes à fond et 8 en mode tranquille. La portée Wi-Fi de l'ESP32 plafonne à environ 200 mètres. Le budget total tourne autour de 155 dollars, et on peut même descendre à 110 dollars en retirant quelques capteurs.

Un projet open source

Max prévoit de partager les fichiers 3D et les tutoriels pour que d'autres puissent reproduire ou améliorer le drone. Le projet a demandé pas mal d'assemblage, de tests, de crashs et de réparations avant d'atteindre les 108 km/h en vol.

Il annonce déjà de futures versions pour pousser les performances encore plus loin, et ce n'est visiblement pas son premier essai puisqu'il avait déjà conçu l'ESP-Fly, un micro-drone encore plus petit contrôlable depuis un smartphone.

Pour 155 dollars et un peu de patience, on obtient un drone qui va plus vite que pas mal de modèles du commerce, et qui pèse à peine plus qu'un smartphone. Le fait que tout soit open source et imprimable en 3D rend le projet encore plus intéressant pour les bidouilleurs.

Avec quelques limites quand même, 200 mètres de portée en Wi-Fi et 5 minutes d'autonomie, ça limite un peu l'usage à des vols de démonstration. Mais pour un projet à base d'ESP32 à 3 dollars la puce, les 108 km/h sont impressionnants.

Sources : Techspot , TechEBlog

Open DroneLog - Vos logs de drone restent chez vous

Par : Korben
16 mars 2026 à 12:27

Si vous pilotez un drone DJI, vos logs de vol finissent probablement sur Airdata ou un service cloud du même genre. En gros ce sont des trucs qui aspirent vos trajectoires GPS, vos altitudes en mètres, vos tensions de batterie en millivolts... et qui stockent tout ça sur des serveurs quelque part dans le cloud. Ouais, bof.

Eh bien Open DroneLog , c'est exactement l'inverse à savoir un carnet de vol open source qui garde tout en local, dans une base DuckDB (une base de données embarquée ultra-légère) sur votre machine.

Avec cet outil, vous importez vos fichiers .txt DJI (tous les modèles : Mini, Mavic, Air, Phantom...), les CSV de l'app Litchi, ou même les exports Airdata, et hop, le logiciel mouline tout ça pour vous afficher vos vols sur une carte 3D interactive avec le replay de la trajectoire. Vous pouvez alors accélérer jusqu'à x16, voir la télémétrie en temps réel (altitude, vitesse, signal RC, tensions des cellules de batterie) et même visualiser les mouvements des joysticks.

Pas mal donc pour comprendre pourquoi votre Mavic a décidé de faire un plongeon kamikaze ce jour-là !

Visualisation 3D d'une trajectoire de vol dans Open DroneLog

Un truc bien pensé dans l'appli, c'est l'auto-tagging car le logiciel détecte automatiquement les vols de nuit, les passages à haute vitesse, les situations de batterie froide... et colle des étiquettes sur chaque vol sans que vous ayez à lever le petit doigt. Pour ceux qui se demandent à quoi ça sert de tenir un journal de vol, disons que le jour où l'aviation civile vous pose des questions sur vos habitudes de pilotage, avoir un historique propre de tous vos vols avec coordonnées et télémétrie, ça peut clairement vous sauver la mise (surtout si vous volez près de zones sensibles).

Côté déploiement, vous avez le choix : app desktop (Windows, macOS, Linux), image Docker pour l'auto-héberger, ou la webapp pour tester sans rien installer. Le Docker est clairement le meilleur choix parce que vous pouvez monter un dossier de logs et configurer une synchro automatique via cron. Genre, votre drone se pose, vous branchez la carte SD sur le NAS, copiez les fichiers .txt dans le dossier monté, et l'import se fait tout seul toutes les 8 heures. Ça tourne même sur un Raspberry Pi !

D'ailleurs, ça me rappelle l'époque lointaine où on construisait son propre drone dans le garage.

Les graphiques de télémétrie : altitude, vitesse, batterie, tout y passet'as anal

Le géocodage inversé (qui transforme vos coordonnées GPS en noms de lieux) se fait hors-ligne donc c'est top pour la vie privée et d'ailleurs, si le sujet vous parle, le projet OwnTracks applique la même philosophie à la géolocalisation perso.

Le logiciel gère aussi les profils multiples (pratique si vous avez plusieurs pilotes ou flottes), le suivi de la santé des batteries avec historique des cycles, la maintenance avec seuils configurables, et l'export dans à peu près tous les formats imaginables : CSV, JSON, GPX, KML. Y'a même un générateur de "FlyCards" pour partager vos stats de vol sur les réseaux en format 1080x1080 ! Et le tout est traduit en 11 langues, dont le français.

Le projet est sous licence AGPLv3, et pour l'instant c'est DJI-only (pas de Parrot ni Autel en natif). Bref, si vous cherchez un carnet de vol drone qui ne balance pas vos coordonnées GPS dans le cloud, c'est tout trouvé !

Dorso - L'app Mac qui floute votre écran quand vous faites le dos rond

Par : Korben
16 mars 2026 à 11:20

En ce moment, j'ai une sciatique qui me rend dingue ! Du coup, entre deux grimaces sur ma chaise de bureau ergonomique, je me suis retrouvé à chercher des trucs pour améliorer ma posture devant l'écran... et je suis tombé sur Dorso, une petite app macOS qui surveille votre posture en temps réel et qui floute progressivement l'écran quand vous commencez à vous avachir.

Ainsi, votre Mac vous punit si vous vous tenez mal ! Vous lancez l'app, vous vous asseyez bien droit devant votre clavier, vous cliquez sur le bouton de calibration (aïe, mes vertèbres), et ensuite Dorso surveille votre position via la webcam de votre MacBook ou iMac grâce au framework Vision d'Apple.

Dès que votre tête commence à piquer du nez, l'écran se floute. Plus vous "slouchez", plus c'est flou. Du coup, soit vous vous redressez, soit vous bossez dans le brouillard comme un moine copiste myope. En tout cas, c'est un rappel visuel assez radical pour penser à bouger régulièrement.

Sauf que la webcam, c'est pas le seul mode de détection. Si vous avez des AirPods Pro, Max ou 3e génération, Dorso peut utiliser les capteurs de mouvement de vos écouteurs pour détecter l'inclinaison de votre tête. Pas besoin de caméra, pas besoin de lumière... vos AirPods deviennent votre "coach posture" et quand vous les retirez des oreilles, l'app se met en pause toute seule. Par contre, attention, le mode AirPods nécessite macOS 14 minimum et l'autorisation "Motion & Fitness Activity" dans les réglages Confidentialité.

Côté vie privée, tout se passe en local sur votre machine. Aucune image n'est enregistrée, aucune donnée ne quitte votre Mac. Le flux vidéo de la webcam est traité en temps réel puis immédiatement supprimé et pour le flou, l'app utilise une API privée de CoreGraphics pour agir au niveau système, ce qui permet de flouter tous vos écrans d'un coup si vous avez un setup multi-moniteurs.

L'installation, c'est un brew install --cask dorso et hop, c'est réglé. Au premier lancement, il faudra autoriser l'accès caméra (mode webcam) ou Motion & Fitness (mode AirPods) dans les Réglages Système.

L'app se loge ensuite dans la barre de menu à côté de l'icône Bluetooth et vous pouvez régler la sensibilité sur 5 niveaux via un petit panneau de préférences. Y'a même une "dead zone" configurable pour que ça ne se déclenche pas au moindre mouvement de tête (genre quand vous regardez votre téléphone 2 secondes). Sans cette dead zone, la moindre gorgée de café vous vaut un écran tout flou, donc c'est indispensable !!

L'app s'appelait "Posturr" à l'origine mais une app iOS portait déjà ce nom et comme c'est complétement FDP de voler le nom des autres, il a trouvé un autre nom en lançant 30 agents Claude en parallèle pendant une heure... mais pour rien puisque c'est finalement lui qui a trouvé "Dorso" (Claude avait suggéré "Posturn", bof quoi). Comme quoi, même avec 30 IA qui bossent pour vous, le cerveau humain a encore son mot à dire !!

Perso, vu l'état de mon dos en ce moment, mon bureau debout ne suffit plus. Alors attention, un médecin me faisait remarquer à juste titre que "se tenir droit" n'est pas vraiment la solution miracle contre le mal de dos... la recherche montre depuis des années que c'est surtout le mouvement et l'activité physique qui comptent. Dorso ne remplacera jamais un bon kiné (qui soit dit en passant, ne coûte pas 60 balles la séance... ça c'est plutôt le tarif d'un ostéo). Mais comme rappel pour lever les yeux de l'écran et bouger un peu, c'est pas mal du tout. L'app tourne sous macOS 13+ (Intel et Apple Silicon), c'est sous licence MIT, et c'est gratuit !

Bref, y'a plus qu'à bouger. Enfin... à essayer.

Mise à jour : Merci à Matthieu, médecin généraliste spécialisé dans le mal de dos chronique, qui m'a rappelé que la posturologie (l'idée que se tenir droit prévient le mal de dos) n'a pas de base scientifique solide et peut même être contre-productive. Si le sujet vous intéresse, allez écouter le podcast Le temps d'un lapin , fait par une équipe de kinés qui démontent pas mal d'idées reçues là-dessus.

notebooklm-py - L'API Python que Google refuse de sortir

Par : Korben
16 mars 2026 à 09:46

Google n'a jamais sorti d'API publique pour NotebookLM , son outil qui transforme vos documents en podcasts, quiz et autres résumés grâce à l'IA. Pas de SDK, pas de CLI, y'a rien du tout alors on est tous triiiiiste. A peine juste une interface web avec ses boutons moches et ses menus déroulants, mais impossible à scripter ou à intégrer dans le moindre pipeline bash.

Mais un dev bien inspiré a reverse-engineeré les endpoints REST internes et a pondu notebooklm-py, une lib Python de 168 Ko qui fait tout ce que le web UI refuse de faire. Franchement, c'était pas trop tôt ! Vous en avez rêvé, lui l'a fait !

Un pip install notebooklm-py et voilà, vous avez accès à toute la machinerie Notebook LM à savoir : créer des notebooks, injecter des sources (URLs, PDF, vidéos YouTube, fichiers Google Drive, documents Word, images PNG), poser des questions à vos docs, et surtout générer du contenu... podcasts audio en MP3, vidéos explicatives en MP4, quiz, flashcards, slides en PPTX, infographies en PNG, mind maps en JSON.

Carrément dingue ! Et tout ça pilotable depuis votre terminal zsh ou en script Python async.

En fait, le vrai bonus c'est que la lib déverrouille des fonctionnalités que l'interface web ne propose même pas comme télécharger tous vos podcasts d'un coup en batch au lieu de cliquer un par un sur chaque fichier MP3, exporter vos 50 flashcards en JSON structuré au lieu de juste les afficher à l'écran ou encore récupérer vos slides en PPTX éditable plutôt que le PDF figé.

Ce genre de features, on avait fini par accepter que Google s'en fiche mais pourtant, extraire l'arbre complet d'une mind map en JSON pour la balancer dans D3.js ou Mermaid... clairement c'est un truc que Google aurait dû proposer depuis le début !

Côté CLI, c'est propre. Vous vous authentifiez une fois via notebooklm login (ça ouvre Chromium via Playwright pour choper les cookies de session Google), puis vous enchaînez les commandes.

notebooklm create "Ma Recherche" pour créer un notebook vide,

notebooklm source add ./mon-rapport.pdf pour balancer vos fichiers,

notebooklm generate audio "rends ça punchy" --wait pour lancer la génération de podcast,

et notebooklm download audio ./podcast.mp3 pour récupérer le MP3 sur votre disque.

On peut même éditer ses slides individuellement avec des prompts en langage naturel, du genre "ajoute un graphique sur cette slide-là" !

Pour ceux qui veulent brancher ça dans leurs pipelines, y'a comme je le disais l'API Python async complète. Vous pouvez donc monter un petit cron qui ingère vos derniers bookmarks le vendredi soir, et génèrer un résumé audio de 5 minutes, puis balancer le MP3 directement sur votre NAS Synology.

D'ailleurs, si vous avez déjà joué avec des outils pour booster votre productivité avec l'IA , c'est un peu dans la même veine... sauf qu'ici on tape directement dans les tripes des serveurs Google, sans intermédiaire. Ça tourne avec du Python, et y'a même un mode "agent" (un skill en fait) pour brancher ça dans Claude Code ou Codex. Pas mal, hein ?

Le fait que ça gère aussi la recherche web et Drive avec import automatique des résultats dans vos notebooks, c'est top, un peu comme Oboe qui génère des cours complets via IA , mais en version terminal. Et surtout, pas d'abonnement mensuel à payer, c'est votre propre compte Google qui fait tourner la machine.

Bien sûr, ça reste du reverse-engineering d'APIs non-documentées de Google, ce qui fait que les endpoints REST peuvent changer du jour au lendemain et tout péter. Le projet le dit clairement, c'est plutôt taillé pour du prototypage, de la recherche ou des projets perso et SURTOUT PAS pour de la prod sur un serveur Nginx en front avec 10 000 utilisateurs prêts à ruer dans les brancards en cas de panne.

Et puis faut quand même s'authentifier via un vrai compte Google avec Playwright et Chromium, donc pas question de faire tourner ça sur un serveur headless sans un minimum de config.

Bref, tant que Google ne coupe pas ses endpoints, c'est open bar.

Profitez-en !

OpenRAG - Le RAG clé en main qui vous évite 3 jours de galère

Par : Korben
16 mars 2026 à 09:19

Monter un pipeline RAG, c'est un peu le parcours du combattant... entre le choix de la base vectorielle, le modèle d'embedding, l'orchestrateur, le parser de documents, vous en avez pour des heures de config avant de pouvoir poser la moindre question à vos PDF.

Mais c'était sans compter sur OpenRAG qui emballe tout ça dans un seul paquet prêt à l'emploi !

En gros, c'est un package open source (Apache 2.0) qui vous colle un orchestrateur visuel, un moteur de recherche vectorielle et un parser de documents hyper costaud, le tout déjà branché ensemble. Bon, dit comme ça, on dirait juste un assemblage de trucs existants... sauf que l'architecture est propre (FastAPI derrière, Next.js devant) et que tout est câblé d'entrée.

L'installation tient en une commande : uv run openrag (il vous faudra Python 3.10+ et uv, le gestionnaire de paquets rapide en Rust) et ensuite vous aurez un serveur local avec une interface de chat prête à bouffer vos documents. Vous uploadez vos fichiers (PDF, Word, HTML, Markdown...), le système les découpe, les indexe, et vous pouvez commencer à poser des questions dessus. Pas besoin de choisir un modèle d'embedding, de configurer une base Chroma ou Qdrant, ni de câbler un pipeline LangChain à la main. C'est plutôt confortable comme outil !

Et c'est pas juste un chatbot documentaire puisque la plateforme déploie une couche agentique qui va bien au-delà de la simple recherche de similarité. En fait, quand vous posez une question, le système ne se contente pas de chercher le passage le plus proche dans vos documents... il reformule, il croise plusieurs sources, il re-classe les résultats par pertinence. Et tout ça se configure visuellement dans Langflow, en mode drag-and-drop, sans écrire une ligne de code.

L'interface d'OpenRAG

D'ailleurs, pour ceux qui veulent aller plus loin, y'a des SDK Python et JavaScript pour intégrer ça dans vos propres apps. Un petit pip install openrag-sdk et vous pouvez interroger votre base documentaire depuis n'importe quel script. Et l'autre truc super chouettos, c'est le serveur MCP intégré : un pip install openrag-mcp et vous connectez directement votre base de connaissances à Claude Desktop ou Cursor. J'utilisais pour ma part LEANN jusqu'à présent mais je pense que je vais basculer rapidement sur OpenRAG. Et grâce à ça votre IDE / Claude Code / Ce que vous voulez, a accès à toute votre documentation technique sans quitter l'éditeur.

Côté technique, le projet est porté par l'équipe de Langflow (DataStax), ce qui explique la qualité de l'intégration. Et le déploiement se fait aussi en Docker, Podman ou Kubernetes pour ceux qui veulent du plus fiable.

Après comme c'est une solution tout-en-un, ça embarque pas mal de dépendances. OpenSearch à lui seul est connu pour être gourmand en ressources et si vous avez déjà votre propre stack RAG bien rodée avec une base vectorielle légère comme LEANN , c'est peut-être overkill. En fait, OpenRAG s'adresse plutôt à ceux qui partent de zéro ou qui veulent un truc clé en main pour une équipe, parce que tout est déjà branché.

Prêt à chatter avec vos docs ?

Le vrai intérêt par rapport à un assistant comme Khoj , c'est le côté plateforme extensible. Langflow vous permet de construire des workflows RAG personnalisés visuellement, d'ajouter des étapes de filtrage, de brancher plusieurs LLM en parallèle, ou de créer des agents spécialisés par type de document. C'est donc clairement plus "usine" que "bricolage"... mais parfois c'est ce qu'il faut, surtout si vous bossez en équipe et que le bricolage perso finit toujours par casser au bout de 3 mois.

Si vous en avez marre de bricoler vos pipelines de recherche augmentée à la main, allez jeter un œil !

psmux - Le vrai tmux natif pour Windows (sans WSL)

Par : Korben
16 mars 2026 à 09:08

Splitter son terminal en plusieurs panneaux, gérer des sessions persistantes, le tout avec les mêmes raccourcis que tmux... mais sous un bon gros Windows des familles, nativement, en Rust et sans avoir besoin de se galérer avec WSL !

C'est exactement ce que fait psmux , un multiplexeur de terminal conçu pour PowerShell et cmd.exe qui utilise directement l'API ConPTY de Windows 10/11. Du coup, pas de couche d'émulation Unix, pas de Cygwin, pas de MSYS2... ça tourne direct sur votre bécane.

Pour ceux qui débarquent, un multiplexeur de terminal ça permet de découper votre console en plusieurs zones (des "panes" que j’appellerai "panneau" parce que merde c'est + français), de jongler entre plusieurs sessions, et surtout de retrouver votre boulot exactement là où vous l'avez laissé même après une déconnexion. Sous Linux, tout le monde utilise tmux pour ça mais sous Windows, jusqu'ici c'était soit WSL (installer tout un sous-système Linux juste pour splitter un terminal, c'est un peu overkill quand même !), soit des splits basiques via Windows Terminal qui ne gèraient ni les sessions persistantes ni le détachement. Snif...

psmux en action sous PowerShell

L'installation est rapide. Un petit winget install psmux et hop, c'est réglé. Ça passe aussi par Cargo, Scoop ou Chocolatey pour les puristes. Ensuite, vous tapez psmux dans PowerShell 7 et vous retrouvez vos marques : Ctrl+B pour le prefix, les mêmes commandes split-window, new-session, attach... L'outil implémente 76 commandes tmux avec plus de 126 variables de formatage. Et y'a même un mode copie Vim avec 53 raccourcis clavier.

Bref, si vous avez une mémoire musculaire ultra développée pour tmux, vous êtes chez vous !

Et le truc cool, c'est que psmux lit directement vos fichiers .tmux.conf existants. Du coup, vos raccourcis custom et pas mal de thèmes (Catppuccin, Dracula, Nord...) fonctionneront directement, même si les configs tmux les plus complexes avec des scripts bash ou TPM peuvent nécessiter des ajustements. Et y'a aussi Tmux Plugin Panel pour vous accompagner dans l'ajout de plugins et de thèmes.

Alors je vous connais les raloux sous OuinOuin, vous allez me dire "Windows Terminal fait déjà des splits avec Alt+Shift+D"... sauf que non, c'est pas pareil. Windows Terminal découpe votre fenêtre visuellement mais ne gère ni les sessions persistantes, ni le scripting, ni le détachement. Avec psmux, vous lancez une session le lundi, vous fermez votre terminal, vous revenez le mardi et tout est encore là : vos panneaux, vos processus, votre historique. C'est ça la vraie différence avec un simple split visuel.

D'ailleurs, si vous utilisez Claude Code ou d'autres agents IA en ligne de commande , psmux intègre un support pour les agent teams qui permet à chaque agent de spawner dans son propre panneau automatiquement.

Côté support souris, c'est complet : clic pour sélectionner un panneau, drag pour redimensionner les bordures, molette pour remonter dans l'historique du buffer. Tout est activé par défaut, pas besoin de rajouter set -g mouse on comme sous tmux. L'outil tourne sous Windows 10 et 11, et le projet est sous licence MIT.

Après c'est encore jeune et y'a quelques galères connues notamment le support des caractères CJK et UTF-8 multi-octets qui peut se planter comme une merde sur des textes longs. Et split-window -c ne préserve pas toujours le répertoire courant (oubliez pas de vérifier votre pwd après un split). Par contre, le dev répond en quelques heures, et des PR externes sont mergées régulièrement... donc c'est bon signe !

Bref, c'est propre, c'est natif, et ça lit vos .tmux.conf ! Que demande le peuple barbu emprisonné sous Windows, finalement ? Eh bien pas grand chose de plus pour être heureux.

Jurassic Park dans votre cluster k8s

Par : Korben
13 mars 2026 à 09:04

Le navigateur 3D de Jurassic Park, vous savez, celui avec lequel Lex hackait le parc en 1993 pendant que les vélociraptors grattaient à la porte... bah quelqu'un vient de le recréer, mais pour Kubernetes.

Le projet s'appelle k8s-unix-system et c'est exactement ce que vous imaginez. Vos namespaces deviennent des îles flottantes roses, vos pods des blocs 3D colorés et vous naviguez dans le tout en vue FPS avec WASD + souris. Genre comme Quake, mais pour surveiller vos pods.

Les pods Kubernetes version Jurassic Park ( Source )

Un pod vert c'est un pod qui tourne, jaune c'est en attente, et rouge c'est erreur ou CrashLoopBackOff, bref le truc que personne n'aime voir. Le truc sympa, c'est que la hauteur des blocs augmente avec le nombre de restarts. Du coup, le pod qui galère depuis ce matin, c'est celui qui ressemble à une tour bien haute. Par contre, attention, les pods en erreur tremblent carrément (pas nerveux hein, c'est voulu) et les pods running bougent doucement... c'est plutôt zen je trouve.

Les nodes, eux, ne sont pas mélangés avec les namespaces. Ils ont leur propre île bleu foncé à part, avec des cubes cyan pour ceux qui sont Ready et rouge pour les NotReady. Survolez un node et hop, vous avez son nom, son statut, sa capacité CPU et sa RAM affichées dans un tooltip. Les services, eux, sont visualisés sous forme d'arcs cyan semi-transparents qui connectent les pods entre eux en topologie étoile. Tout fonctionne, suffit de demander, on l'a ! (reeeef ^^)

Les namespaces et nodes, chacun sur leur île ( Source )

Pour lancer le truc, un Docker one-liner suffit (attention quand même, ça monte votre kubeconfig en lecture seule dans le conteneur, donc à réserver au cluster de dev) :

docker run --rm -it -v ~/.kube/config:/root/.kube/config:ro -p 8080:8080 ghcr.io/jlandersen/k8s-unix-system:main

Vous ouvrez localhost:8080 dans Chrome et vous volez à travers votre cluster avec la barre espace pour monter, Ctrl pour descendre, Shift pour accélérer. Tout est en temps réel grâce à la Watch API K8s, du coup si un pod tombe pendant que vous survolez son île, vous le voyez passer au rouge direct. Finalement, c'est kubectl get pods mais en 100 fois plus fun.

C'est codé en Go côté serveur et Three.js pour la 3D dans le navigateur. Le dev derrière bosse chez LEGO (ça ne s'invente pas). Et d'ailleurs si vous êtes du genre à recycler vos smartphones en cluster , ça ferait un combo d'enfer pour frimer devant les collègues.

Bref, vous allez pouvoir enfin lâcher un « Je connais ce système... il fonctionne sous Unix ! » sans mentir.

Lolgato - L'app macOS qui dompte vos Elgato

Par : Korben
12 mars 2026 à 14:27

Les Elgato Key Light, c'est devenu le standard pour s'éclairer la tronche en visio ou en stream. Un gros panneau LED blanc posé sur un pied. Sauf que le soft officiel pour les piloter, bah... il fait le minimum syndical. En fait, à part allumer, éteindre et bouger un slider, y'a rien. Du coup, un dev finlandais a pondu Lolgato , une app macOS gratuite et open source qui va beaucoup plus loin.

Lolgato en action dans la barre de menus

Sur mon Mac, j'ai téléchargé le DMG, glissé l'app dans Applications, et hop... une icône apparaît dans la barre de menus. De là, vous avez accès à tous les réglages de vos lumières sans ouvrir le Control Center d'Elgato. Luminosité, température de couleur, on/off... tout est là, à un clic. Mais le vrai kiff, c'est l'automatisation.

Car oui mes amis, Lolgato détecte quand votre webcam s'active (FaceTime, Zoom, OBS, peu importe) et allume vos lumières automatiquement. Comme ça, plus besoin d'y penser ! Vous verrouillez le Mac ? Les lampes s’éteignent. Par contre, attention, ça ne marche qu'avec les lumières Elgato (les Key Light et compagnie) et pas avec les panneaux LED du commerce à 30 euros.

L'interface menu bar de Lolgato

La synchronisation avec Night Shift c'est chouette aussi car comme ça, quand macOS passe en lumière chaude le soir, Lolgato ajuste la température de couleur de vos Key Light pour matcher. Vous passez de la lumière blanche de bureau à un éclairage chaud, genre lampe de chevet. Résultat, fini l'effet néon de supermarché à 23h dans votre salon. Quand Night Shift se désactive, retour à 6500K. Perso, sur mon setup chez moi, la différence se voit direct.

Côté raccourcis clavier, c'est complet. Des shortcuts globaux pour allumer, éteindre, monter la luminosité, baisser la température... tout ça sans toucher la souris. À vrai dire, sur un bureau avec deux ou trois moniteurs et un clavier, c'est carrément appréciable !

L'app repère vos lumières sur le réseau Wi-Fi automatiquement. Même protocole que le Control Center officiel. Et si la découverte auto fait des siennes, vous pouvez taper l'adresse IP de votre lampe directement dans les réglages de Lolgato. Pratique quand on a chez soi un routeur capricieux ou un VLAN séparé.

Si vous utilisez déjà MonitorControl pour gérer la luminosité de vos écrans externes, Lolgato vient compléter le setup pour la partie éclairage. Le combo des deux, c'est le confort ultime !

Ça tourne sur macOS 14 (Sonoma) minimum, et aussi sur macOS 15 (Sequoia). C'est du Swift, licence MIT et le développeur est aussi derrière WalkingMate (un tapis de marche piloté depuis le Mac) et KeepMic (pour garder votre micro USB par défaut). Bref, un mec qui aime que ses périphériques obéissent au doigt et à l'oeil.

Voilà, c'est gratuit, open source, et ça marche bien !

❌
❌