diff --git a/VHard/affichage_score_kiosque.md b/VHard/affichage_score_kiosque.md new file mode 100644 index 00000000..68260ca4 --- /dev/null +++ b/VHard/affichage_score_kiosque.md @@ -0,0 +1,84 @@ +# Documentation Déploiement Kiosque - Tableau de Score + +Ce document décrit la configuration du serveur Fedora pour lancer automatiquement Google Chrome en mode plein écran au démarrage via un compositeur Wayland minimaliste (Cage). + +## 1. Installation des dépendances + +```bash +sudo dnf install -y https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm +sudo dnf install -y cage + +``` + +## 2. Configuration de l'Autologin (Systemd) + +Créer le fichier d'override pour que le serveur se connecte seul sur le TTY1 : +`sudo systemctl edit getty@tty1.service` + +Coller le contenu suivant : + +```ini +[Service] +ExecStart= +ExecStart=-/sbin/agetty --autologin VOTRE_USER --noclear %I $TERM + +``` + +## 3. Script de lancement et Watchdog + +Créer un script nommé `kiosk-waiter.sh` dans votre dossier personnel pour relancer Chrome s'il crash : + +```bash +#!/bin/bash +# kiosk-waiter.sh + +URL="https://votre-url-quizz.com" + +while true; do + cage -- google-chrome-stable \ + --kiosk \ + --no-first-run \ + --password-store=basic \ + --ozone-platform=wayland \ + --autoplay-policy=no-user-gesture-required \ + --disable-component-update \ + "$URL" + + echo "Chrome s'est arrêté. Relancement dans 2 secondes..." + sleep 2 +done + +``` + +*N'oubliez pas : `chmod +x ~/kiosk-waiter.sh*` + +## 4. Configuration Zsh (`~/.zlogin`) + +Ajouter ces lignes à la fin de votre fichier `~/.zlogin` pour déclencher l'affichage uniquement sur le port HDMI physique (TTY1) : + +```zsh +# Empêcher la mise en veille de l'écran +setterm --blank 0 --powersave off --powerdown 0 + +if [[ -z "$DISPLAY" && "$XDG_VTNR" -eq 1 ]]; then + export MOZ_ENABLE_WAYLAND=1 + export XDG_SESSION_TYPE=wayland + + # Lancement du script de monitoring + exec ~/kiosk-waiter.sh +fi + +``` + +## 5. Debug et Commandes utiles + +* **Relancer le navigateur à distance (SSH) :** +`pkill -u $USER cage` (Le script de boucle le relancera instantanément). +* **Vérifier les logs :** +`journalctl -u getty@tty1.service` +* **Forcer l'arrêt :** +Supprimer temporairement l'appel dans `~/.zlogin` ou tuer le script `kiosk-waiter.sh`. + +--- + +*Note : Si vous utilisez Podman pour le reste du projet (Vulture), ce setup "Bare Metal" pour l'affichage garantit une latence minimale pour les animations du tableau de score.* \ No newline at end of file