CSS a XHTML
tvorba dokonalých WWW stránek krok za krokem – 2., aktualizované vydání

David Procházka

Vydala Grada Publishing, a.s.

U Průhonu 22, Praha 7

jako svou 4561. publikaci

Odpovědný redaktor Pavel Němeček

Sazba Tomáš Brejcha

První vydání, Praha 2011

© Grada Publishing, a.s., 2011

V knize použité názvy programových produktů, firem apod. mohou být ochrannými

známkami nebo registrovanými ochrannými známkami příslušných vlastníků.

ISBN 978-80-247-3897-0 (tištěná verze)

ISBN 978-80-247-7127-4 (elektronická verze ve formátu PDF)

ISBN 978-80-247-7128-1 (elektronická verze ve formátu EPUB)

Úvod

Vytváření webových stránek je činnost, která byla ještě donedávna výsadou IT profesionálů a programátorů. Nedá se říci, že jde o činnost triviální a zcela snadnou. S rozvíjející se počítačovou gramotností uživatelů internetu lze ale konstatovat, že zvládnutí tvorby webu je v možnostech většiny pokročilých uživatelů výpočetní techniky. Základní tvorba WWW stránek totiž není programování v pravém slova smyslu, ale spíše kódování, tedy soupis obsahu stránky způsobem, který dokáže internetový prohlížeč jednoduše dekódovat.

Základem je zvládnutí skriptovacího jazyka (X)HTML s aplikací kaskádových CSS stylů. Pomocí kombinace těchto dvou technologií jste schopni zpracovat prakticky jakékoli běžné webové stránky. Stránky lze poměrně snadno doplnit o JavaScript, který jim dodá vyšší dynamiku. Dalším krokem je zapojení technologie PHP, která dokáže provádět výkonné operace nad daty, pracovat s databází a stránky, které využívají tuto technologii, jsou nazývány dynamické, neboť se mohou co do obsahu v čase měnit, bez ohledu na to, jak je nastaven jejich vzhled.

Tato publikace vás v úvodu seznámí se základními principy internetu. Není možné začít vyvíjet webové stránky bez alespoň elementární znalosti fungování internetu, určitých protokolů a pojmů. Dále se bude publikace věnovat prostředkům a programům, které pro vývoj stránek budete potřebovat, a plynule přejde na základní pojmy z (X)HTML jazyka. Tyto znalosti budou dále prohlubovány a budou k nim přidány i pojmy z oblasti kaskádových CSS stylů, základů JavaScriptu či PHP.

Dozvíte se nejen informace o vývoji stránek, ale dostanete kompletní studijní materiál, který vás provede tvorbou webu, umístěním stránek na internetu, laděním v různých internetových prohlížečích, a navede vás na navazující oblasti, pomocí kterých budete moci v případě zájmu ve studiu vývoje webových stránek pokračovat.

O autorovi

David Procházka je vývojář specializovaných a průmyslových aplikací ve společnosti VÍTKOVICE IT SOLUTIONS a.s., která spadá do skupiny VÍTKOVICE MACHINERY GROUP. V rámci své pracovní náplně pracuje s databázemi Oracle, MSSQL, Firebird a MySQL. Dále spravuje holdingový intranet a webové prezentace více než čtyřiceti dceřiných společností holdingu. V poslední době se zabývá vedením týmu programátorů nad produktem Microsoft Sharepoint. Autor absolvoval řadu školení, je držitelem certifikátů a účastní se meetingů v oblasti databází a programování. Mimo tuto činnost je také autorem několika odborných publikací a stovek článků v IT magazínech a na internetu.

1.

Úvod do tvorby WWW stránek

První kapitola knihy je určena všem čtenářům, kteří se vývojem webových stránek doposud vůbec nezabývali. Mohli bychom se sice vrhnout přímo do vývoje webu, ale pro snadnější orientaci ve zbytku knihy je tato kapitola nezbytností. Dozvíte se v ní zejména základní standardy internetu a webových stránek. Nebudeme ale zabíhat do přílišných podrobností, které se základů tvorby netýkají.

Tato kapitola je tedy jakýsi odrazový můstek pro zvládnutí vlastní tvorby webu. Dozvíte se, jak si můžete vytvořit testovací prostředí pro vývoj stránek, jak se stránky na internet umisťují a jak probíhá registrace vlastní WWW adresy. V druhé části kapitoly se dočtete také o nástrojích a programech, které jsou pro tvorbu stránek doporučené, a v neposlední řadě si stanovíme určité principy, které budeme v knize dodržovat.

1.1 Několik slov o internetu

Internet je velmi rozsáhlá počítačová síť, jejíž hierarchie se řídí určitými pravidly. V minulosti byl výsadou akademických a vědeckých pracovníků, běžní uživatelé se k jeho obsahu dostali jen výjimečně. Dnes jej používají děti, studenti, rodiny, důchodci, prostě všichni, kteří chtějí informovat a být informováni. Nemalé procento uživatelů internetu tvoří lidé, kteří chtějí komunikovat, přičemž internet jim poskytuje levnou a pohodlnou cestu ke spojení s celým světem.

1.1.1 Co je to internet

Internet je celosvětová počítačová síť, která spojuje jednotlivé menší sítě, pomocí sady protokolů zvaných IP (Internet Protocol). Pro upřesnění, protokolem je v počítačové terminologii myšlena soustava pravidel – obvykle tedy norma komunikace. Název internet pochází z anglického jazyka, ze slova network (síť), podle něhož končily tradičně názvy amerických počítačových sítí – například Arpa-net, a mezinárodní (původně latinské) předpony inter (mezi), vyjadřující, že internet propojil a vstřebal různé starší, dílčí, specializované, proprietální a lokální sítě.

Historie internetu je velice košatá a vydala by na samostatnou odbornou publikaci, proto se o ní zmíníme jen krátce. Počátky internetu započaly u myšlenky vytvoření počítačové sítě, která by spolehlivě propojila strategické, vojenské, vládní a akademické počítače tak, aby zároveň dokázala přežít jaderný úder či jiné hrozby. Zájmem tvůrců bylo také to, aby síť byla co nejméně zranitelná. Byla navržena bez hlavního řídicího centra. Skládala se z řady vzájemně propojených uzlů rovnocenné důležitosti. Posílaná data se na dobu přenosu rozdělí na několik samostatných částí nazývaných pakety.

Každý z paketů je vybaven údajem o adresátovi, a tvoří tak de facto autonomní zásilku, která cestuje k cíli samostatně, svou vlastní cestou, nezávisle na ostatních paketech. V případě zničení jedné z přenosových cest může paket bez problémů dojít k adresátovi alternativní cestou – přes zbývající zachovalé uzly. A to je vlastně základ koncepce internetu, jak ji známe dodnes.

Obrázek 1.1: Internet vám přinese informační zdroj až do obýváku

1.1.2 Důležité mezníky ve vývoji internetu

V období vývoje internetu od roku 1969 až po současnost docházelo k bouřlivému vývoji, technologickému postupu a aplikaci řady nových technologií. Uveďme si nyní výběr jen těch nejdůležitějších okamžiků.

1969 – vytvořena experimentální síť ARPANET, první pokusy s přepojováním uzlů

1972 – Ray Tomlinson vyvíjí první e-mailovou aplikaci

1980 – experimentální provoz protokolu TCP/IP v síti ARPANET

1984 – vyvinut DNS (Domain Name System)

1987 – vzniká označení sítě jako internet

1990 – končí ARPANET

1991 – nasazení WWW (World Wide Web) v evropské laboratoři CERN

1994 – internet přechází z rukou vědců do komerčního užití

1996 – překonáno 55 milionů uživatelů na světě

2000 – 250 milionů uživatelů

2006 – více než miliarda uživatelů

1.1.3 Internetový protokol TCP/IP

Protokolová struktura TCP/IP je definována jako sada protokolů pro komunikaci v počítačové síti, jež se využívá zejména na internetu, ale také v běžných počítačových sítích. Jde vlastně o komunikační protokol, což je množina pravidel, které určují podobu a význam jednotlivých zpráv při komunikaci. Vzhledem ke složitosti problémů je síťová komunikace rozdělena do tzv. vrstev, které znázorňují hierarchii činností. Výměna informací mezi vrstvami je přesně definována. Každá vrstva využívá služeb vrstvy nižší a poskytuje své služby vrstvě vyšší.

Celkový význam zkratky TCP/IP je Transmission Control Protocol/Internet Protocol. Komunikace mezi stejnými vrstvami dvou různých systémů je řízena komunikačním protokolem za použití spojení vytvořeného sousední nižší vrstvou. Architektura umožňuje možnost výměny protokolů jedné vrstvy bez dopadu na ostatní. Architektura TCP/IP je členěna do čtyř vrstev (na rozdíl od referenčního modelu ISO/OSI se sedmi vrstvami): aplikační vrstva (application layer), transportní vrstva (transport layer), síťová vrstva (network layer) a vrstva síťového rozhraní (network interface).

Obrázek 1.2: Model ISO / OSI

Protokol TCP

TCP protokol (Transmission Control Protocol) je jeden ze základních ze sady protokolů internetu, typicky představuje transportní vrstvu komunikace. Použitím TCP protokolu mohou aplikace na počítačích zapojených do počítačové sítě vytvořit mezi sebou spojení, přes které lze přenášet data. Protokol garantuje spolehlivé doručování a doručování ve správném pořadí. TCP také rozlišuje data pro vícenásobné, současně běžící aplikace (například webový server a emailový server) běžící na stejném počítači. TCP podporuje mnoho na internetu populárních aplikačních protokolů a aplikací, včetně WWW, elektronické pošty a SSH (Secure Shell).

Protokol IP

IP protokol (Internet Protocol) je datový protokol používaný pro přenos dat přes paketové sítě. Data se pomocí IP posílají síti po blocích nazývaných datagramy (jedná se o název pro datový paket specifický pro prostředí protokolu IP). Jednotlivé datagramy putují sítí zcela nezávisle, na začátku komunikace není potřeba navazovat spojení či jinak předpřipravovat cestu datům, přestože spolu třeba příslušné stroje nikdy předtím nekomunikovaly. IP protokol v doručování datagramů poskytuje nespolehlivou službu, označuje se také jako služba nejlepšího úsilí; tj. všechny stroje na trase se datagram snaží podle svých možností poslat blíže k cíli, ale nezaručují praktické doručení do cíle. Datagram vůbec nemusí dorazit, může být naopak doručen několikrát a IP protokol neručí ani za pořadí doručených datagramů.

1.1.4 Identifikace počítačů v internetu

Kterékoli síťové rozhraní komunikující prostřednictvím protokolu IP má přiřazeno jednoznačný identifikátor, tzv. IP adresu. IP adresa je v rámci internetu zásadní věcí a je dobré vědět, co IP znamená. V každém datagramu je pak uvedena IP adresa odesilatele i příjemce. Na základě IP adresy příjemce pak každý počítač na trase provádí rozhodnutí, jakým směrem paket odeslat, tzv. směrování (routing). To mají na starosti zejména specializované stroje označované jako směrovače (routery). Pro snadnou orientaci byl zaveden systém pojmenování domén, tzv. DNS. Doménová jména se v tomto systému překládají na IP adresy a naopak. Použitelnost je mnohem lepší, uživatelé si nemusejí pamatovat dlouhá čísla, pamatují si názvy.

Domény

Domény jsou vlastně IP adresy převedené na text. Jméno počítače se skládá z domén oddělených tečkou, např. http://mail.volny.cz . Doména nejvyšší úrovně je vpravo ( cz ), doména druhé úrovně je vlevo od ní ( volny ), určuje název organizace, 3. úroveň určuje název počítače v rámci organizace apod. Doména první úrovně určuje skupinu podle země nebo kategorie (cz – Česká republika, us – USA, com – komerční organizace, edu – vzdělávací instituce, gov – vládní stránky, mil – vojenské stránky atd.).

Různé verze IP adres

Každý počítač připojený k internetu má svoji IP adresu. Donedávna platilo, že IP adresa je 32bitové číslo a že se uvádí jako čtyři desítková čísla v rozmezí 0 – 255 oddělená tečkou – např. 192.168.1.1. Tato informace je stále pravdivá, ale jelikož postupem času došlo k vyčerpání adresního rozsahu, který tvořil počet 2 32 = 4 294 967 296, bylo nutno zavést další verzi IP protokolu. Prvotní a stále využívaná verze má označení IPv4, novější pak IPv6. Tato verze má kromě jiného adresy 128bitové, které poskytují větší adresní prostor než 32bitové adresy v IPv4. V praxi je užití modernizované verze IP protokolu méně praktické, protože adresy obsahují také šestnáctkové hodnoty – typická IP adresa je tak v IPv6 například takováto – 2001:0db8:0:0:0:0:1428:57ab.

MAC adresa síťové karty

Drtivá většina počítačů je do internetu připojena pomocí síťové karty. Je to zařízení, do kterého zapojíte síťový (UTP) kabel z modemu nebo směrovače. Každá síťová karta má tzv. MAC adresu. MAC adresa (z anglického „Media Access Control“) je jedinečný identifikátor síťového zařízení, který používají různé protokoly druhé (spojové) vrstvy OSI. Je přiřazována síťové kartě bezprostředně při její výrobě a je jakýmsi jedinečným rodným číslem. MAC adresa přidělená výrobcem je vždy celosvětově jedinečná. Z hlediska přidělování je rozdělena na dvě poloviny. O první polovinu musí výrobce požádat centrálního správce adresního prostoru a je u všech karet daného výrobce stejná (či alespoň velké skupiny karet, velcí výrobci mají k dispozici několik hodnot pro první polovinu). Výrobce pak každé vyrobené kartě či zařízení přiřazuje jedinečnou hodnotu druhé poloviny adresy. MAC adresa může mít třeba takovýto tvar: 00-11-09-95-26-FE.

Obrázek 1.3: Serverová síťová karta

1.1.5 Protokol HTTP – hypertext

HTTP (Hyper Text Transfer Protocol) je internetový protokol určený původně pro výměnu hypertextových dokumentů ve formátu HTML (HyperText Markup Language). Tento protokol je spolu s elektronickou poštou tím nejvíce používaným a zasloužil se o obrovský rozmach internetu v posledních letech. HTTP používá jako některé další aplikace tzv. jednotný lokátor prostředků URL (Uniform Resource Locator), který specifikuje jednoznačné umístění nějakého zdroje v internetu. K protokolu HTTP existuje také jeho bezpečnější verze označovaná jako HTTPS, která umožňuje přenášená data šifrovat, a tím chránit před odposlechem či jiným narušením. Protokol funguje způsobem dotaz-odpověď. Uživatel (pomocí programu, obvykle internetového prohlížeče) pošle serveru dotaz ve formě čistého textu, obsahujícího označení požadovaného dokumentu, informace o schopnostech prohlížeče apod. Server poté odpoví pomocí několika řádků textu popisujících výsledek dotazu (zda se dokument podařilo najít, jakého typu dokument je atd.), za kterými následují data samotného požadovaného dokumentu.

1.1.6 WWW a brouzdání

World Wide Web (WWW, také pouze zkráceně web), ve volném překladu celosvětová pavučina, je označení pro aplikace internetového protokolu HTTP. Je tím myšlena soustava propojených hypertextových dokumentů. V češtině se slovo web často používá nejen pro označení celosvětové sítě dokumentů, ale také pro označení jednotlivé soustavy dokumentů dostupných na tomtéž webovém serveru nebo na téže internetové doméně nejnižšího stupně (internetové stránce). Dokumenty umístěné na počítačových serverech jsou adresovány pomocí URL, jehož součástí je i doména a jméno počítače. Název naprosté většiny těchto serverů začíná zkratkou WWW, i když je možné používat libovolné jméno vyhovující pravidlům URL. Protokol HTTP je dnes již používán i pro přenos jiných dokumentů, než jen souborů ve tvaru HTML a výraz World Wide Web se postupně stává pro laickou veřejnost synonymem pro internetové aplikace.

1.2 Základní pojmy a zkratky

V předchozí části knihy jsme si řekli o základech internetu. Ty ale povětšinou lidé, kteří chtějí tvořit webové stránky, alespoň rámcově znají. Nyní je čas přejít od slov k činům, a přesunout se tak blíže k problematice vytváření webových stránek. Začněme pojmy, se kterými se v průběhu tvorby můžete setkat. Níže uvedené pojmy jsem se řadil dle abecedy a vyskytují se zde jak základní pojmy internetu, tak pojmy dotýkající se WWW stránek, technologií a technických norem.

AJAX

AJAX (Asynchronous JavaScript and XML) je označení pro sadu technologií určenou k vývoji interaktivních webových aplikací, které mění obsah svých stránek bez nutnosti jejich znovunačítání. Na rozdíl od klasických webových aplikací poskytují uživatelsky příjemnější prostředí, ale vyžadují použití moderních webových prohlížečů. Mezi výhody patří odstranění nutnosti znovunačtení a překreslení celé stránky při každé operaci, které jsou nutné u klasického modelu WWW stránek. Pokud například uživatel klepne na tlačítko pro udělení hlasu v nějaké anketě, celá stránka se musí znovu načíst ze serveru, třebaže se na ní jen například aktualizují výsledky hlasování a veškerý zbytek obsahu zůstává stejný.

Obrázek 1.4: Ajax je hojně využíván například ve freemailu Gmail

Apache

Apache HTTP Server je softwarový webový server. Využívá se u většině webhostingů, kde provozovatel deklaruje podporu technologie PHP. Apache můžete mít nainstalován také na svém počítači. Díky jeho přítomnosti v operačním systému budete moci ladit a testovat své stránky s prvky HTML a PHP kódu.

ASP

ASP (Active Server Pages) je skriptovací platforma společnosti Microsoft, primárně určená pro dynamické zpracování webových stránek na straně serveru. Dalo by se říci, že šlo v jisté době o konkurenci technologie PHP, ale celý projekt se příliš neujal. Dnes jde prakticky o mrtvou technologii, kterou nemá valnějšího smyslu se zabývat. Její nástupce, ASP.NET, lze chápat jako širší a komplexnější technologii, která se od ASP v mnoha ohledech fundamentálně liší.

ASP.NET

ASP.NET je součást .NET Frameworku pro tvorbu webových aplikací a služeb. Je nástupcem technologie ASP. Ačkoli název ASP.NET je odvozen od starší technologie pro vývoj webů ASP, obě technologie jsou velmi odlišné. ASP.NET je založen na CLR (Common Language Runtime), který je sdílen všemi aplikacemi postavenými na .NET Frameworku. Programátoři tak mohou realizovat své projekty v jakémkoli jazyce podporujícím CLR, např. Visual Basic.NET, JScript.NET, C#, Managed C++, ale i mutace Perlu, Pythonu a další. Aplikace založené na ASP.NET jsou také rychlejší, neboť jsou předkompilovány do jednoho či několika málo DLL souborů, na rozdíl od ryze skriptovacích jazyků, kde jsou stránky při každém přístupu znovu a znovu parsovány. Pro zvládnutí této technologie je nutné být pokročilým vývojářem webů a mít alespoň elementární znalosti vyšších programovacích jazyků.

CSS

Kaskádové styly, neboli Cascading Style Sheets se zkratkou CSS, je jazyk pro popis způsobu zobrazení stránek napsaných v jazycích HTML, XHTML nebo XML. Hlavním smyslem je umožnit návrhářům oddělit vzhled dokumentu od jeho struktury a obsahu. Původně to měl umožnit už jazyk HTML, ale v důsledku nedostatečných standardů a konkurenčního boje výrobců prohlížečů se vyvinul jinak. Starší verze HTML obsahují celou řadu elementů, které nepopisují obsah a strukturu dokumentu, ale i způsob jeho zobrazení. Z hlediska zpracování dokumentů a vyhledávání informací není takový vývoj žádoucí.

Doména (internetová)

Internetová doména (doménové jméno) je jednoznačné jméno (identifikátor) počítače nebo počítačové sítě, které jsou připojené do internetu. Příkladem doménového jména je www.grada.cz . Doménové jméno je tvořeno posloupností několika částí oddělených tečkami. Části mezi tečkami jsou také někdy číslovány (odzadu), takže např. cz je doména 1. úrovně, grada.cz je doména 2. úrovně atd. Cena domény na internetu se liší dle oblasti a poskytovatele. Například za běžnou doménu CZ zaplatíte zhruba 250 Kč. Pokud chcete svou prezentaci kupříkladu na adrese www.mojeadresa.cz , pak budete potřebovat nejen doménu (adresu), ale také webhosting (viz níže). Domény i webhosting si můžete objednat u mnoha českých hostingových společností.

Favicon

Favicon je nejčastěji ikona o velikosti 16×16 pixelů umístěná v kořenové složce webu pod názvem favicon.ico . Favikona se nejčastěji zobrazuje v adresním řádku prohlížeče, na panelu se stránkou a v nabídce záložek – oblíbených položek. Starší Internet Explorer zobrazoval ikonu pouze u stránek uložených do záložek. Novější verze a alternativní prohlížeče pak ikonu zobrazují ihned po načtení webových stránek.

FTP

FTP (File Transfer Protocol) je v informatice protokol pro přenos souborů mezi počítači pomocí počítačové sítě. V případě webových stránek se FTP využívá ke zkopírování hotových webových stránek na webhosting. Abyste mohli stránky na webhostingový server kopírovat skrze FTP, budete potřebovat specializovanou aplikaci, FTP klient. Funkci FTP připojení v sobě obsahují i souborové manažery, například Total Commaner.

Obrázek 1.5: Oblíbeným FTP klientem je Total Commander

HTML

HyperText Markup Language, označovaný zkratkou HTML, je značkovací jazyk pro hypertext. Je jedním z jazyků pro vytváření stránek v systému World Wide Web, který umožňuje publikaci dokumentů na internetu. Je charakterizován množinou značek (tzv. tagů) a jejich atributů definovaných pro danou verzi. Mezi značky se uzavírají části textu dokumentu, a tím se určuje význam (sémantika) obsaženého textu. Názvy jednotlivých značek se uzavírají mezi úhlové závorky < a >. Část dokumentu tvořená otevírací značkou, nějakým obsahem a odpovídající ukončovací značkou tvoří tzv. element (prvek) dokumentu. Například <strong> je otevírací značka pro zvýraznění textu a <strong>Červená Karkulka</strong> je element obsahující zvýrazněný text (tučné písmo). Součástí obsahu elementu mohou být další vnořené elementy.

JavaScript

JavaScript je multiplatformní, objektově orientovaný skriptovací jazyk, který se zpravidla používá jako interpretovaný programovací jazyk pro WWW stránky, často vkládaný přímo do HTML kódu stránky. Jsou jím obvykle ovládány různé interaktivní prvky – tlačítka, textová políčka, formuláře, nebo tvořeny animace a efekty obrázků. Jeho syntaxe patří do rodiny jazyků C/C++/Java. Slovo Java je však součástí jeho názvu pouze z marketingových důvodů a s programovacím jazykem Java jej vedle názvu spojuje jen podobná syntaxe. Javascript lze nejlépe co do syntaxe připodobnit k PHP. Novější podobou Javascriptu je asynchronní Javascript, nazývaný AJAX (viz výše).

MySQL databáze

MySQL je multiplatformní databáze. Komunikace s ní probíhá – jak už název napovídá – pomocí jazyka SQL. Podobně jako u ostatních SQL databází se jedná o dialekt tohoto jazyka s některými rozšířeními. V rámci programování dynamických webových stránek jde o nejpoužívanější databázový systém na světě. Většina webhostingů podporujících jazyk PHP nabízí také databázi MySQL, kterou lze právě s PHP snadno propojit do podoby dynamické webové aplikace.

PHP

PHP (původně Personal Home Page, nyní obvykle rekurzivně Hypertext Preprocessor) je skriptovací programovací jazyk, určený především pro programování dynamických internetových stránek. Nejčastěji se začleňuje přímo do struktury jazyka HTML, XHTML či XML, což lze využít při tvorbě webových aplikací. PHP lze použít i k tvorbě konzolových a desktopových aplikací. PHP je vedle ASP jedním ze dvou nejrozšířenějších skriptovacích jazyků pro web. Oblíbeným se stal především díky jednoduchosti použití, bohaté zásobě funkcí, a tomu, že kombinuje vlastnosti více programovacích jazyků, a nechává tak vývojáři částečnou svobodu v syntaxi.

Tag

Tag je označení pro kódovou značku HTML nebo XHTML jazyka. Tag je obvykle ohraničen znaky < a >. Pomocí tagů lze například stanovit základní oddíly stránky, vymezit formátování textu (ne v XHTML, tam je potřeba využít CSS) apod. S tagy v nejrůznější podobě se blíže setkáte u tvorby sebejednodušší WWW stránky. Typické příklady tagů: <a>, <img>, <head>, <body> apod.

Webhosting

Webhosting je pronájem prostoru pro webové stránky na cizím serveru. Pronajímatel serveru bývá označován jako poskytovatel webhostingu (webového prostoru). Díky webhostingu si můžete své webové stránky umístit na internet, aniž byste museli mít vlastní server. Ceny za webhosting se pohybují od pár korun až po několik tisíc za měsíc. Existuje i bezplatná varianta, tzv. freehosting. Freehosting obvykle nezahrnuje žádné záruky ohledně funkčnosti, má omezenou technickou podporu. Často je s freehostingem spojeno umisťování reklamy na stránkách. Webhosting je pouze samotné umístění stránek na serveru poskytovatele. Aby se uživatelé internetu ke stránkám dostali, je potřeba mít zaregistrovánu doménu (např. s názvem společnosti). Alternativně lze u některých firem zdarma využít domény 3. řádu, například vasejmeno.poskytovatel.cz . V případě vyšších nároků na rychlost, spolehlivost a na podporované služby a technologie je dalším krokem serverhosting, kdy je zákazníkovi pronajímán celý server.

XHTML

XHTML (zkratka anglického extensible hypertext markup language – „rozšiřitelný hypertextový značkovací jazyk“) je značkovací jazyk pro tvorbu hypertextových dokumentů v prostředí WWW vyvinutý W3C. Původně se předpokládalo, že se stane nástupcem jazyka HTML, jehož vývoj byl verzí 4.01 ukončen. V roce 2007 však došlo k založení pracovní skupiny, která má za cíl vytvořit novou verzi HTML, která ponese označení HTML 5 a její XML variantu XHTML 5. Vedle toho paralelně pokračuje i vývoj XHTML 2.0.

HTML vs. XHTML – rozdíly

■ V XHTML na rozdíl od HTML musí být všechny tagy ukončené a to včetně nepárových, jako jsou <meta>, <link>, <br>, <hr> nebo <img>. Zápis může mít více podob. Buď použijeme klasické (a validní) <img></img> nebo zkrácené <img/> nebo mírně upravené <img />. První způsob se nedoporučuje používat, zasíláme-li XHTML dokument s typem text/html. Druhý způsob, bez mezery, se nedoporučuje používat kvůli postarším prohlížečům, které by v takovém případě mohly vynechat poslední atribut, je-li nějaký uvedený.

■ V XHTML na rozdíl od HTML musí být všechny tagy a jejich atributy zapsány malými písmeny, a to z toho důvodu, že jsou takto deklarované v odkazované DTD (Document Type Definition) a X(HT)ML je case sensitive, tedy záleží na velikosti písem. Pokud bychom si deklarovali vlastní DTD, můžeme směle používat i velká písmena.

■ Všechny hodnoty atributů musí být uzavřeny do uvozovek.

■ Dokument musí začínat XML deklarací. Její použití není povinné, pokud je dokument kódován v UTF-8 nebo pokud určujeme kódování vyšší protokolem (http například).

■ Pokud potřebujeme pracovat s rámy, můžeme deklarovat XTHML 1.0 Frameset a pro jednotlivé stránky XHTML 1.0 Transitional.

■ XHTML dokument bychom měli zasílat s jiným MIME typem než klasické HTML dokumenty.

■ Další rozdíly již nejsou natolik důležité a časté.

1.3 Filosofie tvorby webových stánek

Nezkušení autoři webových stánek dělají často velkou chybu, když k vývoji přistupují zbrkle, nepromyslí si celý projekt a vrhají se překotně na různé části tvůrčí činnosti. Z vlastní zkušenosti vás chci varovat před chybami, které mohou hned na začátku pohřbít váš projekt, aniž byste napsali jedinou webovou stránku. K tvorbě je nutné přistupovat zodpovědně a s orientací na cíl. Sám jsem zpracoval několik úspěšných projektů, ale také řadu, které kvůli chybám při realizaci nebyly nikdy dokončeny. Vývoj webových stránek a aplikací lze přirovnat k jakémukoli projektu, který musí být důsledně zanalyzován ještě před začátkem tvorby.

1.3.1 Jak postupovat při plánování projektu WWW stránek

Nejdůležitější ze všeho je před započetím jakékoli práce hodně přemýšlet, vše si sepsat a zvážit, a až poté začít s realizací.

1. Nejprve si stanovte cíl svého snažení. Některé cíle mohou znít jednoduše, ale problematika projektů bývá složitější, než to na první pohled vypadá.

2. Stanovte si, jaké technologie pro realizaci využijete a jak by mělo vypadat vypracování jednotlivých kroků.

3. Nezačínejte tvorbu jen a pouze od vzhledu a od výsledného efektu. Webové stránky mají dobrý základ v rozvržení souborové struktury, provázanosti jednotlivých částí a jednoduché změně grafiky pomocí CSS stylů.

4. Pokud je to možné, konzultujte vývoj, vzhled a chování webu s osobou, která má v této problematice přehled – poslouchejte názory druhých.

5. Dbejte dodržování validity a testujte stránky vždy v několika prohlížečích na několika počítačích, ideálně i takových, které mají jiný operační systém než Windows.

6. Zvažte možnost vytvoření mobilní verze stránek. Prohlížení webových stránek z mobilu či tabletu je dnes zcela běžné.

7. Propagujete-li svůj web či produktové stránky, je nesmírně důležité dodržet zásady SEO pro snadnou indexaci stránek vyhledávači. Můžete také využít marketing velkých vyhledávačů pro zviditelnění svého obsahu.

1.3.2 Nejčastější chyby, které pohřbí váš projekt

Nelze samozřejmě popsat všechny chyby, které lze při přípravě webových stránek udělat, existují ale určité typické okruhy pochybení, kterým se lze vyhnout.

Přehnané ideály. Není nic horšího, než jít do vývoje webového projektu srdcem. Pokud tedy máte neomezené množství času a tvůrčí energie, pak je to možná cesta dobrá, ale v dnešní době se často stane, že v důsledku absence času se obrovský projekt může zvrhnout v nikdy nedokončené dílo. Svůj nápad konzultujte s ostatními vývojáři ještě před jeho započetím. Je vhodné si o svých záměrech promluvit také s běžnými uživateli internetu, kteří na celou tvorbu mohou mít odlišný názor než profesionálové. Rozhodně si nedávejte velké cíle na začátku tvorby. Pokud jsem ještě nezačal vytvářet ani jednoduché stránky, je holý nesmysl doufat, že zvládnu e-shop, vlastní redakční systém, sociální síť nebo zpravodajský portál.

Přínos projektu. Existují projekty, které budete mít chuť realizovat, protože by vám zjednodušily práci. Není ale jisté, zda o danou službu nebo webovou aplikaci budou mít zájem i další uživatelé. Je také možné, že podobná nebo ještě lepší služba již existuje, a vy tak skončíte se svým projektem jako chudý příbuzný.

Technologické zázemí. Přemýšlejte, zda máte pro daný projekt vhodné technologické zázemí. Například velké projekty jen těžko zprovozníte na bezplatném webhostingu. K takovým je potřeba vlastní nebo pronajatý server na páteřní síti.

One man show. Pokud tvoříte daný projekt sami, je nutné zvážit, zda na něj máte. Někdy je lepší přivzít k projektu dalšího vývojáře. Zde je ale nutná naprostá souhra, respekt a spolehlivost týmu.

Omezená funkčnost. Řadu dobrých projektů pohřbila taková malichernost, jako omezená funkčnost. V souvislosti s webem je zejména důležité, ať je vaše aplikace bezpečná, neobtěžuje uživatele desítkami reklamních bannerů a ať funguje ve všech standardních prohlížečích. Pokud tyto podmínky nesplníte, pak se vystavujete riziku odlivu uživatelů.

Špatná dostupnost. Tento bod má hodně společného s výběrem webhostingu. Ne vždy je nejlevnější hosting ideálním řešením. Může mít výpadky, špatně interpretovat skriptovací jazyky serveru apod. Také ovšem neplatí, že by předražený webhosting vždy poskytl extrémní přidanou hodnotu.

Grafický paskvil. V neposlední řadě jde také o grafiku. Sólový vývojář webových stránek musí být nejen analytik či programátor, ale také grafik. Jednoduchá grafika realizovaná v Malování nadchne asi jen přívržence obsahové části. Ale i ty může odradit. Na moderních stránkách se vyskytuje mnoho grafických prvků, obrázků, ikon, bannerů a animací.

1.4 Webhosting a FTP připojení

Pro zprovoznění vlastních webových stránek budete potřebovat několik málo věcí. Jednak jde o doménu, tedy nějakou internetovou adresu, kterou uživatelé zadají do prohlížeče, když se budou chtít na vaše stránky dostat. Dále bude zapotřebí webhosting, kam stránky (coby soubory) uložíte. Ono samotné uložení stránek na webhosting se nejčastěji děje pomocí FTP připojení, takže v neposlední řadě budete muset nainstalovat FTP aplikaci, takzvaného klienta.

1.4.1 Doména aneb adresa stránek

Adresa vašich stránek závisí do značné míry na tom, co si zaplatíte. Pokud chcete zatím jen zkoušet vývoj webových stránek a chcete nějakou zkušební adresu, pak je ideální zvolit nějakou bezplatnou doménu třetí úrovně, která může mít například takovouto podobu: http://nazev.ic.cz . Pokud ale víte, že chcete doménu druhé řádu, tedy lepší adresu, pak si můžete zaplatit například adresu http://www.nazev.cz . Kromě koncovky CZ může mít samosebou doména i jiné názvy, jako kupříkladu COM, ORG, EU, INFO, BIZ apod. Průměrná cena ročního poplatku za registraci a správu internetové domény činí zhruba 250 Kč. Dostupnost vámi požadovaného názvu domény druhé úrovně si můžete vyzkoušet u některého poskytovatele webhostingu, například na této adrese: https://www.forpsi.com/domain .

Doménu i webhosting lze objednat samostatně jakožto oddělené služby. Toto řešení je ale vhodné spíše pro IT profesionály, neboť zakoupená adresa se musí správně nasměrovat na webhosting, jinak nebudou stránky korektně fungovat. Pokud se na ono směrování příliš necítíte, pak je lepší zakoupit doménu druhé úrovně současně i s hostingem u jednoho poskytovatele, který nasměrování a správnou funkci zajistí.

Obrázek 1.6: Volné adresy CZ můžete rychle zaregistrovat také na webu www.kvapem.cz

1.4.2 Výběr webhostingu

Na českém trhu existují desítky či stovky firem, které webhosting nabízí. Porovnávat lze podle ceny, ale nejlépe, když si srovnáte parametry jednotlivých hostingů a nabízených služeb. Kromě toho je občas vhodné prohledat diskusní fóra (k tomu postačí Google) a pročíst si názory uživatelů, jak jsou spokojení s danou službou. Není totiž opravdu vhodné volit nejlevnější nebo nejdražší variantu.

Co by měl základní webhosting splňovat?

1. Měl by podporovat nejen technologie, které potřebujete při spuštění webových stránek, ale také technologie, které byste mohli potřebovat následně. Samozřejmostí je podpora HTML stránek, určitě vybírejte jen hostingy s podporou skriptovacího jazyka PHP. To je dobrý technologický základ. Nejlépe je, když je v ceně hostingu již od začátku také MySQL databáze – kdybyste se někdy rozhodli vytvářet dynamické weby.

2. Pro rozsáhlé projekty je důležitý také poskytovaný prostor. Na jednoduché stránky vám musí bohatě postačit 50 MB prostoru, chcete-li ale složitější stránky s objemným obsahem (např. video), tak je vhodnější sáhnout po několika GB alternativě.

3. Ač v dnešní době již asi nenarazíte na webhosting bez FTP připojení, dejte si pro jistotu pozor na fakt, zda webhosting podporuje plnohodnotné FTP. Některé, zejména bezplatné webhostingy podporovaly tzv. WebFTP, což rozhodně není ideální cesta k umisťování a správě HTML souborů.

4. Pokud chcete mít k hostigu také emailové schránky, pak se u provozovatele zajímejte, zda je tato služba v ceně, nebo se za jednotlivé schránky připlácí. Pokud již budete využívat například adresu http://www.firma.cz , pak je ideální mít emailové adresy ve tvaru info@firma.cz apod.

5. Sledujte, jaké garance a dostupnost poskytovatel zajišťuje. Za dlouhodobý výpadek by měl mít zodpovědnost. Také si prostudujte, na jakou technickou podporu máte nárok. Malé a obvykle levnější hostingy například nenabízí možnost telefonické konzultace, jen emailovou cestou. To je ale pro rychlé vyřešení technického problému nedostačující.

Obrázek 1.7: WebFTP není klasické FTP

1.4.3 FTP protokol

Vzhledem k tomu, že je File Transfer Protocol (FTP) prakticky nejrozšířenějším protokolem pro kopírování souborů na webový server, je důležité vlastnit některý z programů spadajících do kategorie FTP klient. FTP klient umožňuje manipulaci se soubory, které tvoří obsah webu. Lze s ním provádět veškeré možné operace se soubory na webu, tj. přenos souborů na server, vytváření adresářů na serveru, mazání souborů a adresářů na serveru. FTP klient poskytuje naprostou kontrolu nad obsahem webu.

Doporučení FTP klienti

Total Commander. Pravděpodobně nejoblíbenější a nejrozšířenější souborový manažer, který vyniká širokým spektrem funkcí, ale stále si zachovává přehlednost, jednoduchost a rychlost. Ideální pomocník nejen coby souborový správce, ale také jako FTP klient v jednom. Program lze zdarma využívat po dobu 30 dnů, licence stojí cca 700 Kč a v ceně jsou všechny budoucí vydané aktualizace programu.

Web: www.totalcmd.com

FileZilla. Tento bezplatný FTP klient nabízí základní funkce, ale není složitý a má velmi jednoduché ovládání. FileZilla patří do kategorie opensource, distribuovaný pod GNU General Public Licencí, je tedy volně šiřitelný. Jeho binární soubory jsou dostupné pro operační systémy Windows, Linux a Mac OS X. Samozřejmostí je podpora přenosů FTP, SFTP a FTPS (FTP přes SSL/TLS).

Web: http://www.filezilla.cz

WinSCP. WinSCP je český volně šiřitelný FTP a SCP (Secure Copy) klient pro Windows používající SSH. Jeho hlavním účelem je bezpečné kopírování souborů mezi lokálním a vzdáleným počítačem. Mimo této základní funkce umožňuje WinSCP provádět některé další operace se soubory. Ovládání WinSCP je založeno principu Norton Commanderu, v levém panelu se zobrazuje lokální složka a v pravém vzdálený adresář. Vzhled seznamu souborů je stejný jako v Průzkumníku Windows.

Web: http://winscp.net/eng/docs/lang:cs

Obrázek 1.8: Prostředí programu WinSCP

1.4.4 Zkušební bezplatný webhosting

Najít v dnešní době kvalitní placený hosting pro vlastní web je velice obtížné. Najít solidní hosting zdarma je skoro nemožné. Přesto se pokusím srovnat několik projektů, které nabízejí zajímavé hostovací služby pro vaše webové stránky.

Pokud nahlédneme trochu do minulosti, pak můžeme zavzpomínat na doby, kdy hosting webových stránek patřil ke zbožnému přání a nedostupnému snu – zejména pro běžné uživatele, dnes bychom asi řekli pro bloggery. Kromě toho, že byl hosting drahý, obvykle bez podpory skriptovacích jazyků a databáze, také ceny doménových jmen se počítaly na tisícikoruny. Dnes, kdy lze doménu s různou koncovkou získat do tří stokorun, je situace jiná i na poli s hostingem.

Do českých předražených vod internetu, kde mnoho uživatelů raději hostovalo v zahraničí, vstoupili menší poskytovatelé webového prostoru a udělali v rámci konkurenčního boje pořádný vítr v cenících velkých webhostingovývh společností. Příkladem za všechny může být Banan nebo Ebola. Ač je na tyto nízkonákladové hostingy občas slyšet kritika, můžeme jejich autorům poděkovat. Nebýt těchto projektů, asi by byl hosting webů stále zbytečně předražený.

Endora: Maximum služeb za 0 Kč

Freehosting Endora byl od samého začátku navržen tak, aby jako první v ČR nabídl služby, za které se běžně platí, zcela zdarma. Nabízí solidní 2 GB prostoru pro FTP úložiště a databáze pro neomezené množství domén. Veškeré nastavení se provádí velmi snadno přes přehlednou webovou administraci. K dispozici jsou připraveny i videonávody. Asi největší výhodou tohoto hostingu je možnost spravovat více domén na jeden uživatelský účet. Pokud tedy vytváříte web pěti různým zákazníkům, můžete je všechny spravovat pomocí jednotného rozhraní. Na každý web tak máte 2 GB. Dohromady tedy dostanete na pět webů celkem 10 GB prostoru.

Obrázek 1.9: Administrace služeb Endora je velmi přehledná

Na každý web může být navázána jak doména druhého řádu, tak doména třetího řádu, kterou vám Endora poskytne zdarma. Hosting podporuje technologie PHP, MySQL (včetně PhpMyAdmin), dále umožňuje spouštět skripty pomocí služby CRON. Velkou předností je možnost nainstalovat redakční systémy Wordpress, Joomla, Drupal apod. pomocí jediného klepnutí v administraci. Zprovoznit tyto systémy je často nelehké, ale v podání tohoto hostingu jde o otázku několika vteřin.

Free webhosting Endora funguje ze sponzorských darů, na oplátku na každý web do patičky automaticky umisťuje pět sponzorovaných odkazů. Provozovatel se dušuje, že tyto odkazy nijak neomezují váš projekt, neodkazují totiž na pochybné nebo závadné stránky. Dále je možnost ovlivnit umístění i grafiku těchto sponzorovaných odkazů. Nově nabízí provozovatel placený webhosting, kde za cca 15 Kč měsíčně dostanete 5 GB prostoru pro každou doménu – a vaše weby budou zbaveny zmíněných reklamních odkazů.

Web: www.endora.cz

IC.CZ: Dostačuje na základní projekty

Projekt Endora je poměrně nový, ale IC.CZ funguje již řadu let. Zdarma vám webhoster nabízí 250 MB prostoru, PHP, MySQL, CRON, přehlednou administraci a další služby. Na základní a méně náročné projekty je tento hosting jako dělaný. Buď si můžete zvolit webovou adresu třetí úrovně z nabízených variant, nebo za dvě stokoruny zaregistrovat doménu druhého řádu, která bude na váš freehosting přímo nasměrována. Freehosting má v záhlaví úzkou lištu se sponzorskými odkazy, jejíž barvu si můžete nastavit dle libosti. Provozovatelé nabízejí také placenou variantu hostingu, která má zhruba desetkrát větší prostor pro vaše stránky a pro databázi, je rychlejší, zálohovaná a dokonce k hostingu můžete dostat doménu druhého řádu zcela zdarma. Cena tohoto programu je 600 Kč na rok.

Web: www.ic.cz

Webzdarma: Neurazí, neoslní

Tato služba funguje na internetu již také mnoho let. Provozovatel na svém webu nabízí 200–500 MB prostoru podle toho, jaký typ reklamy si na webu necháte líbit (reklamní pás odkazů nebo banner). Kromě FTP účtu lze využít technologie PHP a MySQL, zdarma zaregistrovat doménu třetí úrovně nebo využívat emailovou schránku o velikosti 50 MB. Služba jako taková je vhodná na statické nenáročné prezentace, i když provozovatel uvádí možnost využít a instalovat redakční systémy, zkušenosti uživatelů jsou trpké – gigantické produkty jako Joomla fungují na tomto webhostingu poměrně pomalu.

Web: www.webzdarma.cz

ASPone: Pro nadšence do technologie ASP.NET

Bezplatný hosting pro skriptovací jazyk ASP.NET takříkajíc – abys pohledal. Existují ale možnosti, jak testovat tuto technologii bezplatně. Webhosting ASPone nabízí zdarma 40 MB pro váš projekt včetně možnosti využití databáze MS SQL a dalších technologií společnosti Microsoft. ASPone je jako jediný ASP.NET 3.5 freehosting zdarma, jenž nabízí všem uživatelům možnost vyzkoušet si nový Windows Server 2008. Zajímavé je, že i u bezplatných účtů je možné využít technickou podporu nebo obnovu dat ze záloh po dobu jednoho měsíce.

Web: www.aspone.cz

Shrnutí

Vybrat dobrý bezplatný hosting je skutečně složité. Věřte ale, že mnohem těžší je vybrat dobrý hosting placený. U bezplatného jej vyzkoušíte a maximálně svůj web přesunete jinam. U placeného obvykle zaplatíte cenu na rok dopředu, a jste tak s poskytovatelem hostingu svázáni.

1.5 Struktura souborů a složek

Webové stránky v XHTML nebo PHP či obvykle v kombinaci obou technologií nejsou ničím jiným, než skupinou souborů. Soubory, které tvoří webové stránky lze rozdělit do několika základních skupin.

1.5.1 Základní typy souborů

HTML soubory. Tyto soubory obsahují základ webových stránek, tedy (X)HTML kód, který dokáže internetový prohlížeč zobrazit jako webovou stránku. Příponou souborů obvykle bývá koncovka HTML nebo HTM. Úvodní stránka se označuje index.html resp. index.htm .

PHP soubory. Pokud je web tvořen kombinací HTML kódu a PHP skriptu, pak jsou všechny soubory webových stránek obvykle označeny koncovkou PHP. Úvodní stránka je v tomto případě index.php .

CSS soubory. Tyto soubory definují kaskádové styly. Na jednoduchém webu si obvykle vystačíme s jediným souborem, který má koncovku CSS.

Obrázky. Webové stránky obsahují obvykle různé typy obrázků. Může jít o grafické prvky návrhu stránky, bannery, tlačítka, fotogalerie apod. Obrázky, které se na webu používají, by měly být ideálně ve formátech JPG, GIF nebo PNG.

Javascript. Kód Javascriptu může být zahrnut přímo v HTML nebo PHP souborech, obvykle je ale výhodnější umístit všechny skripty (funkce) do jediného souboru. Poté se můžete z různých stránek odvolávat na jeden soubor s Javacriptem a pokud dojde k nějaké změně, provádíte ji na jednom místě v jediném souboru, a nejste nuceni editovat desítky souborů. Soubory s Javascriptem mají obvykle koncovku JS.

1.5.2 Rozdělení do složek

Prvním a zlatým pravidlem je, že není ideální všechny soubory dávat do jediné složky, tedy na jedno místo. Do kořenové složky webových stránek je u jednodušších webů v HTML vhodné umístit soubory webových stránek. Ostatní soubory je velice vhodné umístit do složek tak, abyste měli lepší přehled.

Příklad souborové struktury jednoduchého webu

…

[images]

[js]

[gallery]

[styles]

fotogalerie.html

index.html

o_me.html

Výše uvedený příklad obsahuje čtyři adresáře. Do images bychom umístili grafiku webu mimo fotografií. Do složky js bychom dali javascript. Složku gallery bychom využili k ukládání fotografií a složka styles by obsahovala CSS styly. Následují tři HTML soubory – základní index.html a dvě podstránky. U stránek kombinujících HTML a PHP bychom mohli strukturu dále rozšířit.

Příklad struktury webu kombinovaného s PHP

…

[administrator]

[images]

[includes]

[js]

[gallery]

[styles]

fotogalerie.php

index.php

o_me.php

Struktura vzorové prezentace v PHP se liší o několik detailů. Webové stránky mají koncovku PHP. Složka administrator obsahuje například administrační rozhraní webu pro jeho dynamickou úpravu (redakční systém). Složka includes obsahuje vkládané soubory (hlavička webu, pata, připojení do databáze, PHP funkce apod.).

1.5.3 Zásady a doporučení

V této části jsme se dozvěděli, že webové stránky obsahují kromě hypertextových dokumentů také obrázky, CSS styly, případně prakticky jakékoli soubory určené pro stahování (download). Také jsme si ukázali, jak by mohla vypadat adresářová struktura jednoduchého webu. Nyní vše doplníme o zásady, které není radno při práci se soubory www prezentace porušovat.

■ Jména souborů a adresářů volte kratší, bez mezer (možno nahradit znakem _) a bez diakritiky či speciálních znaků.

■ Jelikož jsou internetové prezentace velmi často umístěny na serverech s operačními systémy, jejichž souborový systém rozlišuje velká a malá písmena v názvech (Unix, Linux) doporučuje se používat pouze malá písmena (například oblíbený FTP klient Total Commander má implicitně zapnutou volbu převodu na malá písmena při přenášení souborů na server).

■ Odkazy na soubory v rámci prezentace uložené na jednom serveru (u offline verze na jednom disku) je vhodné zapisovat relativně – výchozím adresářem je vždy adresář, kde je uložen soubor, ze kterého odkazujeme. Pouze odkazy na jiný server (u offline verze na jiném disku) se zapisují úplnou (absolutní) specifikací. Tím zajistíme snadnou přenositelnost celé prezentace na jiný server (u offline verze na jiný disk).

Vážení čtenáři, právě jste dočetli ukázku z knihy CSS a XHTML.
Pokud se Vám líbila, celou knihu si můžete zakoupit v našem e-shopu.