Présentation de Serverbox

Serverbox est une application desktop native, développée en Rust et Tauri, qui se connecte aux machines Linux exclusivement par SSH. Aucun agent n’est installé sur les serveurs ; la gestion repose sur les identifiants déjà présents dans ~/.ssh ou sur des mots de passe. L’outil propose un tableau de bord en temps réel (CPU, mémoire, disques, interfaces réseau) ainsi qu’un terminal interactif, un gestionnaire de fichiers et des modules Docker/Podman, le tout sans télémetrie ni abonnement.

Architecture et mécanismes de gestion

Chaque connexion utilise le protocole SSH standard, ce qui garantit que toutes les commandes fonctionnant dans un terminal classique sont exécutées de la même façon dans Serverbox. Le logiciel supporte le chaînage de bastions : chaque saut possède ses propres informations d’authentification et vérifie indépendamment la clé d’hôte, évitant ainsi les acceptations silencieuses de clés modifiées. Les identifiants, mots de passe et secrets sudo sont stockés localement dans un coffre chiffré, protégé par un mot de passe maître dont la perte est irréversible, conformément à la conception de l’application.

Le moteur de découverte analyse le système d’exploitation distant pour déterminer la présence de systemd, de Docker, de Podman ou d’un gestionnaire de paquets. Sur les distributions majeures (Debian/Ubuntu, Fedora/RHEL, openSUSE/SUSE, Arch, Alpine) il adapte les commandes (par ex. systemctl ou service) et expose les services, les processus, les journaux et les métriques de conteneurs. Lorsque le serveur ne possède pas systemd ou Docker, les modules correspondants sont désactivés, évitant les erreurs cryptiques.

Analyse des capacités et limites

Le tableau de bord agrège les métriques CPU, RAM, swap, utilisation disque et charge système dès la connexion, offrant une vue instantanée. La fonction « processes » permet de trier, filtrer et terminer les processus, avec un arrêt gracieux suivi d’un kill forcé si nécessaire. La gestion des services inclut le démarrage, l’arrêt, le redémarrage, le rechargement et la modification du statut d’activation, tout en affichant les logs associés. Le module de fichiers supporte le glisser‑déposer, la modification des permissions et l’annulation propre des transferts interrompus.

En ce qui concerne les conteneurs, Serverbox liste images, volumes et réseaux, expose l’usage CPU/mémoire par conteneur et propose un shell dédié même pour les images minimalistes. Les projets Docker Compose sont détectés automatiquement, que ce soit via le plugin Compose, le binaire autonome ou la version intégrée, et chaque service dispose d’un affichage de logs en temps réel. Le gestionnaire de cron, le gestionnaire de paquets (apt, dnf, zypper, pacman) et les outils d’administration (utilisateurs, groupes, pare‑feu UFW/firewalld, clés autorisées) sont accessibles via une interface graphique, avec des confirmations explicites pour les actions à risque.

Les limites proviennent principalement de la dépendance à SSH : les serveurs qui désactivent l’accès root ou qui restreignent les algorithmes de chiffrement peuvent nécessiter une configuration manuelle. De plus, l’absence de systemd ou de Docker supprime les modules correspondants, ce qui réduit la portée fonctionnelle sur des systèmes très minimalistes. Malgré ces contraintes, Serverbox offre une couche d’abstraction cohérente, éliminant le besoin d’outils tiers tout en conservant la transparence du modèle SSH.