Laboratoire

Les outils que nous publions en open source et les briques que nous faisons tourner sur nos propres plateformes.

Outil open source

Claude Control Tower

Un outil en ligne de commande qui affiche, sous l'invite de Claude Code, l'état de la session et une seule recommandation : la plus urgente. Quand tout va bien, il ne conseille rien. Publié sur npm en version 0.1.0 le 5 août 2026, sous licence MIT.

Voir le dépôt de Claude Control Tower

TypeScriptNode.jstsupVitestGitHub Actionsnpm

Le problème

Les lignes d'état habituelles affichent des jauges (contexte, coût, quotas) sans dire quoi en faire. Pendant qu'un agent de code travaille, il faut pourtant décider à temps : compacter le contexte, committer, attendre un quota.

Quatre rangées fixes

Identité (modèle, dépôt, session), santé (jauge de contexte, quotas à 5 heures et à 7 jours, coût, durée), activité (branche, fichiers modifiés, différences) et conseil. Les segments les moins importants disparaissent quand le terminal est étroit.

Dix règles de conseil

Les règles surveillent la pression et la vitesse de remplissage du contexte, l'efficacité du cache, les quotas, le travail non commité, les conflits de fusion et le rythme de dépense. Un moteur les hiérarchise et n'affiche que l'avis le plus urgent.

Lisible partout

Trois thèmes dont un monochrome, des glyphes Unicode ou ASCII, et une règle : la couleur n'est jamais le seul signal.

Installation réversible

La commande d'installation sauvegarde la configuration existante, montre la modification et demande confirmation avant d'écrire. Une commande de diagnostic chronomètre un rendu.

Performance mesurée

Claude Code annule un rendu trop lent. Chaque collecteur a donc un budget de temps, le journal de session est lu par la fin et l'outil est livré en un seul fichier sans dépendance d'exécution. Le rendu mesuré est d'environ 120 ms à froid.

Usage interne

Nous l'avons installé comme ligne d'état standard sur nos serveurs de développement en août 2026. Les quatre modules fournis sont écrits avec le même kit de développement que les modules tiers.

Outil open source

Claude Skills

Nous publions nos skills Claude Code dans un catalogue public. Chaque skill a son dépôt et s'installe par son nom ; un script les met à jour chaque jour. Le catalogue compte quatre skills au 30 septembre 2026.

Voir le dépôt de Claude Skills

ShellPythonTypeScriptClaude CodeGitHub

Le principe

Un skill est une méthode de travail écrite pour un agent de code : quoi inspecter, dans quel ordre agir, quoi vérifier avant de conclure. Le catalogue les rend installables par leur nom, pour un compte ou pour un seul projet, avec mise à jour, désinstallation et tâche planifiée.

autonomous-mode

Mode de travail autonome prolongé. L'agent inspecte le projet, puis implémente, teste et committe pendant des heures. Il ne s'arrête que devant une décision irréversible. Publié le 17 septembre 2026.

web-to-mobile-app

Transforme une application React avec PostgreSQL en application Expo pour iOS et Android : audit, système de design, contrôles côté serveur, construction du paquet d'essai et préparation des magasins. Publié le 27 septembre 2026.

page-redesign

Refonte d'une page existante. L'agent la capture à trois largeurs, écrit le contrat de ce qu'elle doit conserver, la reconstruit dans la même pile technique et vérifie le rendu réel. Publié le 30 septembre 2026.

blog-image-finder

Trouve une image libre de droits pour un article, la fait relire par un modèle de vision, la recadre et la livre avec son crédit. Publié le 30 septembre 2026.

Usage interne

Le catalogue est installé sur nos serveurs de développement depuis le 17 septembre 2026, avec une mise à jour quotidienne.

Service interne

Pilote SEO autonome

Chaque jour, sans intervention, le pilote collecte les données de référencement d'un site, planifie des actions, rédige, fait vérifier par un second agent, publie par une porte d'écriture limitée, puis mesure l'effet à 14 jours. En service sur deux de nos sites depuis septembre 2026.

PythonSQLiteSearch ConsoleGoogle Analytics 4systemdPostgREST

Le cycle

Le pilote lit Search Console et Google Analytics, parcourt le site, puis choisit des actions : réécriture d'un article, texte de page ville ou de guide, métadonnées, maillage interne, image de couverture. Il mesure l'effet de chaque action à 14 jours et peut l'annuler.

Un rédacteur et un vérificateur

Un agent rédige, un second vérifie selon une charte propre à chaque site. Une passe de retrait supprime toute date exacte ou donnée précise qui n'a pas de source. Les sources réellement lues sont conservées pour audit.

Une porte d'écriture limitée

L'accès aux données Google est en lecture seule, et le script le prouve en vérifiant que l'écriture est refusée. La publication passe par une porte dédiée à chaque site : jeton limité, aucune suppression, version archivée, plafonds côté site.

Des plafonds

Chaque site a ses quotas, sa liste noire et ses types d'actions autorisés. Un plafond de dépense sur 24 heures glissantes arrête le pilote.

En service

Sur imonga, le pilote écrit seul depuis le 16 septembre 2026 et tourne trois fois par jour depuis le 28 septembre 2026. Sur EraCoach, il est branché depuis le 18 septembre 2026, où il a repris le maillage interne des pages ville et des articles.

Conçu pour plusieurs sites

Le cœur est générique : un fichier de configuration par site décrit ses règles. Un dossier de transfert vers un troisième site était prêt le 27 septembre 2026.

Outil open source

Blog Image Finder

Un skill Claude Code et une API HTTP qui cherchent une image libre pour un article dans cinq banques d'images, la font juger par un modèle de vision, puis la livrent recadrée, avec sa licence, son crédit et un texte alternatif en français et en anglais. Publié le 30 septembre 2026.

Voir le dépôt de Blog Image Finder

PythonPillowAPI HTTPsystemdClaude Code

Le problème

Illustrer un article prend du temps, et une image mal choisie pose un risque de droits ou se retrouve plusieurs fois sur le même site. L'outil automatise la recherche et garde la trace de la licence de chaque image.

Cinq sources

La recherche interroge Pexels, Pixabay, Unsplash, Openverse et Wikimedia Commons. Quand rien ne convient, une image est générée par IA en repli.

Un relecteur visuel

Un modèle de vision note chaque image candidate de 0 à 10 et peut l'écarter, par exemple quand elle montre la mauvaise région du monde ou un rendu 3D. Il rédige aussi le texte alternatif dans les deux langues.

Jamais deux fois la même image

Un registre tenu par site empêche de réutiliser une image déjà posée sur ce site.

Trois variantes prêtes à publier

Une couverture et une carte au format WebP, et une image de partage au format JPEG, livrées avec la licence et le crédit.

Deux modes d'usage

En ligne de commande, ou en service permanent avec une API HTTP protégée par jeton. Nous l'avons branché sur notre pilote SEO le soir de sa publication.

Service interne

Social Autoposter

Un moteur qui lit le calendrier éditorial en base, dessine pour chaque publication un visuel de marque au format du réseau visé, publie et marque l'élément comme publié. Il tourne chaque heure pour Danzina.

TypeScriptNode.jsnode-canvasSupabasePlaywrightcron

Le problème

Tenir un calendrier éditorial sur plusieurs réseaux demande de produire un visuel par format et de publier à la main. Ici, chaque élément validé du calendrier devient un visuel conforme à la charte, publié à l'heure prévue.

Des visuels dessinés par programme

Les images ne sont pas générées par IA : elles sont dessinées par le code à partir de la charte, avec les polices de la marque, le logo et un code QR. Le moteur produit des publications, des carrousels, des affiches d'événement et des cartes.

Un format par réseau

4:5 pour Instagram et Facebook, carré pour LinkedIn, 9:16 pour TikTok, 16:9 pour X.

L'aperçu est le rendu

L'éditeur de l'administration et le moteur partagent le même fichier de géométrie. Ce que l'équipe valide à l'écran est ce qui part.

Rattrapage et alerte

Un créneau manqué est rattrapé dans une fenêtre de 24 heures. Au-delà, une alerte part une seule fois par élément. Le comportement a été vérifié aux bornes en août 2026.

Gardes de contenu

Le moteur bloque un gabarit non rempli. Chaque jour, un article du blog devient une affiche au format story et une fiche du calendrier pour le lendemain.

Bibliothèque

Tzaruf

Une bibliothèque et un outil en ligne de commande Python qui convertissent des documents Word, Excel, des images et des PDF en PDF, appliquent l'OCR aux images et fusionnent plusieurs fichiers. Le traitement est local. Version 0.1.0 publiée sur GitHub le 9 décembre 2025, sous licence MIT.

Voir le dépôt de Tzaruf

PythonPydanticPyMuPDFTesseractEasyOCRstructlogPoetryDocker

Le problème

Beaucoup d'outils de conversion exigent une suite bureautique installée, et les services en ligne font sortir les documents du serveur. Tzaruf réunit conversion, OCR et fusion dans un seul moteur Python, qui s'exécute sur la machine.

Conversion

Des convertisseurs distincts traitent les fichiers PDF (optimisation, compression des images), Word et Excel, et les images. Le type d'un fichier est reconnu par ses premiers octets, pas par son extension.

OCR à plusieurs moteurs

Tesseract et EasyOCR peuvent tourner ensemble : un moteur d'ensemble combine leurs résultats, avec des langues configurables.

Fusion et lots

Plusieurs documents se fusionnent en un seul PDF, avec un mode asynchrone, et un répertoire entier se traite par lot.

Trois modes d'usage

En bibliothèque Python, en ligne de commande (convertir, fusionner, traiter un lot) ou en conteneur, avec les fichiers Docker fournis.

Usage en production

Nous l'utilisons comme étape de normalisation des documents en amont d'une chaîne d'analyse de CV : les fichiers Word sont convertis en PDF avant extraction.

Quel problème voulez-vous régler ?

Décrivez votre activité, votre besoin et les personnes concernées. Nous préparons un premier échange à partir de là.