Configuration automatique de pages web au démarrage sur Raspberry Pi

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

Étiquettes: Raspberry Pi Chromium Selenium Python bash

Publié le 6 juillet à 20h10