Vue lecture

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

Google Workspace CLI - Pour piloter tous les services Google avec votre IA

Justin Poehnelt, Senior Developer Relations Engineer chez Google, vient de balancer sur Github un outil en ligne de commande (CLI), codé en Rust qui permet de faire un truc trop pratique, à savoir piloter entièrement Workspace depuis le terminal. Ce logiciel nommé GWS est donc capable de gérer Gmail, Drive, Calendar, Sheets et sept autres services Google d'un coup. Et en plus, comme il a été conçu pour les agents IA, donc c'est pas juste pour vous et votre terminal !

Une fois installé via npm, cargo, brew ou un binaire pré-compilé, vous tapez gws auth login pour vous authentifier via OAuth et vous pouvez ensuite attaquer onze services depuis votre shell : Drive, Gmail, Calendar, Sheets, Docs, Chat, Admin, Apps Script, Tasks, Workspace Events et Model Armor.

Niveau archi, au lieu de hard-coder chaque commande dans le binaire, gws interroge tout simplement le Discovery Service de Google au démarrage et reconstruit son arbre de commandes à la volée. Du coup quand Google ajoute un endpoint à l'API Sheets, le CLI le voit apparaître tout seul. C'est trop bien parce que ça évite de devoir attendre une release pour utiliser un éventuel nouveau service de Google. Et pour un agent IA qui re-fetch le schéma à chaque run, c'est plutôt une bonne idée.

Donc en plus de démarrer en moins d'une seconde, GWS crache des sorties en JSON structurées, y'a un mode --dry-run qui montre la requête sans l'envoyer, et de l'auto-pagination via --page-all. Et côté commandes utilitaires, vous avez aussi les + qui sont des helpers cousus main tels que gws gmail +send, gws drive +upload, gws calendar +agenda, gws sheets +append, gws gmail +triage et un gws gmail +standup-report qui résume vos mails de la semaine en quelques lignes.

Le repo embarque aussi 40+ skills d'agent prêts à l'emploi du type "résume mes mails non lus" ou "génère mon rapport", une extension Gemini CLI qui s'installe avec gemini extensions install https://github.com/googleworkspace/cli, et le helper +sanitize-response qui fait passer la sortie par Model Armor (le filtre anti-prompt-injection de Google Cloud) pour éviter les réponses bizarres.

En gros, c'est un outil pensé pour faire piloter votre Workspace par Claude, Gemini ou n'importe quel agent. Comme ça vous allez pouvoir écrire un workflow qui lit vos mails non lus, en fait un résumé, le poste dans un Chat et classe tout ça proprement dans Drive... sans avoir à toucher à la souris ni avoir à utiliser votre cerveau léthargique. Elle est pas belle la vie ?

Sauf que. Le projet porte le disclaimer "This is not an officially supported Google product", et un employé Google a confirmé sur le thread Hacker News (presque 1000 points, quand même) que c'est un projet DevRel. Comprendre : pas de SLA, pas de roadmap garantie, pas d'équipe SRE qui veille au grain. Vous savez comment ça finit chez Google avec ce genre de statut !

Bref si vous êtes chaud pour tester, le binaire est dispo ici . Maintenant reste à voir si Google lui donnera un statut officiel ou si GWS s'éteindra discrètement comme tant d'autres projets internes oubliés...

NeatMail - L'assistant IA open source pour Gmail/Outlook

Une boîte mail avec 12 000 messages non lus (genre 32 par jour pendant un an), c'est pas une vie mais c'est pas une fatalité non plus puisque Lakshay Gupta vient de poster NeatMail . Cet outil est un assistant IA qui labelise vos mails Gmail ou Outlook automatiquement et qui rédige des brouillons de réponse dans votre style d'écriture. Le code est dispo sur Github, auto-hébergeable, mais je reviendrai sur la licence (spoiler : c'est custom)...

L'interface marketing de NeatMail

En gros, vous connectez votre Gmail ou Outlook via OAuth (rien à faire côté mot de passe, et tant mieux vu les fuites récentes via les outils IA ), et NeatMail utilise ensuite OpenAI GPT-4o mini en backend pour classifier chaque mail entrant (avec un taux annoncé de 95% de confiance, mais c'est à voir en pratique).

Comme ça, plutôt que d'attendre que vous traitiez vos messages par batch comme un facteur dépressif, le truc bosse en temps réel ! Un mail arrive, hop, label appliqué et ainsi de suite. Et si le système juge que ça mérite une réponse, il vous prépare un brouillon dans votre ton habituel.

Y'a aussi des trucs qui font la différence avec un simple filtre Gmail. Le système se souvient des conversations passées pour rester cohérent dans les brouillons, vérifie votre calendrier avant de proposer un créneau, et apprend votre style à force de relire ce que vous écrivez. La fonctionnalité de désinscription en un clic balaye aussi les newsletters promo, et il y a même une intégration Telegram qui ping votre téléphone quand un mail vraiment important arrive ("Oh cool encore un mail de mon avocat !").

Le chaos d'une boîte Gmail sans tri auto

Côté code, c'est du Next.js 16 + React 19 pour le front, Hono.js pour le backend, PostgreSQL pour les métadonnées, Redis Upstash pour la déduplication, et Inngest qui orchestre les workflows. Le tout majoritairement codé en TypeScript, avec un Dockerfile prêt à dégainer.

Faut juste vos identifiants Google Cloud, Microsoft Entra et OpenAI à côté pour faire tourner ça chez vous, ce qui n'est pas hyper user friendly à trouver mais reste faisable un dimanche pluvieux si vous avez la niak.

Pour le pricing, NeatMail propose 7 jours d'essai gratuit puis 7 dollars par mois. À comparer donc avec Superhuman qui demande entre 30 et 40 dollars mensuels pour le même genre de service, ou SaneBox qui démarre à 7 dollars mais ne propose pas de rédaction de brouillons par IA.

Sauf que là, le code EST sur GitHub, du coup si vous avez la flemme de payer 84 dollars par an (le prix d'un bon resto en amoureux 😍) et que vous savez configurer un PostgreSQL, vous économisez votre argent et vous gardez la main sur l'infra !

Brouillon de réponse pré-rédigé directement dans Gmail

Après faut quand même garder en tête que NeatMail est encore jeune, et que c'est un projet solo. Et côté licence, c'est pas du MIT pur puisque la licence réelle s'appelle "NeatMail Open Source License". C'est donc de la licence faite maison, avec de l'auto-hébergement autorisé, mais une interdiction complète de revendre une instance ou de monter un business concurrent.

Donc si vous comptiez forker le projet pour monter votre SaaS concurrent, oubliez ça direct, car ce n'est pas autorisé. Côté privacy, le créateur précise qu'aucun contenu de mail n'est stocké en base, mais juste les métadonnées (sachant que les mails passent quand même par OpenAI pour la classification, faut pas se mentir...).

Voilà, je trouve l'idée plutôt sympa. Le code est dispo sur GitHub si vous voulez self-hoster votre boîte mail intelligente, ou comme je vous le disais, y'a la version SaaS sur neatmail.app à 7 dollars par mois pour les flemmards. Carrément moins cher que Superhuman !

Tasket++ - Automatisez vos clics sans écrire une ligne

Simuler des clics, des frappes clavier, planifier l'extinction du PC ou prendre des screenshots en boucle, tout ça sans écrire une seule ligne de code... c'est ce que propose Tasket++ , un petit outil open source développé par un dev français.

En gros, c'est un planificateur d'actions utilisateur pour Windows 10 et plus. Vous définissez une liste d'actions (clic ici, tape ça, attends 5 secondes, ouvre ce fichier.exe), vous programmez le tout et hop, ça tourne en boucle sans que vous leviez le petit doigt. Le truc se lance au démarrage via une entrée dans la base de registre, ou via un raccourci .lnk sur le bureau et côté actions disponibles, c'est assez complet pour un outil qui pèse à peine 30 Mo.

Vous avez les séquences de touches avec gestion des délais entre chaque touche (pas mal pour simuler une frappe humaine plutôt qu'un copier-coller robotique), les déplacements de curseur pixel par pixel, le collage de texte, et surtout toute une batterie de commandes système : éteindre le PC via shutdown -s, redémarrer, tuer un processus avec taskkill, ouvrir un fichier ou une URL, créer ou supprimer des dossiers, et même prendre des captures d'écran automatiques en .png.

D'ailleurs, le coup des screenshots planifiés au démarrage, c'est un use case assez malin pour surveiller l'activité d'une machine ou pour fabriquer un timelapse de votre bureau !

Et sinon OUAIS, ça peut aussi simuler votre présence devant le PC. Des mouvements de souris, des clics, des frappes clavier... du coup si votre logiciel de monitoring corporate vous casse les pieds pendant la pause café, bon bah, vous savez ce qu'il vous reste à faire (j'ai rien dit ^^). Attention par contre, si votre boîte utilise un vrai EDR ou un agent qui checke les processus actifs, ça risque de pas suffire. Ce genre de monitoring va malheureusement souvent au-delà du simple mouvement de souris.

Cet outil c'est l'œuvre d'Amir Hammoutene, ingénieur dev basé en région parisienne, qui bosse dessus depuis février 2024. Pour les curieux qui connaissent Actiona , c'est dans la même veine, sauf que Actiona c'est plus complet mais faut toucher à du scripting, alors que Tasket++ c'est 100% GUI, y'a qu'à cliquer.

L'interface ne paie pas de mine (on est sur du Qt classique, pas du Material Design), mais bon, elle fait le taf ! Vous créez vos tâches dans des onglets, vous empilez vos actions dans l'ordre, et vous lancez sur votre machine.

Les fichiers de tâches sont alors sauvegardés en .scht dans un dossier saved_tasks/. Ce qui manque le plus je trouve c'est les raccourcis globaux pour déclencher une tâche depuis n'importe quelle appli, genre pendant un jeu. Mais c'est justement prévu dans les prochaines versions, avec aussi des alertes sonores et un portage Linux. Par contre, pour le moment c'est Windows only, et sauf si vous compilez le code source vous-même avec Qt Creator, pas moyen de le faire tourner sur autre chose.

C'est dispo gratuitement sur le Microsoft Store , ou en version portable (un .zip de 30 Mo à décompresser dans mon dossier, pas d'install).

Bref, si vous cherchez un truc simple pour automatiser vos actions quotidiennes sans vous farcir du scripting, allez jeter un oeil. Merci à Amir pour le lien !

❌