Contexte
Après une modification manuelle de config.json ou une mise à jour du code de l'application elle-même, il est nécessaire de redémarrer le processus pour que les changements soient pris en compte. Actuellement, cela nécessite un accès SSH au serveur.
Besoin
Ajouter un bouton « Recharger » sur la page d'accueil permettant de redémarrer l'application depuis l'interface web, sans intervention manuelle sur le serveur.
Comportement attendu
- Un clic sur « Recharger » appelle un endpoint
POST /reload
- L'endpoint répond immédiatement avec
{ "result": true } avant de relancer le processus
- Le rechargement est réalisé via
os.execv (remplacement du processus courant) ou un signal SIGTERM si géré par systemd (qui se chargera du redémarrage automatique grâce à Restart=on-failure)
- Une confirmation est demandée à l'utilisateur avant l'action (boîte de dialogue)
- La page d'accueil affiche un message indiquant que le rechargement est en cours, puis tente de se reconnecter automatiquement (polling
/beats) et redirige vers l'accueil une fois le serveur de nouveau disponible
Endpoint à créer
POST /reload
→ 200 { "result": true, "message": "Rechargement en cours..." }
Critères d'acceptation
Contexte
Après une modification manuelle de
config.jsonou une mise à jour du code de l'application elle-même, il est nécessaire de redémarrer le processus pour que les changements soient pris en compte. Actuellement, cela nécessite un accès SSH au serveur.Besoin
Ajouter un bouton « Recharger » sur la page d'accueil permettant de redémarrer l'application depuis l'interface web, sans intervention manuelle sur le serveur.
Comportement attendu
POST /reload{ "result": true }avant de relancer le processusos.execv(remplacement du processus courant) ou un signalSIGTERMsi géré par systemd (qui se chargera du redémarrage automatique grâce àRestart=on-failure)/beats) et redirige vers l'accueil une fois le serveur de nouveau disponibleEndpoint à créer
Critères d'acceptation
POST /reloadqui redémarre le processus/dès que/beatsrépond à nouveau