Guacamole, un VNC 100% HTML5 (client) et JAVA (serveur)


Virtual Network Computing (VNC) est un logiciel ouvert pour se connecter à un ordinateur distant. Il permet de transmettre les saisies au clavier ainsi que les clics de souris d’un ordinateur à l’autre, à travers un réseau informatique (source : Wikipedia).

Une utilisation de ce protocole est le support technique à distance avec prise de contrôle à distance, très important et pratique pour les dépannages dans certains métiers.

Il existe un très grand nombre de clients /serveurs VNC, tous étant en général dédiés à une plateforme particulière (Windows, Linux, …).

 
Guacamole est « logiciel » VNC Open Source dont la partie cliente est écrite en pur HTML5 et Javascript et la partie serveur* écrite en JAVA.
Les messages transitant au format « plat » XML via le serveur (AJAX en gros), la solution fonctionne donc dans un simple navigateur (les dernières versions, compatibles HTML5).

Alors que l’on pourrait penser que la solution est lente, on s’aperçoit (voir la vidéo suivante) qu’il en est tout autrement et les performances proches de ce que l’on connait avec les logiciels classiques (type UltraVNC).

Je suis bluffé par la réactivité de l’ensemble. Certes sur la vidéo, le tout passe par l’excellent réseau d’Amazon Enterprise Cloud, mais quand même…

La partie serveur ne nécessite qu’un simple conteneur de servlet comme Tomcat, qui agit comme un proxy vers votre serveur VNC.

En plus de sa simplicité de déploiement (puisqu’il n’y en a pas), Guacamol se paye le luxe de supporter des fonctionnalités avancées de VNC tels l’encodage Copyrect et le support du curseur côté client.

Là où la solution devient redoutable, c’est pour s’affranchir des mécanismes de sécurité internes aux entreprises, qui en général rechignent à ouvrir certains accès à leurs réseaux. Avec Guacamole, l’accès au web suffit.

Téléchargez Guacamole et en savoir plus…

* en fait il s’agit d’un proxy vers un serveur VNC, comme expliqué par la suite.