Files
khadhroony-bobobot/kb_app/frontend/demo_ws_manager.html
2026-04-25 18:10:40 +02:00

110 lines
5.9 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!-- file: kb_app/frontend/demo_ws_manager.html -->
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Khadhroony-BoBoBot — Demo Ws Manager</title>
<link rel="stylesheet" href="sass/main.scss" />
</head>
<body class="bg-body-tertiary">
<header class="app-header">
<nav class="navbar navbar-expand-lg h-100 py-0 bg-light text-dark">
<div class="container my-0">
<a class="navbar-brand d-flex align-items-center" href="/">
<img alt="Logo" src="imgs/logo.png" class="app-logo" />
<span class="ps-2 fs-4 fw-bold text-primary font-logo">Demo Ws Manager</span>
</a>
</div>
</nav>
</header>
<main class="app-main">
<div class="osb-scrollable pt-1 pb-4" data-simplebar>
<div class="container vcentered sketchy-translucid py-4">
<div class="row g-4">
<div class="col-12 col-xxl-4">
<div class="card shadow-sm border-0 h-100">
<div class="card-body">
<h1 class="h4 mb-3">Pilotage</h1>
<p class="text-body-secondary mb-3">
Démo légère du <code>WsManager</code> : démarrage/arrêt groupé, pilotage par rôle et bus unifié dévénements.
</p>
<div class="d-flex flex-wrap gap-2 mb-4">
<button id="demoWsManagerStartAllButton" type="button" class="btn btn-primary">Start all</button>
<button id="demoWsManagerStopAllButton" type="button" class="btn btn-outline-primary">Stop all</button>
<button id="demoWsManagerRefreshButton" type="button" class="btn btn-outline-secondary">Refresh snapshot</button>
</div>
<div class="mb-3">
<label for="demoWsManagerRoleSelect" class="form-label">Rôle</label>
<select id="demoWsManagerRoleSelect" class="form-select"></select>
</div>
<div class="d-flex flex-wrap gap-2 mb-4">
<button id="demoWsManagerStartRoleButton" type="button" class="btn btn-primary">Start role</button>
<button id="demoWsManagerStopRoleButton" type="button" class="btn btn-outline-primary">Stop role</button>
</div>
<div class="small text-body-secondary">
<div><strong>Managed endpoints:</strong> <span id="demoWsManagerEndpointCountText">0</span></div>
<div><strong>Started endpoints:</strong> <span id="demoWsManagerStartedCountText">0</span></div>
</div>
</div>
</div>
</div>
<div class="col-12 col-xxl-8">
<div class="card shadow-sm border-0 mb-4">
<div class="card-body">
<h2 class="h5 mb-3">Snapshot</h2>
<div class="table-responsive">
<table class="table table-sm align-middle mb-0">
<thead>
<tr>
<th>Endpoint</th>
<th>Provider</th>
<th>Roles</th>
<th>State</th>
<th>Subs.</th>
</tr>
</thead>
<tbody id="demoWsManagerTableBody"></tbody>
</table>
</div>
</div>
</div>
<div class="card shadow-sm border-0">
<div class="card-body">
<div class="d-flex justify-content-between align-items-center mb-3">
<h2 class="h5 mb-0">Unified event log</h2>
<button id="demoWsManagerClearLogButton" type="button" class="btn btn-outline-secondary btn-sm">Clear log</button>
</div>
<textarea id="demoWsManagerLogTextarea" class="form-control font-monospace" rows="18" readonly spellcheck="false"></textarea>
</div>
</div>
</div>
</div>
</div>
</div>
</main>
<footer class="app-footer bg-dark text-light">
<div class="container h-100 d-flex align-items-center">
<div class="row flex-grow-1 align-items-center">
<div class="col-12 col-md-6 text-center text-small my-1 my-md-0">
&copy; 2026 SASEDEV — Demo Ws Manager
</div>
</div>
</div>
</footer>
<script type="module" src="ts/demo_ws_manager.ts" defer></script>
</body>
</html>