Aller au contenu

Guide 10 sur 12

Monter une borne SATI autonome

Une machine qu'on branche et qui marche : démarrage direct sur l'interface, système qui encaisse les coupures de courant, aucune donnée personnelle conservée, image duplicable sur tout un parc.

Démarrer le pas à pas 7 étapes · Une demi-journée · une étape à l'écran, avec Précédent / Suivant

Niveau Avancé
Durée Une demi-journée
Étapes 7
Catégorie Déploiement
Avant de commencer
  • Une installation Ollama fonctionnelle (voir le guide Raspberry Pi)
  • Un écran, un clavier et une souris pour la borne
  • Savoir écrire un service systemd
1

Le cahier des charges

  • Zéro manipulation : on branche, l'interface apparaît, on pose sa question.
  • Zéro réseau : la borne fonctionne dans une salle sans internet.
  • Zéro trace : rien de ce qu'un utilisateur écrit ne survit à l'extinction.
  • Zéro fragilité : une coupure de courant ne doit pas corrompre le système.
  • Duplicable : une image disque, dix bornes identiques.
Le point juridiqueUne borne qui ne conserve rien sort du champ de la plupart des obligations liées aux données personnelles. C'est une décision d'architecture, prise au début — pas une case à cocher ajoutée après coup.
2

Préparer le système

shell
# Système minimal + serveur graphique léger
sudo apt update
sudo apt install -y --no-install-recommends \
  xserver-xorg xinit openbox chromium-browser unclutter

# Utilisateur dédié, sans droits d'administration
sudo adduser --disabled-password --gecos '' borne

Openbox plutôt qu'un bureau complet : quelques dizaines de mégaoctets au lieu de plusieurs centaines, autant de RAM laissée au modèle.

3

Le moteur en service

shell
sudo systemctl edit ollama
systemd
[Service]
Environment="OLLAMA_HOST=127.0.0.1:11434"
# Le modèle reste chargé : pas d'attente au premier usage de la journée
Environment="OLLAMA_KEEP_ALIVE=-1"
Environment="OLLAMA_MAX_LOADED_MODELS=1"

Sur une borne, on écoute uniquement en local : personne n'a besoin d'y accéder depuis le réseau, et cela ferme la question de l'exposition.

shell
sudo systemctl daemon-reload && sudo systemctl restart ollama
ollama pull qwen3:4b
4

Le mode kiosque

config
# /home/borne/.xinitrc
#!/bin/sh
xset s off -dpms          # pas de mise en veille de l'écran
unclutter -idle 3 &       # curseur masqué après 3 s
openbox-session &

exec chromium-browser \
  --kiosk \
  --incognito \
  --noerrdialogs \
  --disable-infobars \
  --disable-session-crashed-bubble \
  --check-for-update-interval=31536000 \
  http://localhost:3000
shell
# Connexion automatique de l'utilisateur borne, puis démarrage de X
sudo systemctl edit getty@tty1
systemd
[Service]
ExecStart=
ExecStart=-/sbin/agetty --autologin borne --noclear %I $TERM
shell
# /home/borne/.bash_profile
[ -z "$DISPLAY" ] && [ "$(tty)" = "/dev/tty1" ] && exec startx

Le mode incognito garantit qu'aucun historique de navigation ni cookie ne subsiste d'une session à l'autre.

5

Encaisser les coupures

Une borne se débranche sans prévenir. Un système en lecture seule ne se corrompt pas.

shell
# Sur Raspberry Pi OS : assistant intégré
sudo raspi-config
#  -> Performance Options -> Overlay File System -> activer
#  -> puis verrouiller la partition de démarrage en lecture seule

Les écritures partent alors dans un calque en mémoire, effacé à chaque redémarrage. Pour mettre à jour la borne, on désactive l'overlay, on intervient, on le réactive.

Conséquence à assumerPlus rien n'est conservé, y compris ce que vous voudriez garder : journaux, statistiques d'usage, nouveaux modèles. Prévoyez une clé USB montée en écriture pour ce qui doit vraiment survivre — et n'y mettez rien de personnel.
6

Dupliquer sur le parc

shell
# Depuis un autre poste Linux, carte source insérée
sudo dd if=/dev/sdX of=borne-sati-v1.img bs=4M status=progress

# Réduire l'image à la taille utile (paquet pishrink)
sudo pishrink.sh borne-sati-v1.img

# Écriture sur les cartes suivantes
sudo dd if=borne-sati-v1.img of=/dev/sdY bs=4M status=progress conv=fsync

Pensez à changer le nom de machine sur chaque exemplaire, et à régénérer les clés SSH d'hôte si le service est activé — une image clonée les duplique aussi.

7

La recette de réception

  1. Brancher la borne : l'interface s'affiche sans intervention en moins de deux minutes.
  2. Poser une question, obtenir une réponse, sans aucun réseau connecté.
  3. Débrancher brutalement l'alimentation en pleine génération, rebrancher : le système revient intact.
  4. Vérifier qu'aucun historique de la session précédente n'est visible.
  5. Laisser la borne allumée deux heures et relever la température ainsi que la consommation.
  6. Confier la borne à quelqu'un qui n'a reçu aucune explication, et regarder sans intervenir.
La dernière étape est la vraieUn déploiement se juge sur ce que fait un utilisateur qui n'a pas lu la notice. Tout ce qui demande une explication orale est un défaut de conception à corriger avant la mise en service.
borne kiosque déploiement RGPD