Que celui qui n'a jamais penser à commettre l'irréparable devant un ordinateur qui ne répond pas me jette la première souris ! Lequel d'entre vous n'a jamais eu envie de crier au secours devant un insoluble problème de fichier perdu ? Qui n'a pas soupiré à ce moment crucial « Ah s'il était là » en pensant au fameux copain qui s'y connait en informatique et qui aurait sûrement pu, lui, récupérer ce satané fichier qui ne veut plus s'ouvrir. Le VNC (Virtual Network Computing) ça sert à ça, mais à bien d'autres choses aussi !
Ce protocole, qui permet de mettre en relation deux ordinateurs distants, va autoriser :
- soit à un utilisateur d'accéder à sa machine depuis l'extérieur (utilisation de type administrateur) ;
- soit à une personne qui rencontrerait quelques difficultés avec telle ou telle application à demander de l'aide à un ami féru d'informatique.
Real VNC, dont la simplicité et l'efficacité ont fait leurs preuves et que vous pouvez télécharger depuis notre logithèque, est un des programmes utilisant ce protocole. Nous allons vous présenter ici les fonctionnalités de la version gratuite de ce programme qui pourra éviter à certains d'entre vous de dépenser des sommes folles en assistance téléphonique ou en faisant appel à l'altruisme naturel de votre gentil beau-frère...
Définition du Virtual Network Computing
Le Virtual Network Computing est un protocole (tout comme le http, le FTP ou le ssh) qui sert à mettre en connexion deux ordinateurs distants. Il se décompose en deux parties, le client et le serveur. Le serveur est le programme esclave sur la machine qui partage son écran, et le client (appelé aussi le "viewer") est le programme maître qui regarde et interagit éventuellement avec le serveur. Le lien établi est étroit, car l'ordinateur demandant la connexion (le client) peut, avec ses propres périphériques de saisie (clavier, souris), piloter l'ordinateur serveur. Pour imager ce qui se passe, l'utilisateur réclamant le contrôle d'une machine va obtenir sur son écran exactement la même chose que ce que l'autre personne à distance observe sur le sien. Ce genre de manipulation devient extrêmement puissante lors d'une assistance via un réseau (intranet ou Internet).Le VNC est un protocole indépendant de la plateforme, et s'il existe de nombreuses solutions pour MAC ou Linux (ssh -X pour les habitués), rares sont les possibilités permettant de contrôler un PC sous Linux par un logiciel fonctionnant sous Windows ...
Créé au laboratoire Olivetti & Oracle Research Lab, le développement du VNC fut poursuivi par la firme AT&T de Cambridge qui racheta le laboratoire en 1999, par des développeurs comme Tristan Richardson, Quentin Stafford-Fraser ou James Weatherall pour ne citer qu'eux. Le code source du programme VNC original est en open-source sous licence GNU/GPL, comme la plupart des variantes de VNC disponibles aujourd'hui.
Principe du Virtual Network Computing
Pour afficher sur l'écran du client ce qui se passe sur celui du serveur, le protocole se base sur le Remote Frame Buffer (RFB) dont le principe de fonctionnement est très simple : il envoie des fonctions du type « Insérer un rectangle de pixel à la position x,y donnée ». Cependant cette méthode utilise beaucoup de bande passante, et réduire le débit nécessaire à une utilisation fluide est indispensable. Pour cela, des méthodes d'encodage sont nécessaires, comme le « Raw encoding » (qui est supporté par tous les clients et serveurs) où les pixels sont transmis de gauche à droite par ligne. Après le premier écran transféré, seul les rectangles modifiés sont envoyés. Cette méthode fonctionne très bien si une petite portion de l'écran change d'une image à l'autre (comme un pointeur de souris qui se déplace sur le bureau, ou du texte tapé), mais l'utilisation de bande passante augmente fortement si beaucoup de pixels changent et donc doivent être transmis (une vidéo en plein écran est le meilleur exemple).Vous l'aurez compris, afficher les applications d'un ordinateur distant en mode graphique sur son propre écran demande une bande passante non négligeable de la part du serveur, même si l'optimisation des logiciels permet de limiter la nécessité d'une connexion haut débit (il existe en effet des méthodes de compression nettement plus puissante que le « raw encoding » ).
VNC : Quid de la sécurité ?
Il faut savoir que le protocole VNC n'est pas sécurisé par défaut et peut bien évidemment poser des problèmes de sécurité, à l'instar de tous les programmes offrant un support réseau, d'autant plus que son but premier est d'utiliser une machine a distance. Mais proposant une identification, voire un chiffrement (parfois poussé) des communications, il ne pose pas de problème particulier de nos jours. Cependant, un problème de sécurité a été identifié en mai 2006 sur la version 4.1.1 de RealVNC Free Edition qui permettait à un pirate de prendre la main sur votre PC sans connaître votre mot de passe avec un « VNC Viewer » (client) modifié. Il est donc impératif, si vous utilisez ce type de logiciel, de vous tenir informé des différentes mises à jour disponibles (pas d'inquiétude, aucune faille n'a encore été détectée avec la version que nous vous proposons aujourd'hui).
Real VNC, le serveur
Real VNC possède plusieurs avantages, même si les bons logiciels gratuits de VNC sont nombreux. Il est :- gratuit ;
- léger ;
- open source ;
- multi plate-forme (interopérabilité entre des systèmes d'exploitation différents)
Il se compose évidemment d'un serveur (VNC Server) et d'un client (VNC Viewer). Son installation est simple :
- lisez et acceptez la licence ;
- choisissez votre répertoire d'installation ;
- selon vos besoins, optez pour la mise en place de VNC Server (si vous avez fréquemment besoin d'aide ou si vous souhaitez avoir accès à distance à votre PC), de VNC Viewer (si vous vous situez dans la catégorie de ceux qui dépannent), ou des deux ;
- Pour ceux qui ont choisi d'installer le serveur, vous pouvez choisir de décocher ou non les options « Register and configure VNC Server for Service-Mode » et « Start the VNC Server in Service-Mode », selon que vous souhaitiez lancer le serveur au démarrage ou non ;
- Finalement, cliquez sur « Install ».
Si vous n'avez sélectionné que la partie client du logiciel, votre installation s'arrête là. Si par contre vous avez choisi le « Service-Mode » de la partie serveur de Real VNC, vous devriez obtenir cet écran :
Pour un minimum de sécurité, vous vous devez d'établir un mot de passe qui sera nécessaire lors de la connexion à votre serveur, sans quoi n'importe qui pourrait s'introduire dans votre ordinateur et faire absolument tout ce qui lui passe par la tête. Notez qu'ici, le cryptage apparaît en grisé, puisqu'il n'est pas disponible. En effet, seule la version payante de Real VNC permet de crypter les connexions.
Préférez un mot de passe long, composé de chiffres et de lettres en majuscules et en minuscules afin de rendre délicate la manipulation d'un pirate qui chercherait à accéder à votre serveur par une recherche de type « dictionnaire », c'est à dire en essayant de façon automatisée l'ensemble des mots issus d'un fichier qui contient de nombreux mots de passe très utilisés (date, prénom, ...).
Pour parfaire davantage la sécurité de votre serveur, vous pouvez définir les adresses IP autorisées à se connecter à votre ordinateur. Ainsi, même sans cryptage poussé, vous vous immunisez contre des attaques venues de personnes mal intentionnées en bloquant systématiquement leurs adresses IP.
Ce logiciel interprète les commandes envoyées par la souris et le clavier du client vers le serveur ; vous pouvez configurer cette interface afin de rendre possible telle ou telle manœuvre comme un copier-coller ou un clic droit par exemple.
Enfin, soucieux du débit parfois peu élevé mis à la disposition des utilisateurs, les concepteurs de Real VNC ont prévu la possibilité d'alléger l'interface en n'affichant pas, par exemple, le fond d'écran ou les effets visuels du serveur, afin que la bande passante nécessaire à une utilisation fluide du client ne soit pas trop importante.
Durant cette installation, votre pare feu logiciel vous a probablement demander d'autoriser Real VNC à disposer de votre connexion Internet, question à laquelle vous avez évidemment répondu « Oui ». Par ailleurs, si vous possédez une solution pare-feu matérielle (routeur pare-feu), vous devez rediriger les ports 5800 et 5900 vers l'ordinateur ou VNC est installé.
Cette étape de configuration achevée, votre serveur fonctionne et est prêt à recevoir une connexion que seul un utilisateur doté d'une adresse IP satisfaisant vos définitions et d'un mot de passe adéquat pourra établir. Vous pouvez dès lors accéder aux options de VNC via l'icône qui s'est logée dans la zone de notification.
Real VNC, le client
Le module de Real VNC s'occupant de l'affichage client est VNC Viewer, qui vous demandera de saisir un mot de passe propre au serveur que vous cherchez à joindre et qui, une fois la connexion établie, vous affichera à l'écran ce que l'utilisateur distant observe en même temps. Mieux : si le serveur possède une configuration à deux écrans (via une carte graphique comportant deux sorties), Real VNC va interpréter ce signal et afficher sur un simple écran une fenêtre dont la largeur est doublée et dont les parties invisibles sont accessibles par un simple déplacement de la souris. Vous pouvez ainsi piloter à distance un ordinateur comme si vous vous trouviez devant.Pour ce faire, sélectionner dans votre menu « Démarrer » l'application VNC Viewer, et entrer l'adresse IP du serveur que vous devez contrôler. Si le serveur répond de façon positive à cette requête, un mot de passe va alors vous être demandé. Après l'avoir saisi, l'écran du serveur que vous avez joint s'affiche sur votre écran. Cette affichage est paramétrable, et si le serveur possède ses propres réglages, la partie client de Real VNC comporte également quelques ajustements capables d'améliorer ou d'alléger l'interface, selon le débit dont le serveur dispose.
Les options du Client Real VNC
Vous avez accès à ces menus soit à la connexion au serveur, soit en cliquant avec le bouton de droite de la souris sur l'icône réduite de VNC placée dans la barre des tâches, qui vous permet également d'envoyer des requêtes spéciales comme la commande CTRL+ALT+SUPPR au serveur ou d'activer le mode plein écran par exemple. Outre les options pour la partie serveur, VNC propose également quelques outils pour sa partie client, comme par exemple émuler les 3 boutons de la souris
Les propriétés majeures du client à paramétrer concernent probablement l'affichage ; le niveau de qualité des couleurs (very low, low, medium ou full) ou la taille de la fenêtre (via l'onglet « Scaling »). De même, vous avez la possibilité de créer des profils d'utilisation propres à un serveur, qui contiendra vos réglages et le mot de passe utilisé. L'onglet « Load-Save » vous autorisera cette manipulation fort pratique, un raccourci spécifique à un serveur pouvant alors être créé.
Outre l'utilisation de l'interface VNC Viewer, il existe une autre possibilité pour accéder à un serveur sur lequel tourne la partie serveur de Real VNC. En effet, ce logiciel permet l'emploi d'une simple fenêtre de votre navigateur via une interface Java disponible si le serveur a été configuré comme tel (ouverture du port 5800 lors de la configuration, dans l'onglet « Connections »). Cette fonctionnalité évite donc l'installation de la partie client du programme, ce qui peut permettre par exemple d'accéder à votre ordinateur de n'importe quel autre poste en tapant l'adresse http://votreadresseip:5800 depuis un simple navigateur.
Connaître son IP grâce à Real VNC
L'un des inconvénients de ce type de procédure est qu'il faut connaître à chaque instant l'adresse IP du serveur utilisé. C'est une chose relativement acceptable pour les personnes possédant une IP fixe, mais cela devient particulièrement contraignant pour ceux dont l'IP est dynamique. Une solution à cela : des services comme dyndns, qui vous permettent d'attribuer un nom de domaine à votre PC et son adresse IP. La mise à jour régulière du lien entre votre adresse IP et le nom de domaine utilisée permet de joindre votre serveur à tout moment.Le débit Real VNC
Le problème majeur de ce type d'application est le débit d'émission dont est capable le serveur. Nous avons testé une connexion avec un affichage plus que convenable, avec fond d'écran et autres options améliorant la qualité visuelle pour tenter d'établir la bande passante maximale utilisée, mesurée sur un serveur test. Le débit d'émission utilisé a pu atteindre 120 ko/s, ce qui certes n'est pas accessible à l'ensemble des personnes connectées à Internet, mais comprenez bien que nous parlons ici d'un débit maximal. Il est certain que vous rencontrerez quelques saccades lors de certaines utilisations (rafraichissement d'un écran entier), mais la fluidité sera quand même supérieure à celle que l'on obtenait avec nos bons vieux modems 56k (souvenirs, souvenirs ...). Le débit « au repos » (simple mouvement de souris) n'a d'ailleurs rien d'épouvantable, variant autour des 10 ko/s. En réalité, Real VNC va toujours utiliser le débit maximum disponible pour répondre à la requête le plus rapidement possible, mais rien ne l'empêche de fonctionner avec un faible débit d'émission.Exemples d'applications du client Real VNC
Qu'est il possible de faire avec Real VNC ? Voici un exemple d'applications qui peuvent être réalisées via ce logiciel, et également une petite liste des choses qui ne sont pas possibles avec ce type de logiciel.Exemple d'applications possibles ou non à réaliser grâce à Real VNC
Enfin un petit screenshot du type d'affichage que l'on obtient sur l'écran client. Comme vous pouvez le constater, le rendu est très bon... en images fixes. Car si l'on ferme une ou plusieurs fenêtres, le rafraichissement est relativement ralenti et rend l'utilisation moins agréable.
Exemple d'écran obtenu chez le client : même avec de nombreux programmes ouverts, le contrôle est efficace
Conclusion
Le nombre de possesseurs d'ordinateurs grandit chaque jour. Le nombre de personnes débutant dans l'informatique suit la même courbe. Bien qu'il existe des formations ou des livres dédiés à ces utilisateurs novices, la meilleure expérience dans ce monde cruel est l'expérience personnelle, celle qui nous fait écraser un fichier système ou formater un disque dur sans le vouloir, en nous permettant d'apprendre de nos erreurs. Mais de nombreuses personnes restent fébriles face à ces éventualités qui leur paraissent affreuses, et plutôt que de faire une bêtise, elles préfèrent demander de l'aide. Les outils comme Real VNC, mais d'autres encore comme Tight VNC, Ultra VNC ou l'excellent LogMeIn (sans oublier le module de Windows d'assistance à distance), permettent d'établir un lien plus ou moins pédagogique entre utilisateurs novices et avancés, et il est probable que de tels programmes perdurent dans le temps, étant donné la vitesse à laquelle les diverses technologies défilent devant les yeux affolés (mais curieux) des utilisateurs peu avertis.De plus, ce type de logiciel possède l'avantage de permettre aux utilisateurs avertis de contrôler à distance leur ordinateur avec une efficacité plutôt bonne et une sécurité convenable, même si beaucoup d'entre vous préfèreront probablement la version payante de Real VNC qui permet un cryptage avancé de la connexion.
Enfin, d'autres technologies émergent pour prendre le contrôle de son ordinateur à distance, et le logiciel Weezo (auquel nous consacrions un article il y a peu) procède par exemple d'une façon différente en n'utilisant pas le protocole VNC. Cependant, les logiciels présentés ici restent les meilleurs, et la seule amélioration qui semble pouvoir augmenter les possibilités de ces programmes est une revalorisation du débit d'émission mis à disposition par les fournisseurs d'accès à Internet, afin de rendre plus fluide et plus agréables les opérations à distance.