feat(frontend): démarrage auto du serveur + erreur port occupé actionnable (#89)

Étend ServerExposureSettings avec autoStart (défaut false, mock aligné sur le
backend). useDeployment expose setAutoStart, qui persiste immédiatement le
draft sans jamais appeler start() ni toucher le comportement de stop(), et ne
met à jour l'état local qu'après confirmation de la sauvegarde (même piste de
validation que start/save). DeploymentSettings ajoute la case à cocher sous
le panneau Serveur, et des actions « Modifier le port »/« Réessayer » quand le
statut échoue avec le code PORT_IN_USE stabilisé côté backend.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-07-21 18:38:40 +02:00
parent cb2d0c2d44
commit e9b01795d1
6 changed files with 273 additions and 8 deletions

View File

@ -179,6 +179,12 @@ export type ServerExposureMode =
*/
export interface ServerExposureSettings {
mode: ServerExposureMode;
/**
* Whether the embedded server should start automatically when IdeA Desktop
* boots (ticket #89), using these persisted settings. Applied at app launch
* only — never implied by a manual `start()`/`stop()` call.
*/
autoStart: boolean;
/** TCP port to bind. `0` asks the OS for an ephemeral port. */
port: number;
/** Public HTTPS origin, required by both remote modes. */