Présentation
Herdr est une application de bureau conçue pour regrouper terminaux et agents de codage dans une interface unifiée. L’utilisateur organise son travail en espaces, chaque espace contenant des onglets pouvant être découpés en volets. Le core d’Herdr orchestre l’exécution des terminaux ; il continue de les faire tourner même après la fermeture de la fenêtre principale, ce qui permet de garder des sessions actives sur des machines distantes ou locales.
Installation et exigences
Sur Linux, l’installeur nécessite une session graphique et un pilote Vulkan fonctionnel. Les binaires sont fournis pour les architectures x86‑64 et ARM64. macOS propose des paquets .dmg pour les puces Apple Silicon, tandis que les Macs Intel doivent compiler depuis les sources. Windows 10 (1803+) accepte un script PowerShell. Les deux installateurs téléchargent et exécutent du code, ajoutent le binaire herdr-app à ~/.local/bin (Linux/macOS) ou à %LOCALAPPDATA%\Programs\herdr-app (Windows) et placent le répertoire dans le PATH.
curl -fsSL https://releases.herdr.dev/app/install.sh | shirm https://releases.herdr.dev/app/install.ps1 | iexArchitecture et fonctionnement
Le core, écrit en Rust (version 1.95.0) et compilé avec Zig 0.16.0, gère la création de processus shell, la persistance des espaces et la synchronisation entre plusieurs écrans. Les agents, affichés dans une barre latérale, reflètent l’état de chaque tâche : Working, Blocked, Done ou Idle. Un clic ouvre un aperçu (peek) ou un onglet dédié. L’ajout d’une machine SSH se fait via le menu Settings → Machines ou le raccourci de la barre latérale, puis les espaces de cette machine s’exécutent directement sur le serveur distant, conservant leurs structures indépendamment du client local.
Analyse des performances et limites
Herdr inclut un banc d’essai Python (scripts/bench.py) qui mesure le nombre d’appels de rendu (draw calls) et le temps écoulé entre le rendu et la peinture. Les mesures diffèrent selon le système d’exploitation : Windows enregistre la visibilité, l’activité au premier plan et la fréquence d’affichage, alors que Linux et macOS marquent ces observations comme indisponibles. Le script ne capture ni le temps de présentation physique ni le FPS réel, se concentrant uniquement sur le temps CPU du rendu. La télémétrie est activée par défaut, mais peut être désactivée dans Settings → Privacy. Les extensions (mods) sont du JavaScript exécuté sans sandbox, ce qui impose une lecture attentive des avis de sécurité avant toute installation.
python scripts/bench.py --bin herdr-app --set spinners --seconds 20