spb/cluster-skill
Public
HTML 57.2%
Shell 19.1%
Python 11.2%
CSS 7.4%
JavaScript 5.1%
1<!doctype html>2<html lang="fr">3<head>4<meta charset="utf-8">5<meta name="viewport" content="width=device-width,initial-scale=1">6<meta http-equiv="refresh" content="20">7<title>{{placeholder "http.request.host"}} — service momentanément indisponible</title>8<meta name="robots" content="noindex">9<style>10:root{--bg:#07070b;--fg:#f2f2f6;--muted:#9a9aab;--dim:#6c6c7c;--line:rgba(255,255,255,.1);--grad:linear-gradient(120deg,#ff6a3d,#f43f8e 45%,#a855f7)}11*{box-sizing:border-box}12body{margin:0;min-height:100vh;display:grid;place-items:center;background:var(--bg);color:var(--fg);font:16px/1.6 -apple-system,"Space Grotesk",system-ui,sans-serif;overflow:hidden}13.glow{position:fixed;inset:-30%;background:radial-gradient(closest-side at 30% 30%,rgba(255,106,61,.25),transparent 60%),radial-gradient(closest-side at 70% 65%,rgba(168,85,247,.25),transparent 60%),radial-gradient(closest-side at 55% 20%,rgba(34,211,238,.15),transparent 60%);filter:blur(30px);animation:drift 18s ease-in-out infinite alternate;pointer-events:none}14@keyframes drift{to{transform:translate(4%,3%) scale(1.05)}}15main{position:relative;max-width:620px;margin:24px;padding:40px 40px 32px;border:1px solid var(--line);border-radius:28px;background:rgba(255,255,255,.035);backdrop-filter:blur(16px);box-shadow:0 40px 100px -40px rgba(168,85,247,.45)}16.brand{display:flex;align-items:center;gap:10px;font-weight:700;letter-spacing:.02em;color:var(--muted);font-size:14px;text-transform:uppercase}17.orb{width:14px;height:14px;border-radius:50%;background:var(--grad);box-shadow:0 0 18px rgba(255,106,61,.7)}18h1{font-family:"Instrument Serif",Georgia,serif;font-weight:400;font-size:clamp(34px,6vw,50px);line-height:1.05;letter-spacing:-.02em;margin:22px 0 14px}19h1 em{font-style:italic;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}20p{margin:0 0 14px;color:var(--muted)}21code{font:13px ui-monospace,Menlo,monospace;background:rgba(255,255,255,.08);padding:2px 8px;border-radius:8px;color:var(--fg)}22.row{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:26px}23.btn{display:inline-flex;align-items:center;gap:8px;padding:12px 20px;border-radius:999px;border:1px solid var(--line);color:var(--fg);text-decoration:none;font-weight:600;font-size:14.5px;background:rgba(255,255,255,.04)}24.btn.primary{background:var(--grad);border-color:transparent;box-shadow:0 8px 32px -8px rgba(244,63,142,.6)}25.meta{margin-top:26px;padding-top:16px;border-top:1px solid var(--line);font:12.5px ui-monospace,Menlo,monospace;color:var(--dim);display:flex;flex-wrap:wrap;gap:8px 18px}26.pulse{display:inline-block;width:8px;height:8px;border-radius:50%;background:#fbbf24;animation:ping 1.6s infinite;margin-right:8px;vertical-align:middle}27@keyframes ping{0%{box-shadow:0 0 0 0 rgba(251,191,36,.6)}70%{box-shadow:0 0 0 9px rgba(251,191,36,0)}100%{box-shadow:0 0 0 0 rgba(251,191,36,0)}}28</style>29</head>30<body>31<div class="glow"></div>32<main>33 <div class="brand"><span class="orb"></span> MacLustr</div>34 <h1>Ce service est <em>momentanément</em> indisponible.</h1>35 <p><span class="pulse"></span>L'application derrière <code>{{placeholder "http.request.host"}}</code> ne répond pas pour l'instant. Elle redémarre peut-être, ou le nœud qui l'héberge est en maintenance. Cette page réessaie automatiquement toutes les 20 secondes.</p>36 <p>Si le problème persiste, écris-nous : nous regardons rapidement.</p>37 <div class="row">38 <a class="btn primary" href="mailto:contact@spboucher.ai?subject=Service%20indisponible%20%E2%80%94%20{{placeholder "http.request.host"}}">✉︎ contact@spboucher.ai</a>39 <a class="btn" href="javascript:location.reload()">Réessayer maintenant</a>40 </div>41 <div class="meta">42 <span>erreur {{placeholder "http.error.status_code"}}</span>43 <span>{{placeholder "http.request.host"}}</span>44 <span id="t"></span>45 <span>passerelle MacLustr Tunnel</span>46 </div>47</main>48<script>document.getElementById('t').textContent=new Date().toLocaleString('fr-CA');</script>49</body>50</html>51