Skip to content

Détection automatique enseignant/élève (à lire d'abord)

La caractéristique principale de cc-class est que vous installez le même paquet sur chaque machine. Après l'installation, chaque machine détermine toute seule si elle est un « enseignant » ou un « élève » — les administrateurs n'ont rien à faire de différent par machine.

La décision repose sur une seule chose : le nom de l'ordinateur (hostname).

1. La règle : quels noms comptent comme « enseignant »

Une machine est considérée comme un enseignant si son nom d'ordinateur correspond à l'un des cas suivants (insensible à la casse) ; sinon, c'est un élève.

  1. Contient un mot-clé enseignant : le nom inclut teacher, jiaoshi, laoshi, ou le chinois 老师.
    • p. ex. teacher-01, JiaoShi, lab1-老师
  2. Contient une balise enseignant -t / _t : un t isolé délimité de sorte que le caractère avant lui soit -, _ ou le début, et que le caractère après lui soit -, _, un chiffre, ou la fin.
    • Correspond : pc-t, lab-t-01, room1-t2, PC001-T
    • Ne se déclenche pas par erreur sur : -test (t suivi de e), team (t suivi de e), host-time (t suivi de i)
Pour les techniciens : la règle exacte

La balise enseignant est détectée par l'expression régulière (^|[-_])t([-_]|[0-9]|$) (après passage en minuscules). Le programme d'installation Windows (installer.nsi) et le démon Linux (StudentService) intègrent une logique identique, de sorte que l'application enseignant, l'application élève et le programme d'installation s'accordent toujours.

Nommage recommandé

RôleExemple de nom d'ordinateurRemarque
Enseignantteacher, teacher-01, PC-T, PC001-Tmot-clé ou balise -t
ÉlèvePC001, PC002, stu-01, room1-15nom simple, sans balise enseignant

Le schéma le plus simple

Nommez la machine enseignant PC001-T (se terminant par -T), et les élèves PC002, PC003, … L'environnement de démonstration de ce manuel utilise exactement cela : enseignant PC001-T, élèves PC002 et PC003.

2. Priorité du nom du bureau cloud (important)

De nombreux laboratoires utilisent des solutions de bureau cloud / sans disque (IDV/VOI) où de nombreuses machines démarrent à partir de la même image, de sorte que le hostname du système d'exploitation peut être identique d'une machine à l'autre. Pour gérer cela, cc-class résout le nom comme suit :

  1. D'abord, il lit le « nom d'ordinateur du bureau cloud » poussé par la plateforme :
    • Linux : depuis le périphérique /dev/vdchardev ;
    • Windows : depuis le périphérique \\.\vddsk.
  2. Ce n'est que si ce périphérique est absent / illisible / vide qu'il revient au hostname du système d'exploitation.

Autrement dit : nom du bureau cloud > hostname du système d'exploitation. Dans un environnement de bureau cloud, définissez le nom d'ordinateur du bureau cloud de la machine (p. ex. PC001-T) sur la plateforme de gestion — et pas seulement le hostname du système d'exploitation.

Piège courant

Si le hostname du système d'exploitation est PC001-T (ressemble à un enseignant) mais que le nom de bureau cloud poussé est PC001 (un élève), cc-class utilise le nom cloud PC001 et le traite comme un élève, de sorte que l'application enseignant refuse de démarrer. Lors du dépannage, fiez-vous au « nom d'ordinateur du bureau cloud ».

3. Ce que la décision entraîne (comportement automatique)

Si la machine est…TeacherAppStudentAppRaccourci du bureau
Enseignantdémarre normalementse ferme automatiquement (l'application élève ne s'exécute pas sur un enseignant)crée uniquement l'icône Enseignant
Élèveaffiche « pas une machine enseignant, ne démarrera pas »s'exécute et se connecte automatiquement à l'enseignantne crée aucune icône de bureau (garde le bureau propre)
  • L'application élève se ferme discrètement sur une machine enseignant (renvoie 0, aucune perturbation).
  • L'application enseignant avertit et se ferme sur une machine élève. En cas d'urgence, vous pouvez ajouter l'option de ligne de commande --no-host-check pour ignorer la vérification (voir la FAQ).

4. Raccourcis du bureau : automatiques, sans travail manuel

Vous ne créez pas les icônes à la main. cc-class les gère selon le rôle et nettoie toute icône résiduelle de mauvais rôle :

  • Machine enseignant : une icône cc-class Enseignant est placée sur le bureau.
    • Sous Linux, le démon élève StudentService la reconstruit à chaque démarrage en fonction du nom du bureau cloud, et définit automatiquement le metadata::trusted de GNOME afin que l'icône ne soit pas affichée comme un « lanceur d'application non approuvé » (ce qui ferait que le double-clic ne fait rien).
    • Sous Windows, le programme d'installation crée …-Teacher.lnk en fonction du nom de l'ordinateur.
  • Machine élève : aucune icône de bureau (une entrée existe toujours dans le menu des applications pour le dépannage).

Résultat réel dans l'environnement de démonstration (vérification des dossiers de bureau) :

text
# Bureau de l'enseignant PC001-T : possède l'icône enseignant
~/Desktop/cc-class-teacher.desktop

# Bureaux des élèves PC002 / PC003 : vides (aucune icône cc-class)
(aucune)

Vous avez changé le nom de l'ordinateur ?

Il suffit de redémarrer. Au démarrage, le démon réévalue le rôle avec le nouveau nom et reconstruit/nettoie l'icône du bureau — entièrement automatique.

5. Logigramme de décision

                ┌─────────────────────────────┐
                │  Lire le « nom bureau cloud »│
                │  Linux:   /dev/vdchardev     │
                │  Windows: \\.\vddsk          │
                └──────────────┬──────────────┘
              non vide │ sinon repli
                ┌──────────────▼──────────────┐
                │  Utiliser le hostname de l'OS│
                └──────────────┬──────────────┘

        le nom contient teacher / jiaoshi / laoshi / 老师
        ou une balise enseignant -t / _t ?
                       ┌───────┴───────┐
                   oui │               │non
                ┌──────▼──────┐ ┌──────▼──────┐
                │  Enseignant │ │    Élève    │
                │ exéc. ens.  │ │ exéc. élève │
                │ créer icône │ │ pas d'icône │
                └─────────────┘ └─────────────┘

Ensuite, choisissez votre plateforme 👉 Installation WindowsInstallation Linux