Elaborarea a Unei Pagini Web
INTRODUCERE
1 TEHNOLOGII DE ELABORARE A PAGINILOR WEB
1.1 Noțiuni generale despre WWW (World Wide Web)
1.2 HTML – limbaj Word Wide Web
1.3 Prezentare generală a limbajului HTML
1.3.1 Format
1.3.2 Tag-uri
1.4 Cascading Style Sheets (CSS)
1.5 Complemente HTML – ului
1.6 Standard Generalized Markup Language (SGML)
1.6.1 Aplicații timpurii importante în SGML
1.6.2 Prezentare a SGML – Precizări generale
1.6.3 Caracteristici
1.6.4 Structuri SGML
1.7 Definirea structurii unui document (Document Type Definition)
1.8 EXtensible Markup Language – XML
1.8.1 XML – eXtensible Markup Language scurt istoric
1.8.2 Format
1.8.3 Trăsături principale ale XML
1.8.4 Deosebiri esențiale față de SGML
1.8.5 Hiper-legături în XML
1.8.6 Stil și substanța în XML
1.9 Elaborarea paginilor Web în JavaScript
1.9.1 Folosirea tag-ului <SCRIPT>
1.9.2 Ascunderea scriptului în comentariu
1.9.4 Definirea funcțiilor
1.9.5 Funcții de gestiune a evenimentelor
1.9.6 Culoare
1.9.7 JavaScript: trusa de instrumente
1.10 Posibilitățile limbajului PERL
1.11 PHP/FI – Personal HomePage/Form Interpreter
1.12 CGI – Common Gateway Interface
2 ANALIZA CALITATIVĂ A TEHNOLOGIILOR
DE CREARE A PAGINILOR WEB
2.1 XML și HTML: care limbaj este mai greu
2.2 XML prin prisma de programare
2.3 Preveziuni pentru viitor
2.4 Dezvoltarea tehnologiilor documentelor create
2.5 Structura logică a documentului
2.6 Rezultate intermediare
2.7 Compatibilitatea tehnologiilor noi
2.8 Instrumente pentru facilitarea elaborării paginilor Web
3 PROTECȚIA MUNCII
3.1 Analiza și aprecierea condițiilor de muncă
3.1.1 Tipurile radiației de ecran
3.1.2 Standardul ISO 9241
3.2 Calculul iluminării naturale la locul de muncă
3.3 Factorii dăunători și periculoși la locul de muncă
3.4 Cerințele ergonomice privind locul de muncă
3.5 Condiționarea aerului
3.6 Cerințele securității tehnice la începutul lucrului
3.7 Cerințele securității tehnice în timpul de lucru
3.8 Acțiuni în cazuri fatale
3.9 Securitatea antiincendiară
3.9.1 Cauzele apariției incendiilor
3.9.2 Securitatea antiincendiară în sălile de calcul
4 APRECIEREA CHELTUIELILOR ECONOMICE
ALE PROIECTULUI DE DIPLOMĂ
4.1 Planificarea economică
4.2 Construirea grafului de rețea și calcularea parametrilor principali
CONCLUZII
BIBLIOGRAFIE
anexe
Pagini 87
=== DIPLOMTOT ===
INTRODUCERE
Ca și altele tehnologii “mari”, rețeaua mondială de calculatoare INTERNET se datorează nașterea sa “războiului rece”, în acel timp a apărut ideia de Internet. Internet-ul este recunoscut de către savanți ca un fenomen foarte important în dezvoltarea omenirii de mai departe și este egalat cu alte descoperiri ca cum ar fi: motorul cu ardere internă, becul electric și calculatorul personal. Se consideră că începând cu 1988, volumul resurselor Internetul-ui cu fiecare an se dublează. Internetul câștigă cu 3,5 mai mulți utilizatori și simpatizanți decât televiziunea de la apariția ei.
Cu cât mai mult este întrebuințat INTERNET-ul cu atât apar mai multe site-uri noi, pagini web, portaluri internaționale ș.a. Pentru elaborarea site-urilor sau a paginilor web sunt folosite mai multe tehnologii ca de exemplu: Limbajul HTML, Javascript, XML, Perl ș.a. Datorită unor avantaje, limbajul HTML domină celelalte tehnologii de elaborare. Eu în lucrare de diplomă voi descrie fiecare tehnologie, dar mai mult mă voi opri asupra limbajului HTML.
Odată cu dezvoltarea tehnologiilor de comunicare prin Web, a apărut necesitatea generării dinamice a conținutului paginilor. Cu alte cuvinte a efectua o legătură între sistemul de operare, sub care lucrează web-serverul, și pagina web generată de server la cererea clientului. Deci a apărut necesitatea de a rula aplicații în sistemul de operare care efectuând careva operații ar întoarce rezultatul direct pe pagină. Așa a apărut standardul CGI (Common Gateway Interface) care a permis programatorilor să scrie aplicații de acest gen. Dezvoltarea de mai departe a tehnologiilor de creare a aplicațiilor Web pe servere a dus la apariția unor probleme ca: divizarea paginii generate, sau altfel spus divizarea codului HTML, generat de însăși aplicația generatoare de cod. Aplicația simplifică elaborarea servleturilor prin separarea programării propriu zise de design-ul paginilor: Designer-ii creează template-uri cu ajutorul limbajului de criptare al aplicației.
Programatorii lucrează în Java, fără a utiliza HTML, JavaScript sau alte limbaje de prezentare. Filozofia aplicației poate fi expusă așa:
Lucrurile de care nu vă pasă trebuie să dispară din fața D-stă.
Altfel spus un developer de soft (chiar dacă este și un designer de pagini Web) dorește să se gândească numai la compunerea codului programei. Se gândește la structura de date, obiecte și fluxul de informații. Nu dorește să fie deranjat de sintaxa HTML și îl deranjează faptul că trebuie să includă în codul programului și bucăți de cod HTML sau JavaScript.
Ca web designer (chiar dacă este și programator) dorește să se gândească despre modul cum vor arăta lucrurile. El trage atenție culorilor, cât spațiu să lase între secții, cum trebuie să fie organizată pagina, și relațiile dintre obiectele de pe pagină. Nu dorește să fie deranjat de sintaxa complicată a software-lui, și nici nu-i place să editeze codul programei ca să schimbe modul cum arată o tabelă.
1 TEHNOLOGII DE ELABORARE A PAGINILOR WEB
În acest compartiment se descriu tehnologiile utilizate în elaborarea proiectului dat. SGML, HTML și XML sunt standardele cu care interfațează aplicația server elaborată. Indispensabil în crearea paginilor Web, HTML este un descendent al limbajului SGML, folosit pentru dezvoltarea de documente hiper-text accesibile prin Internet. Acest punct trece în proiect o serie din caracteristicile, implementările și tendințele acestui limbaj.
1.1 Noțiuni generale despre WWW (World Wide Web)
Unul din primele elemente fundamentale ale WWW (World Wide Web) este HTML (Hypertext Markup Language), care descrie formatul primar în care documentele sunt distribuite și văzute pe Web. Multe din trăsăturile lui, cum ar fi independentă față de platforma, structurarea formatării și legăturile hipertext, fac din el un foarte bun format pentru documentele Internet și Web.
WWW este un sistem distribuit de hipermedia funcționând în mod client-server prin Internet. Sistemul pune la dispoziție informațiile sub forma de hipertext (mixtura între text, grafică, elemente multi-media, plus referințe încrucișate). Pentru a căpăta acces la WWW, utilizatorul va fi nevoit sa folosească un program client (user-agent) cum ar fi Lynx (în mod text) sau Mosaic și Netscape (în mod grafic) și bineînțeles va trebui să cunoască localizarea fizică a documentului dorit. Localizarea unui document hiper-text se exprimă sub formă de URL (Uniform Resource Locator), o modalitate flexibilă și eficiența de accesare a oricărei resurse Internet, prin oricare protocol (TELNET, FTP, Gopher, HTTP, mail) bazat pe TCP/IP.
Modul de dialogare între clienți si serverele WWW se realizează prin protocolul HTTP (HyperText Transfer Protocol). Un document WWW trebuie în prealabil formatat (sau 'marcat') cu ajutorul limbajului HTML, marcaj ce va descrie structura logică a documentului și va fi procesat de programul client. Orice astfel de document poate cuprinde legături de tip hipertext, indicate prin zone de text sau imagini, conducându-l pe cititor fie în alt punct al aceluiași document, fie intr-un alt document, care poate sa se găsească stocat local (pe serverul curent) sau la distanță (pe oricare alt server Web din lume). Aceste legaturi încrucișate între miile și sutele de mii de servere WWW realizează o adevărată pânză de păianjen (web) planetara (world-wide) de unde vine și denumirea WWW, iar utilizatorul navighează în ciber-spațiul reprezentat de această rețea.
Clientul WWW poate manipula documente multimedia datorită facilităților puse la dispoziție de diferitele versiuni ale limbajului HTML ce prevăd includerea de imagini (formate grafice precum GIF sau JPG), fișiere audio și video. Mai mult, programele client se pot comporta ca programe client FTP, Gopher sau News (NNTP) și sunt capabile să gestioneze poșta electronică. În HTML pot fi concepute formulare (forms) pentru introducerea interactivă a datelor (texte, meniuri, liste, butoane de selecție etc.) și trimiterea lor către server spre a fi procesate. Îmbinarea limbajului HTML cu rutine scrise în alte limbaje (scripturi) conferă o sporită interactivitate a Web-ului.
Primele specificații de bază ale Web-ului au fost HTML, HTTP și URL.
HTML a fost dezvoltat inițial de Tim Berners-Lee la CERN în 1989. HTML a fost văzut ca o posibilitate pentru fizicienii care utilizează computere diferite și schimbă între ei informație utilizând Internetul. Erau prin urmare necesare câteva trăsături: independența de platformă, posibilități hypertext și structurarea documentelor. Independența de platforma înseamnă ca un document poate fi afișat în mod asemănător de computere diferite (deci cu fonte, grafică și culori diferite), lucru vital pentru o audiență atât de variată.
Hipertext înseamnă că orice cuvânt, frază, imagine sau alt element al documentului văzut de un utilizator (client) poate face referință la un alt document, ceea ce ușurează mult navigarea între multiple documente sau chiar în interiorul unui aceluiași document. Structurarea riguroasă a documentelor permite convertirea acestora dintr-un format în altul precum și interogarea unor baze de date formate din aceste documente.
WWW (Word Wide Web) și mijloacele interactive de interacțiune
Interfața interactivă a utilizatorului prezintă în sine o sistemă, asigurând interacțiunea utilizatorului și programelor. Pentru WWW, interfața interactivă se poate de determinat ca o consecutivitate a documentelor HTML, realizând interfața utilizatorului. Se poate tot de clasificat principiile construcției interfeței după tipul formării documentului HTML:
static
dinamic
În primul caz sursa interfeței este documentul HTML, creat în orișicare redactor textual sau HTML – orientare. Concomitent, documentul dat rămâne neschimbat în timpul întrebuințării. În al doilea caz sursa interfeței este documentul HTML generat cu modulul cgi. Concomitent, apare o oarecare flexibilitate de schimbare a interfeței în timpul întrebuințării.
În așa mod se poate introduce ideea de interfață pentru WWW. Practic fiecare problemă, care rezolvă primirea datelor de la client, este legată cu construirea interfeței. Cel mai interesant lucru este construirea interfeței pentru diferite baze de date, acces la SQL-server, primirea informației de la structura periferică, crearea locurilor de muncă pentru clienți.Toate acestea sunt posibile cu ajutorul CGI (Common Gateway Interface).
CGI este standardul interfeței programului aplicativ interior cu WWW-server. Problema creării interfeței susnumite se împarte în două părți:
partea clientului
partea serverului
Partea clientului
Pentru crearea părții clientului trebuie de creat documentul HTML, în care este realizat interfața cu utilizatorul. În limbajul HTML este posibilă realizarea cu ajutorul formelor.
Construcția limbajului HTML, care utilizează în timpul realizării formelor este:
<FORM atribute>…</FORM>
utilizarea: este atribuit pentru primirea informației de la client și determină începutul și sfârșitul formelor.
Atributele:
obligatorii
ACTION – determină URI (adresa și locul amplasării documentului) scriptului CGI
METHOD – determină metoda transmiterii informației scriptului.
neobligatorii
[ENCTYPE] – determină tipul MIME de decodificarea informației
[SCRIPT] – se întrebuințează pentru transmiterea URI a scriptului. Limbajul scriptului și interfața utilizatorului care nu este o parte a specificației HTML.
Notă: Formele nu pot fi intercalate.
Partea serverului
Partea serverului constă din modulul executat, ce soluționează problemele de bază de prelucrare a datelor transmise de la partea clientului, formarea răspunsului în formatul HTML ș.a.m.d. Așa tip de modul se numește cgi-modul.
1.2 HTML – limbaj Word Wide Web
Un document poate fi identificat prin următoarele caracteristici fundamentale: structura, conținut și forma. Dacă forma de vizualizare este dependentă de programul de afișare a informațiilor conținute de acel document, structura și conținutul său trebuie să aibă un format general de reprezentare, pentru a asigura portabilitatea.
Pagina personală – aceasta este un document textual, creat cu ajutorul următoarelor mijloacelor de bază:
HTML (Hypertext Markup Language) – limbajul de marcare a hipertextului,
CGI (Common Gateway Interface) – interfața generală a barajului,
HTTP (Hypertext Transfer Protocol) – protocolul de transmitere a documentelor hipertextuale.
Limbajele de bază de programare: Java, JavaScript, Perl.
Aceste mijloace – întrebuințarea lor ne dă voie să elaborăm o pagină destul de funcțională, în continuare începem cu HTML.
1.3 Prezentare generală a limbajului HTML
Tim Berners-Lee a utilizat ca model SGML (Standard Generalized Markup Language), un standard internațional în plină dezvoltare. SGML avea avantajul unei structurări avansate și al independenței de platformă dar proiectarea lui a avut în vedere mai mult structura semantică a documentului decât modul de formatare. Flexibil, SGML putea fi descris ca o specificare pentru descrierea altor formate. Utilizatorii puteau crea noi formate (DTD, Document Type Definitions) care puteau fi înțelese de orice produs soft SGML pur și simplu prin citirea mai întâi a definițiilor noilor formate.
HTML este pur și simplu un DTD, deci o aplicație a SGML. În primii ani de evoluție HTML a crescut lent, în principal pentru că îi lipseau posibilitățile de a descrie publicații electronice profesionale; limbajul permitea oarece control asupra fontelor dar nu permitea inserarea graficii. În 1933, NCSA a îmbogățit limbajul pentru a permite inserarea graficii și au construit primul navigator grafic, Mosaic. Au urmat apoi contribuții ad hoc ale diverselor firme care au adus adăugări limbajului HTML (adăugări și nu îmbogățiri pentru ca unele tăguri nu erau în conformitate cu principiile generale ale SGML) astfel încât, prin 1994 limbajul părea scăpat de sub control. Urmarea a fost ca la prima conferința WWW din Geneva (Elveția) s-a constituit un grup (HTML Working Group) a cărui prima misiune a fost formalizarea HTML într-un DTD al SGML, lucru care s-a concretizat în HTML Level 2 (sau HTML 2.0; Nivelul 1, deci HTML 1.0, a fost proiectat de Tim Berners-Lee). Importanța acțiunii acestui grup constă în faptul că, odată standardizat, limbajul poate fi apoi extins într-un mod mai controlat la alte nivele.
Standardul oficial HTML este World Wide Web Consortium (W3C), care este afiliat la Intrenet Engineering Task Force (IETF). W3C a enunțat câteva versiuni ale specificației HTML, printre care și HTML 2.0, HTML 3.0,HTML 3.2, HTML 4.0 și, cel mai recent, HTML 4.01. În același timp, autorii de browsere, cum ar fi Netscape și Microsoft, au dezvoltat adesea propriile “extensii” HTML în afară procesului standard și le-au încorporat în browserele lor. În unele cazuri, cum ar fi tăgul Netscape, aceste extensii au devenit standarde de facto adoptate de autorii de browsere.
HTML 2.0, elaborat în iunie 1994, este standardul pe care ar trebui să-l suporte toate browserele curente – inclusiv cele mod text. HTML 2.0 reflectă concepția originală a HTML că un limbaj de marcare independent de obiectele existente pentru așezarea lor în pagină, în loc de a specifica exact cum ar trebui să arate acestea. Daca doriți sa fiți siguri ca toți vizitatorii vor vedea paginile așa cum trebuie, folosiți tăgurile HTML 2.0.
Specificația HTML 3.0, Enunțată în 1995, a încercat să dezvolte HTML 2.0 prin adăugarea unor facilități precum tabelele și un mai mare control asupra textului din jurul imaginilor. Deși unele din noutățile HTML 3.0 erau deja folosite de autorii de browsere, multe nu erau încă. In unele cazuri, tăguri asemănătoare implementate de autorii de browsere au devenit mai răspândite decât tăgurile “oficiale”. Specificația HTML 3.0 acum a expirat, deci nu mai este un standard oficial.
În mai 1996, W3C a scos pe piață specificația HTML 3.2, care era proiectată să reflecte și să standardizeze practicile acceptate la scara largă. Deci, HTML 3.2 include tăgurile HTML 3.0 ce erau adoptate de autorii de browsere ca Netscape și Microsoft plus extensii HTML răspândite. În bilanțul asupra HTML, W3C recomandă că providerii de informații să utilizeze specificația HTML 3.2. Versiunile curente ale majorității browserelor ar trebui să suporte toate, sau aproape toate aceste tag-uri.
De asemenea există extensii Netscape și Microsoft care nu fac parte din specificația HTML 3.2, ori pentru că sunt mai puțin utilizate, ori au fost omologate după apariția HTML 3.2. Pentru ca navigatorul Netscape a fost printre primele browsere care suporta anumite tăguri HTML 3.0, iar Netscape deține în jur de 70% din piața de browsere, mulți au crezut eronat ca toate extensiile Netscape (incluzând tăguri ca și facilitați ca ferestrele) fac parte din HTML 3.0 sau HTML 3.2.
Următoarea versiune a HTML-ului dezvoltată de consorțiul W3, denumita Cougar, este standardul HTML 4.0, apărut relativ recent, în anul 1997, care aduce suport pentru accesibilitatea paginilor Web din partea persoanelor cu handicap, foi de stiluri interne, suport lingvistic și pentru formule matematice, evenimente etc. După cum stipulează inventatorul Web-ului și directorul W3C, Tim Berners-Lee:
“Cu HTML 4.0, orice aplicație Web va fi independentă de navigator.”
HTML 4.0 este disponibil în trei variante:
HTML 4.0 Strict
HTML 4.0 Transitional
HTML 4.0 Frameset
La momentul apariției acestui tutorial, HTML 4.0 este larg utilizat și au fost deja publicate specificațiile HTML 4.01.
Documentele HTML sunt documente în format ASCII și prin urmare pot fi create cu orice editor de texte. Au fost însă dezvoltate editoare specializate care permit editarea într-un fel de WYSIWYG deși nu se poate vorbi de WYSIWYG atâta vreme cât navigatoarele afișează același document oarecum diferit, în funcție de platforma pe care rulează. Au fost de asemenea dezvoltate convertoare care permit formatarea HTML a documentelor generate (și formatate) cu alte editoare. Evident conversiile nu pot patra decât parțial formatările anterioare deoarece limbajul HTML este încă incomplet.
Proiectanții de navigatoare (ca Netscape și, mai nou, Microsoft) au adăugat diferite facilități care nu apar definite de nici un standard HTML. De exemplu, Netscape Navigator 3.0 oferă posibilități de adăugare de elemente multi-media direct în paginile Web, fundaluri reprezentate de imagini, cadre (frames) etc. plus suport pentru script-uri Java interpretate direct de către client.
Pentru a asigura fidelitatea și corectitudinea comunicațiilor pe WWW, consorțiul W3 a introdus HTML Validation Service (http://validator.w3.org/) care verifică dacă un anumit document respectă standardul HTML 4.0. În prezent, nu există încă un navigator care să suporte acest standard, dar se aștepta apariția noilor versiuni care să se conformeze acestuia. În fapt, Tim Berners-Lee declară că HTML 4.0 n-a fost conceput pentru navigatoare ci pentru aplicații viitoare și produse Web.
1.3.1 Format
Formatul se specifică prin HTML, limbaj care conformându-se SGML-ului, accepta un număr de tag-uri pentru formatarea documentului. Ca și în SGML, tag-urile se încadrează între <și>, putând exista tag-uri de început și de sfârșit. Fișierele HTML sunt fișiere ASCII obișnuite având extensia .html (sau .html) și sunt divizate în două părți: antetul (head) și corpul (body).
Astfel, o pagină Web marcată cu tag-uri HTML are forma generală:
<html> <!– tăg obligatoriu –>
<head> <!– început de antet –>
…
</head> <!– sfârșit de antet –>
<body> <!– început de corp –>
…
</body> <!– sfârșit de corp –>
</html> <!– sfârșit de document –>
Conform specificației HTML 3.2 pentru a fi identificat ca document SGML un fișier HTML trebuie precedat și de linia:
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 3.2 Final//EN>
pentru a putea fi procesat și de analizatoarele SGML.
În cadrul antetului, printre altele, poate apare titlul documentului (al paginii Web) specificat de tag-ul <title>:
<title>Faculty of Computer Science</title>
De obicei între <head> și </ head> apar definiții de rutine scrise în limbaje script (ca JavaScript) pentru a fi siguri ca sunt analizate și memorate de navigator (antetul e procesat primul).
1.3.2 Tag-uri
În cadrul corpului pot apărea diverse tag-uri:
stil de afișare
<b> (îngroșat), <i> (înclinat), <u> (subliniat), <strong> (intensificat), <big> (mai mare), <small> (mai mic), <sub> (indice), <sup> (exponent), <font> (dimensiune si culoare font), <pre> (text preformatat), <code> (cod sursa), <center> (centrat), <blink> (clipitor)
titluri
<h1> … <h6>
secțiuni
<div> (diviziuni), <p> (paragrafe), <hr> (linie orizontală),
<br> (trecere la o linie nouă)
liste
<ul> (lista nenumerotată), <ol> (lista numerotată), <li> (element de listă), <dir> (lista de directoare), <menu> (meniu)
imagini
<img>
tabele
<table> (început de tabel), <tr> (linie de tabel), <td> (definiție celulă), <th> (antet)
legături (ancore)
<a>
formulare
<form> (definiție), <input> (câmp de interogare)
cadre (frame-uri)
<frameset> (definire), <frame> (cadru), <noframes>
suport pentru alte limbaje
<applet>, <script>, <style>
suport multi-media
<embed> (extensie Netscape)
extensii
<meta>
entități speciale
< > & © etc.
În continuare, vom prezenta definițiile formale pentru o parte din tag-urile de mai sus, împreună cu atributele aferente, conform notației DTD.
Corpul documentului
<!–========= Document Body ========–>
<!ENTITY % body.content “(%heading | %text | %block | ADDRESS)*”>
<!ENTITY % color “CDATA”
– specificația de culori: #HHHHHH (RGB, in hexa) –>
<!ENTITY % body-color-attrs “
bgcolor %color #IMPLIED <!– culoare fundal –>
text %color #IMPLIED <!– culoare caractere –>
link %color #IMPLIED <!– culoare legături –>
vlink %color #IMPLIED <!– culoare legaturi vizitate –>
alink %color #IMPLIED <!– culoare legaturi active –>
”>
<!ELEMENT BODY O O %body.content>
<!ATTLIST BODY
background %URL #IMPLIED – textura pentru fundalul documentului – %body-color-attrs; – bgcolor, text, link, vlink, alink – >
<!ENTITY % address.content "((%text;) | P)*">
<!ELEMENT ADDRESS – – %address.content>
Secțiuni
<!ELEMENT DIV – – %body.content> <– tag-ul diviziune –>
<!ATTLIST DIV
align (left|center|right) #IMPLIED – alinierea textului –
>
<!– CENTER e o 'scurtătura' pentru DIV cu ALIGN=CENTER –>
<!ELEMENT center – – %body.content>
Liste
<!– liste de definiții – DT pentru termen, DD pentru definiția lui –>
<!ELEMENT DL – – (DT|DD)+>
<!ATTLIST DL
compact (compact) #IMPLIED – stil compact –
>
<!ELEMENT DT – O (%text)*>
<!ELEMENT DD – O %flow;>
<!– liste ordonate OL si liste neordonate UL –>
<!ELEMENT (OL|UL) – – (LI)+>
<!–
Stil de numărare
1 numere arabe 1, 2, 3, …
a litere mici a, b, c, …
A litere mari A, B, C, …
i litere romane mici i, ii, iii, …
I litere romane mari I, II, III, …
–>
<!ENTITY % OLStyle "CDATA" – restrâns la: [1|a|A|i|I] –>
<!ATTLIST OL – liste ordonate –
type %OLStyle #IMPLIED – stil de numărare –
start NUMBER #IMPLIED – startul secvenței de numărare –
compact (compact) #IMPLIED – compactare –
>
<!– stiluri de 'bullet'-uri –>
<!ENTITY % ULStyle “disc|square|circle”>
<!ATTLIST UL – liste neordonate –
type (%ULStyle) #IMPLIED – stil –
compact (compact) #IMPLIED – compactare –
>
<!ELEMENT (DIR|MENU) – – (LI)+ -(%block)>
<!ATTLIST DIR
compact (compact) #IMPLIED
>
<!ATTLIST MENU
compact (compact) #IMPLIED
>
<!– <DIR> Lista de directoare –>
<!– <DIR COMPACT> Ca mai sus, compactat –>
<!– <MENU> Lista de meniuri –>
<!– <MENU COMPACT> Ca mai sus, compactat –>
<!ENTITY % LIStyle “CDATA” – retrins la: “(%ULStyle|%OLStyle)” –>
<!ELEMENT LI – O %flow – element de lista –>
<!ATTLIST LI
type %LIStyle #IMPLIED – stil –
value NUMBER #IMPLIED – valoare –
>
Tabele
<!– vezi și RFC 1942
http://www.ics.uci.edu/pub/ietf/html/rfc1942.txt –>
<!– locul de amplasare orizontală a tabelului în cadrul ferestrei –>
<!ENTITY % Where “(left|center|right)”>
<!– alinierea orizontală a conținutului celulelor de tabel –>
<!ENTITY % cell.halign
“align (left|center|right) #IMPLIED”
>
<!– alinierea verticală a conținutului celulelor de tabel –>
<!ENTITY % cell.valign
“valign (top|middle|bottom) #IMPLIED”
>
<!ELEMENT table – – (caption?, tr+)>
<– un tabel e compus din titlu și rânduri –>
<!ELEMENT tr – O (th|td)*>
<!ELEMENT (th|td) – O %body.content>
<!ATTLIST table elementul de tabel –
align %Where; #IMPLIED – poziția relativa la fereastra –
width %Length #IMPLIED – lățimea relativa la fereastra –
border %Pixels #IMPLIED – cadru tabel –
cellspacing %Pixels #IMPLIED – spatii dintre celule –
cellpadding %Pixels #IMPLIED – spațiere in cadrul celulelor –
>
Imagini
<!ENTITY % Length "CDATA" – nn pentru pixeli sau nn% pentru procente –>
<!ENTITY % Pixels "NUMBER" – lungimea în pixeli –>
<!ENTITY % IAlign "(top|middle|bottom|left|right)">
<!ELEMENT IMG – O EMPTY – Incorporează o imagine în document –>
<!ATTLIST IMG
src %URL #REQUIRED – URL-ul imaginii –
alt CDATA #IMPLIED – text afișat în locul imaginii –
align %IAlign #IMPLIED – aliniere orizontală/verticală –
height %Pixels #IMPLIED – înălțimea în pixeli –
width %Pixels #IMPLIED – lățimea în pixeli –
border %Pixels #IMPLIED – lățimea bordurii imaginii –
hspace %Pixels #IMPLIED – spațiere orizontală –
vspace %Pixels #IMPLIED – spațiere verticală –
usemap %URL #IMPLIED – utilizează client harta de imagini –
ismap (ismap) #IMPLIED – utilizează server harta de imagini –
>
Codificarea documentelor
În componența limbajului HTML sunt tag-uri, ce determină codificarea documentului și permite atent citirea documentului în orice cod. Dar în legătură cu ceea că aceste tag-uri nu sunt susținute nici de un broswer cunoscut. Posibil, în viitor această situație se va schimba, și problema cu codificarea va fi rezolvată.
Pentru susținerea paginilor codificate întreprind multe metode care pot fi separate în două grupe:
întrebuințarea fișierelor – copiile unui document în diferite codificări
transformarea dinamică a documentelor din codificare, unde stau pe server, codificat, susținut WWW-client.
În următoarea figură se codifică un document oarecare:
Fig.1.2 Codificarea documentului
1.4 Cascading Style Sheets (CSS)
Vom prezenta în continuare câteva dintre trăsăturile CSS, scopul lor fiind controlarea mai precisă a formatului elementelor HTML (poziție și apariție în fereastra de afișare și comportament la anumite evenimente produse de utilizator sau navigator). Într-un document HTML putem utiliza multiple foi de stiluri, având un anume nivel de importanță.
Aflată la cea de a doua versiune standardizată recent (luna mai 1998) de Consorțiul Web, specificația CSS poate fi utilizată prin:
inserție
Fiecare tag HTML are atașat un stil de afișare (tip de font, culoare, mărime etc.) , ulterior putându-se modifica într-o manieră dinamică:
<p style= “font-size: 22pt; font-style: italic;
font-weight: extra-bold font-family: Arial”>
Students' Web Pages
</p>
definiție
Stilurile se declară între <style> și </style>, în cadrul definirii corpului paginii Web (secțiunea <head>…</head>), pentru fiecare tag în parte:
<style type="text/css">
p { font-size: 22pt; font-style: italic; font-weight: extra-bold }
h3 { font-family: Arial; font-style: italic; color: green }
</style>
Am definit stiluri pentru paragrafe și titluri de tip H3.
extern
Toate stilurile se definesc în exteriorul documentului HTML și anume în cadrul unui fișier .css care este inclus prin intermediul tag-ului <link> în pagina Web. Astfel, avem posibilitatea de a utiliza un anumit fișier .css pentru mai multe pagini, definind stilurile doar o singură dată.
Câteva elemente de stil
CSS permite o afișare mai clară, mai flexibilă a informațiilor stocate în cadrul unui document.
O parte din atributele noi introduse de CSS sunt următoarele:
line-height specifică spațiul dintre liniile de text, permițând astfel distanțări sau suprapuneri variabile;
font-family controlează font-ul încărcat pentru afișarea unui anumit element (Times, Garamond, Verdana, Arial);
font-size specifică dimensiunea font-ului (în centimetri, inch, pixeli, procente);
font-style definește stilul fontului afișat (normal, oblique, italic etc.);
font-weight specifică grosimea fontului (bold, light, medium, extra-bold etc.);
text-decoration definește elementele decorative adăugate textului (italic, line-through, none, underline);
position specifică poziția de afișare (absolută sau relativă la alt element) în cadrul paginii.
Notă
Din păcate, doar ultima generație de navigatoare suportă definițiile de stiluri conform specificației CSS.
1.5 Complemente HTML – ului
Veteran în ceea ce privește apariția sa pe Web, limbajul HTML, cu toată răspândirea sa impresionantă și a simplității, nu este extensibil, neputându-se adăuga noi tag-uri la cele existente. Mai mult, HTML este o soluție foarte bună pentru afișarea informației, dar nu și pentru stocarea ei, lipsind posibilitatea creării de structuri complexe de date care să faciliteze căutarea, validarea și interpretarea eficientă a datelor. Astfel, inițial HTML a fost prevăzut cu posibilitatea apelării unor programe care să ruleze pe serverul Web, așa-numitele aplicații CGI (Common Gateway Interface) menite să mărească interactivitatea paginilor WWW. Apoi s-au adăugat tag-uri de apelare a unor parți de cod Java și JavaScript rulând pe calculatorul clientului.
1.6 Standard Generalized Markup Language (SGML)
SGML (Standard Generalized Markup Language) reprezintă un standard internațional pentru definirea unor metode de reprezentare a textelor în format electronic, independent de dispozitiv și de sistemul de calcul. În seria de articole referitoare la acest standard vom încerca sa prezentăm istoricul și caracterizarea generala ale SGML-ului, plus structurile, declarațiile, proiectele și aplicațiile bazate pe SGML.
1.6.1 Aplicații timpurii importante în SGML
Electronic Manuscript Project (EMP) între anii 1983 și 1987, EMP a fost dezvoltat de AAP (Association of American Publishers) avându-se în vedere conceperea asistată de calculator a cărților, ziarelor și articolelor. Aplicația avea printre facilități suport de interschimbare a manuscriselor între autorii lor și editori și includerea de elemente de definire a tabelelor complexe și a formulelor științifice.
Computer-aided Acquisition and Logistic Support (CALS) Partea de SGML a CALS a fost propusă în februarie 1987 de către Bruce Lapisto, având ca beneficiar Ministerul Apărării al SUA, devenind în 1988 standard militar (conform MIL-M-28001). Proiecte similare pentru achiziția de date asistată de calculator și suport logistic au fost dezvoltate și de alte țări ca Suedia, Australia, Canada.
1.6.2 Prezentare a SGML – Precizări generale
SGML este un standard internațional pentru descrierea de marcaje (markups) ale textelor electronice. De fapt, SGML reprezintă un metalimbaj, o descriere formală a unui limbaj, în acest caz, un limbaj de adnotare (de formatare) de texte. Cuvântul marcaj (markup) a fost utilizat inițial pentru a descrie anumite adnotări, note marginale în cadrul unui text cu intenția de a indica tehnoredactorului cum trebuie listat un anumit pasaj ori chiar omis. Exemple de acest gen ar fi sublinierea unor anumite cuvinte, folosirea anumitor simboluri speciale, listarea unor părți de document cu un corp de litera (font) specificat etc. Cum formatarea și imprimarea textelor au fost automatizate, termenul s-a extins pentru a acoperi toate tipurile de coduri de marcare inserate în textele electronice cu scopul de a indica modul de formatare, listare ori alte acțiuni.
Generalizând, putem defini marcajul sau codarea drept orice acțiune de a interpreta explicit o porțiune de text. La un nivel superficial, toate textele sunt codate: puncte de punctuație, folosirea de majuscule, dispunerea enunțurilor în pagină, chiar și spațiile dintre cuvinte putвnd fi privite drept marcaje. Codificarea unui text pentru procesarea computerizata este, in principiu, ca o transcriere a unui manuscris din scriptio continua într-un format special, intern, dictat de utilizator prin folosirea (explicita sau nu) a unor directive/marcaje ce definesc modul de interpretare a conținutului textului.
Printr-un limbaj de specificare înțelegem, astfel, un set de convenții de marcare utilizate pentru codificarea textelor. Un limbaj de marcare trebuie sa specifice mulțimea de marcaje obligatorii, permise, maniera de identificare a marcajelor si care este semantica fiecărui marcaj disponibil (similar procesului de specificare a sintaxei si semanticii unui limbaj de programare).
1.6.3 Caracteristici
Există trei caracteristici definitorii ale SGML:
marcaje descriptive (descriptive markups) – folosirea de coduri de marcaje ce oferă nume speciale pentru a clasifica părți de document (de exemplu sau \end{section} identifica o porțiune dintr-un anumit document, în cazul nostru început de paragraf și respectiv de sfârșit de secțiune). Prin contrast, un limbaj de marcare procedurala definește o acțiune de îndeplinit la un moment dat (e.g. move(left_margin,2') ori skip(this_line)).
tipuri de documente – SGML introduce noțiunea de tip de document si de definiție a tipurilor de documente: document type definition (DTD). Documentele sunt privite ca avвnd tipuri, așa cum au obiectele procesate de calculatoare. Un tip de document este definit formal de părțile sale constituente si de structura lor. De exemplu, definiția unui raport poate consta din titlu si numele autorului, urmate de un rezumat si de o secvența de mai multe paragrafe. Documentele avвnd asociat un tip, se poate utiliza un parser (analizor) pentru a verifica pentru un text corectitudinea sa, adică apartenența sa la un tip de document si respectarea elementelor specificate în DTD. Astfel, documente de același tip pot fi procesate intr-un mod uniform. Programele pot exploata informațiile încapsulate in definițiile de structura ale documentelor si se pot comporta deci intr-o maniera inteligenta. De aceea, SGML este luat in considerație de cercetători din domeniul inteligentei artificiale, in special de cei care se ocupa de procesarea limbajului natural.
independenta datelor – SGML asigura translarea documentelor codificate in acest mod de la o platforma la alta si de la un mediu software la altul fără pierderea informației. SGML oferă un mecanism general pentru substituția șirurilor de caractere (independent de setul de caractere ales: ASCII, EBCDIC sau UniCode) și posibilități de extindere a marcajelor.
1.6.4 Structuri SGML
În continuare vom descrie mecanismul simplu și consistent prezent în SGML pentru marcarea și identificarea unităților-text structurale (atomi lexicali), cum ar fi secțiunile, capitolele, paragrafele.
Elemente
Termenul tehnic utilizat de SGML pentru o unitate-text, văzută ca o componenta structurala, este element. Diferite tipuri de elemente au asignate diferite nume. Fiecare element trebuie specificat explicit intr-un anumit mod. Standardul oferă o varietate de moduri pentru a realiza acest lucru, dar cea mai comuna modalitate este de a insera un marcaj (tag) la începutul unui element (tag de start) si unul la sfârșitul lui (tag de sfârșit). Perechea tag de start – tag de sfârșit este folosita la încadrarea fiecărei instanțe a elementului respectiv în cadrul unui text (similar utilizării diferitelor tipuri de paranteze ori semne de punctuație; de exemplu, in Pascal comentariile sunt specificate între acolade {}, în Fortran indicii de tablouri sunt inserați între (), în C secțiunile de început și de sfârșit de bloc de instrucțiuni se scriu între {}, iar în limbajul natural folosim ghilimelele pentru a delimita un citat).
În SGML se utilizează <element> pentru a specifica un tag de început si </element> pentru un tăg de sfârșit, unde element este numele unui element oarecare. Exemplu:
<p>Cum zice si fratele nostru Che Guevara
în însemnările sale ce acuma cetesc la opait:
<quote>Pantofarul musai pantofi sa facă,
iar revoluționarul, revoluții</quote></p>
(Mircea Cartarescu – “Levantul”)
unde <p> si <quote> denota început de paragraf, respectiv de citat.
Modele
Un element poate fi vid (nu conține nimic intre tag-urile de început si sfârșit) sau poate conține un text ori alte elemente. Mai multe elemente de același tip pot fi imbricate (așa cum am văzut mai sus).
Astfel, relațiile dintre elementele SGML pot fi văzute in termeni de:
secvența
apariție
ierarhie
grupare
incluziune
Pentru a ilustra mai detaliat acest aspect, consideram un model structural foarte simplu. Presupunem ca dorim sa identificam o antologie printr-o succesiune de poeme, titlurile lor, versurile din care sunt compuse. In termeni SGML, antologie este un tip de document si este compusa dintr-o serie de poeme. Fiecare poem încapsulează un element titlu (unic) și câteva apariții de elemente strofa, fiecare strofa conținând un număr de elemente vers. Astfel avem:
<antologie>
<poem><titlu>…
<strofa>
<vers>…
<vers>…
…
</strofa>
<poem>
…
<!–mai multe poeme…(acesta e un comentariu)–>
</antologie>
La fel, am putea defini același lucru pentru un limbaj de programare:
<prog>
<titlu>…
<decl>
<const>
…
</const>
<var>
…
</var>
<proc>
…
</proc>
<corp>
<instrucțiune>…</instrucțiune>
<instrucțiune>…</instrucțiune>
…
</corp>
</prog>
Evident, exemplele de mai sus nu ne precizează anumite reguli de compunere a unei antologii, respectiv a unui program. Declarațiile de variabile sau de constante sunt opționale, dar corpul programului e obligatoriu si acest lucru nu se deduce din cele prezentate anterior. Așadar avem nevoie de un mecanism de precizare a structurii unui text si, desigur, semantica fiecărui element definit.
Totuși, chiar și la acest nivel, documentul de tip antologie poate fi procesat in anumite moduri, pentru diverse scopuri. Un program de indexare ar putea extrage doar elemente relevante criteriului ales pentru realizarea indexului: o listă de titluri, o listă a celor mai des folosite cuvinte dintr-o poezie. Un program de formatare a textului ar putea însera linii între fiecare strofă, iar titlul fiecărui poem ar putea fi tipărit îngroșat.
Un program mai ambițios pentru analiza lingvistică asistată de calculator ar putea determina metrica și tipul de rime ale fiecărui poem. În ceea ce privește documentul de tip program, s-ar putea concepe un analizor care să verifice corectitudinea sintactică și, în funcție de limbajul dorit, să genereze automat construcțiile specifice acelui limbaj (pentru Pascal <prog> ar putea fi înlocuit de program identificator, iar în C de void main(void). <corp> ar fi begin în varianta Pascal și { în C, iar </corp> ar fi end, respectiv }
1.7 Definirea structurii unui document (Document Type Definition)
DTD este exprimată în SGML ca un set de afirmații (instrucțiuni) declarative, utilizând o sintaxă simplă. Pentru modelul antologie, am putea scrie definiția următoare:
<!ELEMENT antologie – – (poem+)>
<!ELEMENT poem – – (titlu?,strofa+)>
<!ELEMENT titlu – 0 (#PCDATA)>
<!ELEMENT strofa – 0 (vers+)>
<!ELEMENT vers 0 0 (#PCDATA)>
Fiecare declarație reprezintă o definiție formala a unui element. O declarație (meta-element) este delimitata de < și >, primul caracter fiind semnul de exclamație, urmat imediat de un cuvânt cheie SGML, care denota tipul obiectului ce va fi definit. Fiecare definiție este compusa din trei părți: un nume sau un grup de nume (neterminali în jargonul limbajelor formale), doua caractere specificând regulile de minimizare (vezi mai jos) și un conținut (neterminali și terminali). După cum se observa, fiecare definiție poate fi asimilată cu o producție. Pârtile componente ale unei declarații sunt separate de spații albe (spațiu, tab-uri sau NL).
Reguli de minimizare
Aceste reguli determina dacă tag-urile de început și de sfârșit de element trebuie sa fie prezente la fiecare apariție a respectivului element.
Regulile sunt de fapt perechi de caractere: primul se referă la tag-ul de start, iar cel secund la tag-ul de sfârșit. Pot fi prezente numai caracterele “-”(tag obligatoriu) și “O” (tag opțional). După cum se remarca, doar elementele antologie si strofa au ambele tag-uri obligatorii, pe când la titlu poate apare numai tag-ul de start.
Conținutul
Închisă între paranteze, a treia parte a definiției se numește model-conținut, specificând ce alte elemente pot apare în cadrul elementului definit. Cuvîntul cheie #PCDATA (parsed character data) indica posibilitatea apariției oricărui caracter valid. Alte tipuri de date: CDATA (character data), RCDATA (replaceable character data), SDATA (specific data), NDATA (non-SGML data), EMPTY (no data – element vid), ANY (orice tip de data). Indicatori de apariție în declarația elementului strofă observam apariția unui semn special, un indicator de apariție, care poate fi:
semnul plus (+) elementul respectiv poate apare de una sau mai multe ori (o strofă e compusă din cel puțin un vers)
semnul asterisc (*) elementul poate apare de zero, unu sau mai multe ori
semnul întrebării (?) elementul poate apare de cel mult o dată (un poem poate avea un unic titlu sau nici unul, dar e compus măcar dintr-o singură strofă).
Conectori
Un model-conținut poate cuprinde mai multe componente într-o anumită ordine dictată de un conector. În exemplul nostru s-a utilizat virgula. Conectorii pot fi:
virgula (,) componentele trebuie sa apară obligatoriu în ordinea specificată
ampersand (&) componentele trebuie sa apară, dar în ordine aleatoare
bara verticala (|) doar una dintre componente poate apare
Daca la definirea elementului poem am fi pus & în loc de virgulă, atunci titlul ar fi putut apare la sfârșitul poeziei, după strofe!
Observații
Putem reprezenta DTD ca un arbore: rădăcina este definiția elementului antologie (simbol de start) care are ca fiu poem, iar poem are ca fii titlu și strofa și așa mai departe.
În SGML e permis sa definim modele-conținut în care fiecare componentă este o listă de elemente, combinată cu conectorii de grup. Astfel am putea avea definiții ca:
<!ELEMENT catren 0 0
(vers1,vers2,vers3,vers4)>
<!ELEMENT (vers1|vers2|vers3|vers4)
0 0 (#PCDATA)>
(un catren e compus din patru versuri, fiecare vers conținând orice caracter). Mai complex, să presupunem ca în cadrul unui poem apare și un refren care poate fi prezent doar la începutul unui poem ori ca o adăugire opțională după fiecare strofă:
<!ELEMENT refren – – (#PCDATA|vers+)>
<!ELEMENT poem – 0 (titlu?,
((vers+)|(refren?,(strofa,refren?)+)))>
Excepții
SGML permite ca orice model-conținut sa fie modificat prin intermediul unei liste de excepții. Excepțiile sunt:
includeri elementele adiționale pot fi incluse într-un anumit moment în model (specificate cu semnul plus +)
excluderi anumite elemente nu pot fi incluse în cadrul modelului curent (specificate cu semnul minus -)
Când includerile și excluderile privesc același element, excluderile sunt prioritare (conform standardului ISO 8879). Revenind la tipul de document program, în corpul unui program nu pot apare declarații de constante sau de variabile:
<!ELEMENT (vardecl|constdecl) – – (#PCDATA)>
<!ELEMENT prog – – (titlu?,
((vardecl?|constdecl?|procdecl?),corp)>
În acest caz, corp ar trebui declarat astfel:
<!ELEMENT instructiune – – (#PCDATA)>
<!ELEMENT corp – – (instructiune*) –
(vardecl|constdecl)>
Corpul poate conține mai multe instrucțiuni (posibil nici una), dar nu poate include declarații de variabile sau de constante.
1.8 EXtensible Markup Language – XML
XML – eXtensible Markup Language este un limbaj foarte flexibil bazat pe SGML. XML combină dificilul SGML (Standard Generalized Markup Language) că uneori limitatul HTML (Hypertext Markup Language). HTML este un limbaj de marcare, și înțelegerea conceptului de limbaj de marcare (markup language) este cheia înțelegerii XML.
Pe scurt XML este un limbaj de marcare care poate rula pe orice platformă, orice sistem de operare și este realizat pentru a oferi dezvoltatorilor un mecanism mai bun de a descrie conținutul paginilor pe care le realizează. XML a fost realizat inițial pentru a publica proiecte și a fost dezvoltat pentru a face schimbul de informație pe Web mai ușor și mai eficient. XML permite dezvoltatorilor să scrie definirea structurii unui document (DTD – document type definition).
XML este suficient de robust pentru a putea fi folosit la descrierea nu doar a conținutului ci și a informațiilor care descriu alte informații (metadata). Membrii W3C au realizat că HTML nu putea fi extins pentru a îngloba toate tipurile de date pentru că, dacă s-a fi procedat astfel, HTML-ul ar fi devenit prea incomod. Reîntoarcerea la SGML nu era o opțiune.
În momentul de față s-ar putea spune că XML și HTML sunt veri, dar în viitor XML s-ar putea sa devină părinte pentru HTML. Atât HTML cât și XML au plecat de la SGML, dar XML este un meta-markup language în timp ce HTML este doar un limbaj de marcare specializat. Cine știe ceva despre HTML, știe ceva despre XML. Web-ul încă are la bază HTML, așa că vor trebui cunoștințe de HTML persoanelor care doresc să apeleze la XML.
Multe din noile unelte care sunt create pentru a analiza sintaxa XML sunt realizate în Java. Pentru a include un applet Java într-o pagină Web, trebuie să fie utilizat HTML-ul. Acest lucru nu se va schimba cu siguranță în viitorul apropiat. Cel puțin în anii ce vin HTML și XML vor exista împreună pe Web, iar HTML va fi o parte necesară pentru implementarea soluțiilor XML. Probabil că una din întrebările cel mai des puse este dacă se poate folosi XML pentru a realiza pagini web. Din păcate răspunsul la această întrebare nu poate fi un simplu da sau nu. Atât în Internet Explorer 4.0 și 5.0 cât și Netscape Navigator 5.0 au integrat suport XML. Nu trebuie să se aștepte nimeni să realizeze un document XML să îl pună pe un site și să creadă că un browser obișnuit știe ce să facă cu sintaxa respectivă.
În prezent nu se poate include pe o cale simplă XML într-o pagină web. Dezvoltatorii determinați să facă acest lucru trebuie să apeleze la scripturi, realizate în JavaScript, ca să convertească un document XML într-unul HTML, ceea ce nu reprezintă o soluție prea bună. Cu ajutorul XML orice persoană poate realiza tag-uri. Numai că cei ce doresc să creeze propriile tag-uri nu o vor face foarte ușor. Pentru a realiza propriile tag-uri o persoană trebuie să realizeze propriile DTD (document type definition).
Mecanismul de realizare a unui DTD nu este foarte complicat dar realizarea unui DTD eficient și extensibil nu este nici “floare la ureche”. Nu încerc să sperii pe nimeni dar XML nu este chiar o plimbare în parc așa cum este HTML-ul.
1.8.1 XML – eXtensible Markup Language scurt istoric
Descendent al SGML, XML (eXtensible Markup Language) este un meta-limbaj utilizat în activitatea de marcare structurală a documentelor, a cărui specificație a fost dezvoltată începând cu 1996 în cadrul Consorțiului Web, la care au aderat ulterior o serie de grupuri de experți din comunitățile academice (Text Encoding Initiative, NCSA, James Clark) și industriale (SUN, IBM, Netscape, Oracle, Adobe etc.). Mai simplu decât SGML, XML este și el independent de platformă și de sistemul de operare, fiind astfel potrivit pentru utilizare în cadrul rețelelor de calculatoare neomogene.
De fapt, XML este compus dintr-o familie de limbaje menite a adapta curentele concepte de publicare a documentelor la Internet. XML este compus din:
XML (eXtensible Markup Language) – subset al specificației SGML, conceput pentru o implementare mai ușoară;
XLL (eXtensible Linking Language) – set al mecanismelor hipertext bazate pe HyTime și Text Encoding Initiative, concretizat în două componente majore:
XLink – conceput pentru descrierea legăturilor dintre obiectele Internet
XPointer – compus dintr-o serie de termeni de localizare relativi la alte locații
XSL (eXtensible Stylesheet Language) – limbaj standard al foilor de stil, ca subset al DSSSL;
XUA (XML User Agent) – direcție de standardizare a navigatoarelor XML.
Scopurile declarate ale XML-ului sunt următoarele:
ușor de utilizat pe Internet
compatibil cu SGML
documentele XML sa fie ușor de citit, clare și concise
ușurința în creare și proiectare
numărul tag-urilor sa fie minim
Elaborarea specificațiilor a fost divizata în trei faze: sintaxa, legături hiper-text și specificația de stiluri, bazată pe DSSSL (Document Style Semantics and Specification Languages); la aceasta din urmă încă se mai lucrează.
1.8.2 Format
Formatul unui document XML este similar celui SGML. Iată un exemplu:
<?XML version = “1.0” standalone = “yes” ?>
<conversation>
<greetings>Hello, world!</greetings>
<response>Stop the planet, I want to get off…</response>
</conversation>
Diferența față de SGML și HTML este că în cazul XML contează modul de scriere a tag-urilor cu caractere mici sau mari (exact ca la limbajul C): <tag> va fi diferit de <Tag> sau <TAG>.
Mai mult, în cazul legăturilor hiper-text, în XML există mai multe mecanisme de conexiuni:
independente de locație
legături specificate și organizate în afara documentului
legături n-are
legături agregate, provenite din surse multiple
legături interne, localizate în cadrul documentului.
1.8.3 Trăsături principale ale XML
Subset simplificat al SGML
foarte puternic, dar ușor de implementat
fără limite în ceea ce privește complexitatea structurilor ce pot fi definite
îndeajuns de compact pentru a fi suportat de navigatoarele Web
Oferă suport pentru uzul internațional
marcajele și conținutul pot fi reprezentate în UniCode
uneltele de dezvoltare XML pot suporta orice codificări
Metalimbaj
conceput pentru a suporta definirea unui număr nelimitat de limbaje specializate, oferind suport de extinderi
portabilitate.
1.8.4 Deosebiri esențiale față de SGML
Orice document XML trebuie să înceapă cu meta-elementul <?xml…>.
În XML nu trebuiesc realizate definiții ale tipului de document (DTD) obligatorii.
Elementele vide nu-s acceptate. Un element vid are o sintaxă modificată: <element />.
Numele de elemente și de atribute sunt case-sensitive (<tag> este diferit de <Tag> sau de <TAG>).
În XML pot fi specificate anumite instrucțiuni de procesare (processing instructions) de forma <?nume informații ?>. nume, denumit ținta, identifică instrucțiunile de procesare pentru o aplicație.
Incluziunile și excluziunile nu sunt permise, la fel parametrii de minimizare în declarațiile de elemente.
Numele începând cu xml ori XML sunt rezervate. XML predefinește semantica atributelor xml:space și xml:lang (vezi mai jos).
Regula spațiilor albe
În editarea documentelor, este uneori necesara apariția “spațiilor albe” (spații, tab-uri, linii vide). Anumite spații albe nu trebuie incluse în versiunea finală a documentului, pe când altele sunt obligatorii (de exemplu, în codul sursa sau în cazul producțiilor lirice).
Un atribut special xml:space poate fi inserat în documente pentru a specifica, în cadrul elementului în care apare acest atribut, ca spațiile albe să fie tratate în mod semnificativ. Valorile acestuia pot fi “default” sau “preserve”.
<!ATTLIST poem xml:space (default|preserve) 'preserve'>
Identificarea limbajului
Atributul special xml:lang poate fi inclus în documente pentru a defini limbajul utilizat în conținutul și valorile atributelor unui element. Un exemplu:
<p xml:lang="en-GB">What colour is it?</p>
<p xml:lang="en-US">What color is it?</p>
<quote autohr="Sainte-Beuve" xml:lang="fr">
Il n'y a que de vivre; on voit tout et le contraire de tout.
</quote>
1.8.5 Hiper-legături în XML
Specificația legăturilor în XML, denumită XLL, prezintă un model standard pentru realizarea hiper-legăturilor. O legătură exprimă o relație între resurse. O resursă este orice locație (un element identificat de un atribut ID sau conținutul unui element de legătură, de exemplu) care este adresată de o legătură. XLL dă posibilități de a defini semantica unei legături, nu doar sintaxa ei, introducând și noțiunea de legături extinse în care sunt implicate mai mult de două resurse (nu doar o sursă și o destinație) – direcția XLink. XLL introduce și pointeri extinși (prin XPointer), oferind o metodă sofisticată de a localiza resursele.
Două atribute speciale, show și actuate, permit controlul asupra comportamentului legăturii. Atributul show specifică dacă documentul pointat de o legătură este inclus în documentul curent, înlocuindu-l sau afișându-l într-o altă fereastră atunci când legătura este activată. Atributul actuate determină cum va fi activată o legătura (automat sau când e selectată de utilizator). Un exemplu de legături extinse care ilustrează relațiile dintre mai multe resurse:
<clink xml-link="extended" role="annotation">
<locator xml-link="locator" href="odix.txt">
Textul
</locator>
<locator xml-link="locator" href="adn1.loc">
Adnotari
</locator>
<locator xml-link="locator" href="adn2.loc">
Alte adnotări
</locator>
<locator xml-link="locator" href="obs.loc">
Observații critice
</locator>
</clink>
XML XPointer împrumută concepte din HyTime și TEI, oferind o sintaxă ce permite localizarea unei resurse prin traversarea arborelui de elemente al documentului conținând acea resursă. Pot fi folosite și grupuri de legături extinse (legături recursive).
1.8.6 Stil și substanța în XML
XSL se bazează pe DSSSL (Document Style Semantics and Specification Language), standard internațional pentru definirea foilor de stiluri (ISO/IEC 10179:1996). XSL oferă următoarele:
formatarea bazată pe moștenire sau poziție
crearea de construcții de formatare incluzând text și grafică
definirea de macro-uri de formatare
foi de stiluri independente de direcția de scriere (suport pentru internaționalizare)
un set extensibil de obiecte de formatare
publicare independenta de medii
XML este suficient de robust pentru a putea fi folosit la descrierea nu doar a conținutului ci și a informațiilor care descriu alte informații (metadata). Membrii W3C au realizat că HTML nu putea fi extins pentru a îngloba toate tipurile de date pentru că, dacă s-a fi procedat astfel, HTML-ul ar fi devenit prea incomod. Reîntoarcerea la SGML nu era o opțiune.
În momentul de față s-ar putea spune că XML și HTML sunt veri, dar în viitor XML s-ar putea sa devină părinte pentru HTML. Atât HTML cât și XML au plecat de la SGML, dar XML este un meta-markup language în timp ce HTML este doar un limbaj de marcare specializat. Cine știe ceva despre HTML, știe ceva despre XML. Web-ul încă are la bază HTML, așa că vor trebui cunoștințe de HTML persoanelor care doresc să apeleze la XML.
Multe din noile unelte care sunt create pentru a analiza sintaxa XML sunt realizate în Java. Pentru a include un applet Java într-o pagină Web, trebuie să fie utilizat HTML-ul. Acest lucru nu se va schimba cu siguranță în viitorul apropiat. Cel puțin în anii ce vin HTML și XML vor exista împreună pe Web, iar HTML va fi o parte necesară pentru implementarea soluțiilor XML. Probabil că una din întrebările cel mai des puse este dacă se poate folosi XML pentru a realiza pagini web. Din păcate răspunsul la această întrebare nu poate fi un simplu da sau nu. Atât în Internet Explorer 4.0 și 5.0 cât și Netscape Navigator 5.0 au integrat suport XML. Nu trebuie să se aștepte nimeni să realizeze un document XML să îl pună pe un site și să creadă că un browser obișnuit știe ce să facă cu sintaxa respectivă.
În prezent nu se poate include pe o cale simplă XML într-o pagină web. Dezvoltatorii determinați să facă acest lucru trebuie să apeleze la scripturi, realizate în JavaScript, ca să convertească un document XML într-unul HTML, ceea ce nu reprezintă o soluție prea bună. Cu ajutorul XML orice persoană poate realiza tag-uri. Numai că cei ce doresc să creeze propriile tag-uri nu o vor face foarte ușor. Pentru a realiza propriile tag-uri o persoană trebuie să realizeze propriile DTD (document type definition).
1.9 Elaborarea paginilor Web în JavaScript
După ce am învățat HTML și i-am simțit limitele mi-am zis ca trebuie sa trec la următoarea etapă. Etapa următoare s-a dovedit a fi JavaScript. Sau JScript? Pe urmă am aflat ca JavaScript este dezvoltat de cei de la Netscape iar JScript de cei de la Microsoft și există mici diferențe între cele “două limbaje”. Ca măsură de precauție îmi testez paginile atât sub Netscape cât și sub Internet Explorer.
JavaScript oferă posibilitatea de a crea pagini mai interactive, pagini care-și modifică conținutul în funcție de… ce vrea programatorul, pagini mai spectaculoase, pagini care nu au acces la HDD și, nu în ultimul rând, pagini care nu au auzit de baze de date. Vă las pe voi să evaluați care sunt avantajele și care sunt dezavantajele. Dar… ce nu face JavaScript face PHP
Înainte de a vedea cum înserăm liniile de JavaScript în documentul HTML vă prezint câteva reguli de bază:
JavaScript este case sensitive
sintaxa este asemănătoare cu a C++
este orientat pe obiecte
Inserarea liniilor JavaScript în documentele HTML, inserarea se poate face în patru feluri:
• prin folosirea tagului <SCRIPT> al HTML
• prin specificarea fișierului cu comenzi JavaScript
• prin includerea de expresii JavaScript în atributele HTML
• prin funcții de gestionare a evenimentelor
Java este un limbaj orientat pe obiecte. La baza lui stă noțiune de clasă. Clasa apare ca șablon pentru crearea obiectelor; el poate să întrețină datele și metodele. Există diferite regimuri pentru acces la elementele clasei – private, protected, public.
Java este complect un limbaj orientat pe obiecte, fiecărei noțiuni care (clase, obiecte, metode ș.a.) corespunde cu clasa, susțin prelucrarea programelor corespunzător “noțiunilor” obiectelor.
Clasele în limbajul Java se adună în pachete. Fiecare pachet determină spațiu aparte pentru nume. Toate clasele, intrând într-un pachet, sunt unite anume prieten la prieten, se are în vedere că au acces la schimbări și metode, anume private sau protected. Pentru însemnarea moștenirii se întrebuințează cuvântul cheie extends. În limbajul Java lipsește multe, dar există înțelesul de interfață ne dă voie de a ușura această depășire. Interfața prezintă un cuplu de metode descrise. Clasele pot de a reda interfețe. Acest fapt este un cuvânt cheie implements în titlu clasei. Clasa class se întrebuințează pentru primirea în timpul îndeplinirea informației despre proprietățile “claselor” de obiecte. Metode tipice de acest fel de clase – forName (obiectul de primire a clasei class după textul numelui), newInstance (produsul obiectului nou acestei clase), getMethods (primirea obiectului masiv, descriind metoda – public a clasei).
Mecanismul curentului – linia obligatorie a operațiilor avansate a mediului. În limbajul Java curenții sunt prezentați de clase Thread, a interfeței Runnable. Programele – Java se împarte în două tipuri – aplicarea de sinestătător și apleturi. Ultimul se execută în Web-navigator și pot apărea pe rețea. Aplicarea și apleturile esențial se deosebesc după măsurile securității, primite în procesul de lucru.
1.9.1 Folosirea tag-ului <SCRIPT>
Tag-ul <SCRIPT> este un tag al HTML și poate cuprinde un număr nelimitat de linii JavaScript. Se folosește în felul următor:
<SCRIPT language=” JavaScript”>
…linii JavaScript…
</SCRIPT>
Un document HTML poate conține mai multe tag-uri <SCRIPT>. Atributul language poate specifica versiunea de JavaScript:
<SCRIPT language=”JavaScript1.0”>
<SCRIPT language=”JavaScript1.1”>
<SCRIPT language=”JavaScript1.2”>
1.9.2 Ascunderea scriptului în comentariu
Browserele care nu cunosc JavaScript vor ignora tagul <SCRIPT> și vor afișa liniile de comenzi ca text HTML. Pentru a preveni astfel de situații se introduce întregul script în comentariu HTML:
<SCRIPT language=” JavaScript”>
<!–
…linii JavaScript…
// –> </SCRIPT>
1.9.3 Specificarea fișierului cu comenzi JavaScript
Putem specifica fișierul de inclus prin intermediul atributului src al tagului <SCRIPT>. De exemplu:
<HEAD>
<SCRIPT src=”fișier.js”>
…
</SCRIPT>
</HEAD>
Acest procedeu este util mai ales când folosim aceleași funcții în mai multe pagini.
Liniile de comenzi introduse între <SCRIPT> și </SCRIPT> sunt ignorate dacă nu apare vreo eroare la deschiderea fișierului “fișier.js” specificat. În cazul unei erori se vor executa liniile introduse în cadrul tagului.
Fișierele JavaScript externe nu pot conține decât linii JavaScript și definiții de funcții. Este recomandat ca fișierul JavaScript sa aibă extensia .js și… nu voi explica de ce!
Folosirea expresiilor JavaScript ca valoare a atributelor HTML. Folosind entitățile JavaScript putem specifica o expresie JavaScript ca valoare a unui atribut HTML. Valoarea entității este evaluata dinamic. În acest fel putem construi pagini HTML flexibile, pentru ca atributul unui element HTML depinde de o informație plasată undeva în pagina.
Ca și entitățile HTML, entitățile JavaScript încep cu caracterul “&” și se termină cu caracterul ”;”. În plus entitatea JavaScript este încadrată între acolade. Ex.:
<HR width=”&{barWidth};%”>
unde, barWidth este o variabilă JavaScript și reprezintă lățimea liniei orizontale în procente.
Tagul <NOSCRIPT>
Acest tag se folosește pentru cazul în care browserul care încarcă pagina nu “înțelege” JavaScript sau avem decuplat JavaScript din browser. Ex.:
<NOSCRIPT>
Această pagină conține linii JavaScript.
</NOSCRIPT>
1.9.4 Definirea funcțiilor
Funcțiile sunt una din cele mai importante părți în JavaScript. Ca în majoritatea limbajelor de programare o funcție are următoarele părți:
• cuvântul cheie function urmat de
• numele funcției, de o
• lista de parametri separați de caracterul “;”, lista încadrată de paranteze rotunde și de
• corpul funcției închis între acolade.
În general definirea funcțiilor se face în partea de antet a paginii, adică în tagul . În felul acesta toate funcțiile sunt definite înainte de apariția paginii. Există posibilitatea de a apela o funcție înainte de a fi încărcată în browser. (ce se întâmplă, de exemplu, dacă apelăm cu onLoad în tagul o funcție a cărei definiție este undeva în ?).
Folosirea metodei write()
Metoda write a obiectului document scrie în pagina HTML. Metoda este o funcție asociată cu un obiect. Apelul unei metode se face astfel:
numeObiect.numeMetoda(argumente…)
Ca argument pentru metoda write se acceptă orice număr sau string. Se pot de asemenea concatena mai multe stringuri cu caracterul “+”. Ex.:
document.write(“<HR align=’left’
width=”+barWidth+”%>”)
1.9.5 Funcții de gestiune a evenimentelor
Evenimentele sunt acțiuni ale persoanei care folosește browserul. De exemplu mutarea mouseului pe suprafața unui link, sau executarea unui click pe un buton etc. Folosirea unei astfel de funcții se face în felul următor:
<A href=”pagina.htm” onMouseOver=”document.bgColor=’
red’”>Text</A>
În momentul în care mouseul este pe “Text” culoarea fundalului se schimbă în roșu (dacă nu era roșu inițial). Vă prezint în continuare câteva din aceste funcții:
onClick() – se activează dacă s-a făcut click pe element
onChange() – se activează dacă s-a modificat valoarea elementului (ex. la <INPUT type=”text”>
onLoad() – se activează la încărcarea paginii (se folosește în <BODY>)
onMouseOut() – se activează dacă mouse-ul părăsește suprafața unui element
onMouseOver() – se activează dacă mouse-ul intră pe suprafața unui element
onReset() – se activează dacă utilizatorul resetează un formular
onSubmit() – se activează dacă s-a utilizatorul trimite un formular
Mai sunt și altele dar cred că acestea sunt cele mai importante acum.
Folosirea ghilimelelor
Trebuie avută în vedere alternarea tipului de ghilimele pentru a nu crea erori la citirea paginii; în interiorul unei expresii închise între ghilimele duble putem folosi doar ghilimele simple & viceversa.
1.9.6 Culoare
Există trei modalități de a schimba culoarea elementelor:
• prin atributele HTML ale tag-ului <BODY>
• prin obiectul document al JavaScript
• prin metoda fontcolor(“culoare”) a obiectului string.
Exemple:
• <BODY text=”blue”>
• document.fgColor=”yellow”
• document.write(“text roșu”.fontcolor(“red”))
Se poate schimba culoarea oricărui atribut din cele enumerate mai jos, prin obiectul document, astfel:
• culoare de fundal: document.bgColor=”culoare”
• culoare pentru text: document.fgColor=”culoare”
• culoare pentru legături: document.linkColor=”culoare”
• culoare pentru legături active: document.alinkColor=”culoare”
• culoare pentru legături vizitate: document.vlinkColor=”culoare”
1.9.7 JavaScript: trusa de instrumente
JavaScript este cel mai cunoscut și, cel mai folosit limbaj pentru crearea de script-uri pe web. Bineînțeles, că e vorba despre un limbaj obiectual și, foarte important, multi-platforma (nu știu cât de necesar era să amintesc această proprietate, poate că nici nu e vorba despre o proprietate efectivă. Idea de bază este că același cod este sau ar trebui să fie interpretat la fel indiferent de platforma pe care rulează browser-ul).
Una dintre cele mai întâlnite întrebări referitoare la Javascript este legată de “gradul de rudenie” cu limbajul Java. Afinitățile dintre cele două limbaje se regăsesc la nivelul sintaxei, al structurilor de control și, într-o anumită măsură, la securitate (nu este permisă, spre exemplu, citirea fișierelor de pe calculatorul-client). În rest, Java este un limbaj mult mai complex (ca urmare și mai greu de deprins, ca majoritatea limbajelor orientate-obiect). Diferențe există inclusiv în legătură cu rularea codului, însă prezentarea lor ar depăși scopul acestui articol. Și, sincer, nu e doar o metodă de eschivare; chiar nu au relevanta. Poate vă voi convinge dacă menționez că Netscape, care a introdus pentru prima dată în versiunea 2 a browser-ului sau – Navigator, acest limbaj de scripting l-a denumit inițial LiveScript. Doar suportul ulterior din partea Sun (știută fiind încăpăținarea – în sensul bun al cuvântului – acestei companii a impune Java) a determinat rebotezarea.
Meritul principal al JavaScript este că pune la dispoziția creatorilor de pagini web o metodă excelentă de “a dinamiza” paginile create. Și aceasta fără a apela la programarea pe partea de server (server-side programming). Fără a înlocui acest gen de programare menționat, script-urile pot rezolva o serie de probleme (e drept, nu foarte complexe; cu toate aceste complexitatea e relativă, depinzând de abilitățile programatorului) cum ar fi validarea unui câmp dintr-o formă sau afișarea unui mesaj după un click pe un buton (în general, programarea evenimentelor). Iar avantajul integrării complete în paginile HTML a căpătat o nouă dimensiune acum cu explozia interfețelor HTML (mai ales în producția CD-ROM-urilor).
Așadar, JavaScript pare să aibă cu adevărat sens, dacă raportăm mini-programale create la paginile web. Ca documentații JavaScript se găsesc peste tot pe web și vă pot ajuta să vă faceți o primă impresie despre acest limbaj. Totuși, pentru prima noastră “întâlnire” (îmi place să o numesc așa) aș prefera să aduc în discuție o serie de aspecte nu prea evidente (fără pretenția de a le epuiza), dar care ajută la înțelegerea script-urilor ce vor fi prezentate în viitor. Aceasta va da o favoare de inițiere acestui articol, dar vă va ajuta cu siguranță în viitor.
Salut nu e SALUT
Într-adevăr, JavaScript este “case sensitive”, adică se face discriminarea între literele mari și cele mici întâlnite în numele identificatorilor (nume de variabile, funcții, obiecte etc.). De aceea, este foarte important să fiți atenți la acest aspect. Depănarea script-urilor poate fi o adevărată corvoada dintr-o simplă înlocuire a literei 'A' cu 'a' în cazul unei funcții cum ar fi 'Adăuga' (care nu e nicidecum 'adăuga').
Un tip slab?!
JavaScript e un limbaj slab-tipizat în comparație cu Pascal, C++ sau Java. Astfel tipul unei variabile (sau, “rețeta de stocare în memorie”) nu este determinat în momentul creării variabilei, iar pe parcursul execuției programului se poate schimba în funcție de context. Acest fapt poate fi un avantaj, în sensul unei libertăți în conceperea programului, dar și un dezavantaj legat de ambiguitatea ce poate să apară, codul fiind mai greu de înțeles. Totuși, dacă la un moment dat, doriți să aflați tipul unei variabile aveți la dispoziție operatorul typeOf. Prin aplicarea lui se obține un string ce conține tipul variabilei (inclusiv undefined sau object, pe lângă tipurile standard).
"Punctul" + 3 = "Punctul 3"
Raportat la variabile, există așa-numita facilitate de "type-casting" (riscând o traducere, echivalentul ar fi “convertire automată a tipului”). În acest caz, în funcție de context, tipul variabilelor se modifică automat. În JavaScrpit câștigul este parțial. Astfel o variabilă numerică se conversează automat la string (cum e cazul în titlul paragrafului), însă reciproc nu este valabilă. De aceea, în multe script-uri veți întâlni funcția parseInt care convertește, în măsura posibilului, unui string în număr. Să mă explic (de ce în măsura posibilului): parseInt(x) va returna NaN (not a number), dacă x='a20'; 20, dacă x='20'; 2, dacă x='2a0';
Chiar nimic?
Există o valoare specială în JavaScipt și anume null. Adică, după cum îi spune și numele, nimic. Există diverse situații când o veți întâlni cum ar fi folosirea de variabile nedefinite dar și unele rezultate de funcții. Atrag atenția că null nu este același lucru cu șirul vid (''), de pildă: De aceea, uneori trebuie să testați cu grijă anumite rezultate etc.
Mai mult decât variabile
Trebuie spus că string-urile sunt în JavaScript obiecte. Aceasta are relevanța, mai ales, în cazul manipulării (cât trebuie folosită notația cu punct pentru aplicarea funcțiilor). Dacă doriți să convertiți un string (strA) în litere mici veți scrie: strA.toLowerCase().
Un altfel de dacă…
JavaScript permite folosirea expresiilor condiționale (existente, de atfel, și în alte limbaje de programare), ce se pot dovedi foarte utile. Exemplu: isNS = (document.layers)? 1 : 0;
Dacă browserul recunoaște această colecție de obiecte (specifica Netscape Navigator) atunci expresia se evaluează true și variabila noastră va lua valoarea 1, altfel 0. Această este o metodă extrem de simplă de a identifica un browser. Pentru Internet Explorer: isIE = (document.all) ? 1 : 0.
This
Cuvântul cheie this se poate dovedi extrem de util, căci întotdeauna se referă la obiectul curent. Dacă sunteți familiarizat cu programarea orientată pe obiecte, știți despre ce este vorba. Important e să puteți folosi o expresie de genul self.proprietate pentru a accesa proprietatea obiectului curent (mă rog, formularea suportă critici), fără a ști care obiect este efectiv.
Salvează-mă
Data fiind caracteristica multi-platoforma a JavaScript este important sa dispunem de funcții care să asigure compatibilitatea în diverse situații. Două asemenea funcții complementare sunt escape și uescape. Șirul de caractere primit ca argumet este convert la codificarea standard ISO Latin-1 și invers. Este necesară mai ales în cazul cookie-urilor (vom vorbi și despre ele) pentru a converti caractere depinzând de setul de caractere (dependent, la rândul său, de platformă).
Macrosubstituție
Macrosubstituția este facilitate puternică a unor limbaje de programare (din fericire, și la JavaScript). Poate ca în acest caz e vorba de o mini-implementare a unei asemenea facilitați (prin funcția eval), însă este foarte utilă. Astfel eval execută string-ul primit ca argument ca și cum ar fi o linie de cod JavaScript: eval('alert(strA)') va genera o fereastră (prompt window) care va afișa valoarea string-ului strA. Utilitatea este dată și de incompatibilitățile dintre browsere la nivelul referirii obiectelor suportate. În acest caz eval() ne ajută la scrierea unui cod elegant.
Imuabila perisabilitate
Toate variabilele și obiectele sunt distruse la reîncărcarea paginii web sau la încărcarea unei pagini noi. Singura soluție în acest caz (pentru crearea unei aplicații mai complexe) rămâne folosirea frame-urilor și, în speța, a unui frame ce nu își reîncarcă conținutul. Fără a avea pretenția unei introduceri în JavaScript, am dorit să atrag atenția asupra câtorva aspecte. Totuși, cred că se vor dovedi utile, mai ales când vom trece la aplicații efective, care va ajuta, poate, mai mult să vă familiarizați cu JavaScript.
Meritul principal al JavaScript este că pune la dispoziția creatorilor de pagini web o metodă excelentă de “a dinamiza” paginile create. Și aceasta fără a apela la programarea pe partea de server (server-side programming). Fără a înlocui acest gen de programare menționat, script-urile pot rezolva o serie de probleme (e drept, nu foarte complexe; cu toate aceste complexitatea e relativă, depinzând de abilitățile programatorului) cum ar fi validarea unui câmp dintr-o formă sau afișarea unui mesaj după un click pe un buton (în general, programarea evenimentelor). Iar avantajul integrării complete în paginile HTML a căpătat o nouă dimensiune acum cu explozia interfețelor HTML (mai ales în producția CD-ROM-urilor).
Așadar, JavaScript pare să aibă cu adevărat sens, dacă raportăm mini-programale create la paginile web. Ca documentații JavaScript se găsesc peste tot pe web și vă pot ajuta să vă faceți o primă impresie despre acest limbaj. Totuși, pentru prima noastră “întâlnire” (îmi place să o numesc așa) aș prefera să aduc în discuție o serie de aspecte nu prea evidente (fără pretenția de a le epuiza), dar care ajută la înțelegerea script-urilor ce vor fi prezentate în viitor. Aceasta va da o favoare de inițiere acestui articol, dar vă va ajuta cu siguranță în viitor.
1.10 Posibilitățile limbajului PERL
(Practical Extraction and Report Language)
Acronimul PERL înseamnă (în traducere) “limbaj practic de extragere și raportare”. A fost realizat de Larry Wall, pentru a scrie programe în mediul UNIX. PERL reunește ce este mai bun din majoritatea limbajelor și compilatoarelor:
flexibilitatea și puterea din C (multe din funcțiile acestui limbaj seamănă cu cele din C),
programele pot fi rulate imediat după scriere (pentru că sunt interpretate, nu compilate) nefiind nevoie de compilări, link-editari, etc.; acesta poate fi însă și un dezavantaj,
puternice facilitați de scripting, asemănătoare cu shell script-urile din UNIX,
este portat pe variate platforme (dintre care cele *nix și Win32 sunt cele mai folosite),
limitările în mărimea variabilelor sunt cele impuse de memorie și de caracteristicile mașinii pe care rulează,
este gratuit.
PERL este mult folosit pentru scrierea scripturilor CGI folosite de severele web, majoritatea counter-elor, guestbook-urilor, interfețelor de web-mail, programelor de căutare în pagini sunt scrise în PERL. Multe sarcini de programare pot fi îndeplinite mult mai ușor în PERL (validarea datelor de intrare este mult mai simplă, se pot face cautări de date după criterii foarte complexe – de aici numele structuri de control asemănătoare cu limbajul natural).
Numărul major al versiunii curente este 5, iar distribuțiile se pot lua de pe ftp, cum ar fi:
ftp.netlabs.com/pub/outgoing/perl5.0
ftp.cis.ufl.edu/pub/perl/src/5.0
ftp.cs.ruu.nl/pub/PERL/perl5.0/src
ftp.funet.fi/pub/languages/perl/ports/perl5.
Primul program PERL
Un program Perl constă într-un fișier text, care este prelucrat la rulare de interpretor (avantajul este că programele pot fi modificate ușor, scurtând procesul scriere > verificare > compilare > link-editare > obținere cod binar > rulare; dezavantajul: trebuie sa fie rulate cu un interpretor disponibil pe acea platforma).
Exemplu de sursă: #!/usr/perl $nume = ; print ($nume);
Prima linie din program este oarecum speciala. Componentele ei sunt:
caracterul # reprezintă marcajul de comentariu în PERL. Tot ce ii urmează este ignorat în mod normal (aici nu se întâmpla așa). Pot fi adăugate și după cod, cam așa:
$nume = ; #acesta este un comentariu
caracterul ! indica sistemului de operare tipul programului
/usr/perl este calea absoluta in sistem către interpretorul PERL. În funcție de OS, poate arata diferit (acest exemplu este pentru sisteme UNIX).
A doua linie citește de la intrarea standard (în cazul de față, consola) o linie de intrare (un șir de caractere), care se încheie la primirea unui CR. În linia a treia se tipărește ceea ce s-a introdus.
Sintaxa liniilor este asemănătoare cu cea C, acestea fiind încheiate prin caracterul ';'. Nu contează dacă lăsați spații între elementele instrucțiunii, sau între linii. Totuși sunt recomandate pentru a îmbunătăți aspectul codului. În cazul vreunei greșeli, interpretorul avertizează printr-un mesaj de eroare, de obicei suficient de inteligibil pentru a ne da seama de greșeala (bineînțeles, pentru cine cunoaște engleza, ceea ce în lumea calculatoarelor este – cred – mai mult decât necesar…).
Pentru a rula programul, trebuie salvate cele trei linii într-un fișier text (preferabil cu extensia .pl, fiind mai ușor de identificat). Dacă rulați pe un sistem de tip UNIX, trebuie să modificați atributul de execuție al fișierului (cu comanda 'chmod +x numefis.pl'), după care îl rulați pur și simplu. Dacă folosiți UNIX, s-ar putea sa fie nevoie sa specificați calea curentă, folosind în loc de 'numefis.pl' comanda './numefis.pl'. Sub platforma Windows, încercați sa faceți drag & drop cu fișierul sursa pe iconul executabilului PERL.
La momentul dat există site oficial al limbajului de programare PERL, unde fiecare doritor, utilizatori este posibil să-și includă ideile sale. Sintaxa liniilor este asemănătoare cu cea C, acestea fiind încheiate prin caracterul ';'. Nu contează dacă lăsați spații între elementele instrucțiunii, sau între linii. Totuși sunt recomandate pentru a îmbunătăți aspectul codului. În cazul vreunei greșeli, interpretorul avertizează printr-un mesaj de eroare, de obicei suficient de inteligibil pentru a ne da seama de greșeala (bineînțeles, pentru cine cunoaște engleza, ceea ce în lumea calculatoarelor este – cred – mai mult decât necesar…).
Multe sarcini de programare pot fi îndeplinite mult mai ușor în PERL (validarea datelor de intrare este mult mai simplă, se pot face cautări de date după criterii foarte complexe – de aici numele structuri de control asemănătoare cu limbajul natural). Pentru a rula programul, trebuie salvate cele trei linii într-un fișier text (preferabil cu extensia .pl, fiind mai ușor de identificat). Dacă rulați pe un sistem de tip UNIX, trebuie să modificați atributul de execuție al fișierului (cu comanda 'chmod +x numefis.pl'), după care îl rulați pur și simplu.
1.11 PHP/FI – Personal HomePage/Form Interpreter
PHP/FI inițial a fost gândit a fi o simplă aplicație CGI pentru interpretarea formularelor definite prin HTML și procesate de un program scris într-un limbaj (C, Perl, script shell) executat pe server. În cazul interfeței CGI aveam nevoie de permisiunea de a rula programe pe server, ceea ce ducea la lacune în securitate și în plus la disocierea programului de procesare a datelor de documentul HTML.
Astfel, PHP/FI este un pachet suficient de puternic care oferă un limbaj de programare accesibil din cadrul fișierelor HTML, limbaj asemănător cu Perl sau C, plus suport pentru manipularea bazelor de date într-un dialect SQL (mSQL sau Postgres95). Acest pachet este disponibil gratuit pe Internet, pentru medii UNIX (inclusiv sursele).
Limbajul PHP se introduce în cadrul documentului HTML printr-un tag special <?statement> unde statement este o instrucțiune a limbajului cum ar fi echo, if, break, while etc. Variabilele se declară 'din zbor', tipul lor putând fi integer, double sau string, iar numele de variabile trebuie precedat de $. Sunt permiși operatorii obișnuiți și se pot defini și funcții utilizator (prin construcția Function).
Un exemplu
Presupunem ca definim următorul formular:
<form action="/cgi-bin/php.cgi/~user/display.html" method=post>
<input type="text" name="nume">
<input type="text" name="virsta">
<input type="submit">
</form>
Se cere utilizatorului un nume și vârsta sa care vor fi procesate de programul PHP/FI conținut în fișierul display.html. Acesta ar putea conține:
<?
if ($virsta>50);
echo "<p>Salut $nume, ești vârstic…</p>";
elseif ($virsta>30);
echo "<p>Salut $nume, ești matur…</p>";
else;
echo "<p>Salut $nume, ești tânăr…</p>";
endif;
>
După cum se observă, PHP/FI oferă un limbaj script puternic și simplu, accesul la câmpurile formularului realizându-se prin intermediul unor variabile create automat.
Alături de suportul pentru încărcarea fișierelor de pe calculatorul client: upload (standard propus de E. Nebel și L. Masinter de la Xerox, descris în RFC 1867) și de suportul pentru cookies (mecanism de stocare a datelor în navigatorul client pentru identificarea utilizatorilor, propus de Netscape), PHP/FI oferă integrarea bazelor de date prin sistemul de gestiune mini-SQL (mSQL) scris de David Hughes, sistemul Postgres95 al Universității Berkeley și sistemul Solid care suportă standarde ca Ansi SQL2, ODBC, SAG CLI si X/Open SQL.
Există de asemeni o multitudine de funcții predefinite:
matematice
de conversie
de manipulare a șirurilor de caractere
de acces la resursele sistemului de operare și de lucru cu fișiere
de manipulare a bazelor de date
privitoare la conexiunile Internet
generale
Un exemplu de interogare SQL efectuat în PHP/FI și afișat în cadrul unei pagini Web:
<?
$name="Sabin";
$result=msql($database,
"select * from table where firstname='$name'");
$num=msql_numrows($result);
<!– numărul de înregistrări găsite –>
echo "<p>Au fost găsite $num înregistrări:<p>");
$i=0;
while ($i<$num)
echo msql_result($result,$i,"fullname");
echo "<br>";
echo "<b>"; <!– adresa se va scrie îngroșat –>
echo msql_result($result,$i,"address");
echo "</b>";
echo "<p>";
$i++;
endwhile; >
PHP3 – limbaj arhitectură
PHP este un limbaj de “scripting” utilizat în fișierele HTML. Scriptul PHP este rulat la nivel de SERVER.
Sintaxa PHP este o combinație intre limbajele C, Java si Perl. Scopul limbajului este de a permite programatorilor WEB sa scrie rapid pagini ce se generează dinamic.
Prin intermediul PHP3 se pot accesa Microsoft SQL Server si baze de date Microsoft Access cu ajutorul ODBC.
Ce poate face PHP3?
Una dintre cele mai importante caracteristici este “database integration layer”. Scrierea paginilor WEB cu acces la baze de date este foarte ușor datorita PHP3.
Următoarele SGBD-uri pot fi utilizate împreuna cu PHP3: Oracle, Adabas D, Sybase, FilePro, mSQL, Velocis, MySQL, Informix, Solid, dBase, ODBC, Unix dbm, PostgreSQL.
Scurtă istorie a PHP
PHP a fost conceput în toamna lui 1994 de către Rasmus Lerdorf pentru a ține evidența celor care i-au citit pagina de web. Prima versiune s-a numit “Personal Home Page Tools”. Versiunea ulterioară s-a numit PHP/FI Version 2. Combinând scripturile Personal Home Page Tools cu “Form Interpreter” și adăugând suport pentru mSQL a obținut PHP/FI.
Statistic, în 1996 PHP/FI era utilizat în 15.000 site-uri de web, iar în 1997 în 50.000. În 1998 PHP este utilizat în peste 150.000 site-uri.
Noțiuni de baza în PHP
Cu ajutorul PHP se pot crea pagini de WEB dinamice, care sunt generate în momentul in care programul utilizator (de exemplu: Netscape) a formulat cererea către serverul de WEB.
Serverul de WEB trebuie sa aibă activat suportul pentru PHP. Toate fișierele care au extensia .php3 trebuie sa fie rulate de către motorul PHP.
Fișierele se creează in aceeași maniera ca si fișierele HTML.
Exemplu de pagina cu tag-uri PHP:
<html><head><title>PHP Test</title></head>
<body>
<?php echo "Hello World<P>"; ?>
</body></html>
Tag-ul PHP
Fiecare tag PHP începe cu <? php , se continua cu propoziția PHP și se închide în partea dreaptă cu ?> . Într-un fișier HTML pot exista un număr nelimitat de tag-uri PHP.
Identificarea tipului de browser
Putem vedea tipul de browser pe care utilizatorul îl folosește pentru a vizualiza pagina datorita informațiilor pe care browserul le trimite împreuna cu cererea pe care o face către serverul de web. Limbajul PHP se introduce în cadrul documentului HTML printr-un tag special <?statement> unde statement este o instrucțiune a limbajului cum ar fi echo, if, break, while etc. Variabilele se declară 'din zbor', tipul lor putând fi integer, double sau string, iar numele de variabile trebuie precedat de $. Sunt permiși operatorii obișnuiți și se pot defini și funcții utilizator (prin construcția Function).
1.12 CGI – Common Gateway Interface
Standard pentru interacțiunea clienților Web cu serverele de Web, Common Gateway Interface se află în prezent la versiunea 1.1. Un program CGI, numit script, se execută pe serverul WWW, fie în mod explicit (apelat din cadrul paginii printr-o directivă), fie la preluarea informațiilor aflate în cadrul câmpurilor unui formular (form) sau coordonatele unei zone senzitive (image map). Acest standard conferă interactivitate paginilor Web, documentele HTML putând astfel sa-și schimbe conținutul și să permită prelucrări de date.
Script-ul poate fi scris în orice limbaj, fiind interpretat (cazul Perl, Tcl, script shell UNIX) sau compilat (C, C++, Delphi). Regulile care trebuie respectate la conceperea unui program CGI sunt:
programul scrie datele la ieșirea standard (stdin)
programul generează antete ce permit serverului Web să interpreteze corect ieșirea scriptului
Cele mai multe script-uri CGI sunt concepute pentru a procesa datele introduse în formulare. Un formular se definește în HTML pentru afișarea conținutului și introducerea datelor de către client (prin tag-urile <form> și <input>), iar script-ul CGI, executat de server, va prelua conținutul acelui formular.
Antetul trimis serverului de către programul CGI va respecta specificațiile MIME conținând de exemplu Content-type: text/html (document HTML) sau Content-type: image/jpeg (imagine JPEG) ori Content-type: text/plain (text obișnuit).
Programului CGI i se vor transmite în diverse variabile de mediu sau în linia de comandă informații referitoare la datele de procesat sau la clientul care a inițiat cererea (de exemplu, SERVER_PORT, REQUEST_METHOD, SCRIPT_NAME, QUERY_STRING, REMOTE_HOST etc.).
Specificarea CGI
CGI determină 4 fluxuri de informație.
Variabilele anturajului
Fluxul standard de intrare
Fluxul standard de ieșire
Linia de comandă
Exemple:
Generează o pagină Web conținând mesajul 'Salut!'.
/*
salut-cgi.c
Generează o pagina Web conținând mesajul 'Salut!'
*/
#include <stdio.h>
void main()
{
printf(“Content-type: text/html\n\n”);
printf(“<html>”); /* început document HTML */
printf(“<head><title>Salut!</title></head>\n”);
/* antet pagina */
printf(“<body>\n”); /* corp pagina */
printf(“<p>Salut!</p>\n”);
printf(“</body></html>”);
}
Un alt exemplu, de script bash folosit pentru înregistrarea într-o bază de date a participanților la colocviul studențesc de informatică InfoJunior:
#!/bin/bash
echo “Content-type: text/html”
echo
echo “<HEAD>”
echo “<TITLE>Multumiri</title>”
echo “</head>”
echo “<BODY>”
echo “<H1>Multumiri</h1>”
eval `/home/httpd/cgi-bin/cgiparse -form`
echo “Va multumim, $FORM_name, pentru dorinta de a participa \
la colocviul INFO JUNIOR”
echo “<P>”
printf “%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s\n!” “$FORM_name” \
“$FORM_univ" "$FORM_depart” \
“$FORM_paper1” “$FORM_words1” “$FORM_coord1” \
“$FORM_paper2” “$FORM_words2” “$FORM_coord2” \
“$FORM_paper3” “$FORM_words3” “$FORM_coord3” \
“$FORM_conadress” “$FORM_email” “$FORM_tel” “$FORM_fax” \
>> /home/httpd/infojr/database
echo '<A HREF=” http://www.infoiasi.ro/~petrea/infojr.html “> \
INFO JUNIOR' 97 – Invitație la colocviu</A>'
echo “</body>”
2 ANALIZA CALITATIVĂ A TEHNOLOGIILOR
DE CREARE A PAGINILOR WEB
2.1 XML și HTML: care limbaj este mai greu
La convorbire [4] s-a pus întrebarea de compararea standardelor complicate HTML și XML. Se afirmă că limbajul XML este mai primitiv decât HTML. Dacă de comparat volumul descrierii acestor limbaje (documentația standardelor XML și HTML), atunci specificațiile XML ocupă de mai multe ori mai puțin loc. Trebuie de cheltuit mai puțină forță și timp pentru ca să înțelegi și să ții minte. În acest sens XML este mai simplu decât HTML.
Cu toate acestea XML nicidecum nu este mai primitiv decât HTML. Dacă de comparat posibilitățile funcționale acestor limbaje, atunci trebuie în primul rând de luat în vedere, măcar că ei au rădăcini comune – standardul internațional vestit limbajului marcat de comunicare a documentelor SGML [27], dar de asemenea se referă la diferite niveluri de abstracție.
Limbajul XML – este un metalimbaj care se află, cum se știe, submulțimea standardului SGML. Cum și SGML, el este predestinat pentru urmarea limbajelor marcate concrete de varietate pe cale de determinare a seturilor concrete de tag-uri (în XML – tipurile elementelor documentului). Aceste determinări cu ajutorul XML, limbajele sunt, în așa fel, concretizările lui.
Cât privește limbajul HTML, acesta este un limbaj concret (nu este lărgit). Funcționarea tăg-urilor însemnate sunt fixate în el, în dependență de XML. HTML s-a creat ca o simplă concretizare a SGML-ui, prezentând prin sine un puternic metalimbaj. HTML poate fi tot așa determinat de mijloacele XML (să ne aducem aminte standardul XHTML), și din acest caz el prezintă prin sine tot așa unul din concretizarea XML.
XML fiind abstract este deschis pentru lărgire (ce este oglindit în denumirea lui), și din această cauză el este mai conservat în comparare cu HTML, unde adăugarea posibilității funcționării cere trecerea procedurii de primire a unei versiuni noi de standard. Versiunile broswerelor XML vor apărea mult mai rar, cum pentru HTML, care tot mai prelungește a se dezvolta.
2.2 XML prin prisma de programare
Aplicarea programării pentru Web a început de la prelucrarea cererilor utilizatorului și generația dinamică a paginilor din partea serverului. Această tendință a primit dezvoltarea și în limbajele de programare înserate în HTML – documente. Apoi a apărut limbajele de programare elementelor HTML – documente din partea clientului. Acestea și altele sunt legate de modelul de date HTML. Astăzi, când Web-ul migrează spre specificarea structurii XML, creatorii mijloacelor de programare trebuie să ia asta în vedere și să reacționeze corect, dând, de exemplu, manipulând cu elementele XML – marcare. Standardul, chemat a marca și să rezolve această problemă, a primit denumirea de Document Object Model – DOM.
Cum se știe, totul sa început de la SGML [1], apoi a dat naștere HTML [2], iar când posibilitățile ultimului a fost epuizate sa întâmplat reîntoarcerea parțială la SGML. Ca rezultat a apărut un limbaj nou – XML (eXtensible Markup Language) sau mai precis, stiva specificațiilor limbajelor de marcare cu diferite roluri, care se bazează pe regulile sintactice generale [4].
Paralel cu procesul dezvoltării descrierea statică formală cuprinsul documentului se dezvoltă și schimbările lui capabile. De la început ele erau pentru JavaScript, pe urmă limbajul de programare Java a dat voie de amplasat în document și de schimbat orice tip de informație. Apariția VBScript și JScript înseamnă că Microsoft se îndreaptă în aceeași direcție. Treptat tehnologia Java a decăzut la nivelul mijloacelor de prelucrare aplicației Web, dar formatul de scenariu s-a îndreptat spre concepția DHTML (Dynamic HTML). Și XML și DHTML, și Java la sfârșit s-a oprit la modelul de date Web, multe din paginile Web, care din punct de vedere a utilizatorilor limbajelor de căutare XML, prezintă un curent neîntrerupt de diferite elemente [5]. Un document (pagină) – aceste sunt submulțimea documentelor (pagini) Web. Modelul de elemente Web determină în formă de graf – “pădure” din copaci.
DOM – aceasta este interfața programării aplicative în limitele modelului de elemente Web, cu alte cuvinte, un set de standarde de metode a obiectelor Web. Dacă trebuie de afișat textul în corpul documentului, aceasta se poate de făcut în fiecare limbaj de programare pe care îl susține DOM:
document.write (<kuku>);
Aici este pus în funcțiune metoda standard write a documentului obiect. În așa fel, calea de dezvoltare a tehnologiei Web traversează de la trasarea HTML static prin limbaje de criptare, Java și DHTML la specificația XML și DOM. O să ne oprim la aceste etape mai amănunțit.
2.3 Preveziuni pentru viitor
Limbajul XML oferă o metodă de comunicare inter-umană, nu de interschimb de date între mașini, realizând relații între creatori și beneficiarii documentelor acestora. XML moștenește neutralitatea platformei, limbajului și libertatea formatelor de date prezente în SGML. Toate aceste remarci ne dau certitudinea că XML oferă utilizatorilor un standard deschis de marcare a informațiilor, fără limite în ceea ce privește tehnicile de adnotare (extensibilitate asigurată), ușor de folosit (putând conferi suport pentru baze de cunoștințe), facil de implementat.
Viitorul XML nu va avea implicații doar asupra informaticienilor, ci asupra lumii economice și politice. Combinația XML cu XSL poate înlocui toate formatele de procesare de texte și publicare existente în prezent:
un format unic pentru publicarea pe Web și tipărituri
un format comun pentru stocarea datelor în cadrul diverselor produse software
un format unic pentru toate limbile
Succesul XML poate fi întrevăzut atât în lumea Web, permițând crearea de aplicații multimedia extensibile, cât și în procesarea informațiilor în general.
Origini și deziderate
XML a fost dezvoltat de către un grup de lucru XML (XML Working Grup – cunoscut la început ca și SGML Editorial Review Board) format sub auspicile Consorțiului World Wide Web (W3C) în anul 1996. El a fost condus de către Jon Bosak de la Sun Microsystems cu participarea activă a unui grup de interes special XML (XML Special Interest Group – cunoscut în trecut ca și SGML Working Group), organizat tot de către W3C. Membrii XML Working Group sunt dați într-o anexă. Dan Connolly a ținut contactul între WG și W3C.
Scopurile proiectate pentru XML sunt:
XML trebuie să fie simplu de utilizat pe Internet.
XML trebuie să suporte o mare verietate de aplicații.
XML trebuie să fie compatibil cu SGML.
Trebuie să fie ușor să fie scrise programe ce vor procesa documente XML.
Numărul facilităților opționale din XML sunt reduse la minimum, ideal, la zero.
Documentele XML trebuie să fie citibile de către utilizatori și clare într-un mod rezonabile.
Designul XML ar trebui să fie pregătită rapid.
Designul XML trebuie să fie formal și concis.
Documentele XML trebuie să fie ușor de creat.
Caracterul lapidar din marcajele XML să fie de o importanță minimă.
2.4 Dezvoltarea tehnologiilor documentelor create
HTML presupune, că documentul e alcătuit din trasarea elementelor standarde, care se reflectă într-un mod absolut.
Un set de elemente HTML – acestea sunt tipizarea componentelor unui document obișnuit:
titluri,
lista diferitor tipuri,
paragrafe,
tabele,
citare ș.a.
De altfel toate elementele sunt împărțite în două tipuri: rânduri și blocuri.
La primul tip se poate aduce paragraful, lista, tabele. La elementele de rânduri – inserarea cu cursive sau saturație, a adreselor hipertextului textului. Tot aceasta este determinat în Document Type Definition (DTD) specificației HTML, care formal este scris la SGML. Trebuie de menționat, că crearea nodurilor Web s-a transformat astăzi într-un tip diferit de lucru profesional. Prin asta nodul s-a făcut o producție unică, costul căruia nu trebuie să depășească limitile propuse (magazin virtual, slujbă informațională, ș.a.m.d.).
Prima cu ce sau împedicat autorii și proiectanții nodurilor Web – această repetare obligatorie a fragmentelor de coduri la fiecare pagină, de exemplu logotipul companiei sau meniul principal a nodurilor Web. Pentru rezolvarea acestei probleme se întrebuințează metoda de substituire, împrumutat de la macrodeterminarea programării. Așa a apărut Server Site Includes (SSI). Introducerea fișierului exterior în pagina HTML – aceasta este cel mai simplu lucru de atribuire a SSI:
<html>
<head>
<body>
. . .
<! – # include virtual = <file.htm> ->
. . .
<! – # include file = <file.htm> ->
. . .
</body>
</html>
Dar cel mai principal rol în dezvoltarea tehnologiilor de programare a documentelor componente a jucat mecanismul LiveWare, prima dată realizat în anul 1995 în serverele companiei Netscape Communications. Mulțumit SSI documentul este component de partea serverului. Dar tehnologiile Web are arhitectura de client-server. Pentru majoritatea prelucrătorilor de programare Web în limita specificării LiveWare este legat cu JavaScript. Acest limbaj simplu de programare orientat pe obiecte de partea broswerului a permis "învierea" paginii Web.
Interesant, că aproximativ toate cărțile pe JavaScript începe cu descrierea elementelor SCRIPT. Pricina e întraceea, că JavaScript presupune patru metode de plasarea codului de programare în pagina HTML și transmiterea conducerii interpretorului pentru executarea acestui cod. Marcarea elementului SCRIPT este numai unul dintre ei. Interpretarea codului a elementului SCRIPT se întâmplă numai la începutul încărcării paginii. Comanda trece la interpretator în timpul, când programa HTML analizând sintactic "se împedică" de marcarea elementului SCRIPT. Codul se îndeplinește și rezultatul lucrului se pune în document.
Acum ne oprim la tehnologia, care a stat, dintr-o parte cu dezvoltarea marcată a HTML, iar din altă parte – următorul pas spre XML. Merge vorba despre tabela cascadă de stil, Cascading Style Sheets (CSS) făcut de Microsoft. Idea de bază a CSS constă în aceea ca să separe – structura logică a documentului de formă de prezentare.
De la apariția CSS în HTML a fost posibilă utilizarea a două elemente generalizate de marcare: DIV (bloc generalizator) și SPAN (element generalizator de marcare). După aceasta se poate de alcătuit schema logică a documentelor, apoi de determinat formatul ei de reprezentare. Această metodă a schimbat radical tehnologia de proiectare a paginilor Web-nodului. Acum de la început se determină tipul paginii apoi structura logică a paginii pentru fiecare tip și în ultimul rând pentru fiecare element logic se determină conținutul și aspectul exterior.
Posibilitatea indicării stilului în fișierul exterior permite de aplicat o definire a stilurilor pentru întregul nod, și de schimbat aspectul exterior, redactând numai fișierul dat. Următorul pas în această direcție este predifinirea dinamică a stilului de partea clientului în dependență de condițiile de reprezentare a documentului și de acțiunile utilizatorului. Pentru programarea acestor schimbări se folosește limbajul de tip JavaScript. Până acum am vorbit despre dezvoltarea tehnologiilor bazate pe HTML – elementele de marcare și metodele de amplasare a lor pe pagină. Dar mai este încă un aspect al tehnologiei Web – limbajul de programare Java.
La început în Java nu era presupusă manipularea cu obiectele paginii HTML, însă real Java a fost intercalată în document în subaspect de element de marcare aplet. Ca limbaj de programare universal a interfețelor, în special grafice, Java menținea tipuri de date și obiecte mai abstracte, decât se cerea la programarea paginilor Web, în prezent situația s-a schimbat în Java sunt scrise broswere și servere. Prin urmare în Java se poate de scris SSI și de schimbat conținutul documentului în partea broswerului. Însă posibilitățile limbajului Java astăzi se folosesc în primul rând pentru pășirea particularităților negative a schimbului HTTP și extragerea graficii se schimbă dinamic. De menționat faptul că protocolul HTTP versiunea 1.1 [6] permite de componat documentul din mai multe părți ce pot fi amplasate pe servere diferite. Aceasta nu este instalarea unei noi legări pentru scoaterea imaginilor în timpul desfacerii documentului HTML, dar lista titlurilor HTTP, în care se arată URL. În așa fel, HTTP este modificat pentru menținerea documentelor compuse.
2.5 Structura logică a documentului
DTD HTML determină regula construirii documentului HTML, elementele sintactice marcate și posibila aranjare reciprocă. Dacă privim un document ca la multe alte obiecte, care se asociază cu elementele marcate, atunci DTD va da clasele ierarhice acestor obiecte. Structura logică a documentului determină relația obiectelor dintre ei. Există, în orice caz, două modele de obiecte a documentului: modelul JavaScript și DOM.
Primul model se sprijină, cu unele rezerve, practic cu toate cele mai populare broswere. Al doilea model pretinde numai la un rol standard și trebuie în viitor să se sprijine de toate broswerele.
Relațiile a diferitor obiecte între dânsele ajung, la lucru principal, la relațiile tipului “partea-întreagă”, iar structura documentului se prezintă de la sine ca un arbore. În rolul bazei se prezintă arborele elementelor de bloc marcate a documentului. Pe urmă, pe această bază se suprapune elemente minuscule și stiluri. În afară de aceasta la un document există ramuri a arborelui a claselor de obiecte a documentului, determinând în DTD. Trebuie de marcat, că structura logică este mai aproape de modelul de date Internet Explore, decât JavaScript.
2.6 Rezultate intermediare
Modelul de obiecte a documentului trebuie să servească ca nod de unire dintre programare și structura logică a documentului, cu forma lui de prezentare a exponentului. Structura logică și forma de prezentare de descrie în limbajul XML. Programarea Web – aceste limbaje sunt Java, JavaScript, JScript. Standardul DOM permite formal de descris regulile manipulării structurii documentelor XML și cuprinsul lor în limitele programării orientate pe obiecte, care realizează limbajele enumerate.
Cu mare măsură efortul proiectanților DOM reamintește încercările creării diferitor versiuni a specificației HTML (versiunea 2.0 și 3.2). Prima versiune a limbajului și ultima a patra versiune mai degrabă seamănă cu niște declarații despre intenții, prin ce sunt gata pentru întrebuințarea specificației.
2.7 Compatibilitatea tehnologiilor noi
În ultimii cinci ani Internetul a progresat virtiginos, ținând pasul pachetele de programare deja existente la cerințele actuale.
În versiunile noi a pachetelor de prelucrare a graficii, limbaje de programare, baze de date sunt implementate filtre de import, export a datelor în coduri HTML. Ca ulterior aceste date exportate să poată fi integrate în pagini Web, pentru a fi prezentate în WWW. La fel și datele care deja sunt prezentate în WWW să poată fi importate în aceste programe.
Unul din obiectivele producătorilor de soft este de a elabora și propune paralel cu softul specializat într-o oarecare direcție și un program de elaborare a paginilor Web neavând nici pregătiri profesionale pentru prelucrarea paginilor Web.
2.8 Instrumente pentru facilitarea elaborării paginilor Web
Elaborând o pagină Web se poate ușura lucrul de a introduce coduri HTML. În ultimul timp au apărut multe programe noi pentru elaborarea paginilor Web care utilizează exportarea și importarea codurilor HTML. Unele din aceste programe sunt redactoare ca: Microsoft FrontPage, Macromedia Dreamweaver, ș.a. Pentru realizarea animației sunt și apar diferite programe mici și ușor de întrebuințat de exemplu: GifAnimator (grafica în pixeli), Corel Rave 1.0 (grafică vectorială), Flash ș.a, iar pentru realizarea graficii este utilizat CorelDRAW, Photoshop, ș.a.
Pentru elaborarea paginilor Web sunt utilizate redactoarele FrontPage, Dreamweaver, ele ușurează foarte mult lucrul de elaborare, se poate utilizat pentru grafică CorelDRAW, pentru animație Flash, această elaborare se poate de reprezenat prin figura următoare.
Fig. 2.1 Elaborarea pagini Web
3 PROTECȚIA MUNCII
Munca prezintă o activitate a omului, care este orientată pentru a satisface cerințele materiale și spirituale ale societății. În procesul de muncă, omul interacționează cu mijloacele de producție, cu mediul de producție și obiectele muncii. Prin urmare, el este supus acțiunilor a unui număr mare de factori de diferită natură, care se manifestă sub diferite forme și acționează în diferit mod, iar ca drept urmare se înrăutățește starea sănătății omului și scade capacitatea de muncă.
Problemele dragostei de computer încă nu sunt simțite în societate și, în consecință, nu li se acordă atenția cuvenită. Evident că achiziția unui produs PC este apreciată după performanțele lui conform nivelului standardelor mondiale. Noi ne aruncăm la ce e mai ieftin. Și astfel de produse în ultimul timp au început sa pătrundă mai intens pe piețele noastre, deci hârburi, care aduc, daună sănătății utilizatorului. Deci: “nu suntem atât de bogați ca să achiziționăm niște hârburi ieftine care să ne distrugă sănătatea”.
Monitoare perfecte deocamdată nu sunt, deci pericol există. Utilizatorii nevoiți să colaboreze perioade îndelungate de timp cu calculatorul, manifestă, interes față de chestiunea radiației de ecran. În ce măsură este ea dăunătoare, cum să-i diminuăm pericolul, dacă acesta într-adevăr există? În ultimul timp tot mai insistente sunt afirmațiile că radiația emisă de calculator amenință în modul cel mai grav sănătatea omului, cauzând nu numai apariția unor reacții alergice și dereglări vizuale, ci și a unor maladii oncologice, anomalii congenitale, avorturi spontane la femeile însărcinate. Totuși până în prezent aceste afirmații alarmante n-au fost susținute de cercetări științifice serioase. Cercetările întreprinse de către specialiștii din Denver (1979) nu exclud posibilitatea apariției cancerului infantil sub acțiunea câmpurilor electromagnetice alternative. În urma unor experimente științifice asupra animalelor s-a reușit depistarea unor simptoame, cum ar fi dereglarea concentrației de calciu. Dându-și seama de pericolul potențial, căruia i se supun benevol, utilizatorii înclină spre achiziționarea unor monitoare cu nivel scăzut de radiație. Se știe că la aceste modele tubul catodic are un înveliș antistatic special. În acest caz ecranul încetează cel puțin să acumuleze praful.
Mai greu e să te debarasezi definitiv de radiație. Problema ar putea fi rezolvată cu ajutorul unor ecrane protectoare, ca cele folosite la aparatele medicale supersensibile. Libere de radiație pot fi doar monitoarele cu cristale lichide de calitate respectivă. În prezent se produc asemenea monitoare cu diagonala de 15 țoli și rezoluția 800×600 (SVGA), precum și monitoare monocrome (cu plasmă) cu diagonala de 21 țoli și rezoluția 1280×1024 elemente grafice. După toate probabilitățile, lideri in domeniu sunt IBM cu modelele Energy Desktop(PS/3). Monitoarele nu sunt atât de sensibile la capriciile modei tehnice, ca alte componente ale calculatorului.
3.1 Analiza și aprecierea condițiilor de muncă
3.1.1 Tipurile radiației de ecran
Spectrul electromagnetic principal poate fi divizat în două sectoare: radiații ionizate (razele Roentgen și radiațiile rezultate în urma dezintegrării radioactive) și radiații neionizate. Ultima categorie include lumina vizibilă, câmpurile electrice și magnetice. Razele Roentgen apar în cazul tuburilor catodice in acel loc, unde raza electronică se ciocnește de învelișul fluorescent al cinescopului. Din cauza tensiunii de accelerare relativ joase și a balonului de sticlă – blindaj, practic este imposibil să se măsoare această radiație dură. Valorile existente sunt de circa 170 ori mai mici decât cele admisibile. Mult mai multe controverse se înregistrează în jurul câmpurilor electrostatice, magnetice de frecvență joasă și electrice – așa numita radiație elastică.
3.1.2 Standardul ISO 9241
La una din întrunirile europene ISO 9241 (sub denumirea EN 29241) este adoptat de către țările – membre ale Consiliului Europei în calitate de norma europeană. Într-una din directivele ISO sunt enumerate consecințele negative ale lucrului la computer. Lista unor asemenea consecințe este de-a dreptul impunătoare: afecțiuni ale ochilor, alergii dermatologice, complicații în perioada sarcinii, maladii ortopedice drept consecință a suprasolicitărilor, fenomene de stres.
Specialiștii în domeniul normării resurselor programate abordează chestiuni cum ar fi moda1itățile de alcătuire a conversației cu utilizatorul, organizarea meniului, precum și a sistemelor de ajutorare a utilizatorilor (tabele, repertorii etc.). Se consideră mult mai importantă activitatea ISO în domeniul normării resurselor tehnice.
Colective speciale de profesioniști sunt preocupate de tastatură, monitor (inclusiv de radiația de ecran), design-ul biroului și chiar al scaunului, iluminarea și umiditatea aerului la locul de muncă. Se iau în considerație până și îmbinările de culori din sistemul de meniu. Ce-i drept, nu toate sunt lege pentru producătorii ce se orientează spre ISO 9241: dacă cineva va dori să perfecteze de o manieră proprie conversația cu utilizatorul, liber o va putea face. Un exemplu concludent în acest sens sunt concepțiile diferite de organizare a interfeței utilizatorului în OS/2 și Windows, deși pretindeau la aprobarea ISO și IBM, și Microsoft.
La monitoare se referă nemijlocit deja aprobată partea a treia ISO 9241, care pentru determinarea ecranului cu grad scăzut de radiație prevede recomandările MPR II. În plus in acest substandard la fel de detaliat se enumără valorile-limită pentru intensitatea fotoreftecției, modalitățile de prezentare a caracterelor de text sau posibilitățile de rotație si deplasare a monitorului, dar un monitor care ar întruni toate aceste exigente încă nu a fost creat. De altfel, până când acest amplu standard nu-și va găsi reflectare în documentele respective, producătorii nu vor avea stimulentul necesar pentru elaborarea unor monitoare cel puțin aproape de perfecțiune. Trebuie să spunem că asemenea prestigioși producători cum sunt IBM, ICL și SNI au declarat deja susținerea sa noului standard. Nu ne rămâne decât sa așteptăm cum vor evolua evenimentele în acest domeniu.
E cazul să conștientizăm că monitorul, fie chiar cu radiație insignifiantă, este doar o parte din necesar. Tastatura străină normelor ergonomice, resursele programate organizate irațional, scaunul ieftin și incomod, iluminarea incorectă – toate acestea pot reduce la zero cele mai bune calități ale monitorului propriu-zis. Sunt lucruri ce nu trebuie neglijate de către cei preocupați de propria sănătate.
Iradiere ionizată este radiația electro-magnetică cu o capacitate de ionizare a moleculelor. Dacă se provoacă ionizarea moleculelor organismului uman, atunci legăturile între molecule se distrug și ca rezultat apar diferite maladii. Capacitatea de ionizare au următoarele particule: , , X, – iradieri, fluxul de electroni, substanțele radioactive.
Pentru a micșora iradierea ionizată a monitoarelor moderne, pe suprafața lor se incorporează o foaie metalică străvezie, care atenuează fluxul de iradiere. O altă cale de apărare împotriva iradierii ionizate este procurarea unui ecran protector, care se instalează pe monitor și are același efect ca și foaia metalică străvezie.
În general iradierea ionizată asupra omului poate provoca acțiunile:
locale – acțiuni de scurtă durată cu doze mari, care produc traume locale: îmbolnăvirea pieii, pierderea pieii, pierderea unghiilor, defectarea oaselor, cancer;
totale – reprezintă iradieri îndelungate cu doze mici, aduce la îmbolnăvirea sângelui (leucemie).
Câmpul electrostatic, care apare pe ecranul monitorului este rezultatul bombardării permanente a monitorului cu fascicolul de electroni emis de catod. Astfel sarcina electrică, care se acumulează pe suprafață monitorului, formează câmpul electrostatic. Fenomenul electrizării statice este legat și de starea aerului din mediu. În condițiile normale aerul se caracterizează prin proprietățile de izolare înaltă, însă sub acțiunea razelor solare și celor cosmice – iradierii materialelor radioactive a scoarței pământului și a altor factori ionizatori, moleculele neutrale a aerului se ionizează, formând ioni pozitivi și negativi – purtători ai sarcinii electrice. Dacă intensitatea câmpului electric, format de dispozitivele de curent continuu și de obiectele, care ușor se electrizează, este mare, atunci ionii liberi obțin energie cinetică suficientă pentru a forma ioni noi, ciocnindu-se cu moleculele neutre. În urma ionizării aerul își pierde proprietatea sa de izolator și descărcarea electrică latentă se transformă într-o descărcare sferică, adică are loc o străpungere electrică a aerului.
Descărcarea electricității statice poate provoca o explozie, incendiu sau alte accidente. La unele întreprinderi, care produc substanțe sintetice, polimeri și produse din aceste substanță, și care posedă proprietăți dielectrice înalte, electrizarea micșorează productivitatea muncii și este unul din motive care duce la scăderea calității producției. Influența sistematică a câmpului electrostatic de intensitate înaltă asupra corpului omului duce la unele dereglări funcționale a sistemului central nervos, a sistemului cardio-vascular și a altor organe. Din aceste motive, intensitatea maxim-admisibilă a câmpului electric la locurile de muncă este normată.
Tab.3.1
Intensitatea maxim-admisibilă a câmpului electric la locurile de muncă
Intensitățile admisibile a câmpului electrostatic sînt indicate fără a lua în considerație influența asupra omului a descărcărilor electrice. Normele indicate pentru intensitatea câmpului electrostatic mai mare decât 20 kW/m se utilizează numai cu condiția, că restul timpului a zilei de lucru intensitatea nu întrece 20 kW/m. Dacă intensitatea câmpului electrostatic întrece valorile indicate mai sus, atunci se aplică unele măsuri de micșorarea ei.
Măsurile principale de micșorare a intensității câmpului electric în zona de lucru sunt: îndepărtarea surselor a câmpurilor electrostatice din zona personalului care deservește aparatura; ecranarea sursei câmpului sau a locului de muncă; utilizarea neutralizatorilor de sarcini electrice statice; umezirea materialului care se electrizează; schimbarea materialelor, care ușor se electrizează cu materiale ce nu se electrizează; alegerea suprafețelor care contactează conform condițiilor de electrizare minimă; modificarea procesului tehnologic în așa mod ca să se micșoreze nivelul de electrizare; alegerea materialelor și suprafețelor care greu electrizează alte corpuri sau le electrizează cu sarcini de polaritate diferită; instalarea în toate încăperile, unde se află oameni, a podelelor care conduc curentul electric. În calitate de măsura a protecției individuale a omului de la electricitatea electrostatică poate servi încălțămintea ce conduce curentul electric, albituri, halat, etc. adică tot ce asigură legătura electrică a corpului omului cu pământul.
La majoritatea monitoarelor moderne problema câmpului electrostatic este parțial rezolvată prin introducerea tehnologiei antistatice. Datorită acestei tehnologii câmpul electrostatic se micșorează până la 10% din intensitatea inițială a acestuia. În afară de această majoritatea ecranelor protectoare, care micșorează iradierea ionizată și atenuarea considerabilă a câmpului electrostatic.
Câmpul electromagnetic creat de monitor este de asemenea un factor dăunător sănătății omului. Influența câmpurilor electromagnetice de mare intensitate asupra omului constă în absorbția de către țesuturile corpului uman a energiei, însă influența principală îi revine câmpului electric. Nivelul de influență a câmpurilor electromagnetice asupra omului depinde de frecvență, de puterea emisiei, de durata acțiunii, de regimul de emisie (prin impulsuri sau continuu), și de asemenea de proprietățile individuale ale organismului. Influența câmpului electric de frecvență joasă provoacă dereglări în activitatea funcțională a sistemului cardio-vascular, și chiar la schimbări privind componența sângelui.
Influența câmpului electromagnetic de frecvență înaltă se reflectă sub forma efectului termic, care duce la ridicarea temperaturii corpului, la supraîncălzirea locală a țesuturilor corpului și a organelor cu o termoreglare slabă. Ca rezultat unii lucrători suferă din cauza insomniei, simt dureri în regiunea inimii, dureri de cap, ușor obosesc. Pentru a micșora puterea de emisie a sursei câmpului electromagnetic pot fi utilizate următoarele mijloace tehnice:
utilizarea unui astfel de regim de lucrul, în care dispozitivul lucrează cu o putere mai mică decât cea proiectată;
lichidarea locurilor de emisie suplimentară;
micșorarea undelor reflectate prin ajustarea sarcinilor, etc.
Alegerea corectă a regimului de lucru a personalului și a utilajului permite micșorarea prezenței omului în zona de acțiune a câmpurilor electromagnetice.
Procesul de ecranare, des utilizat cu scopul de a micșora influența câmpurilor electromagnetice, utilizează fenomenul de absorbție și reflectare a energiei câmpului electromagnetic. Pentru confecționarea ecranului se utilizează materiale cu o conductibilitate electrică înaltă (aluminiu, cupru, oțel), și cu proprietăți de absorbție și reflectare sub formă de foi și plasă. Ecranele obligatoriu se unesc la pământ.
Eficacitatea acțiunii de ecranare a materialului se caracterizează prin adâncimea infiltrării câmpului electromagnetic în ecran, care depinde de materialul de confecționare.
Adâncimea infiltrării câmpului electromagnetic, la care acest câmp scade de 2,718 ori:
unde: μ – permeabilitatea magnetică relativă a materialului ecranului, Hn/m;
σ – conductibilitatea relativă a materialului ecranului, cm/m;
f – frecvența câmpului electromagnetic Hz.
Adâncimea infiltrării a frecvențelor înalte și supraînalte în ecran de obicei nu întrece un milimetru, astfel grosimea ecranului se alege din considerente constructive.
3.2 Calculul iluminării naturale la locul de muncă
Pentru organizarea activității normale a omului o mare importanță are crearea condițiilor normale de iluminare naturală și artificială la locul de muncă. Iluminarea de producție, corect proiectată și îndeplinită, aduce la rezolvarea următoarelor probleme: ea îmbunătățește condițiile de muncă, micșorează oboseala, contribuie la creșterea productivității muncii și calității producției, acționează binefăcător asupra mediului de producere, acționează pozitiv din punct de vedere psihologic asupra lucrătorului, ridică securitatea muncii și micșorează traumatismul în producție.
Analizatorul vizual percepe ca lumină oscilațiile electromagnetice cu lungimea de undă 380-770 nm.
Iluminarea optimă se alege în dependență de particularitățile (coeficientul de reflecție) suprafeței de lucru și detaliile ce sunt analizate pe ea (lungimea perioadei de lucru vizual, precizia, caracterul procesului de lucru).
O cerință importantă este menținerea regimului de iluminare. La iluminarea artificială devierile în rețea nu trebuie să depășească + 2.5 – 3%.
Prin norme sunt introduse valorile minimale a iluminării care permit realizarea cu succes a lucrului vizual.
În dependență de sursă de lumină iluminarea de producere poate fi de două tipuri: naturală (lumina de zi) și artificială generată de lămpile electrice.
Lumina naturală (solară) după componența sa spectrală se deosebește de lumina primită de la sursele electrice de lumină.
În spectrul luminii solare se conține mai multe raze ultraviolete necesare omului: pentru iluminarea naturală e caracteristică difuzia înaltă a luminii, foarte favorabilă pentru condițiile de muncă.
După particularitățile constructive iluminarea naturală se împarte în: laterală, înfăptuită prin ferestre, superioară, înfăptuită prin lanternele de ventilație și prin ferestrele în acoperiș și combinată, în care la iluminarea superioară se adaugă iluminarea laterală. Iluminarea naturală se caracterizează prin aceea că lumina creată în încăpere se schimbă în limite mari. Aceste schimbări depind de timpul zilei, anotimpurile anului și de factorii meteorologici. De aceea, spre deosebire de iluminarea artificială, iluminarea naturală nu trebuie cantitativ exprimată prin mărimea luminozității în luxi. În calitate de mărime normată pentru iluminarea naturală se ia mărimea relativă – coeficientul iluminării naturale, care reprezintă exprimarea în % a relației dintre luminozitatea în punctul dat înăuntru încăperii (Ein) și luminozitatea extenoară (Eex).
Iluminarea naturală în încăperi se reglementează conform normelor SNiP. Valoarea normală a coeficientului iluminării naturale (En) se calculă după formula:
En = E * H * C
unde:
E – valoarea coeficientului iluminării naturale (se ia pentru zona a III);
H – coeficientul climatului de lumină (pentru zona IV este egal cu 0.9);
C – coeficientul de solaritate, determinat după tabelul normelor în dependență de orientarea clădirii referitor părților lumii (C=0.75);
După calcule am obținut că mărimea normată a coeficientului iluminării naturale este egal cu:
En = 1.5 * 0.9 * 0.75 = 1.0125
În afară de coeficientul iluminării naturale se normează și caracteristica calitativă – neuniformitatea iluminării naturale în încăperile de producție cu iluminarea superioară. Neuniformitatea nu trebuie să depășească 2:1 pentru lucrările de rangurile I-II și 3:1 pentru lucrările de rangurile III-IV.
Calcularea iluminării naturale constă în calcularea ariei totale a ferestrelor:
Sp * En * Ef * Kz * Kr
Sf = –––––––––––––-;
100 * Tt * R
unde: Sp – aria podelei;
En – coeficientul iluminării naturale normat;
Ef – caracteristica ferestrei, care se află din raportul lungimea incăpeni către adîncimea ei pe de o parte și raportul adîncimii incăperii față de înălțimea nivelului suprafeței de lucru pînă la înălțimea ferestrei, pe de altă parte;
Kz – coeficientul, care ține cont de umbrirea de către clădirile apropiate. Se află din raportul dintre distanță pînă la clădirea vecină și înălțimea clădirii vecine;
Kr – coeficientul de rezervă, care ia în considerație poluarea geamurilor;
R – coeficientul de reflectare, care ia în considerație posibilitatea obiectelor și pereților de a reflecta lumina;
Tt = T1 * T2 * T3 * T4 * T5 – coeficientul general de pătrundere a luminii prin fereastră;
T1 – coeficientul de trecere a luminii prin sticla dublă;
T2 – coeficient, ce ia în considerație pierderile de lumină în ramele ferestrei;
T3 – coeficient, ce ia în considerație pierderile de lumină în construcții;
T4 – coeficient, ce ia în considerație pierderile de lumină în apărătoarele de lumină solară;
T5 – coeficient, ce ia în considerație pierderile de lumină în ramele de apărare a lămpilor;
Folosind datele pentru biroul de proiectare, găsim coeficienții din SNiP și calculăm aria totală a ferestrelor:
60 * 1.0125 * 15 * 1.2 * 1.7
Sf = ––––––––––––––––––- = 18 (m2 )
100 * (0.8 * 0.6 * 1 * 1 * 0.9) * 1.7
În biroul de proiectare sunt prezente 4 ferestre cu dimensiunile de 2.5 * 2 cu aria totală de 4 * 2.5 * 2 = 20 m2 ceea ce asigura o iluminare suficientă a locului de muncă.
3.3 Factorii dăunători și periculoși la locul de muncă
Analiza condițiilor de lucru și aprecierea factorilor dăunători se efectuează conform cerințelor și standardelor elaborate special de comisiile pentru Tehnica Securității care sunt, ca criterii de bază pentru analiza condițiilor la locul de lucru. Analiza se efectuează conform STAS 12.1.05
Tab.3.2
Standardele pentru factorii mediului
(continure) Tab.3.2
3.4 Cerințele ergonomice privind locul de muncă
Ergonomica și estetica procesului de producere sunt părți componente ale culturii procesului de producere [16], adică complexului măsurilor de organizare a muncii îndreptate spre crearea condițiilor de lucru prielnice. La baza ridicării culturii de muncă stau cerințele organizării științifice a procesului de muncă. Cultura procesului de muncă poate fi atinsă prin organizarea corectă a procesului de muncă și a relațiilor între colaboratori, organizarea locurilor de muncă, transformarea estetică a mediului înconjurător.
Iluminarea rațională a încăperilor de lucru stă la baza ridicării eficacității de lucru, preîntâmpină oboseala generală și a văzului, creează condiții psihologice optimale și determină dispoziția bună. Iluminarea naturală suficientă creează simțul de legătură directă cu mediul înconjurător.
Este necesar de subliniat acțiunea biologică binevenită a razelor solare. De aceea este necesar de amplasat locurile de muncă în așa mod încât ele să nimerească în zona atingerii razelor solare. În dependență de condițiile de muncă și particularitățile lucrului îndeplinit, pentru iluminarea artificială pot fi folosite instalațiile de iluminat, generale și locale, cu o anumită caracteristică de lumină. Lămpile de lumină directă au fost folosite limitat din cauza creării umbrelor abrupte. Lămpile de lumină reflectată pot fi folosite în cazuri când este necesitatea de o lumină omogenă și slabă. Lămpile de lumină semi-reflexivă ce sunt echipate cu abajur din sticlă mată, care posedă proprietăți de a dispersa lumina se află pe masa de lucru. În calitate de instalație de iluminat general este recomandabil de folosit lămpi cu lumina dispersată. Lămpile de iluminare locală trebuie să fie mobile și la necesitate să asigure schimbarea direcției luminii. Fiecare loc de muncă, indiferent de amplasarea lui față de ferestre trebuie să aibă și instalație de lumină locală. Este recomandabil de folosit lămpi luminescente, spectrul luminii cărora aproape coincide cu cel al luminii naturale. Pentru a exclude reflectarea razelor directe ale luminii de pe ecranul monitorului instalațiile de iluminare se aranjează pe ambele părți de la locul de muncă, paralel cu direcția văzului operatorului, și peretele cu ferestre.
O astfel de amplasare a instalațiilor de iluminat permite de a le conecta consecutiv în dependență de mărimea iluminatului natural și exclude iritarea ochilor de către linii alterate de lumină și umbră, care apare la amplasare lor paralelă.
Culoarea încăperilor (pereților și podului) de lucru influențează esențial asupra iluminării, stării psihofiziologice a omului, ansamblului arhitectural al încăperii. Este cunoscut că nuanțele întunecate au proprietatea de a consuma o parte mare a luminii și prin aceasta micșorează iluminarea încăperii. Pentru ordonarea culorilor în încăperile de lucru se propune de a folosi în primul rând acele culori care reflectă cel puțin 40-50% de lumină care cade pe o suprafață. Culorile încăperilor trebuie să fie alese în conformitate cu condițiile climaterice. La alegerea culorilor încăperilor trebuie de luat în seamă amplasarea ferestrelor, particularitățile arhitecturale ale încăperilor. Pentru asigurarea condițiilor de lucru optimale, culorile trebuie să fie alese având în vedere culorile monitorului. În cazul paletei monocrome, peretele înaintea operatorului trebuie să fie vopsit cu culoarea verde deschisă sau bej, iar în cazul paletei colorate – culoarea bej.
Un rol important îl joacă organizarea locului de muncă, care trebuie să satisfacă cerințele comodității a efectuării lucrului și economisirii energiei și a timpului operatorului și utilizării raționale ale suprafețelor de lucru. Mișcările lucrătorului trebuie să fie de așa fel, ca grupurile de mușchi ale lui să fie încărcate omogen, iar mișcările neproductive să fie excluse.
Locurile de muncă trebuie să fie aranjate tot în conformitate cu cerințele comodității lucrului și optimizării mișcării. Locul de muncă de obicei este constituit dintr-un birou, scaun, o poliță pentru literatura profesională des utilizată. Distanțele între componentele menționate trebuie să fie optimale, care nu limitează mișcările și în același timp nu provoacă mișcări de prisos.
3.5 Condiționarea aerului
Parametrii necesari a microclimei în încăperile de producție se asigură prin diferite metode. Pentru menținerea normelor aflării substanțelor dăunătoare în aer la locul de lucru se iau măsuri spre izolarea izvoarelor de substanțe dăunătoare, limitarea timpului de aflare a oamenilor în încăperile cu conținutul atmosferic dăunător, folosirea tehnologiilor avansate pentru micșorarea conținutului de substanțe dăunătoare în aer.
Una din tehnicile folosite în procesul de producție pentru eliminarea substanțelor dăunătoare din aerul zonei de lucru este ventilarea. Sistemele de ventilare [16] asigură parametrii necesari ai microclimei în aerul de lucru. Ventilarea este divizată în două categorii în dependență de natura acesteia: ventilarea naturală și ventilare artificială.
La ventilarea artificială schimbul de aer se efectuează cu ajutorul ventilatorului prin sistemele de canale cu aer. Reieșind din principiul de lucru a ventilatorului, ventilarea artificială se clasifică în următoarele categorii: de tragere, de extragere, de tragere-extragere. În sistemele de ventilare artificială aerul tras în încăperea de lucru poate fi uscat, umezit, răcit.
În prezent pentru asigurarea normativelor de ventilare a aerului zonei de lucru sunt folosite dispozitive de condiționare a aerului. Cu ajutorul dispozitivului de condiționare aerul poate fi uscat, umezit, ozonat, deodorat, răcit sau încălzit.
Conform normativelor sanitar-igienice fiecărui lucrător trebuie de-i asigurat de la 20 m3/oră până la 30 m3/oră. Raportul între volumul încăperii și numărul de persoane care lucrează în această încăpere nu trebuie să fie mai mic decât 20 m3.
În lipsa substanțelor dăunătoare în încăpere, dacă volumul de aer pentru un lucrător e mai mare de 40 m3, normativele de ventilare nu sunt reglementate. Volumul de aer care trebuie să fie tras să fie în diapazonul de 20m3/oră pentru o persoană până la 30 m3/oră.
3.6 Cerințele securității tehnice la începutul lucrului
Până la începutul propriu zis a lucrului practic în laborator, studenții sunt obligați să studieze locul său de lucru: dislocația dispozitivelor aflate sub tensiune, a întreprinderilor de curent, caracteristica tehnică a utilajului, instrucțiunile de exploatare a dispozitivelor folosite la efectuarea lucrărilor de laborator. Trebuie de studiat principiul de lucru a echipamentului și metodele de operare inofensive în timpul lucrului.
3.7 Cerințele securității tehnice în timpul de lucru
Este interzisă cuplarea echipamentului la rețea fără permisiunea persoanei responsabile de lucrări; cuplarea în rețea a echipamentului, care în timpul efectuării lucrării de laborator nu este folosit.
În procesul de lucru la calculator se interzice categoric: abaterea de la subiect cât și sustragerea altora; părăsirea locului de lucru lăsând utilajul sub tensiune; efectuarea lucrului de reparație a utilajului aflat sub tensiune. Dacă în procesul de lucru apar cazuri ieșite din comun (miros de izolație arsă, fum) utilajul se decuplează, urgent de la rețea informând despre aceasta conducătorul de lucrări sau responsabilul de laborator.
3.8 Acțiuni în cazuri fatale
Dacă vre-o persoană nimerește sub tensiune, este necesar de urgență de decuplat tensiunea, despre ce se informează dirigintele de lucrări.
Dacă persoana în cauză a rămas în conștiință trebuie să-i creăm condiții de liniște și odihnă. Apoi în caz de necesitate chemăm medicul. Dacă individul a pierdut cunoștința și nu respiră este necesar de a-i face respirație artificială, chemând totodată salvarea. Respirația artificială se aplică până vine medicul sau până se restabilește respirația. Pentru toate cazurile fatale se fac procese verbale conform regulamentului.
3.9 Securitatea antiincendiară
Incendiu [16] se numește procesul necontrolat de ardere în afara unui loc de ardere special amenajat, ce aduce daune materiale.
În cadrul oricărei organizații, sau întreprinderi trebuie să existe mijloace de anunțare, de apel rapid la serviciile orășenești antiincendiare în cazul apariției incendiului. Pentru obiectele de o importanță majoră sau periculoase, este recomandată posibilitatea legăturii telefonice directe cu secția antiincendiară orășenească. Semnalizarea antiincendiară se execută cu ajutorul diferitor sisteme. Pentru a anunța despre incendiu se utilizează legătura telefonică, legătura radio, sirena, semnalizarea cu ajutorul clopotelor etc.
Semnalizarea incendiului se execută de diferite sisteme. Cel mai simplu și mai des utilizat este semnalizatorul manual, care se activează prin apăsarea butonului. Așa semnalizatoare se instalează pe scări, în paliere și sînt vopsite în culoarea roșie.
În timpul de față larg se utilizează semnalizatoarele automate, care conform principiului de lucru se împart în cele termice, de fum, combinate și optice.
Semnalizatoarele termice de acțiune maximă acționează la deformarea unei plăci bimetalice, la încălzirea ei până la 60, 80, 100 °C în dependență de reglaj. În semnalizatoarele termice semiconductoare, în calitate de elementele sensibile sunt termorezistențele, de la încălzirea cărora se schimbă curentul în rețea.
În semnalizatoarele de fum în calitate de element sensibil se utilizează camera de ionizare, în care sub acțiunea izotopului radioactiv (plutoniu-239) apare un curent de ionizare. Apariția fumului în cameră mărește consumul de raze ceea ce cauzează micșorarea curentului de ionizare.
În semnalizatoarele combinate se folosește interconectarea semnalizatorului de fum cu cel termic. La camera de ionizare se mai conectează încă o termorezistență. Aceste semnalizatoarele reacționează atât la apariția fumului, cât și la schimbarea temperaturii.
Semnalizatoarele optice reacționează la razele ultraviolete ale spectrului flăcării, deoarece elementul sensibil reprezintă contoarele de fotoni. Semnalizatoarele de diferite tipuri pot controla suprafețe de la 15 până la 100 m2.
Semnalizatoarele de fum și cele combinate nu se instalează în încăperi umede și prăfuite, sau în încăperi în care se conțin vapori de acizi, baze, sau unde temperatura este mai mare decât 80 °C, deoarece în așa locuri poate avea loc acționarea falsă ale semnalizatoarelor.
3.9.1 Cauzele apariției incendiilor
Procesul de ardere este posibil în cazul când este prezentă substanța arzătoare, sursa de aprindere și oxidantul, care în cele mai dese cazuri este oxigenul, ce se conține în aer. La reducerea concentrației oxigenului din aer până la 12-14% arderea majorității substanțelor se oprește. Procesul de ardere este posibil și în lipsa oxigenului – deoarece hidrogenul, stibiul și unele metale ard în clor. Unele substanțe (turba, cărbunele, funinginea, cârpele uleioase), numite piriforme pot să se auto inflameze la contactul cu aerul. Auto-aprinderea acestor substanțe are loc în urma proceselor chimice, termice sau microbiologice. Substanțele se încălzesc sub acțiunea căldurii ce vine din afară, ce se elimină în timpul reacțiilor chimice, și de asemenea în rezultatul acțiunii micro-organismelor.
În procesul de producție, incendiul poate apare în urma unor cauze de ordin electric sau ne electric. La cauzele de ordin ne electric se referă: funcționarea proastă a instalațiilor de producție și dereglarea procesului tehnologic; comportarea iresponsabilă sau ne atentă cu focul (fumatul, lăsarea fără supraveghere a dispozitivelor de încălzire); construcția incorectă sau dereglarea sistemului de ventilare; autoinflamarea materialelor.
La cauzele de ordin electric se referă: scurtcircuitul; supraîncărcarea conductoarelor; rezistența mare de trecere; scânteierea; electricitatea statică și descărcarea fulgerului; arcul electric ce apare în timpul sudării electrice și în timpul operațiilor greșite cu aparatajul de comutare; instabilitatea tensiunii electrice din rețea – ca rezultat se aprind unele circuite integrate din calculator, sau monitor, etc.
3.9.2 Securitatea antiincendiară în sălile de calcul
Pentru a analiza nivelul securității incendiare a locurilor de muncă, a zonelor de producție, a sălilor de calcul se folosește următoarea clasificare :
Clasificarea materialelor de construcție și construcțiilor după nivelul de inflamabilitate: ne inflamabile; greu inflamabile; inflamabile;
Clasificarea construcțiilor după nivelul rezistență la incendiu (limita nivelului de rezistență la incendiu – timpul în ore din momentul începerii incendiului până la momentul apariției crăpăturilor).
3. Clasificarea încăperilor după Regulile de Construcție a Instalațiilor Electrice: cu pericol de explozie; cu pericol de inflamare; criteriile de apreciere; conținutul de substanțe inflamabile.
4. Clasificarea proceselor de producție după pericolul incendiar: cu pericol de explozie; cu pericol de inflamare; fără pericol de inflamare.
Conform primei clasificări sala de calcul este ne inflamabilă, deoarece sunt prevăzute multe măsuri de prevenire a incendiului cum ar fi: sisteme de semnalizare, podele din metal, mese metalice, pereții în sala de calcul se acoperă cu substanțe ne arzătoare.
După clasificarea a doua, de obicei sălile de calcul se află în clădiri construite din beton armat sau cărămidă (pentru instituțiile de învățământ). Ambele materiale de construcție au o rezistență mare la incendiu – pereții în sala de calcul se acoperă cu substanțe ne arzătoare.
După clasificarea a treia, luând în considerație conținutul mic de substanțe inflamabile și regimul termic de prelucrare, sălile de calcul pot fi caracterizate – cu pericol mic de inflamare.
Sălile de calcul după pericolul incendiar a proceselor de producție fac parte din categoria celor cu pericol de inflamare, ceea ce se explică prin faptul, că în încăpere se găsesc substanțe inflamabile: de obicei, aceste săli sunt echipate cu utilaj care conține masă plastică, care totuși arde.
4 APRECIEREA CHELTUIELILOR ECONOMICE
ALE PROIECTULUI DE DIPLOMĂ
Compartimentul economic este o parte integră a proiectului de diplomă și constă în calcularea efectului economic care se va manifesta odată cu aplicarea în practică a rezultatelor experimentelor, ipotezelor și produselor primite la sfârșitul îndeplinirii tezei, indiferent dacă rezultatul va fi un produs care va participa sau nu la un proces economic. Deci compartimentul economic reprezintă o continuare a părții științifice a tezei, adică evaluarea ei din punct de vedere economic. Aici vor fi studiate toate procesele economice necesare pentru îndeplinirea proiectului: fondurile proiectului, cheltuielile care s-au produs pe parcurs, venitul după realizarea produsului ș.a.
Dacă noi alcătuim sau implementăm un circuit electronic, trebuie de calculat toate cheltuielile necesare pentru proiectarea circuitului, cheltuielile care însoțesc procesul de asamblare a acestui circuit, la acestea adăugându-se toate celelalte cheltuieli (accesorii, instrumente). Dacă teza este îndeplinită la o întreprindere sau organizație (ceea ce este permis de catedră), care sunt interesate de rezultatele tezei atunci cheltuielile de utilaj și accesorii vor fi cu mult mai mici. Dacă noi elaborăm un program, alcătuim o bază de date sau scriem un driver pentru vre-un dispozitiv atunci este necesar să includem în preț toate accesoriile de care avem nevoie (calculatoare, produse soft, hârtie, documentație, imprimanta), dacă noi utilizăm un limbaj necunoscut trebuiesc luate în considerație cheltuielile de timp necesare pentru studierea acestui limbaj sau a pachetelor de program.
Procesul economic nu este un compartiment separat, el începe odată cu stabilirea temei și se manifestă pe întreaga porțiune de timp care este cuprinsă între evenimentul “stabilirea temei” și “prezentarea proiectului la comisie”, deci orice activitate legată de diplomă în decursul timpului dintre aceste evenimente este necesar de inclus în planificarea economică a tezei.
4.1 Planificarea economică
Odată cu stabilirea temei noi ne-am format concepțiile prin intermediul cărora vom determina în ce domeniu vom activa, pentru început vom stabili limbajul de programare în care vom lucra, pachetele de programe necesare pentru implementarea programului.
Luând în considerație posibilitățile limbajelor existente și prețul lor, am stabilit că vom lucra cu analiza tehnologiilor de elaborare a paginilor Web.
Cunoscând metodele de studiere a procesului economic și luând în considerație raportul de avantaje între fiecare noi am hotărât să folosim metoda planificării prin intermediul grafului rețea.
Graful rețea este un model informativ, în care se arată legăturile între lucrări și evenimente a lucrărilor date, necesare pentru obținerea scopului final. Graful rețea nu este altceva decât un complex de graf orientat. Graful rețea conține două elemente principale: lucrarea și evenimentul. Arcele prezintă lucrarea, iar vârful – evenimentul. Lucrarea este orice proces, care duce la atingerea rezultatului concret. Evenimentul (în afară de primul) este rezultatul lucrării efectuate. Evenimentul i, după care nemijlocit se începe lucrarea dată, este pentru lucrarea primară; evenimentul j, înaintea căruia nemijlocit a fost efectuată lucrarea, este final. Între evenimentele i și j poate fi efectuată numai o lucrare. Primul eveniment în rețea, care nu are înaintea sa evenimente și lucrări și arată începerea îndeplinirii complexului de lucrări – este primar. Evenimentul, după care nu urmează alte evenimente și lucrări și arată încheierea complexului – este final.
Datele inițiale pentru construirea rețelei sunt:
1. Biblioteca lucrărilor și evenimentelor în procesul de planificare în rețea, unde se arată timpul efectuării lucrărilor (tab. 4.1).
2. Determinarea numărului de executanți și repartizarea lor în lucru (tab. 4.2 și 4.3).
Tab.4.1
Biblioteca lucrărilor și evenimentelor în procesul de planificare în rețea
(continuare) Tab.4.1
Pentru elaborarea proiectului de diplomă se creează grupul de executanți. Asupra componenței lui influențează mulți factori printre care: volumul de lucru a PD, resursele financiare alocate, noutate și complexitatea temei, experiența executanților, nivelul lor profesional și general teoretic, etc. Adică, luând în considerație clasa de complexitate a problemelor se formează grupul de executanți, capabili să asigure îndeplinirea tuturor lucrărilor planificate în termenul indicat și se repartizează pe lucrări concrete. Componența grupului de executanți se introduce în tabelul 4.2.
Tab.4.2
Tab.4.3
Repartizarea executanților pe lucrări
(continuare) Tab.4.3
Se construiește graful rețea și se calculează cheltuielile în timp pentru efectuarea lucrărilor în rețea. Datele se introduc în tabelele 4.4 și 4.5.
4.2 Construirea grafului de rețea și calcularea parametrilor principali
La parametrii de bază a rețelei se referă: calea critică, rezervele de timp a evenimentelor și lucrărilor. Rezerva de timp a evenimentului R se determină ca diferența dintre timpul târziu și timpul devreme.
R = Tt – Td
Tdj = max (Tdi + tij )
unde:
tij – timpul parcurgerii lucrării.
În evenimentul finit timpul devreme este egal cu timpul târziu, sensul economic al căruia este, că nu suntem cointeresați în lungimea evenimentului.
Tti = min (Ttj – tij ).
Pentru lucrări se calculează următorii parametri:
1. Rezerva deplină a lucrărilor
Rdij = Ttj – Tdi – tij
Rezerva deplină a lucrării înregistrează durata în timp, cu cât mai târziu poate fi îndeplinită lucrarea dată ce nu schimbă durata totală a căii critice.
2. Rezerva liberă a lucrărilor
Rlij = Tdj – Tdi – tij
Rezerva liberă a lucrării este timpul maximal de lungire a lucrării date, care nu schimbă timpul târziu de îndeplinire a evenimentului următor și timpul devreme a evenimentului precedent.
Se numește calea critică drumul maximal de la evenimentul inițial până la cel final în calea rețelei.
Calea critică are două condiții:
1. Rezervele evenimentelor Ri = Rj = 0
2. Rezervele depline Rdij = 0
Parametrii de bază a rețelei sunt arătați în tabelele 4 și 5, iar rețeaua pe desen.
Tab.4.4
Tab.4.5
Până acum au fost evaluate cheltuielile de timp cu ajutorul cărora vor fi evaluate și unele cheltuieli bănești cum ar fi: salarizarea participanților, calculul amortizării utilajului, evaluarea costului de arendă a încăperii etc. Celelalte cheltuieli bănești sunt legate de procurarea utilajului științific, accesoriilor și achitarea serviciilor de care au fost nevoie pe parcursul proiectării. În continuare vor fi evaluate cheltuielile bănești necesari pentru îndeplinirea proiectului.
Pentru început vom evalua costurile necesare pentru obiectele și accesoriile de birotică, în Tab.4.6 sunt enumerate majoritatea materialelor de care ne-am folosit pe parcursul îndeplinirii sarcinii.
Tab.4.6
Costul materialelor utilizate la elaborarea proiectului
Dacă la lucrarea de diplomă utilizăm aparataj ce a fost utilizat și va mai fi utilizat în viitor la alte lucrări, se calculează amortizarea lui pe timpul lucrat:
Formula pentru amortizare este:
A = C * N * t,
unde
C — costul inițial al dispozitivului;
N — norma amortizării;
t — timpul de lucru a utilajului la lucrarea dată.
Tab.4.7
Calculul defalcărilor pentru amortizare din costul utilajului
O influență semnificativă asupra bugetului proiectului o alcătuiește serviciile de care ne folosim pe parcursul lucrului, în aceste servicii pot întra serviciile Internet, serviciile tele fonice. În Tab.4.8 sunt prezentate toate serviciile de care am beneficiat.
Tab.4.8
Serviciile beneficiate
Cheltuielile pentru salariul de bază a proiectanților se calculează pe baza datelor despre componența de calificare a colaboratorilor, salariile de post a lor și gradul de ocupare pe temă.
Salariul suplimentar prezintă 40%, din salariul de bază. Defalcările la asigurarea socială au fost luate ca 35% din suma salariului de bază și cel suplimentar. Defalcările pentru amortizare din costul utilajului folosit sunt luate din tabelul 4.7. Lucrările contractuale constituie 4% din salariul de bază a executanților. Cheltuielile directe și de regie constituie respectiv 6% și 45% din salariul de bază. Datele se introduc în tabelul 4.9.
Tab.4.9
Calculul salariului
Tab.4.10
Cheltuielile necesare pentru realizarea proiectului
În Tab.4.10 sunt enumerate cheltuielile esențiale care se referă la îndeplinirea proiectului. Din acest tabel putem concluziona că acest proiect nu este prea scump. Valoarea maximă atingând-o cota de amortizare a utilajului folosit, deoarece noi am utilizat tehnică foarte avansată suma de amortizare va creste.
CONCLUZII
Cel puțin pentru cinci ani de acum încolo, HTML-ul, mai ales prin facilitățile oferite de standardul 4.0, va fi principalul limbaj de marcare a paginilor Web, dând proiectanților de site-uri Web flexibilitate, ușurința în design și suport pentru includerea de elemente interactive. Va trebui însă să ofere și posibilitatea de introducere de formule matematice oricât de complicate și elemente de realitate virtuală, plus mecanisme de interogare a bazelor de date eterogene și distribuite. Complementar, XML se afla încă la începuturi atât privind cercetările teoretice, cât și aplicațiile dezvoltate.
Care ar putea fi soluția optimă pentru viitor? HTML împreună cu Java, care tinde sa câștige tot mai mult teren, sau paradigma agenților mobili (entități abstracte călătorind între diverse noduri de rețea) numiți de creatorii săi de la IBM agleți? Un alt limbaj de marcare sau folosirea de noi tehnologii inteligente de acces la Internet?
Răspunsul ni-l va oferi viitorul.
Cert este că oricare ar fi tehnologia de elaborare a paginilor Web în viitor, ea ar trebui să rezolve o sumedenie de probleme cu care se confruntă astăzi Internetul. Cea mai stringentă problemă este problema securității păstrării și transmiterii informației. Pe planul doi ar fi problema de supraveghere a respectării unui eventual cod de etică la elaborarea și prezentarea site-urilor. Un alt obiectiv al Internetului pentru viitor, va fi cu certitudine, structurizarea mai bună a informației din Internet. Această structurizare poate fi ori conform domeniului de utilizare, ori limbii în care este prezentată informația.
Cu toate neajunsurile pe care le are în prezent, Internetul este o sursă de informare destul de accesibilă. Diferite persoane din orice domeniu de activitate se pot documenta accesând Internetul și nu numai, oricine își poate prezenta activitatea pe o pagină Web (prezentarea mărfii, prestarea serviciilor ș.a.).
Internetul devine tot mai preferabil ca mijloc de comunicare (poșta electronică, teleconferințe, tebele de discuții și dezbateri ș.a.)
O noțiune mai nouă în Internet este comerțul electronic care din anumite probleme tehnice și de securitate se află în faza testărilor finale.
Indiferent de câte minusuri are astăzi Internetul, viitorul va depinde într-o oarecare măsură anume de el. Anume asta trebuie să ie în calcul promotorii tehnologiilor de elaborare a paginilor Web pe viitor.
BIBLIOGRAFIE
Lynn M. Bremner, Anthony F. Iasi, Al Servati „Intranet” Editura ALL București 1997.
Matt Strazniskas „Photoshop 5” Editura ALL București 1999.
Kris Jamsa “Programarea în Web”
Macromedia Dremweaver
Microsoft Frontpage
Ф. Карбун, П. Маккормик “CorelDRAW 7”
„PC WORLD Revista programatorilor” Octombrie 2000.
http://www.infoiasi.ro
http://www.pcreport.ro
http://www.google.com
http://www.epress.ro
http://www.omen.ru
http://www.ournet.md
ANEXA 2
Listingul programului
Menu_principal.js
function dropit1(object){
object.style.visibility="visible"}
function dropit2(object){
if (document.all){
object.style.left=document.body.scrollLeft+event.clientX-event.offsetX
object.style.top=document.body.scrollTop+event.clientY-event.offsetY+18
object.filters.revealTrans.apply()
object.style.visibility="visible"
object.filters.revealTrans.play()}}
function hidemenu(object){
object.style.visibility="hidden"}
Catedra.js
var x,y
var step=20
var flag=0
var message="TI"
message=message.split("")
var xpos=new Array()
for (i=0;i<=message.length-1;i++) {
xpos[i]=-50}
var ypos=new Array()
for (i=0;i<=message.length-1;i++) {
ypos[i]=-50}
function handlerMM(e){
x = (document.layers) ? e.pageX : event.clientX
y = (document.layers) ? e.pageY : event.clientY
flag=1}
function textfollow() {
if (flag==1 && document.all) {
for (i=message.length-1; i>=1; i–) {
xpos[i]=xpos[i-1]+step
ypos[i]=ypos[i-1]}
xpos[0]=x+step
ypos[0]=y
for (i=0; i<message.length-1; i++) {
var thisspan = eval("document.all.span"+(i)+".style")
thisspan.posLeft=xpos[i]
thisspan.posTop=ypos[i]}}
if (flag==1 && document.layers) {
for (i=message.length-1; i>=1; i–) {
xpos[i]=xpos[i-1]+step
ypos[i]=ypos[i-1]}
xpos[0]=x+step
ypos[0]=y
for (i=0; i<message.length-1; i++) {
var thisspan = eval("document.span"+i)
thisspan.left=xpos[i]
thisspan.top=ypos[i]}}
var timer=setTimeout("textfollow()",10)}
Capture.js
for (i=0;i<=message.length-1;i++) {
document.write("<span id='span"+i+"' class='spanstyle'>")
document.write(message[i])
document.write("</span>")}
if (document.layers){
document.captureEvents(Event.MOUSEMOVE);}
document.onmousemove = handlerMM;
a_href.css
<style>
BODY{}
a { color:0000FF;
text-decoration:none;
font-size:12pt;
font-weight:bold;
font-family:Verdana }
a:visited { color:0000FF }
a:hover { color:000000;
text-decoration:underline }
.spanstyle {position:absolute;
visibility:visible;
top:-50px;
font-size:8pt;
font-family:verdana;
color:FF00FF}
</style>
style.css
<style>
#home{position:absolute;
left:215px; top:0px; }
#despre_noi{ filter:revealTrans(Duration=1.5,Transition=12)
visibility:hide background-color:#FFFF00;
width:100;
position:absolute;}
#servicii{ filter:revealTrans(Duration=1.5,Transition=12)
visibility:hide;
background-color:#FFFF00;
width:150;
position:asolute; }
#informatii{ filter:revealTrans(Duration=1.5,Transition=12)
visibility:hide;
background-color:#FFFF00;
width:120;
position:absolute; }
#contactatine{
filter:revealTrans(Duration=1.5,Transition=12)
visibility:hide;
background-color:#FFFF00;
width:120;
position:absolute; }
#alegeti_limba{filter:revealTrans(Duration=1.5,Transition=12)
visibility:hide;
background-color:#FFFF00;
width:150;
position:absolute; }
#despre_noi_1{
position:absolute;
left:240px;
top:0px;}
#servicii_1{position:absolute;
left:360px;
top:0px;}
#informatii_1{position:absolute;
left:440px;
top:0px;}
#contactatine_1{
position:absolute;
left:485px;
top:0px;
width:200;}
#alegeti_limba_1{position:absolute;
left:590px;
top:0px;
width:200;}
</style>
Home_rus.htm
<html>
<head>
<meta http-equiv="Page-Enter" content="revealTrans(Duration=1.0,Transition=23)">
<meta http-equiv="Page-Exit" content="revealTrans(Duration=1.0,Transition=23)">
<title>Перевозчиков </title>
<link rel=stylesheet href="Css/a_href.css" type=text/css>
<link rel=stylesheet href="Css/style_rus.css" type=text/css>
<script language="JavaScript" src="Js/Flag.js"></script> </head>
<body topmargin="0" leftmargin="0" background="Picture/back42.jpg" onLoad="textfollow()">
<script language="JavaScript1.2" src="Js/capture.js"></script>
<table border="0" width="100%" cellspacing="0" cellpadding="0" height="100%">
<tr> <td width="172" height="20" valign="top">
<MARQUEE hspace=1 scrollAmount=2 scrollDelay=1 width=170 height="19">
</MARQUEE></td>
<td width="59" height="20" valign="top" bgcolor="#FFFF00" bordercolor="#FFFF00">
<span id="home" onMouseOver="hidemenu(despre_noi)" >
<a href="#"> Home| </a> </span> </td>
<td width="547" height="20" bgcolor="#FFFF00" valign="top">
<span id="despre_noi_1" onMouseOver="dropit2(despre_noi);hidemenu(servicii)" >
<a href="#" > О нас| </a> </span>
<span id="servicii_1" onMouseOver="dropit2(servicii);hidemenu(despre_noi);hidemenu(informatii)">
<a href="#"> Услуги| </a>
</span>
<span id="informatii_1" onMouseOver="dropit2(informatii);hidemenu(servicii);hidemenu(contactatine)">
<a href="#">
Информация| </a> </span> <span id="contactatine_1" onMouseOver="dropit2(contactatine);hidemenu(informatii);hidemenu(alegeti_limba)"> <a href="#"> Контакт|
</a> </span>
<span id="alegeti_limba_1" onMouseOver="dropit2(alegeti_limba);hidemenu(contactatine)">
<a href="#">Выберите </a> </span>
<script languaje="javascript1.2" src="Js/menu.js"></script>
</td></tr><tr>
<td width="233" height="152" colspan="2" valign="middle">
<p align="center">
<a href="Home_rus.htm">
<img border="0" src="Picture/Cipti_Finall.gif" width="225" height="150">
</a> </p> </td>
<td width="547" height="648" rowspan="4" valign="top">
<p align="center"> <br> <p align="center"> <br>
<img border="0" src="Picture/Harta.gif" width="243" height="333">
<div id="despre_noi" style="visibility:hidden;" onmouseout="hidemenu(despre_noi)">
<a href="Istoria_rus.htm" onmouseover="dropit1(despre_noi)">История</a><br>
<a href="Misiune_rus.htm"onmouseover="dropit1(despre_noi)">Ми</a><br></div>
<div id="servicii" style="visibility:hidden;" onmouseout="hidemenu(servicii)">
<a href="Teli_rus.htm" onmouseover="dropit1(servicii)">Цель CIPTI</a><br>
<a href="Programa_rus.htm" onmouseover="dropit1(servicii)">Программы обучения</a><br>
</div>
<div id="informatii" style="visibility:hidden;" onmouseout="hidemenu(informatii)">
<a href="Novie_cursi_rus.htm" onmouseover="dropit1(informatii)">Новые курсы</a><br>
<a href="Examen_rus.htm" onmouseover="dropit1(informatii)">Экзаменационная<BR> система</a><br>
</div>
<div id="contactatine" style="visibility:hidden;" onmouseout="hidemenu(contactatine)">
<a href="Adresa_rus.htm" onmouseover="dropit1(contactatine)">Адрес</a><br>
<a href="#" onmouseover="dropit1(contactatine)">Web Адрес</a><br>
</div>
<div id="alegeti_limba" style="visibility:hidden;" onmouseout="hidemenu(alegeti_limba)">
<a href="Home_rom.htm" onmouseover="dropit1(alegeti_limba)">Румынский</a><br>
<a href="Home_eng.htm" onmouseover="dropit1(alegeti_limba)">Английский</a><br>
</div></td></tr><tr>
<td width="233" height="103" colspan="2" valign="middle">
<p align="center">
<a href="http://www.iru.org">
<img border="0" src="Picture/IRU.gif" width="233" height="87"</a> </p> </td>
</tr><tr>
<td width="233" height="112" valign="middle" colspan="2">
<p align="center">
<a href="http://www.mdlnet.aita.md">
<img border="0" src="Picture/aita.gif" width="233" height="87"></a> </p> </td>
</tr><tr>
<td width="233" height="281" valign="middle" colspan="2"> </td></tr>
</table>
</body>
</html>
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: Elaborarea a Unei Pagini Web (ID: 148773)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
