| <!DOCTYPE html> |
| <html lang="fr"> |
| <head> |
| <meta charset="UTF-8"> |
| <meta name="viewport" content="width=device-width, initial-scale=1.0"> |
| <title>Reachy Pipeline</title> |
| <link rel="preconnect" href="https://fonts.googleapis.com"> |
| <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> |
| <link href="https://fonts.googleapis.com/css2?family=DM+Mono:wght@300;400;500&family=Syne:wght@400;600;700&display=swap" rel="stylesheet"> |
| <link rel="stylesheet" href="/static/style.css"> |
|
|
| </head> |
| <body> |
|
|
| <header> |
| <div class="header-left"> |
| <span class="logo-mark"></span> |
| <span class="logo-text">les<em>tal</em></span> |
| </div> |
| </header> |
|
|
| <main> |
|
|
| <section class="panel" id="panel-source"> |
| <div class="panel-label">01 — source</div> |
| <div id = "local-or-video"> |
| <button class = "btn" id = "local-video">Vidéo locale</button> |
| <button class = "btn" id = "youtube-video">Vidéo youtube</button> |
| </div> |
|
|
| <div class="video-zone" id="video-zone"> |
| <div class="video-placeholder" id="video-placeholder"> |
| <svg width="36" height="36" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.2"> |
| <path d="M15 10l4.553-2.069A1 1 0 0121 8.87v6.26a1 1 0 01-1.447.894L15 14M3 8a2 2 0 012-2h8a2 2 0 012 2v8a2 2 0 01-2 2H5a2 2 0 01-2-2V8z"/> |
| </svg> |
| <span>Aucune vidéo</span> |
| </div> |
| <video id="video-preview" style="display:none;" controls></video> |
| </div> |
|
|
| <input type="text" id="video-link" placeholder="Lien de la vidéo" autocomplete="off" /> |
|
|
| <div class="input-row"> |
| <input type="text" id="recording-name" placeholder="Nom de l'enregistrement" autocomplete="off" /> |
| <div id = load-local> |
| <label class="btn btn-ghost" for="file-input"> |
| <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M21 15v4a2 2 0 01-2 2H5a2 2 0 01-2-2v-4M17 8l-5-5-5 5M12 3v12"/></svg> |
| Charger |
| </label> |
| <input type="file" id="file-input" accept="video/*" style="display:none;" /> |
| </div> |
| <button id = load-youtube> |
| <label class="btn btn-ghost"> |
| <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M21 15v4a2 2 0 01-2 2H5a2 2 0 01-2-2v-4M17 8l-5-5-5 5M12 3v12"/></svg> |
| Charger |
| </label> |
| </button> |
| </div> |
|
|
| <button class="btn btn-primary" id="btn-run" disabled> |
| <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polygon points="5 3 19 12 5 21 5 3"/></svg> |
| Lancer le pipeline |
| </button> |
| </section> |
|
|
| <section class="panel" id="panel-library"> |
| <div class="panel-label">02 — bibliothèque</div> |
|
|
| <ul class="library-list" id="library-list"></ul> |
| </section> |
|
|
| </main> |
|
|
| <footer> |
| <div class="status-line" id="status-line">En attente</div> |
| <div class="progress-bar" id="progress-bar"></div> |
| </footer> |
|
|
| <script src="/static/main.js?v=3"></script> |
| </body> |
| </html> |