Gérer vos salles de cours avec iTALC

Magazine
Marque
Linux Pratique
Numéro
63
|
Mois de parution
janvier 2011
|


Résumé
Vous en avez assez que vos élèves passent leur séance de Travaux Pratiques à jouer en réseau ? Marre qu'ils préfèrent surfer sur le Web plutôt que de lever le nez pour suivre votre démonstration au tableau ? Fatigué de vous déplacer pour la nième fois expliquer le fonctionnement d'une commande !Ne cherchez plus, vous avez besoin d'un outil pour gérer les postes de travail. iTALC [1], gratuit et libre, avec toutes ses fonctionnalités, est plus qu'une alternative et s'impose comme un concurrent de choix face aux logiciels propriétaires comme MasterEye et NetSchool Support.

Body

1. Aperçu

Avec iTALC (Intelligent Teaching And Learning with Computers), vous pouvez superviser l'activité des postes étudiants, partager n'importe quel écran avec toute la classe, ou une partie seulement, pour une démonstration, prendre la main sur un poste étudiant pour l'assister ou encore lui bloquer complètement le poste pour qu'il concentre son attention sur vos explications au tableau.

1italc

Figure 1 : Aperçu de l'interface d'iTALC

Le logiciel se base sur le protocole Remote Frame Buffer [2], en mode client/serveur : une partie en mode serveur est à installer sur tous les postes (que nous appellerons le Client pour respecter la terminologie iTALC, et qui correspond au binaire ica) ; le client graphique iTALC est à installer seulement sur le poste du professeur pour se connecter aux différents postes (appelé Maître, toujours suivant la terminologie). Nous allons procéder à l'installation du client par paquet et par compilation, l'installation d'un poste maître et la génération des clés de sécurité, puis à la prise en main et la configuration du logiciel. Tout ça sous Debian 5 et Fedora 11/12/13.

2. Installation

La prochaine version 1.0.10 est (toujours) en phase de test. La dernière version stable est la 1.0.9 et dépend fortement de QT4 (>= 4.3). Vous pourrez donc l'installer sous différents environnements graphiques, mais c'est son installation sous Gnome que nous allons aborder ici.

2.1 Partie Client

2.1.1 Paquetage sous Debian

La version 1.0.9 est disponible sur les dépôts officiels, un simple :

$> aptitude install italc-client

installera le client et les dépendances requises.

2.1.2 Compilation sous Fedora

Il n'existe pas de paquet rpm sous Fedora, rendez-vous sur Sourceforge et téléchargez la dernière version stable 1.0.9 [3]. Une fois l'archive décompressée, il vous faut modifier le fichier lib/include/types.h : la version de GCC 4.4 utilisée par Fedora n'inclut pas les bibliothèques attendues par iTALC, censé être compilé avec GCC 4.3 [4] :

$> make

...

./include/types.h:33: erreur: 'uint32_t' does not name a type

In file included from ./include/isd_base.h:37,

                 from ./include/local_system.h:31,

                 from ./src/dsa_key.cpp:47:

./include/italc_rfb_ext.h:55: erreur: 'Q_UINT32' does not name a type

./include/italc_rfb_ext.h:56: erreur: 'Q_UINT32' does not name a type

...

On ajoute l'include manquant pour la bonne compilation, à la ligne 27 du fichier lib/include/types.h :

...

#ifndef _TYPES_H

#define _TYPES_H

#include <stdint.h>

...

On peut compiler et installer après avoir récupéré les dépendances :

$> sudo yum -y install qt-devel libXtst-devel openssl-devel

$> wget http://downloads.sourceforge.net/project/italc/italc/1.0.9/italc-1.0.9.tar.bz2?use_mirror=ovh&ts=1279777801

$> tar xjf italc-1.0.9.tar.bz2

$> cd italc-1.0.9

$> sed -i "27i\#include <stdint.h>" lib/include/types.h # Pour les feignants administrateurs systèmes qui se respectent

$> ./configure --with-qtdir=/usr

$> make

$> sudo make install

2.1.3 Test et lancement du client

Pour les deux types d'installation, vous pouvez tester l'application en lançant :

$> ica

qui va lancer le client en écoute sur le port 5900, et vous devriez voir apparaître son icône dans le tableau de bord.

2italc_tourne

Figure 2 : ça tourne !

Pour lancer automatiquement les clients iTALC et y accéder, aussi bien avant que pendant la connexion d'un utilisateur, il faut éditer /etc/gdm/PreSession/Default et /etc/gdm/Init/Default en ajoutant les lignes suivantes en début de fichier :

...

killall ica #on tue au préalable toute session existante,

/usr/bin/ica & #pour n'en avoir qu'une seule de démarrée.

...

2.2 Partie Maître

2.2.1 Binaire

Sous Debian, lancez :

$> sudo apt-get install italc-master

Sous Fedora, le binaire a été installé dans /usr/local/bin/italc : effacez-le si la station de compilation n'est qu'un poste client, bien sûr.

2.2.2 Génération des clés

Pour sécuriser les communications entre poste client et poste maître, on génère une paire de clés : la clé publique doit être présente et lisible sur tous les postes, la clé privée n'a besoin d'être accessible que par le poste maître et lisible seulement par les enseignants et personnes pouvant lancer l'interface iTALC. Depuis le poste maître, exécutez :

$> ica -role teacher -createkeypair

Ce qui générera les clés privée et publique dans les répertoires /etc/italc/keys/private/teacher et /etc/italc/keys/public/teacher respectivement. Pour protéger l'utilisation de l'application maître, nous allons créer un groupe italc et y ajouter les utilisateurs autorisés à accéder aux clés :

$> sudo groupadd italc

$> sudo usermod -a -G italc prof

$> sudo usermod -a -G italc admin

$> sudo chgrp -R italc /etc/italc/keys/private/

$> sudo chmod -R 640 /etc/italc/keys/private/

Il ne vous reste plus qu'à copier la clé publique dans le répertoire /etc/italc/keys/public/teacher (le créer au besoin) de chaque poste client.

3. Configuration commune

Cette partie est facultative, mais si vous préférez stocker les clés sur un répertoire partagé en NFS, par exemple, vous pouvez indiquer leur chemin dans le fichier iTALC.conf , situé dans /etc/iTALC Solutions sous Fedora, et /etc/xdg/iTALC Solutions sous Debian (attention à l'espace). Ces dossier et fichier de configuration ont été créés àl'exécution d’ica, sinon créez-les.

#chemin vers la clé publique

[keypathspublic]

teacher=/chemin/vers/dossier/nfs/ou/local/public/key

#chemin vers la clé privée à ne préciser que sur la configuration du poste maître

[keypathsprivate]

teacher=/chemin/vers/dossier/nfs/ou/local/private/key

La directive [keypathspublic] est la seule nécessaire et suffisante pour les postes clients, le poste maître doit également spécifier la directive [keypathsprivate].

4. L'interface

4.1 Premier démarrage

Lancer l'application (menu Education > italc ou italc en ligne de commandes). Le dossier .italc est automatiquement créé dans votre dossier personnel, et iTALC va se plaindre de ne pas y trouver de fichier globalconfig.xml, qui contient les Salles/Postes que vous voulez référencer dans le logiciel.

3erreur

Figure 3 : Ajout d'un poste maître

Ce fichier va être créé dès que nous effectuerons des modifications dans la configuration du programme. Commençons donc par ajouter une salle contenant le poste maître : dans le bandeau vertical de gauche, cliquez sur l'icône représentant un ordinateur avec une loupe, ce qui ouvrira le panneau latéral Gestionnaire de Salle. Créez une première salle, comme indiqué, clic droit sur cette salle, Ajouter un ordinateur et procédez aux réglages comme suit :

4ajout

Figure 4 : Ajout d'un poste maître

Double-cliquez sur le poste ajouté, vous devriez obtenir l'affichage de votre propre poste. Continuez la procédure pour toutes vos salles et tous vos postes. C'est long ? Oui, vous n'allez donc pas demander à chaque enseignant, déjà débordé par les élèves, de se taper à la mimine cette configuration redondante et rébarbative : déplacez le fichier globalconfig.xml depuis votre répertoire personnel .italc vers un répertoire accessible par tous les utilisateurs depuis le poste maître, puis ajoutez la directive suivante dans iTALC.conf :

[paths]

globalconfig=/chemin/vers/dossier/nfs/ou/local/globalconfig.xml

Cette configuration deviendra ainsi globale à tous les utilisateurs. Désormais, c'est le fichier ~/.italc/personalconfig.xml qui contiendra les modifications d'utilisation d'iTALC propres à chaque utilisateur, que nous abordons dans la partie suivante.

Avant, tout comme la clé privée, on fixe les permissions du fichier (on en profite pour fixer celles du fichier iTALC.conf au passage) :

$> chown root:italc /chemin/vers/dossier/nfs/ou/local/globalconfig.xml /chemin/vers/iTALC.conf

$> chmod 640 /chemin/vers/dossier/nfs/ou/local/globalconfig.xml /chemin/vers/iTALC.conf

4.2 Prise en main

5interface

Figure 5 : Interface

L'interface est composée de la barre verticale de menu (orange), son panneau d'information associé (turquoise), de la barre d'outils (vert) et du panneau de travail (rouge). Par le menu, vous pouvez accéder à la gestion des salles vue précédemment, aux captures d'écran des clients effectuées, ainsi qu'à certains paramètres de l'interface.

C'est dans la barre d'outils que l'on trouve la plupart des fonctionnalités d'iTALC, à savoir, dans l'ordre : Salles pour afficher les salles paramétrées, Aperçu vous ramène à l'affichage par défaut en mode visionnage pour sortir des modes de prise de contrôle, etc. Démo plein écran affiche le poste maître sur tous les clients, idem pour Démo fenêtre, sauf que dans ce mode, le client peut suivre la démonstration dans une fenêtre et continuer à travailler à côté. Tout verrouiller bloque les postes clients pour que les élèves écoutent l'enseignant. Message texte envoie une message texte (sic !) à l'écran des clients, même si aucun utilisateur n'est connecté. Allumer (par Wake On Lan) nécessite que votre carte réseau soit compatible, correctement paramétrée et que vous ayez rentré son adresse MAC lors de la configuration du poste client. Éteindre, sans commentaire, les deux derniers boutons permettant d'aligner les affichages des postes dans la zone de travail. Depuis cette zone, vous pouvez effectuer ces mêmes opérations individuellement par un clic droit sur un poste, ainsi que d'autres opérations, comme redémarrer une machine, se connecter avec un utilisateur, afficher en plein écran le poste client sélectionné, prendre la main dessus façon VNC ou encore effectuer une démonstration à partir de ce poste.

Conclusion

À ce jour, les seules difficultés rencontrées concernent l'affichage de session graphique faisant tourner des applications 3D, avec lesquelles le logiciel doit être redémarré.

Le corps enseignant est satisfait du logiciel : de prise en main intuitive, les professeurs constatent plus d'interactivité et moins de dilettantisme pendant les TPS. Notre installation comporte plusieurs salles hétérogènes (l'installation d'iTALC sous Windows est laissée comme exercice au lecteur), avec chacune un poste maître, et nous, administrateurs, pouvons également surveiller l'activité de nos petits étudiants pendant les heures en accès libre.

J'espère que cette présentation vous donnera envie d'ajouter iTALC à votre boîte à outils pédagogique, surtout si vous n'avez pas de vidéo-projecteurs dans vos salles !

Travaux Pratiques avec Screen

Présentation

Sans fournir les fonctionnalités d'iTALC, bien sûr, voici un moyen simple de reproduire le même type d'environnement d'assistance utilisateur avec l'outil screen, si vous ne travaillez pas en interface graphique, en utilisant sa possibilité d'ouvrir une session en mode partagé (option -S), de se reconnecter à une session sans déconnecter la précédente (option -x), en ayant au préalable donné les permissions à sa session dans le mode ligne de commandes screen (pour entrer dans ce mode, une fois dans screen, tapez [Ctrl]+[a] suivi de :, un prompt apparaît en bas à gauche, tapez votre commande puis [Entrée]).

Chacun des étudiants et l'enseignant auront plusieurs sessions screen en cours :

- Chaque étudiant (utilisateur « etudiantX » sur poste « poste_etudiantX ») ouvrira une session, accessible en écriture par le professeur, dans laquelle il travaillera.

- L'enseignant (utilisateur « prof » sur le poste « poste_prof ») se connectera aux sessions des élèves pour surveiller leur travail et, au besoin, les assistera.

- Ce dernier démarrera une seule session screen accessible en lecture seulement.

- Chaque étudiant connecte une session screen à la session précédente du professeur pour suivre ses explications.

Pré-requis

Il faut donner les droits suid au binaire screen, et changer les permissions du dossier contenant les sessions, sur chaque poste :

$>sudo chmod +s /usr/bin/screen

$>sudo chmod 755 /var/run/screen

Très léger niveau sécurité, n'oubliez pas de faire la procédure inverse à la fin de la séance.

Session screen étudiant

On crée une session partagée accessible en écriture uniquement par le professeur :

etudiant1@poste_etudiant1:$> screen -S session_etudiant1

etudiant1@poste_etudiant1:$>[Ctrl]+[a] :multiuser on

etudiant1@poste_etudiant1:$>[Ctrl]+[a] :acladd prof

Le professeur n'a plus qu'à se raccrocher à la session :

prof@poste_etudiant1:$>screen -x etudiant1/session_etudiant1

Session screen enseignant

prof@poste_prof:$> screen -S session_prof

prof@poste_prof:$> [Ctrl]+[a] :multiuser on

prof@poste_prof:$> [Ctrl]+[a] :acladd etudiant1,etudiant2 #il faut préciser les utilisateurs un à un, séparés par une virgule

prof@poste_prof:$> [Ctrl]+[a] :aclchg * -w "#" #pour la modification des permissions, on peut ici utiliser le joker * pour spécifier tous les utilisateurs

les élèves se connectent à la session prof comme précédemment :

etudiant2@poste_prof:$>screen -x prof/session_prof

Je vous renvoie vers la page de manuel de screen pour connaître toutes les options de la commande aclchg.

Liens

[1] http://italc.sourceforge.net/

[2] http://en.wikipedia.org/wiki/RFB_protocol

[3] http://sourceforge.net/projects/italc/files/italc/

[4] http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=504970


Par le même auteur

Auto-héberger ses services en ligne sur Sandstorm

Magazine
Marque
Linux Pratique
Numéro
113
|
Mois de parution
mai 2019
|
Domaines
Résumé
Vous reprendrez bien un petit peu de GAFA ? Pour vos e-mails, vos documents, vos réseaux sociaux ? Google, Apple, Facebook et Amazon, pour en nommer quelques-uns, GAFA comme on les surnomme. Ces services web fermés, centralisés et propriétaires font partie de notre quotidien. Cela fait des années qu’on le sait, et que des libristes proposent des alternatives auto-hébergeables pour lutter contre cette hégémonie. Mais si vous voulez auto-héberger l’équivalent de toutes ces applications, il va falloir maintenir beaucoup de services web différents. Ce qui demande beaucoup de temps, voire de compétences techniques. Si vous n’avez ni l’un ni l’autre, Framasoft est déjà une très bonne alternative hébergée pour quitter le giron des GAFA. Si vous possédez juste un minimum des deux, je vous propose de découvrir dans cet article Standstorm, pour héberger et gérer vous-même votre vie en ligne.

Créer sa clé USB multiboot avec Easy2Boot

Magazine
Marque
Linux Pratique
Numéro
112
|
Mois de parution
mars 2019
|
Domaines
Résumé
On a toujours besoin d’un petit Linux sur soi : pour dépanner sa machine, celle de vos amis quand ils vous invitent chez eux (vous savez, au moment de l’apéro, quand vous entendez le fatidique « au fait, toi qui est dans l’informatique… »). Ou encore pour vous permettre de démarrer depuis un système sûr, plutôt que depuis un Windows vérolé sur un poste partagé en libre-service. Il existe des distributions spécialement conçues à cet effet, à installer sur une clé USB. On peut aussi récupérer le fichier ISO de n’importe quelle distribution, et en faire une clé USB bootable à l’aide de l’utilitaire dd, ou de l’application graphique UNetbootin.

Auto-hébergez et partagez vos photos en ligne

Magazine
Marque
Linux Pratique
HS n°
Numéro
44
|
Mois de parution
février 2019
|
Domaines
Résumé
Il existe de nombreuses solutions pour auto-héberger vos photos en ligne. Beaucoup sont des services propriétaires hébergés par des tiers, dont vous et vos données êtes à la merci : Flickr vient récemment de mettre un terme à son offre gratuite, et de nombreux utilisateurs gratuits se voient menacés de la suppression de leurs images à moins de payer. Le prix d’un serveur en ligne n’a jamais été aussi faible, et il existe de nombreuses alternatives aux solutions propriétaires, et c’est tant mieux. Parmi celles-ci, je vais vous présenter Chevereto, une des alternatives les plus personnalisables.

Créez votre propre fil d’actualité avec Tiny Tiny RSS

Magazine
Marque
Linux Pratique
HS n°
Numéro
44
|
Mois de parution
février 2019
|
Domaines
Résumé
Parce que l’on consulte beaucoup de sites, et que l’on est à la recherche d’un moyen d’agréger ces différents contenus. Parce que ce sont parfois des réseaux sociaux comme Twitter ou Facebook qui sont notre seule source d’actualité, et que l’on veut créer son propre fil d’actualité. Et pour encore tout un tas d’autres raisons, on peut être à la recherche d’un moyen de centraliser toutes ces sources d’informations. Pour cela, je vous propose d’utiliser l’agrégateur de flux RSS nommé Tiny Tiny RSS. Car non, les flux RSS ne sont pas morts, ils sont encore utilisés par de nombreux sites pour partager leur contenu. Et nous verrons même dans cet article comme exposer sous forme de flux RSS des sites qui n’en proposent pas par défaut.

Votre serveur de chat auto-hébergé avec Rocket.Chat

Magazine
Marque
Linux Pratique
Numéro
111
|
Mois de parution
janvier 2019
|
Domaines
Résumé
Les applications de chat sont présentes depuis longtemps, et les canaux IRC encore très utilisés. Chatter est tellement populaire, que des dizaines d'applications existent. Malgré cette concurrence, Slack, une application relativement récente, a réussi à percer, et a largement conquis le monde de l'entreprise. Malheureusement, Slack est très cher, mais est surtout propriétaire : vous n'êtes pas maître de vos données. Rocket.Chat est une alternative libre et gratuite, ce qui vous permettra de reprendre le contrôle de vos données et de ménager votre porte-monnaie, tout en ayant les mêmes fonctionnalités que Slack, et plus encore : visioconférence, personnalisation de l'interface, intégration avec des services tiers.

Pilotez vos serveurs sans peine avec Cockpit

Magazine
Marque
Linux Pratique
Numéro
110
|
Mois de parution
novembre 2018
|
Domaines
Résumé
L’administration d’un serveur Linux s’avère dantesque, avec toutes ses possibilités de configuration, ses commandes et chemins de fichiers à connaître. Que vous débutiez sous Linux, ou que vous administriez depuis des années un serveur de manière épisodique. Dans cet article, je vous propose de découvrir Cockpit pour vous faciliter la vie.