Build all apps from Markdown content; Compose Desktop replaces GTK on Linux and Windows

- content/ + scripts/build-content.py produce content.json for every app
- stable lesson IDs with one-time progress migration (Swift, Kotlin)
- shared answer-check tests (tests/answers.json) for Kotlin and Swift
- android/desktop: Compose app with updater, speech and GTK progress import
- CI packages AppImage and Windows zip with ProGuard, runs the tests

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
pepaskopec-blip 2026-10-09 20:40:37 +02:00
commit c3bc32113b
964 changed files with 57285 additions and 1156 deletions

View file

@ -0,0 +1,6 @@
---
nazev: An address plan
popis: Networks are designed before the first cable is patched.
nazev_cviceni: Quiz: An address plan
nadpis_kvizu: Quiz on An address plan
---

View file

@ -0,0 +1,71 @@
---
id: site-4-adresni-plan
puvodni: net4.1
nazev: Adresní plán
popis: Sítě se navrhují dřív, než se zapojí první kabel.
nazev_cviceni: Kvíz: Adresní plán
nadpis_kvizu: Kvíz k tématu Adresní plán
---
# Výklad
## Každá VLAN má svůj prefix
*Rozsahy*
- Nejdřív spočítejte stanice, tiskárny, AP a rezervu.
- Brána, síťová a broadcast adresa se do stanic nepočítají.
- Sousední VLAN nemají mít překryv.
- Dokument říká, která čísla jsou volná.
> Tip: nenechávejte v každé síti jen čtyři volné adresy.
## Škola není jedna velká síť
*Členění*
- Učebny, správa, servery, hosté a telefony patří odděleně.
- Stejný řád čísel ve všech budovách se líp pamatuje.
- Souhrn tras na páteři zmenší tabulku.
- Výjimka pro jednu tiskárnu se má zapsat, ne jen zapamatovat.
> Tip: /16 na celou budovu se snadno spravuje a špatně izoluje.
## Plán, který jde rozšířit
*Změna*
- Nechte v páteřním rozsahu díry pro další sítě.
- Přechod na nový prefix znamená DHCP, DNS, brány i firewall.
- IPv6 prefix se plánuje stejně vědomě, ne jako dodatek.
- Tabulka adres je součást maturity i běžného provozu.
> Tip: když přidáte budovu, neměli byste přečíslovat celou školu.
# Kvíz
## Co se v síti /24 nedá přiřadit stanici?
- [x] Adresa sítě a broadcast
- První použitelná adresa
- Adresa brány, pokud ji stanice nemá mít
- Adresa s lichým posledním oktetem
> Krajní adresy mají zvláštní význam. Brána se stanicím také nedává dvakrát.
## Proč nerozdat celé škole jednu velkou síť?
- [x] Špatně se izoluje porucha i provoz
- IPv4 to zakazuje
- Switch umí jen 8 adres
- DNS pak nejde spustit
> Menší sítě se líp hlídají a míň se ruší broadcastem.
## K čemu je souhrn tras?
- [x] Jedna trasa pokryje víc menších sítí
- Smaže VLAN
- Nahradí NAT
- Zapne WPA3
> Páteř nemusí znát každou učebnu zvlášť.
## Co patří do adresního plánu?
- [x] Prefix, VLAN, brána a k čemu síť je
- Jen heslo Wi-Fi
- Typ procesoru serveru
- Seznam učitelů
> Bez účelu sítě je tabulka jen sloupec čísel.

View file

@ -0,0 +1,6 @@
---
nazev: Redundancy
popis: A second path that is actually used.
nazev_cviceni: Quiz: Redundancy
nadpis_kvizu: Quiz on Redundancy
---

View file

@ -0,0 +1,71 @@
---
id: site-4-redundance
puvodni: net4.2
nazev: Redundance
popis: Druhá cesta, která se opravdu použije.
nazev_cviceni: Kvíz: Redundance
nadpis_kvizu: Kvíz k tématu Redundance
---
# Výklad
## Dva boxy nestačí
*Dvojice*
- Redundance chce druhou cestu i protokol, který ji hlídá.
- STP řeší smyčku na druhé vrstvě.
- Na třetí vrstvě zálohu hlídá směrování nebo HSRP a příbuzné protokoly.
- Jedna brána v DHCP znamená, že pád routeru odstřihne všechny.
> Tip: dva switche se stejnou konfigurací nejsou záloha, dokud provoz neumí přejít.
## Virtuální adresa
*Brána*
- Dva směrovače sdílejí jednu adresu brány.
- Aktivní drží provoz, druhý čeká.
- Když aktivní ztichne, druhý adresu převezme.
- Stanice nemusí dostat nové DHCP.
> Tip: stanice mají jako bránu virtuální adresu, ne jednu fyzickou krabici.
## Nevyzkoušená záloha je teorie
*Zkouška*
- Ověřte, že záložní cesta opravdu přenáší data.
- Sledujte, za jak dlouho se provoz vrátí.
- Záložní zdroj má jinou pojistku a jinou fázi, když to jde.
- Zápis z zkoušky říká, co se má stát příště.
> Tip: vytáhněte kabel v okně, kdy smíte, ne až při maturitní písemce.
# Kvíz
## Proč dva stejné routery samy o sobě nestačí?
- [x] Stanice musí mít kam přejít, když jeden ztichne
- IPv4 povoluje jen jeden router v budově
- Druhý router maže VLAN
- STP dva routery zakazuje
> Bez společné nebo přepínané brány počítače zůstanou na mrtvé adrese.
## Co stanice používá při protokolu virtuální brány?
- [x] Virtuální adresu, ne konkrétní krabici
- Svou vlastní MAC jako bránu
- Adresu DNS
- Broadcast 255.255.255.255 jako další skok
> Převzetí adresy stanice nepozná jako výměnu DHCP.
## Kdy se záloha ověřuje?
- [x] Nanečisto, dřív než o ni opřete provoz
- Až když síť leží
- Jen na papíře
- Záloha se ověřovat nemá, ať se nepokazí
> Nevyzkoušený přepínač překvapí v nejhorší chvíli.
## Co na druhé vrstvě řeší náhradní kabel?
- [x] STP, jinak vznikne smyčka
- Jen NAT
- Jen WPA3
- Nic, ethernet smyčky umí sám
> Druhý kabel bez STP je recept na bouři.

View file

@ -0,0 +1,6 @@
---
nazev: 802.1X
popis: A port forwards data only after the device identifies itself.
nazev_cviceni: Quiz: 802.1X
nadpis_kvizu: Quiz on 802.1X
---

View file

@ -0,0 +1,71 @@
---
id: site-4-802-1x
puvodni: net4.3
nazev: 802.1X
popis: Port pustí data, až když se zařízení představí.
nazev_cviceni: Kvíz: 802.1X
nadpis_kvizu: Kvíz k tématu 802.1X
---
# Výklad
## Nejdřív průkaz
*Port*
- Počítač se prokáže certifikátem nebo jménem a heslem.
- Switch se ptá serveru RADIUS.
- Až pak pustí port do dané VLAN.
- Neznámé zařízení zůstane venku nebo v omezené síti.
> Tip: dokud ověření neskončí, na portu nemá téct běžný provoz.
## Ne všechno umí 802.1X
*Lidé a věci*
- Počítač v doméně zvládne ověření sám.
- Tiskárna, kamera a telefon často ne.
- MAB pustí zařízení podle MAC adresy. Tu jde zfalšovat.
- Výjimka má být na konkrétní port, ne na celý switch.
> Tip: tiskárna bez klienta potřebuje výjimku, ne vypnutí celé ochrany.
## Kam koho pustit
*VLAN*
- Úspěch může přiřadit VLAN podle skupiny.
- Neúspěch skončí v síti bez přístupu k serverům.
- Účet jde odebrat, aniž by se měnilo heslo Wi-Fi.
- Stejný princip sedí na kabel i na podnikovou Wi-Fi.
> Tip: učitel a host nemají po ověření skončit ve stejné VLAN.
# Kvíz
## Kdo rozhodne, že zařízení smí do sítě?
- [x] RADIUS na základě údajů od switche
- Sám kabel podle barvy
- DNS záznam A
- STP root
> Switch se ptá, server odpovídá.
## Proč MAB není silné ověření?
- [x] MAC adresu lze zfalšovat
- MAC adresa je jednorázové heslo
- MAB šifruje silněji než certifikát
- Funguje jen na IPv6
> Adresa na štítku není průkaz.
## Kam patří zařízení, které ověřením neprojde?
- [x] Do omezené sítě nebo nikam
- Do VLAN serverů
- Na trunk všech VLAN
- Do správy routeru
> Neúspěch nemá otevírat vnitřní síť.
## Jaká je výhoda účtů proti jednomu heslu Wi-Fi?
- [x] Jednomu člověku jde přístup odebrat
- Heslo se nemusí nikdy měnit, protože účty ho ruší
- Netřeba RADIUS ani switch
- WEP pak stačí
> Sdílené heslo po odchodu člověka zná pořád.

View file

@ -0,0 +1,6 @@
---
nazev: Troubleshooting
popis: Bottom-up steps, not random reboots.
nazev_cviceni: Quiz: Troubleshooting
nadpis_kvizu: Quiz on Troubleshooting
---

View file

@ -0,0 +1,71 @@
---
id: site-4-hledani-chyby
puvodni: net4.4
nazev: Hledání chyby
popis: Postup zdola nahoru, ne náhodné restarty.
nazev_cviceni: Kvíz: Hledání chyby
nadpis_kvizu: Kvíz k tématu Hledání chyby
---
# Výklad
## Nejdřív světlo na portu
*Vrstvy*
- Fyzická vrstva: kabel, port, napájení, duplex, chyby.
- Druhá vrstva: VLAN, MAC tabulka, trunk, STP.
- Třetí vrstva: adresa, maska, brána, trasa, ACL.
- Výš: DNS, port služby, firewall na konci.
> Tip: nehledejte chybu v DNS, když port nesvítí.
## Ať víte, co pomohlo
*Jedna změna*
- Zapište, co vidíte, než něco přepnete.
- Ověřte jednu hypotézu.
- Ping na bránu, pak za ni, pak jméno.
- Když oprava sedí, uložte konfiguraci a dopište důvod.
> Tip: pět změn naráz nic nenaučí.
## Koho to postihlo
*Rozsah*
- Jeden stroj: jeho kabel, port, adresa, účet.
- Celá VLAN: brána, DHCP, trunk, SVI.
- Celá škola: jádro, firewall, poskytovatel.
- Čas začátku často sedí se změnou, kterou někdo neoznámil.
> Tip: jeden počítač je jiná chyba než celá učebna.
# Kvíz
## Co ověříte jako první, když port nesvítí?
- [x] Kabel, port a napájení
- Záznam AAAA
- Cenu OSPF
- Pravidlo QoS pro hlas
> Vyšší vrstvy nemají na čem jet.
## Proč měnit jen jednu věc?
- [x] Ať je vidět, která změna pomohla
- Switch víc změn zakazuje
- IPv4 umí jen jednu opravu denně
- DNS jinak smaže zónu
> Více zásahů naráz zamaskuje příčinu.
## Celá učebna nedostane adresu. Kde začnete?
- [x] DHCP, VLAN a brána té sítě
- Heslem jednoho studenta k webu
- Jasem monitoru
- Verzí prohlížeče
> Společný příznak ukazuje na společnou službu.
## Co uděláte, když oprava sedí?
- [x] Uložíte konfiguraci a zapíšete důvod
- Restartujete všechno ještě jednou
- Smažete popis portů
- Vypnete dohled, ať neruší
> Neuložená oprava do rána zmizí.

View file

@ -0,0 +1,6 @@
---
nazev: Cloud and hybrid networks
popis: Some services are no longer in the cupboard in the corridor.
nazev_cviceni: Quiz: Cloud and hybrid networks
nadpis_kvizu: Quiz on Cloud and hybrid networks
---

View file

@ -0,0 +1,71 @@
---
id: site-4-cloud-a-hybrid
puvodni: net4.5
nazev: Cloud a hybrid
popis: Část služeb není ve skříni na chodbě.
nazev_cviceni: Kvíz: Cloud a hybrid
nadpis_kvizu: Kvíz k tématu Cloud a hybrid
---
# Výklad
## Vlastní sál, nebo cizí
*Kam s tím*
- Veřejný cloud provozuje poskytovatel a vy si berete službu.
- Soukromý cloud je pořád vaše zařízení, jen obalené portálem.
- Hybrid nechá část dat ve škole a část venku.
- Účet a síťová cesta jsou pořád vaše odpovědnost.
> Tip: cloud neruší síť ve škole, mění jen to, kam vede spoj.
## Jak se tam školní síť dostane
*Cesta*
- VPN do cloudu vypadá jako další pobočka.
- Veřejná služba jede přes internet a firewall.
- DNS musí ukazovat na nové adresy.
- Výpadek WAN teď shodí i to, co dřív jelo z místního serveru.
> Tip: služba v cloudu bez cesty a bez jmen je jen faktura.
## Kdo zálohuje a kdo pustí dovnitř
*Hranice*
- Pravidla firewallu se stěhují s službou.
- Účty v cloudu mají mít stejný řád jako účty ve škole.
- Test obnovy platí i pro data, která nejsou ve vašem racku.
- Škola pořád řeší osobní údaje, i když disk je jinde.
> Tip: poskytovatel nezálohuje vaše data, dokud to není ve smlouvě.
# Kvíz
## Co hybridní síť znamená?
- [x] Část služeb je ve škole a část u poskytovatele
- Dva switche v jedné VLAN
- IPv4 i papírový sešit
- Wi-Fi bez hesla
> Hranice školy už není hranicí všech služeb.
## Co se pokazí, když WAN spadne a pošta je jen v cloudu?
- [x] Škola se k poště nedostane
- Místní switch přestane dělat VLAN
- STP zvolí cloud jako root
- Nic, cloud WAN nepotřebuje
> Cesta ven je součást dostupnosti služby.
## Kdo zálohuje data v cloudu?
- [x] Ten, koho to smlouva a nastavení opravdu určují
- Vždy automaticky stát
- STP
- Nikdo, cloud zálohy zakazuje
> Předpoklad, že poskytovatel zálohuje vše, často neplatí.
## Co škola řeší i u cizího disku?
- [x] Kdo má přístup a jak se chrání osobní údaje
- Jen barvu loga
- Jen typ ventilátoru v sále poskytovatele
- Nic, odpovědnost přechází celá
> Umístění dat nemaže pravidla přístupu.

View file

@ -0,0 +1,6 @@
---
nazev: Automation
popis: Let a script do the repeated work, not ten clicks.
nazev_cviceni: Quiz: Automation
nadpis_kvizu: Quiz on Automation
---

View file

@ -0,0 +1,71 @@
---
id: site-4-automatizace
puvodni: net4.6
nazev: Automatizace
popis: Opakovanou práci ať dělá skript, ne deset kliknutí.
nazev_cviceni: Kvíz: Automatizace
nadpis_kvizu: Kvíz k tématu Automatizace
---
# Výklad
## Správa bez společného hesla na lístečku
*SSH*
- Klíč jde odebrat konkrétnímu člověku.
- Heslo v příkazu historie nemá ležet.
- Přístup omezte na správní síť.
- Záznam, kdo se přihlásil, patří do logu.
> Tip: Telnet posílá heslo čitelně. Na správu patří SSH.
## Stejná VLAN ve dvaceti switchích
*Opakování*
- Šablona drží názvy VLAN a popis portů.
- Skript změnu pošle na seznam zařízení.
- Nejdřív ho pusťte na jednom switchi.
- Záloha před hromadnou změnou je povinnost, ne ozdoba.
> Tip: ruční opis se v desátém switchi liší v jednom čísle.
## Skript není výmluva
*Mez*
- Kontrola po běhu srovná, co opravdu sedí.
- Tajné heslo nepatří do veřejného souboru.
- Člověk pořád schvaluje změnu, která shodí výuku.
- Verzovaný soubor konfigurace ukáže, kdo řádek změnil.
> Tip: automat neopraví špatný záměr, jen ho provede rychleji.
# Kvíz
## Proč na správu nepoužívat Telnet?
- [x] Heslo jde po síti čitelně
- Telnet neumí IPv4
- Switch Telnet zakazuje standardem STP
- Telnet maže VLAN
> SSH spojení chrání.
## Jak pustíte stejnou změnu do dvaceti switchů?
- [x] Šablonou a skriptem, neopisovat ji dvacetkrát
- Jen restartem všech naráz
- Přes DHCP
- Jedním broadcastem bez kontroly
> Nejdřív jeden switch, pak ostatní.
## Co před hromadnou změnou uděláte?
- [x] Zálohu konfigurací
- Vypnete dohled
- Smažete popisy portů
- Zakážete SSH
> Ať se máte kam vrátit.
## Co skript neumí?
- [x] Poznat, že záměr byl špatně
- Poslat stejný příkaz víckrát
- Uložit konfiguraci
- Připojit se přes SSH
> Rychlost neopraví chybný příkaz.

View file

@ -0,0 +1,6 @@
---
nazev: Operations and the exam
popis: A school network has rules, not only blinking ports.
nazev_cviceni: Quiz: Operations and the exam
nadpis_kvizu: Quiz on Operations and the exam
---

View file

@ -0,0 +1,71 @@
---
id: site-4-provoz-a-maturita
puvodni: net4.7
nazev: Provoz a maturita
popis: Síť ve škole má pravidla, ne jen blikající porty.
nazev_cviceni: Kvíz: Provoz a maturita
nadpis_kvizu: Kvíz k tématu Provoz a maturita
---
# Výklad
## Kdo smí co změnit
*Řád*
- Účty jsou jmenné, ne jedno společné admin.
- Změna ve výuce se hlásí dopředu.
- Hostovská síť je oddělená a časově omezená.
- Osobní údaje v logu se nenechávají ležet bez důvodu.
> Tip: heslo admin na lístečku u switche není provozní řád.
## Co říct a co udělat
*Výpadek*
- Řekněte, co nejede a koho se to týká.
- Oddělte výpadek poskytovatele od chyby ve škole.
- Po obnově ověřte poštu, přihlášení i tisk, ne jen ping.
- Krátký zápis příště zkrátí stejnou poruchu.
> Tip: nejdřív rozsah a dopad, pak ladění detailu.
## Co umět ukázat
*U zkoušky*
- Umíte přečíst adresu, masku, bránu a VLAN.
- Umíte říct, k čemu je trunk, NAT, firewall a záloha.
- Schéma malé sítě nakreslíte i bez nápovědy.
- Postup hledání chyby od kabelu po službu odvykládáte po vrstvách.
> Tip: maturita chce důvod, ne jen zkratku.
# Kvíz
## Jak nemají vypadat účty ke switchi?
- [x] Jedno heslo admin pro celou sborovnu
- Jmenný účet s možností odebrání
- Přístup jen ze správní sítě
- Záznam přihlášení
> Společné heslo nejde vzít jednomu člověku.
## Co řeknete jako první při výpadku?
- [x] Co nejede a koho se to týká
- Celou směrovací tabulku zpaměti
- Typ ventilátoru v racku
- Že se to vyřeší samo
> Rozsah je důležitější než první domněnka.
## Co po obnově nestačí?
- [x] Jen ping na bránu
- Ověřit poštu a přihlášení
- Podívat se na tisk
- Zkontrolovat, že VLAN sedí
> Brána může žít a služba pořád ne.
## Co u maturity k VLAN umíte říct?
- [x] Odděluje provoz a mezi VLAN se směruje
- Je to typ pevného disku
- Nahrazuje zálohu konfigurace
- Je totéž co WPA3
> Definice a důvod, ne jen zkratka.

View file

@ -0,0 +1,6 @@
---
nazev: Network documentation
popis: A diagram that matches what is actually in the wall.
nazev_cviceni: Quiz: Network documentation
nadpis_kvizu: Quiz on Network documentation
---

View file

@ -0,0 +1,71 @@
---
id: site-4-dokumentace-site
puvodni: net4.8
nazev: Dokumentace sítě
popis: Schéma, které sedí s tím, co je ve zdi.
nazev_cviceni: Kvíz: Dokumentace sítě
nadpis_kvizu: Kvíz k tématu Dokumentace sítě
---
# Výklad
## Co na něm má být
*Schéma*
- Jsou na něm jádro, učebny, VLAN a přípojka ven.
- Adresní plán sedí se schématem, ne s pamětí.
- Porty páteře mají popisky na obou koncích.
- Datum a jméno autora říkají, jak je obrázek starý.
> Tip: schéma z doby instalace bez datumu je pohádka.
## Nejdřív papír, pak kabel
*Změna*
- Změna VLAN se zapíše ve stejný den.
- Fotka rozvaděče doplní schéma tam, kde čáry lžou.
- Hesla do schématu nepatří. Patří do trezoru účtů.
- Kopie schématu není jen na počítači, který ta síť živí.
> Tip: přepojit a zapsat až za měsíc znamená, že zápis už nesedí.
## Až tu nebudete
*Předání*
- Seznam zařízení, adres správy a kde leží zálohy.
- Kontakt na poskytovatele a číslo spoje.
- Co se nesmí restartovat ve výuce.
- Jedna stránka je lepší než nikde neuložená hlava.
> Tip: kolega má síť převzít bez vašeho telefonu.
# Kvíz
## Co do schématu sítě nepatří?
- [x] Heslo správce
- VLAN a jejich účel
- Přípojka k poskytovateli
- Datum, kdy naposledy sedělo
> Heslo patří jinam než na obrázek, který visí ve sborovně.
## Kdy se změna zapíše?
- [x] V den, kdy se provede
- Až se na ni někdo zeptá u maturity
- Jen když spadne celá škola
- Zápis není potřeba, stačí paměť
> Nezapsaná změna je příští závada.
## Proč mít kopii schématu i mimo školní server?
- [x] Když síť neběží, schéma na ní neotevřete
- Server schémata maže
- IPv6 schémata zakazuje
- STP obrázky nepouští
> Dokumentace má přežít výpadek toho, co popisuje.
## Co má kolega najít bez vašeho telefonu?
- [x] Adresy správy, zálohy a kontakt na poskytovatele
- Jen barvu racku
- Vaše soukromé heslo
- Nic, síť se nepředává
> Provoz nesmí stát na jednom člověku.