Obligement - L'Amiga au maximum

Vendredi 17 novembre 2017 - 18:07  

Translate

En De Nl Nl
Es Pt It Nl


Rubriques

 · Accueil
 · A Propos
 · Articles
 · Galeries
 · Glossaire
 · Hit Parade
 · Liens
 · Liste jeux Amiga
 · Quizz
 · Téléchargements
 · Trucs et astuces


Articles

 · Actualité (récente)
 · Actualité (archive)
 · Comparatifs
 · Dossiers
 · Entrevues
 · Matériel (tests)
 · Matériel (bidouilles)
 · Points de vue
 · En pratique
 · Programmation
 · Reportages
 · Tests de jeux
 · Tests de logiciels
 · Tests de compilations
 · Articles divers

 · Articles in english
 · Articles in other languages


Twitter

Suivez-nous sur Twitter




Liens

 · Sites de téléchargements
 · Associations
 · Pages Personnelles
 · Moteurs de recherche
 · Pages de liens
 · Constructeurs matériels
 · Matériel
 · Autres sites de matériel
 · Réparateurs
 · Revendeurs
 · Presse et médias
 · Programmation
 · Développeurs logiciels
 · Logiciels
 · Développeurs de jeux
 · Jeux
 · Autres sites de jeux
 · Scène démo
 · Divers
 · Informatique générale


Jeux Amiga

0, A, B, C, D, E, F,
G, H, I, J, K, L, M,
N, O, P, Q, R, S, T,
U, V, W, X, Y, Z


Trucs et astuces

0, A, B, C, D, E, F,
G, H, I, J, K, L, M,
N, O, P, Q, R, S, T,
U, V, W, X, Y, Z


Glossaire

0, A, B, C, D, E, F,
G, H, I, J, K, L, M,
N, O, P, Q, R, S, T,
U, V, W, X, Y, Z


Partenaires

Annuaire Amiga

Amedia Computer

Relec

Hit Parade


Contact

David Brunet

Courriel

 


Dossier : VNC
(Article écrit par Nicolas Gressard - août 2004)


VNC Qu'est-ce que VNC ?

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 ?

VNC Le principe de fonctionnement est que le "serveur" envoie, via TCP/IP, des portions de l'écran au client, par paquets de rectangles (ou encore "framebuffer updates"). Ces mises à jour sont envoyées par le serveur uniquement sur demande du client. Ceci permet au client d'effectuer un contrôle plus subtil selon plusieurs paramètres (par exemple la vitesse de transmission, qui lui permet d'estimer le meilleur taux de rafraîchissement selon l'encombrement de réseau). Parallèlement, le client envoie au serveur, toujours via TCP/IP, toute action qui a été effectuée sur le clavier ou la souris afin que ce dernier les répercute sur la machine sur lequel il tourne.

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 :

VVA VVA est un client 68k parfaitement fonctionnel. Il ne gère cependant pas non plus de protocole de compression. Il est par contre parfaitement utilisable sur un 68040 à travers un réseau local ce qui est très bluffant !

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
Conclusion

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 ? ;)


[Retour en haut] / [Retour aux articles]