Aller au contenu

Guide 6 sur 12

Un serveur d'IA pour toute une classe

Une machine, trente navigateurs, aucune connexion internet : monter le service partagé, gérer les comptes et dimensionner la file d'attente sans acheter de matériel.

Démarrer le pas à pas 7 étapes · 2 heures · une étape à l'écran, avec Précédent / Suivant

Niveau Intermédiaire
Durée 2 heures
Étapes 7
Catégorie Déploiement
Avant de commencer
  • Une machine serveur avec au moins 16 Go de RAM (8 Go pour une demi-classe)
  • Un réseau local — un simple switch et un routeur suffisent, sans accès internet
  • Ollama déjà installé et fonctionnel
1

L'architecture visée

Une seule machine porte le modèle et l'interface. Les postes élèves n'installent rien : un navigateur et une adresse locale suffisent. Même des Chromebooks ou de vieux clients légers font l'affaire.

schéma
Postes élèves (navigateur)
        |
        |  réseau local, aucun accès internet
        v
  Serveur : Open WebUI  ->  Ollama  ->  modèle GGUF
  (port 3000)              (port 11434)
Le point à ne pas manquerAucune donnée ne quitte la salle. Les questions des élèves, leurs documents et l'historique restent sur la machine que vous administrez. C'est exactement ce que le RGPD demande, obtenu par construction plutôt que par contrat.
2

Préparer le moteur

shell
# Sur le serveur
ollama pull qwen3:8b        # 16 Go de RAM
# ou
ollama pull qwen3:4b        # 8 Go de RAM

sudo systemctl edit ollama
systemd
[Service]
Environment="OLLAMA_HOST=0.0.0.0:11434"
# Garder le modèle chaud pendant la séance
Environment="OLLAMA_KEEP_ALIVE=2h"
# Requêtes traitées simultanément : 1 sur CPU, 2 à 4 avec un GPU
Environment="OLLAMA_NUM_PARALLEL=1"
# Un seul modèle en mémoire à la fois
Environment="OLLAMA_MAX_LOADED_MODELS=1"
shell
sudo systemctl daemon-reload && sudo systemctl restart ollama

OLLAMA_KEEP_ALIVE à deux heures évite le rechargement du modèle entre deux questions : sur une carte SBC, ce rechargement coûte plus cher que la réponse elle-même.

3

Installer l'interface

Open WebUI apporte les comptes, l'historique, l'import de documents et la gestion des droits.

shell
# Avec Docker (recommandé)
curl -fsSL https://get.docker.com | sh

sudo docker run -d -p 3000:8080 \
  --add-host=host.docker.internal:host-gateway \
  -e OLLAMA_BASE_URL=http://host.docker.internal:11434 \
  -v open-webui:/app/backend/data \
  --name open-webui --restart always \
  ghcr.io/open-webui/open-webui:main

L'interface répond sur http://IP-DU-SERVEUR:3000. Le premier compte créé devient administrateur.

4

Verrouiller les inscriptions

Par défaut, n'importe qui sur le réseau peut créer un compte. Dans un établissement, ce n'est pas ce qu'on veut.

  1. Créez le compte administrateur en premier — dès le premier démarrage.
  2. Dans Paramètres → Général, désactivez l'inscription libre.
  3. Créez les comptes élèves, ou activez la validation manuelle des nouveaux inscrits.
  4. Retirez aux élèves le droit de modifier le prompt système et d'ajouter des modèles.
Le compte de démonstrationPrévoyez un compte partagé sans historique pour les visiteurs et les portes ouvertes. Cela évite de faire tourner la séance sur un compte élève, avec ses conversations passées à l'écran.
5

Dimensionner pour trente élèves

Trente élèves ne posent pas trente questions simultanées. En pratique, la charge se répartit et une file d'attente d'une à deux requêtes suffit — à condition que chaque réponse arrive vite.

ServeurModèleÉlèves simultanés confortables
Raspberry Pi 5 · 8 GoLlama 3.2 3B3 à 5
Mini-PC N100 · 16 GoQwen3 4B8 à 12
Mini-PC N100 · 16 GoQwen3 8B4 à 6
Poste + GPU 8 GoQwen3 8B20 à 30

Si la classe entière doit interroger le modèle en même temps, deux options : un modèle plus petit, ou deux serveurs et une répartition par demi-groupe. La seconde revient souvent moins cher qu'une carte graphique.

6

Une adresse mémorisable

Demander à des élèves de taper une adresse IP est le meilleur moyen de perdre dix minutes. Donnez un nom au serveur.

shell
# Sur le serveur
sudo hostnamectl set-hostname sati
sudo apt install -y avahi-daemon

# Les postes du réseau accèdent alors à :
#   http://sati.local:3000

Si le réseau de l'établissement bloque mDNS, ajoutez simplement une entrée dans le serveur DNS local, ou distribuez un raccourci sur le bureau des postes.

7

Vérifier avant la première séance

  1. Depuis un poste élève, l'interface s'ouvre et une question obtient une réponse.
  2. Débranchez la liaison internet du serveur : tout continue de fonctionner.
  3. Lancez cinq requêtes en parallèle et vérifiez que la dernière reste dans un délai acceptable.
  4. Redémarrez le serveur : Ollama et Open WebUI reviennent seuls.
  5. Vérifiez qu'un compte élève ne peut ni changer de modèle ni voir l'historique des autres.
Ce qui échoue le plus souventLe pare-feu du serveur. Si l'interface ne répond pas depuis un autre poste alors qu'elle fonctionne en local, commencez par sudo ufw status avant de chercher ailleurs.
classe Open WebUI multi-utilisateur réseau local