Vue lecture

pyinfra - Du Python au lieu du YAML pour gérer vos serveurs

Ansible, c'est bien. Mais du YAML à perte de vue pour configurer trois serveurs c'est pas non plus l'idéal. Hé bien ça tombe bien car y'a maintenant pyinfra , qui fait tout pareil sauf qu'on écrit du Python. En gros, votre script de déploiement c'est juste du code Python normal avec des imports, des boucles, des conditions... tout ça, tout ça...

Ce projet existe depuis 2014, il est sous licence MIT et côté perfs, c'est de ce que j'ai lu, jusqu'à 10 fois plus rapide qu'Ansible sur des déploiements massifs (genre plusieurs milliers de machines). Bon, sur le papier c'est bien, mais en fait ça dépend surtout de votre infra SSH et de la latence réseau.

Alors ça marche comment ?

Hé bien vous installez le bazar avec uv tool install pyinfra et hop, vous pouvez déjà lancer des commandes sur vos serveurs comme ceci :

pyinfra mon-serveur.net exec -- echo "hello world"

Ça fonctionne en SSH sur le port 22, sur des conteneurs Docker, ou même en local. Le truc est complètement agentless, du coup pas besoin d'installer quoi que ce soit sur les machines cibles. Suffit d'un accès shell POSIX tout ce qu'il y a de plus classique et c'est réglé.

Bon, ça c'est pour l'ad-hoc mais en fait le vrai kiff, ce sont les opérations déclaratives. Je vous montre... Vous créez un fichier deploy.py et dedans, vous mettez ça :

from pyinfra.operations import apt, systemd

apt.packages(
 name="Install nginx",
 packages=["nginx"],
)

systemd.service(
 name="Ensure nginx is running",
 service="nginx.service",
 running=True,
 enabled=True,
)

C'est du bon vieux Python sans DSL bizarre (Domain-Specific Language), pas d'indentation YAML qui vous pète entre les doigts à 3h du mat parce qu'il manque un espace. Et si vous voulez une boucle ? bah for. Une condition ? bah if. Ou encore importer boto3 pour causer avec AWS depuis votre Debian 12 ? No problemo !

Et pour cibler vos machines, suffit de créer un fichier inventory.py comme ceci :

targets = ["@docker/ubuntu", "mon-serveur.net", "autre-serveur.net"]

Puis ensuite un petit : pyinfra inventory.py deploy.py et c'est parti mon kiki. L'outil gère le parallélisme sur 50 serveurs, les diffs (pour voir ce qui va changer AVANT d'appliquer), et le mode dry-run pour les plus prudents.

Côté intégrations, ça cause avec Terraform, Docker, Vagrant... et comme c'est du Python, vous avez accès à tout l'écosystème. Genre, vous voulez checker l'état d'une API avant de déployer ? Un import requests et c'est plié. La doc sur docs.pyinfra.com est plutôt complète, et y'a même la gestion des secrets intégrée avec variables d'environnement, fichiers chiffrés, HashiCorp Vault ou AWS Secrets Manager.

Ça tourne depuis Linux et macOS (et Windows via WSL), mais les cibles doivent être des systèmes POSIX donc pas de déploiement natif sur Windows. Et si votre inventaire contient 3 000 machines avec des configs SSH différentes... bon courage pour le debug en cas de souci (le mode -vvv aide, mais bon...).

Bref, si vous en avez marre du YAML et que Python c'est votre truc, allez jeter un oeil.

Merci à Letsar pour la découverte !

  •  

FDM-1 - L'IA qui utilise un ordinateur comme vous

Standard Intelligence vient d'annoncer FDM-1, un modèle IA capable de contrôler n'importe quel ordinateur... en regardant l'écran et en cliquant. Comme nous !!

En gros le modèle regarde des pixels, comprend l'interface et exécute des actions. Clics, mouvements de souris, saisie clavier... et ça tourne à 30 FPS avec 11 ms de latence. Donc c'est beaucoup plus réactif que la plupart des français devant un formulaire administratif, quoi... ^^

Concrètement, vous pourriez lui demander de remplir vos tableurs Excel ou Google Sheets, de naviguer dans SAP, Salesforce ou n'importe quel logiciel métier sous Windows, macOS ou Linux, ou d'automatiser ces clics débiles que vous faites 200 fois par jour. Attention, c'est pas un bot Selenium ou un macro AutoHotkey hein. C'est vraiment un truc qui comprend ce qu'il voit à l'écran.

Du coup, ça se compose de 3 blocs. Un encodeur vidéo qui compresse le flux visuel, un modèle de dynamique inverse, entraîné sur 40 000 heures de données humaines, qui relie les actions aux changements d'écran, et bien sûr le modèle d'action, qui prédit le prochain clic.

Le truc carrément dingue, c'est l'échelle d’entrainement de ce modèle... 11 millions d'heures de vidéo d'entraînement, 80 000 machines virtuelles en parallèle, un seul GPU NVIDIA H100 qui pilote 42 VMs à la fois. Ça représente plus d'un million de simulations par heure. Y'a de quoi faire donc !

Et les applications vont loin... Par exemple, CAO sur Blender 3D, conduite autonome avec moins d'une heure de vidéo à 1080p, et même du fuzzing d'applications bancaires (Ahaha, je sais ça va vous plaire ça !).

Si vous connaissez déjà des agents comme ByteBot ou Skyvern , FDM-1 joue dans une autre catégorie. Ces outils s'appuient sur des LLMs pour comprendre ce qu'ils voient mais FDM-1, lui, fonctionne sans aucun modèle de langage. En fait, c'est du pur apprentissage visuel sans aucun GPT en dessous. C'est un agent IA autonome sous stéroïdes, quoi.

Et comparé aux solutions RPA classiques genre UiPath ou Automation Anywhere, la différence est radicale. Le RPA traditionnel, c'est des scripts qui cassent dès qu'un bouton bouge de 3 pixels. Mais l'agent de Standard Intelligence lui s'en fiche puisqu'il comprend visuellement ce qu'il voit et saura s'adapter en quelques minutes. Je sens que les scrapers qui me lisent vont mouiller leur culotte...

Par contre, c'est maintenant le moment où je vous déçois un peu car le truc n'est pas encore dispo publiquement et aucune date n'est annoncée. Et les démos viennent de l'équipe elle-même... donc voilà, je reste prudent.

Et côté sécurité, y'a de quoi flipper un peu car un agent capable de cliquer partout sur n'importe quelle interface, ça ouvre la porte au phishing automatisé ou au clickjacking à grande échelle, sauf si des garde-fous sérieux sont mis en place (et pour l'instant, j'en vois pas).

Bref, c'est du lourd sur le papier mais reste à voir quand on pourra y toucher.

  •  

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.

  •  

gh-aw - GitHub lâche des agents IA dans vos pipelines

Bonne nouvelle pour tous les dev qui n'ont pas peur de l'IA : GitHub vient de sortir gh-aw, une extension CLI qui permet d’écrire des workflows agentiques… en markdown. Au chiotte le YAML à rallonge pour vos pipelines CI/CD, vous rédigez vos instructions en langage naturel et c'est une IA (Copilot, Claude ou Codex au choix) qui se charge de les exécuter dans GitHub Actions.

En gros, vous décrivez ce que vous voulez dans un fichier .md, genre"em>fais-moi un rapport quotidien des issues ouvertes" ou "refactorise les fonctions trop longues", et l'agent s'en occupe. Il analyse le contexte de votre dépôt, prend des décisions et livre le résultat sous forme de pull request. Par contre, attention, si votre prompt dans le fichier .md est trop vague genre "améliore le code ", l'agent risque de partir dans tous les sens et vous pondre une PR de 200 fichiers. Faut être précis dans vos instructions, sinon c'est la loterie.

Côté sécurité, ils ont pas rigolé parce que lâcher une IA en roue libre sur votre code, ça pourrait vite tourner au cauchemar (J'en avais d'ailleurs parlé avec les backdoors planquées dans les fichiers de config ). Ici, tout est sandboxé avec des permissions en lecture seule par défaut sur le runner. Les opérations d’écriture passent par des "safe-outputs" préapprouvés, y'a de l'isolation réseau, du pinning SHA sur chaque dépendance npm/pip… Bref, ils ont pas fait les choses à moitié, côté garde-fous.

Côté moteurs IA, vous avez le choix entre GitHub Copilot, Claude d'Anthropic (via l'API, faut un compte payant), OpenAI Codex ou même votre propre processeur custom. Claude pour du refactoring ça peut être pas mal je pense parce que la fenêtre de contexte est capable d'avaler un dépôt entier, mais pour du triage d'issues, Copilot suffira largement. Comme d'hab, ça dépend de vos besoins (et de votre portefeuille).

  •  

BrowserWing - Laissez l'IA prendre le contrôle de votre navigateur

Vous rêvez de pouvoir dire à une IA "va sur ce site, remplis ce formulaire avec mes infos, et clique sur le gros bouton rouge" et que ça se fasse tout seul pendant que vous allez vous chercher un café ? Hé bien c'est exactement la promesse de BrowserWing , un petit outil open source qui fait le pont entre vos modèles de langage (via les API d'OpenAI, Claude, DeepSeek...) et votre navigateur Chrome ou Chromium.

En fait BrowserWing va enregistrer vos actions dans le navigateur (clics, saisies, navigation), les transformer en scripts, puis les convertir en commandes MCP (Model Context Protocol). Pour ceux qui débarquent, le MCP c'est le nouveau standard qui permet aux IA de discuter avec des outils externes. Vraiment c'est super pratique comme protocole. Je l'utilise tous les jours, et je vous recommande vraiment de vous y intéresser.

Du coup, grâce à ça, vos agents IA peuvent ensuite rejouer ces actions. C'est comme si vous créiez des macros pour le web, mais intégrables dans un flux piloté par l'intelligence artificielle.

Attention toutefois, on est sur une version très précoce (v0.0.1), donc le jeu de commandes est encore limité et les choses peuvent bouger mais l'idée est là...

Voilà, c'est parfait pour simplifier l'automatisation de toutes ces tâches répétitives et reloues qu'on se cogne quotidiennement sur le web. On peut envisager du scraping, du remplissage de formulaires, ou même des workflows qui enchaînent plusieurs sites et l'avantage par rapport à un script Selenium ou Playwright classique, c'est que l'IA peut potentiellement mieux digérer les petits changements visuels et comprendre le contexte de la page.

Comment l'installer sans se brûler les ailes

Pour tester la bête, vous avez deux options. La plus simple, c'est de récupérer le binaire précompilé directement sur la page Releases du projet GitHub. Vous prenez celui qui correspond à votre OS, et hop, c'est parti.

Sur Linux ou macOS :

chmod +x ./browserwing
./browserwing --port 8080

Sur Windows :

./browserwing.exe --port 8080

Une fois que le serveur tourne, il suffit d'aller sur http://localhost:8080 pour accéder à l'interface. Pour les plus barbus qui aiment bien compiler eux-mêmes (je sais qu'il y en a parmi vous), c'est aussi possible via un petit make install et make build-embedded, à condition d'avoir Go 1.21+ et pnpm 9 sous le coude.

Le futur de la navigation assistée ?

Une fois l'interface lancée, le workflow est plutôt intuitif. Vous ouvrez un navigateur piloté par BrowserWing, vous cliquez sur "Enregistrer", et vous faites votre petite popote habituelle. Une fois fini, l'outil vous génère un script que vous pouvez éditer visuellement avant de le transformer en commandes MCP exploitables par n'importe quel agent compatible.

Le truc vraiment cool, c'est que BrowserWing gère la persistance des cookies entre les sessions. Ça veut dire que vous pouvez automatiser des actions sur des sites où vous devez être connecté sans avoir à vous retaper l'authentification à chaque fois. L'IA peut ensuite combiner plusieurs scripts et prendre des décisions en fonction du contenu de la page. C'est plus souple qu'un script codé en dur qui panique au moindre popup inattendu.

Bref, si vous passez vos journées à faire du copier-coller entre des sites web ou que vous voulez voir ce que l'automatisation par IA a vraiment dans le ventre (même si c'est encore "work in progress"), allez jeter un œil à BrowserWing. C'est sous licence MIT, c'est gratuit, et ça pourrait bien vous sauver quelques heures de vie par semaine à l'avenir. D'ailleurs, ça me rappelle un peu ce que je vous disais sur Chrome-GPT à l'époque, mais en beaucoup plus moderne grâce au MCP.

Un immense merci à Lorenper pour le partage de cette pépite !

  •  

Des scripts tout faits pour votre Proxmox

Ce matin, je discutais avec Emmanuel (un lecteur fidèle) sur mon Linkedin Korben et il m'a partagé une ressource vraiment chouette. Si comme moi vous jouez un peu parfois avec un serveur Proxmox qui tourne à la maison pour vos expérimentations ou votre domotique, vous savez que configurer chaque VM ou conteneur LXC peut vite devenir chronophage. On copie-colle des commandes, on installe des dépendances, on se plante, on recommence... La routine quoi sauf que cette routine peut vite devenir reloue.

Hé bien, fini la galère !!!! Le projet dont je veux vous parler aujourd'hui s'appelle Proxmox VE Helper-Scripts et c'est une collection communautaire de scripts (plusieurs centaines !) qui permet d'installer et de configurer tout un tas de services en une seule ligne de commande.

En gros, c'est une immense boîte à outils pour votre hyperviseur. Vous avez besoin d'une instance Home Assistant pour gérer des ampoules connectées ? Hop, vous lancez le script et ça vous crée le conteneur LXC tout propre. Vous voulez monter un serveur média avec Plex ou Jellyfin ? Pareil, c'est généralement plié en quelques minutes (selon votre connexion évidemment).

Vous allez sur le site, vous cherchez l'outil qui vous intéresse, vous copiez la commande bash fournie (du style bash -c "...") et vous la collez dans le shell de votre nœud Proxmox. Et hop, l'assistant se lance. Il vous pose quelques questions (IP statique ou DHCP, espace disque, RAM... ce genre de trucs classiques) et puis tente de s'occuper de tout le reste (si les planètes sont bien alignées et que votre karma est au top !).

Je trouve ça génial parce que non seulement ça gère l'installation, mais ça s'occupe aussi des mises à jour. Mais bon, attention quand même parce qu'une mise à jour upstream peut parfois casser le script, donc prudence. C'est d'ailleurs super utile si vous utilisez Proxmox sur un Raspberry Pi (via Pimox), même si l'architecture ARM peut poser souci avec certains scripts. D'ailleurs, bonne nouvelle pour les utilisateurs de Pimox : il existe Pimox-Scripts , un portage de ces mêmes Helper Scripts mais adaptés spécifiquement pour ARM/Raspberry Pi. Tous les scripts ne sont pas encore dispos (moins de contributeurs), mais y'a déjà de quoi faire !

Parmi les scripts disponibles, on retrouve les classiques Docker, AdGuard Home, Pi-hole, mais aussi des trucs plus pointus pour le monitoring ou la sécurité. C'est vraiment très complet, y compris si vous êtes dans une optique de création de lab de cybersécurité .

Après, je dois quand même vous faire une petite mise en garde de circonstance. Car comme d'habitude, exécuter des scripts bash trouvés sur le net direct en root... comment dire... c'est jamais sans risque. Le code est open source et maintenu par une communauté active, ça facilite l'audit, mais ce n'est pas une garantie de sécurité absolue. Sauf si vous aimez vivre dangereusement, jetez toujours un œil au code avant de valider. La confiance n'exclut pas le contrôle !!

Un grand merci à Emmanuel pour le tuyau initial et à Karl pour l'info sur Pimox-Scripts !

  •  

Alyvix Home | Alyvix

"Build end-user AI bots. Alyvix visually interacts with any Windows application like ERPs, CRMs or web browsers.
Run and measure your business-critical workflows like a human would, but continuously."


Permalink
  •  

GitHub - HzaCode/OneCite: 📚 An intelligent toolkit to automatically parse, complete, and format academic references, with Model Context Protocol (MCP) support.

Outil Python qui parse, complète et formate des références lorsqu'on lui fournit des identifiants (DOI, PMID, arXiv ID, ISBN ou titre d'article)

Output BibTeX, APA ou MLA

Rien que Zotero ne puisse faire (même mieux), mais l'outil est tout de même intéressant à tester.

découvert grâce à Pablo: https://www.zotero.org/pablog/items/R7NM55A2


Permalien
  •  

Comment l’IA redessine les outils collaboratifs

Intelligence artificielle, automatisation et intégration multiplateforme : les solutions de travail collaboratif changent de dimension. Pour les managers IT, ces évolutions représentent à la fois une opportunité de productivité et un défi d’intégration.

  •  
❌