Files
Site-Web/status/QT.php
T
2026-05-16 11:10:19 +02:00

68 lines
1.8 KiB
PHP
Executable File

<?php
// --- Compute current build step for OG tags / initial display ---
$logs = glob('/var/www/nix.roulaise.net/status/qt-temp/qtw*/temp/build.log');
$logs = array_unique($logs);
$step = "Unknown";
foreach ($logs as $file) {
$line = trim(@shell_exec('tail -n 1 ' . escapeshellarg($file)));
if (preg_match('/\[\d+\/\d+\]/', $line, $m)) {
$step = $m[0];
break; // stop at first match
}
}
?>
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<!-- OpenGraph tags -->
<meta property="og:title" content="QT Build Status <?= htmlspecialchars($step) ?>" />
<meta property="og:description" content="Current build progress: <?= htmlspecialchars($step) ?>" />
<meta property="og:image" content="https://nix.roulaise.net/data/Guweiz1.jpeg" />
<meta property="og:url" content="https://nix.roulaise.net/status/QT.php" />
<meta property="og:type" content="website" />
<title>QT Build Status <?= htmlspecialchars($step) ?></title>
<link rel="stylesheet" href="/data/dracula-log.css">
</head>
<body>
<h1>Étape de construction : <span id="step"><?= htmlspecialchars($step) ?></span></h1>
<div class="log-box" id="log"></div>
<footer>
Tempo pas QT ! Je fait des tests !!
</footer>
<script>
async function update() {
try {
const res = await fetch("build-data.php");
const data = await res.json();
// Update DOM
document.getElementById("step").textContent = data.step;
document.getElementById("log").innerHTML = data.output.replace(/\n/g, "<br>");
// Update page title (tab)
document.title = `QT Build Status ${data.step}`;
// Auto-scroll log
const logBox = document.getElementById("log");
logBox.scrollTop = logBox.scrollHeight;
} catch(e) {
console.error(e);
}
}
// Refresh every 2 seconds
setInterval(update, 2000);
update();
</script>
</body>
</html>