Fonctions
Ce que fait NuviraHub aujourd'hui. L'application et le serveur de base sont gratuits ; les modules Pro sont destinés aux équipes et tournent sur votre propre serveur.
L'application de près
De vrais écrans de NuviraHub 0.12 avec des données de démonstration. L'application suit le thème clair ou sombre de votre système, tout comme ces images.

Saisissez un ID, ou un nom, une société ou un contact : les suggestions viennent du carnet d'adresses.

Chaque demande indique qui demande l'accès et doit être acceptée, avec un avertissement contre les arnaques téléphoniques.

Les messages et les fichiers reçus apparaissent dans le chat, des deux côtés.

Installez-le une fois et accédez à l'ordinateur même en l'absence de quelqu'un. Le serveur public ou le vôtre.

Clients et ordinateurs regroupés par société, avec l'état en ligne et les mots de passe enregistrés.

Rôles, authentification à deux facteurs et règles appliquées à tous les ordinateurs.
Performances
Un bureau à distance est réussi quand on oublie qu'il est à distance. Voici les techniques qu'utilise NuviraHub pour réduire le délai, et les chiffres que nous avons mesurés.
En direct quand c'est possible
Les deux PC se connectent l'un à l'autre à travers les routeurs (hole punching). Quand ce n'est pas possible, le serveur relaie les paquets déjà chiffrés ; sur les réseaux qui bloquent l'UDP, ils passent dans un WebSocket. Les sessions restent chiffrées de bout en bout.
L'image reste dans la carte graphique
La capture, la conversion des couleurs et l'encodage H.264 se font dans le GPU, sans passer par la mémoire du processeur. Si la fenêtre de la visionneuse est plus petite que l'écran, l'image est réduite dans la même passe : seuls les pixels visibles sont encodés. Sans encodeur matériel, NuviraHub utilise OpenH264, choisi par un test au démarrage.
Il s'adapte au réseau
Toutes les 250 ms, le poste qui regarde indique le temps que mettent les images à arriver, et le PC contrôlé baisse ou augmente le débit avant qu'une file d'attente se forme. Le contrôle de congestion est BBR, qui supporte les pertes aléatoires des réseaux Wi-Fi et mobiles.
Toujours l'image la plus récente
Aucune image n'attend dans une file : le PC contrôlé encode l'image la plus fraîche dès que l'encodeur est libre, et le poste qui regarde affiche toujours la dernière, en écartant celles déjà dépassées.
Texte net sur un écran immobile
Quand l'écran cesse de changer, la dernière image est encodée à nouveau quelques fois jusqu'à ce que le texte soit net ; ensuite presque rien n'est envoyé.
Aucun chiffre caché
La barre de session affiche en direct les images par seconde et la latence ; le titre de la fenêtre ajoute le temps aller-retour, la bande passante et les temps d'encodage et de décodage.
Les chiffres mesurés
| Réseau | Images/s | Latence médiane | 95e centile |
|---|---|---|---|
| Réseau local, direct, 1920×1080, Intel Quick Sync | 52 | 27 ms | 40 ms |
| Réseau local, direct, 1920×1080, NVIDIA RTX 4060 Ti | 58 | 16 ms | 25 ms |
| Réseau local, écran 4K dans une fenêtre 1280×720 | 40 | 39 ms | 54 ms |
| Réseau local, par le relais du serveur | 54 | 28 ms | 38 ms |
Comment nous avons mesuré
Écran avec une animation plein écran (il change toujours : le pire cas). Quick Sync : PC contrôlé avec un Intel Core i7-10710U, visionneuse sur un portable avec un Intel Core i7-8550U. NVIDIA : PC contrôlé avec un AMD Ryzen 7 5700X et une RTX 4060 Ti, visionneuse sur le mini PC avec l'i7-10710U. La latence va de la capture de l'écran à l'affichage sur l'autre PC.
Ce qui manque encore
Avec NVIDIA, la limite est le plafond de 60 images par seconde que nous fixons : l'encodeur en supporte bien plus. Les cartes AMD sont utilisées via Windows mais nous ne les avons pas encore mesurées ; le décodage matériel dans la visionneuse fonctionne, mais il est pour l'instant plus lent que le décodage logiciel et reste désactivé. Nous travaillons encore sur les réseaux lents et Internet : nous publierons les chiffres quand ils seront bons.
| Fonction | Free | Pro |
|---|---|---|
| Connexion | ||
| ID et mot de passe à usage unique, confirmation par la personne devant le PC | ✓ | ✓ |
| Accès sans surveillance avec un mot de passe permanent (service Windows) | ✓ | ✓ |
| Connexion directe (hole punching), relais par le serveur si nécessaire | ✓ | ✓ |
| Fonctionne aussi sur les réseaux qui bloquent UDP (repli WebSocket) | ✓ | ✓ |
| Reconnexion automatique après le redémarrage du PC distant | ✓ | ✓ |
| Serveur public NuviraHub, ou votre propre serveur dans Docker | ✓ | ✓ |
| Pendant la session | ||
| Écran de verrouillage de Windows, invites UAC et Ctrl+Alt+Suppr | ✓ | ✓ |
| Plusieurs écrans : un à la fois ou tous ensemble | ✓ | ✓ |
| Encodage vidéo matériel, qualité au choix (équilibrée, nette, fluide) | ✓ | ✓ |
| Affichage seul, taille réelle ou ajustée à la fenêtre, plein écran | ✓ | ✓ |
| Presse-papiers partagé : texte et images | ✓ | ✓ |
| Gestionnaire de fichiers et envoi de fichiers | ✓ | ✓ |
| Chat | ✓ | ✓ |
| Gestion | ||
| Carnet d'adresses sur chaque PC, avec l'état en ligne | ✓ | ✓ |
| Mises à jour automatiques signées depuis votre serveur | ✓ | ✓ |
| Interface en français, anglais, italien, allemand et espagnol | ✓ | ✓ |
| Carnets d'adresses sur le serveur, partagés entre collègues | – | ✓ |
| Comptes et rôles (administrateur, technicien, lecture seule) | – | ✓ |
| Règles centrales pour les PC (p. ex. toujours demander confirmation, pas de fichiers) | – | ✓ |
| Console web | – | ✓ |
| Connexion à deux facteurs (TOTP) | – | ✓ |
| Authentification unique (OpenID Connect : Microsoft Entra, Google, Keycloak…) | – | ✓ |
| Journal des sessions, export CSV | – | ✓ |
| Installateurs personnalisés : votre logo, vos couleurs, votre serveur et vos contacts | – | ✓ |
À venir
macOS et Linux, résolution distante adaptée à la fenêtre, d'autres outils sans vidéo. La feuille de route sera publique avec le code source.