Comment faire sans vidéo-projecteur?

Rédigé par lkiefer - - 2 commentaires

Je fais partie d'une association nouvellement créée, dédiée à l'apprentissage de l'informatique à travers l'utilisation des logiciels libres. La salle qu'on nous a mis a disposition ne dispose malheureusement pas de vidéo-projecteur, et nous n'avons pas encore le budget pour en acquérir un. Nous avons donc cherché une solution pour partager nos écrans à travers le réseau.

La solution qu'il nous faut doit:

  • être multiplateformes, car nous avons des ordinateurs sous Linux, Windows et Mac.
  • afficher le curseur de l'ordinateur distant
  • pouvoir accepter une dizaine de connexions, ce qui signifie:
    • ne pas utiliser trop de ressources sur l'ordinateur serveur
    • ne pas nécessiter trop de bande passante
  • être un logiciel libre
  • être simple d'utilisation

Nous avons envisagé plusieurs solutions, qui ont leurs avantages et inconvénients.

X2go

X2go est une solution basée sur FreeNX, que j'ai voulu tester en raison des bonnes performances qu'elle promettait. Ça fonctionne bien pour du contrôle à distance et je m'en sers personnellement, mais elle n'est pas adaptée à notre cas pour plusieurs raisons:

  • Il faut se connecter sur l'ordinateur avec un compte utilisateur (login ssh)
  • Le curseur n'est pas affiché
  • Il n'est pas possible de visualiser à plusieurs un écran

Streaming

Vu qu'il me faut juste envoyer une image à travers le réseau, j'ai pensé au streaming en direct. Une solution aurait été d'utiliser cvlc pour capturer l'écran et le transmettre sur le réseau. Ça fonctionne, mais ça reste complexe à mettre en place et demande pas mal de ressource sur l'ordinateur serveur (capture de l'écran, compression, diffusion). L'autre problème est la capture du pointeur, qui nécessite l'utilisation d'un fichier image pour le représenter (on ne capture pas la vraie image du pointeur). Ainsi on ne voit pas à l'écran si le curseur change de forme.

VNC

C'est la solution la plus simple à mettre en œuvre, et celle que nous avons retenue. Le protocole VNC est relativement gourmand en bande passante, car il envoie l'image brute (pixels). En contrepartie, il est économe en ressources sur l'ordinateur serveur (il n'y a pas de compression des données). D'après nos test en grandeur nature, c'est assez réactif et répond à nos attentes

Utilisation de VNC

Configuration de X11VNC

Dans la plupart des distributions GNU/Linux, un serveur VNC est déjà installé par défaut (sous Ubuntu ou Mint, c'est Vino). x11vnc a l'avantage d'être plus léger (à confirmer...), et surtout d'être très configurable. Il est disponible dans les dépôts, il suffit de le chercher dans la logithèque pour l'installer.

Au lancement, le logiciel nous demande le port à utiliser. Il suffit de valider avec les réglages prédéfinis, le serveur se lance, et on atterri sur une fenêtre de configuration basique.


configuration VNC

  • Show instructions : afficher le volet latéral contenant quelques explications
  • Accept Connexions : Autoriser les utilisateurs à se connecter
  • Ask for Confirmations : Afficher une demande de confirmation avant qu'un utilisateur aie le droit de se connecter
  • All Clients ViewOnly : Si coché, aucun utilisateur ne peut contrôler l'ordinateur
  • Shared : Autoriser plusieurs connexions simultanées
  • Advertise Service (zeroconf) : Signaler l'application VNC au réseau, pour que les utilisateurs trouvent facilement l'ordinateur serveur
  • Serve Java Viewer Applet : proposer un logiciel client VNC en téléchargement (que je n'ai pas pu tester en raison d'un bug)
  • Solid Background Color : mettre une couleur unie en fond d'écran
  • Password : Mot de passe pour contrôler l'ordinateur
  • ViewOnly Password : Mot de passe pour uniquement voir l'écran

La configuration montrée sur l'image correspond à ce dont on a besoin: partager l'écran à plusieurs. Il suffit alors de cliquer sur "Apply" ou "OK" pour partager son écran. Une icône apparaît alors dans la barre système, nous permettant de stopper le serveur VNC, ou bien d'accéder à nouveau aux propriétés.

Pour notre utilisation, il peut être utile d'arranger encore un peu la configuration, on va donc dans le panneau des propriétés avancées (Bouton "«Advanced...»).

configuration VNC

Une nouvelle fenêtre s'affiche, avec une barre de menus proposant plusieurs options. Pour que le pointeur s'affiche correctement sur les clients, dérouler le menu «Pointer». Cocher les options «cursorpos» et «nocursorshape». Dans le sous-menu «cursor», sélectionner «most», et dans le sous-menu «arrow», sélectionner «2». Après des tests, c'est ce qui donne les meilleurs résultats pour la préservation de la forme des curseurs (tests effectués avec Gimp).
Il est aussi possible d'augmenter la taille du curseur, cela se fait en cliquantsur «Screen / scale_cursor», puis il faut indiquer le facteur d'échelle.

Quand les paramètres voulus sont configurés, il est possible de les enregistrer en passant par «Actions / Settings / save-settings». Un nouveau fichier de configuration sera alors créé dans le répertoire personnel, sous le nom de «.x11vncrc».

Pour lancer le serveur facilement, vous pouvez vous faire un lanceur personnalisé, en mettant en commande: «x11vnc -gui tray». Cela lancera directement le serveur avec les paramètres par défaut (ceux que vous avez configurés et enregistrés), et affichera une icône dans la barre système pour contrôler le serveur.

Clients VNC

Les clients VNC sous Linux sont nombreux, nous utilisons principalement Remmina qui accepte également d'autres protocoles. Pour se connecter, il faut créer une nouvelle connexion: «Connection > Nouveau». Sélectionner le protocole «VNC - Virtual Network Computing».
En serveur, entrer l'adresse IP de l'ordinateur serveur ou son nom d'hôte (c'est le normalement le nom de l'ordinateur suivi de .local).
Choisir les paramètres «Couleur Vraie 24bits» et qualité «Bonne» (Inutile de réduire ces paramètres si la connexion réseau est bonne). Cocher également la case «Afficher le curseur distant».

Sous Windows, TightVNC fonctionne bien. Lors de l'installation, attention à n'installer que le client VNC, si le serveur vous est inutile

Comme dit auparavant, le protocole VNC est relativement gourmand en bande passante. Cela n'est pas très dérangeant sur un réseau privé, néanmoins pour de meilleures performances, il est préférable d'utiliser un réseau câblé plutôt que sans fil. Cela est encore plus vrai pour le serveur, par qui passera toutes les requêtes réseau.

2 commentaires

#1  - Milouse a dit :

Et avez-vous regardé du côté de iTalc ?

#2  - lkiefer a dit :

J'avais jeté un œil à iTalc, mais ça ne correspond pas à notre problème: nous n'avons pas de salle équipée d'ordinateurs, chacun vient avec son ordinateur personnel. Du coup, ça peut devenir compliqué à gérer (gestion des différents systèmes, différentes versions du logiciel...).
On essaiera probablement iTalc un soir, histoire de voir si ça apporte vraiment quelque chose. Je mettrai alors l'article à jour :)

Fil RSS des commentaires de cet article

Écrire un commentaire

Les commentaires sont modérés avant d'être postés. Les commentaires à vocation publicitaire, ou comportant un lien vers un site non personnel, ne seront pas publiés

Quelle est le premier caractère du mot 6zcfw4 ?