Найден корректный robots.txt
Файл управления сканированием сайта роботами
?
Robots.txt указывает поисковым роботам, какие страницы сканировать, а какие — нет. Ошибки в файле могут случайно закрыть важные разделы от индексации.
Robots.txt настроен корректно. Размер файла: 15261 байт. Загружен за: 0сек.
Проверяемая страница не запрещена в robots.txt.
Цепочка редиректов для файла robots.txt:
http://log.alsacreations.com/robots.txt
301 MovedPermanently
https://log.alsacreations.com/robots.txt
200 OK
Показать содержимое robots.txt
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Kiwilog : HTTP Log Analyzer</title>
<link rel="stylesheet" href="style.css" />
<link rel="icon" href="/favicon.ico" sizes="32x32" />
<link rel="icon" href="/favicon.svg" type="image/svg+xml" />
<script>if(localStorage.getItem('theme')==='dark')document.documentElement.setAttribute('data-theme','dark');</script>
<meta property="og:image" content="https://log.alsacreations.com/opengraph.png" />
<meta property="og:image:width" content="600" />
<meta property="og:image:height" content="315" />
<meta property="og:title" content="Kiwilog : HTTP Log Analyzer">
<meta property="og:description" content="Analyse de logs serveur HTTP côté navigateur">
<meta property="og:type" content="website">
</head>
<body>
<div id="app">
<!-- ── Header ──────────────────────────────────────────── -->
<header class="site-header">
<div class="logo-icon gradient">
<svg width="22" height="22" viewBox="0 0 24 24">
<polyline points="22 12 18 12 15 21 9 3 6 12 2 12"/>
</svg>
</div>
<div>
<h1>Kiwilog</h1>
<p>Analyse de logs serveur HTTP côté navigateur</p>
</div>
<div class="logo-alsacreations">
<a href="https://www.alsacreations.fr" target="_blank" rel="noopener"><img src="/logo-alsacreations.svg" alt="" width="120" height="24" /></a>
</div>
</header>
<!-- ── Intro ─────────────────────────────────────────────── -->
<div class="intro-block">
<div class="intro-log-code" aria-hidden="true" id="log-live">
<pre></pre>
</div>
<p class="intro-lead gradient"><b>Analysez vos logs serveur</b></p>
<div class="intro-args">
<p class="intro-arg">
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><!-- Icon from Carbon by IBM - undefined --><path fill="currentColor" d="m14 21.414l-5-5.001L10.413 15L14 18.586L21.585 11L23 12.415z"/><path fill="currentColor" d="M16 2a14 14 0 1 0 14 14A14 14 0 0 0 16 2m0 26a12 12 0 1 1 12-12a12 12 0 0 1-12 12"/></svg>
HTTP : Apache, nginx, Caddy</p>
<p class="intro-arg">
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><!-- Icon from Carbon by IBM - undefined --><path fill="currentColor" d="m14 21.414l-5-5.001L10.413 15L14 18.586L21.585 11L23 12.415z"/><path fill="currentColor" d="M16 2a14 14 0 1 0 14 14A14 14 0 0 0 16 2m0 26a12 12 0 1 1 12-12a12 12 0 0 1-12 12"/></svg>
sans aucun envoi de données vers un serveur</p>
<p class="intro-arg">
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><!-- Icon from Carbon by IBM - undefined --><path fill="currentColor" d="m14 21.414l-5-5.001L10.413 15L14 18.586L21.585 11L23 12.415z"/><path fill="currentColor" d="M16 2a14 14 0 1 0 14 14A14 14 0 0 0 16 2m0 26a12 12 0 1 1 12-12a12 12 0 0 1-12 12"/></svg>
rapidement dans le navigateur</p>
</div>
<div class="intro-features">
<div class="intro-feature">
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><!-- Icon from Carbon by IBM - undefined --><path fill="currentColor" d="M6 16c2.973 0 4.232-2.251 5.345-4.237C12.475 9.744 13.45 8 16 8s3.526 1.744 4.655 3.763C21.768 13.749 23.027 16 26 16h4v-2h-4c-1.713 0-2.483-1.22-3.6-3.214C21.209 8.654 19.724 6 16 6s-5.207 2.654-6.4 4.786C8.482 12.779 7.712 14 6 14H4V2H2v26a2 2 0 0 0 2 2h26v-2h-2v-6h-2v6h-4v-8h-2v8h-4V16h-2v12h-4v-8H8v8H4V16Z"/></svg>
<strong>Trafic & performance</strong>
<span>KPIs, timeline, codes HTTP, méthodes, protocoles, volumes transférés</span>
</div>
<div class="intro-feature">
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32" class="info"><!-- Icon from Carbon by IBM - undefined --><path fill="currentColor" d="M10 30H4a2 2 0 0 1-2-2V16a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2M4 16v12h6V16Z"/><path fill="currentColor" d="M28 4H6a2 2 0 0 0-2 2v6h2V6h22v14H14v2h2v4h-2v2h9v-2h-5v-4h10a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2"/></svg>
<strong>Audience</strong>
<span>Navigateurs, OS, appareils, sources de trafic, domaines référents</span>
</div>
<div class="intro-feature">
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32" class="warn"><!-- Icon from Carbon by IBM - undefined --><path fill="currentColor" d="M14 16.59L11.41 14L10 15.41l4 4l8-8L20.59 10z"/><path fill="currentColor" d="m16 30l-6.176-3.293A10.98 10.98 0 0 1 4 17V4a2 2 0 0 1 2-2h20a2 2 0 0 1 2 2v13a10.98 10.98 0 0 1-5.824 9.707ZM6 4v13a8.99 8.99 0 0 0 4.766 7.942L16 27.733l5.234-2.79A8.99 8.99 0 0 0 26 17V4Z"/></svg>
<strong>Sécurité</strong>
<span>Détection de bots, scans et attaques, IPs suspectes, taux d'erreur</span>
</div>
<div class="intro-feature">
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32" class="err"><!-- Icon from Carbon by IBM - undefined --><path fill="currentColor" d="M16 30A14.016 14.016 0 0 1 2 16h2A12 12 0 1 0 16 4V2a14 14 0 0 1 0 28"/><path fill="currentColor" d="M16 26A10.01 10.01 0 0 1 6 16h2a8 8 0 1 0 8-8V6a10 10 0 0 1 0 20"/><path fill="currentColor" d="M16 22a6.007 6.007 0 0 1-6-6h2a4 4 0 1 0 4-4v-2a6 6 0 0 1 0 12"/></svg>
<strong>Classements</strong>
<span>Top IPs, URLs, User-Agents, referers, URLs en erreur, poids des requêtes</span>
</div>
</div>
</div>
<!-- ── Drop zone ────────────────────────────────────────── -->
<div id="drop-zone" role="button" aria-label="Déposer un fichier de log">
<div class="drop-icon">
<svg width="26" height="26" viewBox="0 0 24 24">
<path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"/>
<polyline points="17 8 12 3 7 8"/>
<line x1="12" y1="3" x2="12" y2="15"/>
</svg>
</div>
<p class="drop-label">Déposez votre fichier de log ici</p>
<p class="drop-sub">Apache, nginx, JSON — <code>.log</code>, <code>.txt</code>, <code>.gz</code> — traitement 100 % local</p>
<input type="file" id="file-input" accept=".log,.txt,.gz,.access_log,text/plain" />
</div>
<!-- ── Progress ─────────────────────────────────────────── -->
<div id="progress-wrap">
<p id="progress-label">Chargement…</p>
<div class="progress-bar-bg">
<div class="progress-bar-fill" id="progress-fill"></div>
</div>
</div>
<!-- ── Dashboard ────────────────────────────────────────── -->
<div id="dashboard">
<!-- File info -->
<div id="file-info-bar"></div>
<!-- Timeline -->
<p class="section-title">Répartition temporelle des requêtes</p>
<div id="chart-wrap">
<div id="filter-bar">
<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polygon points="22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3"/></svg>
<span>Filtre :</span>
<span id="filter-label"></span>
<button id="btn-filter-reset">Réinitialiser</button>
</div>
<div class="chart-header">
<span class="chart-title">Requêtes dans le temps</span>
<div class="chart-controls">
<button data-gran="minute" title="Granularité minute">Min</button>
<button data-gran="hour" title="Granularité heure">Heure</button>
<button data-gran="day" title="Granularité jour">Jour</button>
</div>
</div>
<div id="canvas-wrap">
<canvas id="timeline-canvas"></canvas>
<div id="timeline-selection"></div>
</div>
<div id="daynight-controls" style="display:none">
<div class="daynight-legend">
<span class="daynight-swatch daynight-night"></span><span>Nuit</span>
<span class="daynight-swatch daynight-day"></span><span>Jour</span>
</div>
<div class="daynight-tz">
<label for="tz-select">Fuseau :</label>
<select id="tz-select">
<option value="UTC">UTC</option>
<option value="Europe/Paris">Europe/Paris (CET)</option>
<option value="Europe/London">Europe/London (GMT)</option>
<option value="Europe/Berlin">Europe/Berlin (CET)</option>
<option value="Europe/Moscow">Europe/Moscow (MSK)</option>
<option value="America/New_York">America/New_York (EST)</option>
<option value="America/Chicago">America/Chicago (CST)</option>
<option value="America/Los_Angeles">America/Los_Angeles (PST)</option>
<option value="America/Sao_Paulo">America/São_Paulo (BRT)</option>
<option value="Asia/Tokyo">Asia/Tokyo (JST)</option>
<option value="Asia/Shanghai">Asia/Shanghai (CST)</option>
<option value="Asia/Kolkata">Asia/Kolkata (IST)</option>
<option value="Asia/Dubai">Asia/Dubai (GST)</option>
<option value="Australia/Sydney">Australia/Sydney (AEST)</option>
<option value="Pacific/Auckland">Pacific/Auckland (NZST)</option>
</select>
</div>
</div>
</div>
<!-- KPIs -->
<p class="section-title">Vue d'ensemble</p>
<div class="kpi-grid" id="kpi-grid"></div>
<!-- Statuts HTTP -->
<p class="section-title">Codes de réponse HTTP <button class="help-link" id="btn-http-help" title="Aide sur les codes HTTP">?</button></p>
<div id="status-grid"></div>
<!-- Taux d'erreur -->
<p class="section-title">Taux d'erreur <button class="help-link" id="btn-error-help" title="Aide sur les taux d'erreur">?</button></p>
<div class="error-rate-grid" id="error-rates"></div>
<!-- Détection de scans / attaques -->
<p class="section-title">Détection de scans et attaques <button class="help-link" id="btn-scan-help" title="Aide sur la détection de scans">?</button></p>
<div id="scan-detection"></div>
<!-- Bots -->
<p class="section-title">Détection des bots <button class="help-link" id="btn-bots-help" title="Aide sur la détection des bots">?</button></p>
<div id="bots-section"></div>
<!-- Navigateurs / OS / Appareils -->
<p class="section-title">Navigateurs, OS et appareils <button class="help-link" id="btn-ua-help" title="Aide sur la détection des navigateurs">?</button></p>
<div id="ua-breakdown"></div>
<!-- Sources de trafic -->
<p class="section-title">Sources de trafic (référents) <button class="help-link" id="btn-referer-help" title="Aide sur les sources de trafic">?</button></p>
<div id="referer-domains"></div>
<!-- Méthodes HTTP & Protocoles -->
<p class="section-title">Méthodes HTTP et protocoles <button class="help-link" id="btn-methods-help" title="Aide sur les méthodes et protocoles">?</button></p>
<div id="methods-grid"></div>
<!-- Tops -->
<p class="section-title">Tops <button class="help-link" id="btn-tops-help" title="Aide sur les classements">?</button></p>
<div class="tops-grid">
<!-- Top IPs -->
<div class="top-card">
<div class="tc-head">
<svg width="16" height="16" viewBox="0 0 24 24">
<circle cx="12" cy="12" r="10"/>
<line x1="2" y1="12" x2="22" y2="12"/>
<path d="M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z"/>
</svg>
<span class="tc-title">Top IPs <span style="font-weight:400;color:var(--muted);font-size:.75rem">· clic = lookup</span></span>
</div>
<div class="tc-body" id="top-ips"></div>
</div>
<!-- Top URLs -->
<div class="top-card">
<div class="tc-head">
<svg width="16" height="16" viewBox="0 0 24 24">
<path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/>
<path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/>
</svg>
<span class="tc-title">Top URLs demandées</span>
</div>
<div class="tc-body" id="top-urls"></div>
</div>
<!-- Top User Agents -->
<div class="top-card">
<div class="tc-head">
<svg width="16" height="16" viewBox="0 0 24 24">
<rect x="2" y="3" width="20" height="14" rx="2"/>
<line x1="8" y1="21" x2="16" y2="21"/>
<line x1="12" y1="17" x2="12" y2="21"/>
</svg>
<span class="tc-title">Top User Agents</span>
</div>
<div class="tc-body" id="top-uas"></div>
</div>
<!-- Top URLs en erreur -->
<div class="top-card">
<div class="tc-head">
<svg width="16" height="16" viewBox="0 0 24 24">
<circle cx="12" cy="12" r="10"/>
<line x1="12" y1="8" x2="12" y2="12"/>
<line x1="12" y1="16" x2="12.01" y2="16"/>
</svg>
<span class="tc-title">Top URLs en erreur <span style="font-weight:400;color:var(--muted);font-size:.75rem">(404 / 5xx)</span></span>
</div>
<div class="tc-body" id="top-errors"></div>
</div>
<!-- Top Referers -->
<div class="top-card">
<div class="tc-head">
<svg width="16" height="16" viewBox="0 0 24 24">
<path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/>
<polyline points="15 3 21 3 21 9"/>
<line x1="10" y1="14" x2="21" y2="3"/>
</svg>
<span class="tc-title">Top Referers</span>
</div>
<div class="tc-body" id="top-referers"></div>
</div>
<!-- Top poids par URL -->
<div class="top-card">
<div class="tc-head">
<svg width="16" height="16" viewBox="0 0 24 24">
<path d="M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z"/>
</svg>
<span class="tc-title">Top poids des requêtes</span>
</div>
<div class="tc-body" id="top-bytes"></div>
</div>
</div><!-- /tops-grid -->
</div><!-- /dashboard -->
</div><!-- /app -->
<!-- Tooltip flottant pour le graphique -->
<div id="chart-tooltip"></div>
<footer class="footer">
<p>Kiwilog : projet expérimental claudé par <a href="https://www.alsacreations.com/" target="_blank" rel="noopener">Alsacréations</a>
</p>
<button class="btn-theme-toggle" id="btn-theme" title="Changer le thème" aria-label="Changer le thème">
<svg class="icon-moon" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"/></svg>
<svg class="icon-sun" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="5"/><line x1="12" y1="1" x2="12" y2="3"/><line x1="12" y1="21" x2="12" y2="23"/><line x1="4.22" y1="4.22" x2="5.64" y2="5.64"/><line x1="18.36" y1="18.36" x2="19.78" y2="19.78"/><line x1="1" y1="12" x2="3" y2="12"/><line x1="21" y1="12" x2="23" y2="12"/><line x1="4.22" y1="19.78" x2="5.64" y2="18.36"/><line x1="18.36" y1="5.64" x2="19.78" y2="4.22"/></svg>
</button>
</footer>
<script type="module" src="app.js"></script>
</body>
</html>