|
|
#!/bin/bash |
|
|
|
|
|
# Script pour lancer Chrome avec Web Bluetooth activé sur Linux |
|
|
|
|
|
echo "==========================================" |
|
|
echo "Lancement de Chrome avec Web Bluetooth" |
|
|
echo "==========================================" |
|
|
echo "" |
|
|
|
|
|
PORT=8443 |
|
|
URL="https://localhost:$PORT" |
|
|
|
|
|
# Vérifier si le serveur tourne déjà |
|
|
if ! curl -k -s "$URL" > /dev/null 2>&1; then |
|
|
echo "📡 Démarrage du serveur HTTPS..." |
|
|
python3 server.py & |
|
|
SERVER_PID=$! |
|
|
echo " Serveur PID: $SERVER_PID" |
|
|
sleep 2 |
|
|
else |
|
|
echo "✓ Serveur HTTPS déjà en cours d'exécution" |
|
|
fi |
|
|
|
|
|
echo "" |
|
|
echo "🚀 Lancement de Chrome avec Web Bluetooth..." |
|
|
echo "" |
|
|
echo "⚠️ Sur Linux, Web Bluetooth nécessite des flags expérimentaux" |
|
|
echo "" |
|
|
|
|
|
# Détecter le navigateur disponible |
|
|
if command -v google-chrome &> /dev/null; then |
|
|
CHROME="google-chrome" |
|
|
elif command -v chromium &> /dev/null; then |
|
|
CHROME="chromium" |
|
|
elif command -v chromium-browser &> /dev/null; then |
|
|
CHROME="chromium-browser" |
|
|
else |
|
|
echo "❌ Chrome/Chromium non trouvé!" |
|
|
echo " Installez-le avec: sudo apt install chromium-browser" |
|
|
exit 1 |
|
|
fi |
|
|
|
|
|
echo "📌 Utilisation de: $CHROME" |
|
|
echo "" |
|
|
echo "🔵 Chrome va s'ouvrir avec les flags nécessaires pour Web Bluetooth" |
|
|
echo "" |
|
|
echo "Dans Chrome:" |
|
|
echo " 1. Acceptez le certificat auto-signé (Avancé > Continuer)" |
|
|
echo " 2. Cliquez sur 'Connecter un module'" |
|
|
echo " 3. Sélectionnez votre ESP32" |
|
|
echo "" |
|
|
echo "Appuyez sur Ctrl+C pour tout arrêter" |
|
|
echo "==========================================" |
|
|
echo "" |
|
|
|
|
|
# Lancer Chrome avec les flags nécessaires pour Web Bluetooth sur Linux |
|
|
$CHROME \ |
|
|
--enable-features=WebBluetooth \ |
|
|
--enable-experimental-web-platform-features \ |
|
|
--enable-web-bluetooth-new-permissions-backend \ |
|
|
"$URL" \ |
|
|
2>/dev/null & |
|
|
|
|
|
CHROME_PID=$! |
|
|
|
|
|
# Fonction pour nettoyer à la sortie |
|
|
cleanup() { |
|
|
echo "" |
|
|
echo "🛑 Arrêt du serveur..." |
|
|
if [ ! -z "$SERVER_PID" ]; then |
|
|
kill $SERVER_PID 2>/dev/null |
|
|
fi |
|
|
exit 0 |
|
|
} |
|
|
|
|
|
trap cleanup SIGINT SIGTERM |
|
|
|
|
|
# Attendre |
|
|
wait $CHROME_PID
|
|
|
|