Dans les coulisses

Deux modes d’installation. Un système déclaré.

Nixorium transforme la configuration de la salle en systèmes NixOS complets sur le contrôleur. Une machine vide utilise PXE ou l’ISO officielle NixOS via USB/SSH vérifié ; une machine installée reçoit une mise à jour distincte avec Colmena. Le travail quotidien s’exécute localement.

Commencer par la vue d’ensemble pratique 

Configuration de la salleVotre configuration + version fixée de Nixoriumparamètres · modules · clés publiques · ressources
Contrôleur
  1. 01Évaluer
  2. 02Compiler
  3. 03Distribuer
PC neuf ou recrééInstallation PXE ou USB/SSHcache signé · disque vérifié · Disko
PC géréMise à jour systèmeHarmonia · Colmena · SSH
Systèmes clientsinstallés localement · activés comme générations NixOS
Une seule configuration alimente l’installation PXE ou USB/SSH d’une machine vide et le déploiement sur un client existant.
01 · Parcours d’exécution

Installer, mettre à jour ou démarrer localement.

Le contrôleur prépare les deux modes de distribution, sans être un serveur de bureau à distance pour la salle. Chaque poste installé exécute son propre système NixOS et ses applications.

Machine vide

Installation PXE ou USB/SSH

PXE charge l’installateur sur plusieurs machines. USB/SSH vérifie une ISO officielle NixOS lorsque le démarrage réseau est indisponible. Les deux parcours rejoignent le système signé et la vérification Disko.

Suivre les deux parcours d’installation ↓
Machine installée

Déploiement du système

Colmena se connecte par SSH, les clients récupèrent les chemins préparés du store depuis Harmonia et NixOS active une nouvelle génération.

Suivre le parcours de mise à jour ↓
Usage courant

Démarrage et applications locales

Le poste démarre depuis son disque et exécute le bureau localement. PXE, l’installation USB, Colmena et la vue de classe ne participent pas à l’exécution courante des applications.

Voir le bureau des élèves →
02 · Modèle du système

Framework et configuration de la salle séparés.

L’installation initiale génère la configuration de la salle : un dépôt privé qui fixe la version de Nixorium. Les réglages et identifiants de la salle relèvent de responsabilités distinctes du framework public.

  1. 01 · Environnement live

    Choisir la source et le disque du contrôleur

    Le contrôleur démarre depuis l’ISO officielle NixOS (Minimal ou Graphical) en UEFI avec Internet. L’installation initiale résout la source Nixorium choisie, applique le clavier de console, recueille les comptes et réglages régionaux, puis confirme le disque à effacer.

  2. 02 · Configuration de la salle

    Créer le dépôt privé de la salle

    La configuration est générée depuis le modèle et fixe Nixorium comme source amont. La machine installée démarre en mode contrôleur seul, avec les comptes et réglages régionaux choisis ; le réseau de la salle reste inactif.

  3. 03 · Gestion de la salle

    Définir la salle lorsque le réseau est prêt

    Après redémarrage, Installation → Network boot (PXE) recueille la topologie, crée les clés manquantes, active le contrôleur et prépare les clients configurés. Les clés privées restent sur le contrôleur.

Framework public

Nixorium

Modules, installateurs, réglages par défaut et fonction générant le parc, tous versionnés.

Version fixée par la configuration de la salle
Configuration de la salle

Votre salle

Réglages de la salle, personnalisations des postes, ressources, empreintes de mots de passe et clés publiques du cache et de SSH.

Les clés privées restent sur le contrôleur
Résultat de l’évaluation

Systèmes nommés

Les configurations évaluées et les artefacts utilisés pour l’installation et le déploiement.

Une source unique pour l’état souhaité

La configuration fixe la version de Nixorium et de ses dépendances. Changer une valeur ne modifie pas directement une machine en marche : cela change l’entrée à partir de laquelle le système concerné est évalué et compilé.

lab-settings.json

Topologie gérée, noms des rôles locaux, empreintes de mots de passe, réseau, langue, clavier, page d’accueil et autres valeurs typées de la salle.

lab-software.json

Déclarations de paquets avec portées explicites : partagée, contrôleur, groupe de clients ou client individuel.

workspace-profile.json

L’environnement des élèves : dock, apparence, extensions et réglages VS Code et navigateur par défaut, modifiés dans l’éditeur TUI guidé et restaurés à chaque démarrage.

flake.lock

Les révisions exactes de Nixorium et des paquets NixOS. Update Nixorium et Update system and packages ne les changent qu’après vérification.

modules/ + assets/

Réglages avancés des postes, du développement, des profils personnels, des machines, de l’identité visuelle, de l’éditeur et du bureau, propres à la salle.

keys/ + controller secrets

Les clés publiques autorisées du cache et de SSH peuvent être versionnées. Les clés privées correspondantes restent hors des commits sur le contrôleur et sont installées par le processus géré.

03 · Préparation

Évaluer, compiler et publier.

  1. 01

    Évaluer la salle

    La configuration génère un système NixOS nommé pour chaque client, une configuration distincte du contrôleur, un environnement de démarrage réseau, les métadonnées Colmena et un paquet d’installation autonome.

  2. 02

    Compiler sur le contrôleur

    Les entrées fixées et la configuration partagée produisent chaque système client avec toutes ses dépendances, les artefacts de démarrage PXE et l’installateur distant USB/SSH indépendant de la cible.

  3. 03

    Publier dans le LAN

    Harmonia expose des chemins signés du store Nix. PXE publie sa chaîne de démarrage ; USB/SSH transfère un assistant vérifié dans l’ISO officielle NixOS. Les clients utilisent les résultats préparés localement plutôt que de les résoudre et compiler depuis Internet.

04 · Installation réseau

Deux parcours vers une installation locale.

PXE est conseillé pour plusieurs machines. USB/SSH installe une machine identifiée physiquement sans démarrage réseau. Aucun des deux n’est un déploiement courant ; tous deux remplacent le disque cible après vérification explicite.

Le Wi-Fi peut être incompatible avec PXE selon le matériel, le firmware et le réseau. USB/SSH accepte Ethernet ou Wi-Fi : le contrôleur doit joindre le client live par SSH, et le client doit accéder au cache signé.

Suivre le parcours PXE
  1. 01
    DHCP + ProxyDHCP

    Découvrir le service de démarrage

    Le DHCP de l’établissement continue d’attribuer les adresses. Le processus dnsmasq de Nixorium ne répond qu’aux requêtes de démarrage réseau et oriente le firmware UEFI vers le contrôleur.

  2. 02
    TFTP

    Passer à iPXE

    Le firmware reçoit un petit exécutable UEFI iPXE. iPXE reçoit ensuite le script de démarrage généré par le même contrôleur.

  3. 03
    HTTP

    Charger l’environnement d’installation

    Le script télécharge par HTTP le noyau NixOS et le ramdisk initial préparés. Le ramdisk contient le code de l’installateur propre au déploiement.

  4. 04
    Disko + NixOS

    Installer le poste sélectionné

    L’opérateur identifie le PC et confirme le disque cible. Disko applique le schéma UEFI et Btrfs déclaré ; NixOS installe la configuration de ce PC à partir des chemins signés fournis par Harmonia.

  5. 05
    Disque local

    Quitter l’installateur réseau

    Après installation, le poste démarre depuis son disque. PXE sert à installer et recréer le système, pas à chaque démarrage courant.

Suivre le parcours de l’ISO officielle NixOS via SSH
  1. 01
    ISO officielle NixOS

    Démarrer localement une session live

    L’opérateur démarre NixOS 26.05 (Minimal ou Graphical) en UEFI, se connecte par Ethernet ou Wi-Fi, définit un mot de passe temporaire et lit l’IP et l’empreinte Ed25519 sur la console physique.

  2. 02
    Identité SSH fixée

    Associer l’identité physique et logique

    Le contrôleur vérifie cette empreinte exacte avant l’authentification par mot de passe, installe une clé propre à l’opération et associe un client configuré à la session live.

  3. 03
    Cache Harmonia signé

    Préparer un système précis

    Le contrôleur compile le système sélectionné avec toutes ses dépendances. Le client live n’accepte que les chemins signés par ce contrôleur et ne se rabat jamais sur Internet.

  4. 04
    Disko + NixOS

    Vérifier et remplacer un disque

    Le support de démarrage est exclu. L’opérateur choisit explicitement un disque admissible et confirme une vérification liée à la session physique, à l’hôte logique, à la révision et au disque.

  5. 05
    Redémarrage et vérification séparés

    Démarrer le système installé

    Une fois l’installation terminée, l’opérateur retire la clé USB ou la fait passer après le disque dans l’ordre de démarrage, autorise séparément le redémarrage et vérifie l’hôte installé et sa révision exacte. Les identifiants Wi-Fi de la session live ne sont pas copiés : prévoyez la connexion du système installé avant la vérification.

Le client ne contacte Internet dans aucun des deux parcours.

Les artefacts PXE ou l’assistant distant et tous les chemins signés du store Nix viennent du contrôleur, par le trafic local autorisé. Le contrôleur a toutefois besoin d’Internet pour l’installation initiale et les nouvelles entrées ; Nixorium ne s’authentifie pas auprès des portails captifs et ne contourne pas les règles du réseau.

05 · Mises à jour du système

Déployer avec Colmena.

Une fois le poste installé, le déploiement courant le joint par SSH à son adresse statique dans la salle. Il ne refait pas l’installation du disque par PXE ou USB/SSH.

  1. 01ModifierModifier ou mettre à jour la configuration de la salle
  2. 02CompilerProduire les systèmes sélectionnés sur le contrôleur
  3. 03DistribuerExposer les chemins signés du store via Harmonia
  4. 04DéployerColmena joint un client ou le groupe de la salle par SSH
  5. 05ActiverNixOS enregistre la nouvelle génération du système

La configuration du contrôleur est appliquée séparément. L’opérateur choisit ensuite un ou plusieurs clients configurés ; il est conseillé de tester d’abord un poste représentatif.

06 · Composants

Composants et responsabilités.

Nixorium installe et configure ces composants lors de la préparation de la salle.

Sur un écran étroit, faites défiler horizontalement pour lire toutes les colonnes. Vous pouvez aussi sélectionner le tableau et utiliser les flèches.

ComposantRôle dans NixoriumPhase
Nix + NixOS Fixer les entrées, valider les modules, compiler des systèmes complets et conserver les générations activées.Définition et compilation
Système de modules NixOS + mkLab Valider la configuration et générer les configurations du contrôleur, des clients, du démarrage réseau, de l’installateur et du déploiement.Évaluation
Compilateur et store Nix Compiler les systèmes complets et les artefacts de démarrage depuis la définition fixée sur le contrôleur.Compiler
Harmonia Distribuer les chemins signés du store Nix depuis le contrôleur aux clients sur le réseau local.Installation et mise à jour
dnsmasq, TFTP, HTTP et iPXE Diriger les clients UEFI vers le noyau et le ramdisk préparés sans remplacer le DHCP de l’établissement.Installer
OpenSSH + installateur distant Vérifier une ISO officielle NixOS, associer son empreinte physique à un client configuré et lancer une installation vérifiée dont les traces survivent à un redémarrage.Installer
Disko Appliquer le schéma déclaré de partitions et de systèmes de fichiers au disque confirmé par l’opérateur.Installer
Colmena + OpenSSH Cibler un client ou le groupe de la salle et coordonner l’activation distante depuis le contrôleur.Mettre à jour
Générations NixOS Enregistrer les configurations activées pour qu’une génération précédente reste disponible en cas de retour en arrière. Free disk space conserve les dix plus récentes sur chaque ordinateur, et le menu de démarrage en affiche dix au maximum.Activation
age Chiffrer par une phrase secrète la sauvegarde du contrôleur : configuration avec son historique Git, clés privées et clés des ordinateurs de confiance.Sauvegarde
Vue de classe Montre à l’enseignant les écrans des élèves et fait passer verrouillage, partage d’écran et distribution de fichiers par l’accès SSH existant ; elle n’installe ni ne déploie de systèmes NixOS.Gestion de la salle
07 · Limites

Limites du réseau et de la confiance.

Connexion du contrôleur
Internet est nécessaire pour l’installation initiale et pour les nouvelles entrées logicielles qui ne sont pas encore disponibles.
Connexion des clients
Un accès direct à Internet n’est pas nécessaire pour l’installation ou les mises à jour préparées ; il faut en revanche accéder au contrôleur par le LAN autorisé.
Adressage PXE
Les artefacts de démarrage générés utilisent l’adresse DHCP du contrôleur. Si elle change avant une session de démarrage réseau, ils doivent être reconstruits.
Identité USB/SSH
L’opérateur doit être présent pour démarrer l’ISO officielle NixOS, lire localement son IP et son empreinte Ed25519, choisir le disque et gérer le support d’installation.
Déploiement courant
Colmena joint les clients installés par SSH à leurs adresses statiques dans la salle.
Démarrage et disque
L’installateur standard actuel exige x86_64 UEFI et efface le disque cible confirmé par l’opérateur.
Confiance et contrôle
Signatures du cache, comparaison physique des empreintes, clés SSH, configuration, sélection des cibles, vérification du disque et déploiement restent sous la responsabilité de l’opérateur.
Limites des identifiants
Les clients reçoivent les éléments publics autorisés. Les identifiants privés du cache et de SSH restent sur le contrôleur, hors du code public versionné.
Sauvegarde du contrôleur
La sauvegarde chiffrée contient tout le nécessaire pour remplacer le contrôleur sans réinstaller les clients. Gardez le fichier et sa phrase secrète séparément : quiconque possède les deux peut gérer la salle.
Supervision de la salle
L’agent de la vue de classe s’exécute dans la session de l’élève sur un socket privé et n’ouvre aucun port réseau. Le contrôleur ne l’atteint que par son accès SSH existant, et GNOME affiche son avertissement de partage pendant la capture de l’écran.