|
|||||||||||||||||||||||||||||||||||||||||||||
|
![]() VNC signifie "Virtual Network Computing". VNC est un protocole client-serveur libre de prise de contrôle d'une machine à distance multiplate-forme. La version originelle a été développée par Olivetti Research Laboratory. Début 1999, AT&T a racheté ORL et a poursuivi le développement de VNC. VNC est actuellement représenté officiellement par la société RealVNC. Dans ce cas précis, "multiplate-forme" ne signifie pas uniquement qu'il est implémenté sur plusieurs plates-formes, mais également que l'on peut contrôler une machine qui appartient à une plate-forme à partir d'une machine appartenant à une autre plate-forme. En clair, le protocole est conservé d'une implémentation à l'autre. "Prise de contrôle à distance" signifie que le clavier et l'écran de la machine cliente deviennent le clavier et l'écran de la machine serveur. Ceci est très pratique lorsque l'on a à intervenir sur une machine distante par l'intermédiaire du Net par exemple ou même pour éviter à avoir à se lever de sa chaise pour accéder à une machine du réseau local ou encore pour accéder à une machine sans écran/clavier. Pour les connaisseurs, VNC est au mode graphique ce que SSH ou Telnet est au mode texte. Les logiciels commerciaux les plus connus ayant les mêmes fonctionnalités sont PCAnyWhere de Symantec et MetaFrame de Citrix, tous deux sur PC uniquement. Comment ça marche VNC ? ![]() Deux programmes sont donc nécessaires pour mettre en oeuvre VNC : Le client VNC : c'est le programme à faire tourner sur la machine dont on va utiliser le clavier et l'écran pour accéder à la machine distante. Il faut bien sûr utiliser une version compilée pour la plate-forme que l'on va utiliser comme client. Le serveur VNC : c'est le programme à faire tourner sur la machine dont on souhaite pouvoir prendre le contrôle. Il faut ici aussi bien entendu utiliser une version compilée pour la plate-forme que l'on va utiliser comme serveur. De base, le protocole de VNC est assez (voire très) lent et n'est réellement utilisable que sur des réseaux locaux. Au fil des implémentations, des modes de compression de données ont fait leur apparition de façon à permettre son utilisation de façon honorable via des lignes RTC ou ADSL. La version de VNC la plus efficace dans ce domaine est certainement TightVNC pour Windows, Unix, Linux et Java. Citons également une autre version de VNC extrêmement aboutie (avec transfert de fichier, tchat, barre d'icônes...) : UltraVNC mais pour Windows uniquement. :( Lorsqu'un client et un serveur VNC communiquent, ils utilisent en priorité les protocoles de compression qui leur sont commun. Si aucun protocole de compression commun n'est trouvé (ou si l'un ou l'autre des programmes n'en gère pas), la liaison se fait dans le mode d'origine de VNC, c'est-à-dire sans compression. Le numéro de port TCP utilisé par défaut par VNC est le 5900. Il est souvent question de numéro d'écran (display number) dans les serveurs et clients VNC. Ceci est directement lié au numéro de port à utiliser. Le "display" 0 correspond donc au port 5900, le "display" 1 correspond au port 5901, etc. Les implémentations de VNC sur Amiga Puisqu'il s'agit de réseau, et comme d'habitude sur Amiga, il existe des choses dans le domaine de VNC. 1. Les serveurs : Il existe (à ma connaissance) deux implémentations de serveur VNC 68k : AmiVNC de Stéphane Guillard que l'on peut trouver sur le "matou femelle" ici : www.aminet.net/comm/tcp/AmiVNC.lha. Sa page Web se trouvant ici : s.guillard.free.fr/AmiVNC/AmiVNC.htm. AmiVNC présente l'avantage de fonctionner avec les modes natifs de l'Amiga (OCS, ECS, AGA), mais aussi avec les environnements RTG Picasso96 et CyberGraphX. AVNC de Denis Spach que l'on peut trouver ici : dspach.free.fr/amiga/avnc/. AVNC ne fonctionne qu'avec les modes RTG Picasso96. Son efficacité est cependant accrue par le fait qu'il utilise un pilote (Monitor) Picasso96 spécial lui permettant de rafraîchir uniquement les zones d'écran effectivement modifiées. Ne disposant pas de machine sous Picasso96, je n'ai pas pu l'essayer. :( 2. Les clients : Il existe (toujours à ma connaissance ;)) également deux clients VNC sur Amiga. L'un 68k et l'autre pour MorphOS. VVA de Denis Spach que l'on peut trouver ici : dspach.free.fr/amiga/vva/index.html. MorphVNC de Mark Olsen (alias BigFoot) que l'on peut trouver sur le "pote réseau" ici : www.aminet.net/comm/tcp/MorphVNC.lha. Comme son nom l'indique, ce client fonctionne sous MorphOS. Il présente l'avantage de gérer le protocole de compression ZLib. Utiliser AmiVNC, VVA et MorphVNC sur Amiga Mise en oeuvre du serveur AmiVNC : AmiVNC est distribué en deux versions : "Planar" et "RTG & Planar". La version "Planar" gère uniquement les modes natifs de l'Amiga, tandis que l'autre gère en plus les modes RTG Picasso96 et CGX. Chacune de ces deux versions est distribuée compilée pour 68020 et 68060. Avant toute chose, il faut créer le mot de passe qui sera demandé aux clients se connectant. Il faut considérer qu'il est obligatoire de créer un mot de passe sous peine de gros problèmes avec la majorité des clients/serveurs VNC existants. Pour créer le mot de passe avec AmiVNC, il suffit de lancer l'exécutable avec la ligne de commande suivante : "AmiVNC.0x0 -pmot_de_passe". Ceci a pour effet de créer un fichier dans "S:" contenant le mot de passe sans pour autant lancer le serveur VNC. Pour lancer enfin le serveur VNC (sans paramètres particuliers), il suffit d'exécuter "AmiVNC.0x0". Il est possible de spécifier le numéro de port sur lequel le serveur va "écouter" avec l'option "-s" sur la ligne de commande ou avec l'option "PORT=" dans les paramètres d'icône. AmiVNC n'est pas particulièrement efficace puisqu'il se contente de renvoyer une image de l'écran au client à intervalles réguliers. Ceci a trois effets directs : sa lenteur, la consommation de CPU, et la consommation de bande passante. Il a cependant l'avantage de fonctionner quelle que soit la configuration vidéo de la machine. Il fonctionne d'ailleurs également sur Pegasos sous MorphOS. Ce serveur VNC ne gère que le protocole de base et n'intègre pas la gestion d'algorithmes de compression. Stéphane Guillard nous informe sur son site qu'une version PowerPC/WarpOS existe et fonctionne mais cette dernière ne semble pas distribuée : Stéphane, si tu nous regardes... Petite ombre au tableau, je ne suis pas parvenu à déplacer de fenêtres depuis un client : il semble que le serveur ne "voit" pas lorsque le bouton de la souris reste enfoncé. Suis-je le seul ? (ceci que je fasse tourner AmiVNC sous AmigaOS 3.9 ou MorphOS et quel que soit le client utilisé : Amiga, PC, etc.). Mise en oeuvre du client VVA : ![]() Il est possible de spécifier nombre de paramètres sur la ligne de commande : je vous renvoie à la documentation pour leur détail. Si vous lancez l'exécutable seul, ce dernier vous demandera d'abord le nom ou l'adresse IP de l'ordinateur "Serveur" puis le mot de passe. VVA affiche ensuite la liste des modes écran disponibles (l'idée étant de sélectionner le mode qui se rapproche le plus de la résolution utilisée sur l'ordinateur "serveur") avant de se connecter tout simplement. Mise en oeuvre du client MorphVNC : MorphVNC est un client natif MorphOS d'une efficacité redoutable. De plus, il gère le protocole de compression basic ZLib. Pour le lancer, il suffit d'exécuter la ligne de commande suivante : "MorphVNC ordinateur_serveur:numero_de_port". Si le numéro de port est inférieur à 100, MorphVNC considérera qu'il s'agit d'un numéro de "display" (port = 5900+display). Si le numéro de port n'est pas spécifié le port 5900 sera utilisé par défaut. Ensuite, MorphVNC demande le mot de passe et se connecte au serveur. Liens
D'avis personnel, un serveur VNC PowerPC (AmiVNC ?) serait le bienvenu. Il faut admettre que si les deux clients VNC existant sont très utilisables, le serveur que j'ai pu tester en est (comme l'indique d'ailleurs son auteur) à un stade expérimental. Qui se propose pour porter TightVNC ou Ultr@VNC sur Amiga ? ;)
|