start()
Démarre un serveur à partir d'un objet de configuration. Retourne un SimpleServer qui porte l'URL résolue et une méthode stop().
import { start } from 'sovrium'
const server = await start({ name: 'my-app' })
console.log(`Server running at ${server.url}`)
start valide la configuration face à AppSchema avant de lier quoi que ce soit. Une configuration invalide rejette avec une erreur Sovrium failed to start: nommant le chemin fautif — jamais un serveur à moitié configuré.
StartOptions
Le second argument, optionnel. Chaque propriété a un défaut opérationnel : start(app) seul est donc valide.
| Propriété | Description |
|---|---|
port |
Numéro de port, 0–65535. 0 prend un port libre. Par défaut : 3000. |
hostname |
Interface sur laquelle se lier. Par défaut : localhost. |
publicDir |
Répertoire de fichiers statiques. Les fichiers sont servis à leur chemin relatif. |
configPath |
Chemin du fichier de configuration, enregistré dans le verrou pour restart et reload. |
configHash |
Empreinte du contenu de la configuration, utilisée pour détecter les changements. |
Les deux dernières existent pour les commandes de cycle de vie du CLI. Ne les définissez que si vous réimplémentez restart/reload vous-même ; sinon, laissez-les tranquilles.
import { start } from 'sovrium'
const server = await start(
{
name: 'my-app',
tables: [
{
id: 1,
name: 'tasks',
fields: [
{ id: 1, name: 'title', type: 'single-line-text', required: true },
{ id: 2, name: 'done', type: 'checkbox' },
],
},
],
},
{
port: 8080,
hostname: '0.0.0.0',
publicDir: './public',
}
)
Se lier à un port libre
Passer port: 0 laisse le système choisir. C'est le motif fiable pour les tests et pour plusieurs instances sur une même machine — relisez le vrai port depuis server.url plutôt que de le supposer :
const server = await start({ name: 'test-app' }, { port: 0 })
const response = await fetch(`${server.url}/api/health`)
console.log(response.status) // 200
await server.stop()
Arrêter le serveur
stop() se résout une fois l'arrêt terminé : un await suffit donc à séquencer la fermeture.
const server = await start({ name: 'my-app' })
process.on('SIGTERM', async () => {
await server.stop()
process.exit(0)
})
Un serveur par processus. start() installe des gestionnaires d'arrêt propre sur le processus. L'appeler deux fois dans le même processus vous donne deux serveurs qui se disputent les mêmes signaux — lancez plutôt des processus séparés.
Pages associées
- Aperçu de l'API TypeScript —
AppConfiget les autres fonctions. - Référence des types —
SimpleServeret les types de configuration. - Commandes de cycle de vie — le même comportement depuis le CLI.
- Variables d'environnement —
PORTet les autres entrées d'exécution.
Dernière mise à jour 27 juillet 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.