Comparaison des versions

Légende

  • Ces lignes ont été ajoutées. Ce mot a été ajouté.
  • Ces lignes ont été supprimées. Ce mot a été supprimé.
  • La mise en forme a été modifiée.

Documentation et téléchargement

Veuillez désormais consulter la page GitHub du projet : https://github.com/EBSI-umontreal/IsThereAnyFreeDesktop

Téléchargement et notes de version : https://github.com/EBSI-umontreal/IsThereAnyFreeDesktop/releases

Vous voulez retrouver la documentation d'installation d'une version précédente? Consultez l'historique de cette page via le menu Image Added

La crise sanitaire causée par la maladie à coronavirus (COVID-19) bouleverse la façon dont sont offerts certains services universitaires, dont l’accès aux laboratoires informatiques.
Ces laboratoires permettent, en temps normal, de donner accès à des logiciels parfois payants, dans un environnement uniforme, stable et contrôlé. Malheureusement, les licences acquises pour les laboratoires ne permettent pas de transférer ces licences sur les postes personnels de la communauté desservie. De plus, la personnalisation de « l’expérience utilisateur » effectuée sur les postes des laboratoires pour la réalisation d’activités pédagogiques proposées par les enseignants est parfois difficilement transférable sur les environnements personnels des étudiants.

Cette page a donc pour objectif de décrire une solution à la fois simple, open source et libre de droits (https://creativecommons.org/licenses/by-nc/4.0/), pour rendre disponible à la communauté universitaire les postes physiques d’un laboratoire informatique : IsThereAnyFreeDesktop (que la communauté francophone m’excuse pour ce nom anglais; les joueurs y verront une allusion à un site web qui leur est probablement familier).

Il existe bien entendu de nombreuses autres solutions, comme reproduire cet environnement dans une infrastructure VDI ou DaaS qui gère déjà nativement la disponibilité des postes et l’attribution aléatoire de places dès qu'un usager accède au service. Cependant, l’objectif ici est de rendre disponible une infrastructure déjà existante, à coût nul ou moindre.

Principe de base de la solution proposée

La solution repose sur 2 composantes :

  • L’activation du Bureau à distance (RDP) sur les postes du laboratoire.
  • Un site web sur lequel est affichée une liste des postes disponibles.

Image Removed

L’applicatif proposé par IsThereAnyFreeDesktop repose sur un environnement simple et très courant, c’est-à-dire l’utilisation du langage PHP et d’une base de données dans le SGBD MySQL pour le site web.

Ensuite, un ensemble de scripts s’exécutant sur les postes lors des 4 évènements suivants mettent à jour le site web :

  • Extinction du poste ou ouverture de session : lorsque ces évènements sont déclenchés, un script informe le site web que le poste est indisponible.
  • Démarrage du poste ou fermeture de session : à l’inverse, lorsque ces évènements sont déclenchés, un script informe le site web que le poste est de nouveau disponible.

Mise en œuvre de la solution proposée

Serveur web

La solution a été mise en œuvre avec succès dans au moins deux laboratoires de l’Université de Montréal : avec l’utilisation d’un serveur Windows (IIS10, + PHP 7.4.x + MySQL 5.6.x) dans un premier cas, et sur un serveur Linux (Debian + Apache) dans le deuxième.

Pour l’installation sur votre serveur :

  1. Décompressez le contenu du dossier « Serveur » dans l’emplacement de votre choix dans la structure de votre site web hébergé sur votre serveur.
  2. Créez un compte utilisateur et une base de données dans MySQL (vous pouvez importer le fichier INSTALL.sql pour créer la structure de la table).
  3. Ajoutez dans votre table les noms des postes de travail de votre laboratoire à rendre disponible sur le site web.
  4. Configurez la ligne de connexion MySQL $bdd et les autres variables disponibles dans le fichier LAB_config.php.

Quelques recommandations supplémentaires, mais facultatives :

  1. Intégrez le visuel (gabarit) de votre site web au fichier index.php.
  2. Activez le HTTPS sur le serveur web, par exemple avec un certificat Let’s Encrypt.
  3. Sécurisez l’accès à la liste des postes de votre site web par un mécanisme d’authentification.

Postes de travail

Pour l’installation sur vos postes de travail :

  1. Placez le contenu du dossier « Station » dans un dossier du poste.

  2. Configurez l’URL vers le fichier statut.php dans les 4 scripts startup.bat, shutdown.bat, login.bat et logoff.bat .
  3. Activez le Bureau à distanceselon la méthode de votre choix (GPOmodification du registre, etc.).

  4. Peuplez le groupe local des postes « Utilisateurs du Bureau à distance » avec les groupes ou les comptes des utilisateurs autorisés à se connecter, encore une fois peuplé selon la méthode de votre choix (script, GPO, etc.).

  5. Gestion des événements : pour la gestion de ces événements, nous proposons l’utilisation des GPO (géré par le domaine ou en local) pour appeler les 4 scripts :
    1. startup.bat : Configuration de l'ordinateur\Paramètres Windows\Scripts (démarrage/arrêt)\Démarrage
    2. shutdown.bat : Configuration de l'ordinateur\Paramètres Windows\Scripts (démarrage/arrêt)\Arrêt du système
    3. login.bat : Configuration utilisateur\Paramètres Windows\Scripts (ouverture/fermeture de session)\Ouverture de session
    4. logoff.bat : Configuration utilisateur\Paramètres Windows\Scripts (ouverture/fermeture de session)\Fermeture de session
    5. Si ce n’est déjà fait, désactivez le délai pour l’exécution des scripts.

 Image Removed Image Removed

Image Removed

Quelques recommandations supplémentaires, mais facultatives :

  1. Mettez en place un mécanisme pour fermer automatiquement les sessions abandonnées, par exemple avec Lithnet Idle Logoff.
  2. Mettez en place un mécanisme pour redémarrer les postes éteints (Wake-On-Lan ou planifiez un démarrage automatique par le BIOS sur les appareils HP).
  3. Configurez le menu Démarrer pour masquer les options « Arrêter », « Redémarrer » et « Déconnecter » (pour ne laisser que l’option de fermeture de session « Se déconnecter). Par GPO, ces modifications correspondent aux options suivantes :

    1. Configuration de l’ordinateur\Modèles d’administration\Menu Démarrer et barre des tâches\Supprimer et empêcher l’accès aux commandes Arrêter, Redémarrer, Mettre en veille et Mettre en veille prolongée

    2. Configuration de l’ordinateur\Modèles d’administration\Composants Windows\Services Bureau à distance\Hôte de la session Bureau à distance\Environnement de session à distance\Supprimer l’élément « Déconnecter » de la boite de dialogue Arrêt

Réseau (VPN)

Cette étape consiste à vous assurer que votre réseau permettra à vos utilisateurs de rejoindre les postes de travail dans votre intranet, par exemple à l’aide d’une connexion sécurisée VPN.

Documentation pour les utilisateurs

Vous pouvez vous inspirer de la documentation à l'intention de nos utilisateurs : Laboratoire d'informatique virtuel.

IsThereAnyFreeDesktop – Édition UdeM

Cette Une page contient quelques remarques supplémentaires et spécifiques pour une implantation à l’UdeM : 🔒 IsThereAnyFreeDesktop – Édition UdeM (accès réservé aux membres de CORELAB et des TI).

Nous remercier?

Ce projet vous a été utile et vous souhaitez nous remercier? Contribuez aux Bourses aux étudiants de l'EBSI ou au fonds des Amis de l'EBSI. Merci à l’avance!

Téléchargement et notes de mise à jour

...

.

...

  • Fichier RDP (pour Windows) généré côté client par JavaScript et non plus côté serveur par PHP.

  • Ajout d’une colonne « commentaire ».

  • Quelques correctifs et améliorations.

...

  • Première version publique

...

  • Correction de quelque bogues

...

  • La liste des postes offre maintenant un lien permettant d’ouvrir directement le client RDP (Windows ou Mac)

...