Specializarea: Informatică Economică
PROIECTAREA ŞI REALIZAREA SITE-URILOR ŞI PORTALURILOR WEB ANUL III Semestrul 5 1
I. Informaţii generale Date de identificare curs şi contact tutori: Date de identificare a cursului Date de contact ale titularului de curs:
Nume: Lect.Dr. Liana Stanca Stanca Birou: 432, sediul FSEGA Telefon: 0264-418 655 Fax: 0264-418 655 E-mail:
[email protected] Consultaţii: Conform cu orarul afişat la sala 432
Numele cursului: Proiectarea şi realizarea site-urilor şi Portalurilor Web Cod: EBI0093 Pagina web a cursului: http://www.econ. ubbcluj.ro An studiu: Anul 3, semestru 5 Tip: Obligatoriu Tutore: Lect.Dr. Liana Stanca E-mail secundar: liana.stanca@econ. liana.stanca@econ. ubbcluj.ro
Condiţionări şi cunoştinţe prerechizite Cursul nu are condiţionări prerechizite. Cunoştinţele prerechizite care pot facilita asimilarea materialului sunt legate de programare la nivel de bază şi reţele de calculatoare. Sugerăm ca înainte de parcurgerea materialului materialului să se identifice identifice următoarele cunoştinţele cunoştinţele prerechizite: structurile de programare de bază: protocol TCP/IP, SMTP, HTTP, modelul Client-Server conceptele de programare de bază: reţele de calculatoare, modelele de procese de producţie software din perspectiva proiectării; documentaţia necesară proiectării sistemelor informatice. i nformatice.
Descrierea cursului
Cursul prezintă justificarea economică deo arece are ca scop prezentarea unei tehnologi cu ajutorul cărora se pot realiza instrumentele necesare implementării de afaceri electronice. Se începe cu o parte introductivă care prezintă conceptele de bază necesare pentru înţelegerea modului de funcţionare şi implicit de proiectare şi implementare a instrumentelor necesare pentru desfăşurarea afacerilor electronice. Se definesc conceptele de bază (vezi glosarul de termeni). Se descriu tehnnologii Web de proiectare şi implemetare implemetare a instrumentelor vitale în desfăşurarea unei afaceri electronice. electronice. Piaţa muncii din România oferă un segment semnificativ pentru angajarea de programatori web la companiilor software. Pe baza cunoştinţelor asimilate atât în cadrul acestei dicipline cât şi în cadrul economice studenţilor li se oferă posibilitatea de a-şi demara propria afacere. disciplinelor pre ponderent economice Competenţe dobândite prin absolvirea disciplinei: 1. absolvenţii disciplinei sunt specialişti în informatică economică cu abilităţi de programare şi tratare a excepţiil or bazându-se pe obiecte şi clase; 2. însuşirea abilităţilor de concepere, proiectare şi implementare a modelelor de afaceri electronice cu ajutorul limbajelor HTML şi PHP, ceea ce le crează posibilitatea încadrării în domeniul statisticii şi informaticii economice 3. fundamentarea necesarului de resurse umane, materiale şi financiare în raport cu cerinţele obiectivelor fixate de activităţile specifice programării afacerilor on -line; 4. au compenţa necesară de a dezvolta aplicaţii specifice afacerilor electron ice; 5. au compenţa necesară de a optimiza metodele de selecţie a alternativelor de dezvoltare a unei afaceri on-line;. deprinderi de analiză proiectare şi testare a modelelor de afaceri electronice specifice 6. dobândesc deprinderi putând deveni deveni consultanţi în acest acest domeniu; deprinderi de măsurare a efeicienţei afacerilor on -line; 7. dobândesc deprinderi p agini web dinamice în 8. pot concepe, proiecta, implementa şi testa atât pagini web statice cât şi pagini speţă un model de afacere electronică; 2
- fundamentarea necesarului de resurs e umane, materiale şi financiare în raport cu cerinţele obiectivelor fixate de activităţile specifice informaticii economice şi de afaceri;participarea la elaborarea, implementarea şi testarea proiectelor informatice axate pe sisteme distribuite cu acces la Internet; Organizarea
temelor în cadrul cursului
Ordinea temelor abordate de curs, conform structurii materialului didactic ce va fi disponibil pe platforma software de de învăţământ la distanţă: distanţă: https://portal.portalid.ubbcluj.ro/ https://portal.portalid.ubbcluj.ro/
Modul1 : NOŢIUNI FUNDAMENTALE PENTRU CONCEPEREA, PROIECTAREA ŞI IMPLEMENTAREA UNEI APLICAŢII ELECTRONICE 1.1 Reţeaua Internet - concept şi evoluţie 1.2 Modelul CLIENT-SERVER C LIENT-SERVER 1.3. Limbaje de scripting pe parte de server 1.4. Server APACHE Modul2:PREZENTAREA Modul2:PREZENTAREA ELEMETELOR DE BAZĂ ALE LIMBAJULUI HTML->HTML5 1.1 Elemente de limbaj HTML 1.2 Structura unui document HTML 1.3 Hyperlink-uri 1.4 Liste în site-uri Web 1.5 Marcaje pentru obiecte 1.6 Aspecte ale limbajului HTML5 Modul3:MYSQL SERVER caracterisitci 3.1. MySQL –concepte de bază, caracterisitci 3.2. Modul de funcţionare a unui server de baze de date pentru Web 3.3. Tipuri de date SQL 3.4. Privilegii acordate utilizatorilor 3.5. Baze de date- definiţie, proiectare 3.6. Operaţii asupra bazelor de date în MySQL Modul4:PREZENTAREA Modul4:PREZENTAREA LIMBAJULUI DE SCRIPTING PHP 4.1 Limbajului PHP~noţiuni fundamentale 4.2. Principiul de funcţionare a limbajului PHP 4.3. Variabilele PHP 4.4. Variabile şi constante 4.5. Operatori 4.6. Structurile de control 4.7. Tablouri 4.8. Funcţii 4.9. Fişiere 4.10. Stocarea datelor în sistemul utilizatorului cu PHP 4.11. PHP şi formulare HTML Bibliografie obligatorie Bibliografie opţională
Pentru paginarea temelor, recomandăm consultarea cuprinsului cuprinsului din partea a doua a materialului de faţă. Formatul şi tipul activităţilor implicate de curs Cursul va fi prezentat prin activităţi tutoriale periodice programate conform orarului facultăţii, afişat pe site-ul http://econ.ubbc http:/ /econ.ubbcluj.ro. luj.ro.
3
Prin adresele de e-mail oferită sau la sediul facultăţii, titularul şi tutorii cursului stau la dispoziţia studenţilor pentru consultaţii on-line sau faţă în faţă în afara activităţi lor periodice preprogramate. Se încurajează studiile de caz legate de locul de muncă al acelor studenţi care sunt deja angajaţi în domeniul testării software. Activităţile tutoriale sunt, pentru studentul la distanţă, facultative şi nu afectează nota acestuia, obţinută strict prin forma indicată: examen scris şi prezentarea unui proiect ce are ca temă conceprerea, proiectarea şi implementarea unei afaceri virtuale pe baza cunoştinţelor asimilate în cadrul cursului de fată Totuşi, încurajăm participarea interactivă la activităţile tutoriale în special pentru dezvoltarea incrementală a dosarului de testare care va fi notat. Materiale
bibliografice obligatorii 1.[Stanca_07]Stanca L., Suportul tehnologic al afacerilor electronice ,
Editura Presa Universitară
Clujeană, 2007 Biblioteca facultăţii 2.[Stanca_04] Stanca L., Suportul economic al afacerilor electronice , Editura Presa Universitară Clujeană, 2004 Biblioteca facultăţii 3.[McCarty_02] McCarty, PHP 4, Editura Teora 2002 Biblioteca catedrei [Graeme_site] Graeme M., PHP/MySQL Tutorial www. hotwired.com /webmonkey databases reţea Internet 4.[Welling_01]Welling L., Thomson L., PHP and MySQL Web Development , SAMS Publishing, 2001 Biblioteca catedrei 5.[Mark Pilgrim] Mark Pilgrim, HTML5 ghidul începătorului, 3D MEDIA COMMUNICATIONS,2011. Materialele sunt accesibile la biblioteca facultăţii, la biblioteca catedrei sau pot fi puse la dispoziţie de către titularul de curs. Materiale şi instrumente necesare pentru curs Calculator, materialul bibliografic, soft ware licenţiat şi free necesar cursului şi anume triad -ul ApacheMySql-PHP puse la dispoziţie de titularul cursului.
Calendar
al cursului
Sunt estimate 3 întâlniri preprogramate pe semestru, cu datele şi locaţiile afişate pe site -ul facultăţii la înce putul semestrului. Premergător fiecărei întâlniri se recomandă parcurgerea materialului de faţă, pe module pentru a asigura cursivitatea discuţiilor. Conţinutul acestor întâlniri va fi, în ordine: Prima întâlnire – discuţii pe marginea modulelor I, II; A doua întâlnire – discuţii pe marginea modulelor II, III, A treia întâlnire – discuţii pe marginea modului IV. Politica de evaluare şi notare (orientativ - 1 pagină) Evaluare practică – 50% din notă: Conţinut:
Dezvoltarea unui proiect care să conţină o aplicaţie sotfware necesară derulării unei afaceri electronice la alegere. Proiectul va conţine: o aplicaţie destinată clientului (partea de front -end); o aplicaţie destinată administratorului afacerii (partea de back -end) o bază de date care conţine toate datele necesare pentru realizarea celor 2 aplicaţii. Evaluare teoretică – 50% din notă Conţinut:
Test grilă cu întrebări, de dificultate şi pondere în notă echitabile (30 întrebări de 0,3 punct pe întrebare). 4
Nivelul minim pentru promovarea examenului este dat de obţinerea notei 5 la fiecare din cele două părţi (practic şi teoretic). Ambele evaluării vor avea loc la datele programate pentru examen, la sediul facultăţii. Notele vor fi acordate în aceeaşi zi, comunicate personal fiecărui student cu posibilitate de contestare imediată. Nu se vor accepta proiecte practice sau participări la examen la alte date decât cele programate. Elemente de deontologie academică Tentativele de fraudare atât la examen scris cât şi în dezvoltarea proiectului prac tic vor fi pedepsite prin anularea examenului şi aplicarea regulamentului instituţional. Nu este admisă în timpul examenului utilizarea mijloacelor de comunicaţie. Contestaţiile se vor soluţiona în maxim 24 de ore de la afişarea rezultatelor.
Studenţi cu dizabilităţi Titularul cursului si tutorii îşi afirmă disponibilitatea, în limita posibilităţilor, de a adapta la cerere, conţinutul şi metodelor de transmitere a informaţiilor, precum şi modalităţile de evaluare (examen oral, examen on line) în funcţie de tipul dizabilităţii cursantului. Vom urmări facilitarea accesului egal al tuturor cursanţilor la activităţile didactice. E-mail de contact pentru situaţii deosebite şi suport acordat studenţilor cu dizabilităţi:
[email protected]
Strategii
de studiu recomandate
Recomandăm în ordine: parcurgerea materialului de faţă şi contactarea tutorilor pentru orice nelămuriri; parcurgerea bibliografiei obligatorii; cercetarea individuală pe tema cursului, folosind Internetul; parcurgerea documentaţiilor on-line www.php.net, dev.mysql.com;
5
Cuprins
Modul1 : NOŢIUNI FUNDAMENTALE PENTRU CONCEPEREA, PROIECTAREA ŞI IMPLEMENTAREA UNEI APLICAŢII ELECTRONICE...................................................................... 8 1.1 Reţeaua Internet - concept şi evoluţie .................................................................................................. 9 1.2 Modelul CLIENT-SERVER .............................................................................................................. 10 1.3. Limbaje de scripting pe parte de server ............................................................................................ 12 1.4. Server APACHE ............................................................................................................................... 12 Modul2:PREZENTAREA ELEMETELOR DE BAZĂ ALE LIMBAJULUI HTML ............................ 15 2.1. Elemente de limbaj HTML ............................................................................................................... 16 2.2. Structura unui document HTML....................................................................................................... 17 2.3. Hyperlink-uri..................................................................................................................................... 20 2.4. Liste în site-uri Web.......................................................................................................................... 21 2.5.Marcaje pentru obiecte ....................................................................................................................... 24 2.6. Aspecte ale limbajului HTML5 ................................................................................................ 27 Modul3:MYSQL SERVER ..................................................................................................................... 31 3.1. MySQL –concepte de bază, caracterisitci ......................................................................................... 32 3.2. Modul de funcţionare a unui server de baze de date pentru Web ..................................................... 33 3.3. Tipuri de date SQL............................................................................................................................ 33 3.4. Privilegii acordate utilizatorilor ........................................................................................................ 35 3.5. Baze de date- definiţie, proiectare .................................................................................................... 35 3.6. Operaţii asupra bazelor de date în MySQL....................................................................................... 36 Test de verificare a cunoştinţelor: ............................................................................................................ 38 Modul4:PREZENTAREA LIMBAJULUI DE SCRIPTING PHP .......................................................... 39 4.1 Limbajului PHP~noţiuni fundamentale ............................................................................................. 40 4.2. Principiul de funcţionare a limbajului PHP ...................................................................................... 41 4.3. Variabilele PHP ................................................................................................................................ 42 4.4. Variabile şi constante ........................................................................................................................ 43 4.5. OPERATORI .................................................................................................................................... 44 4.6. Structurile de control......................................................................................................................... 44 4.7. Tablouri............................................................................................................................................. 46 4.8. Funcţii .............................................................................................................................................. 49 4.9. FIŞIERE ............................................................................................................................................ 50 4.10. Stocarea datelor în sistemul utilizatorului cu PHP ......................................................................... 52 4.11. PHP şi formulare HTML ................................................................................................................ 53 Bibliografie obligatorie............................................................................................................................ 57 Bibliografie opţională .............................................................................................................................. 62
6
Obiectivele cursului/disciplinei:
-Cursul de „Proiectarea şi realizarea site -urilor şi portalurilor Web” îşi propune abord area problematicii privind programarea Web, folosind triad-ul PHP, MySql şi Apache, fiind aplicată metoda de bază pentru însuşirea tehnicilor de programare web care sunt vitale pentru crearea de aplicaţii performante sub platformele Windows. -Se oferă programatorului toate informţiile necesare pentru stăpânirea limbajului HTML cu scopul de a putea fi folosit în combinaţie cu limbajul de scripting PHP. Se oferă programatorului toate cunoştinţele necesare pentru crearea unor aplicaţii web complexe. Se începe cu abordarea MySql pentru a se furniza informaţiile necesare pentru crearea de baze de date relaţionale pe parte de server de baze de date. Se continuă cu prezentarea conceptelor de bază despre dezvoltarea de programe pe parte de server fapt ce impune abordarea tehnici client- server, a noţiunilor de clienţi şi servere de web cu exemplificare a server -ului Apache. Se abordează de la simplu spre complex modul de programare în limbajul de scripting PHP. -Se abordează problematica accesului la baze de date relationale din cadrul limbajului de scripting PHP.
7
2. Suportul de curs
MODULUL 1 NOŢIUNI FUNDAMENTALE PENTRU CONCEPEREA, PROIECTAREA ŞI IMPLEMENTAREA UNEI APLICAŢII ELECTRONICE 2.1.1. Scopul şi obiectivele modulului Scopul acestui modul este familiarizarea cursantului cu termenul de reţea Internet, cu principiului de funcţionare a modelului clasic de aplicaţii web Client -Server, cu prezentarea limbajelor de scripting pe parte de server şi cu Serverul Apache . Ca obiective, se vor atinge următoarele: Familiarizarea cu conceptele folosite în reţeau INTERNET şi evoluţia acestei reţele 1. Fixarea principiilor de funcţionare a modelului Client -Server 2. 3. Oferirea unei imagini de ansamblu asupra limbajelor de scripting pe parte de server 4. Asimilar ea noţiunii de server web 5. Prezentarea serverului web APACHE 2.1.2. Schema logică a modulului
Acest modul este compus din patru subcapitole: primul subcapitol are ca scop evidenţierea conceptului legate de reţeau Internet care stau la baza aplicaţiilor web. Al doilea subcapitol are ca scop descrierea principiul de funcţionare a modelului Clien t-Server. Al treilea subcapitol are ca scop prezentarea teoriei limbajelor pe parte de server şi exemplificarea acestora. Al patrulea subcapitol are ca scop prezentarea teoriei legate de serverulu Apache.
Recomandǎri privind studiul: 1. Sunt necesare cunoştinţe teoretice de algoritmică şi programare; 2. Studierea conceptelor prezentate în vederea utilizării lor pe parcursul celorlalte capitole Rezultate aşteptate: 1. Asimilarea conceptelor de bază legate de aplicaţiile electronice. 2. Studenţii trebuie să înţeleagă şi să asimileze pricipiile de bază ale afacerilor electronice
8
2.1.3. Conţinutul informaţional detaliat 2.1.3 .1Reţeaua Internet - concept şi evoluţie Internet-ul este definit ca o colecţie largă de reţele sau ca o “reţea de reţele” [AllenWaytt1998]. Amândouă definiţiile sunt exacte dar insuficiente pentru a defini cu exactitate reţeaua Internet. Elaborarea unei definiţii complexe pentru reţeaua Internet se dovedeşte a fi o muncă laborioasă deoarece persoane diferite o percep sub aspecte diferite fapt ce a avut ca rezultat apariţia în literatura de specialitate a unui număr mare de definiţii şi accepţiuni ale Internet -ului. După părerea autoarei, av ând în vedere scopul prezentei lucrări, Internet -ul se poate considera ca fiind un mijloc de acces la o comunitate foarte educată şi cu perspective, care dispune de venituri mai mari decât media. În concepţia economiştilor [Godeluck2002] apariţia Internet -ului a schimbat radical natura creşterii economice ducând la apariţia unei noi economii bazate pe calităţi intrinseci ale reţelei şi concentrate asupra unui nou gen de întreprinderi. La baza Internet-ului se află cercetările demarate în 1958 de către Departamentul de Apărare al Armatei Americane, denumit ARPA. ARPA avea misiunea de a efectua, printre altele, cercetări în domeniul tehnologiilor de reţea şi telecomunicaţiilor. Această reţea lega cele mai importante calculatoare din Statele Unite prin intermediul liniilor închiriate. În anul 1962, noul conducător al agenţiei, Dr. J.C.R. Liecklider, a adoptat o serie de măsuri care au condus la mutarea treptată a acestei organizaţii (ARPA) în sectorul civil, în special în mediul universitar [Bucur2002]. În anul 1969, Departamentul Apărării S.U.A., prin Agenţia pentru Proiecte de Cercetare Avansată (ARPA), a creat o reţea experimentală de comutare de pachete, bazată pe linii telefonice [AllenWaytt1998]. Liniile telefonice erau ideale pentru recepţionarea şi transmiterea informaţiilor prin comutare de pachete. Din această colecţie iniţială de reţele s -a născut ARPANet, unul dintre strămoşii Internet-ului. ARPANet permitea oamenilor de ştiinţă, cercetătorilor şi personalului militar din diverse locuri să comunice prin poştă electronică sau prin convenţii pe calculator, în timp real. De la jumătatea deceniului VII şi până în prezent preocupările cercetătorilor s -au îndreptat cu precădere spre arhitecturile de reţele şi spre găsirea răspunsului la următoarea între bare “Cum se pot furniza servicii de comunicaţii prin intermediul unui sistem de reţele interconectate?” [Robu2002]. Rezultatele cercetărilor au condus
la dezvoltarea tehnologiilor interreţea, la modele de sisteme cu mai multe nivele de protocoale de com unicare-operare şi la paradigma interacţiunii de tip “client-server”. În 1972 RFC 354 a creat File Transfer Protocol (FTP), o nouă capitală, deoarece în ea, este specificat formatul datelor schimbate pe reţea, deschizând calea transferului de soft -uri sau de documente [Godeluck2002]. În acelaşi an, Ray Tomlinson a inventat prima adresă electronică între două calculatoare situate la distanţă. Din acel moment orice persoană, care are acces la un calculator conectat la Internet, poate importa soft pe calculat orul său prin intermediul FTP-ului. Tot în anul 1972 a fost înfiinţată la New York, organizaţia International Networking Group sub conducerea lui Vinton Cerf. Scopul principal al acestei organizaţii a fost acela de a crea o “reţea de reţele”, fapt care pe rmitea comunicarea între diferite sisteme eteroclite prin intermediul unui limbaj comun. În acest context, în anul 1978 a fost creat protocolul TCP/IP. Transmision Control Protocol (TCP) împarte mesajele în datagrame, le reansamblează în ordine în momentul sosirii lor la destinatarul precizat în cadrul lor şi trimite apoi expeditorului pachete post adresate. Internet Protocol (IP) transportă datagramele. În anul 1975 apare o nouă inovaţie în domeniu şi anume newsgroups, adică grupurile de discuţie electronică. În anii ’80, reţelele conectate la ARPANet au continuat să se extindă. În anul 1982, ARPANet s -a unit cu MILNet, care era o reţea militară, cât şi cu alte reţele. [AllenWaytt1998] Reţeaua Internet s -a născut ca urmare a reuniunii acestor reţele. Pe măsură ce tot mai multe colegii şi companii de cercetare se conectau la Internet, rolul ARPA s- a diminuat. Arhitectura şi protocoalele dezvoltate în cadrul reţelei ARPA până în anii 1979 stau la baza Internet -lui [Robu2002]. Din varianta sa de început, Internet-ul de azi nu mai păstrează decât conceptul de transmisie a informaţiei sub formă de pachete. În anul 1989, Pentagonul îşi retrage subvenţiile, acţiune ce va avea ca rezultat dispariţia ARPANET 9
ului. În această perioadă oamenii din întreaga lume intră în posesia NET-ului ca urmare a revoluţiei microinformaticii. Rezultatele acestei revoluţii se vor concretiza în faptul că, atât întreprinderile cât şi persoanele fizice vor putea avea acces la Internet folosind diferite tipuri de conexiuni. În anul 1995 Internet-ul a fost descoperit de lumea comercială. Din acest an, Internet -ul a început să reprezinte un instrument de creştere a veniturilor pentru toate firmele care s -au adaptat noului mediu de desfăşurare a afacerilor. Internet -ul lărgeşte câmpul de acţiune al comercianţilor [Choy1999] şi înlătură barierele de intrare în acest câmp, chiar şi pentru întrepriderile mici şi mijlocii. El oferă consumatorilor posibilitatea alegerii celor mai competitive produse de pe piaţa globală. În noul context Internet-ul s-a transformat treptat într-un mediu de afaceri. Acest lucru a fost posibil datorită creării şi stabilirii unei legături între telecomunicaţii şi computere. Unul dintre cele mai importante caracteristici ale acestui instrument este faptul că informaţia circulă uşor şi repede în toată lumea ca şi cum ar fi într -un singur oraş. 2.1.3.2 Modelul CLIENT-SERVER
Modelul Client-Server[site17] [LalaniChandak1997] stă la baza tuturor aplicaţiilor electronice şi serviciilor Internet. Clientul, în general, rulează pe calculatorul utilizatorului şi este folosit pentru a accesa informaţii sau alte aplicaţii din cadrul reţelei Internet. Exemplul de client este browser -ul care poate îndeplini cu succes următoarele sarcini:[site17] emite cererile şi recepţionează datele care se vor afişa; formatează documentele pe baza tag -urilor HTML; afişează documentele. Serverul [site17] rulează, în general, pe un calculator centralizator sau aflat la distanţă, furnizând sau oferind informaţii/servicii clienţilor. Exemple de servere folosite în prezent sunt: Apache, IIS şi etc. Clientul şi serverul se pot găsi pe acelaşi calculator, în cazul în care se utilizează mecanisme de comunicaţie locală sau pe calculatore diferite, atunci când se folosesc mecanisme de comunicaţie în reţea. (Figura1.2)
Figura 2.1.3.2. Arhitectura- client server - adaptare [LalaniChandak1997] Un server web poate fi comparat cu un chelner dintr-un restaurant.[site31] Chelnerul va fi serverul web, restaurantul va fi mediul în care acesta l ucrează (în special sistemul de operare), bucătăria restaurantului va fi sistemul de fişiere din care serverul web va alege fişierele cerute de clienţi. Această comparaţie este posibilă deoarece şi serverul web şi chelnerul au aceeaşi funcţie principală: a ceea de a servi. Un server web este un program care rulează pe un calculator, aşteaptă pe un port o conexiune TCP venită de la un client şi serveşte acestuia pagini web folosind protocolul HTTP. [site31] Serverul web este un software, un program de sine stătător, un executabil cu o funcţie bine stabilită: accea de a servi la cerere pagini de Internet într-un mod bine determinat. Acest software poate
10
fi: Apache HTTP Server , Microsoft Internet Information Services (IIS) , iPlanet Web Server , Roxen WebServer , Zeus WebServer , ş.a. Serverul web rulează pe un calculator. [site31] Web serverele se pot accesa astfel: http://www.ubbcluj.ro/: cel mai simplu mod de adresare; http://www.ubbcluj.ro/index.html presupune adresarea fişierului index.html aparţinând subdomeniului ubbcluj ; http://localhost:8080/exemplu/exemplu1.html: pentru a accesa fişierul exemplu1.html din directorul exemplu de pe maşina locală, prin intermediul serverului care ascultă pe portul 8080; https://90.86.22.1/exemplu.php: adresarea securi zată a fişierului exemplu.php folosind IP-ul maşinii gazdă. Clientul folosit pentru accesarea serverului web poate fi atât un browser cât şi un alt program capabil să se conecteze la un port TCP (de exemplu: telnet, ftp, etc.). Browserul [site31] este un program folosit la afişarea de conţinut web. Acesta se impune să poată să interpreteze pagini HTML, să afişeze imagini şi alte forme de conţinut multimedia, să folosească referinţe (link -uri) etc. Cea mai importantă caracteristică a sa este capacitatea l ui de a se conecta prin protocolul TCP la un server web. Metoda de conectare s-a prezentat anterior. În acest context se impune să se precizieze că introducerea unei adrese web (de exemplu: http://www.ubbcluj.ro/exemplu.html) în browser, determină executarea următorilor paşi: [site31][site8][Boian1997] . 1. Browser-ul determină protocolul pe care îl va folosi în dialogul cu serverul web ( http:// = HTTP - HyperText Transfer Protocol ). 2. Browser-ul determină adresa web a serverului (www.ubbcluj.ro). 3. Browser-ul determină ce anume trebuie să ceară de la serverul web, adică pagina html numită exemplu.html. 4. Browser-ul determină adresa IP a maşinii pe care rulează serverul web prin interogări DNS ( Domain Name Service) pe baza adresei web introdusă în address bar. 5. pe baza adresei IP determinată anterior, browserul va crea o conexiune TCP pe portul specificat în URL sau implicit pe portul 80. 6. Browser-ul lansează o cerere GET sau POST către server specificând fişierul dorit: GET /exemplu.html. 7. Serverul web răspunde trimiţând fişierul dorit sau o eroare corespunzătoare în cazul în care trimiterea nu este posibilă (lipsa fişierului, drepturi de acces insuficiente etc.). Aici conexiunea dintre client şi server se încheie. 8. Browser-ul analizează fişierul primit şi îl afişează corespunzător. Browser-ele cele mai cunoscute şi deci cele mai folosite sunt: Microsoft Internet Explorer, Mozilla, Netscape, Opera, Lynx, etc. Rolul serverului web este, aşa cum s -a precizat mai spus acela de a servi fişiere. În principal aces te fişiere sunt în format HTML, PHP, ASP şi etc. Serverul web poate să servească şi alte fişiere: imagini, sunete, animaţii, arhive etc. Fişierele care se pun la dispoziţia navigatorului se află stocate într -un director văzut ca rădăcină de către web server (exemplu de strucutră de directoare este: /var/www/html/ pentru serverul web Apache). Acest director se specifică în configuraţia serverului şi în el se vor stoca fişierele şi structura de subdirectoare pe care le va folosi serverul web în căutarea unui fişier cerut de către un client. Servirea unui fişier se efectuează dacă fişierul specificat există, dacă este accesibil de către serverul web şi dacă drepturile de acces nu interzic acest lucru. În cazul neîndeplinirii uneia dintre aceste condiţii, serverul va trimite un cod de eroare sau o pagină predefinită care să informeze despre eroarea apărută. De multe ori, fişierele pe care trebuie să le servească depind de alte programe externe de generare de cod (CGI, ASP, JSP, PHP). Fişierele care necesită astfel de prelucrări vor fi generate de programul extern, a cărui rezultat va fi un fişier HTML nou creat. Acest fişier va fi transferat serverului web, pe care acesta poate să -l servească ca pe orice alt fişier. Acest proces stă la baza tuturor site -urilor dinamice şi este absolut necesar pentru pagini al căror conţinut necesită modificări în funcţie de anumite criterii.
11
2.1.3.3 Limbaje de scripting pe parte de server
Cu toate avantajele limbajului HTML, el nu poate fi folosit în orice context. Conţinutul dinamic şi prelucrarea logică depăşesc posibilităţile limbajului HTML fapt ce a determinat apariţia şi dezvoltarea limbajelor de scripting. Limbajele de scripting incluse între tag-urile HML permit lucrul cu variabile, construcţii logice şi interogări ale bazelor de date. În plus, scripturile pot fi folosite cu miniaplicaţii şi controale. Limbajele de scripturi [microsoft-site] sunt limbaje simple, concepute pentru operaţii speciale şi care sunt asociate unor aplicaţii sau funcţii. Un script este un program alcătuit dintr -un set de instrucţiuni, elaborate în cazul nostru printr- un limbaj de scripting, destinat unui utilitar sau a unei aplicaţii. Exemple de astfel de limbaje sunt Perl, PHP,VBScript şi JScript. În procesul de construire a paginilor web cu PHP, se pot folosi atât JScript cât şi VBScript sau orice alt limbaj de scripting acceptat. VBScri pt Edition [w3schools-site] este un subset al limbajului Visual Basic, fiind folosit pentru dezvoltarea scripturilor destinate browserelor Web şi altor aplicaţii care folosesc controale ActiveX, servere de automatizare şi miniaplicaţii Java. Principiile de bază ale limbajului VBScript sunt următoarele: pune la dispoziţia dezvoltatorilor care folosesc limbajul VB o modalitate de dezvoltare pentru Web la nivelul s erverului şi al clientului; aduce în Web un limbaj de scripting uşor de folosit şi de înţeles; extinde familia de limbaje VB pe platforme care nu asigură suportul pentru VB sau VBA. JScript [books-site] este un limbaj de scripting interpretativ, bazat pe obiecte, proiectat special pentru Internet. Deşi, are mai puţine posibilităţi decât limbajele complete orientate spre obiecte, precum C++ sau Java, JScript este un instrument mai mult decât suficient pentru scopul în care a fost creat, şi anume, dezvoltarea de aplicaţii pentru browsere Web, care folosesc controale ActiveX, miniaplicaţii Java sau servere de automatizare. JScript nu permite scrierea aplicaţiilor independente şi are posibilităţi limitate pentru citirea sau scrierea fişierelor. PHP este un limbaj de programare pentru server. Codul PHP poate fi integrat în interiorul codului HTML. Scriptul PHP va fi apoi procesat de către server care va returna un fişier HTML. Acest tip de interacţiune permite executarea unor operaţii complexe. Scriptarea [microsoft-site] este o modalitate relativ simplă de adăugare a conţinutului dinamic la o pagină PHP, mult mai simplă decât folosind interfeţele CGI (Common Graphic Interface). Scriptarea oferă posibilitatea de dezvoltare a conţinutului dinamic mai multo r persoane decât oricare alte instrumente, protocoale şi specificaţii de dezvoltare. Spre deosebire de CGI, scriptingul este atractiv şi accesibil maselor largi de programatori, la fel ca Visual Basic şi Microsoft Access. Din cele prezentate până în acest moment, se observă uşor că aplicaţiile WEB reprezintă atât prezentul cât şi viitorul. Acestea funcţionează pe baza unei arhitecturi client -server aşa cum s -a arătat în acest capitol. Aplicaţiile realizate cu limbajul HTML combinat cu un limbaj de scripting, în speţă PHP, utilizează un singur client şi anume browser -ul WEB. Limbajul de bază a browser -ului WEB este HTML. Acest limbaj dispune de o serie de tag- uri care descriu modul în care va arăta o pagină WEB. Majoritatea prelucrărilor efectuate de aplicaţiile Web, au loc pe server. O aplicaţie specifică, numită server Web, va asigura comunicarea cu browserul. Un server de baze de date relaţionale stochează informaţiile pe care le va accesa aplicaţia. În final mai este nevoie de un limbaj care să intermedi eze interogările ce apar între serverul Web şi serverul de baze de date. Acest limbaj va mai fi utilizat şi pentru a executa anumite operaţii asupra informaţiilor care vin dinspre şi spre serverul Web. 2.1.3.4. Server APACHE
Server-ele Web au ca funcţionalitate de bază, recepţionarea de cereri anonime de la clienţi şi furnizarea de informaţii într -o manieră dorită a fi eficientă şi rapidă [Ricart1998]. În fapt, un server Web este un daemon care acceptă conexiuni conform protocolului HTTP, răspunzând cererilor recepţionate de la clienţi. Ca şi alte protocoale utilizate în Internet, protocolul HTTP (HyperText Transfer Protocol) este un protocol de tip cerere-răspuns, bazat pe TCP/IP, destinat transferurilor informaţiilor hipermedia. Apache foloseşte HTTP pen tru a comunica cu Internet Explorer, pentru a analiza URL- ul şi a stabili 12
protocolul de conectare în cazul de faţă: http://localhost . 11 Conform statisticii realizate de Netcraft , din luna aprilie 2002, efectuate asupra a circa 38 milioane de site-uri, serverul Web cel mai folosit este Apache, ocupând 53,76% din piaţă procent care a continuat să crească direct proporţional cu trecerea anilor şi până în prezent. Proiectul Apache reprezintă dezvoltarea unui soft colaborativ care urmăreşte cearea şi utilizar ea unui Web Server puternic şi robust. Proiectul era condus de către voluntari din întreaga lume. Acest grup de voluntari foloseşte Internet-ul pentru comunicare, planificarea şi dezvoltarea server -ului şi a documentaţiei de rigoare. Ei sunt cunoscuţi sub denumirea de Grupul Apache (Apache Group). În plus, sute de utilizatori au contribuit cu idei, coduri şi documentaţie la acest proiect. În februarie 1995, cel mai popular Web Server din Internet era HTTP Daemon dezvoltat de Rob McCool la NCSA (National Center for Supercomputing Applications), Universitatea din Illinois. La 1 decembrie 1995 a fost lansat pe piaţă Apache 1.0. Acest Web Server a fost încă de la început un succes şi la mai puţin de un an de la formare Apache a depăşit HTTD (HTTP Daemon) [Ricar t1998]. Apache furnizează o implementare robustă a protocolului HTTP. Apache rămâne o platformă pe baza căreia indivizii şi instituţiile pot să construiască sisteme în scopuri experimentale şi nu numai. De obicei, faptul că o companie deţine o piaţă este considerat ca un avantaj economic. Aceasta ar însemna, în acest caz, ca respectiva companie să deţină toate protocoalele prin care se fac tranzacţiile în Internet. Dar, World Wide Web nu este în proprietatea nimănui, iar această proprietate a protocoalelor trebuie prevenită tocmai din această cauză. Existenţa unei implementări robuste a protocoalelor Web care să fie disponibilă absolut gratuit tuturor companiilor este, cu siguranţă, un lucru pozitiv. Pe de altă parte Apache este o entitate organică, cei care beneficează de ea, prin utilizare contribuie de cele mai multe ori la dezvoltarea ulterioară a platformei. Dacă cineva plăteşte pentru un produs software, nu va dori după aceea să -i repare defectele. Dorinţa creatorilor Apache, după cum se specifică în site-ul Grupului Apache 2 este ca platforma să fie folosită de cât mai multă lume (companii mari sau mici, instituţii de cercetare, şcoli, Intranet -uri) şi să se acopere cât mai multe domenii de activitate. Ce se petrece pe server atunci când se introduce în bara de adrese a browser-ului http://www.localhost/proiectphp/Index.php de exemplu. Când se acţionează tasta „Enter” browser -ul trimite către serverul de HTTP http://localhost/proiectphp, o cerere afişează conţinutul directorului „proiectphp” dacă se mai adaugă şi „Index.php” atunci se afişează conţinutul paginii „Index.php” din directorul „proiectphp”. Acest server este Apache. Apache este setat să servească browser -ului doar pagini HTML. Paginile HTML pot fi deja pe server sau create, tot acolo, de către alte aplicaţii şi servite ca HTML browser-ului clientului. În momentul în care se cere o pagină cu extensia „.html” de pe server, Apache o serveşte imediat. Dacă se cere o pagină cu extensia „.php” Apache verifică dacă este configurat să servească pagini cu această extensie şi ce program se ocupă de ele. Astfel, atunci când se cere o pagină cu extensia „.php”, serverul Apache va trimite mai departe cererea către PHP. PHP preia cererea, rulează codul din program şi dacă vede că se cer informaţii din baza de date MySQL, o accesează, extrage informaţiile cerute şi construieşte o pagină HTML pe care o va trimite server -ului Apache pentru ca acesta să o servească clientului. Caracteristicile server-ului Apache sunt: flexibilitate, portabilitate, siguranţă şi e xtensibilitate. Serverul Apache se distribuie gratuit. Cel mai puternic motiv pentru folosirea acestui server este faptul că poate rula atât sub Unix cât şi sub Windows după preferinţele fiecăruia.
1
http://www.netcraft.com/survey
2
http://www.apache.org 13
1.Internet-ul este definit ca: reţea locală de reţele ;
Teme pentru verificarea cunoştinţelor
ca o ca o colecţie largă reţea de reţele ca o reuniune de calculatoare pe arie medie de extindere ca o platformă pentru o colecţie de calculatoare
2.TCP (Transmission Control Protocol) are ca funcţie primară corectarea erorilor şi secvenţierea transportului.
transmiterea mesajelor în format electronic pe Internet transmiterea de pachete de la sursă la destinaţie
definirea modului prin care vor dialoga clientul şi serverul 3.Trăsăturile limbajului HTML sunt: Dependenţa de platformă, Structurarea riguroasă a documentelor, Hipertext
Independenţa de platformă, restructurarea riguroasă a documentelor,Hiperlink Hipertext, Independenţa de platformă, Structurarea riguroasă a documentelor Interferenţa cu platforma , Structurarea riguroasă a serverelor, Hiperdocument
Răspunsuri 1.Internet-ul este definit ca: reţea locală de reţele ;
ca o ca o colecţie largă reţea de reţele ca o reuniune de calculatoare pe arie medie de extindere ca o platformă pentru o colecţie de calculatoare
2.TCP (Transmission Control Protocol) are ca funcţie primară corectarea erorilor şi secvenţierea transportului.
transmiterea mesajelor în format electronic pe Internet transmiterea de pachete de la sursă la destinaţie
definirea modului prin care vor dialoga clientul şi serverul 3.Trăsăturile limbajului HTML sunt: Dependenţa de platformă, Structurarea riguroasă a documentelor, Hipertext
Independenţa de platformă, restructurarea riguroasă a documentelor,Hiperlink Hipertext, Independenţa de platformă, Structurarea riguroasă a documentelor Interferenţa cu platforma , Structurarea riguroasă a serverelor, Hiperdocument
Bibliografie
[Stanca_07]Stanca L., Suportul tehnologic al afacerilor electronice, Editura Presa Universit ară Clujeană, 2007 pag:5-16, Biblioteca Facultăţii [Stanca_04] Stanca L.,Suportul economic al afacerilor electronice, Editura Presa Universitară Clujeană, 2004 pag:5-20, Biblioteca Facultăţii [Buraga_05] Buraga S,Proiectarea site-urilor WEB- Design şi funcţionalitate, Editura Polirom, 2005, Biblioteca facultăţii, pag.57-90
14
MODULUL 2 PREZENTAREA ELEMETELOR DE BAZĂ ALE LIMBAJULUI HTML 2.1. Scopul şi obiectivele modulului
În cadrul activităţilor de proiectării şi realizării siteurilor şi portalurilor Web un rol decisiv îl joacă limbajul HTML. După descoperierea elementelor de bază a modului de funcţionare a spaţiului electronic se impune prezentarea în cadrul acestui modul a noţiunilor de bază şi avanstate ale limbajului HTML. Conceptele de bază abordat e în cadrul acestui modul sunt: Trăsăturilor caracteristice ale limbajului HTML; Structurii unei pagini HTML ; Tag-ur de formatare a textului; Stilurilor fundamentale de formatare a textului Hyperlink ; Liste ; Tabele; Imagini; Formulare; Cadre (frame).
Obiective acestui modul sunt:
1. 2. 3. 4. 5. 6.
Familiarizarea cu conceptele WEB, pagină WEB, HTTP; Asimilarea caracteristicilor limbajului HTML Descrierea structurii unui document HTML Însuşirea tag-urilor de formatare la nivel de text Însuşirea tag-urilor Hyperlink, liste Prezentarea tag-uri de definire a diverselor obiecte
Recomandǎri privind studiul: 1. Studierea conceptelor prezentate în vederea utilizării lor pe parcursul celorlalte capitole. 2. Asimilarea conceptelor de bază legate de dezvol tarea proiectelor web statice care stau la baza dezvoltării proiectelor web dinamice prezentate în capitolele următoare. Rezultate aşteptate: 1. Studenţii trebuie să fie capabili să îşi prezinte cunoştinţele teoretice de natură coerentă şi consistentă. 2. Studenţii trebuie să poată proiecta şi implementa un proiect de pagină web statică de mare complexitate. 2.2. Scurtă recapitulare a conceptelor prezentate anterior În cadrul primului modul s-a impus să se prezinte noţiunile de bază a mediului virtual, a limbajelor de scripting pe parte de serverşi nu în ultimul rând a principiului de funcţionare a modelului client -server. Pe baza acestor noţiuni se vor creiona toate celălate noţiuni prezentate în modulele viitoare. 2.3. Schema logică a modulului Acest modul este compus din şapte subcapitole: primul subcapitol are ca scop evidenț ierea conceptului de bază ale limbajului HTML iar în celălate şase subcapitole sunt prezentatea pe rând elemnte de limbaj HTML.
15
2.4.Conţinutul informaţional detaliat 2.4.1. Elemente de limbaj HTML
Web-ul este rodul întâlnirii dintre un inventator şi un strateg.[Godeluck2002] Inventatorul, în acest caz, este Tim Berners-Lee care a conceput Universal Resource Locator (URL). URL este un sistem universal de adresare şi de realizare a concordanţei documentelor pe reţea, fiecare document primind echivalentul unui număr de telefon înregistrat oficial într -un anuar. Trecerea de la un document la altul se va face prin accesarea legăturilor de tip hypertext. Tim Berners Lee est e creatorul limbajului HTML, care permite scrierea unui text în cadrul căruia se inserează legături ascunse către alte pagini, care cuprind la rândul lor legături către alte pagini. Aceste legături sunt într -un număr extrem de mare, fiind asemuite cu o pân ză de paianjen. Hypertext Transfer Protocol (HTTP) este resursa care permite încărcarea paginilor solicitate de utilizator pe ecranul calculatorului său. Apariţia acestui protocol este considerată de majoritatea specialiştilor în domeniu, ca o etapă decisivă în procesul descentralizării cunoaşterii, proces iniţiat de apariţia Internet -ului. HTTP a făcut posibilă vizitarea site-urilor şi navigarea prin spaţiul virtual. În literatura de specialitate există o serie de definiţii pentru site -uri Web dintre care s-a ales cea care se potriveşte cel mai bine temei prezentei abordări, aceasta fiind: “Pagina Web-Document din World Wide Web este alcătuită dintr -un fişier HTML şi din fişierele asociate pentru grafică şi scripturi, aflate într -un anumit director de la o anumită maşină (fiind astfel identificabile printr-o adresă URL). De obicei, o pagină Web conţine legături la alte pagini Web. [Microsoft1999] Primul document dintr-un site web se numeşte pagina de bază ~ index sau home page. Ea serveşte ca punct de plec are într-un sistem hipertext [Microsoft1999] sau, cu alte cuvinte, ea se deschide când se navighează la un site Web. [Plotkin2002] Pagina de bază de regulă are o denumire consacrată, home.html, default.html sau index.html . HTML-ul (Hypertext Markup Langua ge), este un limbaj cu ajutorul căruia se descrie formatul primar în care documentele sunt distribuite şi vizualizate pe Web. Trăsăturile limbajului HTML sunt:[site2] 1. Independenţa de platformă care înseamnă că un document poate fi afişat în mod asemănător pe computere diferite (deci cu font, grafică şi culori diferite), lucru vital pentru un public ţintă atât de variat. 2. Structurarea riguroasă a documentelor permite convertirea acestora dintr-un format în altul precum şi interogarea unor baze de date formate din aceste documente. 16
3. Hipertext înseamnă că orice cuvânt, frază, imagine sau alt element al documentului văzut de către un client poate face referinţă la un alt document, ceea ce simplifică mult navigarea între multiplele pagini web sau chiar în interiorul aceleiaşi pagini web. Deci, HTML defineşte structura şi modul de afişare a informaţiei într -o pagină web, prin intermediul unor marcaje şi a atributelor acestora. Un document HTML apare ca un text ce conţine o serie de construcţii delimitate de simbolurile “<” şi “>”. Aceste construcţii specifică indicaţii speciale adresate navigatorului (browser -ului) Web. Orice construcţie care apare între simbolurile “<” şi “>” o vom numi marcaj , tag sau instrucţiune. Deoarece este mai scurt, vom folosi în continuare termenul tag. 2.4.2. Structura unui document HTML
Documentele HTML încep cu tag-ul şi se termină cu tag -ul . Între aceste tag-uri se vor introduce două secţiuni, şi anume: 1. secţiunea de antet a documentului delimitată de tag-urile: ..., care cuprinde o colecţie de informaţii despre document care nu sunt afişate în browser; 2. secţiunea de corp a documentului delimitată de tag -urile: ..., care cuprinde conţinutul propriu-zis al paginii HTML, adică ceea ce se va afişa în browser. Deci, un document HTML are următoarea structură: .... .... Tag-ul are rolul de a delimita partea principală a unui document HTML şi poate conţine atributele de formatare a acestuia Tag-urile care pot fi folosite în interiorul secţiunii antet sunt:
text ~ se foloseşte pentru a da un titlu documentului HTML. Acesta va fi afişat în bara de titlu a browser-ului. Tag-ul <META> este folosit pentru a oferi mai multe informaţii serverelor despre cum trebuie manevrat (identificat, indexat şi catalogat) documentul HTML Tag-ul