v1.9.4: UI - Modal pour consulter wifi_connect.log depuis l'admin

Ajoute un bouton 'WiFi connect logs' dans logs.html qui ouvre un modal
avec le contenu de logs/wifi_connect.log (créé en v1.9.3). Permet de
diagnostiquer une tentative de connexion WiFi sans passer en SSH.

Le contenu est chargé à l'ouverture du modal (pas au chargement de la
page) pour éviter de saturer la limite de 6 connexions du navigateur
sur la page Journal.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
PaulVua
2026-05-20 11:36:42 +02:00
parent 3109455ea0
commit 3aae307842
3 changed files with 40 additions and 1 deletions

View File

@@ -1 +1 @@
1.9.3 1.9.4

View File

@@ -1,5 +1,18 @@
{ {
"versions": [ "versions": [
{
"version": "1.9.4",
"date": "2026-05-20",
"changes": {
"features": [
"logs.html: bouton 'WiFi connect logs' qui ouvre un modal affichant le contenu de logs/wifi_connect.log (introduit en v1.9.3), avec bouton Refresh. Permet de récupérer la chronologie complète d'une tentative de connexion WiFi directement depuis l'UI admin, sans passer en SSH"
],
"improvements": [],
"fixes": [],
"compatibility": []
},
"notes": "Complète la v1.9.3 en rendant accessible le nouveau log dédié depuis l'interface admin (le fichier était écrit mais pas affiché dans la page Journal)."
},
{ {
"version": "1.9.3", "version": "1.9.3",
"date": "2026-05-20", "date": "2026-05-20",

View File

@@ -51,6 +51,11 @@
<main class="col-md-10 ms-sm-auto col-lg-11 offset-md-2 offset-lg-1 px-md-4"> <main class="col-md-10 ms-sm-auto col-lg-11 offset-md-2 offset-lg-1 px-md-4">
<h1 class="mt-4" data-i18n="logs.title">Le journal</h1> <h1 class="mt-4" data-i18n="logs.title">Le journal</h1>
<p data-i18n="logs.description">Le journal des logs permet de savoir si les processus du capteur se déroulent correctement.</p> <p data-i18n="logs.description">Le journal des logs permet de savoir si les processus du capteur se déroulent correctement.</p>
<div class="mb-3">
<button type="button" class="btn btn-outline-primary btn-sm" data-bs-toggle="modal" data-bs-target="#wifiLogModal" onclick="loadWifiLog()">
WiFi connect logs
</button>
</div>
<div class="row"> <div class="row">
<!-- card 1 --> <!-- card 1 -->
<div class="col-lg-6 col-12"> <div class="col-lg-6 col-12">
@@ -83,6 +88,21 @@
</div> </div>
</div> </div>
</div> </div>
<!-- WiFi connect log modal -->
<div class="modal fade" id="wifiLogModal" tabindex="-1" aria-labelledby="wifiLogModalLabel" aria-hidden="true">
<div class="modal-dialog modal-xl modal-dialog-scrollable">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="wifiLogModalLabel">WiFi connect logs</h5>
<button type="button" class="btn btn-secondary btn-sm ms-auto me-2" onclick="loadWifiLog()">Refresh</button>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body overflow-auto" id="card_wifi_content" style="max-height: 70vh;">
</div>
</div>
</div>
</div>
</main> </main>
</div> </div>
</div> </div>
@@ -187,6 +207,12 @@ window.onload = function() {
}//end onload }//end onload
function loadWifiLog() {
const container = document.getElementById('card_wifi_content');
if (!container) return;
displayLogFile('../logs/wifi_connect.log', container, true, 1000);
}
function displayLogFile(logFilePath, containerElement, scrollToBottom = true, maxLines = 0) { function displayLogFile(logFilePath, containerElement, scrollToBottom = true, maxLines = 0) {
// Show loading indicator // Show loading indicator
containerElement.innerHTML = '<div class="text-center"><i>Loading log file...</i></div>'; containerElement.innerHTML = '<div class="text-center"><i>Loading log file...</i></div>';