RustDesk : administrer un bureau distant auto-hébergé
Une application open source de bureau à distance auto-hébergeable.
En bref
- De quoi s’agit-il ?
- Revue éditoriale fondée sur les sources du dépôt rustdesk/rustdesk : affirmations, méthodes de compilation et points non vérifiés.
- À qui s’adresse-t-il ?
- Pour rustdesk, le choix convient aux équipes dont le besoin correspond aux fonctions décrites dans le README et qui peuvent contrôler leur environnement d’exécution. Il convient moins à celles qui attendent une garantie absente de la documentation.
- Puis-je l’utiliser commercialement ?
- Oui, sous conditions strictes. AGPL-3.0 est une licence à copyleft réseau : si des personnes utilisent une version modifiée via un réseau, par exemple comme service hébergé, vous devez leur proposer son code source sous la même licence.
- Est-il encore maintenu ?
- Oui. Les derniers commits datent d’il y a 1 jour.
- En quel langage est-il écrit ?
- Principalement Rust, d’après les statistiques de langage de GitHub.
Ces réponses reposent sur les données GitHub du projet (dernière synchronisation le 15 septembre 2026) et sur notre analyse. Elles ne constituent pas un avis juridique.
ANALYSE OPEN SOURCE APPROFONDIE
Un bureau à distance en Rust axé sur l'auto-hébergement
RustDesk est une application de bureau à distance open source écrite en Rust, décrite dans les métadonnées du dépôt comme une alternative à TeamViewer et conçue pour l'auto-hébergement. Le README indique qu'elle fonctionne immédiatement sans configuration, que les utilisateurs ont un contrôle total sur leurs données et qu'il n'y a pas de souci de sécurité. Pour la couche rendez-vous et relais, le README propose trois voies : utiliser le serveur du projet, en mettre un en place soi-même, ou écrire un serveur personnalisé. Il accueille toute contribution et renvoie vers CONTRIBUTING.md. Cette déclaration de sécurité est une affirmation du projet ; le README ne contient ni audit indépendant, ni benchmark de performance, ni modèle de menace. Le début du README comporte un avertissement sur les mauvais usages, mais il s'agit d'une déclaration de politique, pas d'une description fonctionnelle.
Choix de l'interface et dépendances associées
L'interface graphique de bureau utilise Flutter ou Sciter, Sciter étant marqué comme obsolète. Les instructions de compilation du README concernent le chemin Sciter, jugé plus simple et plus abordable par l'auteur, et nécessitent de télécharger manuellement la bibliothèque dynamique Sciter pour Windows, Linux ou macOS. Les dépendances incluent une chaîne d'outils Rust, un environnement de compilation C++, ainsi que les bibliothèques libvpx, libyuv, opus et aom via vcpkg. Pour Linux, le README liste des commandes d'installation de paquets pour Ubuntu 18 (Debian 10), openSUSE Tumbleweed, Fedora 28 (CentOS 8) et Arch (Manjaro), avec des noms de paquets précis comme nasm, yasm, gtk3 et clang. Ce sont les distributions et paquets explicitement cités, pas une recommandation générale.
Deux méthodes de compilation documentées : cargo et Docker
Les étapes brutes de compilation sont brèves : préparer les environnements Rust et C++, installer vcpkg, définir VCPKG_ROOT, installer les quatre bibliothèques de codecs, puis lancer cargo run. La section Linux ajoute une séquence plus longue : installer Rust via rustup, cloner le dépôt avec ses sous-modules, placer libsciter-gtk.so dans target/debug, puis exécuter cargo run avec VCPKG_ROOT défini. Pour Fedora, le README prévoit une étape supplémentaire de correction de libvpx, qui consiste à modifier le Makefile et à recompiler. Il existe aussi une méthode Docker : cloner le dépôt, mettre à jour les sous-modules, construire une image nommée rustdesk-builder, puis exécuter le conteneur avec des volumes pour le code source et le cache cargo. Le README précise que la première compilation est plus lente, que l'on peut ajouter --release à la fin, et que cargo install et cargo run ne sont pas pris en charge dans ce flux Docker car ils s'exécuteraient dans le conteneur et non sur l'hôte.
Structure du dépôt, bibliothèque par bibliothèque
Le README divise la base de code en bibliothèques et répertoires source. libs/hbb_common contient le codec vidéo, la configuration, les wrappers TCP/UDP, protobuf, des fonctions d'aide au transfert de fichiers et d'autres utilitaires. libs/scrap gère la capture d'écran ; libs/enigo fournit le contrôle clavier et souris spécifique à la plateforme ; libs/clipboard implémente la copie et le collage de fichiers sous Windows, Linux et macOS. L'ancienne interface Sciter se trouve dans src/ui et est obsolète. src/server contient les services audio, presse-papiers, entrée, vidéo et les connexions réseau. src/client.rs démarre une connexion pair à pair, et src/rendezvous_mediator.rs communique avec rustdesk-server et attend une connexion directe par trou de couche TCP ou une connexion relayée. Le code spécifique à la plateforme est dans src/platform, l'interface Flutter pour bureau et mobile sous flutter, et le JavaScript du client web sous flutter/web/js. Cette structure sépare le protocole, la capture d'écran, la simulation d'entrée et l'interface.
Canaux de distribution, traductions et avertissement sur les mauvais usages
Les binaires sont disponibles via la page releases, et un tag de build nightly est lié. Le README affiche des badges F-Droid et Flathub, ce qui indique des canaux de distribution Android et Linux desktop. Le projet demande de l'aide pour traduire le README, l'interface et la documentation, et fournit des liens vers plus de vingt versions linguistiques, dont l'ukrainien, le tchèque, le chinois et le hongrois. Les canaux communautaires incluent Discord, Twitter, Reddit et YouTube. En haut du README figure un avertissement sur les mauvais usages, indiquant que les développeurs ne cautionnent pas les accès non autorisés ni les atteintes à la vie privée et ne sont pas responsables des mauvais usages. C'est une déclaration de politique, pas une garantie technique. Un lien vers la FAQ est également présent. Le README précise que toute contribution est bienvenue et que CONTRIBUTING.md sert de guide de départ.
Ce que disent les métadonnées et ce qui reste à vérifier
Les métadonnées du dépôt indiquent Rust comme langage principal, 119 639 étoiles, 18 279 forks, 128 problèmes ouverts et un statut d'archivage à false. La page d'accueil est rustdesk.com. Le champ licence des métadonnées indique AGPL-3.0, mais l'extrait de licence fourni pour cette revue indique qu'aucun fichier LICENSE n'a été trouvé au chemin habituel, de sorte que les conditions exactes ne peuvent pas être confirmées à partir de cet extrait. Le README affirme que les utilisateurs ont un contrôle total sur leurs données et aucun souci de sécurité, mais il ne fournit ni audit ni modèle de menace. Les sources ne mentionnent ni chiffres de performance, ni nombre d'utilisateurs, ni intégrations tierces, et cet article n'en ajoute pas. Pour évaluer l'adéquation en production, il faut consulter séparément les notes de version, les avis de sécurité et les tests réels.
Vérifier rustdesk dans son environnement
Déployez le serveur RustDesk avec le fichier Docker et les variables documentées, connectez un client témoin, puis vérifiez le relais et les journaux. Cette séquence porte sur rustdesk et permet de confronter les fichiers, commandes et sorties réellement présents dans le dépôt aux attentes de votre cas d’usage. Le README ne permet pas de déduire les garanties qu’il ne formule pas.
Conclusion éditoriale
Pour rustdesk, le choix convient aux équipes dont le besoin correspond aux fonctions décrites dans le README et qui peuvent contrôler leur environnement d’exécution. Il convient moins à celles qui attendent une garantie absente de la documentation. Commencez par Déployez le serveur RustDesk avec le fichier Docker et les variables documentées, connectez un client témoin, puis vérifiez le relais et les journaux.
Notes de la communauté