Méthode 1 : Utilisation de fichiers .desktop pour l'auto-démarrage
Créez un fichier de bureau pour lancer le navigateur en mode kiosque. Placez le fichier mon_appli.desktop dans le répertoire de configuration autostart.
[Desktop Entry]
Type=Application
Exec=chromium-browser --kiosk --app=https://example.fr
Pour déployer ce fichier, utilisez un script Bash qui le copie dans le répertoire approrpié :
#!/bin/bash
cp -f ./mon_appli.desktop /home/pi/.config/autostart/
Méthode 2 : Automatisation avec Python Selenium et ChromeDriver
Cette méthode offre plus de flexibilité, comme le défilement automatique et la mise à jour de la page. Installez les dépendances nécessaires.
sudo apt-get update
sudo apt-get install -y chromium-chromedriver python3-pip
pip3 install selenium
Assurez-vous que les versions de Chromium et ChromeDriver sont compatibles en vérifiant leurs numéros de version.
#!/usr/bin/python3
import time
from selenium import webdriver
# Configuration des options du navigateur
navigateur_options = webdriver.ChromeOptions()
navigateur_options.add_argument('--disable-infobars')
navigateur_options.add_argument('--kiosk')
navigateur_options.add_argument('--app=https://example.fr')
# Initialisation du navigateur avec le chemin du driver
pilote = webdriver.Chrome(executable_path='/usr/lib/chromium-browser/chromedriver', options=navigateur_options)
print(pilote.title)
# Calcul des dimensions de la page
hauteur_ecran = pilote.execute_script("return window.screen.height;")
hauteur_page = pilote.execute_script("return document.body.scrollHeight;")
# Boucle de défilement et rafraîchissement
compteur = 0
while True:
if (50 * compteur + hauteur_ecran) > hauteur_page:
compteur = 0
pilote.refresh()
time.sleep(10)
compteur += 1
script_defilement = f"window.scrollTo(0, {50 * compteur});"
pilote.execute_script(script_defilement)
time.sleep(1)
Méthode 3 : Vérification réseau avant lancement
Pour éviter les problèmes de connectivité au démarrage, intégrez une vérification réseau dans le script de lancement.
#!/bin/bash
# Fonction pour tester la connectivité réseau
verifier_reseau() {
local cible="https://example.fr"
local code_retour=$(curl -s -o /dev/null -w "%{http_code}" --connect-timeout 2 "$cible")
[ "$code_retour" -eq 200 ] && return 0 || return 1
}
# Attendre que le réseau soit disponible
while ! verifier_reseau; do
echo "Réseau non disponible, nouvelle tentative dans 5 secondes..."
sleep 5
done
# Lancer le navigateur en mode kiosque
chromium-browser --kiosk --app=https://example.fr