Commandes de cycle de vie
Quatre commandes lancent et pilotent un serveur. stop, restart et reload retrouvent tous le processus en cours via un fichier de verrou écrit au démarrage, qui enregistre son PID, son port et son chemin de configuration — c'est pourquoi aucune d'elles n'a besoin que vous nommiez à nouveau la configuration.
sovrium start
Démarre le serveur. C'est la commande par défaut : le mot start est donc optionnel dès qu'un chemin de configuration est présent.
sovrium start app.yaml # explicite
sovrium app.yaml # implicite — identique
sovrium start app.yaml --watch # recharge à chaque modification
PORT=8080 sovrium start app.yamlLe port provient de PORT et vaut 3000 par défaut. Si ce port est déjà pris, Sovrium n'échoue pas : il se lie à un port libre attribué par le système et affiche la vraie URL dans la bannière de démarrage.
[SERVER] Port 3000 in use; using an OS-assigned port (see URL below).Démarrer alors qu'une autre instance détient le verrou est refusé :
Error: Server already running (PID: 12345, port: 3000)Un verrou laissé par un processus planté est détecté (son PID n'existe plus) et supprimé automatiquement : ce message ne vous bloque donc que si une instance tourne réellement.
sovrium stop
Envoie SIGTERM au processus nommé dans le fichier de verrou, puis attend jusqu'à 5 secondes que ce processus se termine. Le verrou n'est supprimé qu'une fois le processus réellement disparu : un fichier de verrou qui survit à un stop dit donc la vérité, le serveur tourne toujours.
sovrium stopEn cas de succès, la commande affiche Server stopped. et sort en 0.
Si le PID enregistré n'existe plus, le verrou périmé est supprimé et la sortie le dit, au lieu d'annoncer un arrêt qui n'a jamais eu lieu :
Server was not running — removed a stale lock file for PID 12345.Un serveur encore vivant 5 secondes après le SIGTERM fait sortir la commande en 1 et conserve le verrou :
Error: Server (PID 12345) did not exit within 5s after SIGTERM.
Force it with 'kill -9 12345', then run 'sovrium stop' again to clear the lock.Sans aucun fichier de verrou, la commande sort également en 1 :
Error: No server is running.
Start one with 'sovrium start <config>'.Sur SIGTERM — ou Ctrl-C au premier plan — le serveur termine les requêtes déjà en cours, ferme d'autorité les connexions longue durée comme les flux SSE, puis se termine, en général en bien moins d'une seconde. docker stop et systemd n'ont donc plus à se rabattre sur un SIGKILL. Un second Ctrl-C saute la vidange et sort immédiatement.
sovrium restart
Arrête le serveur en cours, puis le relance détaché en arrière-plan. Le chemin de configuration est optionnel : sans lui, celui enregistré dans le fichier de verrou est réutilisé.
sovrium restart # même configuration que l'instance en cours
sovrium restart app.yaml # bascule vers une autre configurationrestart attend l'ancien processus exactement comme stop, et refuse de lancer un remplaçant s'il est encore vivant au bout de 5 secondes : vous ne vous retrouvez jamais avec deux serveurs côte à côte. Le refus reprend le message did not exit within 5s, et l'ancien serveur continue de tourner et conserve son verrou.
restart remplace intégralement le processus : le port est réattribué et les connexions sont coupées. Préférez reload lorsque seule la configuration a changé.
sovrium reload
Relit la configuration d'un serveur en cours sans interruption. Sovrium valide d'abord le fichier et ne signale le processus qu'une fois le décodage propre : une modification invalide est donc rejetée avant de pouvoir atteindre le serveur en production.
sovrium reload
sovrium reload --message "Ajout de la table factures"--message enregistre une note d'exploitation sur la nouvelle version de configuration, qui apparaît ensuite dans l'historique de migration de l'application.
Comme la configuration existe uniquement sous forme de code, aucun schéma modifié à l'exécution ne peut entrer en conflit avec un rechargement : le fichier sur disque fait toujours foi. Un fichier invalide interrompt le rechargement avec :
Error: Invalid configuration - <le chemin fautif et la raison>reload change la configuration, pas le code. Une nouvelle version de Sovrium exige toujours un restart (ou un redéploiement). reload relit votre app.yaml ; il ne remplace pas le binaire.
Pages associées
- Aperçu du CLI — résolution de configuration et mode surveillance.
- Commandes de projet —
init,build,schema,validate. - Métadonnées de l'application — l'historique de migration alimenté par
reload. - Dépannage — conflits de port et erreurs de fichier de verrou.
Dernière mise à jour 1 septembre 2026
Cette documentation a été rédigée avec de l'IA : des erreurs ou du contenu obsolète sont donc possibles. Sovrium est en bêta. Les contributions et corrections sont les bienvenues.