Vue lecture

Il y a de nouveaux articles disponibles, cliquez pour rafraîchir la page.

Conductor - Lancez des agents IA en parallèle sur votre code

Conductor c'est une app macOS qui vous permet de lancer plusieurs agents Claude Code ou Codex en parallèle, chacun dans son propre worktree git histoire qu'ils ne se marchent pas dessus. Le tout est développé par Melty Labs, et c'est gratuit !! (enfin l'app en elle-même, parce que les tokens Claude ou OpenAI, c'est vous qui casquez hein ^^).

Vous ouvrez l'app, Cmd+N pour créer un workspace, et ensuite, chaque agent bosse dans son coin sur sa propre branche git comme ça y'a pas de conflits ni de merge foireux au milieu du boulot ! Et grâce à cet outil, vous voyez d'un coup d'oeil ce que chacun fabrique via le diff viewer intégré. Ensuite, vous reviewez, et quand c'est bon vous mergez. Comme un chef de chantier en fait, sauf que vos ouvriers ce sont des LLM.

Y'a plus qu'à vous acheter un casque !

Côté modèles, ça supporte Claude Code (avec votre clé API ou votre abonnement Pro/Max) et Codex d'OpenAI. Et la dernière release a d'ailleurs ajouté GPT-5.4 tout frais démoulé.

Le truc cool c'est surtout cette isolation par git worktrees. Chaque workspace étant un worktree séparé, les agents peuvent ainsi modifier des fichiers en parallèle sans se marcher dessus. Si vous avez déjà essayé de faire tourner deux sessions de vibe coding en même temps sur le même repo... vous savez que ça finit en général en carnage.

Attention quand même, chaque worktree bouffe de l'espace disque (genre un repo de 2 Go × 5 agents, ça peut piquer...) donc pensez-y si votre repo est un peu lourd.

L'app intègre aussi le MCP (Model Context Protocol) pour brancher des outils externes, des slash commands custom, et un système de checkpoints qui permet de revenir en arrière tour par tour si un agent part en vrille (genre il supprime un fichier critique... ça arrive). Perso, le diff viewer c'est pas mal du tout car ça évite de jongler entre le terminal et VS Code.

Après dommage que ce soit pour macOS seulement. Déso hein ^^

En tout cas, vu le rythme des mises à jour, c'est un projet qui avance vite. Des devs de chez Linear, Vercel, Notion ou Stripe l'utilisent déjà, et ça a l'air suffisamment solide pour de la prod (mais testez bien avant hein, faut jamais me faire confiance ^^).

Dotenv Mask Editor - Fini les clés API à l'air libre

Et si vos fichiers .env se transformaient en un joli tableau avec des astérisques partout afin d'assurer la confidentialité de vos clés API et autres crédentials ? Hé bien c'est exactement ce que propose Dotenv Mask Editor , une extension VS Code qui remplace carrément l'éditeur texte par une grille.

Du coup, vos clés API, tokens AWS, mots de passe PostgreSQL et autres STRIPE_SECRET_KEY s'affichent sous forme de ****** et vous pouvez bosser dessus même si quelqu'un mate par-dessus votre épaule.

En gros, dès que vous ouvrez un fichier .env (ou .env.local, .env.production... bref, tout ce qui matche le pattern), l'extension vous présente vos variables dans un tableau à deux colonnes. Les clés à gauche, les valeurs masquées à droite. Pour modifier une valeur, hop, vous cliquez dessus et elle se dévoile le temps de l'édition. Vous cliquez ailleurs, c'est re-masqué. Pas de sauvegarde manuelle à faire, ça se fait tout seul.

Le masquage se déclenche à partir de 6 caractères (en dessous, c'est probablement pas un secret... genre PORT=3000 ou DEBUG=true, on s'en fiche). Et le truc cool, c'est que tout tourne en local sur votre machine.

Si vous vous dites "mais attends, y'a pas déjà Camouflage pour ça ?"... oui et non. Camouflage masque vos secrets avec un overlay pendant les démos et le partage d'écran, mais vous continuez à éditer dans l'éditeur texte classique. Dotenv Mask Editor, lui, change complètement l'interface, c'est un éditeur de tableau dédié aux variables d'environnement. Deux approches différentes du coup, et rien ne vous empêche d'utiliser les deux.

L'extension est sous licence MIT, fonctionne sur toutes les plateformes (Windows, Linux, macOS, même VS Code Web) et vous pouvez ajouter des patterns de fichiers personnalisés dans vos settings.json.

D'ailleurs, si vous voulez l'installer, c'est du classique : Ctrl+Shift+X dans VS Code (Cmd+Shift+X sur Mac), vous tapez "dotenv mask" et voilà.

Avec ça, vos secrets restent secrets mais faut quand même pas oublier de mettre votre .env dans le .gitignore hein. ^^

VidBee - yt-dlp en version graphique avec RSS auto

yt-dlp, tout le monde connaît. C'est l'outil parfait pour télécharger des vidéos depuis à peu près n'importe quel site. Sauf que bon, la ligne de commande, c'est pas le truc de tout le monde. Du coup, les interfaces graphiques pour habiller tout ça, y'en a un paquet... mais trouver celle qui est jolie ET sous licence libre, c'est pas gagné.

Heureusement, VidBee est un nouveau venu qui coche pas mal de cases. L'appli tourne sur Windows, macOS et Linux, elle est sous licence MIT, et l'interface est plutôt clean. On colle une URL, on choisit le format MP4 ou MKV, on sélectionne la qualité entre 720p et 8K et hop, ça télécharge.

Fastoche !

Interface principale de VidBee

Bon, jusque-là, vous allez me dire que Stacher7 fait déjà ça. Sauf que VidBee a un petit truc en plus qui vaut le détour : un système de flux RSS intégré. En gros, vous vous abonnez à vos chaînes YouTube préférées via RSS, et l'outil télécharge automatiquement les nouvelles vidéos en arrière-plan. Comme ça, y'a plus besoin de vérifier manuellement si votre créateur favori a sorti un truc. Attention par contre, prévoyez du stockage parce que ça peut vite remplir un disque dur si vous suivez plusieurs chaînes...

Côté technique, ça gère les résolutions jusqu'à la 8K (si votre écran suit), l'extraction audio seule en MP3, les sous-titres dans plus de 50 langues au format SRT, et même le téléchargement de playlists entières ou de contenus privés si vous êtes connecté à votre compte. Y'a aussi un support proxy pour contourner les restrictions géographiques (genre si votre FAI bloque certains sites) et une extension navigateur pour lancer les téléchargements en un clic.

File de téléchargement VidBee

Et pour les plus bidouilleurs d'entre vous, VidBee propose carrément un mode serveur avec une API Fastify et une interface web, le tout déployable en Docker. Perso, c'est ça que je trouve le plus malin. Un docker compose up -d, l'API écoute sur le port 3100, l'interface web sur le 3000, et vous avez votre propre service de téléchargement accessible depuis n'importe quel appareil du réseau local. Attention quand même à pas le rendre accessible publiquement non plus, hein... sauf si vous voulez des ennuis ^^.

Le projet est plutôt actif, codé en TypeScript et basé sur Electron pour le desktop. D'ailleurs, le monorepo inclut aussi une extension navigateur et un site de doc complet. Par contre, c'est encore en développement très actif, du coup y'a forcément des bugs qui traînent par-ci par-là et des trucs qui cassent de temps en temps mais vu la qualité du service rendu, c'est pas bien grave !

Bref, c'est gratuit, c'est open source, et ça marche sur Windows, macOS et Linux. Allez voir !

Merci à Lorenper pour le partage !

try - Fini les dossiers test-final-v3 qui traînent partout !

Vous avez combien de dossiers test sur votre machine ? Dix ? Cinquante ? Deux cents ? Tobi Lütke, le mec qui a cofondé Shopify, avait le même problème... Alors il a pondu try , un petit script Ruby qui donne un vrai foyer chaleureux à vos expérimentations de dev déjanté.

Le principe est hyper simple. Vous tapez try redis dans votre terminal, et magie magie, soit ça vous envoie direct dans votre dossier d'expérimentation Redis existant, soit ça vous propose d'en créer un nouveau avec la date du jour en préfixe, genre 2025-08-17-redis-experiment. En fait c'est con, mais rien que le préfixe de date, ça change tout... car 3 semaines plus tard, quand vous cherchez ce bout de code pondu à 2h du mat en rentrant de soirée, hé bien vous le retrouvez !

La recherche fuzzy fait le boulot, comme ça par exemple vous tapez pgres, ça matche postgres-local. Vous tapez connpool, ça retrouve connection-pool. Et ce sont les résultats les plus récents qui remontent en premier, parce que bon, ce que vous avez touché hier est souvent plus pertinent que le truc d'il y a 6 mois. Et y'a même un petit score de pertinence affiché à côté de chaque résultat !

Côté installation, un gem install try-cli suivi d'un eval "$(try init)" dans votre .zshrc, et c'est terminé. Ça marche aussi avec Fish et via Homebrew pour ceux qui préfèrent. D'ailleurs, le cœur du truc tient dans un seul fichier Ruby, par contre, faut Ruby 3.0 minimum (le Ruby livré avec macOS est trop vieux, donc un petit brew install ruby avant si besoin).

Y'a aussi quelques bonus plutôt pas mal. Par exemple la commande try . (si vous êtes dans un repo Git) crée un worktree du repo courant dans votre dossier d'expérimentations, ce qui est super pratique pour tester un truc sans polluer votre branche principale. Et try clone URL_GITHUB clone un repo direct dans un dossier daté, genre 2025-08-17-nom-du-repo. Si vous aimez les outils jetables bien rangés , c'est exactement le délire.

Bon, vous pourriez faire un alias bash à la place, mais finalement la recherche fuzzy et le classement par date, c'est quand même autre chose qu'un bête mkdir. Tous vos dossiers vivent dans ~/src/tries par défaut (changeable via TRY_PATH), avec une petite interface en mode texte qui affiche le temps écoulé depuis votre dernier passage. Le README dit que c'est pensé pour les cerveaux qui papillonnent... et franchement, si vous êtes comme moi, du genre à avoir 15 projets en cours, c'est pile le délire qui va vous sauver !! Si vous passez votre vie dans le terminal , c'est un de ces projets qu'on installe et qu'on n'oublie plus.

Attention quand même, le projet est encore jeune et quelques bugs trainent côté Homebrew et avec Ruby 4.0.

Amusez-vous bien !

PinMe - Le web immuable en une commande

Les 404, c'est la plaie du web... J'en sais quelque chose, je fais la chasse à ça en permanence sur mon propre site. C'est vrai que c'est relou parce que vous bookmarkez un projet cool, vous y retournez trois mois après... et pouf, ça a disparu. Le dev n'a pas renouvelé son nom de domaine, l'hébergeur a fermé boutique, le contenu s'est évaporé ou que sais-je encore... En fait, sur le web, RIEN n'est permanent.

PinMe prend le problème à l'envers en collant vos fichiers directement sur IPFS . En gros, au lieu de dépendre d'un serveur unique qui peut tomber n'importe quand, vos pages sont distribuées sur un réseau décentralisé et identifiées par un hash CID unique. Du coup, tant que le réseau tourne, votre contenu existe. Pas besoin de renouveler quoi que ce soit, pas besoin de payer un hébergeur... ça fonctionne tout seul.

L'installation se fait en une ligne :

npm install -g pinme

Pour déployer votre site statique, c'est hyper simple :

pinme upload dist/

L'outil détecte le dossier de build, ou plutôt il le devine tout seul selon votre framework : dist/ pour Vite et Vue, build/ pour Create React App, out/ pour Next.js en export statique. Ça évite d'avoir à se palucher de la config.

Côté limites, on est sur 200 Mo par fichier et 1 Go au total ce qui est largement suffisant pour une landing page ou une démo ! Et c'est GRATUIT. Pour ceux qui veulent un domaine lisible plutôt qu'un hash cryptique, y'a aussi des domaines ENS (les .eth sur Ethereum) ou des sous-domaines en .pinit.eth.limo. Après pour les domaines custom faudra un compte VIP par contre.

Le truc sympa c'est que vos fichiers restent accessibles via n'importe quelle passerelle IPFS, genre dweb.link ou w3s.link. Ainsi, si votre hébergeur ferme ou que votre domaine expire comme je le disais en intro, on s'en fiche ! Le contenu est toujours là, épinglé quelque part sur le réseau. C'est du stockage immuable, basé sur le contenu lui-même... du coup personne ne peut modifier ou supprimer ce que vous avez publié. (Et en fait vous non plus, faut le savoir.)

Et y'a aussi des commandes pour exporter en fichiers CAR et réimporter ailleurs, ce qui est pratique pour archiver ou migrer entre passerelles.

Voilà c'est gratuit pour 1 Go de stockage, c'est open source (licence MIT) et c'est par là . Merci à Lorenper pour la découverte !

Snitch - Le netstat qui ne pique plus les yeux

Si vous avez déjà tapé [ss -tulnp](https://www.it-connect.fr/lister-les-ports-en-ecoute-sous-linux-avec-lsof-netstat-et-ss/) dans un terminal, vous savez que c'est moche. Genre, VRAIMENT moche. Les colonnes qui se chevauchent, les adresses tronquées, bref c'est un festival du bordel. Mais c'était sans compter sur ce dev qui a pondu Snitch , un outil en Go sous licence MIT qui vient concurrencer ss et netstat... sauf que pour une fois, c'est lisible, regardez :

L'interface de Snitch en action, sobre et lisible

En gros, c'est un ss moderne avec une interface TUI interactive. Vous lancez la commande dans votre terminal et tadaaa, vous avez un tableau propre avec toutes vos connexions réseau, les processus associés, les ports, les protocoles... le tout avec des couleurs et une navigation au clavier. Rien à voir donc avec le pavé monochrome habituel !

Le truc cool aussi ce sont les filtres. Vous pouvez taper snitch ls proto=tcp state=listen pour ne voir que les sockets TCP en écoute, ou snitch ls proc=nginx pour traquer votre serveur web. Y'a même un filtre contains= pour chercher dans les adresses... genre contains=google pour voir tout ce qui cause avec Mountain View.

D'ailleurs, côté commandes c'est en fait bien fichu. snitch ls pour un tableau statique, snitch json pour du JSON brut si vous voulez scripter, et snitch watch -i 1s pour streamer les connexions en temps réel. Du coup ça s'intègre nickel dans vos pipelines.

La TUI elle-même vaut le détour. Vous naviguez avec j/k (comme dans Vim, forcément), vous basculez TCP/UDP avec t/u, et le plus jouissif... vous pouvez killer un processus directement avec la touche K. Plus besoin de noter le PID et d'ouvrir un autre terminal ! Sauf que attention, sur Linux faut quand même lancer en root pour avoir les infos complètes sur les processus, parce que l'outil va lire dans /proc/net/*. Ça ne marche pas non plus sur Windows, c'est Linux et macOS uniquement.

Pour ceux qui aiment personnaliser leur terminal (oui, je vous connaîs...), y'a une quinzaine de thèmes, Catppuccin, Dracula, Nord, Tokyo Night, Gruvbox... la config se fait dans ~/.config/snitch/snitch.toml et l'outil peut aussi conserver vos préférences de filtres entre les sessions (faut activer remember_state dans la config).

Côté installation, c'est pas la mer à boire. brew install snitch sur macOS, go install github.com/karol-broda/snitch@latest si vous avez Go, yay -S snitch-bin sur Arch, et y'a même des images Docker pour les plus prudents !

Donc si vous êtes du genre à surveiller votre trafic réseau ou à garder un oeil sur vos outils de diagnostic Linux , c'est clairement à tester.

Perso, pour du debug réseau rapide, je trouve que c'est carrément plus agréable que de se taper un ss -tulnp.

notion-cli - Pilotez Notion depuis votre terminal

Si vous utilisez Notion au quotidien et que vous avez toujours rêvé de piloter vos bases de données depuis un terminal... y'a enfin un truc qui tient la route.

Ça s'appelle notion-cli , c'est un binaire Go qui embarque 39 commandes couvrant TOUTE l'API Notion. Il s'agit d'un seul exécutable pour macOS, Linux et Windows (amd64 et arm64) sans dépendance qui vous permet de gérer pages, bases de données, blocs et commentaires sans jamais ouvrir un navigateur.

L'installation, c'est du classique : brew install 4ier/tap/notion-cli sur macOS, go install pour les puristes, npm install -g notion-cli-go ou même Docker. Il faut juste un token d'intégration Notion (le ntn_xxxxx que vous générez sur notion.so/my-integrations), vous le collez dans ~/.config/notion-cli/config.json ou en variable NOTION_TOKEN, et c'est parti.

notion-cli en action dans le terminal

Le truc cool, ce sont les filtres humain-friendly. Au lieu de se taper du JSON pour filtrer une base, vous écrivez Status=Done et l'outil se débrouille tout seul. En fait, il détecte le type de chaque propriété (texte, date, sélection...) et adapte le filtre automatiquement. C'est carrément pas mal, je trouve.

Et côté Markdown, c'est la fête ! Vous exportez une page entière avec notion block list <page-id> --md --depth 3, et inversement, vous injectez un fichier .md dans Notion via notion block append <page-id> --file notes.md. Pour ceux qui bossent avec de la doc technique, ça simplifie sérieusement les choses. Bon, ça ne marche pas avec les blocs synchronisés ou les embeds exotiques, mais pour le reste c'est nickel.

D'ailleurs le mode "pipé" est vraiment malin. Car dans le terminal, l'outil affiche de jolies tables colorées mais dès que vous le "pipez" vers jq ou un script, il bascule en JSON automatiquement. Du coup, intégrer ça dans un pipeline shell ou un cron... c'est aucun parsing à faire. Voilà quoi.

Après des CLI pour Notion, y'en a déjà quelques-uns. Sauf que la plupart sont soit limités aux tâches (comme notion-cli-go qui gère surtout le côté todo), soit cantonnés à l'export (et souvent liés à un OS ou un langage précis).

Celui de 4ier, c'est donc le premier à couvrir l'API en entier : pages, bases, blocs, commentaires, fichiers, utilisateurs, et même un accès REST brut via notion api GET /v1/endpoint. En gros, c'est le gh de GitHub, mais pour Notion (et pour une fois, c'est pas juste du blabla marketing ^^).

Les cas d'usage qui tuent c'est par exemple un script cron qui crée une entrée hebdo avec notion page create <db-id> --db "Name=Weekly" "Status=Todo". Un backup qui exporte vos pages critiques en Markdown toutes les nuits. Ou un CI/CD qui met à jour un changelog Notion à chaque deploy. Quelques lignes de bash et c'est réglé, car l'outil gère tout le reste ! C'est hyper rare un CLI qui couvre autant de terrain.

Y'a aussi le côté agent-friendly pour ceux qui kiffent l'IA. L'outil retourne des codes de sortie propres, du JSON exploitable, et s'installe comme skill agent via npx skills add 4ier/notion-cli. Dans la lignée de Gemini CLI , on voit de plus en plus d'outils pensés terminal-first... et je trouve que c'est carrément bien.

Après comme souvent quand je vous présente des outils, le projet est tout frais (v0.3.0, licence MIT), avec une petite communauté donc attention, car comme tout ce qui dépend d'une API tierce, si Notion bouge ses endpoints... voilà quoi. Mais c'est propre, c'est testé, et ça tourne déjà très bien.

Votre navigateur va pouvoir souffler un peu.

GitForms - Vos formulaires de contact stockés directement dans GitHub Issues

Intégrer un formulaire de contact sur un petit projet ou un MVP, c'est souvent la plaie. Soit on s'embête avec un backend dédié, soit on finit par payer un abonnement chez Typeform ou FormSpree parce qu'on a dépassé le quota gratuit en trois jours.

Et c'est LÀ qu'intervient GitForms .

Le concept est tout bête mais fallait y penser. En fait l'idée c'est d'utiliser les GitHub Issues comme base de données pour vos formulaires comme ça, au lieu de stocker les messages dans une DB SQL ou NoSQL obscure, chaque soumission de formulaire crée automatiquement une nouvelle issue dans le dépôt GitHub de votre choix.

Pratique, non ?

Côté technique, c'est du solide puisqu'on est sur du Next.js 14, du TypeScript et du Tailwind CSS. Et pour le mettre en place, c'est vraiment l'affaire de 5 minutes... vous clonez le repo, vous générez un token GitHub, et vous déployez ça sur Vercel, Netlify ou même via Docker. Et hop, vous avez un formulaire fonctionnel avec des notifications par email automatiques (merci le système de notifs de GitHub).

L'outil est super personnalisable, vous pouvez changer les couleurs, les textes et même ajouter des langues en bidouillant simplement des fichiers JSON, sans même avoir à toucher au code source. C'est idéal pour ceux qui veulent un truc propre et rapide sans sortir la carte bleue toutes les cinq minutes.

Attention quand même, car niveau RGPD, ne croyez pas que c'est magique. Certes, c'est auto-hébergeable, mais vos données transitent par GitHub. Il faudra donc veiller à ce que votre dépôt soit privé si vous collectez des données personnelles, histoire de ne pas afficher les emails de vos prospects à la vue de tous. Notez aussi que GitHub a des limites de taux (rate limits) pour la création d'issues, donc si vous recevez 10 000 messages par jour, ça risque de coincer.

Enfin, un petit mot sur la licence, le projet semble être sous CC BY-NC-SA 4.0 ce qui veut dire qu'il est parfait pour vos projets perso ou vos tests, mais pour un usage purement commercial, il faudra peut-être vérifier si ça colle avec vos besoins.

Bref, si vous cherchez une solution simple, propre et qui exploite intelligemment les outils que vous utilisez déjà, jetez un œil à GitForms. C'est open source et ça dépanne bien pour les petits projets qui n'ont pas besoin d'une artillerie lourde.

Source

Xcode 26.3 - Les agents IA Anthropic et OpenAI débarquent enfin !

Apple vient de lâcher une bombe pour tous les développeurs pommés de leur écosystème. Si vous pensiez que l'IA dans l'IDE se limitait à de l'autocomplétion un peu boostée, accrochez-vous parce que la version 26.3 de Xcode arrive (enfin, sa Release Candidate pour l'instant) et elle apporte avec elle le "codage agentique". Aaah je l'attendais depuis looongtemps !

Concrètement, ça veut dire qu'au lieu d'avoir un simple assistant qui vous suggère la fin de votre boucle "for", vous avez maintenant de véritables agents capables de prendre des initiatives. Donc intégration directe de Claude (Anthropic) et de Codex (OpenAI). Apple qui ouvre les vannes et vous laisse choisir votre moteur préféré parmi ces deux-là au lancement, c'est fou !

Le délire est assez poussé puisque ces agents ne se contentent pas d'écrire du code dans un coin. Ils ont accès à la structure complète de votre projet, à la doc officielle d'Apple (histoire de privilégier les dernières APIs) et peuvent même lancer des builds ou des tests pour vérifier que leur tambouille fonctionne. Si ça plante, ils analysent l'erreur et tentent de corriger le tir tout seuls. C'est un peu comme ce qu'on retrouve déjà dans Cursor et Windsurf.

Perso, ce qui me botte le plus, c'est l'utilisation du Model Context Protocol (MCP) parce que je me sers tout le temps de ça. Pour ceux qui ne suivent pas, c'est un protocole ouvert qui permet d'interfacer Xcode avec des agents compatibles.

Et côté interface, c'est plutôt propre. Y'a un petit panneau à gauche pour donner vos ordres en langage naturel ("Ajoute-moi une vue SwiftUI pour gérer le profil utilisateur avec une image ronde et un dégradé"), et tadaaa, l'agent découpe la tâche en petites étapes. On voit le code changer en temps réel, avec des surbrillances pour ne pas être perdu. D'ailleurs, si le résultat est foireux (ça arrive, hein), Xcode crée des "milestones" à chaque modification effectuée par l'agent pour revenir en arrière en un clic. Pas de panique donc.

Si vous voulez mettre les mains dedans tout de suite, la Release Candidate est dispo depuis ce 3 février sur le site développeur d'Apple. Attention quand même aux prérequis puisque même si Xcode 26.3 tourne sur macOS Sequoia 15.6+, pour profiter des fonctions d'intelligence (l'agentic coding, quoi), il vous faudra impérativement un Mac avec une puce Apple Silicon sous macOS Tahoe.

Et pour ceux qui veulent vraiment monter en compétence, Apple organise un atelier "code-along" ce jeudi 5 février sur son site développeur. C'est l'occasion de voir comment dompter ces agents sans qu'ils ne transforment votre projet en plat de spaghettis.

Bref, le métier de dev est en train de muter sévère et ce nouvel Xcode 26.3 pose une sacrée brique.

A vous de jouer maintenant !

Source

PineTS - Vos scripts TradingView enfin libérés !

Vous connaissez sûrement TradingView pour suivre les cours de la bourse / crypto, et son fameux langage Pine Script. C'est top pour bidouiller des indicateurs techniques sans se prendre la tête, mais dès qu'on veut sortir du bac à sable pour intégrer ça dans un bot perso ou un backend, ça se corse sévère. Alors moi je fais pas tout ça, ni trading, ni dev autour du trading, mais je sais qu'on peut se retrouver souvent bloqué par les limites de la plateforme.

Hé bien bonne nouvelle pour tous les traders en culottes courtes qui n'ont pas encore compris que le DCA c'est + efficace que le day-trading, Alaa-eddine (un lecteur fidèle, coucou !) a bossé sur un projet qui va vous plaire : PineTS .

PineTS ce n'est pas encore l'un de ses parseurs bancal mais un vrai transpiler ET un runtime complet qui permet d'exécuter du code Pine Script directement dans un environnement Javascript ou TypeScript. Il vous faudra évidemment Node.js et votre bon vieux navigateur pour que ça fonctionne.?

Vous prenez votre script ta.rsi(close, 14), vous lancez un npm install pinets et hop, ça tourne sur votre serveur. PineTS gère la "transpilation" (non, c'est pas quand on a chaud sous les bras ^^) à la volée et fournit une implémentation des fonctions standard de Pine Script (v5 et v6). Il supporte déjà plus de 60 indicateurs techniques (SMA, EMA, MACD, Bollinger...), le multi-timeframe et même le streaming de données temps réel.

Du coup, ça ouvre des portes assez dingues ! Et si vous vous demandez si Pine Script est similaire à JavaScript, la réponse est "pas tout à fait", mais PineTS fait le pont entre les deux mondes. Vous pouvez grâce à ça récupérer des données de marché via n'importe quelle API (CCXT, Binance...), les passer à la moulinette PineTS, et utiliser le résultat pour trigger des ordres ou nourrir une IA.

Attention par contre, tout n'est pas encore supporté à 100%. Sauf si vous restez sur du standard, là c'est royal... Mais si vous utilisez des fonctions graphiques très exotiques, faudra vérifier tout pour ne pas finir sur la paille. Le seul truc qui manque peut-être, c'est une compatibilité totale avec les scripts v4, mais bon, on est en v6 maintenant et pour la logique de trading pure, c'est propre.

D'ailleurs, pour ceux qui utilisent ChatGPT pour écrire du Pine Script, sachez que vous pouvez maintenant intégrer ces snippets générés par l'IA directement dans vos propres applis Node.js. C'est quand même plus flexible que de copier-coller ça dans TradingView à chaque fois.

Et ce n'est pas tout (hé oui ^^) car pour la partie visuelle, il a aussi sorti également QFChart , une bibliothèque dédiée pour afficher le tout avec de jolis graphiques financiers. C'est le combo gagnant pour se faire un dashboard de trading sur mesure sans dépendre de l'infra de TradingView.

Perso, je trouve ça génial pour ceux qui veulent garder la main sur leur exécution ou faire du backtesting sérieux avec leurs propres données. En fait, c'est exactement ce qu'il manquait aux traders-developpeurs pour coder leur propre logique de A à Z. Le projet est open source et dispo sur GitHub et y'a même un playground pour tester vos scripts en live et voir la transpilation en temps réel.

Si vous faites du trading algo, ça vaut clairement le coup d'œil.

PineTS est à découvrir ici ! Et un grand merci à Alaa-eddine pour le partage !

UxNote - Annotez vos maquettes web sans prise de tête

Il y a quelques jours, un lecteur (merci Benjamin !) m'a envoyé un outil qu'il a bricolé lui-même avec Codex d'OpenAI et ça touche une petite corde sensible chez moi, d'où le fait que je vous en parle.

C'est pas souvent que je bosse avec des clients sur autre chose que des articles mais il m'est arrivé par le passé qu'un client m'envoie ses retours par mail, avec des captures d'écran floues, des flèches rouges partout et des commentaires du genre "le truc là, à gauche, je sais pas trop ??".

Alors de mon côté, j'ai testé pas mal de solutions pour évier ça mais j'ai rien trouvé de foufou... Figma par exemple c'est top pour les retours mais faut que le client crée un compte (et ça, c'est jamais gagné), Marker.io c'est bien fichu mais c'est payant. J'avais même essayé Loom à un moment, mais bon, leur demander d'enregistrer leur écran c'était trop compliqué.

Alors que UxNote, lui, règle exactement ce problème sans rien de tout ça !

En fait, ça permet d'intégrer une balise JavaScript dans votre page (juste avant le </body>) et hop, une petite toolbar apparaît.

<script src="https://github.com/ninefortyonestudio/uxnote/releases/download/v1.0.0/uxnote.min-v1.0.0.js"></script>

Votre client peut alors surligner du texte, épingler des éléments avec des badges numérotés, ajouter des commentaires... et surtout, exporter tout ça proprement en JSON ou l'envoyer direct par mail.

Comme ça, fini le chaos habituel des retours clients façon "j'ai annoté le PDF que j'ai imprimé puis scanné". Là, les commentaires sont directement contextualisés sur la page, exactement là où ils doivent être. C'est vrai que des outils d'annotation web existent depuis des lustres, mais UxNote a choisi le stockage 100% local (via le localStorage) plutôt que de monter un backend avec des comptes utilisateurs. Et c'est ce qui fait toute la différence niveau simplicité, avec les autres outils.

Par contre attention, si votre client vide son cache navigateur, il perd ses annotations... Perso je vous recommande donc de faire l'export JSON dès que possible pour éviter les mauvaises surprises.

L'outil propose aussi un mode "assombrissement" qui met en évidence la zone annotée (pratique pour se concentrer), des couleurs personnalisables, et même la possibilité de bloquer certains éléments de l'annotation avec l'attribut data-uxnote-ignore. Ça fonctionne sur les environnements de staging, en local, et même sur les SPA ... sauf si vous avez une CSP ultra stricte, auquel cas faudra autoriser le script et les styles inline dans votre config.

Bref, si vous bossez avec des clients qui ont du mal à exprimer leurs retours autrement qu'en pièces jointes de 15 Mo, UxNote pourrait bien sauver les quelques cheveux qu'il vous reste. Et en plus c'est gratuit, open source et disponible sur GitHub .

Que demande le peuple ???

Merci Benjamin !

VHS - Scriptez vos démos terminal en GIF

Vous vous souvenez des cassettes VHS ?

Bon, là rien à voir avec le magnétoscope de mémé qui clignote à 12:00 mais je suis quand même content de vous présenter VHS , un petit outil open source concocté par la team Charm dont je vous ai déjà parlé.

Y'a pas longtemps, je cherchais un moyen propre de faire une petit démo d'un projet perso et je ne sais pas si vous connaissez Terminalizer (j'en avais déjà parlé), mais là pour le coup, j'ai préféré l'approche de VHS parce qu'au lieu d'enregistrer votre terminal en "live" comme Terminalizer et de me faire stresser à chaque faute de frappe, ça me permet de scripter entièrement en amont ma démo.

En fait vous écrivez un fichier ".tape" avec vos instructions, et l'outil génère un rendu (GIF, MP4, WebM) nickel chrome. C'est donc le rêve de tous les perfectionnistes comme moi qui recommencent 15 fois la même capture parce qu'ils ont oublié un sudo ou qu'ils ont bafouillé sur le clavier.

Pour l'installer, comme d'hab :

brew install vhs

Après si vous passez par Docker, c'est possible aussi mais il vous faudra impérativement ttyd et ffmpeg installés sur votre machine pour que ça tourne.

Ensuite, voici à quoi ressemble un scénario en .tape :

Output demo.gif
Set FontSize 20
Set Width 1200
Type "echo 'Salut les amis !'"
Sleep 500ms
Enter
Sleep 2s

Et là, c'est magique, vous lancez la commande et c'est parti :

vhs demo.tape

Il lance alors un terminal invisible, tape les commandes pour vous, et enregistre le rendu. Hop, c'est dans la boîte mes petits Spielberg !

Mais ça ne s'arrête pas là puisqu’on peut aussi contrôler la vitesse de frappe pour donner un effet plus naturel, ou utiliser la commande "Wait" pour mettre le script en pause jusqu'à ce qu'une certaine chaîne de caractères apparaisse à l'écran. Genre pour ne pas couper la vidéo pendant un "npm install" qui dure trois plombes.

Et ce qui est top moumoute avec VHS , c'est que comme c'est du code, vous pouvez versionner vos démos sur Git. Mieux encore, vous pouvez les intégrer dans votre CI/CD avec GitHub Actions. Du coup, si votre CLI change, votre GIF de documentation se régénère automatiquement (à condition de configurer le commit du résultat, bien sûr). C'est ti pas beau ça ?

Comme ça s'en est fini des GIFs flous ou des screencasts qui pèsent une tonne. Avec VHS c'est propre, c'est net, et c'est maintenable !

Stash - Synchroniser vos notes Apple Notes avec Markdown

Si vous êtes comme moi et que vous vivez dans Apple Notes parce que c'est fluide, synchronisé partout, et que ça marche sans qu'on ait à se poser de questions, cet outil va vous plaire.

Parce que oui, voilà, le jour où vous voulez bidouiller vos notes en ligne de commande, les exporter en Markdown, ou simplement éviter de vous retrouver coincé dans votre prison dorée Apple... Et bien c'est la galère. J'ai longtemps cherché une solution propre. Je me suis même dit à un moment que j'allais coder un script Python foireux pour scrapper la base SQLite locale, mais j'ai vite abandonné l'idée.

Pourquoi ? Parce que j'ai découvert Stash , un petit outil en ligne de commande qui fait le pont entre vos notes Apple et des fichiers Markdown.

Et le truc cool, c'est que ça marche dans les deux sens. Vous pouvez exporter vos notes Apple en Markdown (comme ici : Exporter pour vos backups ), mais aussi éditer vos fichiers Markdown et renvoyer les changements directement dans Apple Notes. C'est une vrai synchro bidirectionnelle qui vous rend vraiment maître de vos données.

J'ai testé ça sur macOS Tahoe avec un dossier de notes en vrac. J'ai lancé le bousin, et ça m'a fait plaisir de voir mes fichiers .md popper proprement dans le terminal, prêts à être commités ensuite sur un GitHub ou édités dans VS Code.

L'installation est toute bête, via Homebrew :

brew tap shakedlokits/stash https://github.com/shakedlokits/stash
brew install shakedlokits/stash/stash

Et ensuite, c'est juste 2 commandes. Pour exporter une note Apple vers Markdown, c'est

stash pull "Ma Super Note"

Stash va chercher la note dans Apple Notes, la convertit en Markdown propre via Pandoc, et vous la balance dans un fichier local Ma Super Note.md.

Et la seconde commande c'est pour faire l'inverse (éditer votre Markdown et pousser les changements vers Apple Notes). Là faut faire

stash push "Ma Super Note.md"

Et là, magie !! Vos modifs se retrouvent dans l'app Notes, synchronisées sur tous vos appareils Apple (iPhone, iPad, Mac). C'est dommage que ça soit pas natif ce truc.

Stash c'est chouette (Oula pas facile à prononcer vite celle là) parce qu'il utilise du YAML front-matter pour lier chaque fichier Markdown à une note Apple spécifique (via un ID unique). Quand vous faites stash push, le contenu du fichier écrase la note. Quand vous faites stash pull, la note écrase le fichier.

Attention toutefois car c'est là que ça se corse... Stash écrase sans pitié !! Si vous modifiez votre note sur l'iPhone ET votre fichier Markdown en même temps, c'est le dernier qui parle qui a raison. Y'a pas de fusion intelligente à la Git, donc gaffe aux conflits. C'est un peu brut de décoffrage, mais au moins c'est clair et prévisible.

Bref, pour ceux qui veulent scripter leurs notes, automatiser des backups, ou simplement bosser en Markdown avec leur éditeur préféré, c'est le chaînon manquant. J'avais testé Obsidian et Joplin par le passé, mais la synchro iCloud ou WebDAV m'avait saoulé. Là, c'est le bon compromis avec l'interface Apple pour la saisie, le Markdown pour le stockage long terme.

Un générateur de mots de passe qui utilise des regex

Vous avez déjà galéré à créer un mot de passe qui respecte les 42 règles imposées par un site un peu trop zélé ? Genre au moins 16 caractères, une majuscule, une minuscule, un chiffre, un caractère spécial, et surtout pas le prénom de votre chat ni votre date de naissance ?

C’est le genre de micro-agression qui peut flinguer une matinée ^^.

Heureusement, y’a un dev qui a eu une idée de génie en inversat complètement le problème grâce à la puissance brute des expressions régulières.

Son outil s'appelle RegExp Password Generator et comme son nom l'indique, c'est un générateur de mots de passe qui fonctionne avec des regex. Au lieu de cocher des cases un peu nazes dans une interface classique, vous définissez vos contraintes ligne par ligne sous forme d'expressions régulières.

Par exemple, vous balancez ^.{16,32}$ pour imposer une longueur entre 16 et 32 caractères, [0-9] pour exiger au moins un chiffre, and [A-Z] pour une majuscule. L’outil va alors calculer l’intersection de tous vos patterns pour vous sortir 5 mots de passe aléatoires qui matchent absolument toutes vos règles simultanément.

L'outil repose heureusement sur la bibliothèque TypeScript @gruhn/regex-utils. Pour ceux qui font du code, vous savez que manipuler des regex pour faire des intersections ou des compléments, c'est normalement une purge monumentale que la plupart des langages de programmation ne gèrent pas nativement.

C'est pourquoi ici, la lib fait tout le sale boulot de calcul d'ensemble pour s'assurer que vos contraintes ne sont pas contradictoires. Si vous demandez un truc impossible (genre un mot de passe qui doit être composé uniquement de chiffres ET uniquement de lettres), l’outil vous le dit direct au lieu de mouliner dans le vide.

Et tout tourne en local dans votre navigateur donc c'est cool pour la vie privée, par contre, gardez en tête que la lib supporte un sous-ensemble bien précis de la syntaxe RegExp de JavaScript. Inutile donc tenter des trucs ultra exotiques comme les lookbehinds complexes, l'outil risque de vous renvoyer une erreur.

Le côté pratique, c'est que vos contraintes sont directement encodées dans l'URL. Du coup, vous pouvez bookmarker une config précise pour un site spécifique ou la partager avec vos collègues sans avoir à tout retaper à chaque fois. Un petit compteur affiche même le nombre total de combinaisons possibles avec vos règles, histoire de vérifier que vous n'avez pas créé un mot de passe trop prévisible (ou au contraire, un truc tellement restrictif qu'il n'existe qu'une seule possibilité).

Bref, j'ai trouvé ça original !

OBS Studio 32 débarque avec un tout nouveau moteur de rendu pour macOS

Passer d'OpenGL à Metal, c'était visiblement pas une mince affaire pour l'équipe d'OBS. La techno d'Apple est sortie y'a 10 ans sous macOS mais ça leur a pris un peu de temps pour la migration... Et n'allez pas croire que je "juge"... Tout ce temps, c'est normal car c'est un soft multiplateforme, donc faut gérer trois écosystèmes en parallèle et ça, ça prend un temps fou.

Tous les effets visuels d'OBS ont dû être réécrits pour fonctionner avec Metal, le langage graphique d'Apple étant bien plus exigeant que celui de Windows et la preview peut parfois légèrement saccader à cause de macOS, mais le flux final reste impeccable.

Niveau performances, Metal fait aussi bien voire mieux qu'OpenGL dans les builds Release mais c'est surtout pour le débogage que ça change tout car les développeurs ont maintenant accès à des outils de diagnostic bien plus performants, ce qui devrait accélérer les corrections de bugs et les futures améliorations.

Pour l'activer (ouais on est chaud !!), c'est hyper simple. Vous allez dans les paramètres d'OBS 32.0, onglet Avancé, section Vidéo, et vous sélectionnez Metal dans le menu déroulant du renderer. Un petit redémarrage de l'appli et hop, vous êtes passé sur le nouveau moteur.

Ce qui est cool aussi avec cette version 32.0, c'est qu'elle inclut un gestionnaire de plugins et des améliorations pour les fonctionnalités NVIDIA RTX.

L'équipe OBS bosse aussi sur des backends Vulkan pour Linux et Direct3D 12 pour Windows, parce que les anciennes APIs comme OpenGL et D3D11 reçoivent de moins en moins de support des fabricants de GPU, donc si vous êtes sur Linux ou Windows, votre tour viendra aussi.

Voilà, après si ça bug, revenez sur OpenGL, mais y'a quand même de bonnes chances que ça tourne mieux qu'avant.

Source

Tunnl.gg - Exposez votre localhost en une seule commande SSH

Vous développez un truc en local et vous avez besoin de le montrer à quelqu'un au travers d'Internet, genre pour tester un webhook, faire une démo rapide, ou juste impressionner votre collègue à distance ? Hé bien au lieu de vous farcir une config nginx + certificats SSL + ouverture de ports sur le routeur (Beurk !), y'a Tunnl.gg qui fait tout ça en une SEULE ligne de commande.

Vous tapez une commande SSH, et hop, vous avez une URL publique qui pointe vers votre serveur local. Pas de client à installer, pas de compte à créer, pas de token à configurer, juste SSH, que vous avez forcément déjà sur votre machine.

Donc pour exposer votre app qui tourne sur le port 8080, vous faites :

ssh -t -R 80:localhost:8080 proxy.tunnl.gg

Et c'est parti ! Le service vous file une URL avec un sous-domaine aléatoire, genre abc123.tunnl.gg, et tout ce qui arrive dessus est redirigé vers votre localhost:8080. Et magie magie, HTTPS est automatique, donc pas besoin de vous soucier des certificats.

Du coup, si vous connaissez déjà ce genre d'outils, vous pensez peut-être à Bore que j'ai présenté il y a pas longtemps, ou Portr qui fait sensiblement la même chose, ou encore Chisel pour les amateurs de tunnels TCP/UDP via HTTP. Tous ces outils font du tunneling, mais Tunnl.gg se distingue par son approche "zéro friction" sans binaire à télécharger, et sans compte à vous créer.

Pour le moment, le service est gratuit pour un usage personnel mais les développeurs prévoient des plans payants plus tard avec des features comme les domaines personnalisés, les sous-domaines persistants et des limites de débit plus élevées. On verra bien mais en attendant, pour tester un truc vite fait ou faire une démo, la version gratuite suffira largement.

Bon, y'a quand même quelques trucs à savoir. Primo, ça ne marche qu'avec du trafic HTTP/HTTPS pour l'instant. Deuxio, le TLS est côté serveur, donc techniquement ils peuvent voir votre trafic même s'ils disent ne pas l'inspecter. Donc pour des données vraiment sensibles, gardez ça en tête. Et tertio, comme tout service de ce type, y'a des limites de fair-use pour éviter les abus.

Bref, si vous cherchez un moyen rapide d'exposer un port local sans vous prendre la tête avec la config, Tunnl.gg fera le taf. Au pire vous aurez découvert une alternative de plus à ngrok , au mieux ça deviendra votre outil par défaut pour les démos express...

Merci à Lorenper pour le partage !

SkillsMP - Plus de 26 000 skills Claude à portée de clic

Vous utilisez Claude Code ? Alors vous savez probablement que l'outil d'Anthropic peut être étendu avec des "Skills", c'est à dire des modules qui ajoutent des capacités supplémentaires à Claude. Y'a un fichier SKILL.md, des scripts optionnels, et comme ça, votre assistant sait faire de nouvelles choses. Sauf que pour trouver ces skills quand on n'a pas envie de se les palucher à la main (ou à l'IA), faut aller les chercher dans les repos GitHub, fouiller les README, comparer les étoiles... La flemme quoi...

C'est la raison d'être de SkillsMP qui vient résoudre ce problème. C'est en fait un marketplace communautaire (pas affilié à Anthropic) qui agrège plus de 26 000 skills Claude provenant de dépôts GitHub publics, le tout présenté dans une interface qui ressemble à un App Store, avec des catégories, des stats, et tout le toutim.

Je vous préviens d'emblée, le site est un peu bordélique. Entre les filtres, les catégories (Développement, Outils, Data & AI, DevOps...), les tris par popularité ou mise à jour récente, et l'interface du tur-fu, faut un peu tâtonner au début. Mais une fois qu'on a pigé comment ça marche, c'est vraiment cool de pouvoir explorer tout ça au même endroit.

Le truc intéressant c'est que SkillsMP filtre automatiquement les repos de mauvaise qualité. Pour qu'un skill apparaisse, il faut minimum 2 étoiles sur GitHub. Ça évite de se retrouver avec des trucs abandonnés ou mal foutus. Y'a même un badge "Marketplace Ready" pour les skills qui ont un fichier marketplace.json bien configuré.

Pour installer un skill que vous avez trouvé, vous avez alors 3 options. Soit vous le mettez dans ~/.claude/skills/ pour l'avoir disponible partout sur votre machine. Soit vous le collez dans .claude/skills/ dans votre projet si vous voulez le partager avec votre équipe via Git. Soit vous passez par l'installation plugin avec une commande du genre /plugin marketplace add anthropics/skills.

La différence avec les commandes slash c'est que les skills sont "model-invoked". Ça veut dire que c'est Claude qui décide tout seul quand les utiliser en fonction du contexte de votre demande. Vous n'avez donc pas besoin de taper /truc pour activer un skill, il se déclenche automatiquement quand c'est pertinent.

Attention quand même, comme toujours avec du code open source venu d'Internet, les développeurs de SkillsMP le précisent bien, ils filtrent les repos pourris mais ça reste votre responsabilité de vérifier ce que vous installez. Un skill a accès à pas mal de trucs sur votre machine, donc prenez 2 minutes pour auditer le code avant d'installer un truc d'un développeur inconnu.

Bref, si vous passez beaucoup de temps sur Claude Code et que vous voulez découvrir ce que la communauté a créé comme extensions, SkillsMP c'est un bon point de départ. C'est gratuit, y'a pas besoin de compte, et ça vous évite de passer des heures à fouiller GitHub manuellement.

Un grand merci à Lorenper pour le partage !

Github Store - Un App Store qui pioche directement dans les releases GitHub

Parfois, c'est galère de chercher des logiciels sur GitHub... et je sais de quoi je parle car je passe littéralement mes journées à faire ça... Faut trouver un projet cool, faut aller dans les releases ou le compiler, l'installer, le tester et ensuite déterminer si ça vous sera utile avant de passer à la rédaction d'un article comme celui que vous êtes en train de lire.

J'adore faire ça mais aller digger Github, ça peut vite devenir pénible.

Alors ça tombe bien car voici un projet qui transforme GitHub en véritable App Store. Ça s'appelle Github Store , c'est disponible sur Android et desktop (Windows, macOS, Linux), et ça vous propose une interface propre qui présente les logiciels open source comme dans un store classique, avec des catégories, des screenshots, des descriptions, et un bouton pour installer en un clic.

Comme c'est bien pensé, l'application va automatiquement indexer les repos GitHub qui contiennent des binaires installables dans leurs releases. Elle filtre les vrais installeurs (.apk, .exe, .msi, .dmg, .pkg, .deb, .rpm) et ignore les archives de code source que GitHub génère automatiquement, du coup, vous ne voyez que les trucs que vous pouvez réellement installer.

L'interface est organisée avec des sections "Populaire", "Récemment mis à jour" et "Nouveautés" et vous pouvez aussi filtrer par plateforme pour ne voir que les apps compatibles avec votre système. Puis quand vous cliquez sur une app, vous avez tous les détails : nombre d'étoiles, forks, issues, le README complet rendu en markdown, les notes de release, et la liste des fichiers disponibles avec leur taille.

Pour qu'un repo apparaisse dans Github Store, il faut qu'il soit public, qu'il ait au moins une release publiée (pas de brouillon), et que cette release contienne un installeur dans un format supporté. Et y'a pas de soumission manuelle à faire, puisque tout est automatique.

Côté technique, c'est du Kotlin Multiplatform avec Compose pour l'interface. Sur Android, quand vous installez une app, ça délègue au gestionnaire de paquets natif et sur desktop, ça télécharge le fichier et l'ouvre avec l'application par défaut de votre système.

Vous pouvez vous connecter avec votre compte GitHub via OAuth. C'est pas obligatoire, mais ça permet de passer de 60 à 5000 requêtes par heure sur l'API GitHub, ce qui est bien si vous êtes du genre à explorer plein de repos.

L'app est dispo sur les releases GitHub du projet et aussi sur F-Droid pour Android. C'est sous licence Apache 2.0, donc vous pouvez en faire ce que vous voulez.

Attention quand même, les développeurs le précisent bien que Github Store ne fait que vous aider à découvrir et télécharger des releases. La sécurité et le comportement des logiciels que vous installez, c'est la responsabilité de leurs auteurs respectifs et la votre, donc comme d'hab, faites gaffe à ce que vous installez.

Un grand merci à Lorenper pour l'info !

sqlit - Quand y'en a marre de lancer SQL Server Management Studio pour une requête

Vous aussi vous avez ce truc où vous devez juste faire un petit SELECT rapide sur votre base de données, et là vous lancez un monstre du genre SQL Server Management Studio ou DBeaver, vous attendez que ça se charge pendant 47 ans, que ça bouffe les 2 Go de RAM qu'il vous reste, et tout ça pour une requête de 3 lignes ?

Moi ça m'énerve profondément, j'avoue... Pas le temps, pas la patience !

Heureusement, y'a un dev qui en a eu encore plus marre que moi et qui a pondu sqlit . C'est une interface TUI (Terminal User Interface, je précise...) qui tourne direct dans votre terminal et qui supporte un paquet de bases de données différentes telles que PostgreSQL, MySQL, SQL Server, SQLite, MariaDB, Oracle, DuckDB, CockroachDB, Supabase, Turso... La liste est longue mais en gros, si ça parle SQL, sqlit sait s'y connecter.

Le truc est inspiré de lazygit , un client Git en TUI que beaucoup de devs adorent, ce qui fait qu'on retrouve cette approche "lazy" où l'interface se suffit à elle-même. Comme ça y'a pas besoin de mémoriser 150 raccourcis clavier, puidqu'il y a une aide contextuelle qui s'affiche et qui vous dit quoi faire, comme votre maman quand vous ne l'avez absolument pas sollicitée.

On a donc de l'autocomplétion SQL qui va chercher les noms de tables et de colonnes, un historique des requêtes par connexion (pratique pour retrouver cette requête chelou qu'on avait bidouillée y'a 3 semaines), et même la gestion des tunnels SSH intégrée pour se connecter à des bases distantes. Les utilisateurs de Vim seront contents aussi, car y'a un mode d'édition modal pour naviguer comme dans votre éditeur préféré.

Pour l'installer, c'est hyper simple :

pip install sqlit-tui

Et après vous tapez sqlit dans votre terminal et c'est parti. Les drivers pour chaque type de base de données s'installent à la demande la première fois que vous essayez de vous connecter. Donc pas de dépendances inutiles qui traînent si vous utilisez juste PostgreSQL par exemple.

Y'a aussi un mode CLI si vous voulez scripter vos requêtes :

sqlit query -c "MaConnexion" -q "SELECT * FROM Users" --format csv

Le seul truc naze je trouve, c'est le nom "sqlit" qui ressemble trop à SQLite. Bon courage pour googler des infos dessus... Je sais de quoi je parle, toutes les 2 semaines, y'a une entreprise Korben qui pop en voulant surfer sur mon buzz (ouais j'ai le melon, mdr) et qui passe toutes ses levées de fonds en adwords pour se positionner avant moi sur Google ^^. C'est couillon ^^.

Bref, si vous vivez dans le terminal et que vous en avez marre de lancer des client lourds juste pour un SELECT, c'est vraiment pratique.

❌