diff --git a/apps/frontend/src/pages/SetupRobotPage.tsx b/apps/frontend/src/pages/SetupRobotPage.tsx
index fce20a0..910a57c 100644
--- a/apps/frontend/src/pages/SetupRobotPage.tsx
+++ b/apps/frontend/src/pages/SetupRobotPage.tsx
@@ -522,8 +522,11 @@ export function SetupRobotPage() {
)}
- {/* Bottom link */}
-
+ {/* Bottom links */}
+
+
+ Déjà sur le réseau ? Entrer un code
+
← Retour au tableau de bord
diff --git a/apps/robot-client/deploy/tipote.service b/apps/robot-client/deploy/tipote.service
index e120fd9..f1e51fb 100644
--- a/apps/robot-client/deploy/tipote.service
+++ b/apps/robot-client/deploy/tipote.service
@@ -2,6 +2,8 @@
Description=Ti-Pote Robot Client
After=network.target NetworkManager.service
Wants=NetworkManager.service
+StartLimitIntervalSec=300
+StartLimitBurst=5
[Service]
Type=notify
@@ -14,8 +16,6 @@ Group=tipote
# Restart policy: max 5 restarts per 5 minutes
Restart=on-failure
RestartSec=5
-StartLimitIntervalSec=300
-StartLimitBurst=5
# Watchdog: process must ping every 60s or gets killed
WatchdogSec=60
diff --git a/apps/robot-client/src/services/wifi.service.ts b/apps/robot-client/src/services/wifi.service.ts
index 39c370b..a5b1fe6 100644
--- a/apps/robot-client/src/services/wifi.service.ts
+++ b/apps/robot-client/src/services/wifi.service.ts
@@ -28,6 +28,14 @@ export class WifiService {
* Check if the Pi is currently connected to a WiFi network.
*/
async isConnected(): Promise {
+ try {
+ // Use iwgetid first (no privileges needed), fallback to nmcli
+ const { stdout } = await execAsync('iwgetid -r');
+ if (stdout.trim()) return true;
+ } catch {
+ // iwgetid failed, try nmcli
+ }
+
try {
const { stdout } = await execAsync('nmcli -t -f TYPE,STATE device | grep wifi');
return stdout.includes('connected') && !stdout.includes('disconnected');
diff --git a/tools/pi-gen-tipote/stage3/01-install-tipote/00-run.sh b/tools/pi-gen-tipote/stage3/01-install-tipote/00-run.sh
index f3a7ea1..4f3cc71 100755
--- a/tools/pi-gen-tipote/stage3/01-install-tipote/00-run.sh
+++ b/tools/pi-gen-tipote/stage3/01-install-tipote/00-run.sh
@@ -9,7 +9,7 @@ on_chroot << 'CHEOF'
if ! id tipote &>/dev/null; then
useradd --system --create-home --home-dir /opt/tipote \
--shell /usr/sbin/nologin \
- --groups dialout,audio \
+ --groups dialout,audio,netdev \
tipote
fi
CHEOF