Medii Specifice Aplicarii Tehnologiilor Web cu Baze de Date

CAPITOLUL II

MEDII SPECIFICE APLICARII TEHNOLOGIILOR WEB

CU BAZE DE DATE

2.1 Limbajul HTML

2.1.1 Prezentarea limbajului HTML

HyperText Markup Language (HTML) este un limbaj de marcare utilizat pentru crearea paginilor web ce pot fi afisate intr-un browser (sau navigator). HTML ofera programatorilor mijloacele necesare pentru:

publicarea online a documentelor cu titluri, texte, tabele, liste, imagini etc.

navigarea catre alte informatii prin accesarea link-urilor, printr-un click al mouse-ului

realizarea de formulare prin care sa se desfasoare tranzactii cu servicii remote, in scopul cautarii de informatie, efectuarea de rezervari, comandarea de produse

includerea fisierelor cu date text, clipuri video, fisiere audio sau alte aplicatii direct in documente

2.1.2 Structura limbajului HTML

Limbajul HTML se bazeaza pe etichete de formatare numite uzual tag-uri. Acestea informeaza browserul (sau alt interpretor de limbaj HTML) cum trebuie sa afiseze informatia corespunzatoare.

Toate tag-urile HTML incep cu o semnul “<” si se termina cu “>”. Este important de precizat faptul ca in HTML nu se face distintie intre literele mari si mici. Cu toate acestea, exista anumite notatii uzuale in majuscule sau minuscule, care se recomanda a fi respectate.

<HTML> Aceasta eticheta comunica unui interpretor HTML (program de navigare) ca documentul este scris si formatat in limbajul HTML standard. Exemple de interpretoare HTML ar putea fi programul Internet Explorer al companiei Microsoft si Netscape Navigator.

Desi multe etichete HTML sunt unitati de sine statatoare, unele dintre ele sunt perechi, avand etichete de inceput si sfarsit. Eticheta de inceput se numeste eticheta de deschidere, iar cea de sfarsit se numeste eticheta de inchidere.

Daca incepem o fraza scrisa cu caractere inclinate sau italice cu <I> (marcajul de scriere cursiva), trebuie sa o incheiem cu </I>. Efectul corespunzator etichetei este aplicat textului dintre eticheta de inceput si cea de sfarsit.

Pentru ca paginiile web sa fie in conformitate cu noiile standarde W3C si etichetele de sine statatoare trebuiesc inchise si anume avem eticheta <br> de sine statoarea ea va fi inchisa astfel <br />.

Atributele unui element se precizeaza in cadrul etichetei de inceput si se aplica in general doar elementului current – sau uneori si elementelor implicate in acesta.

De exemplu, daca dorim sa includem o imagine in document, trebuie sa specificam ca atribut adresa fisierului care contine imaginea, eventual si modul de aliniere a imaginii in raport cu textul. Eticheta urmatoare permite includerea in document a imaginii “foto.gif” din locatia curenta, aliniata la mijlocul randului de text: <IMG SRC=”foto.gif” ALIGN=MIDDLE>.

2.1.2 Structura unui fisier HTML

Orice fisier HTML are urmatoarea structura:

1: <html> <!– Marcheaza inceputul fisierului *.html–>

2: <head> <!– Marcheaza antetul fisierului *.html–>

3: <title> <!– Marcheaza titlul fisierului *.html–> </title>

4: </head>

5: <body>

6: <!– Corpul fisierului *.html locul unde se scriu instructiluniile–>

7: </body>

8: <head>

9: </html>

Un document simplu:

1: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

2: <html lang="ro"> <!– atributul “lang” defineste limba in care apare continutul paginii html //–>

3: <head>

4: <title>Un document simplu</title>

5: </head>

6:  

7: <body>

8: <p>Textul documentului</p> <!– tag-ul “p” semnifica “paragraph” cu ajutorul lui si al atributelor sale putem procesa textul in asa fel incat sa apara cum ne dorim //–>

9: </body>

10: </html >

2.1.3 Standarde pentru HTML

Specificatiile HTML sunt dictate de World Wide Web Consortium (W3C). Din punct de vedere al W3C, standardul in vigoare pentru limbajul HTML, inca din 24 Decembrie 1999, este HTML 4.01 – standard care exista si a devenit recomandare a W3C din 1997.

Acest standard defineste limbajul HTML destinat pentru World Wide Web si este o subversiune a HTML 4. Pe langa facilitatile pentru text, multimedia si hyperlink-uri a versiunilor precedente (HTML 3.2 si HTML 2.0), HTML 4 suporta mai multe optiuni multimedia, limbaje pentru script-uri, fisiere pentru stiluri (CSS), facilitati imbunatatite pentru tiparire si documente care sunt mai accesibile utilizatorilor cu diuabilitati. De asemenea, odata cu standardul HTML 4 s-au facut mari eforturi pentru internationalizarea documentelor, in scopul ca Web-ul sa devina intr-adevar World Wide (disponibil in intreaga lume).

HTML 4 este o aplicatie SGML conform cu standarul international ISO 8879 – Standard Generalized Markup Language.

2.1.4 XHTML – reformularea HTML ca si aplicatie XML

XHTML este o familie de tipuri de documente si module prezente si viitoare, care reproduc, se subscriu si extend limbajul HTML 4. Familia de documente XHTML sunt bazate pe XML si sunt implementate cu scopul de a functiona in conjunctie cu aplicatiile bazate pe XML.

XML este prescurtarea de la Extensible Markup Language, si a fost conceput ca o modalitate de a recastiga puterea si flexibilitatea SGML fara cea mai mare parte din complexitatea acestuia. Cu toate ca este o forma restrictionata de SGML, XML pastreaza totusi cea mai mare parte din puterea SGML, si ii pastreaza cele mai comune trasaturi.

Standardul W3C pentru acest limbaj este momentan XHTML 1.0 – prima specificatie oficiala din aceasta familie – revizia a doua publicata in 1 August 2002. Este o reformulare a trei tipuri de documeente din HTML 4 ca aplicatii ale XML 1.0. Scopul este ca limbajul sa fie folosit pentru descrierea continutului care este atat conform XML si, daca sunt urmate cateva reguli simple, opereaza in aplicatii conforme HTML 4. Programatorii care migreaza catre XHTML 1.0 vor observa urmatoarele avantaje:

documentele XHTML sunt conforme XML. Astfel sunt usor de vizualizat, editat si validat de uneltele pentru fisiere XML

documentele XHTML pot fi scrise de o asemenea maniera incat sa opereze la fel / mai bine in aplicatiile care suporta HTML 4 si mai nou XHTML 1.0

documentele XHTML pot utiliza aplicatii (script-uri, applet-uri) care se bazeaza pe DOM-ul (Document Object Model) de HTML sau XML

pe masura ce familia XHTML evolueaza, documentele conforme HTML 1.0 vor interopera cu toate noile numeroase aplicatii si medii XHTML

XHTML este considerat in specificatiile W3C pentru XHTML 1.0 “urmatorul pas in evolutia Internetului”. Programatorii care migreaza catre XHTML pot intra in lumea XML si a multiplelor ei avantaje, fiind in continuare siguri pe compatibilitatea continutului cu standardele precedente si viitoare.

2.1.5 HTML 5

Exista “Working Draft”-ul pentru HTML 5 – a cincea revizie majora pentru limbajul de baza a WWW, publicat cu data de 04 Martie 2010 pe site-ul oficial W3C (http://www.w3.org/). Specificatiile pentru HTML 5 sunt inca in elaborare activa. In noua versiune, vor fi adaugate noi functionalitati in ajutorul developerilor de aplicatii web, precum si noi elemente pe baza cercetarilor privind practicile curente. Un aspect deosebit de important il va consitui definirea clara a criteriilor de conformitate pentru aplicatiile de interpretare, intr-un efort de a imbunatatii interoperabilitatea.

Printre punctele in lucru ale noului standard:

folosirea DOM ca si baza pentru definirea limbajului

concept nou de implementare a continutului (inlocuirea conceptelor de “block”, respectiv “inline” din HTML 4)

concentrarea pe accesibilitate ca un concept incorporat pentru noile elemente

concentrarea pe definirea semnanticii in detaliu

elementele “menu” si “command”

cache pentru aplicatii web offline

facilitatea de “contentEditable” si cea de “UndoManager”

arhitectura Drag and Drop / Copy Paste

De asemenea, se vehiculeaza introducerea unor noi comenzi:

article: o sectiune de continut independent, cum ar fi un articol de ziar sau de blog

header: un grup de ajutoare introductorii sau pentru navigatie

footer: sectiune care contine informatiile despre autor, copyright etc.

video si audio: pentru continut multimedia

embed: continut de plugin

time: data si/sau ora

command: o comanda pe care utilizatorul o poate invoca

2.3 Limbajul PHP

2.3.1 PHP – Istoric

PHP a inceput in anul 1994 ca o extensie a limbajului server-side Perl, si apoi ca o serie de CGI-uri compilate de catre Rasmus Lerdorf, pentru a genera un curriculum vitae si pentru a urmari numarul de vizitatori ai unui site. Apoi a evoluat in PHP/FI 2.0, dar proiectul open-source a inceput sa ia amploare dupa ce Zeev Suraski si Andi Gutmans, de la Technion au lansat o noua versiune a interpretorului PHP in vara anului 1998, aceasta versiune primind numele de PHP 3.0. Tot ei au schimbat si numele in acronimul recursiv de acum, pana atunci PHP fiind cunoscut ca Personal Home Page Tools. Apoi Suraski si Gutmans au rescris baza limbajului, producand astfel si Zend Engine in 1999. In mai 2000 a fost lansat PHP 4.0, avand la baza Zend Engine 1.0.

Pe 13 iulie 2004 a fost lansata veriunea PHP 5, cu Zend Engine II, ce a adus si o orientare obiect mai pronuntata si suportand mai multe caracteristici ale acestui tip de programare. PHP 5 aduce mai multe noutati fata de versiunea 4:

Suport imbunatatit pentru OOP

Introduce extensia PDO – PHP Data Objects, care defineste o modalitate facila si consistenta de accesare a diferitelor baze de date. Imbunatatiri de performanta.

Suport imbunatatit pentru MySQL si MSSQL

Suport nativ pentru SQLite

Suport SOAP integrat

Iteratori pentru date

Control de erori prin tratarea de exceptii.

La sfarsitul lui 2007 doar versiunea 5.x mai era intretinuta, deoarece in data de 13 iulie 2007 (exact la 3 ani dupa lansarea PHP5), PHP Group a anuntat ca PHP4 va fi scos din uz pe 31 decembrie 2007, desi prognozeaza ca anumite upgrade-uri de securitate se vor oferi pana pe 8 august 2008. Dezvoltarea la PHP 6 incepuse deja in decembrie 2007 si urmeaza sa fie oferit odata cu scoaterea din uz a PHP4.

PHP 6 are urmatoarea agenda de imbunatatiri

suport pentru Unicode

scoaterea definitiva a unor functii ca register_globals sau magic_quotes

retragerea definitiva a variabilelor tip $HTTP_*_VARS.

Ultima versiune lansata in mod oficial de echipa de programatori php.net este PHP 5.3.2, din data de 04 Martie 2010.

2.3.2 Prezentarea limbajului PHP

PHP-ul este unul din cele mai folosite limbaje de programare server-side, conform unui studiu efectuat de Netcraft in aprilie 2002, aparand pe 9 din cele 37 milioane de domenii cercetate in studiu. De asemenea, exista un grafic al cresterii folosirii PHP-ului pe site-ul oficial.

Popularitatea de care se bucura acest limbaj de programare se datoreaza urmatoarelor caracteristici :

Familiaritatea: sintaxa limbajului este foarte usoara combinand sintaxele unora din cele mai populare limbaje Perl sau C;

Simplitatea: sintaxa limbajului este destul de libera. Nu este nevoie de includere de biblioteci sau de directive de compilare, codul PHP inclus intr-un document executandu-se intre marcajele speciale;

Eficienta: PHP-ul se foloseste de mecanisme de alocare a resurselor, foarte necesare unui mediu multiutilizator, asa cum este web-ul;

Securitatea: PHP-ul pune la dispozitia programatorului un set flexibil si eficient de masuri de siguranta;

Flexibilitatea: fiind aparut din necesitatea dezvoltarii web-ului, PHP a fost modularizat pentru a tine pasul cu dezvoltarea diferitelor tehnologii. Nefiind legat de un anumit server web, PHP-ul a fost integrat pentru numeroasele servere web existente: Apache, IIS, Zeus, server, etc.;

Gratuitatea: este probabil cea mai importanta caracteristica a PHP-ului. Dezvoltarea PHP-ului sub licenta open-source a determinat adaptarea rapida a PHP-ului la nevoile web-ului, eficientizarea si securizarea codului.

PHP este simplu de utilizat, fiind un limbaj de programare structurat, ca si C-ul, Perl-ul sau incepand de la versiunea 5 chiar Java, sintaxa limbajului fiind o combinatie a celor trei. Datorita modularitatii sale poate fi folosit si pentru a dezvolta aplicatii de sine statatorare, de exemplu in combinatie cu PHP-GTK sau poate fi folosit ca Perl sau Python in linia de comanda. Probabil una din cele mai importante facilitati ale limbajului este conlucrarea cu majoritatea bazelor de date relationale, de la MySQL si pana la Oracle, trecand prin MS Sql Server, PostgreSQL, sau DB2.

PHP poate rula pe majoritatea sistemelor de operare, de la UNIX, Linux, Windows, sau Mac OS X si poate interactiona cu majoritatea servereler web. Codul dumneavoastra PHP este interpretat de serverul WEB si genereaza un cod HTML care va fi vazut de utilizator (clientului -browserului- fiindu-i transmis numai cod HTML).

PHP are un manual oficial intretinut de comunitatea din jurul proiectului. In plus, raspunsurile la multe probleme pot fi gasite printr-o simpla cautare pe internet. Exista multe resurse disponibile pentru un programator PHP incepator.

2.3.3. PHP pentru World Wide Web

PHP este un limbaj de programare server-side, ceea ce inseamna ca poate sa faca ceea ce orice program CGI poate sa faca: sa colecteze date din formulare, sa genereze continut dinamic pentru pagini web, sa primeasca sau sa trimita cookies.

Dar PHP poate sa faca mult mai mult decat atat. Exista trei mari domenii in care este folositi programarea PHP:

Scripturi pe partea de server (server-side): cea mai traditionla zona si totodata cel mai important target pentru PHP. E nevoie de un parser PHP, un server web si un browser pe partea de client. Serverul web trebuie sa ruleze cu PHP instalat.

Programare in linia de comanda: se poate rula un script PHP fara server sau browser. E nevoie doar de parser-ul de PHP. Aceasta utilizare este ideala pentru script-uri executate folosind cron (pe *nix sau Linux) sau Task Scheduler (Windows). Aceste scripturi pot de asemenea fi folosite pentru implementarea unor taskuri simple de procesare text.

Scrierea de aplicatii desktop: PHP probabil nu este cel mai bun limbaj de programare pentru ceearea de aplicatii desktop cu interfata grafica, dar avand cunostinte avansate de PHP, si folosind facilitatile client-server, se poate folosi PHP-GTK pentru astfel de programe.

PHP poate fi folosit pe toate sistemele de operare importante, inclusiv Linux, variante de Unix, Microsoft Windows, Mac OS, RISC OS etc. PHP suporta de asemnea majoritatea serverelor web curente. Printre acestea sunt incluse Apache, Microsoft Internet Information Service, Personal Web Server, serverele Netscape si iPlanet, Oreillz Website Pro, Caudium, Xitami, OmniHTTPd si multe altele.

PHP nu limiteaza iesirea programelor la HTML. Limbajul include posibilitati de generare a imaginilor, a fisierelor PDF sau chiar filme Flash. Se pot de asemenea genera iesiri sub forma de text, XHTMl sau XML. Cu PHP se pot genera aceste fisiere, sau se pot salva pe disc.

Una dintre proprietatile cele mai importante si puternice ale PHP este suportul pentru o gama larga de baze de date. Sunt suportate actualmente urmatoarele baze de date: dabas D, dBase, Empress, FilePro (read-only), Hyperwave, IBM DB2, Informix, Ingres, InterBase, FrontBase, mSQL, Direct MS-SQL, MySQL, ODBC, Oracle (OCI7 and OCI8), Ovrimos, PostgreSQL, SQLite, Solid, Sybase, Velocis, Unix dbm.

PHP ofera de asemenea suport pentru comunicarea cu alte servicii utilizand protocoale diverse: LDAP (Lightweight Directory Access Protocol – interogarea si modificarea serviciilor de directoare prin intermediul TCP/IP), IMAP (Internet Message Access Protocol – permite accesul la mesajele din folderele de e-mail de pe un server), SNMP (Simple Network Management Protocol – protocol de retea folosit in special in sistemele de management ale retelelor), NNTP (Network News Transfer Protocol – protocol de Internet folosit pentru transportarea stirilor Usenet intre serverele de stiri si aplicatiile end-user), POP3 (Post Office Protocolul – Version 3 – unul din protocoalele utilizate de un calculator gazda pentru receptionarea postei electronice), HTTP (Hypertext Transfer Protocol), COM (pe Windows – interfata hardware, portul serial original. Se refera si la porturile virtuale pentru Bluetooth sau adaptoare USB-la-serial).

2.4 Sistemul MySQL

2.4.1 Prezentare generala

MySQL este un sistem de gestiune a bazelor de date relational, produs de compania suedeza MySQL AB si distribuit sub Licenta Publica Generala GNU. Este cel mai popular SGBD open-source la ora actuala, fiind o componenta cheie a stivei LAMP (Linux, Apache, MySQL, PHP).

Desi este folosit foarte des impreuna cu limbajul de programare PHP, cu MySQL se pot construi aplicatii in orice limbaj major. Exista multe scheme API disponibile pentru MySQL ce permit scrierea aplicatiilor in numeroase limbaje de programare pentru accesarea bazelor de date MySQL, cum are fi: C, C++, C#, Borland Delphi, Java, Perl, PHP, Python, FreeBasic, etc., fiecare dintre acestea folosind un tip spefic API. O interfata de tip ODBC denumita MyODBC permite altor limbaje de programare ce folosesc aceasta interfata, sa interactioneze cu bazele de date MySQL cum ar fi ASP sau Visual Basic. In sprijinul acestor limbaje de programare, unele companii produc componente de tip COM/COM+ sau .NET (pentru Windows) prin intermediul carora respetivele limbaje sa poata folosi acest SGBD mult mai usor decat prin intermediul sistemului ODBC. Aceste componente pot fi gratuite (ca de exemplu MyVBQL) sau comerciale.

Licenta GNU GPL nu permite incorporarea MySQL in softuri comerciale; cei care doresc sa faca acest lucru pot achizitiona, contra cost, o licenta comerciala de la compania producatoare, MySQL AB.

MySQL este componenta integrata a platformelor LAMP sau WAMP (Linux/Windows-Apache-MySQL-PHP/Perl/Python). Popularitatea sa ca aplicatie web este strans legata de cea a PHP-ului care este adesea combinat cu MySQL si denumit Duo-ul Dinamic. In multe carti de specialitate este precizat faptul ca MySQL este mult mai usor de invatat si folosit decat multe din aplicatiile de gestiune a bazelor de date, ca exemplu comanda de iesire fiind una simpla si evidenta: „exit” sau „quit”.

Pentru a administra bazele de date MySQL se poate folosi modul linie de comanda sau, prin descarcare de pe internet, o interfata grafica: MySQL Administrator si MySQL Query Browser. Un alt instrument de management al acestor baze de date este aplicatia gratuita, scrisa in PHP, phpMyAdmin.

MySQL poate fi rulat pe multe dintre platformele software existente: AIX, FreeBSD, GNU/Linux, Mac OS X, NetBSD, Solaris, SunOS, Windows 9x/NT/2000/XP/Vista.

2.4.2 Notiuni de baza

Bazele de date sunt folosite pentru stocarea informatiilor in vederea furnizarii ulterioare in functie de solicitarea primita. MySQL este un sistem de baze de date functional independent. In PHP exista functii pentru toate operatiile executate asupra bazelor de date MySQL.

Administrarea MySQL se poate face din linie de comanda sau folosind browserul si accesand aplicatia numita PHPMyAdmin (una din multe varriante) scrisa in PHP.

Cele mai uzuale operatii cu bazele de date sunt:

In MySQL spatiul alocat pe discul serverului este functie de tipul de date. Cateva din tipurile de date folosite in bazele de date MySQL sunt:

2.5 Sistemul integrat de management al aplicatiilor web

cu baze de date – XAMPP

2.5.1 Cerintele unei aplicatiei web

Pentru ca un site web sa existe online, exista trei component absolute necesare:

Numele domeniului / IP-ul la care este disponibil site-ul (lsbr.ro)

Fisierele efective care la apelare afiseaza continutul dorit (proiectul prezentat)

Serverul web, cu spatiu pe disc (hosting-ul), care la apelarea numelui de domeniu executa fisierele corespunzatoare.

Aplicatia lsbr.ro este gazduita de catre www.rohost.com – unul dintre partenerii nostrii cei mai de incredere. Centrul de date din Timisoara beneficiaza de multiple conexiuni 24cronym24t prin fibra optica gigabit catre furnizorii RDS, Euroweb, Netvision. Pe langa conectivitatea nationala foarte buna un avantaj il reprezinta faptul ca Timisoara este principalul punct de intrare in tara a tronsoanelor de comunicatie internationala.

Pentru dezvoltarea aplicatiei local s-a folosit un 24crony integrat de management al aplcatiilor web cu baze de date. Este vorba de aplicatia XAMPP (24cronym de la X – multi-plarforma, A – Aoache HTTP Server, M – MySQL, P – PHP, P – Pearl),

2.5.2 Facilitati XAMPP

XAMPP este un sistem integrat ofen-source si multi-platforma, care consta in principal din serverul web Apache, sistemul pentru baze de date MySQL si interpretoare pentru cod PHP si Pearl, dezvoltat de echipa ”Apache Friends”, un proiect non-profit fondat in 2002 si axat pe promovarea serverului web si a tehnologiilor adiacente.

XAMPP este disponibil pentru Microsoft Windows, Linux, Solaris si Mac OS X, si este in principal utilizat pentru dezvoltarea proietelor web, mai degraba decat pentru gazduirea uneia sau a mai multor aplicatii on-line. Tocmai din acest conisderent, multe dintre setarile pentru securizarea aplicatiei sunt dezactivate din start.

Instalarea unui server web poate constitui o bataie de cap pe cinste. Instalarea si configurarea unor servicii suplimentare, cum ar fi bazele de date MySQL, limbajul PHP sau Pearl, necesita si ea o oarecare experienta si un sir lung de pasi pentru ca totul sa functioneze la parametrii optimi. Din acest punct de vedere, sistemul XAMPP, care necesita pentru instalare doar un fisier zip, rar sau exe – care trebuie descarcat de pe internet si rulat, pentru a obtine la final functionalitatea combinata a celor enumerate mai sus, este un instrument puternic si extrem de usor de utilizat.

2.6 Limbajul CSS

2.6.1 Prezentarea limbajului CSS

CSS (Cascading Style Sheets) au existat sub o forma sau alta de la inceputurile SGML (Standard Generalized Markup Language) in 1970. CSS au fost dezvoltate pentru a se reusi o abordare mai consistenta a documentelor web. In timp HTML a inceput sa permita si sa inglobeze o mare varietate de stiluri pentru a face fata cererii dezvoltatorilor web. Aceasta evolutie a dat programatorilor un mai mare control asupra aspectului paginii web, cu pretul ridicarii gradului de complexitate si dificultate in scrierea codului.

Pentru a imbunatati capacitatea de prezentare pe web, au fost propuse catre W3C limbajele de stil. Din cele noua originale, doua au fost alese si au devenit fundatia pentru ce urma sa se numeasca CSS. Hakon Wium Lie a propus in 1994 Cascading HTML Style Sheets (CHSS), asemanator stilului CSS de azi. Bert Bogs lucra la un browser denumit Argo, care folosea propriul lui stil, Stream-based Style Sheet Proposal (SSP). Cei doi au lucrat impreuna si au dezvoltat standardul CSS (‘H’ a fost scos deoarece stilul poate fi aplicat si altor limbaje de marcare in afara de HTML).

Spre deosebire de limbajele de stiluri existente in acea vreme (DSSSL, FOSI), CSS permitea ca stilul unui documente sa fie influentat de mai multe stiluri. Fiecare stil putea sa mosteneasca sau sa decurga din altul permitand un mix de preferinte stilistice controlate in mod egal de designer-ul site-ului si utilizator.

Propunerea lui Hakon a fost prezentata in cadrul conferintei “Mosaic and Web” tinuta in 1994 la Chicago, si din nou cu Bert Bos in 1995. W3C s-a aratat foarte interesat de dezvoltarea CSS, si a organizat in acest scop un workshop prezidat de Steven Pemberton. Acesta a fost un prim pas spre oficializarea CSS – astfel ca in decembrie 1996 s-a lansat CSS level 1.

Astfel CSS a devenit un limbaj care ajuta la descrierea documentelor scrise cu ajutorul limbajelor de marcare a textului. Este aplicat cel mai frecvent in stilizarea paginilor web scrise in HTML si XHTML, dar limbajul poate fi aplicat oricarui document XML, inclusiv SVG (Scalable Vector Graphics) si XUL (XML User Interface Language).

2.6.2 Utilitatea si utilizarea CSS

CSS poate fi folosit local de catre vizitatorii paginiilor web pentru a defini culori, fonturi, asezari in pagina, si alte aspecte ale prezentarii documentului. A fost conceput in principal pentru a face separarea intre continutul documentului (scris in HTML), si aspecul lui (definit prin CSS). Aceasta separare poate imbunatati accesibilitatea continutului, imbunatateste controlul specificatiilor prezentarii si sporeste flexibilitatea, reduce complexitatea codului si previne repetarea tag-urilor.

Sintaxa. CSS are o sintaxa simpla si foloseste un numar redus de cuvinte in engleza pentru specificarea diferitelor proprietati de stiluri.

2.6.3 Utilizarea CSS

Stilurile interne: fiecare fisier (X)HTML contine codul CSS necesar. Atunci când se doreste o schimbare de stil (marimea fontului, culoare, etc) trebuie operata modificarea in toate paginile ce contin acel stil.

Stilurile externe: se constuieste un fisier CSS extern, care nu contine cod (X)HTML, ci doar cod CSS. Inserarea fisierului extern se face prin plasarea unui link in sectiunea <head></head> a fiecarei pagini in care se doreste folosirea stilul respectiv.

<link rel="stylesheet" type="text/css" href="fisier

Folosind metoda fisierelor CSS externe, toate paginile (X)HTML pot folosi acelasi fisier de fomatare a stilului. Iata câteva motive pentru care aceasta metoda de lucru este recomandata in detrimentul stilurilor CSS interne:

intretinere mai usoara

dimensiuni reduse ale paginilor (X)HTML

economie de banda internet

flexibilitate

2.6.4 Structura CSS

Pornim de la examplul fomatarii tag-ului de titlu in culoarea albastu: H1 { color : blue }

O regula CSS este compusa din doua parti: selectorul (H1) si declatatia (color:blue). Declaratia are doua parti: proprietatea (color) si valoarea (blue). Chiar daca examplul prezentat incearca sa influenteze doar una dintre proprietatile necesare pentru redarea unei pagini web, este de fapt in sinea lui un “style sheet”. Combinat cu alte asemenea declaratii (o caracteristica estntiala a stilurilor CSS este combinarea acestora), va determina prezentarea finala a documentului.

CSS2 cuprinde peste 100 de proprietati, incluzând color, font-weight, font-size, font-family, line-height, background, float, position, margin, padding.

Iata câteva exemple:

1: BODY {

2: font-size: 12pt;

3: text-indent: 3em; /* i.e., 36pt */

4: }

5:  

6: H1 {

7: font-weight: bold;

8: font-size: 12pt;

9: line-height: 14pt;

10: font-family: Helvetica;

11: font-variant: normal;

12: font-style: normal

13: }

14:  

15: P { color: blue; font-variant: small-caps }

16:  

17: IMG { float: left }

2.6.5 Standardul pentru CSS

Incepând cu 11 Aprilie 2008 este in vigoare ultima varianta a standardului W3C pentru CSS2 (Cascading Stzle Sheets, level 2). Acest limbaj de formatare a fost construit pe CSS1, stilurile conforme cu CSS1 ramânând, cu câteva exceptii, conforme si cu standarul CSS2. Noul standard implementeaza un stil care suporta stiluri specifice diferitelor iesiri media, permitând prezetarea pe browsere vizuale, imprimante, dispozitive braille etc. Aceste noi specificatii suporta de asemenea pozitionarea continutului, descarcarea fonturilor, formatarea tabelelor, facilitati de internationalizare, contoare si numerotare automata etc.

Ca raspuns la procesul de evolutie si dezvoltare a stilurilor, W3C a emis mai multe documente:

candidat de recomandare CSS3 Basic User Interface Module (11 Mai 2004) – valori pentru cursor, valori pentru content (icon), proprietatea icon, proprietatea resize

sugestii de extindere a CSS (10 Decembrie 1998) – includ coloane, text vertical, ruby, containere float catre partea de sus – jos a paginii, footnotes, smart tabs, efecte la tranzitia intre pagini, fundal gradient si multe altele

recomandari pentru CSS 2 Revizia 1 (CSS 2.1) (08 Septembrie 2009) – noi valori pentru list-style-type, suport pentru ID-uri multiple de atribute pentru un selector, elementul BODY in HTML

recomandarile propuse pentru “Selectors Level 3” (15 Decembrie 2009) – schimbarea listei definitiilor de baza, noi selectori simplii, noi pseudo-elemente, rescrierea gramaticii

candidat de recomandare fundaluri si contururi Level 3 (17 Decembrie 2009) – optiunea “layering multiple background images”, diverse efecte pentru contururi

Similar Posts

  • Consola cu Conectare la Ethernet

    Bibliografie [1] www.microchip.com/downloads/en/DeviceDoc/51288F.pdf [2]www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dD ocName=en019469 [3]www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en010014 [4] www.ethereal.com/download.html [5] www.etc.ugal.ro/cchiculita/software/picbootloader.htm [6]www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1335&dDocName = en010276 [7] www.microchip.com/downloads/en/devicedoc/21754E.pdf [8] www.ic2ic.com/search.jsp?sSearchWord=NM7010A&prefix=N [9] www.ic2ic.com/search.jsp?sSearchWord=W3100 [10] www.alldatasheet.co.kr/datasheet-pdf/pdf_kor/27230/TI/MAX232N.html [11 ] Retele de calculatoare, editia a patra- autor Andrew S. Tanenbaum [12] www.cisco.com/univercd/cc/td/doc/cisintwk/ito_doc/ethernet.htm [13] en.wikipedia.org/wiki/Ethernet [14] www.webopedia.com/TERM/E/Ethernet.html [15] www.robot-electronics.co.uk/htm/using_the_i2c_bus.htm [16] www.nxp.com/acrobat_download/literature/9398/39340011.pdf [17] www.microchip.com/downloads/en/DeviceDoc/31018a.pdf [18] ww1.microchip.com/downloads/en/DeviceDoc/usart.pdf [19] www.alingliga.go.ro/diploma/cap3.pdf [20] www.bobtech.home.ro/documentatie/comunicatii/comunicatii1.html [21] http://forum.microchip.com/ [22] www.elforum.ro/…

  • Studiul Si Implementarea Unor Algoritmi Utilizati Pentru Detectia Si Corectia Erorilor

    1. Introducere Teoria transmiterii informației constituie un cadru în care se pot formula criterii de proiectare și obținere a unor soluții pentru sistemele numerice de prelucrare a semnalelor, soluții cu un înalt grad de aplicabilitate. Acest domeniu se ocupă mai ales cu studiul algebric al fenomunului de transmitere a informației. A transmite o informație este…

  • . Comunicarea Intr O Retea Moderna Prin Voip

    Scopul lucrării În această lucrare se va face o introducere în telefonia prin Internet prezentându-se în partea teoretică modul de funcționare a acestei tehnologi împreună cu avantajele acesteia și dezavantajele față de telefonia clasică pe care cu toții o cunoaștem. O mare atenție se va acorda protocolului de semnalizare SIP împreună cu protocoalele adiacente. Prima…

  • Validarea Si Verificarea Sistemelor Critice

    Noțiuni generale Planificarea verificării și validării Metode de validare 3.1. Validarea sistemelor critice 3.2. Validarea fiabilității 3.3. Profile operaționale 3.4. Predicția fiabilității 4. Metode de verificare 4.1. Recenzii. Tipuri de recenzii 4.1.1. Analiza codului 4.1.2. Inspecții de software 4.1.3. Prezentări (Walkthrough) 4.2. Metode formale 4.2.1. Modelul checking 4.2.2. Inferența logică 4.2.3. Derivarea de program 5….

  • Hard Discul Unui Calculator

    Abstract In this graduation thesis I present in detail one of the most important components of a computer namely the Hard-drive.The Hard-drive is the main storage device of a computer. In this graduation thesis I present the general information about the Hard-drive. I will define the important characteristics at visual and technical level for different…