Dépannage
Problèmes courants
L’agent ne démarre pas
Symptôme : fenwave service start ou fenwave service run échoue.
Causes possibles :
| Cause | Solution |
|---|---|
| Non connecté | Exécuter fenwave login |
| Session expirée | Exécuter fenwave login pour se ré-authentifier |
| Appareil non enregistré | Exécuter fenwave init ou fenwave register |
| Docker non démarré | Démarrer le daemon Docker (exécuter systemctl start docker) |
| Port déjà utilisé | Utiliser --port <port> pour spécifier un autre port, ou arrêter le processus utilisant le port par défaut |
| Fichier de verrouillage obsolète | L’agent détecte et nettoie automatiquement les verrouillages obsolètes. Si le problème persiste, supprimer ~/.fenwave/daemon/agent.lock |
Impossible de se connecter
Symptôme : fenwave login ouvre le navigateur mais l’authentification échoue ou expire.
Vérifications :
- Le backend Fenwave IDP est-il en cours d’exécution et accessible ?
curl -s <backend-url> - L’URL frontend est-elle correcte ?
fenwave config show - Le port de loopback (49152–49251) est-il bloqué par un pare-feu ?
- Le login a-t-il expiré (par défaut : 60 secondes) ? Réessayez — le navigateur a peut-être été lent à charger.
Le tableau de bord DevApp ne se charge pas
Symptôme : L’agent démarre mais http://localhost:3003 n’affiche rien.
Vérifications :
- Le conteneur DevApp est-il en cours d’exécution ?
fenwave containers - Docker est-il en cours d’exécution ?
docker ps - Le port du conteneur est-il correct ?
fenwave config show - Consulter les logs du conteneur pour les erreurs :
fenwave local-env --logs
Connexion WebSocket échouée
Symptôme : Le tableau de bord DevApp se charge mais affiche “Agent Disconnected” ou ne peut pas effectuer d’opérations.
Vérifications :
- L’agent est-il toujours en cours d’exécution ?
fenwave service status - Le port WebSocket est-il accessible ?
fenwave config show # Vérifier la valeur wsPort - Vérifier si le fichier ws-token existe :
ls ~/.fenwave/ws-token - Redémarrer l’agent pour régénérer le token :
fenwave service restart
Échec de l’enregistrement
Symptôme : fenwave init ou fenwave register échoue.
Causes possibles :
| Cause | Solution |
|---|---|
| Token invalide ou expiré | Générer un nouveau token depuis l’IDP (valide 7 jours) |
| Token déjà utilisé | Chaque token est à usage unique ; en générer un nouveau |
| Backend inaccessible | Vérifier la valeur --backend-url et la connectivité réseau |
| Appareil déjà enregistré | Utiliser fenwave rotate-credentials pour rafraîchir, ou fenwave uninstall puis ré-enregistrer |
Erreurs de permissions lors de l’installation
Symptôme : npm install -g échoue avec EACCES ou permission refusée.
Solutions (choisir une) :
- Installer nvm (recommandé) :
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash nvm install 20 nvm use 20 - Changer le préfixe npm :
mkdir -p ~/.npm-global npm config set prefix ~/.npm-global export PATH=~/.npm-global/bin:$PATH - Utiliser sudo (non recommandé) :
sudo npm install -g @fenwave/agent
Mode debug
Pour des logs détaillés, activer le mode debug :
# Via le flag CLI
fenwave service run --debug
# Via une variable d'environnement
DEBUG=true fenwave service start
FW_VERBOSE=true fenwave service start
Le mode debug affiche des informations supplémentaires sur :
- Les requêtes HTTP vers le backend
- Le routage des messages WebSocket
- Les vérifications de validation de session
Réinitialisation complète
Si tout échoue, vous pouvez effectuer une réinitialisation complète :
# 1. Arrêter l'agent
fenwave service stop
# 2. Supprimer toutes les données de l'agent
fenwave uninstall
# 3. Relancer la configuration
fenwave init --token <nouveau-token> --backend-url <url>
# 4. Se connecter
fenwave login
# 5. Démarrer l'agent
fenwave service start
fenwave uninstall supprime toutes les données locales y compris les identifiants d’appareil, la session et la configuration. Vous aurez besoin d’un nouveau token d’enregistrement pour reconfigurer.