# ADR-0020: Produktname „Flotten-Management" und zweistufige Navigation **Status:** Beschlossen **Datum:** 26.08.2026 ## Kontext ADR-0018 hatte die Umbenennung des Navigationseintrags „Geräte" zu „Flotte" beschlossen, aber die Frage offengelassen, ob auch der Produktname selbst („Kundenplattform", bislang nur spontan gewählt) angepasst werden soll. Der Nutzer entschied sich für „Flotten-Management" als sprechenderen Namen. Parallel dazu war die bestehende Navigation eine einzige flache horizontale Liste (`base.html`) ohne jede Gruppierung — mit wachsender Seitenzahl (aktuell Flotte, Struktur, Gruppen, Installationsmedium, Organisation, plus Admin für Superuser) wurde das unübersichtlich. Insbesondere lagen „Struktur" (Organisationseinheiten) und „Gruppen" als gleichrangige Nachbarn neben „Organisation", obwohl beide inhaltlich steuern, welche Merkmale ein Gerät über seine OE-/Gruppen-Zugehörigkeit bekommt (siehe ADR-0012) — organisatorisch näher an „Organisation" als eigenständige Themen. ## Entscheidung **Produktname:** Nur das sichtbare Label wird geändert — die Navigationsmarke im Header (`base.html`) und der (aktuell ohnehin dormante, da `/docs` deaktivierte, siehe Sicherheits-Review 25.08.2026) FastAPI-Titel heißen jetzt „Flotten-Management". Interne technische Namen bleiben bewusst unverändert: Environment-Variablen-Präfix `KUNDENPLATTFORM_*`, systemd-Service/ -User/-Group `kundenplattform`, Verzeichnis `/opt/kundenplattform`, Git-Repo-Name, Postgres-Datenbankname, Cookie-Name `kundenplattform_session`. Begründung: keiner dieser Namen ist je für einen Kunden sichtbar, eine komplette technische Umbenennung wäre ein eigenes Migrationsprojekt mit Deploy-Risiko (koordinierter Neustart, Pfad-/Secret-Umzug) für rein kosmetischen Nutzen. **Navigation:** von einer flachen horizontalen Liste auf eine zweistufige Struktur umgestellt: eine vertikale Primär-Spalte mit den Hauptkategorien (Flotte, Organisation, Installationsmedium, Admin — letzteres weiterhin nur für `is_superuser`), und bei Kategorien mit mehreren Unterseiten eine horizontale Sekundär-Nav im Hauptbereich. „Struktur" und „Gruppen" werden beide Unterpunkte von „Organisation" (neben der bestehenden Stammdaten/Konten-Seite selbst). Die aktive Kategorie/Unterseite wird rein aus dem URL-Pfad-Präfix abgeleitet (`base.html`, Jinja-`{% set %}` auf `request.url.path`) — keine Router-/Kontext-Änderungen in den einzelnen Seiten nötig, URLs bleiben unverändert (`/struktur`, `/gruppen` etc.), reine Darstellungsänderung. Der interne Admin-Bereich (`admin/layout.html`) hatte bereits eine eigene horizontale Sub-Nav (Technik/Datenbank, Flotte, Flows, Kunden) — dieses Muster diente als Vorbild für die neue Sekundär-Nav und wurde unverändert übernommen (es erbt weiterhin von `base.html` und sitzt jetzt konsistent unter derselben Primär-Spalte). Layout technisch über ein schlankes eigenes Flexbox-CSS in `base.html` umgesetzt (Pico CSS bringt kein Sidebar-Pattern mit) — nutzt ausschließlich Picos bestehende CSS-Variablen (`--pico-primary-background` etc.), damit automatisches Dark/Light-Mode-Verhalten erhalten bleibt. Auf schmalen Bildschirmen (`max-width: 768px`) fällt die Sidebar per Media Query auf eine horizontale Liste über dem Inhalt zurück. ## Konsequenzen Reine Template-/CSS-Änderung (`base.html`, `app.py`-Titel) — keine Datenbank-, API- oder Routing-Änderung, kein Migrationsbedarf, keine bestehenden Links/Lesezeichen brechen. Lokal verifiziert: alle 29 Templates parsen weiterhin fehlerfrei (Jinja- Syntaxcheck), `base.html` mit gemocktem Request-Objekt für jeden Primär-/Sekundär-Pfad gerendert (korrekte Aktiv-Markierung, Sekundär-Nav erscheint nur unter „Organisation"), und eine Stichprobe realer Seiten (Geräteliste, Organisation, Struktur, Gruppen, Admin-Kunden-Index) rendert mit dem neuen Layout ohne Fehler. Live auf anode verifiziert: echter Login über die WLAN-Test-Fixture, Marke „Flotten-Management" und korrekte Primär-/Sekundär-Nav-Zustände (`/geraete`, `/struktur`, `/gruppen`, `/organisation`, `/installationsmedium`) bestätigt. Wie schon in ADR-0018 festgehalten: sollte künftig auch der übrige Sprachgebrauch der Anwendung (Seitentitel, Tabellenüberschriften, Fehlermeldungen) auf „Flotten-Management" umgestellt werden sollen, ist das eine eigene, hier nicht vorweggenommene Folgeentscheidung. ## Nachtrag 26.08.2026: öffentliche Startseite angeglichen Die separate, eigenständige öffentliche Info-/Landingpage (`tuxflotte.de`/`www.tuxflotte.de`, statisches HTML, gehostet auf einem dritten Host außerhalb von anode — neues Repo `admin/infoseite`, siehe `README`/Commit-Historie dort) stammte aus einer früheren Phase und trug noch den Arbeitstitel „Workspace Lifecycle Management" — kollidierte mit der oben getroffenen Namensentscheidung. Titel/Überschrift jetzt auf „Tuxflotte – Flottenmanagement für Linux-Computer" vereinheitlicht, dazu ein „Anmelden"-Link zur künftigen `flotten-management.tuxflotte.de`- Subdomain ergänzt (der bislang komplett fehlte). Ausführlicherer Seiteninhalt (Produktbeschreibung, Screenshots) bewusst vertagt — die Plattform selbst verändert sich noch zu sehr, um jetzt schon stabile Marketing-Inhalte zu rechtfertigen.