Ajouter un lien direct vers la SITAC Foothold depuis la vue d'un serveur, lorsque ce serveur héberge une campagne Foothold.
Le point à trancher : comment faire le lien entre le nom d'un serveur dans la vue d'un serveur et l'URL du serveur Foothold correspondant.
Contexte
Sujet vierge : aucune occurrence de « Foothold » ni « SITAC » dans le dépôt, ni dans l'ancien site Symfony.
La difficulté vient de deux notions de « serveur » qu'aucun code ne relie aujourd'hui :
- les serveurs live du DCSServerBot, seule source des pages publiques, identifiés par leur nom côté bot (
DcsBotServerOut.name) — backend/app/services/dcsbot.py, GET /api/dcsbot/servers[/{server_name}] (backend/app/api/dcsbot.py), affichés par frontend/src/views/ServersView.vue et frontend/src/views/ServerDetailView.vue. Le bot ne renvoie aucune métadonnée par serveur (ni tag, ni type de campagne, ni URL) ;
- l'entité
Server en base (backend/app/models/dcs.py), limitée à id, name et code (unique), sans champ d'URL, administrée via backend/app/api/admin_servers.py et frontend/src/views/admin/ServersView.vue (formulaire { name, code }).
Seul signal exploitable pour savoir qu'une campagne Foothold tourne : le nom de la mission en cours (MissionInfoOut.name, backend/app/schemas/dcs.py), qui n'est jamais persisté. Un rapprochement par Server.name serait fragile (shortName() de ServersView.vue découpe le nom du bot sur -) ; Server.code est la seule clé stable existante — c'était déjà le jeton d'URL par serveur sur l'ancien site Symfony (routes perun_instance, map_index, server_control).
Questions ouvertes
- Où stocker l'URL de la SITAC : nouveau champ nullable sur
Server (+ migration Alembic) saisi en admin, ou URL déduite par convention depuis Server.code ?
- Qu'est-ce qui déclenche l'affichage : la détection sur le nom de la mission, ou la simple présence d'une URL configurée ?
- Où afficher le lien : vue détaillée d'un serveur seulement, ou aussi la liste des serveurs ?
- Le lien est-il réservé aux membres, comme l'est déjà le mot de passe serveur (
backend/app/api/dcsbot.py) ?
Ajouter un lien direct vers la SITAC Foothold depuis la vue d'un serveur, lorsque ce serveur héberge une campagne Foothold.
Le point à trancher : comment faire le lien entre le nom d'un serveur dans la vue d'un serveur et l'URL du serveur Foothold correspondant.
Contexte
Sujet vierge : aucune occurrence de « Foothold » ni « SITAC » dans le dépôt, ni dans l'ancien site Symfony.
La difficulté vient de deux notions de « serveur » qu'aucun code ne relie aujourd'hui :
DcsBotServerOut.name) —backend/app/services/dcsbot.py,GET /api/dcsbot/servers[/{server_name}](backend/app/api/dcsbot.py), affichés parfrontend/src/views/ServersView.vueetfrontend/src/views/ServerDetailView.vue. Le bot ne renvoie aucune métadonnée par serveur (ni tag, ni type de campagne, ni URL) ;Serveren base (backend/app/models/dcs.py), limitée àid,nameetcode(unique), sans champ d'URL, administrée viabackend/app/api/admin_servers.pyetfrontend/src/views/admin/ServersView.vue(formulaire{ name, code }).Seul signal exploitable pour savoir qu'une campagne Foothold tourne : le nom de la mission en cours (
MissionInfoOut.name,backend/app/schemas/dcs.py), qui n'est jamais persisté. Un rapprochement parServer.nameserait fragile (shortName()deServersView.vuedécoupe le nom du bot sur-) ;Server.codeest la seule clé stable existante — c'était déjà le jeton d'URL par serveur sur l'ancien site Symfony (routesperun_instance,map_index,server_control).Questions ouvertes
Server(+ migration Alembic) saisi en admin, ou URL déduite par convention depuisServer.code?backend/app/api/dcsbot.py) ?