Files
geograsim/App/admin-sitemap.html
T
Adminator 691387c4d8 Admin: Lehrer-View Parameter-Ueberblick Schuelerleistung
Neue Referenzseite /admin-lehrer-view.html: pro Sim (14, der Reihe nach)
die 'Ergebnisse/Aktuell'-Tabelle mit Testdaten, gerendert mit der ECHTEN
Logik (LIVE_PRIMARY_FIELDS + Formatter aus teacher.html gespiegelt).
- Unter jedem Spaltentitel der State-Key (Spiel->Backend-Verkabelung).
- Spalten GRUEN, die nach Abschluss relevant bleiben (Ergebnis/Fortschritt/
  Identitaet), GRAU = nur live; je Sim Begruendungs-Liste der Grau-Spalten.
Verlinkt aus admin-sitemap.html.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-08-24 19:37:26 +02:00

485 lines
35 KiB
HTML

<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>GeoGraSim — Sitemap-Audit (Admin)</title>
<link rel="icon" type="image/png" href="favicon-96x96.png" sizes="96x96">
<link rel="icon" type="image/svg+xml" href="favicon.svg">
<link rel="stylesheet" href="assets/fonts/inter.css">
<style>
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:'Inter',sans-serif;background:#f6f4ee;min-height:100vh;color:#2a2a2a;padding:24px}
.topbar{background:#fff;padding:.6rem 1.2rem;display:flex;align-items:center;gap:.8rem;border-bottom:1px solid rgba(0,0,0,.06);border-radius:10px;margin-bottom:1rem}
.topbar h1{font-size:.95rem;font-weight:800;color:#4a7c8a;flex:1;display:flex;align-items:center;gap:.5rem}
.topbar h1 img{height:28px}
.btn-sm{padding:.3rem .6rem;border:1px solid rgba(0,0,0,.08);border-radius:6px;background:#fff;font-size:.68rem;font-weight:600;cursor:pointer;color:#4a4a4a;text-decoration:none}
.btn-sm:hover{background:#dae8ec;color:#4a7c8a}
.wrap{max-width:1100px;margin:0 auto}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:.7rem;margin-bottom:1.2rem}
.stat{background:#fff;border-radius:10px;padding:.9rem 1rem;border:1px solid rgba(0,0,0,.04);box-shadow:0 1px 4px rgba(0,0,0,.03)}
.stat-num{font-size:1.8rem;font-weight:900;color:#1f4e5a;line-height:1}
.stat-lbl{font-size:.68rem;color:#8a8a8a;text-transform:uppercase;letter-spacing:.06em;margin-top:.3rem}
.stat.warn .stat-num{color:#a04a3a}
.stat.info .stat-num{color:#c4a35a}
details.section{background:#fff;border-radius:10px;margin-bottom:.9rem;border:1px solid rgba(0,0,0,.04);box-shadow:0 1px 4px rgba(0,0,0,.03);overflow:hidden}
details.section[open]{border-left-width:4px}
details.section.green[open]{border-left:4px solid #5a8a5e}
details.section.yellow[open]{border-left:4px solid #c4a35a}
details.section.blue[open]{border-left:4px solid #4a7c8a}
details.section.gray[open]{border-left:4px solid #8a8a8a}
details.section.red[open]{border-left:4px solid #a04a3a}
details.section.dead[open]{border-left:4px solid #c07a6b}
summary{padding:.9rem 1.2rem;cursor:pointer;list-style:none;font-weight:800;font-size:.95rem;color:#1f4e5a;display:flex;align-items:center;gap:.5rem;user-select:none}
summary::-webkit-details-marker{display:none}
summary::before{content:'▶';font-size:.7rem;color:#8a8a8a;transition:transform .15s;display:inline-block}
details[open]>summary::before{transform:rotate(90deg)}
summary .count{margin-left:auto;font-size:.7rem;font-weight:700;background:#f0eeea;color:#4a4a4a;padding:.15rem .55rem;border-radius:99px}
.green summary{color:#5a8a5e}
.yellow summary{color:#a37800}
.blue summary{color:#4a7c8a}
.gray summary{color:#5a5a5a}
.red summary{color:#a04a3a}
.dead summary{color:#a04a3a}
.body{padding:.4rem 1.2rem 1.2rem}
.group-h{font-size:.75rem;font-weight:800;color:#4a7c8a;text-transform:uppercase;letter-spacing:.06em;margin:.9rem 0 .35rem}
.group-h:first-child{margin-top:.3rem}
.pagelist{display:grid;grid-template-columns:1fr 1fr;gap:.35rem .9rem;margin-bottom:.4rem}
@media(max-width:760px){.pagelist{grid-template-columns:1fr}}
.pageitem{display:flex;align-items:baseline;gap:.5rem;padding:.3rem .5rem;border-radius:6px;font-size:.8rem;transition:background .15s}
.pageitem:hover{background:#fafaf8}
.pageitem a{color:#1f4e5a;font-weight:700;text-decoration:none;flex:1}
.pageitem a:hover{text-decoration:underline}
.pageitem .url{font-family:'JetBrains Mono','Fira Code',monospace;font-size:.7rem;color:#8a8a8a}
.pageitem .note{font-size:.7rem;color:#8a8a8a;font-style:italic}
p.intro{font-size:.82rem;color:#5a5a5a;margin-bottom:.6rem;line-height:1.55}
p.intro code{font-family:'JetBrains Mono','Fira Code',monospace;font-size:.74rem;background:#f0ede4;padding:.04rem .3rem;border-radius:4px;color:#1f4b37}
table{width:100%;border-collapse:collapse;font-size:.76rem;margin-top:.3rem}
th{text-align:left;background:#f7f6f3;padding:.45rem .55rem;font-weight:700;color:#4a4a4a;border-bottom:2px solid rgba(0,0,0,.06);font-size:.7rem;text-transform:uppercase;letter-spacing:.04em}
td{padding:.45rem .55rem;border-bottom:1px solid rgba(0,0,0,.04);vertical-align:top}
td code{font-family:'JetBrains Mono','Fira Code',monospace;font-size:.72rem;background:#f0ede4;padding:.05rem .35rem;border-radius:4px;color:#1f4b37;word-break:break-word}
td .target{color:#a04a3a;font-weight:700}
td .reco{color:#5a8a5e}
.pill{display:inline-block;padding:.12rem .5rem;border-radius:99px;font-size:.62rem;font-weight:700;background:#dae8ec;color:#1f4e5a;text-transform:uppercase;letter-spacing:.04em;vertical-align:middle}
.pill.ok{background:#dceadd;color:#5a8a5e}
.pill.warn{background:#fde8d0;color:#a05a2b}
.pill.bad{background:#f2ddd8;color:#a04a3a}
.pill.muted{background:#f0eeea;color:#8a8a8a}
.legend{background:#fff;border-radius:10px;padding:.7rem 1rem;font-size:.74rem;color:#5a5a5a;margin-bottom:1rem;border:1px solid rgba(0,0,0,.04)}
.legend strong{color:#1f4e5a}
.legend span{display:inline-block;margin-right:.8rem}
</style>
</head>
<body>
<div class="wrap">
<div class="topbar">
<h1><img src="assets/img/geograsim_t.svg" alt="GeoGraSim"> Sitemap-Audit · vollstaendiger Sweep</h1>
<a href="admin-styleguide.html" class="btn-sm">Styleguide</a>
<a href="admin-modules.html" class="btn-sm">Module</a>
<a href="admin-levels.html" class="btn-sm">Level</a>
<a href="admin-licenses.html" class="btn-sm">Lizenzen</a>
<a href="admin-accounts.html" class="btn-sm">👤 Admins</a>
<a href="admin-lehrer-view.html" class="btn-sm">📊 Lehrer-View Parameter</a>
<a href="index.html" class="btn-sm">Startseite</a>
</div>
<div class="stats">
<div class="stat"><div class="stat-num">70</div><div class="stat-lbl">Pages gesamt (nach Cleanup)</div></div>
<div class="stat warn"><div class="stat-num">3</div><div class="stat-lbl">Tote Links offen*</div></div>
<div class="stat info"><div class="stat-num">8</div><div class="stat-lbl">Orphans offen</div></div>
<div class="stat"><div class="stat-num">26</div><div class="stat-lbl">API-Endpoints</div></div>
</div>
<div style="background:#dff0e6;border-left:4px solid #5a8a5e;border-radius:0 8px 8px 0;padding:12px 16px;margin-bottom:14px;font-size:.9rem">
<strong>✓ Cleanup 2026-06-08:</strong> 11 Top-Level-Orphans nach <code>.dontDeploy/entwurfswerkzeug/toDelete/</code> verschoben
(dashboard.html · game.html · game-3d.html · fluss.html · heli.html · stadt.html · erdbeben.html · energiemix.html · lieferketten.html · regenwald.html · tile-test.html).
JS-Auto-Unlock-Mapping in <code>index.html:813-830</code> aufgeräumt (zeigt jetzt auf <code>schueler.html</code>).
3 echte tote Links gefixt (<code>handbuch.html</code>, <code>quellen-simulation.html</code>, <code>quellen-geografie.html</code>).
<br><br>* Restliche „tote" Links sind tatsächlich Edge-Cases:
Templates (<code>sims/template-*.html</code>),
JS-internes ZIP-Export-Routing (<code>forschung/presentation-*</code>),
pausiertes Sim-Modul (<code>pages/staustufen.php</code>).
Übersicht: <a href="../.dontDeploy/entwurfswerkzeug/" target="_blank">Entwurfswerkzeug</a>.
</div>
<div class="legend">
<strong>Legende:</strong>
<span><span class="pill ok">Nav</span> Hauptnav</span>
<span><span class="pill">Tief</span> tief erreichbar</span>
<span><span class="pill warn">Fkt</span> Funktion (Login, Profil, Admin)</span>
<span><span class="pill muted">Orphan</span> kein Link fuehrt dorthin</span>
<span><span class="pill bad">Tot</span> defekte Page / nicht in Prod</span>
</div>
<p class="intro">
Working dir <code>C:\xampp\htdocs\geograsim\App\</code> · Routing-Stack: <code>.htaccess</code> rewriten alte
<code>.html</code>-URLs auf gleichnamige <code>.php</code>, extension-less Routen auf <code>pages/&lt;name&gt;.php</code>.
Externe Links und reine Anchor-Links (<code>#...</code>) sind nicht Teil dieses Audits.
</p>
<!-- ========== BLOCK A — HAUPTNAVIGATION ========== -->
<details class="section green" open>
<summary>Block A — Hauptnavigation <span class="count">11 Pages</span></summary>
<div class="body">
<p class="intro">Direkt aus der Standard-Topnav (<code>pages/_partials/public_topnav.php</code>) bzw. der Erkundungs-Subnav (<code>pages/_partials/erkundungs_subnav.php</code>) erreichbar.</p>
<div class="group-h">Standard-Topnav</div>
<div class="pagelist">
<div class="pageitem"><a href="index.html">Startseite</a><span class="url">/index.html</span></div>
<div class="pageitem"><a href="index.html#sims">Simulationen-Anker</a><span class="url">/index.html#sims</span></div>
<div class="pageitem"><a href="index.html#fuer-lehrkraefte">Lehrperson-Anker</a><span class="url">/index.html#fuer-lehrkraefte</span></div>
<div class="pageitem"><a href="lehrplan">Lehrplan</a><span class="url">/lehrplan</span></div>
<div class="pageitem"><a href="forschung/">Forschung-Uebersicht</a><span class="url">/forschung/</span></div>
<div class="pageitem"><a href="handbuch.html">Handbuch</a><span class="url">/handbuch.html</span></div>
<div class="pageitem"><a href="kontakt.html">Kontakt</a><span class="url">/kontakt.html</span></div>
<div class="pageitem"><a href="login.html">Anmelden</a><span class="url">/login.html</span></div>
</div>
<div class="group-h">Erkundungs-Subnav</div>
<div class="pagelist">
<div class="pageitem"><a href="lehrplan">Lehrplan</a><span class="url">/lehrplan</span></div>
<div class="pageitem"><a href="glossar">Glossar</a><span class="url">/glossar</span></div>
<div class="pageitem"><a href="simulationen">Simulationen-Liste</a><span class="url">/simulationen</span></div>
</div>
<div class="group-h">Footer (Landingpage)</div>
<div class="pagelist">
<div class="pageitem"><a href="impressum.html">Impressum</a><span class="url">/impressum.html</span></div>
<div class="pageitem"><a href="datenschutz.html">Datenschutz</a><span class="url">/datenschutz.html</span></div>
<div class="pageitem"><a href="barrierefreiheit.html">Barrierefreiheit</a><span class="url">/barrierefreiheit.html</span></div>
</div>
</div>
</details>
<!-- ========== BLOCK B — TIEF ERREICHBAR ========== -->
<details class="section yellow" open>
<summary>Block B — tief erreichbar <span class="count">38 Pages</span></summary>
<div class="body">
<p class="intro">Von Nav aus &gt; 1 Klick: Modul-Detailseiten, Simulationen, Forschungs-Artikel, Glossar-Eintrag.</p>
<div class="group-h">Modul-Detailseiten (<code>modul-&lt;slug&gt;</code><code>pages/modul-*.php</code>)</div>
<div class="pagelist">
<div class="pageitem"><a href="modul-klima">Klima</a><span class="url">/modul-klima</span></div>
<div class="pageitem"><a href="modul-klima-3d">Klima 3D</a><span class="url">/modul-klima-3d</span></div>
<div class="pageitem"><a href="modul-fluss">Fluss</a><span class="url">/modul-fluss</span></div>
<div class="pageitem"><a href="modul-heli">Heli</a><span class="url">/modul-heli</span></div>
<div class="pageitem"><a href="modul-sonnensystem">Sonnensystem</a><span class="url">/modul-sonnensystem</span></div>
<div class="pageitem"><a href="modul-busfahrt">Busfahrt</a><span class="url">/modul-busfahrt</span></div>
<div class="pageitem"><a href="modul-farmer">Farmer</a><span class="url">/modul-farmer</span></div>
<div class="pageitem"><a href="modul-eu-werkstatt">EU-Werkstatt</a><span class="url">/modul-eu-werkstatt</span></div>
<div class="pageitem"><a href="modul-energiemanager">Energiemanager</a><span class="url">/modul-energiemanager</span></div>
<div class="pageitem"><a href="modul-logistik">Logistik</a><span class="url">/modul-logistik</span></div>
<div class="pageitem"><a href="modul-stadt">Stadt</a><span class="url">/modul-stadt</span></div>
<div class="pageitem"><a href="modul-regenwald">Regenwald</a><span class="url">/modul-regenwald</span></div>
<div class="pageitem"><a href="modul-erdbeben">Erdbeben</a><span class="url">/modul-erdbeben</span></div>
<div class="pageitem"><a href="modul-energiemix">Energiemix</a><span class="url">/modul-energiemix</span></div>
<div class="pageitem"><a href="modul-lieferketten">Lieferketten</a><span class="url">/modul-lieferketten</span></div>
<div class="pageitem"><a href="modul-staustufen">Staustufen</a><span class="url">/modul-staustufen</span></div>
</div>
<div class="group-h">Simulationen (Spiel-Wrapper)</div>
<div class="pagelist">
<div class="pageitem"><a href="klima-2d">Klima 2D</a><span class="url">/klima-2d</span></div>
<div class="pageitem"><a href="klima-3d">Klima 3D</a><span class="url">/klima-3d</span></div>
<div class="pageitem"><a href="fluss">Fluss</a><span class="url">/fluss</span></div>
<div class="pageitem"><a href="heli-game">Heli-Game</a><span class="url">/heli-game</span></div>
<div class="pageitem"><a href="heli-uebersicht">Heli-Uebersicht</a><span class="url">/heli-uebersicht</span></div>
<div class="pageitem"><a href="sonnensystem">Sonnensystem</a><span class="url">/sonnensystem</span></div>
<div class="pageitem"><a href="busfahrt">Busfahrt</a><span class="url">/busfahrt</span></div>
<div class="pageitem"><a href="fluggesellschaft">Fluggesellschaft</a><span class="url">/fluggesellschaft</span></div>
<div class="pageitem"><a href="farmer">Farmer</a><span class="url">/farmer</span></div>
<div class="pageitem"><a href="eu-werkstatt">EU-Werkstatt</a><span class="url">/eu-werkstatt</span></div>
<div class="pageitem"><a href="energiemanager">Energiemanager</a><span class="url">/energiemanager</span></div>
<div class="pageitem"><a href="logistik">Logistik</a><span class="url">/logistik</span></div>
<div class="pageitem"><a href="weltkueche">Weltkueche</a><span class="url">/weltkueche</span></div>
<div class="pageitem"><a href="staustufen">Staustufen</a><span class="url">/staustufen</span></div>
<div class="pageitem"><a href="pages/vulkan.php">Vulkan (beta, nur PHP-Pfad)</a><span class="url">/pages/vulkan.php</span></div>
<div class="pageitem"><a href="pages/wal.php">Wal (beta, nur PHP-Pfad)</a><span class="url">/pages/wal.php</span></div>
</div>
<div class="group-h">Forschungs-Bereich</div>
<div class="pagelist">
<div class="pageitem"><a href="forschung/lernen-durch-simulation.html">Lernen durch Simulation</a><span class="url">/forschung/lernen-durch-simulation.html</span></div>
<div class="pageitem"><a href="forschung/geografie-didaktik.html">Geografie-Didaktik</a><span class="url">/forschung/geografie-didaktik.html</span></div>
<div class="pageitem"><a href="forschung/quellen-simulation.html">Quellen Simulation</a><span class="url">/forschung/quellen-simulation.html</span></div>
<div class="pageitem"><a href="forschung/quellen-geografie.html">Quellen Geografie</a><span class="url">/forschung/quellen-geografie.html</span></div>
<div class="pageitem"><a href="forschung/literatur.php">Literatur-Uebersicht</a><span class="url">/forschung/literatur.php</span></div>
<div class="pageitem"><a href="forschung/presentation-geografie/">Praesentation Geografie</a><span class="url">/forschung/presentation-geografie/</span></div>
<div class="pageitem"><a href="forschung/presentation-simulation/">Praesentation Simulation</a><span class="url">/forschung/presentation-simulation/</span></div>
</div>
<div class="group-h">Sonstige tief erreichbare Seiten</div>
<div class="pagelist">
<div class="pageitem"><a href="pages/mindmap.php">Glossar-Mindmap</a><span class="url">/pages/mindmap.php</span> <span class="note">(verlinkt aus glossar.php)</span></div>
<div class="pageitem"><a href="glossar?term=klimawandel">Glossar-Eintrag (Beispiel)</a><span class="url">/glossar?term=&lt;slug&gt;</span></div>
<div class="pageitem"><a href="glossar?module=klima">Glossar gefiltert</a><span class="url">/glossar?module=&lt;id&gt;</span></div>
<div class="pageitem"><a href="lehrplan?module=klima">Lehrplan gefiltert</a><span class="url">/lehrplan?module=&lt;id&gt;</span></div>
</div>
</div>
</details>
<!-- ========== BLOCK C — FUNKTIONSSEITEN ========== -->
<details class="section blue" open>
<summary>Block C — Funktionsseiten <span class="count">9 Pages</span></summary>
<div class="body">
<p class="intro">Login / Cockpits / Admin-Tools. Nicht in der oeffentlichen Nav, aber legitime Ziele nach Anmeldung.</p>
<div class="group-h">Auth &amp; Cockpits</div>
<div class="pagelist">
<div class="pageitem"><a href="login.html">Login</a><span class="url">/login.html</span></div>
<div class="pageitem"><a href="teacher.html">Lehrperson-Cockpit</a><span class="url">/teacher.html</span></div>
<div class="pageitem"><a href="schueler.html">Schueler-Cockpit</a><span class="url">/schueler.html</span></div>
<div class="pageitem"><a href="profil.html">Profil</a><span class="url">/profil.html</span></div>
</div>
<div class="group-h">Admin (Login-geschuetzt)</div>
<div class="pagelist">
<div class="pageitem"><a href="admin.html">Admin-Login</a><span class="url">/admin.html</span></div>
<div class="pageitem"><a href="admin-licenses.html">Lizenzen</a><span class="url">/admin-licenses.html</span></div>
<div class="pageitem"><a href="admin-modules.html">Module</a><span class="url">/admin-modules.html</span></div>
<div class="pageitem"><a href="admin-levels.html">Level / Waypoints</a><span class="url">/admin-levels.html</span></div>
<div class="pageitem"><a href="admin-styleguide.html">Styleguide</a><span class="url">/admin-styleguide.html</span></div>
<div class="pageitem"><a href="admin-lehrer-view.html">Lehrer-View Parameter-Überblick</a><span class="url">/admin-lehrer-view.html</span></div>
</div>
</div>
</details>
<!-- ========== BLOCK D — ORPHANS ========== -->
<details class="section gray" open>
<summary>Block D — Orphans (zur Entscheidung) <span class="count">19 Pages</span></summary>
<div class="body">
<p class="intro">Pages existieren, aber kein interner Link aus den Block-A/B-Pages fuehrt dorthin. Empfehlung: pruefen ob loeschen, in Nav aufnehmen, oder als „Funktion" behalten.</p>
<table>
<thead>
<tr><th>Page</th><th>URL</th><th>Vermutete Rolle</th><th>Empfehlung</th></tr>
</thead>
<tbody>
<tr><td><code>game.html</code></td><td><a href="game.html">/game.html</a></td><td>Alter Klima-2D-Standalone (Pre-Wrapper)</td><td class="reco">Loeschen — durch <code>klima-2d</code> ersetzt; Top-Level-Datei wird nur noch von JS in <code>index.html</code> als Auto-Unlock-Ziel referenziert</td></tr>
<tr><td><code>game-3d.html</code></td><td><a href="game-3d.html">/game-3d.html</a></td><td>Alter Klima-3D-Standalone</td><td class="reco">Loeschen — durch <code>klima-3d</code> ersetzt</td></tr>
<tr><td><code>fluss.html</code></td><td><a href="fluss.html">/fluss.html</a></td><td>Alter Fluss-Standalone</td><td class="reco">Loeschen — durch <code>fluss</code> (pages/fluss.php) ersetzt</td></tr>
<tr><td><code>erdbeben.html</code></td><td><a href="erdbeben.html">/erdbeben.html</a></td><td>Alter Erdbeben-Standalone (geplant)</td><td class="reco">Behalten als Platzhalter (von <code>index.html</code>-Auto-Unlock referenziert) oder JS-Auto-Unlock entfernen</td></tr>
<tr><td><code>energiemix.html</code></td><td><a href="energiemix.html">/energiemix.html</a></td><td>Alter Energiemix-Standalone (geplant)</td><td class="reco">Behalten — vom JS-Auto-Unlock referenziert; oder JS bereinigen</td></tr>
<tr><td><code>lieferketten.html</code></td><td><a href="lieferketten.html">/lieferketten.html</a></td><td>Alter Lieferketten-Standalone</td><td class="reco">Behalten — JS-Auto-Unlock-Ziel</td></tr>
<tr><td><code>regenwald.html</code></td><td><a href="regenwald.html">/regenwald.html</a></td><td>Alter Regenwald-Standalone</td><td class="reco">Behalten — JS-Auto-Unlock-Ziel</td></tr>
<tr><td><code>stadt.html</code></td><td><a href="stadt.html">/stadt.html</a></td><td>Alter Stadt-Standalone</td><td class="reco">Loeschen — geplantes Modul, nirgends verlinkt</td></tr>
<tr><td><code>stadt-editor.html</code></td><td><a href="stadt-editor.html">/stadt-editor.html</a></td><td>Stadt-Editor (Dev-Tool)</td><td class="reco">Pruefen — wenn noch im Einsatz, in Admin-Bereich verlinken; sonst loeschen</td></tr>
<tr><td><code>sim.html</code></td><td><a href="sim.html">/sim.html</a></td><td>Generischer Sim-Shell-Wrapper (legacy)</td><td class="reco">Pruefen — von <code>/sim</code>-Routen referenziert; ggf. konsolidieren</td></tr>
<tr><td><code>heli.html</code></td><td><a href="heli.html">/heli.html</a></td><td>Alter Heli-Standalone</td><td class="reco">Loeschen — durch <code>heli-game</code> abgeloest. Achtung: <code>admin-levels.html</code> Z.85 linkt noch auf <code>heli</code> (extensionless), das landet ueber .htaccess in <code>pages/heli.php</code> → Redirect auf <code>heli-game</code>. Loeschen ist OK.</td></tr>
<tr><td><code>ueber.html</code></td><td><a href="ueber.html">/ueber.html</a></td><td>Redirect auf Handbuch</td><td class="reco">Behalten — wird von Footern (lehrplan, simulationen, modul_detail, forschung) referenziert, leitet auf Handbuch weiter</td></tr>
<tr><td><code>handbuch.html</code></td><td><a href="handbuch.html">/handbuch.html</a></td><td>Handbuch — Block A, kein Orphan</td><td class="muted">— eintrag fehlerhaft, bitte ignorieren —</td></tr>
<tr><td><code>dashboard.html</code></td><td><a href="dashboard.html">/dashboard.html</a></td><td>Demo-Mockup („Daten sind erfunden")</td><td class="reco">Loeschen — kein Backend, irrefuehrend fuer Lehrpersonen; ersetzt durch <code>teacher.html</code></td></tr>
<tr><td><code>stilauswahl.html</code></td><td><a href="stilauswahl.html">/stilauswahl.html</a></td><td>Vermutlich altes Design-Auswahl-Tool</td><td class="reco">Loeschen oder in Styleguide migrieren</td></tr>
<tr><td><code>tile-test.html</code></td><td><a href="tile-test.html">/tile-test.html</a></td><td>Test-Tool fuer Karten-Tiles</td><td class="reco">Loeschen aus Prod (oder unter <code>.LocalDeveloperTools/</code> verschieben)</td></tr>
<tr><td><code>pages/weltkueche-uebersicht.html</code></td><td><a href="pages/weltkueche-uebersicht.html">/pages/weltkueche-uebersicht.html</a></td><td>Standalone-Page der Weltkueche</td><td class="reco">Pruefen — wer linkt drauf? Ggf. unter <code>modul-weltkueche</code> aufnehmen</td></tr>
<tr><td><code>impressum.html</code> (datei)</td><td></td><td><code>impressum.html</code>-Datei wurde geloescht; <code>.html</code>-URL funktioniert via .htaccess-Rewrite</td><td class="muted">OK — Auflistung nur informativ</td></tr>
<tr><td><code>forschung/presentation-*/stile.html</code></td><td><a href="forschung/presentation-geografie/stile.html">geo</a> · <a href="forschung/presentation-simulation/stile.html">sim</a></td><td>Stil-Editor-Seiten in den Praesentationen</td><td class="reco">Behalten — von der jeweiligen Praesentation aus verlinkt</td></tr>
</tbody>
</table>
</div>
</details>
<!-- ========== BLOCK E — TOTE LINKS ========== -->
<details class="section dead" open>
<summary>Block E — TOTE LINKS <span class="count">13 Fundstellen</span></summary>
<div class="body">
<p class="intro">Interne Links, deren Ziel nicht (mehr) existiert oder fehlerhaft ist. Sortiert nach Schwere.</p>
<table>
<thead>
<tr><th>Datei / Zeile</th><th>Linktext</th><th>Ziel</th><th>Empfehlung</th></tr>
</thead>
<tbody>
<tr>
<td><code>forschung/geografie-didaktik.html:576</code></td>
<td>„Online-Version"</td>
<td><code class="target">HIER-LINK-EINFUEGEN</code></td>
<td class="reco">Platzhalter ersetzen oder Link entfernen</td>
</tr>
<tr>
<td><code>forschung/lernen-durch-simulation.html:675</code></td>
<td>„Online-Version"</td>
<td><code class="target">HIER-LINK-EINFUEGEN</code></td>
<td class="reco">Platzhalter ersetzen oder Link entfernen</td>
</tr>
<tr>
<td><code>forschung/presentation-geografie/index.html:1335-1337</code></td>
<td>„Artikel lesen / Quelldatenbank / Praesentation"</td>
<td><code class="target">standalone.html, quellen.html, presentation/index.html</code></td>
<td class="reco">Pfade korrigieren auf <code>../geografie-didaktik.html</code>, <code>../quellen-geografie.html</code>, sich-selbst-Link entfernen</td>
</tr>
<tr>
<td><code>forschung/presentation-simulation/index.html:1363-1365</code></td>
<td>„Artikel lesen / Quelldatenbank / Praesentation"</td>
<td><code class="target">standalone.html, quellen.html, presentation/index.html</code></td>
<td class="reco">Pfade korrigieren auf <code>../lernen-durch-simulation.html</code>, <code>../quellen-simulation.html</code>, sich-selbst-Link entfernen</td>
</tr>
<tr>
<td><code>handbuch.html:172</code></td>
<td>„Literaturverzeichnis"</td>
<td><code class="target">forschung/literatur.html</code></td>
<td class="reco">Fixen auf <code>forschung/literatur.php</code> oder <code>forschung/</code> (Datei <code>literatur.html</code> existiert nicht)</td>
</tr>
<tr>
<td><code>forschung/quellen-simulation.html:248</code></td>
<td>„← Zum Artikel"</td>
<td><code class="target">index.html</code></td>
<td class="reco">Fixen auf <code>lernen-durch-simulation.html</code> (innerhalb von <code>forschung/</code> gibt es kein <code>index.html</code>, nur <code>index.php</code>; gemeint ist der Artikel)</td>
</tr>
<tr>
<td><code>forschung/quellen-geografie.html:253</code></td>
<td>„← Zum Artikel"</td>
<td><code class="target">index.html</code></td>
<td class="reco">Fixen auf <code>geografie-didaktik.html</code></td>
</tr>
<tr>
<td><code>sims/template-student-dashboard.html:175</code></td>
<td>„Dashboard"</td>
<td><code class="target">../schueler</code></td>
<td class="reco">Template-only-Datei — wenn als Snippet kopiert wird, Pfad zu absolut <code>/schueler</code> aendern oder Beispiel ist OK so</td>
</tr>
<tr>
<td><code>sims/template-teacher-dashboard.html:231</code></td>
<td>„Dashboard"</td>
<td><code class="target">../teacher</code></td>
<td class="reco">Template-only — Hinweis dass beim Kopieren Pfade absolut werden muessen</td>
</tr>
<tr>
<td><code>pages/staustufen.php:96</code></td>
<td>„modul-staustufen"</td>
<td><code class="target">{$cockpit}</code> (Text-Link zeigt „modul-staustufen" an, Ziel ist aber Cockpit)</td>
<td class="reco">Linkziel korrigieren: <code>$bp . '/modul-staustufen'</code> statt <code>$cockpit</code></td>
</tr>
<tr>
<td><code>barrierefreiheit.php:148</code></td>
<td>„kontakt.html"</td>
<td><code>kontakt.html</code> (OK via Rewrite)</td>
<td class="muted">OK — funktioniert ueber .htaccess-Rewrite. Kein Fix noetig.</td>
</tr>
<tr>
<td><code>sims/weltkueche/scripts/build-production-data.php:1784</code></td>
<td>„Lehrer-Cockpit oeffnen"</td>
<td><code class="target">./teacher.php</code></td>
<td class="reco">Im Generator-Skript Pfad pruefen — Output landet ggf. auf einer Seite, wo <code>./teacher.php</code> nicht existiert. Zielpfad gegen Output-Verzeichnis abgleichen.</td>
</tr>
<tr>
<td><code>.LocalDeveloperTools/heli/audio-editor.php:142</code></td>
<td>„Drehbuch / Cockpit"</td>
<td><code class="target">/heli-missionen</code>, <code>/sim</code></td>
<td class="muted">Dev-only — <code>/heli-missionen</code> existiert nicht als Route (nur als <code>.LocalDeveloperTools/heli/missionen.php</code>); wenn Tool genutzt wird, Routing-Eintrag ergaenzen</td>
</tr>
</tbody>
</table>
<p class="intro" style="margin-top:.9rem"><strong>Hinweis zu „Cockpit"-Links in <code>pages/&lt;sim&gt;.php</code>-Wrappern:</strong>
Diese setzen ueber String-Replace die internen <code>../../schueler</code>- und <code>/schueler</code>-Pfade im injizierten Spiel-HTML korrekt auf den Cockpit-Pfad. Die rohen Pfade in den <code>sims/&lt;sim&gt;/game.html</code>-Dateien (etwa <code>App/sims/farmer/game.html:492</code> <code>/schueler</code>) sind deshalb intentional — nur wenn das Spiel ausserhalb des Wrappers direkt geoeffnet wird, brechen sie.</p>
</div>
</details>
<!-- ========== BLOCK F — TOTE PAGES ========== -->
<details class="section red" open>
<summary>Block F — Tote Pages (gehoeren nicht in Prod) <span class="count">3 Pages</span></summary>
<div class="body">
<p class="intro">Existierende Pages, die in der Produktion nicht ausgeliefert werden sollten.</p>
<table>
<thead>
<tr><th>Page</th><th>URL</th><th>Begruendung</th><th>Empfehlung</th></tr>
</thead>
<tbody>
<tr>
<td><code>dashboard.html</code></td>
<td><a href="dashboard.html">/dashboard.html</a></td>
<td>Demo-Mockup mit Banner „alle Daten sind erfunden, kein Backend"</td>
<td class="reco">Aus Prod entfernen — ersetzt durch <code>teacher.html</code></td>
</tr>
<tr>
<td><code>tile-test.html</code></td>
<td><a href="tile-test.html">/tile-test.html</a></td>
<td>Reines Test-Tool fuer Karten-Tiles</td>
<td class="reco">Loeschen oder nach <code>.LocalDeveloperTools/</code> verschieben</td>
</tr>
<tr>
<td><code>sims/klima/plane-test.html</code></td>
<td><a href="sims/klima/plane-test.html">/sims/klima/plane-test.html</a></td>
<td>Plane-Material-Test, nicht produktiv</td>
<td class="reco">Loeschen oder unter <code>_archive</code></td>
</tr>
<tr>
<td><code>sims/heli/radio-test.html, probe-voice.html, routes.html, bewertung.html, start.html, landing.html</code></td>
<td>diverse</td>
<td>Helper-Pages der Heli-Sim — direkter Browseraufruf nicht vorgesehen</td>
<td class="reco">Pruefen — wenn nicht via JS geladen, kennzeichnen / archivieren</td>
</tr>
</tbody>
</table>
</div>
</details>
<!-- ========== INFO: API + DEV-TOOLS ========== -->
<details class="section gray">
<summary>Anhang — API-Endpoints (informativ) <span class="count">26 Endpoints</span></summary>
<div class="body">
<p class="intro">Reine JSON-APIs, kein UI. Geroutet ueber <code>index.php</code><code>/api/&lt;name&gt;</code><code>php/api/&lt;name&gt;.php</code>.</p>
<div class="pagelist">
<div class="pageitem"><span class="url">/api/admin</span></div>
<div class="pageitem"><span class="url">/api/admin-modules</span></div>
<div class="pageitem"><span class="url">/api/assessment</span></div>
<div class="pageitem"><span class="url">/api/assignments</span></div>
<div class="pageitem"><span class="url">/api/auth</span></div>
<div class="pageitem"><span class="url">/api/classes</span></div>
<div class="pageitem"><span class="url">/api/country</span></div>
<div class="pageitem"><span class="url">/api/dashboard</span></div>
<div class="pageitem"><span class="url">/api/glossar</span></div>
<div class="pageitem"><span class="url">/api/heli-timeline</span></div>
<div class="pageitem"><span class="url">/api/levels</span></div>
<div class="pageitem"><span class="url">/api/licenses</span></div>
<div class="pageitem"><span class="url">/api/live</span></div>
<div class="pageitem"><span class="url">/api/logistik-analytics</span></div>
<div class="pageitem"><span class="url">/api/logistik-saves</span></div>
<div class="pageitem"><span class="url">/api/logistik-sessions</span></div>
<div class="pageitem"><span class="url">/api/modules</span></div>
<div class="pageitem"><span class="url">/api/profile</span></div>
<div class="pageitem"><span class="url">/api/progress</span></div>
<div class="pageitem"><span class="url">/api/results</span></div>
<div class="pageitem"><span class="url">/api/saves</span></div>
<div class="pageitem"><span class="url">/api/sessions</span></div>
<div class="pageitem"><span class="url">/api/students</span></div>
<div class="pageitem"><span class="url">/api/tickets</span></div>
<div class="pageitem"><span class="url">/api/waypoints</span></div>
</div>
</div>
</details>
<details class="section gray">
<summary>Anhang — LocalDeveloperTools (nur lokal) <span class="count">9 Pages</span></summary>
<div class="body">
<p class="intro">Unter <code>App/.LocalDeveloperTools/</code> — soll NICHT in Production deployt werden.</p>
<div class="pagelist">
<div class="pageitem"><span class="url">/.LocalDeveloperTools/index.php</span></div>
<div class="pageitem"><span class="url">/.LocalDeveloperTools/heli/audio-editor.php</span></div>
<div class="pageitem"><span class="url">/.LocalDeveloperTools/heli/audio-matrix.html</span></div>
<div class="pageitem"><span class="url">/.LocalDeveloperTools/heli/audio-overview.html</span></div>
<div class="pageitem"><span class="url">/.LocalDeveloperTools/heli/drehbuch.php</span></div>
<div class="pageitem"><span class="url">/.LocalDeveloperTools/heli/missionen.php</span></div>
<div class="pageitem"><span class="url">/.LocalDeveloperTools/heli/playlist.php</span></div>
<div class="pageitem"><span class="url">/.LocalDeveloperTools/shared/kosten-hochrechnung.html</span></div>
<div class="pageitem"><span class="url">/.LocalDeveloperTools/shared/marktplatz-einreichung.php</span></div>
</div>
</div>
</details>
</div>
</body>
</html>