Journal vnclic : partager facilement son écran sur un réseau local

Posté par  (site Web personnel) . Licence CC By‑SA.
53
9
août
2020

Bonjour,

Je souhaite vous présenter un petit logiciel de partage d'écran que j'ai créé car je n'ai pas trouvé ce dont j'avais besoin. Il est téléchargeable ici: vnclic.

Titre de l'image

Le cas d'usage

Un atelier informatique où chacun utilise sa machine personnelle avec un système Linux. L'application permet à chaque participant de partager son écran avec l'ensemble du groupe en appuyant sur un bouton. Les participants ont accès à une liste de personnes partageant leur écran.

La killer feature: Dès qu'une personne partage son écran, tous les participants basculent automatiquement sur cet écran (option désactivable)

Sous le capot

L'application est écrite en Python/Tk et utilise x11vnc et ssvnc pour la partie partage d'écran. Le portage vers d'autres technologies de partage d'écran plus actuelles devrait être simple. On pourrait également changer de serveur/visionneur pour le rendre compatible avec d'autres systèmes d'exploitation. Mon choix s'est porté sur x11vnc en raison de sa légèreté et ses innombrables possibilités, et sur ssvnc principalement en raison de la possibilité de modifier la taille de l'affichage.

L'application fonctionne sur réseau IPv4, le portage sur IPv6 serait un peu compliqué (pas de possibilité de faire du broadcast?).

Avenir

Je n'ai pas encore pu tester l'application en conditions réelles (ça sera fait la semaine prochaine dans mon association), son évolution dépendra beaucoup du retour des utilisateurs. Je souhaite qu'elle reste simple du point de vue de l'utilisateur. J'espère qu'elle pourra être utile à d'autres également, que ce soit pour sa fonction principale ou comme exemple de ce qu'on peut faire avec 400 lignes de Python.

  • # IPv6 et broadcast

    Posté par  . Évalué à 10.

    Effectivement, il n'existe pas en IPv6 de broadcast au sens IPv4, utilisant une adresse de broadcast basée sur l'adresse réseau (masque des hôtes à 1).
    Mais la fonctionnalité est présente sous forme de multicast, et en l'occurrence l'adresse multicast ff02::1 permet de toucher toutes les machines présentes sur le lien local.

    • [^] # Re: IPv6 et broadcast

      Posté par  . Évalué à 7.

      Il pourrait probablement être intéressant de regarder du côté d'Avahi / Bonjour pour le multicast / la découverte réseau. Ils résolvent certainement beaucoup de problèmes pour nous.

  • # pas trolldi, tant pis

    Posté par  . Évalué à 1.

    Et wayland alors?

    Oui, désolé, quelqu'un devais la faire…

    La suite sera peut-être plus intéressante:

    Vu que tu utilises un protocole standard, pourquoi te limiter à linux? J'entend bien que tu n'as que ça sous la main et comme expérience, mais de mon point de vue, un programmeur devrais essayer d'éviter les dépendances inutiles.
    Ici, clairement, tu dépends de python (3 j'imagine) et X11. Je pense qu'il est dommage de présenter cet outil comme spécifique à linux du coup.

    Je n'apprécie pas spécialement python, mais tant qu'à utiliser un langage de "haut niveau", autant éviter les limites artificielles.

    PS: bonne chance, ça à l'air sympa comme outil

    • [^] # Re: pas trolldi, tant pis

      Posté par  (site Web personnel) . Évalué à 10. Dernière modification le 09/08/20 à 14:14.

      Merci pour les encouragements.

      Le but principal était d'avoir un outil fonctionnel en une semaine, et qu'il réponde à mon besoin. Le support de Windows, Wayland, IPv6… ce sont des choses qui n'étaient pas prioritaires car je n'en ai personnellement pas l'utilité aujourd'hui, mais c'est une évolution qui est possible et qui sera un jour nécessaire. J'ai néanmoins essayé de faire en sorte que mon code Python ne soit pas dépendant d'une plateforme (exemple: gestion des préférences) pour faciliter les évolutions dans ce sens.

      Pour l'instant j'utilise x11vnc et ssvnc qui a priori ne fonctionnent qu'avec Unix/Linux (BSD?), donc je ne m'avance pas davantage quant à sa compatibilité avec d'autres systèmes, je n'ai pas testé. Si quelqu'un en a la possibilité je serai curieux d'en savoir plus. En présentant mon travail j'espère aussi avoir des retours pour améliorer le logiciel et apprendre par la même occasion. J'ai déjà appris un truc sur IPv6 :)

      Un LUG en Lorraine : https://enunclic-cappel.fr

      • [^] # Re: pas trolldi, tant pis

        Posté par  . Évalué à 10. Dernière modification le 09/08/20 à 21:16.

        Salut,

        Je seconde pour les encouragement.

        Un projet en première version peut n'être qu'une expérimentation, répondant à un besoin spécifique.

        Ce n'est pas grave dans ce cas s'il est limité en fonctionnalités.

        Bon courage pour la suite :)

        Si on ne commence pas le chemin, il y a peu de chances d'arriver au bout ;)

        Matricule 23415

  • # Master ou pas

    Posté par  (site Web personnel) . Évalué à 3.

    C'est super de l'avoir fait, et de partager.

    J'ai une question à propos de la killer feature, si chacun peut partager son écran et que ça s'ouvre automatiquement sur tous les écrans, est-ce que ce n'est pas un peu le bordel avec une classe ou un groupe, disons, un peu dissipé ou espiègle ?

    Pour de la formation, dans l'idéal il faudrait que le prof / formateur puisse choisir qui partage son écran avec tout le monde à un moment précis. Faudrait donc en quelque sorte une appli maître qui commande les applis des postes. Mais ton besoin est peut-être différent.

    • [^] # Re: Master ou pas

      Posté par  (site Web personnel) . Évalué à 4.

      Concernant la feature, c'est désactivable en décochant une case. Dans ce cas il y a juste un bouton qui apparaît et qui indique qui veut partager son écran.

      Effectivement l'application n'est pas adaptée à une classe dissipée, mais pour cette utilisation il y a déjà des logiciels qui existent, libres ou non (Epoptes, italc en libres). Dans ce genre de cas il y a généralement des salles informatiques équipées et ces logiciels permettent de contrôler totalement les ordinateurs. Dans mon cas ce sont des ordinateurs privés, donc donner autant de pouvoirs n'est pas envisageable.

      Il y a probablement d'autres solutions pour éviter les débordements mais je ne pense pas que ce soit utile pour le public visé par cette application.

      Un LUG en Lorraine : https://enunclic-cappel.fr

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.