České vysoké učení technické v Praze Fakulta elektrotechnická. Bakalářská práce. Jan Zikán. Vedoucí práce: Ing. Michal Valenta, Ph.D.

Rozměr: px
Začít zobrazení ze stránky:

Download "České vysoké učení technické v Praze Fakulta elektrotechnická. Bakalářská práce. Jan Zikán. Vedoucí práce: Ing. Michal Valenta, Ph.D."

Transkript

1 České vysoké učení technické v Praze Fakulta elektrotechnická Bakalářská práce Specializovaný redakční systém pro ekonomický portál Jan Zikán Vedoucí práce: Ing. Michal Valenta, Ph.D. Studijní program: Informatika a výpočetní technika červenec 2006

2 ii

3 Poděkování Rád bych tou to cestou poděkoval Janu Fialovi, autorovi skvělého freeware editoru PSPad, který se pro mě stal nenahraditelným nástrojem při vytváření webových stránek. iii

4 iv

5 Prohlášení Prohlašuji, že jsem svou bakalářskou práci vypracoval samostatně a použil jsem pouze podklady uvedené v přiloženém seznamu. Nemám závažný důvod proti užití tohoto školního díla ve smyslu 60 Zákona č. 121/2000 Sb., o právu autorském, o právech souvisejících s právem autorským a o změně některých zákonů (autorský zákon). V Praze dne v

6 vi

7 Abstract This work represents results of creation of content management system for specialized economic portal, which also includes discussion forum. Abstrakt Tato práce prezentuje výsledky tvorby redakčního systému pro specializovaný ekonomický portál, který taktéž zahrnuje diskusní fórum. vii

8 viii

9 Obsah Seznam obrázků...xi Seznam tabulek...xiii 1. Úvod Popis problému Vymezení cílů Využitelnost Rozšiřitelnost Vzhled a design Přístupnost Zabezpečení Další hlediska Konkrétní požadavky na funkce systému Struktura systému HTML HTTP Webový server Komunikace mezi klientem a serverem Dynamické vytváření stránek Datová vrstva serveru Souhrn Existující implementace Joomla PHP-Nuke phprs Konečné zhodnocení Analýza Možnosti systému Uživatelské role Datový model Jazyk pro tvorbu dynamických stránek CGI skripty ASP PHP Webový server IIS Apache Databáze Oracle Microsoft SQL Server Microsoft Access PostgreSQL MySQL Zhodnocení Skriptovací jazyk na klientské straně Formát generovaných dokumentů a definice vzhledu XML ix

10 3.7.2 XHTML CSS DHTML Kódování Znaková sada Unicode UTF Návrh řešení Struktura databáze Struktura systému Navigace Cookies Přenos informací jako parametry v URL Sessions Tvorba formulářů Realizace Zabezpečení Speciální znaky SQL injection Vícenásobné odeslání formuláře Komentářový spam Testování Závěr Seznam literatury...29 A Seznam použitých zkratek...31 B Relační model databáze...32 C Instalační příručka...33 D Uživatelská příručka...34 E Obsah přiloženého CD...41 x

11 Seznam obrázků Obr Průběh komunikace mezi prohlížečem a WWW serverem... 4 Obr Architektura dynamického webu... 5 Obr Druhy jazyků HTML a XHTML Obr DHTML použité technologie Příloha Obr. 1 Relační model databáze Příloha Obr. 2 Hlavní stránka redakčního systému uživatel nepřihlášen Příloha Obr. 3 Hlavní stránka redakčního systému uživatel přihlášen Příloha Obr. 4 Výpis článků autora Příloha Obr. 5 Zobrazení článku Příloha Obr. 6 Vložení článku do redakčního systému Příloha Obr. 7 Hlavní stránka diskusního fóra uživatel přihlášen Příloha Obr. 8 Výpis podkategorií a témat zvolené kategorie Příloha Obr. 9 Výpis příspěvků Příloha Obr. 10 Profil uživatele Příloha Obr. 11 Vložení příspěvku Příloha Obr. 12 Registrace uživatele Příloha Obr. 13 Nastavení přístupového hesla Příloha Obr. 14 Nastavení osobních údajů uživatele xi

12 xii

13 Seznam tabulek Tabulka Přehled uživatelských rolí a přidělených práv... 9 xiii

14

15 1. Úvod Cílem mé bakalářské práce bylo vytvořit redakční systém pro specializovaný ekonomický portál, jehož součástí je také diskusní fórum. Po důkladném zvážení úkolu jsem se rozhodl pro obecnější řešení - vytvoření komplexního systému, jehož specializace by byla dána jeho obsahem a specifické funkce, dle konkrétních požadavků, by do něj byly přidávány formou modulů. Implementace systému bude prvotně využita pro prezentaci informací a článků z oblasti ekonomie. 2. Popis problému 2.1 Vymezení cílů K cílům práce jsem přistupoval z několika hledisek: Využitelnost Rozšiřitelnost Vzhled a design Přístupnost Zabezpečení Další hlediska Konkrétní požadavky Využitelnost Redakční systém a přidružené diskusní fórum by měli vytvářet celistvý systém, který by mohl být využit na různých portálech se specifickým zaměřením. O obsah webového portálu by se měli starat samotní uživatelé, kteří budou rozčleněni do hierarchie dle přidělených práv pro práci se systémem a jeho částmi. Z hlediska možného využití systému na cizojazyčných či vícejazyčných portálech by měl systém umožnit zobrazení dat v různých jazycích ve správném nezkresleném tvaru Rozšiřitelnost Vzhledem k zamýšlené obecnosti a využitelnosti systému na portálech s různým zaměřením by měl být systém navržen tak, aby mohl dle požadavků a záměrů provozovatelů portálů být případně doplněn o další funkce, které v něm nejsou obsaženy Vzhled a design Každý provozovatel webových stránek má jinou představu o jejich vzhledu a designu. Vzhledem je myšlena třeba barevná skladba stránek, použité druhy písma, zarovnání, ale i rozložení jednotlivých elementů stránek prostě vše co nespadá do obsahu. Z tohoto důvodu by měl být výsledný systém koncipován tak, aby byl obsah stránek důsledně oddělen od jejich formy. Tak bude možné měnit vzhled stránek dle představ provozovatele, aniž by byl ovlivněn obsah. Změna vzhledu stránek, ať už nepatrná či razantní by měla být snadno proveditelná. Vzhledem k plánované využitelnosti systému na portálech s různým zaměřením, nabývá možnost snadné modifikace designu stránek ještě většího významu. 1

16 2.1.4 Přístupnost Webové stránky by měly být vytvářeny s úmyslem, že spolu s kvalitním obsahem se bude jejich návštěvnost pravděpodobně zvyšovat. Mnohé internetové portály získávají své finanční prostředky zobrazováním reklam, a proto je vysoká návštěvnost jejich prioritou. Za kvalitní obsah, který by měl návštěvníky přilákat, mnohdy provozovatelé platí nemalé peníze. Velký důraz by při vytváření systému měl být kladen na zpřístupnění obsahu co největšímu počtu lidí. Při prohlížení obsahu webových stránek by neměli být jejich návštěvníci nijak znevýhodňováni ať už z hlediska softwaru, který k zobrazení stránek používají (Internet Explorer, FireFox apod.), platformy na které si stránky prohlížejí nebo z hlediska jiných specifických potřeb. Znevýhodněni by neměli být návštěvníci při přístupu k informačnímu obsahu portálu ani rychlostí svého připojení k internetu. Čím širšímu okruhu lidí stránky zpřístupníme a poskytneme jim při prohlížení jejich obsahu určitý komfort, tím více lidí se bude na naše stránky vracet. Komfort při prohlížení stránek představuje především možnost rychlého nalezení informací, které návštěvník hledá, s čímž souvisí snadná navigace a orientace v systému, ale i možnost přizpůsobit si vzhled stránek tak, aby návštěvníkovi co nejvíce vyhovoval (např. zvětšení písma pro slabozraké), aniž by byl narušen layout stránek rozložení elementů stránky. Je zřejmé, že není možné se při vytváření stránek zavděčit všem. Je proto nutné zvolit správnou rovnováhu mezi vzhledem stránek a jejich přístupností co možná největšímu počtu návštěvníků. S přístupností webových stránek souvisí také jejich validita tzn. dodržení standardů. Psaní validního kódu nám poskytuje záruku, že se stránky zobrazí správně ve všech prohlížečích vyhovujících webovým standardům. Vytvořený systém by měl z hlediska přístupnosti podporovat: Správné zobrazení stránek v nejpoužívanějších prohlížečích Internet Explorer, FireFox (prohlížeče pracující na jádře Gecko), Opera validita stránek Snadnou navigaci v systému stránek Rychlost načítání stránek Variabilitu zobrazení stránek bez narušení designu Zabezpečení Zabezpečení redakčního systému a diskusního fóra proti útokům z vnějšku by mělo být jedním z důležitých cílů této práce, přičemž běžný uživatel přistupující k obsahu stránek, by si neměl bezpečnostních mechanismů ani všimnout. Zabezpečení by mělo zahrnovat kontrolu vstupních údajů vkládaných do systému, přidělení práv pro práci se systémem a jeho částmi. Důležitým bezpečnostním prvkem by měla být ochrana proti spamu nevyžádanému masově šířenému sdělení Další hlediska Do této kategorie cílů práce bych zahrnul systematickou snahu o zvýšení návštěvnosti daného portálu pomocí SEO (Search Engine Optimalization) prostředků optimalizace pro vyhledávače. 2

17 Pokud dosud neznámý webový portál nevynakládá prostředky k informování veřejnosti o své existenci (pomocí reklamy), je jen malá šance, že se potencionální návštěvník o daném portálu dozví. Jednou z možností jak může člověk dané stránky nalézt, je výsledek hledání klíčového slova či fráze vyhledávačem webových stránek, přičemž stránky vyhovující hledané frázi jsou řazeny sestupně dle určitého hodnocení (page ranking), které je dáno vnitřním algoritmem vyhledávače. Tento algoritmus se pro jednotlivé vyhledávače liší, ale v zásadě bere v potaz spjatost stránky s hledanou frází či slovem, důvěryhodnost obsahu stránek a jejich atraktivitu pro vyhledávač. Techniky pro zvýšení hodnocení stránek vyhledávačem se souhrnně nazývají SEO a jejich podstatou je správné strukturování dokumentů a odstranění nepodstatných částí kódu Konkrétní požadavky na funkce systému Systém by měl umožňovat: Diferencovaný přístup uživatelů do systému pomocí uživatelského jména a hesla Udělení různých práv uživatelům pro práci se systémem vytvoření hierarchie dle přidělených práv Registraci nových uživatelů Vkládání článků a komentářů do redakčního systému Vkládání příspěvků do diskusního fóra 2.2 Struktura systému Při vytváření redakčního systému je důležité vzít v potaz, že je aplikován na portály, jejichž obsah je často aktualizován a časem se rozrůstá. Takový systém nemůže být tvořen statickými stránkami, protože při každé změně obsahu by bylo nutné přepsat jejich zdrojový kód. Systém, jehož obsah je proměnlivý v čase musí být interaktivní a tedy pružně reagovat na požadavky uživatelů. Abych mohl lépe definovat strukturu systému a proces, kterým jsou stránky dynamicky vytvářeny, měl bych předtím přistoupit k vysvětlení několika pojmů HTML Jazyk HTML (Hypertext Markup Language) byl prvním jazykem pro vytváření stránek, který se vyvinul z univerzálního jazyka SGML (Standard Generalized Markup Language). Vývoj jazyka HTML byl ovlivněn vývojem webových prohlížečů. Dnes existuje ve verzi 4.01, ale postupně je nahrazován novějším jazykem XHTML (Extensive Hypertext Markup Language), který klade důraz na oddělení obsahu stránek od jejich formy HTTP Protokol HTTP (Hypertext Transfer Protocol) byl původně určen pro přenos hypertextových dokumentů ve formátu HTML, ale v současné době s ním lze přenášet jakýkoli soubor. Ke specifikaci jednoznačného umístění dokumentů na internetu využívá jednotného lokátoru zdrojů URL (Uniform Resource Locator) řetězec znaků s definovanou strukturou. URL definuje doménovou adresu serveru, umístění dokumentu na serveru, protokol pro přístup k souboru a parametry. 3

18 2.2.3 Webový server Webový server nebo také WWW server je počítač nebo počítačový program, který vyřizuje požadavky ve formě HTTP ze strany klienta. Vyřízením požadavku se rozumí odeslání požadovaných dat (např. dokumentu HTML) klientovi (prohlížeči) Komunikace mezi klientem a serverem Protokol HTTP funguje na bázi dotaz-odpověď. Uživatel pomocí internetového prohlížeče (klientská strana) zašle serveru dotaz jako čistý text, který obsahuje označení požadovaného dokumentu ve formě URL, informace o prohlížeči apod. Server následně odpoví pomocí několika řádků textu popisujících výsledek dotazu (zda se dokument podařilo najít, typ dokumentu), za kterými následují samotná data požadovaného dokumentu (např. dokument HTML). Obr Průběh komunikace mezi prohlížečem a WWW serverem Dynamické vytváření stránek Stránka ve formátu (X)HTML je soubor uložený na disku WWW serveru. Takto předem připravené stránky nazýváme statickým obsahem serveru a klientovi jsou poskytnuty beze změny. Každá stránka má své unikátní URL. Je však možné aby URL odkazovalo na skript, kterým může být výsledná stránka dynamicky generována. Skript je zpracován na straně serveru a klientovi (prohlížeči) je poskytnut výsledný dokument (X)HTML, který může obsahovat aktuální informace (dynamický obsah). K dynamickému vytváření obsahu se používá řada technologií, kterým se budu věnovat v analytické části při výběru implementačních prostředků. Statický obsah je server klientovi schopen poskytnout výrazně rychleji než dynamický. Pomocí dynamického obsahu je však možné pružně poskytovat větší množství informací dle daných požadavků Datová vrstva serveru Informační obsah systému a informace o uživatelích a jejich nastavení jsou u dynamicky vytvářených stránek uloženy v datové vrstvě serveru. Data mohou být jednoduše uložena v souborech, ale v dnešní době se pro ukládání dat a práci s nimi nejčastěji využívá databází pracujících na databázových serverech, které poskytují řadu výhod, mezi něž patří snadné zabezpečení dat a přidělení práv pro manipulaci s nimi. Při práci s daty uloženými v souborech je nutné řešit problém kolizí, které mohou nastat při vícenásobném přístupu k souborům (při zápisu). Databáze zajišťuje atomicitu transakcí (souboru operací) automaticky, což znamená že daná činnost se provede najednou a nemůže být přerušena a dokončena později. Transakce A může nastat před transakcí B nebo až po ní, ale nemohou probíhat současně. Ve skutečnosti transakce současně probíhají, ale synchronizace provedená databázovým serverem zajišťuje, že 4

19 databáze bude vypadat, jako kdyby transakce proběhly postupně. Pokud není soubor operací možné provést, provede databáze rollback návrat do původního stavu před provedením transakce. Velkou výhodou relačních databází (databázových systémů založených na relačním modelu dat a relační algebře) je dotazovací jazyk SQL (Structured Query Language). Problematika relačních databází a jazyka SQL je velice dobře popsána ve skriptech pro předmět Databázové systémy [3] Souhrn Obr Architektura dynamického webu Základem redakčního systému a diskusního fóra je soubor technických prostředků na straně serveru - databáze obsahující samotný obsah systému a skripty, které z těchto dat automaticky generují stránky ve formátu (X)HTML s daným obsahem, dle požadavků uživatelů. Z hlediska zmenšení zatížení webového serveru jsou součástí systému i skripty na klientské straně, které řeší požadavky uživatelů aniž by je zasílali serveru. Tyto skripty nemohou přistupovat k datům uloženým v databázi. Mohou ale kupříkladu kontrolovat správnost vstupních údajů od uživatelů, před jejich vložením do databáze. Realizací projektu spočívajícího ve spolupráci s databází, skripty automaticky generujícími stránky dle požadavků uživatelů na straně serveru a skripty kontrolujícími vstupní data před jejich odesláním serveru získáme obecně použitelný systém, který může být využit na různých portálech a zároveň splňuje naše vytyčené cíle. 2.3 Existující implementace Pro každý větší portál, jehož obsah je často aktualizován, je redakční systém dobrým a elegantním řešením. Při změně obsahu stránek se jejich provozovatel nemusí starat o úpravu jejich zdrojového kódu. Jeho jedinou starostí pak tedy zůstává obstarávání kvalitního obsahu, který by návštěvníkům poskytnul. Vytvoření redakčního systému pro daný portál může být velice nákladná záležitost. Existuje však množství již hotových řešení, které může provozovatel pro své potřeby 5

20 využít zdarma. Nabízená řešení se velmi liší svou kvalitou a množstvím poskytovaných funkcí. Rád bych se zde zmínil o nejpoužívanějších a nejlépe hodnocených redakčních systémech, které jsou v dnešní době využívány. Zaměřil jsem se především na systémy šířené pod OSS (open-source software) licencí, což znamená, že je daný systém nejen dostupný zdarma, ale jeho zdrojové kódy je možno i prohlížet a upravovat Joomla Jedná se o velice rozšířený CMS (content management system) redakční systém, který díky svým kvalitám už po světě získal řadu ocenění. Systém je napsán v jazyce PHP (PHP Hypertext Preprocesor) a využívá databázi MySQL. Systém Joomla je v dnešní době k dispozici ve verzi , ale dle vývojového plánu by verze 2.0 měla být kompletně přepsána do jazyka PHP 5. Joomla je komplexní systém, který nabízí množství funkcí. S jeho pomocí lze vytvářet jednoduché dynamické stránky, ale i rozsáhlé portály. Jeho dalšími výhodami jsou: Snadná instalace Práce se systémem nevyžadující znalost jazyků pro vytváření webových stránek Flexibilita Elegantní design Možnost rozšíření o další funkce Ačkoliv se jedná o velice vydařený redakční systém, může jeho množství různých nastavení a funkcí některé uživatele odradit. Velké množství funkcí, které jsou v systému dostupné také určitě nevyužije každý. Autoři na domovských stránkách tohoto produktu inzerují jednoduchost změny vzhledu stránek a jejich layoutu, avšak není to tak úplně pravda. Vzhled stránek je zčásti tvořen pomocí tabulek v kódu stránek, takže při snaze o razantnější změnu vzhledu je nutné zasáhnout do zdrojového kódu, což vyžaduje určitou znalost XHTML, v němž jsou stránky napsány. Podmínkou správné funkčnosti systému je zapnutý JavaScript na klientské straně. Dalo by se říci, že tato výtka je spíše malicherná, protože většina moderních prohlížečů má JavaScript implicitně zapnutý, bez jeho zapnutí je však systém téměř nefunkční a neovladatelný. Výše vyjmenované nedostatky redakčního systému Joomla jsou spíše vadami na kráse, které však mohou provozovatele portálu při výběru systému ovlivnit PHP-Nuke Redakční systém PHP-Nuke je koncipován jako modulární a snadno rozšiřitelný. Již ve své základní konfiguraci obsahuje množství modulů, které obstarávají rozmanité funkce. Ke svému provozu vyžaduje databázi SQL (doporučována je MySQL, na které byl systém testován), webový server Apache a programovací jazyk PHP verze 4.x, které jsou na internetu volně dostupné. Systém je lokalizován do více než 20 jazyků, mezi nimiž bohužel není čeština. Na českých portálech je však hojně využívaný systém UNITED-NUKE, který je z tohoto redakčního systému odvozen a který českou lokalizaci obsahuje. Kolem této modifikace původního systému se u nás vytvořila široká komunita uživatelů, která pro ní vytváří další funkce ve formě modulů. 6

21 Systém PHP-Nuke trpí neduhem mnoha redakčních systémů a tím je zastaralý způsob vytvoření vzhledu a rozložení prvků stránek pomocí tabulek. Změna vzhledu pak vyžaduje zásah do zdrojového kódu, který je v tomto případě napsán v HTML 4.01 a vyžaduje od uživatele již určité znalosti. Vzhled stránek také není vytvořen variabilně pro možnost jeho úpravy ze strany návštěvníka např. při změně velikosti písma či změně rozlišení obrazovky se čitelnost obsahu stránek rapidně sníží. Stránky generované PHP ve většině případů obsahují syntaktické ale i sémantické chyby, které, ačkoliv nezpůsobují funkční problémy systému, mohou vést k chybnému zobrazení stránek v různých prohlížečích, jež chybný kód interpretují různým způsobem. Stránky byly testovány validátorem zdrojového kódu mezinárodního konsorcia W3C [1], jehož členové vyvíjejí webové standardy phprs Redakční a informační systém phprs je oproti předchozím dvěma systémům ryze českým produktem a mezi českými uživateli je velice oblíben. Stejně jako výše zmiňované systémy využívá skriptovacího jazyka PHP a databáze MySQL. Mezi hlavní rysy systému dle jeho autora patří: Správa uživatelů rozlišení mezi různými typy uživatelů a jejich přístupovými právy k systému Vzhled vytvářený pomocí šablon (bez nutnosti zasahovat do samotného kódu systému). Šablony lze mezi sebou kombinovat Rozšiřitelnost ve formě modulů a pluginů Sledování statistik návštěvnosti Reklamní management pro správu reklam Interní zálohovací subsystém umožňující zálohovat celou databázi Je patrné, že tento systém oproti předchozím dvěma nenabízí téměř žádnou novou funkcionalitu. Důvodem jeho obliby mezi českými uživateli je především vstřícný přístup komunity podporující projekt, která kromě vytváření dalších rozšíření ve formě modulů také publikuje množství informací a rad, jak systém přizpůsobit specifickým požadavkům. Velkou výhodou může být pro mnohé uživatele, kteří chtějí systému nahlédnout pod kůži, srozumitelný kód s komentáři. Šablony pro vytváření vzhledu definují layout stránek stejně jako předchozí systémy pomocí tabulek v kódu stránek, čímž brání snadné modifikaci, ačkoli autoři ve svých záměrech tvrdí opak. Podobně jako u předchozího redakčního systému PHP-Nuke ani zde není kód výstupních stránek validní, čímž nezaručuje správné zobrazení stránek ve všech prohlížečích Konečné zhodnocení Volně dostupných redakčních systémů existuje celá řada, většina z nich je však určena pro méně rozsáhlé webové stránky nebo blogy (web logy webové deníky). Výchozím bodem pro výběr správné alternativy redakčního systému pro specifické účely může být 7

22 stránka OpenSourceCMS [2], kde lze nalézt množství informací, odkazů a hodnocení uživatelů. Mezi nejčastější nevýhody nabízených systémů patří již zmiňovaná tvorba vzhledu pomocí tabulkových layoutů a nevalidita výsledného kódu. Většina nabízených řešení také nepočítá s aplikací pro vícejazyčné portály, na kterých mohou být použity různé znakové sady. Z hlediska mé práce téměř žádné řešení nenabízelo redakční systém spolu s diskusním fórem. Systémů vytvořených speciálně pro tvorbu diskusních fór je také mnoho (např. systém phpbb), ale bylo by pak zapotřebí využití více různých systémů, které by bylo třeba sjednotit. Množství systémů pro tvorbu diskusních fór lze najít na zmiňované stránce OpenSourceCMS [2]. 3. Analýza V předchozí kapitole jsme si stanovili strukturu systému, které by se měla skládat ze dvou částí. Část na straně serveru obstarává dynamické generování stránek na základě požadavků klientů z dat uložených v datové vrstvě serveru tvořené databází. Druhá část systému na straně klienta by měla řešit požadavky klienta bez jejich odeslání serveru ke zpracování, což je mnohem rychlejší, ale skripty na klientské straně nemohou přistupovat k datům v datové vrstvě serveru. Před vlastní tvorbou projektu si musíme určit možnosti a schopnosti systému a vybrat konkrétní implementační prostředky, které pro vytvoření redakčního systému a přidruženého diskusního fóra použijeme. Z implementačních prostředků je třeba si zvolit: Skriptovací jazyk pro dynamické vytváření stránek a práci s daty Databázový server, který tvoří datovou vrstvu systému Webový server na kterém celý systém poběží a jehož vlastností může systém využívat Jazyk pro zpracování požadavků na klientské straně Formát výsledných dynamicky vytvářených dokumentů a způsob jakým v nich bude definován vzhled a design Jedním z hlavních cílů práce byla využitelnost vytvořeného projektu i pro jiné portály se specifickým zaměřením. Aby se provozovatel webových stránek nemusel starat o záležitosti spojené s provozem serveru (vytíženost a možné výpadky), byl systém vytvářen s úmyslem umístění na serveru provozovaném třetí stranou. Třetí stranou zde rozumíme placené hostingové nebo free-hostingové služby, které poskytují prostor pro uložení obsahu dostupného přes internet na svých serverech za úplatu či zdarma. Hostingové služby zároveň poskytují garance zabezpečení proti možné ztrátě dat při výpadcích serveru. Množství a kvalita služeb poskytovaných hostingovými servery se velmi liší. Používaný webový server a platforma (operační systém) na které je server provozován určují, jaké prostředky k vytváření dynamických stránek může uživatel využít. Při výběru implementačních prostředků jsem dbal na to, aby bylo systém možno provozovat na co největším počtu hostingových a free-hostingových serverů, ale aby bylo možné systém provozovat bez velkých nákladů i na vlastním stroji. 8

23 3.1 Možnosti systému Před samotnou realizací projektu je nutné si ujasnit, jaké schopnosti má implementovaný systém mít a jaké funkce má uživatelům poskytovat od toho se odvíjí i datový model systému. Projekt zahrnuje redakční systém pro vkládání článků s možností reakce na daný článek formou komentáře a diskusní fórum s možností vkládání příspěvků do konkrétních diskusních témat Uživatelské role Důležitou vlastností systému je diferencovaný přístup uživatelů k systému a možnost manipulace s jeho obsahem dle přidělených práv. Pro tyto účely si definujeme uživatelské role: Návštěvník neregistrovaný uživatel systému, který může číst obsah systému (články v redakčním systému a příspěvky v diskusním fóru), ale nemůže s ním manipulovat (může pouze vkládat komentáře ke článkům) Čtenář registrovaný uživatel systému. V rámci redakčního systému má stejná práva jako návštěvník, navíc ale může přispívat do diskusního fóra Redaktor registrovaný uživatel systému, který se může aktivně podílet na tvorbě obsahu systému vkládáním článků do redakčního systému. V rámci diskusního fóra má stejná práva jako čtenář. Moderátor registrovaný uživatel systému, který se stará o správu diskusního fóra. Administrátor registrovaný uživatel systému. Spravuje veškerý obsah systému. Má veškerá práva výše uvedených uživatelských rolí a může ostatním uživatelům práva přidělovat. Uživatelská role Redakční systém Diskusní fórum Návštěvník - prohlíží články - prohlíží příspěvky - vkládá komentáře ke článkům Čtenář - prohlíží články - prohlíží příspěvky - vkládá komentáře ke článkům - vytváří příspěvky - upravuje své příspěvky - maže své příspěvky Redaktor - prohlíží články - prohlíží příspěvky - vkládá články - vytváří příspěvky - edituje své články (*) - upravuje své příspěvky - vkládá komentáře ke článkům - maže své příspěvky Moderátor - prohlíží články - vytváří diskusní téma (*) - vkládá komentáře ke článkům - maže diskusní téma (*) - uzamyká / odemyká téma (*) - vytváří příspěvky - maže všechny příspěvky - upravuje své příspěvky Administrátor - veškerá práva předchozích rolí - přiděluje práva jednotlivým uživatelům (*) - vytváří rubriky článků (*) - vytváří kategorie témat (*) - maže rubriky článků (*) - maže kategorie témat (*) Tabulka Přehled uživatelských rolí a přidělených práv znakem * jsou v tabulce označeny funkce jež vzhledem k rozsáhlosti projektu nebyly zatím implementovány 9

24 Registrovaným uživatelem se rozumí uživatel, jemuž byl vytvořen uživatelský účet (s přihlašovacím jménem a heslem), vložením jeho údajů do databáze. Přidělená práva jednotlivým uživatelským rolím v rámci redakčního systému a diskusního fóra přehledně znázorňuje tabulka uživatelských rolí (viz. výše). 3.2 Datový model Před vlastní specifikací struktury databáze je vhodné si strukturu dat a jejich vazeb popsat v určité obecné abstraktní rovině. Snahou je vytvořit strukturu dat, tvořenou objekty (entitami) a jejich vlastnostmi, vzájemnými vztahy mezi entitami a různými omezeními, tak aby návrh co nejvíce odpovídal reálnému světu. K objektům datového modelu přistupujeme jako k jednoznačně identifikovatelným objektům reálného světa. Datový model systému se skládá z entitních typů: Uživatelé (entitní typ UŽIVATEL) vytvářejí obsah systému. V rámci redakčního systému mohou redaktoři (uživatelská role je atribut uživatele) vkládat články (ČLÁNEK) konkrétní článek může být do systému vložen pouze jedním redaktorem. Redaktor však zároveň nemusí do systému vkládat žádné články. Každý článek je zařazen do určité rubriky (RUBRIKA), přičemž může být zařazen pouze do jedné. Rubrika může obsahovat více článků, ale nemusí obsahovat žádné. Rubrika může obsahovat i další podrubriky. Ke každému článku lze přiřadit komentář (KOMENTÁŘ). Komentáře mohou vkládat i neregistrovaní uživatelé uživatel může k článku vložit i více komentářů. V rámci diskusního fóra mohou uživatelé vkládat příspěvky (PŘÍSPĚVEK), do diskusních témat (TĚMA). Do daného diskusního tématu lze vložit více příspěvků. Diskusní téma může obsahovat více příspěvků, ale nemusí obsahovat žádné.. Diskusní témata jsou členěna do kategorií (KATEGORIE), přičemž diskusní téma může patřit jen do jedné kategorie. Kategorie může obsahovat více témat, ale i žádné. Kategorie může obsahovat i další podkategorie. 3.3 Jazyk pro tvorbu dynamických stránek CGI skripty Dynamické stránky mohou být vytvářeny externím programem, který webové stránky generuje. Protokol pro vytvoření rozhraní mezi programem a webovým serverem, který tento program vyvolává, se nazývá CGI (Common Gateway Protocol). Toto rozhraní umožňuje předávání požadavků od klienta (prohlížeče) externí aplikaci. Webový server pak vrací výstup aplikace zpět klientovi. Tvorba CGI programů může probíhat v jakémkoli programovacím jazyce, který umí číst ze standardního vstupu a zapisovat do standardního výstupu. Opomineme-li CGI programy vytvořené pomocí některého z klasických programovacích jazyků (C, Pascal, C++, Java CGI programy napsané v jazyce Java se nazývají servlety), jsou ve většině případů pro tvorbu CGI programů využívány interpretované skriptovací jazyky. Pomocí nich vytvořené CGI programy jsou označovány jako CGI skripty. CGI skripty vytvořené pomocí interpretovaných jazyků (např. Perl) se nacházejí v textové podobě a k jejich spuštění je používán interpret, jímž může být přímo spustitelný program 10

25 (přípona EXE) nebo některá DLL knihovna. Výhodou interpretovaných jazyků je rychlý vývoj bez nutnosti kompilace a linkování Velkou nevýhodou CGI skriptů jsou problémy se zabezpečením. V interpretovaných skriptech je nutné zajistit dodatečné zabezpečení, protože šikovný hacker může odesláním určitého textu v poli formuláře, který je skriptem zpracováván, získat neoprávněný přístup k systému, na kterém webový server běží. Dalším bodem, který hovoří proti používání CGI skriptů, je špatné nakládání se systémovými prostředky počítače, na kterém je webový server provozován. Při každém zpracování požadavku, který volá CGI program, je nutné daný program znovu spustit (server vždy spouští samostatnou instanci programu). Jestliže požadavek odeslal větší počet uživatelů, mohou se tak zdroje serveru brzy vyčerpat. V dnešní době podporuje tvorbu dynamických stránek pomocí CGI programů jen malé množství hostingových služeb (z free-hostingových služeb téměř žádná). Z důvodů, které jsem zde uvedl jsem použití CGI programů pro tvorbu redakčního systému zavrhnul ASP Než přikročím k rozebrání výhod a nevýhod technologie ASP (Active Server Pages) musím vysvětlit pojem ISAPI. ISAPI (Internet Server Application Programming Interface) je lepší alternativou CGI. Na rozdíl od CGI, kde každé volání spustí novou instanci programu, ISAPI při prvním požadavku na aplikaci ji nahraje do paměti, ve které zůstane a stále reaguje na další požadavky uživatelů. ISAPI umožňuje vytvářet tzv. filtry, což jsou vlastně knihovny DLL, které tvoří prostředníky mezi uživatelem a webovým serverem. Technologie ASP je filtr ISAPI vyvinutý firmou Microsoft. Soubory ASP jsou vlastně HTML stránky obohacené o skripty. Pokud uživatel požaduje soubor s příponou.asp, filtr ISAPI interpretuje kód ASP a výsledný kód (X)HTML předá webovému serveru, který jej odešle prohlížeči. ASP ve skutečnosti není jazyk jako takový - základem ASP je skriptovací jazyk. Používat se dá téměř kterýkoliv skriptovací jazyk, přičemž nejvíce používané jsou jazyky VBScript (Visual Basic Script) a Script (implementace jazyka JavaScript od firmy Microsoft). Velkou nevýhodou technologie ASP je její komerční politika není k dispozici zdarma. Technologie ASP je nativně používána pouze na webovém serveru IIS (Internet Information Server) firmy Microsoft. Závislost technologie ASP na platformě Windows, spolu s menší podporou hostingových služeb byly důvodem, proč jsem tuto technologii pro vytvoření systému nepoužil PHP Jedním z otců technologie PHP (PHP Hypertext Preprocessor) je Rasmus Lerdorf. V roce 1994 si Rasmus ve volném čase vytvořil jednoduchý systém pro evidování přístupu k jeho stránkám v interpretovaném jazyce Perl. Jelikož neustálé spouštění interpretu Perlu velmi zatěžovalo webový server, přepsal autor systém do jazyka C. Systém původně navržený pro osobní Rasmusovo použití se zalíbil i ostatním uživatelům serveru a začali ho používat. Ti přicházeli s požadavky na vylepšení celého systému. Autor proto celý systém rozšířil, doplnil jej o dokumentaci a uvolnil pod 11

26 názvem Personal Home Page Tools, který se později změnil na Personal Home Page Construction Kit. V téže době zprovoznil autor elektronickou konferenci pro výměnu zkušeností mezi uživateli systému. Později Lerdorf vytváří i nástroj, který umožňuje začleňování SQL dotazů do stránek, vytváření formulářů a zobrazování výsledků dotazů. Program pro zpřístupnění databází na webu nesl název Form Interpreter (FI). Spojením těchto dvou programů vznikl systém PHP/FI 2.0, který si získal celosvětovou proslulost. Jednalo se o jednoduchý programovací jazyk, který se zapisoval přímo do HTML stránek. Obsah zkratky PHP dnes ztratil svůj původní význam a doporučené označení celého systému je hypertextový preprocesor PHP. PHP je tedy skriptovací jazyk, jehož příkazy jsou do webových stránek umístěny mezi speciální oddělovače (<??>, <?php?>). Vlastní skriptovací jazyk kombinuje několik programovacích jazyků C, Perl, Java. Jazyk PHP umožňuje snadnou tvorbu dynamických stránek. Obsahuje rozsáhlé knihovny funkcí pro zpracování textu, grafiky, práci se soubory, přístup k různým databázovým serverům, podporu řady internetových protokolů (HTTP, SMTP, FTP, POP3, ). PHP lze jednoduchým způsobem doplnit o nové funkce, které standardně nejsou jeho součástí. Stránky obsahující PHP vsuvky jsou pro odlišení od běžných webových stránek ukládány s příponou.php (.php3,.phtml). Vývoj technologie PHP se zdaleka nezastavil. V současné době je k dispozici verze 5.15 s pátou verzí se výrazně zlepšil přístup k objektově orientovanému programování, který je podobný jako v jazyce Java. Důvodem oblíbenosti jazyka PHP je jednoduchost jeho použití. Tím že PHP kombinuje vlastnosti více programovacích jazyků, ponechává vývojáři částečnou svobodu v syntaxi. PHP taktéž umožňuje přístup k mnoha datovým zdrojům a SŘBD (Systémům Řízení Báze Dat) v jejich nativním formátu nebo přes obecné rozhraní ODBC (Open Database Connectivity). Obrovskou výhodou technologie PHP je to, že je šířena jako freewarový produkt včetně zdrojových kódů. PHP není závislé ani na platformě ani na webovém serveru na kterém je provozováno. Lze jej tedy užívat jak pod Windows tak i pod jinými operačními systémy s tím, že není svázáno s žádným konkrétním serverem a proto může běžet na libovolném. To dokazuje i obrovský počet serverů na kterém je PHP používáno a jeho velká podpora ze strany hostingových služeb. Výhody, které technologie PHP nabízí, se slučují s požadavky vytvářeného systému a to především z hlediska využitelnosti. Z těchto důvodů jsem si jako jazyk pro tvorbu dynamických stránek vybral právě technologii PHP a to konkrétně verzi 4.2.x, která je podporována na většině serverů (jen omezené množství serverů nabízí podporu PHP ve verzi 5.x). PHP ve verzi 5 je zpětně kompatibilní s verzí 4, ale zahrnuje obrovské množství nových funkcí. Ačkoliv jsem systém vyvíjel pomocí PHP verze 5.1.1, dbal jsem na to, abych využíval jen funkcí, které jsou obsaženy i v PHP verze 4.2.x a zajistil tak kompatibilitu. Velkým zdrojem informací o jazyce PHP a referenční příručkou mi byla kniha od Jiřího Koska [4]. 3.4 Webový server Ruku v ruce s výběrem skriptovacího jazyka pro vytváření dynamických stránek jde i výběr webového serveru na kterém má být vytvořený systém provozován. Dvěma nejpoužívanějšími webovými servery v dnešní jsou servery Apache a IIS od firmy Microsoft. 12

27 3.4.1 IIS IIS neboli Internet Information Services označuje sadu internetových služeb pro servery běžících pod operačním systémem Microsoft Windows. Dle anglické společnosti Netcraft, která se zabývá monitorováním internetu se zaměřením na analýzu používaných webových serverů a operačních systémů na kterých servery běží, je webový server IIS druhým nejpoužívanějším hned po serveru Apache, který je používán na nadpoloviční většině webových serverů. Dle statistik se propast mezi množstvím využití serveru Apache a serveru IIS nadále prohlubuje a to ve prospěch technologie Apache. Webový server IIS je komerční produkt, který je distribuován společně s operačním systémem Microsoft Windows Server 2003, což není zrovna laciná záležitost. Spjatost webového serveru IIS a menší podpora technologie ze strany hostingových služeb mě odradily od využití tohoto serveru Apache Apache HTTP Server je softwarový webový server šířený pod open-source licencí. Je použitelný na množství moderních operačních systémů Unix, Microsoft Windows, Linux. Jeho vývoj začal v roce 1993 v NCSA (National Center for SuperComputing Applications) na Illinoiské univerzitě. Původní název projektu byl NCSA HTTPd. Odchod hlavního programátora Roba McCoola z vývojářského týmu v roce 1994 vedl ke zpomalení vývoje a v roce 1998 k jeho úplnému zastavení. NCSA HTTPd se mezitím rozšířil mezi správci serverů, kteří jej používali a dodávali k němu vlastní úpravy patche (záplaty). Odtud pochází název webového serveru Apache A patchy server (záplatovaný server). Hlavní úlohu v dalším vývoji sehráli Brian Behlendorf a Cliff Skolnick, kteří založili ovou konferenci a začali sběr úprav a oprav a jejich distribuci koordinovat. První veřejná verze s označením byla vydána v dubnu Následovalo kompletní přepsání kódu (Apache 2 neobsahuje nic z původního NCSA HTTPd) a založení Apache Group, která je dnes základem vývojářského týmu. Od dubna 1996 byl Apache nejpopulárnějším serverem na internetu. Dle průzkumů firmy Netcraft dosáhla používanost serveru Apache v listopadu 2005 jeho používanost 69% všech webových serverů. Apache je velice výkonný a stabilní server, který je k dispozici zadarmo. Skriptovací jazyk PHP, který jsem si pro implementaci zvolil může být používán na jakékoliv platformě, se serverem Apache však tvoří velice silnou kombinaci. Kombinace serveru Apache a skriptovacího jazyka PHP pro mě byla ideální volbou. 3.5 Databáze Všechna data tvořící informační obsah vytvářeného systému by měla být uložena v datové vrstvě webového serveru. Datová vrstva je ve většině případů tvořena databází, která poskytuje mnoho výhod při přístupu k datům a jejich zabezpečení. Databázových systémů dnes existuje mnoho ale mezi nejpoužívanější patří: Oracle Microsoft SQL Server Microsoft Access PostgreSQL MySQL 13

28 Tento krátký výčet samozřejmě nezahrnuje všechny dnes dostupné databáze. Jednotlivé databáze se velmi liší množstvím funkcí, které poskytují ale i rychlostí přístupu k datům Oracle Oracle je v současnosti jeden z nejpropracovanějších databázových systémů. Jediná jeho podstatná nevýhoda je, že neexistuje bezplatná verze a ceny komerčních licencí jsou vysoké. Z tohoto důvodu je provozován pouze úzkým okruhem hostingových služeb a cena těchto služeb je pro běžného uživatele taktéž poměrně vysoká Microsoft SQL Server Microsoft SQL Server je výkonný databázový systém společnosti Microsoft, který byl běžně používán ke správě menších až středně velkých databází. V posledních pěti letech však tento produkt zaznamenal zvýšené využití i v oblasti větších podnikových (enterprise) databází. Omezením tohoto databázového systému je závislost na platformě Microsoft Windows a ačkoliv se jedná o kvalitní produkt, jeho cena se pohybuje nad možnostmi běžných uživatelů. Pro úplnost je třeba dodat, že firma Microsoft poskytuje také bezplatnou verzi MS SQL Serveru s názvem MSDE (Microsoft Data Engine), což je databáze upravená pro použití v menších projektech. Optimální výkon MSDE je však zaručen pro maximálně pět souběžných uživatelských přístupů a proto je pro naše účely ztěží použitelný Microsoft Access Microsoft Access (plný název Microsoft Office Access) je systém pro správu relačních databází od firmy Microsoft, který je částí balíku Microsoft Office Professional, jedná se tedy o komerční produkt. Microsoft Access může přistupovat k datům uloženým v databázích Microsoft SQL Server, Oracle, ale i k jakékoli databázi vyhovující ODBC rozhraní. V projektech Microsoft Access lze využít dotazovacího jazyka SQL. Tento systém se hodí spíše pro správu menších databází a pokud je očekáván velký počet dotazů na databázi, je lepší využít silnějších zbraní jako třeba Microsoft SQL Server nebo MySQL (viz. níže). Souborové databáze typu access mají poměrně slabou výkonnost a při větším provozu dochází k chybám a přetěžování stroje. Microsoft Access je vázán na platformu Windows PostgreSQL PostgreSQL je robustní plnohodnotný relační databázový systém s otevřeným zdrojovým kódem. Je produktem patnáct let trvajícího aktivního vývoje a má vynikající pověst pro svou spolehlivost a bezpečnost. Systém lze provozovat na všech rozšířených operačních systémech včetně Linuxu, Uniových OS a Windows. PostgreSQL je šířen pod BSD licencí (Berkeley Software Distribution), která,jak význam zkratky napovídá, pochází z Kalifornské univerzity v Berkeley a která je nejliberálnější ze všech open source licencí. Systém PostgreSQL může být dle licence neomezeně používán, modifikován i distribuován. Velkou předností systému PostgreSQL je rozšiřitelnost. Systém může být rozšířen o nové datové typy, funkce, operátory, agregační funkce MySQL MySQL je vysoce výkonný a stabilní relační databázový systém, který dokáže pojmout velké množství dat, aniž by při tom ztratil mnoho ze svého výkonu. MySQL není vázán 14

29 na konkrétní platformu a může být využit na všech dnes používaných operačních systémech. Systém MySQL je průkopníkem dvojího licencování k dispozici je jak pod bezplatnou licencí GPL 1 (General Public Licence), tak pod komerční placenou licencí, jejíž cena však není nijak vysoká a je jen zlomkem ceny konkurenčních produktů. Systém MySQL byl od počátku optimalizován především na rychlost, a to i za cenu některých zjednodušení. Starší verze systému MySQL, využívající výchozího typu tabulek MyISAM 2 nepodporuje pohledy, triggery, poddotazy, transakce, referenční integritu (cizí klíče). Většina těchto nedostatků byla odstraněna v novějších verzích MySQL a pomocí dalšího typu tabulek InnoDB. Přehled podporovaných vlastností: Cizí klíče (podporovány v tabulkách InnoDB od verze 3.23) Transakce (podporovány v tabulkách InnoDB od verze ) Poddotazy (od verze 4.1) Triggery (od verze 5.0) Pohledy (od verze 5.0) Nově podporované pokročilé vlastnosti systému jsou kvůli malé podpoře tabulek InnoDB a nasazení starších verzí MySQL na serverech třetích stran pro mé účely přesto nepoužitelné. Mrzí mě to především kvůli nemožnosti využití referenčních integrit, transakcí a pohledů tyto vlastnosti však pro vytvoření redakčního systému nejsou nezbytné. Pro svůj výkon a díky volné šiřitelnosti softwaru má systém MySQL vysoký podíl v současné době používaných databázích. Velmi oblíbená a jako základní software webového serveru nasazovaná je kombinace MySQL, PHP a Apache. Velice užitečnou pomůckou pro správu tabulek databáze MySQL prostřednictvím webového rozhraní je program phpmyadmin napsaný v jazyce PHP Zhodnocení Po uvedení výčtu používaných databázových systému a jejich kladů a záporů je třeba vybrat databázi, která nejlépe odpovídá účelům redakčního systému. První dva komerční produkty Oracle a Microsoft SQL Server jsem z výběru použitelného databázového systému vyloučil pro jejich nedostupnost běžnému uživateli, která je dána vysokou cenou a malou podporou ze strany hostingových služeb. Pro jejich nespornou kvalitu a propracovanost jsem se však o nich nemohl nezmínit. Databáze Microsoft Access nesplnila požadavky především pro svou vazbu na operační systém Windows a menší výkonnost při větší zátěži databáze. Ze zbylých dvou databází PostgreSQL a MySQL jsem nakonec zvolil systém MySQL. Ačkoliv databáze PostgreSQL nabízí širokou funkčnost a rozšiřitelnost, obrovská 1 GPL licence umožňuje neomezené užívání softwaru. Zdrojové mohou být používány a upravovány, ale šířeny musí být opět pod GPL licencí a to bezplatně (případně za cenu distribučních nákladů). 2 MyISAM je označení pro výchozí ukládací engine systému MySQL operace nad tabulkami tohoto typu jsou velice rychlé 15

30 podpora ze strany hostingových služeb a vysoký výkon jsou - i přes nemožnost využití pokročilých vlastností systému - argumenty pro výběr databáze MySQL. 3.6 Skriptovací jazyk na klientské straně Provádění programů a skriptů pouze na straně serveru zpomaluje odezvy na požadavky uživatelů. Řešením je přesun provádění části skriptů ze strany serveru na stranu klienta (prohlížeče). Ve vytvářeném redakčním systému má být skriptů na klientské straně využíváno především pro kontrolu správnosti údajů vyplňovaných uživateli do formulářů před jejich odesláním serveru. První technologií, která daný problém řeší, je jazyk Java od firmy Sun MicroSystems. Tento jazyk umožňuje psaní appletů, programů, které mohou být začleněny přímo do HTML stránky. Velkou výhodou Javy je její nezávislost na platformě programy jsou po síti přenášeny formou byte kódu, který je spustitelný v libovolném operačním systému, pokud pro něj existuje JVM (Java Virtual Machine) - interpret Javy. Java je výborná perspektivní technologie, jejíž možnosti jsou opravdu široké. Kvůli své univerzálnosti je však poměrně náročná na systémové zdroje počítače. Druhou technologií je JavaScript, s kterým přišla v roce 1996 firma Netscape a zabudovala jej do svého legendárního prohlížeče Netscape Navigator. JavaScript je jednoduchý interpretovaný jazyk, který syntaxí vychází z jazyku Java. JavaScript se přímo zapisuje do kódu stránky nebo může být načten z externího souboru s příponou.js. Jeho nejčastější použití je ve spojení s formuláři. Skripty v JavaScript mohou kontrolovat správnost údajů v jednotlivých polích formuláře ještě před odesláním na server. Uživatel získá mnohem rychlejší odezvu, než kdyby údaje byli odeslány ke zpracování na server. Další oblastí využití JavaScriptu je vylepšení interaktivnosti stránek JavaScript může reagovat na události vyvolané uživatelem (např. změna barvy pozadí odkazu při přejetí myší). JavaScript je svými možnostmi pro vytvářený redakční systém ideální. Omezení jazyka JavaScript: Funguje pouze v prohlížeči Neumí přistupovat k souborům (kromě cookies) ani k systémovým objektům Neumí data uložit (kromě cookies) Uživatel může JavaScript zakázat 3.7 Formát generovaných dokumentů a definice vzhledu Až do této chvíle jsem pro dokument prezentovaný na internetu používal jako synonymum termín HTML stránka. Toto označení je zavádějící a čtenář tohoto textu by se mohl domnívat, že HTML je jediným možným formátem webového dokumentu. Rozhodně tomu tak není, ačkoliv většina dokumentů (především z dřívějších dob) vytvořená v tomto formátu tomu příliš nenasvědčuje. Od vytváření stránek v jazyce HTML se dnes postupně upouští. Jazyk HTML totiž umožňuje ve svém kódu používat značek a atributů definujících vzhled dokumentu. Při změně vzhledu takového dokumentu je nutné změnit jeho kód. Jazyk HTML již přestává vyhovovat pro svou složitost, která vznikla jeho postupným (a svévolným) rozšiřováním. 16

31 3.7.1 XML Dalším jazykem pro vytváření webových stránek je XML (extensible Markup Language), což je obecný značkovací jazyk, který byl vyvinut a standardizován konsorciem W3C [1]. XML umožňuje snadné vytváření konkrétních značkovacích sad pro různé účely. Jazyk umožňuje popsat strukturu dokumentu z hlediska věcného obsahu jednotlivých částí a sám o sobě se vzhledem dokumentu nezabývá. Vzhled dokumentu se definuje připojeným stylem. Další možností je pomocí různých stylů provést transformaci do jiného typu dokumentu nebo do jiné struktury XML. Jazyk XML neobsahuje předdefinované značky (tagy) a je třeba definovat značky, které budeme používat. Značky je možné (nepovinně) definovat v souboru DTD (Dokument Type Definition). XML dokument lze poté kontrolovat, zda odpovídá této definici pomocí programu zvaného parser. Při používání XML dokumentu jej také potřebujeme zobrazit. XML samo žádné prostředky pro definici vzhledu nenabízí. Soubor pravidel pro změnu vzhledu dokumentu nebo pro převod do jiného formátu se nazývá styl a lze jej definovat pomocí několika stylových jazyků. Jeden styl můžeme aplikovat na větší počet dokumentů stejného typu, ale taktéž můžeme na jeden dokument aplikovat více různých stylů XHTML Značkovací jazyk XHTML je následníkem jazyka HTML, ale na rozdíl od svého předchůdce se jedná o aplikaci XML. Cílem bylo převedení staršího jazyka HTML tak, aby vyhovoval podmínkám tvorby XML dokumentů. Syntaxe jazyka XHTML je oproti HTML přísnější. Stejně jako jazyk HTML i XHTML existuje ve třech druzích: Strict (nejpřísnější varianta), Transtional a Frameset, které se liší množstvím povolených formátovacích značek a tím i důsledností oddělování informačního obsahu stránek od formy CSS Obr Druhy jazyků HTML a XHTML Pro popis způsobu zobrazení stránek napsaných v jazycích HTML, XHTML nebo XML se využívá kaskádových stylů CSS (Cascading Style Sheets). Hlavním smyslem použití stylů je oddělení vzhledu dokumentů od jejich struktury a obsahu. Tuto možnost měl 17

32 zajišťovat už jazyk HTML, ale v důsledku nedostatečných standardů a konkurenčního boje prohlížečů se vyvinul do podoby, která obsahuje celou řadu elementů popisujících zobrazení dokumentu. Z hlediska vyhledávání informací a zpracování dokumentů není takový vývoj žádoucí. Velkou výhodou CSS je, že veškerý design a formátování se načítá z externího souboru.css, který může být společný pro celý web (souborů se styly může být více a mohou být vzájemně kombinovány) při změně designu webu pak stačí pouze opravit tento soubor. Definice stylů může být také přímou součástí HTML / XHTML dokumentu, ale tím ze vytrácí výhoda použitelnosti definovaných stylů i pro další stránky. Kaskádové styly umožňují vytvářet různá zobrazení dokumentu pro různá výstupní zařízení (např. pro tisk). Rozsáhlým zdrojem informací o kaskádových stylech je kniha Petr Staníčka [6] DHTML Technologie DHTML (Dynamic Hypertext Markup Language) vychází ze stejné myšlenky jako skriptovací jazyk JavaScript. Jejím cílem je dokument reagující na události bez spolupráce se serverovou stranou webové aplikace (změna obsahu stránky, validace formulářů). V DHTML je přístupný každý objekt webové stránky a s každým objektem je možné manipulovat měnit jeho obsah, způsob zobrazení apod. Jako objekty jsou přístupné i styly připojené ke stránce. DHTML je skloubením následujících technologií: DOM (Dokument Object Model), což je objektově orientovaná reprezentace webových dokumentů umožňující modifikaci obsahu, struktury nebo stylu dokumentu a jeho částí. Skriptovací jazyk na klientské straně - JavaScript Kaskádové styly CSS Obr DHTML použité technologie Za výsledný formát dynamicky generovaných dokumentů jsem zvolil jazyk XHTML. Přísnější kontrola syntaxe v tomto jazyce zabraňuje psaní nevalidních webových stránek, které mohou být v různých prohlížečích špatně interpretovány. V souladu s technologií DHTML je vzhled dokumentů definován pomocí kaskádových stylů a interakce s uživatelem je obstarávána pomocí JavaScriptu. 18

Současný svět Projekt č. CZ.2.17/3.1.00/32038, podpořený Evropským sociálním fondem v rámci Operačního programu Praha adaptabilita

Současný svět Projekt č. CZ.2.17/3.1.00/32038, podpořený Evropským sociálním fondem v rámci Operačního programu Praha adaptabilita Aktivní webové stránky Úvod: - statické webové stránky: pevně vytvořený kód HTML uložený na serveru, ke kterému se přistupuje obvykle pomocí protokolu HTTP (HTTPS - zabezpečený). Je možno používat i různé

Více

Úvod do tvorby internetových aplikací

Úvod do tvorby internetových aplikací CVT6 01a Úvod do tvorby internetových aplikací Osnova předmětu (X)HTML a tvorba webu pomocí přímého zápisu kódu Tvorba web designu a skládání stránek z kousků Skriptovací jazyky na webu Návrh software

Více

PHP PHP je skriptovací programovací jazyk dynamických internetových stránek PHP je nezávislý na platformě

PHP PHP je skriptovací programovací jazyk dynamických internetových stránek PHP je nezávislý na platformě PHP PHP původně znamenalo Personal Home Page a vzniklo v roce 1996, od té doby prošlo velkými změnami a nyní tato zkratka znamená Hypertext Preprocessor. PHP je skriptovací programovací jazyk, určený především

Více

rychlý vývoj webových aplikací nezávislých na platformě Jiří Kosek

rychlý vývoj webových aplikací nezávislých na platformě Jiří Kosek rychlý vývoj webových aplikací nezávislých na platformě Jiří Kosek Co je to webová aplikace? příklady virtuální obchodní dům intranetový IS podniku vyhledávací služby aplikace jako každá jiná přístupná

Více

Olga Rudikova 2. ročník APIN

Olga Rudikova 2. ročník APIN Olga Rudikova 2. ročník APIN Redakční (publikační) systém neboli CMS - content management system (systém pro správu obsahu) je software zajišťující správu dokumentů, nejčastěji webového obsahu. (webová

Více

Databázové aplikace pro internetové prostředí. 01 - PHP úvod, základní princip, vkládání skriptu, komentáře, výpis na obrazovku

Databázové aplikace pro internetové prostředí. 01 - PHP úvod, základní princip, vkládání skriptu, komentáře, výpis na obrazovku Databázové aplikace pro internetové prostředí 01 - PHP úvod, základní princip, vkládání skriptu, komentáře, výpis na obrazovku Projekt: Inovace výuky prostřednictvím ICT Registrační číslo: CZ.1.07/1.5.00/34.250

Více

DELTA - STŘEDNÍ ŠKOLA INFORMATIKY A EKONOMIE, s.r.o. Obor informační technologie AJAX ESHOP. Maturitní projekt. Třída:

DELTA - STŘEDNÍ ŠKOLA INFORMATIKY A EKONOMIE, s.r.o. Obor informační technologie AJAX ESHOP. Maturitní projekt. Třída: DELTA - STŘEDNÍ ŠKOLA INFORMATIKY A EKONOMIE, s.r.o. Obor informační technologie AJAX ESHOP Maturitní projekt Vypracoval: Denis Ptáček Třída: 4B Rok: 2014/2015 Obsah 1. Použité nástroje... 3 1.1 NetBeans

Více

Úvod do aplikací internetu a přehled možností při tvorbě webu

Úvod do aplikací internetu a přehled možností při tvorbě webu CVT6 01a Úvod do aplikací internetu a přehled možností při tvorbě webu Internet a www Internet? Služby www ftp e-mail telnet NetNews konference IM komunikace Chaty Remote Access P2P aplikace Online games

Více

1 Webový server, instalace PHP a MySQL 13

1 Webový server, instalace PHP a MySQL 13 Úvod 11 1 Webový server, instalace PHP a MySQL 13 Princip funkce webové aplikace 13 PHP 14 Principy tvorby a správy webového serveru a vývojářského počítače 14 Co je nezbytné k instalaci místního vývojářského

Více

language="javascript">... </script>.

language=javascript>... </script>. WWW (World Wide Web) je dnes společně s elektronickou poštou nejvyužívanější službou internetu. URL (Uniform Resource Locator) slouží ke kompletní adresaci informace na internetu. Udává jak protokol, který

Více

Základní pojmy spojené s webovým publikováním ~ malý slovníček pojmů~ C3231 Základy WWW publikování Radka Svobodová, Stanislav Geidl

Základní pojmy spojené s webovým publikováním ~ malý slovníček pojmů~ C3231 Základy WWW publikování Radka Svobodová, Stanislav Geidl Základní pojmy spojené s webovým publikováním ~ malý slovníček pojmů~ C3231 Základy WWW publikování Radka Svobodová, Stanislav Geidl Internet celosvětová síť spojení jednotlivých síťí pomocí uzlů (síť

Více

1. Webový server, instalace PHP a MySQL 13

1. Webový server, instalace PHP a MySQL 13 Úvod 11 1. Webový server, instalace PHP a MySQL 13 Princip funkce webové aplikace 13 PHP 14 Principy tvorby a správy webového serveru a vývojářského počítače 14 Co je nezbytné k instalaci místního vývojářského

Více

Instalace a konfigurace web serveru. WA1 Martin Klíma

Instalace a konfigurace web serveru. WA1 Martin Klíma Instalace a konfigurace web serveru WA1 Martin Klíma Instalace a konfigurace Apache 1. Instalace stáhnout z http://httpd.apache.org/ nebo nějaký balíček předkonfigurovaného apache, např. WinLamp http://sourceforge.net/projects/winlamp/

Více

MBI - technologická realizace modelu

MBI - technologická realizace modelu MBI - technologická realizace modelu 22.1.2015 MBI, Management byznys informatiky Snímek 1 Agenda Technická realizace portálu MBI. Cíle a principy technického řešení. 1.Obsah portálu - objekty v hierarchiích,

Více

INFORMAČNÍ SYSTÉMY NA WEBU

INFORMAČNÍ SYSTÉMY NA WEBU INFORMAČNÍ SYSTÉMY NA WEBU Webový informační systém je systém navržený pro provoz v podmínkách Internetu/intranetu, tzn. přístup na takový systém je realizován přes internetový prohlížeč. Použití internetového

Více

PHP framework Nette. Kapitola 1. 1.1 Úvod. 1.2 Architektura Nette

PHP framework Nette. Kapitola 1. 1.1 Úvod. 1.2 Architektura Nette Kapitola 1 PHP framework Nette 1.1 Úvod Zkratka PHP (z anglického PHP: Hypertext Preprocessor) označuje populární skriptovací jazyk primárně navržený pro vývoj webových aplikací. Jeho oblíbenost vyplývá

Více

Programovací jazyky Přehled a vývoj

Programovací jazyky Přehled a vývoj Programovací jazyky Přehled a vývoj 1 Programování a programovací jazyk Historie a současnost programovacích jazyků Objektově orientované a vizuální programování Značkovací a skriptovací jazyky 2 Programování

Více

Základy WWW publikování

Základy WWW publikování Ing. Igor Kopetschke Oddělení aplikované informatiky Ústav nových technologií a aplikované informatiky Fakulta mechatroniky a mezioborových inženýrských studií Technická univerzita v Liberci Email : igor.kopetschke@tul.cz

Více

Obsah přednášky. Představení webu ASP.NET frameworky Relační databáze Objektově-relační mapování Entity framework

Obsah přednášky. Představení webu ASP.NET frameworky Relační databáze Objektově-relační mapování Entity framework Web Jaroslav Nečas Obsah přednášky Představení webu ASP.NET frameworky Relační databáze Objektově-relační mapování Entity framework Co to je web HTTP protokol bezstavový GET POST HEAD Cookies Session HTTPS

Více

MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ

MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ 1) PROGRAM, ZDROJOVÝ KÓD, PŘEKLAD PROGRAMU 3 2) HISTORIE TVORBY PROGRAMŮ 3 3) SYNTAXE A SÉMANTIKA 3 4) SPECIFIKACE

Více

CZ.1.07/1.5.00/34.0527

CZ.1.07/1.5.00/34.0527 Projekt: Příjemce: Digitální učební materiály ve škole, registrační číslo projektu CZ.1.07/1.5.00/34.0527 Střední zdravotnická škola a Vyšší odborná škola zdravotnická, Husova 3, 371 60 České Budějovice

Více

VÝVOJ INTERNETOVÝCH APLIKACÍ - VIA

VÝVOJ INTERNETOVÝCH APLIKACÍ - VIA Metodický list č. 1 Způsob zakončení : Úvod Technologie webových aplikací Protokol HTTP Po zvládnutí tématického celku bude student mít základní přehled o problematice programování internetových (webových)

Více

FAKULTA INFORMAČNÍCH TECHNOLOGIÍ SPOLEČNOST DECADIC PROJEKT FRAMETRIX

FAKULTA INFORMAČNÍCH TECHNOLOGIÍ SPOLEČNOST DECADIC PROJEKT FRAMETRIX FAKULTA INFORMAČNÍCH TECHNOLOGIÍ ÚSTAV INFORMAČNÍCH SYSTÉMŮ MANAGEMENT PROJEKTŮ SPOLEČNOST DECADIC PROJEKT FRAMETRIX SPECIFIKACE POŽADAVKŮ AUTOR DOKUMENTU JIŘÍ JANDA BRNO 15. března 2012 Obsah 1 Úvod........................................

Více

Specifikace požadavků. POHODA Web Interface. Verze 1.0. Datum: Autor: Ondřej Šrámek

Specifikace požadavků. POHODA Web Interface. Verze 1.0. Datum: Autor: Ondřej Šrámek Specifikace požadavků POHODA Web Interface Verze 1.0 Datum: 29.12. 2008 Autor: Ondřej Šrámek Copyright 1999 by Karl E. Wiegers. Permission is granted to use, modify, and distribute this document. Strana

Více

VÝUKOVÝ MATERIÁL. Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632 Číslo projektu

VÝUKOVÝ MATERIÁL. Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632 Číslo projektu VÝUKOVÝ MATERIÁL Identifikační údaje školy Vyšší odborná škola a Střední škola, Varnsdorf, příspěvková organizace Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632

Více

APLIKACE XML PRO INTERNET

APLIKACE XML PRO INTERNET APLIKACE XML PRO INTERNET Jaroslav Ráček Fakulta Informatiky, Masarykova Universita Brno Abstrakt Text je věnován možnostem využití XML technologie pro prezentaci dokumentů pomocí Internetu. V úvodu je

Více

Tvorba WWW stránek. přehled technologií používaných na webu principy jednotlivých technologií a možnosti jejich vzájemného kombinování

Tvorba WWW stránek. přehled technologií používaných na webu principy jednotlivých technologií a možnosti jejich vzájemného kombinování Tvorba WWW stránek přehled technologií používaných na webu principy jednotlivých technologií a možnosti jejich vzájemného kombinování HTML/XHTML kaskádové styly PHP spolupráce PHP s databázemi Technologie

Více

Škola: Gymnázium, Brno, Slovanské náměstí 7 III/2 Inovace a zkvalitnění výuky prostřednictvím ICT Název projektu: Inovace výuky na GSN

Škola: Gymnázium, Brno, Slovanské náměstí 7 III/2 Inovace a zkvalitnění výuky prostřednictvím ICT Název projektu: Inovace výuky na GSN Škola: Gymnázium, Brno, Slovanské náměstí 7 Šablona: III/2 Inovace a zkvalitnění výuky prostřednictvím ICT Název projektu: Inovace výuky na GSN prostřednictvím ICT Číslo projektu: CZ.1.07/1.5.00/34.0940

Více

STŘEDNÍ ŠKOLA INFORMAČNÍCH TECHNOLOGIÍ A SOCIÁLNÍ PÉČE

STŘEDNÍ ŠKOLA INFORMAČNÍCH TECHNOLOGIÍ A SOCIÁLNÍ PÉČE STŘEDNÍ ŠKOLA INFORMAČNÍCH TECHNOLOGIÍ A SOCIÁLNÍ PÉČE WEBOWÉ STRÁNKY TŘÍD KAMIL POPELKA ZÁVĚREČNÁ MATURITNÍ PRÁCE BRNO 2011 Prohlášení Prohlašuji, že maturitní práce je mým původním autorským dílem, které

Více

Technická specifikace

Technická specifikace Informační systém pro vysoké a vyšší odborné školy Technická specifikace Obecný popis systému Technická specifikace Obecný popis systému Computer Aided Technologies, s.r.o. Tato příručka je součástí dokumentace

Více

Systém elektronického rádce v životních situacích portálu www.senorady.cz

Systém elektronického rádce v životních situacích portálu www.senorady.cz Systém elektronického rádce v životních situacích portálu www.senorady.cz Obec Senorady Miroslav Patočka 2006 Obsah: 1. Úvodní informace 1.1 Informace pro uživatele 1.1.1 Přístupnost HTML, PDA, WAP, XML

Více

DUM č. 11 v sadě. 36. Inf-12 Počítačové sítě

DUM č. 11 v sadě. 36. Inf-12 Počítačové sítě projekt GML Brno Docens DUM č. 11 v sadě 36. Inf-12 Počítačové sítě Autor: Lukáš Rýdlo Datum: 06.05.2014 Ročník: 3AV, 3AF Anotace DUMu: WWW, HTML, HTTP, HTTPS, webhosting Materiály jsou určeny pro bezplatné

Více

IB111 Programování a algoritmizace. Programovací jazyky

IB111 Programování a algoritmizace. Programovací jazyky IB111 Programování a algoritmizace Programovací jazyky Programovací jazyky Programovací jazyk Prostředek pro zápis algoritmů, jež mohou být provedeny na počítači Program Zápis algoritmu v programovacím

Více

Redakční systém Joomla. Prokop Zelený

Redakční systém Joomla. Prokop Zelený Redakční systém Joomla Prokop Zelený 1 Co jsou to red. systémy? Redakční systémy (anglicky Content Management System - CMS) jsou webové aplikace používané pro snadnou správu obsahu stránek. Hlavním cílem

Více

ROZHRANÍ PRO ZPŘÍSTUPNĚNÍ A PREZENTACI ZNALOSTNÍ DATABÁZE INTERPI UŽIVATELSKÁ PŘÍRUČKA

ROZHRANÍ PRO ZPŘÍSTUPNĚNÍ A PREZENTACI ZNALOSTNÍ DATABÁZE INTERPI UŽIVATELSKÁ PŘÍRUČKA ROZHRANÍ PRO ZPŘÍSTUPNĚNÍ A PREZENTACI ZNALOSTNÍ DATABÁZE INTERPI UŽIVATELSKÁ PŘÍRUČKA INTERPI Interoperabilita v paměťových institucích Program aplikovaného výzkumu a vývoje národní kulturní identity

Více

1. Úvod do Ajaxu 11. Jak Ajax funguje? 13

1. Úvod do Ajaxu 11. Jak Ajax funguje? 13 Obsah Úvodem 9 1. Úvod do Ajaxu 11 Jak Ajax funguje? 13 Popis 13 Ukázky 13 Jaké jsou možnosti tvorby interaktivních webových aplikací? 15 Co je třeba znát? 16 Jak fungují technologie Ajaxu 16 Jak funguje

Více

Střední průmyslová škola elektrotechnická Praha 10, V Úžlabině 320

Střední průmyslová škola elektrotechnická Praha 10, V Úžlabině 320 Střední průmyslová škola elektrotechnická Praha 10, V Úžlabině 320 M A T U R I T N Í T É M A T A P Ř E D M Ě T U P R O G R A M O V É V Y B A V E N Í Studijní obor: 18-20-M/01 Informační technologie Školní

Více

Kurz je rozdělen do čtyř bloků, které je možné absolvovat i samostatně. Podmínkou pro vstup do kurzu je znalost problematiky kurzů předešlých.

Kurz je rozdělen do čtyř bloků, které je možné absolvovat i samostatně. Podmínkou pro vstup do kurzu je znalost problematiky kurzů předešlých. Soubor kurzů XHTML, CSS, PHP a MySQL Kurz je rozdělen do čtyř bloků, které je možné absolvovat i samostatně. Podmínkou pro vstup do kurzu je znalost problematiky kurzů předešlých. Jeden blok se skládá

Více

Databázové systémy. Doc.Ing.Miloš Koch,CSc. koch@fbm.vutbr.cz

Databázové systémy. Doc.Ing.Miloš Koch,CSc. koch@fbm.vutbr.cz Databázové systémy Doc.Ing.Miloš Koch,CSc. koch@fbm.vutbr.cz Vývoj databázových systémů Ukládání dat Aktualizace dat Vyhledávání dat Třídění dat Výpočty a agregace 60.-70. léta Program Komunikace Výpočty

Více

Uspořádání klient-server. Standardy pro Web

Uspořádání klient-server. Standardy pro Web Návrh a tvorba WWW stránek 1/11 Uspořádání klient-server klient na straně uživatele (browser, prohlížeč) server program obsluhující požadavky uživatele Standardy pro Web HTTP Hypertext Transfer Protocol

Více

Registrační číslo projektu: Škola adresa:

Registrační číslo projektu: Škola adresa: Registrační číslo projektu: CZ.1.07/1.4.00/21.3712 Škola adresa: Základní škola T. G. Masaryka Ivančice, Na Brněnce 1, okres Brno-venkov, příspěvková organizace Na Brněnce 1, Ivančice, okres Brno-venkov

Více

Bioadresář. Specifikace požadavků. Verze Datum Projektový tým Bc. Martin Ventruba Bc. Ondřej Veselý Bc. Stratos Zerdaloglu

Bioadresář. Specifikace požadavků. Verze Datum Projektový tým Bc. Martin Ventruba Bc. Ondřej Veselý Bc. Stratos Zerdaloglu Bioadresář Specifikace požadavků Verze Datum Projektový tým 1 14. 10. 2010 Bc. Martin Ventruba Bc. Ondřej Veselý Bc. Stratos Zerdaloglu Obsah 1. Základní informace... 3 1.1. Účel... 3 1.2. Základní popis

Více

Vytvoření portálu odboru strukturálních fondů Ministerstva vnitra a zajištění jeho hostingu na serveru dodavatele

Vytvoření portálu odboru strukturálních fondů Ministerstva vnitra a zajištění jeho hostingu na serveru dodavatele MINISTERSTVO VNITRA odbor strukturálních fondů č.j. MV- 82945-5 /OSF Praha dne 24. listopadu 2009 Počet listů: 5 Odpověď zadavatele na otázky ze dne 20. listopadu 2009 k Zadávací dokumentaci na veřejnou

Více

Internet 2 css, skriptování, dynamické prvky

Internet 2 css, skriptování, dynamické prvky Internet 2 css, skriptování, dynamické prvky Martin Hejtmánek hejtmmar@fjfi.cvut.cz http://kmlinux.fjfi.cvut.cz/ hejtmmar Počítačový kurs Univerzity třetího věku na FJFI ČVUT Znalci 26. března 2009 Dnešní

Více

Na vybraném serveru vytvoříme MySQL databázi. Soubory scratch.jpa, kickstart.php a en-gb.kickstart.ini nahrajeme na vybraný server.

Na vybraném serveru vytvoříme MySQL databázi. Soubory scratch.jpa, kickstart.php a en-gb.kickstart.ini nahrajeme na vybraný server. 1 Práce se systémem Tento dokument popíše způsob instalace a základy práce se systémem Joomla!, ve kterém je učebnice jazyka Scratch vytvořena. Podrobný návod k systému Joomla! je popsán v dokumentaci

Více

PRVNÍ ELASTICKÝ INFORMAČNÍ SYSTÉM : QI

PRVNÍ ELASTICKÝ INFORMAČNÍ SYSTÉM : QI PRVNÍ ELASTICKÝ INFORMAČNÍ SYSTÉM : QI Cyril Klimeš a) Jan Melzer b) a) Ostravská univerzita, katedra informatiky a počítačů, 30. dubna 22, 701 03 Ostrava, ČR E-mail: cyril.klimes@osu.cz b) DC Concept

Více

Střední průmyslová škola elektrotechnická Praha 10, V Úžlabině 320 M A T U R I T N Í T É M A T A P Ř E D M Ě T U

Střední průmyslová škola elektrotechnická Praha 10, V Úžlabině 320 M A T U R I T N Í T É M A T A P Ř E D M Ě T U Střední průmyslová škola elektrotechnická Praha 10, V Úžlabině 320 M A T U R I T N Í T É M A T A P Ř E D M Ě T U P R O G R A M O V É V Y B A V E N Í Studijní obor: 18-20-M/01 Informační technologie Školní

Více

Název: On-line tvorba webu Anotace:

Název: On-line tvorba webu Anotace: Registrační číslo projektu: CZ.1.07/1.4.00/21.3712 Škola adresa: Základní škola T. G. Masaryka Ivančice, Na Brněnce 1, okres Brno-venkov, příspěvková organizace Na Brněnce 1, Ivančice, okres Brno-venkov

Více

Systém JSR představuje kompletní řešení pro webové stránky malého a středního rozsahu.

Systém JSR představuje kompletní řešení pro webové stránky malého a středního rozsahu. Redakční systém JSR Systém pro správu obsahu webových stránek Řešení pro soukromé i firemní webové stránky Systém JSR představuje kompletní řešení pro webové stránky malého a středního rozsahu. Je plně

Více

SRSW4IT Inventarizační SW. Prezentace aplikace. Vedoucí DP: ing. Lukáš Macura Autor: Bc. Petr Mrůzek

SRSW4IT Inventarizační SW. Prezentace aplikace. Vedoucí DP: ing. Lukáš Macura Autor: Bc. Petr Mrůzek Prezentace aplikace Vedoucí DP: ing. Lukáš Macura Autor: Bc. Petr Mrůzek Osnova Úvod Programovací jazyk - PHP Etapy vývoje Funkce aplikace Co SW umí Na čem se pracuje Vize do budoucna Úvod Úvod Inspirováno

Více

Business Intelligence

Business Intelligence Business Intelligence Josef Mlnařík ISSS Hradec Králové 7.4.2008 Obsah Co je Oracle Business Intelligence? Definice, Od dat k informacím, Nástroj pro operativní řízení, Integrace informací, Jednotná platforma

Více

Matematika v programovacích

Matematika v programovacích Matematika v programovacích jazycích Pavla Kabelíková am.vsb.cz/kabelikova pavla.kabelikova@vsb.cz Úvodní diskuze Otázky: Jaké programovací jazyky znáte? S jakými programovacími jazyky jste již pracovali?

Více

(X)HTML a CSS. VOŠ a SŠT Česká Třebová

(X)HTML a CSS. VOŠ a SŠT Česká Třebová (X)HTML a CSS Mgr. Petr Slívko VOŠ a SŠT Česká Třebová STRUKTURA WEBU Webová prezentace (anglicky website) je několik webových stránek provázaných hypertextovými odkazy. Tomu, které stránky web obsahuje

Více

PHP - úvod. Kapitola seznamuje se základy jazyka PHP a jeho začleněním do HTML stránky.

PHP - úvod. Kapitola seznamuje se základy jazyka PHP a jeho začleněním do HTML stránky. PHP - úvod Kapitola seznamuje se základy jazyka PHP a jeho začleněním do HTML stránky. Klíčové pojmy: PHP, webový prohlížeč, HTTP, FTP Základní pojmy služba WWW = 1990 první prototyp serveru, od roku 1994

Více

Vývoj moderních technologií při vyhledávání. Patrik Plachý SEFIRA spol. s.r.o. plachy@sefira.cz

Vývoj moderních technologií při vyhledávání. Patrik Plachý SEFIRA spol. s.r.o. plachy@sefira.cz Vývoj moderních technologií při vyhledávání Patrik Plachý SEFIRA spol. s.r.o. plachy@sefira.cz INFORUM 2007: 13. konference o profesionálních informačních zdrojích Praha, 22. - 24.5. 2007 Abstrakt Vzhledem

Více

GTL GENERATOR NÁSTROJ PRO GENEROVÁNÍ OBJEKTŮ OBJEKTY PRO INFORMATICA POWERCENTER. váš partner na cestě od dat k informacím

GTL GENERATOR NÁSTROJ PRO GENEROVÁNÍ OBJEKTŮ OBJEKTY PRO INFORMATICA POWERCENTER. váš partner na cestě od dat k informacím GTL GENERATOR NÁSTROJ PRO GENEROVÁNÍ OBJEKTŮ OBJEKTY PRO INFORMATICA POWERCENTER váš partner na cestě od dat k informacím globtech spol. s r.o. karlovo náměstí 17 c, praha 2 tel.: +420 221 986 390 info@globtech.cz

Více

VYSOKÁ ŠKOLA BÁŇSKÁ TECHNICKÁ UNIVERZITA OSTRAVA FAKULTA STROJNÍ DATABÁZOVÉ SYSTÉMY ARCHITEKTURA DATABÁZOVÝCH SYSTÉMŮ. Ing. Lukáš OTTE, Ph.D.

VYSOKÁ ŠKOLA BÁŇSKÁ TECHNICKÁ UNIVERZITA OSTRAVA FAKULTA STROJNÍ DATABÁZOVÉ SYSTÉMY ARCHITEKTURA DATABÁZOVÝCH SYSTÉMŮ. Ing. Lukáš OTTE, Ph.D. VYSOKÁ ŠKOLA BÁŇSKÁ TECHNICKÁ UNIVERZITA OSTRAVA FAKULTA STROJNÍ DATABÁZOVÉ SYSTÉMY ARCHITEKTURA DATABÁZOVÝCH SYSTÉMŮ Ing. Lukáš OTTE, Ph.D. Ostrava 2013 Tento studijní materiál vznikl za finanční podpory

Více

Nové přístupy tvorby web site. Doc. Ing. Zdeněk Havlíček, CSc. KIT PEF CZU - 13/11/2001

Nové přístupy tvorby web site. Doc. Ing. Zdeněk Havlíček, CSc. KIT PEF CZU - 13/11/2001 Nové přístupy tvorby web site Doc. Ing. Zdeněk Havlíček, CSc. KIT PEF CZU - 13/11/2001 Osnova Úvod Web site - jasný cíl Technologie - dynamický web Forma - vyšší interaktivita Obsah - stálá aktualizace

Více

Tvorba webu. Úvod a základní principy. Martin Urza

Tvorba webu. Úvod a základní principy. Martin Urza Tvorba webu Úvod a základní principy Martin Urza World Wide Web (WWW) World Wide Web (doslova celosvětová pavučina ) je označení pro mnoho dokumentů rozmístěných na různých serverech po celém světě. Tyto

Více

Inovace výuky prostřednictvím šablon pro SŠ

Inovace výuky prostřednictvím šablon pro SŠ Název projektu Číslo projektu Název školy Autor Název šablony Název DUMu Stupeň a typ vzdělávání Vzdělávací oblast Vzdělávací obor Tematický okruh Inovace výuky prostřednictvím šablon pro SŠ CZ.1.07/1.5.00/34.0748

Více

Publikování map na webu - WMS

Publikování map na webu - WMS Semestrální práce z předmětu Kartografická polygrafie a reprografie Publikování map na webu - WMS Autor: Ondřej Dohnal, Martina Černohorská Editor: Filip Dvořáček Praha, duben 2010 Katedra mapování a kartografie

Více

Webové rozhraní pro datové úložiště. Obhajoba bakalářské práce Radek Šipka, jaro 2009

Webové rozhraní pro datové úložiště. Obhajoba bakalářské práce Radek Šipka, jaro 2009 Webové rozhraní pro datové úložiště Obhajoba bakalářské práce Radek Šipka, jaro 2009 Úvod Cílem práce bylo reimplementovat stávající webové rozhraní datového úložiště MU. Obsah prezentace Úložiště nasazené

Více

E-learningovýsystém Moodle

E-learningovýsystém Moodle E-learningovýsystém Moodle Jan Povolný Název projektu: Věda pro život, život pro vědu Registrační číslo: CZ.1.07/2.3.00/45.0029 Co je to Moodle? - systém pro tvorbu a správu elektronických výukových kurzů

Více

Internet Information Services (IIS) 6.0

Internet Information Services (IIS) 6.0 Internet Information Services (IIS) 6.0 V operačním systému Windows Server 2003 je obsažena i služba IIS v 6.0. Služba IIS poskytuje jak www server tak i některé další služby (FTP, NNTP,...). Jedná se

Více

INOVACE PŘEDMĚTŮ ICT. MODUL 11: PROGRAMOVÁNÍ WEBOVÝCH APLIKLACÍ Metodika

INOVACE PŘEDMĚTŮ ICT. MODUL 11: PROGRAMOVÁNÍ WEBOVÝCH APLIKLACÍ Metodika Vyšší odborná škola ekonomická a zdravotnická a Střední škola, Boskovice INOVACE PŘEDMĚTŮ ICT MODUL 11: PROGRAMOVÁNÍ WEBOVÝCH APLIKLACÍ Metodika Zpracoval: Jaroslav Kotlán srpen 2009s Úvod Modul Programování

Více

Wichterlovo gymnázium, Ostrava-Poruba, příspěvková organizace. Maturitní otázky z předmětu INFORMATIKA A VÝPOČETNÍ TECHNIKA

Wichterlovo gymnázium, Ostrava-Poruba, příspěvková organizace. Maturitní otázky z předmětu INFORMATIKA A VÝPOČETNÍ TECHNIKA Wichterlovo gymnázium, Ostrava-Poruba, příspěvková organizace Maturitní otázky z předmětu INFORMATIKA A VÝPOČETNÍ TECHNIKA 1. Algoritmus a jeho vlastnosti algoritmus a jeho vlastnosti, formy zápisu algoritmu

Více

Nastavení provozního prostředí webového prohlížeče pro aplikaci

Nastavení provozního prostředí webového prohlížeče pro aplikaci Nastavení provozního prostředí webového prohlížeče pro aplikaci IS o ISVS - Informační systém o informačních systémech veřejné správy verze 2.03.00 pro uživatele vypracovala společnost ASD Software, s.r.o.

Více

UŽIVATELSKÁ PŘÍRUČKA K INTERNETOVÉ VERZI REGISTRU SČÍTACÍCH OBVODŮ A BUDOV (irso 4.x) VERZE 1.0

UŽIVATELSKÁ PŘÍRUČKA K INTERNETOVÉ VERZI REGISTRU SČÍTACÍCH OBVODŮ A BUDOV (irso 4.x) VERZE 1.0 UŽIVATELSKÁ PŘÍRUČKA K INTERNETOVÉ VERZI REGISTRU SČÍTACÍCH OBVODŮ A BUDOV (irso 4.x) VERZE 1.0 OBSAH 1 ÚVOD... 3 1.1 HOME STRÁNKA... 3 1.2 INFORMACE O GENEROVANÉ STRÁNCE... 4 2 VYHLEDÁVÁNÍ V ÚZEMÍ...

Více

SEO OPTIMALIZACE PRO VYHLEDÁVAČE JEDNODUŠE

SEO OPTIMALIZACE PRO VYHLEDÁVAČE JEDNODUŠE Středoškolská technika 2011 Setkání a prezentace prací středoškolských studentů na ČVUT SEO OPTIMALIZACE PRO VYHLEDÁVAČE JEDNODUŠE Adama Kořenek Úvod Střední průmyslová škola elektrotechnická V Úžlabině

Více

Maturitní projekt do IVT Pavel Doleček

Maturitní projekt do IVT Pavel Doleček Maturitní projekt do IVT Pavel Doleček CO FILMBOOK JE Filmbook je uzavřená webová aplikace pro celkovou správu informací a dat souvisejících se sledováním filmů. Primárně je zaměřen na uchovávání a spravování

Více

Informační systém pro e-learning manuál

Informační systém pro e-learning manuál Informační systém pro e-learning manuál Verze 1.00 Úvod Tento dokument popisuje způsob práce s informačním systémem pro elektronické vzdělávání. Systém je určený pro vytvoření elektronického kurzu a jeho

Více

MATLABLINK - VZDÁLENÉ OVLÁDÁNÍ A MONITOROVÁNÍ TECHNOLOGICKÝCH PROCESŮ

MATLABLINK - VZDÁLENÉ OVLÁDÁNÍ A MONITOROVÁNÍ TECHNOLOGICKÝCH PROCESŮ MATLABLINK - VZDÁLENÉ OVLÁDÁNÍ A MONITOROVÁNÍ TECHNOLOGICKÝCH PROCESŮ M. Sysel, I. Pomykacz Univerzita Tomáše Bati ve Zlíně, Fakulta aplikované informatiky Nad Stráněmi 4511, 760 05 Zlín, Česká republika

Více

Požadavky pro výběrová řízení TerraBus ESB/G2x

Požadavky pro výběrová řízení TerraBus ESB/G2x Dokument: Převod dat TerraBus ESB/G2x Požadavky pro výběrová řízení TerraBus ESB/G2x Obsah 1. Účel dokumentu... 2 2. Použité termíny a zkratky... 2 3. Požadavky... 3 Účel dokumentu Účelem tohoto dokumentu

Více

Semináˇr Java X J2EE Semináˇr Java X p.1/23

Semináˇr Java X J2EE Semináˇr Java X p.1/23 Seminář Java X J2EE Seminář Java X p.1/23 J2EE Složitost obchodních aplikací robusní, distribuované, spolehlivé aplikace s transakcemi na straně serveru, klientské aplikace co nejjednodušší Snaha : Návrh,

Více

Maturitní témata Školní rok: 2015/2016

Maturitní témata Školní rok: 2015/2016 Maturitní témata Školní rok: 2015/2016 Ředitel školy: Předmětová komise: Předseda předmětové komise: Předmět: PhDr. Karel Goš Informatika a výpočetní technika Mgr. Ivan Studnička Informatika a výpočetní

Více

Nové jazykové brány do Caché. Daniel Kutáč

Nové jazykové brány do Caché. Daniel Kutáč Nové jazykové brány do Caché Daniel Kutáč O čem budeme mluvit.net T/SQL Perl Python MultiValue Basic Téma.NET provider .NET Provider Co lze již dnes Factory / VisM ODBC.NET Web Services Factory a VisM

Více

Formy komunikace s knihovnami

Formy komunikace s knihovnami Formy komunikace s knihovnami Současné moderní prostředky Jiří Šilha a Jiří Tobiáš, Tritius Solutions a.s., Brno Osnova Základní požadavky na komunikaci s knihovnami Historie komunikace s knihovnami Confluence

Více

Microsoft SharePoint Portal Server 2003. Zvýšená týmová produktivita a úspora času při správě dokumentů ve společnosti Makro Cash & Carry ČR

Microsoft SharePoint Portal Server 2003. Zvýšená týmová produktivita a úspora času při správě dokumentů ve společnosti Makro Cash & Carry ČR Microsoft SharePoint Portal Server 2003 Zvýšená týmová produktivita a úspora času při správě dokumentů ve společnosti Makro Cash & Carry ČR Přehled Země: Česká republika Odvětví: Velkoobchod Profil zákazníka

Více

KAPITOLA 2 - ZÁKLADNÍ POJMY INFORMAČNÍCH A KOMUNIKAČNÍCH TECHNOLOGIÍ

KAPITOLA 2 - ZÁKLADNÍ POJMY INFORMAČNÍCH A KOMUNIKAČNÍCH TECHNOLOGIÍ KAPITOLA 2 - ZÁKLADNÍ POJMY INFORMAČNÍCH A KOMUNIKAČNÍCH TECHNOLOGIÍ KLÍČOVÉ POJMY Internet World Wide Web FTP, fulltext e-mail, IP adresa webový prohlížeč a vyhledávač CÍLE KAPITOLY Pochopit, co je Internet

Více

Systémy pro tvorbu digitálních knihoven

Systémy pro tvorbu digitálních knihoven Systémy pro tvorbu digitálních knihoven Vlastimil Krejčíř, krejcir@ics.muni.cz Ústav výpočetní techniky, Masarykova univerzita, Brno INFORUM 2006, Praha Obsah přednášky Úvod Fedora DSpace EPrints CDSware

Více

Maturitní otázky z předmětu PROGRAMOVÁNÍ

Maturitní otázky z předmětu PROGRAMOVÁNÍ Wichterlovo gymnázium, Ostrava-Poruba, příspěvková organizace Maturitní otázky z předmětu PROGRAMOVÁNÍ 1. Algoritmus a jeho vlastnosti algoritmus a jeho vlastnosti, formy zápisu algoritmu ověřování správnosti

Více

Aplikace je program určený pro uživatele. Aplikaci je možné rozdělit na části:

Aplikace je program určený pro uživatele. Aplikaci je možné rozdělit na části: Aplikace Aplikace je program určený pro uživatele. Aplikaci je možné rozdělit na části: prezentační vrstva vstup dat, zobrazení výsledků, uživatelské rozhraní, logika uživatelského rozhraní aplikační vrstva

Více

Webová stránka. Matěj Klenka

Webová stránka. Matěj Klenka Webová stránka Matěj Klenka Osobní webová stránka Toto je dokumentace k mé webové stránce This is a documentation to my web page Já, Matěj Klenka, prohlašuji, že má webová stránka byla vytvořena mnou a

Více

HTML XHTML JavaScript PHP ASP.Net Zajímavé odkazy

HTML XHTML JavaScript PHP ASP.Net Zajímavé odkazy V čem se píší web. dokumenty HTML XHTML JavaScript PHP ASP.Net Zajímavé odkazy HTML HTML (HyperText Markup Language, značkovací jazyk pro hypertext) standart pro vytváření stránek v systému aplikací World

Více

Obsah. 1) Rozšířené zadání 2) Teorie zásuvných modulů a) Druhy aplikací používajících zásuvné moduly b) Knihovny c) Architektura aplikace d) Výhody

Obsah. 1) Rozšířené zadání 2) Teorie zásuvných modulů a) Druhy aplikací používajících zásuvné moduly b) Knihovny c) Architektura aplikace d) Výhody Obsah 1) Rozšířené zadání 2) Teorie zásuvných modulů a) Druhy aplikací používajících zásuvné moduly b) Knihovny c) Architektura aplikace d) Výhody 3) 4) Mantichora Mantichora je moderní aplikace, který

Více

Obsah. Rozdíly mezi systémy Joomla 1.0 a 1.5...15 Systém Joomla coby jednička online komunity...16 Shrnutí...16

Obsah. Rozdíly mezi systémy Joomla 1.0 a 1.5...15 Systém Joomla coby jednička online komunity...16 Shrnutí...16 Obsah Kapitola 1 Seznámení se systémem Joomla!................................. 9 Přehled systémů pro správu obsahu....................................................10 Použití systému pro správu obsahu.....................................................11

Více

Elektronická podpora výuky předmětu Komprese dat

Elektronická podpora výuky předmětu Komprese dat Elektronická podpora výuky předmětu Komprese dat Vojtěch Ouška ouskav1@fel.cvut.cz 19. června 2006 Vojtěch Ouška Elektronická podpora výuky předmětu Komprese dat - 1 /15 Co je to SyVyKod? SyVyKod = Systém

Více

Programovací jazyky. imperativní (procedurální) neimperativní (neprocedurální) assembler (jazyk symbolických instrukcí)

Programovací jazyky. imperativní (procedurální) neimperativní (neprocedurální) assembler (jazyk symbolických instrukcí) Programovací jazyky Programovací jazyky nižší assembler (jazyk symbolických instrukcí) vyšší imperativní (procedurální) Pascal, C/C++, Java, Basic, Python, php neimperativní (neprocedurální) Lisp, Prolog

Více

MODERNÍ WEB SNADNO A RYCHLE

MODERNÍ WEB SNADNO A RYCHLE SNADNO A RYCHLE Marek Lučný Pavoučí síť přes celý svět Co prohlížeče (ne)skrývají Tajemný kód HTML Všechno má svůj styl Interaktivní je IN Na obrazovce i na mobilu Začni podle šablony Informace jsou základ

Více

3 MOŽNÉ PŘÍSTUPY K TVORBĚ APLIKACÍ NAD SVG DOKUMENTY

3 MOŽNÉ PŘÍSTUPY K TVORBĚ APLIKACÍ NAD SVG DOKUMENTY 3 MOŽNÉ PŘÍSTUPY K TVORBĚ APLIKACÍ NAD SVG DOKUMENTY 3.1 Tenký a tlustý klient Klientské aplikace nad XML dokumenty v prostředí internetu se dají rozdělit na dvě skupiny: tenký klient a tlustý klient.

Více

Jádrem systému je modul GSFrameWork, který je poskytovatelem zejména těchto služeb:

Jádrem systému je modul GSFrameWork, který je poskytovatelem zejména těchto služeb: Technologie Marushka Základním konceptem technologie Marushka je použití jádra, které poskytuje přístup a jednotnou grafickou prezentaci geografických dat. Jádro je vyvíjeno na komponentním objektovém

Více

Návrh stránek 4IZ228 tvorba webových stránek a aplikací

Návrh stránek 4IZ228 tvorba webových stránek a aplikací 4IZ228 tvorba webových stránek a aplikací Jirka Kosek Poslední modifikace: $Date: 2013/12/12 20:40:58 $ Obsah Úvod... 3 Recept na dobré webové stránky... 4 Použitelnost... 5 Jak se pozná použitelný web...

Více

Platební systém XPAY [www.xpay.cz]

Platební systém XPAY [www.xpay.cz] Platební systém XPAY [www.xpay.cz] implementace přenosu informace o doručení SMS verze 166 / 1.3.2012 1 Obsah 1 Implementace platebního systému 3 1.1 Nároky platebního systému na klienta 3 1.2 Komunikace

Více

Web. Získání informace z internetu Grafické zobrazení dat a jejich struktura Rozšíření funkcí pomocí serveru Rozšíření funkcí pomocí prohlížeče

Web. Získání informace z internetu Grafické zobrazení dat a jejich struktura Rozšíření funkcí pomocí serveru Rozšíření funkcí pomocí prohlížeče Web Získání informace z internetu Grafické zobrazení dat a jejich struktura Rozšíření funkcí pomocí serveru Rozšíření funkcí pomocí prohlížeče Technologické trendy v AV tvorbě, Web 2 DNS Domain Name Systém

Více

Vstupní požadavky, doporučení a metodické pokyny

Vstupní požadavky, doporučení a metodické pokyny Název modulu: Základy PHP Označení: C9 Stručná charakteristika modulu Modul je orientován na tvorbu dynamických stánek aktualizovaných podle kontextu volání. Jazyk PHP umožňuje velmi jednoduchým způsobem

Více

Měření teploty, tlaku a vlhkosti vzduchu s přenosem dat přes internet a zobrazování na WEB stránce

Měření teploty, tlaku a vlhkosti vzduchu s přenosem dat přes internet a zobrazování na WEB stránce ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE Fakulta elektrotechnická Katedra mikroelektroniky Měření teploty, tlaku a vlhkosti vzduchu s přenosem dat přes internet a zobrazování na WEB stránce Zadání Stávající

Více

Novinky. Autodesk Vault helpdesk.graitec.cz,

Novinky. Autodesk Vault helpdesk.graitec.cz, Novinky Autodesk Vault 2017 www.graitec.cz www.cadnet.cz, helpdesk.graitec.cz, www.graitec.com Novinky Autodesk Vault 2017 PDF dokument obsahuje přehled novinek produktu Autodesk Vault 2017. Obsah: 1.

Více

Vzdělávací obsah vyučovacího předmětu

Vzdělávací obsah vyučovacího předmětu V.9.3. Vzdělávací obsah vyučovacího předmětu Vzdělávací oblast: Inormatika a informační a komunikační technologie Vyučovací předmět: Informatika Ročník: 1. ročník + kvinta chápe a používá základní termíny

Více

Uživatelská dokumentace

Uživatelská dokumentace Uživatelská dokumentace Verze 14-06 2010 Stahování DTMM (v rámci služby Geodata Distribution) OBSAH OBSAH...2 1. O MAPOVÉM SERVERU...3 2. NASTAVENÍ PROSTŘEDÍ...3 2.1 Hardwarové požadavky...3 2.2 Softwarové

Více