Guide du technicien

Guide du technicien

Comment fonctionne une salle Nixorium et comment la gérer, du premier contrôleur aux modifications courantes, aux mises à jour et à la récupération. Pour le technicien de l’établissement qui connaît les PC et les réseaux, mais pas Nix.

Pour Nixorium 3.9.0

1. Le fonctionnement, en bref

Une salle Nixorium comporte trois éléments.

  • Le contrôleur. Un PC de la salle, un poste libre ou celui de l’enseignant. Il conserve la configuration de la salle, construit le système de chaque PC et le distribue sur le réseau local depuis un cache de paquets signé. Il assure l’installation par le réseau et la vue de classe, et c’est la seule machine qui a besoin d’Internet pour l’installation et les mises à jour.
  • La configuration de la salle. Un dépôt Git privé dans le dossier personnel de l’administrateur, sur le contrôleur : ~/nixorium-deployment. Elle décrit toute la salle : le nombre de PC, le réseau, les comptes, les logiciels et le bureau des élèves. Le menu la rédige pour vous, après vérification.
  • Les PC des élèves. Chacun est installé une fois depuis le contrôleur, puis démarre sur son propre disque et exécute ses applications localement : si le contrôleur est éteint, le cours continue ; seules les mises à jour et la vue de classe attendent.

Où se trouve quoi :

  • Sur le contrôleur : la configuration de la salle et son historique, les clés privées, les empreintes des mots de passe, le cache signé.
  • Sur chaque PC, contrôleur compris : son système installé, les versions précédentes du système proposées dans le menu de démarrage, le dossier élève et ses cinq instantanés.
  • Hors du contrôleur, si vous en faites une : la sauvegarde (un fichier chiffré sur un support USB, ou un dépôt Git privé) et la phrase secrète qui l’ouvre.

Tout se gère depuis un menu en mode texte, Nixorium : connectez-vous au contrôleur en tant que admin et ouvrez-le depuis le dock, ou tapez nixorium dans un terminal. Ses rubriques sont Computers, Installation, Software et Maintenance, plus Assistant, en option. Chaque action qui modifie quelque chose affiche d’abord un récapitulatif et attend votre confirmation.

Pourquoi Git ? Chaque enregistrement dans le menu devient un commit, et chaque système construit par le contrôleur porte la révision dont il provient. Un PC est à jour lorsqu’il exécute la dernière révision enregistrée : le menu sait ainsi où en est chaque PC. Git conserve aussi l’historique de chaque modification et peut être sauvegardé dans un dépôt privé.

Détails techniques complets : Architecture → Modèle du système.

2. Avant de commencer

Il vous faut :

  • deux PC 64 bits avec UEFI que vous pouvez effacer : le contrôleur et un premier PC d’élève ;
  • une clé USB avec l’ISO officielle de NixOS 26.05, Minimal (console texte) ou Graphical (GNOME) ;
  • Internet sur le contrôleur, qui doit aussi pouvoir joindre des serveurs de temps sur Internet, et un réseau où les PC se voient entre eux ;
  • pour l’installation par le réseau, le démarrage réseau UEFI sur les PC des élèves.

Ce qui est effacé. L’installation efface tout le disque que vous confirmez, sur le contrôleur et sur chaque PC. Elle ne redimensionne pas Windows et ne conserve aucune partition sur ce disque. Windows peut rester sur un second disque : le menu de démarrage le trouve (voir le double démarrage). Copiez d’abord ailleurs ce dont vous avez besoin.

Qui doit être présent. La personne qui détient le mot de passe administrateur, et quelqu’un devant chaque PC pendant son installation : l’installateur demande, sur l’écran même du PC, de quel poste il s’agit et quel disque effacer.

Trois points à régler avec le responsable du réseau de l’établissement :

  • Un sous-réseau fixe pour la salle. En plus de l’adresse que leur attribue le DHCP de l’établissement, le contrôleur et les PC portent une adresse fixe de salle dans un sous-réseau IPv4 privé de votre choix, par exemple 10.0.0.0/24. Il ne doit pas contenir l’adresse que le DHCP de l’établissement attribue au contrôleur : les réglages refusent tout chevauchement. Un /24 offre 254 adresses utilisables.
  • L’interface réseau. La configuration initiale propose la carte du contrôleur ; les PC des élèves ne demandent en général aucun réglage (voir la section 4).
  • L’autorisation du démarrage réseau. L’installation par le réseau lance sur le contrôleur un service ProxyDHCP à côté du serveur DHCP de l’établissement. Celui-ci continue d’attribuer toutes les adresses ; le contrôleur indique seulement aux PC qui demandent à démarrer par le réseau où se trouve l’installateur. Une isolation par VLAN, une politique DHCP ou un autre service sur UDP 67/69 ou TCP 8080 peuvent l’en empêcher. Le Wi-Fi ne permet pas toujours le démarrage réseau ; l’installation par USB fonctionne sans lui.

3. Installer le contrôleur

Démarrez le contrôleur sur l’ISO NixOS en mode UEFI, avec Internet. L’ISO Graphical est utile quand le réseau de l’établissement exige une authentification dans le navigateur : identifiez-vous dans Firefox, puis ouvrez Terminal (ignorez « Install NixOS »). Exécutez :

curl -fsSL https://nixorium.org/install.sh | bash

Le site compte les téléchargements quotidiens de ce script, uniquement la date et le nombre (confidentialité). Le script vous laisse choisir la version de Nixorium, avec une version par défaut, puis demande :

  1. la disposition du clavier, dans une courte liste, appliquée immédiatement pour que vous saisissiez les mots de passe avec elle, puis le fuseau horaire ;
  2. les noms des comptes enseignant et élève (l’administrateur est toujours admin) ;
  3. trois mots de passe, administrateur, enseignant et élève, chacun saisi deux fois ;
  4. le profil logiciel initial, par exemple Essential ou Programming ;
  5. le disque.

Rien ne change avant le récapitulatif du disque, où vous tapez ERASE ; une réponse mal saisie est redemandée, une réponse vide annule. Le script installe le contrôleur et enregistre la configuration de la salle dans ~/nixorium-deployment, déjà enregistrée dans Git. Retirez la clé USB, tapez reboot, connectez-vous en tant que admin et ouvrez Nixorium. La première fois, il affiche l’avertissement d’utilisation et vous interroge sur les statistiques d’adoption facultatives, désactivées sauf si vous les acceptez.

Mode contrôleur seul. Un nouveau contrôleur démarre en mode contrôleur seul : aucun PC d’élève n’est configuré, donc le réseau de la salle, le cache et les services de contrôle à distance sont arrêtés, et le contrôleur n’utilise que son adresse DHCP de l’établissement. La salle se met en place la première fois que vous ouvrez Installation.

4. Le réseau de la salle

Deux adresses sur une carte. Chaque machine continue d’utiliser le DHCP de l’établissement pour son adresse, sa route par défaut et son DNS : les élèves naviguent comme d’habitude. Sur la même carte, chaque machine porte aussi une adresse fixe de salle : la base du sous-réseau plus son numéro. Avec 10.0.0.0/24, pc01 a l’adresse 10.0.0.1, pc02 l’adresse 10.0.0.2, et le contrôleur, pc99 par défaut, l’adresse 10.0.0.99. La gestion n’utilise que ces adresses fixes : le contrôleur envoie les mises à jour et ouvre la vue de classe par elles, et chaque PC d’élève n’accepte SSH que depuis l’adresse de salle du contrôleur. Sur un PC d’élève, l’adresse de salle reste en place même quand aucun serveur DHCP ne répond.

Les réglages de la salle. La première fois que vous ouvrez Installation → Network boot (PXE) ou Installation → USB over SSH, un formulaire demande le réseau fixe de la salle et la longueur de son préfixe, le nombre de PC d’élèves (numérotés à partir de pc01), le numéro d’hôte du contrôleur (supérieur à celui de tous les PC, 99 par défaut), l’adresse DHCP actuelle du contrôleur et les interfaces. Le menu les enregistre, crée les clés et applique la configuration au contrôleur, qui devient un contrôleur de salle avec son adresse fixe. Une fois des PC d’élèves configurés, Change settings ne modifie plus le sous-réseau, le préfixe ni le numéro du contrôleur (code NETWORK-LOCKED) : les PC installés garderaient leurs anciennes adresses et perdraient le contact. Le numéro du contrôleur reste fixe, choisissez-le donc une fois pour toutes ; le sous-réseau et le préfixe ne changent qu’avec la procédure guidée décrite plus bas.

Noms des interfaces réseau. Trois réglages, dans Maintenance → Change settings → Network :

  • Controller network interface : le contrôleur utilise toujours ce nom. La configuration initiale propose la carte qui porte sa route par défaut ; ne le changez que si la carte du contrôleur change.
  • Client computers’ network interface : laissez-le vide, comme par défaut. Chaque PC d’élève place alors l’adresse de salle sur sa carte Ethernet filaire, quel que soit son nom : des PC de modèles différents n’ont besoin de rien. Les cartes sans fil, les ponts et les périphériques virtuels ne sont jamais retenus. N’indiquez un nom que si tous les PC ont le même nom de carte.
  • Shared fallback interface : utilisée par le contrôleur quand son propre nom est vide. Les PC des élèves l’ignorent, sauf si un nom client est défini.

Un PC doté de plusieurs cartes filaires demande une exception propre à ce poste (hostIfaceNames dans la configuration de la salle) ; sinon, la première carte qui s’active reçoit l’adresse de salle, et cela peut changer d’un démarrage à l’autre. La même exception désigne la carte d’un PC qui doit utiliser le Wi-Fi. Changer une interface peut déconnecter les PC concernés au moment où le changement est appliqué : le récapitulatif vous prévient, alors vérifiez les câbles et gardez la console locale à portée de main.

Wi-Fi. Si une carte sans fil est indiquée, l’adresse de salle va sur cette carte, mais le réseau Wi-Fi choisi pendant la session USB n’est pas copié dans le système installé : configurez cette connexion séparément. Le compte élève ne peut modifier ni les connexions, ni les radios, ni le DNS ; l’enseignant et l’administrateur le peuvent.

Déplacer la salle vers un autre réseau. Une fois des PC configurés, Maintenance → Change network addressing (ou nixorium network migrate) fait passer le contrôleur et chaque PC sur un nouveau sous-réseau, par exemple de 10.0.0.0/24 à 10.1.0.0/24 ; chaque PC garde son numéro. Allumez d’abord les PC, enregistrez les modifications en attente et arrêtez l’installation par le réseau. Vous saisissez le nouveau réseau sous forme d’adresse et de préfixe ; le récapitulatif liste l’adresse du contrôleur et de chaque PC avant et après, et vérifie que chaque PC répond (un PC éteint bloque la suite jusqu’à ce que vous l’allumiez ou que vous continuiez sans lui). L’enregistrement ne modifie aucun PC. Viennent ensuite les deux étapes habituelles, Apply to controller et Update computers : tant que vous n’avez pas terminé, le contrôleur répond sur les deux réseaux et chaque PC garde son ancienne adresse à côté de la nouvelle, si bien que rien ne perd le contact. La vue d’ensemble affiche le changement en cours (NETWORK-CHANGING) avec l’étape suivante. Finish est proposé une fois que chaque PC exécute la configuration enregistrée et répond à sa nouvelle adresse, et Undo fonctionne à tout moment avant cela. Préparez ensuite à nouveau l’installation par le réseau : les fichiers préparés contiennent l’adresse du contrôleur (détails).

L’heure. Le contrôleur garde l’horloge de la salle à l’heure grâce à des serveurs de temps sur Internet ; il doit donc pouvoir les joindre (UDP 123 sortant). Il ne donne l’heure qu’au réseau de la salle, en ouvrant UDP 123 sur la carte de la salle et nulle part ailleurs. Chaque PC interroge le contrôleur et aucun serveur de temps sur Internet : un PC dont la pile d’horloge est vide démarre à la bonne heure bien qu’il n’ait pas d’accès Internet propre, et les certificats, les dates des fichiers et les journaux restent justes. Si le contrôleur ne peut pas joindre Internet, il continue de fournir sa propre heure, à partir de cinq minutes après son démarrage. Il n’y a rien à configurer : le changement arrive sur chaque PC à sa prochaine mise à jour et sur le contrôleur quand vous l’appliquez, et une installation en mode contrôleur seul conserve ses réglages d’heure précédents (détails).

Ce que l’installation par le réseau modifie, et ce qu’elle laisse. Sa préparation construit l’installateur et le système de chaque PC et enregistre l’adresse DHCP actuelle du contrôleur ; le réseau ne change pas encore. Quand vous la lancez (Entrée sur son récapitulatif), le contrôleur enregistre la session, retire son adresse fixe de salle de la carte et sert les fichiers de démarrage et le cache signé sur son adresse DHCP. Un PC qui démarre par le réseau reçoit son adresse du DHCP de l’établissement, charge l’installateur depuis le contrôleur et télécharge son système depuis le cache, vérifié avec la clé de signature du cache. L’arrêt de l’installation par le réseau remet l’adresse fixe en place ; après une coupure de courant, le contrôleur fait de même au démarrage. Tant qu’elle est active, les autres opérations, comme les mises à jour et les commandes de la vue de classe, sont refusées avec le code PXE-ACTIVE : arrêtez-la donc une fois la salle installée. Si le DHCP de l’établissement attribue une nouvelle adresse au contrôleur, il suffit de refaire la préparation (détails). Rien de temporaire ne reste sur le PC installé : il démarre avec son adresse DHCP plus son adresse fixe de salle. L’installation par USB ne touche jamais à l’adresse du contrôleur.

Détails techniques complets : Architecture → Installation réseau.

5. Le premier PC d’élève

Installez un seul PC et vérifiez-le avant les autres.

Démarrage réseau. Installation → Network boot (PXE) affiche une seule étape à la fois : préparer les fichiers, lancer, installer, rétablir le réseau si nécessaire. Démarrez le PC par le réseau, avec le démarrage réseau UEFI placé avant le disque. L’installateur s’ouvre tout seul sur son écran, affiche le matériel et les disques et demande de quel poste configuré il s’agit. Il refuse une identité dont l’adresse de salle répond déjà, mais une absence de réponse ne vaut pas réservation : tenez votre propre liste des PC. Il ne propose que les disques ayant la place pour le système plus 2 Gio. Au récapitulatif de l’identité et du disque, tapez ERASE. Il installe depuis le cache du contrôleur, vérifie le résultat, puis demande « Reboot now? [y/N] » : répondez y, ou appuyez sur Entrée pour rester dans l’installateur. Placez le démarrage réseau après le disque dans l’ordre de démarrage du PC, pour qu’il démarre sur son disque. Si l’installation par le réseau a été interrompue, cet écran devient Recover the controller network : il explique simplement ce qu’il a trouvé, et Entrée rétablit le réseau du contrôleur sans toucher aucun PC d’élève.

USB over SSH. Utilisez-le quand le PC ne peut pas démarrer par le réseau ou n’a que le Wi-Fi. Démarrez le PC sur l’ISO NixOS (Minimal avec 4 Go de RAM ou moins), connectez le Wi-Fi avec nmtui si nécessaire et, sur sa console, exécutez :

passwd
systemctl is-active sshd
ip -4 -br address
ssh-keygen -lf /etc/ssh/ssh_host_ed25519_key.pub

Gardez cet écran visible. Sur le contrôleur, choisissez Installation → USB over SSH, sélectionnez le poste et saisissez seulement l’adresse IPv4 de la session live. Le contrôleur lit la clé SSH du PC sans envoyer aucun mot de passe et affiche son empreinte SHA256:. Comparez-la avec celle qui s’affiche sur l’écran du PC et tapez MATCH ; ce n’est qu’ensuite qu’il demande le mot de passe temporaire, qui ne part donc que vers le PC que vous avez devant vous. Choisissez le disque et confirmez son récapitulatif. Ne retirez la clé USB que lorsque l’écran vous le demande, puis confirmez le redémarrage ; le contrôleur vérifie ensuite le PC installé à son adresse de salle. Si l’installation s’arrête en cours de route, l’écran s’ouvre sur Resume or close the USB installation : il indique si le PC répond encore depuis la clé USB et si son disque a été touché, et ne propose que les sorties sûres, comme Resume the installation ou Cancel safely. Pour clore le suivi de l’installation une fois le disque écrit, vous devez taper CLOSE.

À vérifier avant de continuer :

  • le PC démarre sur son disque jusqu’au bureau des élèves, et les applications, le clavier, l’affichage et les périphériques de vos cours fonctionnent ;
  • connecté au contrôleur en tant qu’enseignant, vous voyez l’écran du PC dans Classroom view ;
  • Computers → Computer inventory indique que le PC est à jour ;
  • un fichier d’essai enregistré par l’élève a disparu après un redémarrage et se retrouve dans les instantanés (voir la section 7) ;
  • une mise à jour depuis Computers → Update computers aboutit.

6. Le reste de la salle, et la première sauvegarde

L’installation par le réseau étant active, démarrez les autres PC par le réseau l’un après l’autre, en choisissant chaque identité et en tapant ERASE sur chacun. Arrêtez ensuite l’installation par le réseau, ce qui rend au contrôleur son adresse fixe. Pour ajouter des PC plus tard, augmentez le nombre d’ordinateurs dans Maintenance → Change settings → Computers, appliquez, puis préparez à nouveau l’installation par le réseau.

Faites ensuite une sauvegarde avec Maintenance → Back up lab : elle permet à un nouveau contrôleur de reprendre la salle sans réinstaller les PC. Deux types :

  • Fichier chiffré : toute la configuration de la salle, son historique, les clés privées et les empreintes des mots de passe dans un seul fichier chiffré avec votre phrase secrète. Pour un support USB, montez-le et ouvrez son dossier.
  • Dépôt Git privé : un dépôt privé GitHub ou GitLab joint par SSH. Les clés et les empreintes des mots de passe y transitent chiffrées dans un fichier de récupération ; la configuration reste lisible par les membres du dépôt. Après la première sauvegarde vérifiée, chaque modification enregistrée est poussée tant que Nixorium est ouvert.

Choisissez une phrase secrète d’au moins 12 caractères et conservez-la loin du contrôleur : Nixorium ne l’enregistre jamais. La vue d’ensemble vous rappelle quand une sauvegarde s’impose (code BACKUP-DUE) : pour un fichier, quand la configuration, les clés ou les mots de passe ont changé depuis la dernière, ou au bout de 30 jours ; pour Git, quand les clés, les mots de passe ou les ordinateurs de confiance ont changé, par exemple après l’installation d’un PC. Un rappel ne bloque jamais rien.

Détails techniques complets : Architecture → Limites du réseau et de la confiance.

7. Au quotidien

L’enseignant se connecte au contrôleur et ouvre Classroom view depuis le dock : tous les écrans des élèves à la fois, un écran dans sa propre fenêtre avec Take control, ainsi que Lock (« Eyes on the teacher »), Share screen, Share files, Block/Allow Internet, Restart et Shut down. Internet revient au redémarrage d’un PC ; un PC éteint apparaît comme Off or not reachable. Aucune de ces commandes ne modifie la configuration de la salle. Elles continuent de fonctionner pendant que l’administrateur met les ordinateurs à jour : seul un PC en cours de mise à jour, ou dont la dernière mise à jour a été interrompue, est laissé tranquille, et le récapitulatif le dit.

Save screenshot, Collect from students’ desktops et Switch on complètent ces commandes. Save screenshot, dans la fenêtre d’un poste, enregistre une image de son écran dans Nixorium/Screenshots, dans le dossier personnel de la personne qui utilise la vue de classe ; cela ne fonctionne que tant que l’écran est en direct : un poste éteint, derrière son propre écran de verrouillage ou sans personne de connecté n’a rien à enregistrer. Collect from students’ desktops, dans le menu Share files à côté de Send a folder… et Send a file…, copie les fichiers présents sur les bureaux des postes sélectionnés dans Nixorium/Collected, dans ce même dossier personnel, un dossier par poste, après un récapitulatif : les fichiers cachés et les liens sont exclus, rien ne change sur les postes des élèves, et un poste qui dépasse 2000 éléments ou 500 Mo est signalé et rien n’en est conservé. Mettez d’abord les postes à jour : un poste non mis à jour est signalé comme ne permettant pas encore la collecte. Switch on, sous Power dans la vue de classe et dans Computers → Power controls, envoie un paquet Wake-on-LAN aux postes sélectionnés qui sont éteints. Un paquet envoyé ne prouve pas que le poste démarre : son firmware (BIOS/UEFI) doit autoriser le réveil par le réseau, le poste doit avoir été redémarré une fois après la mise à jour client qui active Wake-on-LAN, et il doit rester branché. Personne ne saisit d’adresse : le contrôleur apprend seul l’adresse de la carte réseau de chaque poste quand celui-ci est allumé et que la vue de classe est ouverte ou que Computer inventory s’exécute, et un poste dont il ne connaît pas encore l’adresse est ignoré (détails).

Message → Send a message… affiche un texte de 300 caractères au maximum sur les écrans des postes sélectionnés, au premier plan, y compris par-dessus un verrouillage ou un écran partagé. Il reste affiché jusqu’à ce que l’élève le ferme (Close apparaît au bout de 10 secondes), pendant 30 secondes ou 2 minutes, ou jusqu’à ce que vous déverrouilliez le poste ; Remove message le retire. Les élèves gardent le clavier et la souris sauf si le poste est verrouillé, et la fermeture de session fait disparaître le message. Mettez d’abord les postes à jour et demandez aux élèves de se reconnecter : un poste non mis à jour est signalé comme ne pouvant pas encore afficher de messages (détails).

Pour préparer la salle à une évaluation, utilisez Internet → Block Internet, Lock et Message l’un après l’autre, puis Share files → Collect from students’ desktops.

Schedule allume et éteint automatiquement les postes des élèves. Ouvrez Power → Schedule… dans la vue de classe (Save et Clear), ou utilisez nixorium schedule set --on 07:50 --off 18:00 dans un terminal, en tant qu’enseignant ou administrateur. La programmation comporte au plus une heure d’allumage et une heure d’extinction, pour les jours de la semaine que vous choisissez (du lundi au vendredi, sauf indication contraire avec --days), dans le fuseau horaire du contrôleur. L’allumage est le Switch on ordinaire : les conditions ci-dessus s’appliquent, et un poste dont l’adresse réseau n’est pas connue est ignoré. L’extinction n’interrompt jamais personne : un poste en cours d’utilisation, ou dont la session ne peut pas être lue, reste allumé. Quand une installation par le réseau ou par USB l’empêche de démarrer, elle réessaie chaque minute pendant dix minutes, puis abandonne pour la journée. Une mise à jour des ordinateurs ne la retient pas : l’extinction laisse seulement allumés les PC en cours de mise à jour et en donne la raison. La programmation n’existe que sur le contrôleur, hors de la configuration et de la sauvegarde : redéfinissez-la après un remplacement du contrôleur (détails).

À chaque démarrage d’un PC, avant l’écran de connexion, la remise à zéro du dossier élève s’exécute. Le dossier élève précédent devient l’un des cinq instantanés tournants, en lecture seule et sans les données d’exécution comme les paquets npm globaux, les images Docker et les identifiants enregistrés. Un dossier propre est ensuite recréé à partir de l’espace de travail préparé pour les élèves, et la session élève s’ouvre automatiquement. L’enseignant trouve les instantanés sous Snapshots dans la barre latérale de Fichiers, une fois connecté sur ce PC. Les instantanés sont sur le même disque, ce ne sont donc pas des sauvegardes : un disque en panne les emporte, et une session disparaît après cinq nouveaux démarrages. Le travail à conserver va sur une clé USB ou sur le stockage en ligne de l’établissement. Si une remise à zéro ne peut pas aller au bout, le PC bloque la connexion : ne la relancez pas, faites d’abord lire le journal par l’administrateur (détails).

Comptes.

  • admin, l’administrateur : détient la configuration de la salle sur le contrôleur, avec sudo et SSH.
  • L’enseignant : un dossier personnel conservé, la vue de classe et ses commandes, et l’accès en lecture aux instantanés.
  • L’élève : un seul compte partagé sur chaque PC, connecté automatiquement, sans droits d’administrateur et avec un dossier remis à zéro à chaque démarrage. Son mot de passe est le même partout.

Les comptes font partie de la configuration : passwd ne les modifie donc pas. Utilisez Maintenance → Change settings → Accounts, avec Change account names et Change account passwords. Un nouveau mot de passe prend effet sur le contrôleur quand vous appliquez la configuration, et sur chaque PC quand vous le mettez à jour. Un compte renommé démarre avec un dossier personnel neuf et vide.

8. Modifier quelque chose

Toute modification suit le même chemin : modifier dans le menu, vérifier, enregistrer (un commit dans la configuration de la salle), puis appliquer. L’enregistrement seul ne change aucun PC en fonctionnement.

  • Logiciels. Dans Software, cherchez dans l’ensemble de paquets figé par la salle, ou choisissez une suggestion ou un profil complet (p). Choisissez la destination : partagé (le contrôleur et tous les PC, présents et futurs), le contrôleur seul, tous les PC des élèves, un groupe ou des PC choisis. Entrée sur un paquet configuré permet d’en changer la destination (c) ou de le retirer (x).
  • Le bureau des élèves. Dans Maintenance → Change settings → Student workspace, vous modifiez le dock, les favoris et le bureau, le navigateur par défaut, les réglages et extensions de VS Code, et les fichiers initiaux du dossier élève. Les extensions gérées par le profil restent la voie recommandée. Si le profil comprend l’extension Java et que les logiciels incluent un JDK, ses réglages pointent vers ce JDK. Un programme téléchargé en dehors de Nix, comme une extension du Marketplace qui apporte ses propres binaires, fonctionne aussi pour le personnel, qui conserve son dossier personnel ; les dossiers élèves perdent ces installations à la remise à zéro.
  • Réglages. Dans Maintenance → Change settings, vous trouvez le réseau, les ordinateurs, les comptes, les paramètres régionaux, le navigateur et Git.

Rien n’est écrit avant que vous confirmiez le récapitulatif. La plupart des récapitulatifs se confirment avec Entrée (dans un terminal, nixorium demande Continue? [y/N]) ; Échap annule. On ne tape un mot qu’avant ce qui ne peut pas être annulé : effacer un disque, réinitialiser le modèle de configuration, abandonner des modifications non enregistrées, faire confiance à la clé d’un nouvel ordinateur, supprimer d’anciennes versions et, dans un terminal, éteindre ou redémarrer des PC que quelqu’un utilise. Viennent ensuite deux étapes distinctes :

  • Apply to controller. Après un enregistrement, le menu propose Apply to this controller ; on le trouve aussi dans Maintenance → Advanced. Le contrôleur construit la configuration enregistrée et bascule dessus, après un récapitulatif qui montre ce qui change. Toute modification des réglages en a besoin. Les logiciels enregistrés comme partagés ou réservés au contrôleur le font d’eux-mêmes juste après l’enregistrement.
  • Update computers. Dans Computers → Update computers, ou avec Update affected computers après l’enregistrement d’un logiciel, sélectionnez les PC (n choisit ceux qui en ont besoin ; les PC dont la mise à jour en file d’attente est périmée sont déjà sélectionnés) et appuyez sur Entrée sur le récapitulatif. Le contrôleur construit d’abord, puis chaque PC bascule sur son nouveau système, reçu du contrôleur, et le menu vérifie quels PC exécutent désormais la révision validée. Le journal de la mise à jour indique quand chaque étape a commencé et combien de temps elle a duré, avec le temps total à la fin.

Rien n’arrive sur un PC d’élève tant que vous ne le mettez pas à jour. Un PC éteint est placé en file d’attente (option activée par défaut dans le récapitulatif). Un PC éteint pendant la construction de la mise à jour reste tel quel et est signalé comme non mis à jour, ou mis aussi en file d’attente si vous avez choisi cette option ; il ne retient jamais les autres PC. Le contrôleur réessaie chaque minute et met à jour ensemble les PC en attente qui répondent ; tant qu’une autre opération est en cours, il attend la minute suivante. Computers → Queued updates les liste. Une entrée n’est pas appliquée si la configuration a changé entre-temps : la prochaine Update computers sélectionne ces PC pour vous, et son récapitulatif les inclut. Pendant que vous mettez des ordinateurs à jour, les commandes de classe continuent de fonctionner pour les autres PC. Après une mise à jour, le PC affiche une notification : elle demande un redémarrage quand le noyau ou systemd a changé ; sinon, elle indique que la mise à jour est en place et ne suggère un redémarrage que si quelque chose ne fonctionne pas comme prévu. Un PC ne redémarre jamais de lui-même. Les modifications de l’espace de travail des élèves apparaissent au démarrage normal suivant, lors de la remise à zéro du dossier.

Annuler la dernière modification enregistrée. Quand la dernière modification enregistrée (réglages, logiciels ou espace de travail des élèves) pose problème, revenez à la configuration enregistrée avant elle : dans Maintenance → Review Git changes, appuyez sur u (Undo the last saved change), ou exécutez nixorium git undo plan en tant que admin. Le récapitulatif montre la description, la date et les fichiers de cette modification. La confirmer avec Entrée (y dans un terminal) enregistre une nouvelle modification, « Undo: … », et remet les fichiers dans leur état précédent ; la modification annulée reste dans l’historique et rien n’est poussé. Aucun ordinateur ne change encore : lancez Apply to controller puis Update computers, comme pour toute modification. Enregistrez ou abandonnez d’abord les autres modifications non enregistrées. Seule la dernière modification peut être annulée, une seule fois, et seulement s’il s’agit d’une modification enregistrée ordinaire : l’annulation est refusée, avec l’étape suivante à suivre, quand cette modification est la première version enregistrée, une fusion ou déjà une annulation, quand elle a mis à jour Nixorium ou la base de paquets (voir la récupération après mise à jour), quand elle a enregistré des clés, quand elle fait partie d’un changement de réseau de la salle, ou quand ses fichiers ne peuvent pas revenir en arrière sans risque (détails).

Détails techniques complets : Architecture → Mises à jour du système.

9. Mettre à jour

Deux mises à jour distinctes, toutes deux dans Maintenance :

  • Update Nixorium change le framework : les menus, les modules et le programme de gestion. Il liste les versions publiées, les versions stables par défaut, et masque celles qui sont plus anciennes que la version configurée : le menu ne propose jamais de revenir à une version antérieure. Il ne modifie que flake.nix et flake.lock.
  • Update system and packages fait passer NixOS et tous les paquets à une révision plus récente du même canal. Passer à une autre version de NixOS est un choix distinct et explicite (m), qui demande de reconnaître que sa compatibilité n’est pas vérifiée.

Les deux construisent réellement la version candidate et montrent le changement ; Entrée l’enregistre, puis reconstruit et vérifie le contrôleur. Après Update Nixorium, l’interface se rouvre d’elle-même sur la nouvelle version au bout de quelques secondes (Entrée pour le faire tout de suite, Échap pour garder celle en cours). Les PC gardent leur système jusqu’à ce que vous les mettiez à jour : mettez à jour un PC, vérifiez-le, puis les autres. Avant d’installer d’autres PC, préparez à nouveau l’installation par le réseau. Si Update computers affiche alors PIN-OUTDATED, ouvrez Maintenance → Update Nixorium, sélectionnez la version configurée, marquée « Current · select to repair », et confirmez.

Versions du système et menu de démarrage. Chaque application sur le contrôleur et chaque mise à jour d’un PC ajoute une nouvelle version du système, une génération, sur cette machine ; les anciennes restent, et le menu de démarrage (GRUB) en propose jusqu’à dix. Si un PC, ou le contrôleur, ne démarre plus ou perd le réseau après une mise à jour, redémarrez-le et choisissez la version précédente dans le menu de démarrage, PC par PC, puis corrigez la configuration avant de l’appliquer à nouveau ; un PC sans réseau ne peut pas être réparé depuis le contrôleur. Revenir en arrière change le système, pas les données, comme une base de données déjà migrée. Les anciennes versions occupent de l’espace disque : le menu prévient quand le disque du contrôleur se remplit, et Maintenance → Advanced → Free disk space conserve les dix plus récentes, celle en cours et celle avec laquelle le PC a démarré ; on tape CLEAN pour confirmer.

10. En cas de problème

Quand quelque chose bloque une opération, le menu dit en une phrase simple ce qui s’est arrêté, pourquoi et quoi faire ensuite. Appuyez sur Entrée sur cet avis pour ouvrir l’écran qui règle le problème ; Échap le ferme, et d affiche le message technique. La vue d’ensemble liste dans les mêmes termes tout ce qui a été interrompu, et chaque refus indique un code. Ne commencez pas par supprimer des fichiers, des clés ou des adresses.

Symptôme Que faire
Un PC ne démarre pas par le réseau Vérifiez que l’installation par le réseau est active, que le démarrage réseau passe avant le disque et que le PC est sur le réseau de la salle. Guide
L’installateur se charge mais échoue Arrêtez l’installation par le réseau, préparez-la à nouveau, puis lancez-la. Guide
Un PC est installé mais n’apparaît pas Vérifiez l’alimentation, le câble et l’adresse de salle ; avec deux cartes filaires, il faut une exception d’interface. Guide
Un PC apparaît comme Off or not reachable Il est éteint, ou le réseau ne l’atteint pas : Computer inventory indique lequel des deux. Guide
Une mise à jour est restée en attente (DEPLOY-PENDING) Ouvrez Review the interrupted update (Entrée sur l’avis, ou depuis la vue d’ensemble). L’écran indique pour chaque PC s’il a terminé, s’il est encore en cours de mise à jour ou s’il ne répond pas : appuyez sur c pour continuer sans les PC qui ne répondent pas, puis sur Entrée pour marquer la mise à jour comme examinée. Rien ne change sur les PC ; relancez ensuite la mise à jour. La maintenance attend, et les commandes de classe (Internet, extinction, redémarrage, la programmation) fonctionnent toujours : elles ne laissent tranquilles que les PC nommés par la mise à jour. Update Nixorium et Apply to controller continuent de fonctionner, et si une version plus ancienne refuse encore d’activer le contrôleur, voir le dernier recours. Guide
Apply to controller a échoué Lisez l’erreur signalée, corrigez-la, puis faites un nouveau récapitulatif. Guide
Un PC ne démarre plus après une mise à jour Choisissez la version précédente dans le menu de démarrage, puis corrigez la configuration. Guide
Sauvegarde de plus de 30 jours (BACKUP-DUE) Faites-en une nouvelle avec Maintenance → Back up lab. Guide
Un élève a perdu un fichier En tant qu’enseignant sur ce PC, ouvrez Snapshots dans Fichiers. Guide
Le contrôleur est en panne ou remplacé Installez-en un nouveau avec le même numéro et le même réseau, puis Maintenance → Restore lab ; les PC n’ont pas à être réinstallés. Guide
Un enregistrement ou une réinitialisation du modèle a été interrompu Ouvrez l’élément en attente dans la vue d’ensemble, Finish or undo the reset, et lisez ce qu’il a trouvé. Si aucun fichier ne change, Entrée confirme ; il ne faut taper RESTORE qu’en cas de mélange d’anciens et de nouveaux fichiers. Ne supprimez rien. Guide
Une installation par USB ou par le réseau a été interrompue Ouvrez Resume or close the USB installation ou Recover the controller network depuis la vue d’ensemble ou les écrans Installation, et suivez ce qui est proposé. Pendant une installation USB inachevée, Update Nixorium et Apply to controller restent disponibles, sauf pendant l’écriture du disque du PC ; une installation par le réseau encore ouverte les bloque. Guide
L’enseignant voit un code comme OP-BUSY Attendez la fin de l’opération en cours, ou suivez la ligne de ce code. Guide

11. Assistant

Assistant est un service payant facultatif du menu administrateur. Décrivez une modification avec vos propres mots ; vous examinez sa proposition avant de l’enregistrer, puis vous appliquez et mettez à jour comme d’habitude. Pour un programme distribué en téléchargement (AppImage, deb ou tarball), il récupère le fichier une seule fois sur le contrôleur et en fige lui-même le hash : vous n’avez rien à calculer. Si rien n’a changé depuis l’évaluation faite par Assistant, le récapitulatif la réutilise et indique depuis combien de temps elle a été vérifiée, au lieu d’évaluer à nouveau la salle. Si le service interrompt une réponse, Assistant le signale et vous demande de renvoyer le message. Une conversation reprise en lecture seule défile avec les flèches ; Tab permet de choisir entre continuer dans une nouvelle conversation et revenir en arrière. Nixorium fonctionne entièrement sans lui (formules et essai gratuit).

12. Limites et précautions

  • L’installation efface tout le disque confirmé, Windows compris s’il se trouve sur ce disque.
  • Les instantanés restent sur le même disque et sont renouvelés au bout de cinq démarrages : ce ne sont pas des sauvegardes.
  • Les comptes sont locaux et fixes : un administrateur, un enseignant et un compte élève partagé, avec le même mot de passe sur chaque PC. Il n’y a ni identifiants personnels par élève ni annuaire de l’établissement.
  • Il n’y a pas d’installation sans surveillance : quelqu’un confirme chaque PC devant son écran, ou son empreinte par SSH.
  • Le démarrage réseau peut ne pas fonctionner en Wi-Fi, ni avec tous les firmwares et réseaux d’établissement ; l’alternative est USB over SSH.
  • « Monitoring stopped on this PC » est une aide pour la classe, pas une barrière de sécurité. Un élève ne peut pas arrêter la vue de classe depuis le terminal de la session : elle redémarre en quelques secondes, et la vignette du poste l’indique entre-temps. Si un élève masque son unité, la vue de classe ne revient qu’au redémarrage suivant, lors de la remise à zéro du dossier.
  • Les versions sont validées sur des machines virtuelles ; commencez avec un contrôleur et un PC à vous.

Guides complets

En anglais, à la révision de Nixorium décrite par cette page :