v0.1.4-pre.013

This commit is contained in:
2026-08-16 16:51:11 +02:00
parent 2b343c25de
commit e0f2586400
16 changed files with 549 additions and 20 deletions

View File

@@ -1,5 +1,5 @@
<!-- file: crates/ksp-app-config-desk/frontend/main.html -->
<!-- version: 8 -->
<!-- version: 9 -->
<!DOCTYPE html>
<html lang="fr">
@@ -265,6 +265,13 @@
</div>
</div>
<div class="d-flex flex-wrap gap-2 align-items-center mb-3">
<span class="small text-body-secondary me-1">Reveal Secret privilégié :</span>
<button id="revealEnvironmentEffective" class="btn btn-outline-warning btn-sm" type="button" disabled>Révéler effective</button>
<button id="revealEnvironmentDotenv" class="btn btn-outline-warning btn-sm" type="button" disabled>Révéler .env</button>
<span class="form-text mb-0">Disponible uniquement pour KSP_SECRET_* / KSPB_SECRET_* et jamais préchargé automatiquement.</span>
</div>
<div id="environmentMutationStatus" class="alert alert-secondary mb-3" role="status" aria-live="polite">
Aucune mutation effectuée pendant ce lancement.
</div>
@@ -325,6 +332,39 @@
</div>
</div>
<div id="secretRevealModal" class="modal fade" tabindex="-1" aria-labelledby="secretRevealModalLabel" aria-hidden="true">
<div class="modal-dialog modal-dialog-centered">
<div class="modal-content">
<div class="modal-header">
<h2 id="secretRevealModalLabel" class="modal-title fs-5">Reveal Secret privilégié</h2>
<button class="btn-close" type="button" data-bs-dismiss="modal" aria-label="Fermer"></button>
</div>
<div class="modal-body">
<div id="secretRevealConfirmPanel">
<p class="mb-2">Variable : <code id="secretRevealVariable" class="font-monospace"></code></p>
<p class="mb-3">Source demandée : <code id="secretRevealSource"></code></p>
<div class="alert alert-warning small mb-3" role="note">
Cette action expose temporairement la valeur réelle dans la WebView. Elle n'est ni journalisée, ni ajoutée à AppState, ni persistée par le frontend.
</div>
</div>
<div id="secretRevealResultPanel" hidden>
<label class="form-label fw-semibold" for="secretRevealValue">Valeur réelle transitoire</label>
<div class="input-group">
<input id="secretRevealValue" class="form-control font-monospace" type="password" readonly autocomplete="off" spellcheck="false">
<button id="secretRevealToggleVisibility" class="btn btn-outline-secondary" type="button">Afficher</button>
</div>
<div id="secretRevealValueAbsent" class="alert alert-secondary small mb-0" hidden>Aucune valeur n'existe dans cette source.</div>
</div>
<p id="secretRevealStatus" class="text-body-secondary small mt-3 mb-0" aria-live="polite"></p>
</div>
<div class="modal-footer">
<button class="btn btn-outline-secondary" type="button" data-bs-dismiss="modal">Fermer</button>
<button id="secretRevealConfirmAction" class="btn btn-warning" type="button">Révéler</button>
</div>
</div>
</div>
</div>
<footer class="app-footer bg-dark text-light">
<div class="container h-100 d-flex align-items-center justify-content-center">
<small>&copy; 2026 SASEDEV</small>