Este implementată gestiunea cererilor și ofertelor pachetelor turistice, precum și gestiunea datelor despre clienții agenției. [303568]
[anonimizat]. Aplicația va trebui să soluționeze problemele cu care se confruntă cel mai des o [anonimizat]. Aplicația exemplu a fost concepută ca un suport pentru vanzarea de excursii.
Scopul acestei lucrari este construirea arhitecturii sistemului pentru rezervarea de pachete turistice si proiectarea logică și fizică a componentelor lui.
[anonimizat].
Astfel se va obține proiectarea sistemului informatic realizând o aplicație utilizând PHP și MySQL.
[anonimizat] a clienților și a tuturor pachetelor turistice care sunt disponibile pentru vânzare. [anonimizat] (adauga sau șterge) datele prin introducerea numelui de utilizator și parolă.
[anonimizat] o [anonimizat], cât și securizarea lor din cadrul paginei web.
Capitolul I [anonimizat] a sistemului de baze de date. În capitolele IV și V [anonimizat]. La realizarea acestui proiect s-au folosit metode de proiectare a [anonimizat] a aplicației.
CAPITOLUL I DESPRE INTERNET
1.1 Ce este Internetul ?
Internetul este o super-[anonimizat]-o [anonimizat]. Internetul este o [anonimizat], un nou mediu de publicare și un mijloc de difuzare mondială a informației. Este o invenție genială acest mod de comunicare electronică: simplu, democratic, interactiv, capabil – [anonimizat].
În principiu există 2 mari domenii în care internetul este folosit:
1. Comunicare:
a) Poșta electronică (e-mail) prin care se pot transmite și primi mesaje ;
b) Liste de discuții (discussion lists) care permit participarea la discuții și schimburi de informații în grupuri profesionale;
c) Grupuri de știri (Newsgroups) care permit consultarea sau participarea în grupuri de știri publice;
d) Chat-[anonimizat] a doi sau mai mulți utilizatori;
2. Informare prin accesul la distanță și la surse de informații
a) World Wide Web (WWW – [anonimizat]) prin care se poate accesa și naviga prin paginile web care conțin informații de largă circulație și la resurse cu ajutorul nstrumentelor de căutare și a hiperlegăturilor (hyperlinks) inserate în documente;
b) FTP (File Transfer Protocol) care permite transmiterea și primirea de informații la și de la distanță;
1.2 Istoria Internetului
Internetul s-a născut la mijlocul anilor 60 în forma ARPAnet (Advanced Research Projects Agency Net) – o [anonimizat]ru ARPA, un departament de cercetare din cadrul Pentagonului. ARPA a fost pus în funcțiune ca reacție la succesul sovietic al lansării satelitului Sputnik în spațiu în 1957. Unul din obiectivele ARPAnet era crearea unei rețele, care să nu fie distrusă datorită atacurilor asupra sistemului. Războiul Rece fiind la apogeu, scenariul unui dezastru era considerat fie lansarea unei bombe fie un atac nuclear.
De aici a rezultat un proiect de rețea, unde rețeaua însăși era permanent în pericol de atac. În consecință:
– doar un minimum de informații era cerut de la computerele client în rețea
– oricând transmisia de date întâlnea un obstacol, sau una dintre adrese era de negăsit, se găsea o altă cale către adresa căutată.
Toate acestea au fost codificate într-un protocol care reglementa transmisia de date pe Internet. În forma sa finală, acesta era TCP/IP (Transmission Control Protocol / Internet protocol), care este și acum baza Internetului. TCP/IP face posibil ca modele diferite de calculatoare, de exemplu IBM compatibile sau Mac's, folosind sisteme diferite de operare, cum ar fi UNIX, Windows, MacOS etc. să se "înțeleagă" unele cu altele. În acest fel, Internetul era și este cu adevărat o platformă-independentă.
Internet-ul "civil" a început ca o rețea de patru computere între Universitățile din Utah, Santa Barbara și Los Angeles și Institutul de Cercetare din Stanford. În curând, cercetători din alte instituții de stat au devenit interesați. Deoarece folosirea computerelor era costisitoare, ei au văzut imediat avantajele folosirii în comun a unei rețele.
La sfârșitul anilor 60 și începutul anilor 70, când Internetul număra în jur de 50 de computere, s-au dezvoltat primele dintre servicii, folosite încă și azi pentru transferul informației:
– File Transfer Protocol pentru trimiterea și regăsirea fișierelor ;
– Telnet pentru accesarea și folosirea bazelor de date, a bibliotecilor și a cataloagelor din toată lumea;
– E-Mail pentru trimiterea mesajelor personale.
Internetul era în mod categoric în ascendență. Cu noi grupuri de utilizatori care se alăturau, în următoarea decadă, Internetul a crescut la o rețea de 200 de computere. Partea militară era organizată într-o rețea separată, Milnet.
În același timp, au apărut alte rețele, mai ales în sectorul academic. Importantă printre acestea era (și este) USENET sau Users' Network, care a început în 1979, când câteva UNIX-computere au fost conectate împreună.
USENET. În sute de grupuri de discuții despre orice subiect imaginabil, oamenii făceau schimb de noutăți și imagini, în ciuda distanțelor și a hotarelor. Alte rețele s-au dezvoltat de-a lungul USENETului. Toate formau baza unui spațiu de comunicație radical democratic. De exemplu, înaintea unei noi discuții pe care grupul o începea, comunității Netului i se cerea un vot de accept. Grupurile de discuții joacă încă un rol mare pe Internet. Există mii și zeci de mii în întreg Internetul. Altă moștenire a USENET este "Netiquette", sau regulile de comportament pe Internet.
10 ani după ce USENET își începuse dezvoltarea, Internetul a crescut la 80.000 de computere. A început să fie un factor de luat în considerare în politică. Și curând, expresia "Information SuperHighway" (autostrada informației) a devenit uzuală. În această metaforă, Internetul era văzut ca o importantă infrastructură pentru transportul unor bunuri vitale – informațiile.
În anii 80 și începutul anilor 90, când Internetul era folosit doar de un număr mic de cercetători, arată mult diferit față de prezent. Principalele aplicații erau atunci poșta electronică și grupurile de discuții (Newsgroups) plus diverse rutine de căutare și mecanisme de transfer al fișierelor. Aceasta era o lume UNIX, în care toate comunicațiile existau doar ca text sau numere, și liniile de comandă trebuiau memorate și tipărite.
Când poșta electronică, dar mai ales programele de căutare și de transfer al fișierelor au trebuit să facă față unor cerințe mai complexe, s-au dezvoltat noi navigatoare. Software-ul pentru fiecare trebuia să fie obținut și configurat separat. Folosirea fiecăruia trebuia să fie învățată.
Pe scurt: datorită metalimbajului foarte dificil, folosirea Internetului în acea perioadă era restrânsă la un mic grup de oameni din universități și institute de cercetare.
Marea schimbare a început în 1989, când Tim Berners Lee de la CERN (Centrul European pentru Fizica Nucleara) din Geneva a pus bazele în 1989 dezvoltării primului prototip al World Wide Web (WWW sau 3W). Ca de obicei în istoria Internetului, scopul inițial al WWW-ului era destul de limitat.
Era destinat să fie o platformă internă de comunicații pentru cercetătorii din întreaga lume care lucrau pentru CERN. Sarcina principală era să asigure un sistem care să facă legătura între varietatea de platforme ale diverselor calculatoare.
Soluția de bază era ideea de a face legătura între documente via "hipertext". Hipertext înseamnă, a marca șirurile de text sau alte obiecte și de a le lega cu alte obiecte, care ar putea fi din punct de vedere fizic la maredistanță de obiectul original. Când legătura este selectată, cineva poate "sări" la documentul legat. În acest fel este posibil de a lega un număr nelimitat de documente între ele într-o structură web ne-ierarhică. Pentru a putea deosebi aceste documente și pentru a le regăsi, fiecare are o adresă unică. Aceasta este Unique Resource Locator (URL). URL-urile constau într-un protocol de transmitere (în cazul WWW-ului acesta este Hypertext Transfer Protocol – http), urmat de www (în cele mai multe cazuri) și de domeniu (de exemplu numele serverului și numele paginii).
Prima versiune a programelor pentru a naviga pe www, așa numitele "browsere" urmau încă tradiția originală a Internetului – erau numai text. De aceea, sistemul a rămas, în principiu, neprietenos cu utilizatorii. În septembrie 1992 nu existau mai mult de 20 de servere web în întreaga lume.
Schimbarea radicală s-a produs când NCSA (National Center for Supercomputing Applications) din SUA a scos "Mosaic" – Browser în 1993, care era bazat pe o interfață grafică (Windows). Enorma creștere a web-ului a început virtual, dintr-o dată: În iunie 1993, 130 servere Web erau înregistrate, în 1994 erau deja 11.576 servere.
Prin intermediul rețelelor de socializare, oamenii au identificat un nou si totodatǎ inovator mod de a comunica. Începând cu anul 2004 odată cu apariția rețelei de socializare Facebook numărul conturile înregistrate a crescut constant, ajungând a fi o rețea mondialǎ cu aprope 1 bilion. Pe de altǎ parte, tehnologia mobilǎ a oferit posibilitatea unui acces mai usor la internet, astfel crescând numǎrul utilizatorilor de pretutindeni.
În Tabelul 1 este ilustrat numǎrul de utilizatori ai internetului (milioane) și evoluția ponderii din punct de vedere al utilizǎrii internetului de cǎtre populație pe plan mondial.
Tabelul 1: Numǎrul de utilizatori ai internetului (milioane) și ponderea populației care utilizeazǎ internetul la nivel mondial
Sursǎ: Date preluate din: http://www.internetworldstats.com/emarketing.htm
Observǎm cǎ aceastǎ pondere a crescut constant si direct proporțional cu evoluția tehnologiei. Printr-o comparație a ultimilor 10 ani, in 2005, ponderea populației care utiliza internetul la nivel mondial era de 15,7%, în 2015, aceastǎ pondere a crescut de 3 ori, ajungând la valoarea de 46,4%.
Ponderea populației care utilizeazǎ internetul la nivel mondial a devenit aproape de 3 ori mai mare în ultimii 10 ani. Astfel, numǎrul de utilizatori ai internetului a crescut de la 1.018 milioane (2005) la 3.366 milioane (2015), ajungandu-se la o creștere de 300 % în 10 ani.
În România, internetul și-a facut simțitǎ prezența acum 15 ani, la începutul anului 2000.
ITU (International Telecommunication Union) este o agenție specializată a ONU pentru ICT-uri (Information and Communication Technologies), aceasta fiind și una dintre sursele sigure ale site-ulul Internet World Stats. Una dintre atribuțiile acestei agenții este sǎ elaboreaze rapoarte si statistici cu privire la ponderea populației care utilizeazǎ internetul a tuturor țǎrilor pe plan mondial.
Sursǎ: Date preluate din: http://www.insse.ro/cms/files/statistici/comunicate/com_anuale/tic/a15/tic_r2015.pdf
CAPITOLUL II INSTRUMENTE INFORMATICE UTILIZATE
2.1 Structura documentului HTML
Fiecare document HTML trebuie să înceapă cu tag-ul de marcare <HTML> și să se termine cu tag-ul </HTML>. Tag-ul de început <HTML> indică browser-ului că documentul este un document HTML, marcând totodată începutul documentului. Tag-ul de sfârșit </HTML> marchează sfârșitul documentului și este întotdeauna ultimul element dintr-un document HTML.
Fiecare document HTML trebuie, de asemenea, să aibă un antet și un corp. Antetul urmează imediat tag-ului <HTML>, fiind folosit pentru a specifica aspecte cheie ale documentului, cum ar fi, de exemplu, titlul. Începutul antetului este specificat de tag-ul de început <HEAD>, sfârșitul său fiind marcat prin </HEAD>.
Antetului îi urmează principala secțiune a documentului, numită corpul documentului. Corpul documentului conține textul și obiectele ce vor fi afișate de către browser. Asemenea antetului, corpul este delimitat de tag-urile de început și sfârșit, respectiv <BODY> și </BODY>
Deși majoritatea browser-elor pot lucra cu documente HTML cărora le lipsesc secțiunile HEAD și BODY, este de preferat includerea acestora în fiecare document HTML.
Folosind cele trei tag-uri de marcare amintite, structura unui document HTML se prezintă astfel:
<HTML>
<HEAD>
. . .
</HEAD>
<BODY>
. . .
</BODY>
</HTML>
Structura tag-urilor HTML
Formatarea unui document HTML depinde de coduri de marcare, denumite tag-uri. Tag-urile definesc structura documentului și sunt alcătuite din numele unui element cuprins între caracterele „<” și „>”. <H1>, de exemplu, indică începutul unui antet de nivelul 1. Deoarece HTML nu este „case sensitive”, <h1> și <H1> indică același lucru.
Majoritatea tag-urilor sunt folosite pereche. Un tag, numit de început, indică browser-ului începutul unui document. Un alt tag, de sfârșit, indică browser-ului finalul elementului. Singura diferență între tag-ul de început și cel de sfârșit este acela că cel de sfârșit conține caracterul „/” înainte de numele elementului. De exemplu, marcajul antetului de nivel 1 este indicat de <H1>, iar sfârșitul său este indicat de </H1>.
PHP și MySQL
PHP – MySQL constituie una dintre cele mai bune soluții pentru site-urile web ce folosesc baze de date. Un raport neoficial arată că, în perioada iunie 1998 – martie 1999, numărul calculatoarelor gazdă ce foloseau PHP a crescut de la 7500 la 410000.
MySQL este un server de baze de date, mic, compact, ideal pentru aplicațiile mici și nu numai. Ca o completare a suportului standard SQL, MySQL este compatibil cu un număr mare de platforme, deținând abilități multifir pentru server UNIX, rezultând astfel performanțe ridicate. MySQL poate rula și pe sisteme non-Unix, pe sistemele de tip Windows NT rulând ca un serviciu, în timp ce pe cele Windows 9x rulează ca un proces normal.
PHP este un limbaj de script pe partea de server. Asemeni script-urilor ASP, script-urile PHP sunt procesate de către un server web. După ce serverul interpretează codul PHP, returnează rezultatul către browser sub formă de cod HTML.
Ca o completare a caracterului liber (deși MySQL are totuși unele restricții privind licența), combinația PHP – MySQL este de asemenea independentă de sistem, ceea ce înseamnă că aplicații dezvoltate pentru sisteme Windows vor rula la fel de bine pe sisteme Unix. De asemenea, PHP poate fi rulat ca un proces CGI extern, ca un interpretor independent de script-uri sau ca un modul al serverului web Apache.
PHP suportă, de asemenea, un număr mare de tipuri de baze de date, inclusiv Informix, Oracle, Sybase, Solid, și PostgreSQL – cât și ODBC.
PHP suportă o mulțime de facilități, în concordanță cu dezvoltarea tehnologică a Internet-ului. Acestea includ mecanisme de autentificare, XML, crearea dinamică de imagini, suportul pentru partajarea memoriei, crearea dinamică de documente PDF fiind doar câteva dintre acestea. Trebuie menționat de asemenea că la PHP pot fi ușor adăugate module suplimentare, oricine putând realiza și adăuga propriile sale soluții
2.2 Caracteristici generale ale limbajului SQL
Limbajul SQL (Structured Query Language) a fost implementat în produse comerciale începând cu anii 70 când s-a lansat prima versiune Oracle și SQL/DS de la IBM.
SQL esta un limbaj declarativ; utilizatorul descrie informațiile pe care vrea să le obțină în urma interogării, fără a preciza algoritmii necesari pentru obținerea rezultatelor dorite. În același timp, SQL nu este un limbaj de programare sau de sistem, ci mai curând face parte din categoria limbajelor de aplicație pentru baze de date relaționale. Faptul că este un limbaj standard a condus la recunoașterea principalelor sale instrucțiuni de către mai multe sisteme de gestiune a bazelor de date (S.G.B.D. Oracle, Acces, Dbase, INFORMIX, DB2.).
Limbajul SQL permite o comunicare complexă și rapidă a utilizatorului cu bazele de date, în funcție de cerințele și restricțiile acestuia. Pe lângă manipularea și regăsirea datelor, se efectuează și operații complexe privind actualizarea și administrarea bazei de date.
În funcție de rolul lor în manipularea datelor și tranzacțiilor, instrucțiunile SQL, pot fi grupate astfel:
instrucțiuni de definire a datelor care permit descrierea structurii bazei de date;
instrucțiuni de manipulare a datelor în sensul adăugării, modificării și ștergerii înregistrărilor;
instrucțiuni de selecție a datelor care permit consultarea bazei de date;
instrucțiuni de procesare a datelor care permit consultarea bazei de date;
instrucțiuni de procesare a tranzacțiilor care privesc unitățile logice de prelucrare și constitue în fapt, operații multiple de manipulare a datelor;
instrucțiuni de control al cursorului;
instrucțiuni privind controlul accesului la date.
2.3. Limbaj de definire a datelor: SQL-LDD
2.3.1. Gestiunea schemei bazei de date
Schema unei baze de date descrie tabelele și atributele aferente lor, domeniile în care aceste atribute iau valori, restricțiile de integritate, drepturile de utilizare a relațiilor, view-urile și detaliile relative la implementarea fizică a datelor. Limbajul de definire a datelor LDD (Language Data Definition), parte componentă a limbajului SQL, include instrucțiuni care permit realizarea acțiunilor specifice descrierii schemei bazei de date.
Comanda de creare a unei baze de date este:
CREATE DATABASE <nume baza de date>;
Crearea tabelelor
Definirea unei tabele se face cu ajutorul instrucțiunii CREATE TABLE, a cărei sintaxă generală este:
CREATE TABLE nume_tabela (nume-atribut tip_data(marime) [NOT NULL] [,nume-atribut2 tip_data(marime) [NOT NULL]..][CONSTRAINT nume-atribut CHECK (nume-atribut <conditie>…)] [CONSTRAINT nume_index] {PRIMARY KEY|UNIQUE|NOT NULL}]);
Comanda precizează numele tabelei care se creează precum și descrierile atributelor. Este necesar ca fiecărui atribut să-i fie specificate numele, tipul și dimensiunea. Opțiunea NOT NULL, corespunzătoare unui atribut, asigură integritatea relației specificându-se astfel necesitatea introducerii unei valori. Se precizează atributul cu rol de cheie primară pentru care clauza NOT NULL este obligatorie.
SGBDR verifică integritatea datelor prin declararea restricțiilor pe domenii sau programarea de funcții sau proceduri. Se asigură astfel coerența datelor în procesul actualizării prin comenzi INSERT, UPDATE, DELETE.
Modificarea structurii unei tabele
Comanda ALTER TABLE permite modificarea structurii unei tabele prin adăugarea/ștergerea de atribute și prezintă următoarea sintaxă:
alter TABLE nume_tabel {ADD COLUMN nume-atribut1
tip_data [(marime)] [NOT NULL] [CONSTRAINT INDEX] | DROP COLUMN
nume_atribut2 CONSTRAINT indexname}
Ștergerea relațiilor dintr-o bază de date
Ștergerea unei tabele se realizează cu ajutorul comenzii DROP TABLE, odată cu aceasta ștergându-se și indecșii, view-urile definite pentru respectiva tabelă, neexistând nici o posibilitate de recuperare a informației șterse.
Sintaxa comenzii:
DROP TABLE nume_tabel;
Ștergerea unei baze de date
Ștergerea unei baze de date determină ștergerea tuturor obiectelor conținute de aceasta, a copiei cataloagelor SQL din directorul bazei de date.
Sintaxa generală a comenzii este:
DROP DATABASE <nume baza de date>;
Numeroase versiuni SQL nu includ această instrucțiune, ștergerea făcându-se mai ușor printr-o simplă apăsare pe butonul mouse-lui. În utilizarea acestei comenzi este necesar a se preciza că:
într-o rețea de calculatoare nu va putea fi ștearsă o bază de date activată de către un alt utilizator;
comanda de ștergere nu poate acționa asupra unei baze de date active.
2.4. Limbajul de manipulare a bazei de date (SQL-LMD)
2.4.1. Construirea blocului de cerere
O cerință a utilizatorului de selectare a datelor din baza de date relațională se exprimă prin ceea ce numim un bloc de cerere.
Sintaxa generală este:
SELECT [ALL/DISTINCT/DISTINCTROW] listă atribute
FROM listă-tabele
[WHERE criteriu-de- căutare]
[GROUP BY criteriu-degrupare]
[HAVING criteriu-de-grupare]
[ORDER BY criteriu-de-ordonare [ASC|DESC] ];
Unde:
lista-atribute – specifică atributele a căror valori vor fi returnate;
FROM listă-tabele – specifică tabelele din care se vor extrage datele;
WHERE – permite prin precizarea unei expresii exprimarea criteriului de selecție;
ORDER BY – precitează atributul după care se face ordonarea;
GROUP BY – folosit pentru a partiționa o tabelă în grupuri acordând acestora valori pe un atribut sau listă de atribute;
HAVING – specifică criterii de selecție pe grupuri de tupluri.
2.4.2. Instrucțiuni pentru actualizarea bazei de date
Pentru inserarea unui tuplu într-o tabelă se utilizează comanda INSERT .
Sintaxa generală este:
INSERT INTO nume-tabelă [(nume-atribut, . . .)]
{VALUES(valoare, . . .) | cerere}
Lista de atribute se specifică în cazul în care realizările din clauza VALUES nu corespund ordinii tuplurilor din tabelă. Dacă tuplul/tuplurile inserate sunt preluate dintr-o altă tabelă se va specifica comanda Select.
Actualizarea datelor dintr-o tabelă se realizează prin comanda UPDATE.
Sintaxa generală este:
UPDATE nume-tabelă
SET {nume-atribut=expresie, . . . | (nume-atribut=subcerere), . . .}
[WHERE condiție];
2.5. Limbajul PHP
Limbajul PHP este un limbaj de tip script, procedural, oferind și suport pentru programarea orientată-obiect. Programele PHP (stocate în mod uzual de fișiere cu extensia .php) vor fi accesibile direct din cadrul paginilor Web. Sintaxa limbajului este inspirată din cea a limbajelor C/C++ și Perl.
Puterea limbajului constă în setul cuprinzător de funcții puse la dispoziție în special pentru manipularea bazelor de date într-un dialect SQL sau pentru procesarea conținutului unei largi palete de tipuri de fișiere (de exemplu, diferite tipuri de arhive, documente PDF, fișiere grafice, documente XML, etc). Aceste funcții pot fi grupate pe mai multe categorii (o serie fiind similară funcțiilor din bibliotecile standard ale limbajului C), dintre care se pot menționa: matematice, de conversie de tipuri, de manipulare a șirurilor de caractere, de prelucrare a tablourilor, de acces la resursele sistemului de operare și de lucru cu fișiere, de manipulare a bazelor de date, privitoare la conexiunile Internet (exemplu HTTP, FTP, IMAP, etc.), pentru accesarea fișierelor având tipuri speciale: PDF, XML, gzip, etc., specifice sistemului de operare, generale.
Scripturile PHP pot fi incluse în paginile Web în diferite moduri, uzual folosindu-se construcția <?php . . .
Tipurile de date suportate sunt cele mai simple (scalare): logic (boolean), întreg (integer), flotant (float, double, real) și șir de caractere (string). Tipurile compuse sunt reprezentate din tipul tabloul (array) – indexat și asociativ – din tipul obiect (object). Mai sunt disponibile și două tipuri speciale: tipul resursă (resource) și nul (NULL).
Este de menționat faptul că șirurile de caractere se pot delimita între ghilimele sau apostrofuri. Între apostrofuri se inhibă evaluarea variabilelor din interiorul șirului respectiv.
Instrucțiunile sunt cele uzuale din alte limbaje de programare. Sunt disponibile instrucțiuni de asignare (de forma $variabilă = expresie), instrucțiuni de test (if și switch), instrucțiuni repetitive (while, do, for, foreach) și instrucțiuni de control (break, continue, return).
Un exemplu de afișare a sumei valorilor unui tablou unidimensional (vector), prin utilizarea variabilelor de tip întreg și tablou indexat, a instrucțiunilor for și foreach, a operatorilor relaționali, de asignare și de incrementare (funcția predefinită echo () afișează la intrarea standard – aici fereastra navigatorului – codul HTML generat):
<?php
// umplem un tablou cu valori de la 1 la 10
for ($contor = 1; $contor <= 10; $contor + +){
$valori [$contor] = $contor;
}
// realizam suma valorilor, utilizand foreach
suma = 0;
foreach ($valori as $element)
$suma += $element;
// afisam suma obtinuta la iesirea standard
// pentru a fi trimisa browserului – echo ()
echo (“<p>Suma de la 1 la 10 este: <b>”
. $suma . “</b></p>”) ?>
Funcțiile pot fi predefinite sau definite de utilizator. Cele definite de utilizator se specifică printr-o construcție de genul:
function nume ($arg_1, $arg_2, . . . , $arg_n){
// instructiuni
return $valoare ; /* optional se returneaza o valoare */
}
Apelul unei funcții se realizează prin numele său, furnizând eventual și valorile pentru argumentele sale: nume (expr_1, expr_2, . . . , expr_n). Pentru un argument se poate furniza o valoare implicită, ca în C++.
În următorul exemplu defininim funcția pătrat() care calculează pătratul unui număr întreg. Vom folosi această funcție pentru afișarea în fereastra navigatorului a pătratelor primilor 5 întregi naturali pari:
<body text=”white” bgcolor=”black”>
<?php
//functia de ridicare la patrat
function patrat ($numar){
return $numar * $numar;
}
$numar = 0;
while ($numar < 10){
$numar++;
// incrementam numarul
if ($numar %2)
//e numar tipar . . .
continue;
// continuam cu urmatoarea iteratie
// e numar par, deci afisam patratul
echo “<p>$numar la patrat este “ . patrat ($numar) . “</p>”;
}?>
</body>
Limbajul PHP, mai ales de la vesiunea PHP4, oferă implementare unora dintre cele mai importante aspecte ale progaramării obiectuale: încapsularea datelor, moștenirea și polimorfismul. Suportul pentru programarea orientată-obiect se realizează prin intermediul claselor.
2.6 Java Script
Limbajul Java Script este o unealtă foarte folositoare, atunci când posibilitățile pe care ni le pune la dispoziție HTML devin limitate. Practic, orice element dintr-o pagină web poate fi îmbunătățit cu ajutorul unor scripturi speciale, îndeosebi formularele.
Java Script este cel mai cunoscut și, urmare firească, cel mai folosit limbaj pentru crearea de script-uri pe web. Este vorba despre un limbaj obiectual și, foarte important, multi-platformă (ideea 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 Java Script 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). In rest, Java este un limbaj mult mai complex. Diferențe există inclusiv în legătura cu rularea codului. 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 în a impune Java) a determinat rebotezarea.
Meritul principal al Java Script 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. Așadar, Java Script pare să aibă cu adevărat sens, dacă raportăm mini-programale create la paginile web.
Intr-adevăr, Java Script este "case sensitive", adică se face discriminarea între literele mari si cele mici întâlnite în numele identificatorilor (nume de variabile, funcții, obiecte etc.). De aceea, este foarte important sa fiți atenți la acest aspect. Depanarea script-urilor poate fi o adevărată corvoadă dintr-o simplă înlocuire a literei 'A' cu 'a' în cazul unei funcții cum ar fi 'Adaugă' (care nu e nicidecum 'adaugă').
Java Script e un limbaj slab-tipizat în comparație cu Pascal, C++ sau Java. Astfel tipul unei variabile nu este determinat in 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 sa 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).
Raportat la variabile, exista așa-numita facilitate de "type-casting" (riscând o traducere, echivalentul ar fi "convertire automata a tipului"). În acest caz, în funcție de context, tipul variabilelor se modifică automat. În Java Script casting-ul este parțial. Astfel o variabilă numerică se convertește automat la string (cum e cazul in titlul paragrafului), însă reciproca 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. Explicație (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'.
Există o valoare specială în Java Script și anume null. Adică, după cum îi spune și numele, nimic. Există diverse situații când se întâlnește cum ar fi folosirea de variabile nedefinite, dar și unele rezultate de funcții. Null nu este același lucru cu șirul vid (''), de pildă. De aceea, uneori trebuie să testate cu grijă anumite rezultate etc.
Trebuie spus că string-urile sunt în Java Script obiecte. Aceasta are relevanță, mai ales, în cazul manipulării (când 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().
Java Script permite folosirea expresiilor condiționale (existente, de altfel, si in 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 atunci expresia se evaluează true si variabila noastră va lua valoarea 1, altfel 0. Aceasta este o metodă extrem de simplă de a identifica un browser. Pentru Internet Explorer: isIE = (document.all) ? 1 : 0. Cuvântul cheie this se poate dovedi extrem de util, căci întotdeauna se referă la obiectul curent.
Dată fiind caracteristica multi-platformă a Java Script este important să 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 argument este convertit la codificarea standard ISO Latin-1 și invers. Este necesară mai ales în cazul cookie-urilor pentru a converti caractere depinzând de setul de caractere (dependent, la rândul sau, de platformă).
Macrosubstitutia este o facilitate puternică a unor limbaje de programare (din fericire, întâlnită și la Java Script). Poate că în acest caz este vorba de o mini-implementare a unei asemenea facilităț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 Java Script: 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. In acest caz eval() ne ajută în scrierea unui cod elegant.
Toate variabilele si 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 unui frame ce nu își reîncarcă conținutul.
Java Script nu este același lucru cu Java. Java este un limbaj de programare dezvoltat de Sun Microsystems, iar applet-urile Java reprezintă mici aplicații (animații, jocuri) care rulează într-o pagină web. În schimb, Java Script este un limbaj de scriptare cu ajutorul căruia se pot încorpora scripturi direct în paginile web. Java Script are unele elemente de sintaxă similare celor din Java, însă nu poate fi considerat ca fiind derivat din acest limbaj. Java Script a fost dezvoltat de Netscape în colaborare cu Sun Microsystems, de aici și denumirile asemănătoare. Așadar, "Java" nu este o prescurtare pentru "Java Script", deși mulți fac această confuzie.
Principalele browsere (Internet Explorer,Google Chrome,Mozilla Firefox, Opera) suportă fără probleme acest limbaj de scripting, însă există unele diferențe în modul în care sunt interpretate anumite funcții, chiar și de la o versiune la alta. Așadar, nu orice script care funcționează bine pe Internet Explorer va funcționa pe Opera și invers. Aceste diferente dau încă multă bătaie de cap programatorilor web și chiar si utilizatorilor, deoarece, spre deosebire de limbajul HTML unde erorile sunt ignorate, în cazul Java Script vom fi întotdeauna avertizați de browser dacă pe pagină ceva nu este în regulă. Anumite funcții pot conduce chiar și la blocarea browserului.
Java Script ne dă posibilitatea controlării riguroase direct din pagina web a cantității și tipului de informații introduse de utilizator. Bineînțeles că nu vom fi însă în măsură să verificăm veridicitatea acestora cu ajutorul Java Script. Cu alte cuvinte, putem să-l obligăm pe cel care completează un formular să introducă – de exemplu – numai un anumit număr de caractere acolo unde îi este cerută o dată, sa introducă o adresă de e-mail validă din punct de vedere al formei (nume@adresa. extensie) sau să completeze neapărat anumite câmpuri din formular.
CAPITOLUL III OPTIMIZARE SITE | PROMOVARE SITE
3.1 Optimizarea web
Optimizarea web (Search Engine Optimization sau simplu SEO) este procesul prin care un site web este “aranjat” pentru a fi indexat cît mai bine de motoarele de căutare. Scopul oricărei optimizări web este cel puțin de a aduce site-ul pe prima pagină în motorul de căutare Google.
În cazul aplicațiilor Web făcute in Java există deja cîteva exemple de pluginabilitate. Unul din ele ar fi Jira și in general produdsele de la Atlassian care se bucură de așa ceva ( a se vedea aici informatii despre sistemul lor de plugin-uri:
http://confluence.atlassian.com/display/DEVNET/How+to+Build+an+Atlassian+Plugin). Aplicațiile din portofoliul companiei Atlassian de exemplu permit crearea de plugin-uri de către terțe persoane prin care se imbogățesc functionalitatile aplicațiilor de bază.
În Java soluția clasică pentru pluginabilitate este OSGi (www.osgi.org) care reprezintă standardul incontestabil pe acest domeniu. OSGi permite crearea de bundle-uri (care sunt de fapt jar-uri cu un manifest bine definit) care reprezintă plugin-urile care se pot instala în mod dinamic. În mod dinamic in runtime se rezolvă dependențele bundle-ului de alte bundle-uri și de asemenea poate înregistra dinamic servicii intr-un registru de servicii.
Întreg procesul de optimizare site se referă la trei faze inițiale, pe care orice operator al unei pagini web trebuie să le ia în calcul atunci când vrea ca siteul să fie vizitat.
· Optimizarea de cod
· Optimizarea conținutului de pagină
· Înscrierea lui în directoarele web
Procesul de optimizare site începe cu realizarea unei comunicări excelente a proprietarului de site cu toți colaboratorii săi. Comunicarea constituie primul element extrem de important în a avea un site optimizat si care să fie căutat de vizitatori si accesat de nenumărate ori pe zi. Doar o bună colaborare între părți poate facilita ca procesul de optimizare site să se realizeze la parametrii optimi. Echipa trebuie să fie pe aceeași lungime de undă pentru ca siteul să transmită ceva concret și coerent și să fie de un real ajutor pentru vizitator.
Servicii SEO profesionale de optimizare site și promovare web in vederea obținerii pozitiilor de TOP în cadrul ierarhiilor motoarelor de căutare.
Nu mai puțin important pentru procesul de optimizare site este serviciul SEO este acronimul pentru "search engine optimization". Acest serviciu se referă la afișarea siteului în motorul de căutare la diferite poziții denumite și "ranking". Obținerea unei anumite poziții sau "ranking" este posibilă prin folosirea cuvintelor cheie (un element important în procesul de optimizare site), insă nici o companie nu poate să garanteze unui proprietar de site faptul că siteul său va apărea pe prima poziție în orice motor de căutare.
Procesul de optimizare site se poate face în mai multe feluri dar doar calea legală poate aduce poziție în top 10 în motoarele de căutare pe o perioada îndelungată de timp. În afară de asta, încercarea de folosire și resprectiv folosirea de metode neregulamentare pentru a obține o poziție de top 10 pentru un site poate avea repercursiuni destul de grave pentru ambele spărți sau putem spune pentru toate părțile implicate în proces. Un specialist în SEO trebuie consultat de fiecare dată cînd se urmărește procesul de optimizare site, pentru a obține rezultatele cele mai bune.
Un motor de căutare este un apelabil program căutător, care accesează Internetul în mod automat și frecvent și care stochează titlul, cuvinte cheie și, parțial, chiar conținutul paginilor web într-o bază de date. În momentul în care un utilizator apelează la un motor de căutare pentru a găsi o informație, o anumită frază sau un cuvânt, motorul de căutare se va uita în această bază de date și, în funcție de anumite criterii de prioritate, va crea și afișa o listă de rezultate (engleză: hit list ).
Problema nu este de loc trivială, deoarece:
există deja peste 100 milioane de situri web, sumând în total miliarde de pagini web, distribuite pe tot globul
conținutul acestori pagini nu este static, ci chiar extrem de dinamic (se schimbă frecvent)
răspunsul la o comandă de căutare trebuie să vină repede, în general în mai puțin de o jumătate de secundă, chiar atunci când lista de rezultate conține, să zicem, zeci de mii de pagini web potrivite la criteriile de căutare folosite.
Cea mai bună soluție pentru a avea un site cât mai vizualizat, adică cu un trafic cât mai mare, este să reusesti un cât mai bun proces de optimizare site.
Procedurile de optimizare site reprezintă deja o profesie în toată regula în multe țări occidentale și există firme specializate care oferă asemenea servicii optimizare site, cunoscute ca SEO (termenul provine din engleză: Search Engine Optimization, adică optimizare site sau optimizare a paginilor pentru motoarele de căutare). Traficul unui site este în cea mai mare parte realizat de motoarele de căutare, dintre care cel mai utilizat este Google, de aceea e important ca procesul de optimizare site să fie orientat către acest motor de căutare. Ideal ar fi ca site-ul tău să apară printre primele 10-20 la o căutare pe Google, pentru domeniul tău de activitate. Acesta ar fi indiciul cel mai bun că tehnicile tale de optimizare site au dat roade.
Pentru optimizare site:
1. Trebuie folosite în articole cuvinte-cheie și fraze-cheie: acestea sunt cuvinte și respectiv grupări de cel puțin două cuvinte care reflectă cel mai bine domeniul de activitate descris de site- și e recomandat să fie repetate de minim trei și maxim șapte ori într-un articol. Acesta este, dealtfel, cel mai important aspect pentru o cât mai bună optimizare site;
2. E preferabil să fie folosite mai degrabă fraze-cheie decât cuvinte-cheie(targhetarea corectă și eficientă a procesului de optimizare site se face prin fraze cheie) ;
3. Titlul articolului trebuie să conțină cea mai importantă frază-cheie, scrisă chiar la început, și nu mai mult de 5-6 cuvinte în total.
4. Pentru o și mai eficientă metodă de optimizare site trebuie populat site-ul cu multe articole, nu mai lungi de 300-400 cuvinte, și cu multe imagini.
5. Site-ul trebuie să aibă un design cât mai atrăgător.
Mai sunt încă multe metode de optimizare site care pot fi puse în practică, dar recomandat este sa apelezi la serviciile unui profesionist astfel încât să reusesti un perfect proces de optimizare site ..
3.2 Optimizare web pentru firme mici si mijlocii
Deși o pagină de web acceptabilă este ușor de realizat cu un minimum de cunoștințe de web design, optimizarea acestei pagini web pentru motoarele de căutare cum ar fi Google sau Yahoo, este o provocare mult mai mare din punct de vedere tehnic și al strategiei de promovare online. Dacă se adaugă și nevoia de a optimiza experiența vizitatorului pe site și importanța promovării pe internet, descoperim că optimizarea unei pagini web devine o problemă extrem de complexă care necesită domenii diferite de expertiză in optimizarea web. Cei care se ocupă de publicitate si optimizarea web rareori se regăsesc în cadrul aceluiași proiect. Astfel realizarea unui echilibru între optimizarea paginilor web pentru motoarele principale de căutare (SEO), optimizarea pentru vizitatorul uman și optimizarea efortului de publicitate online devine nu numai dificilă dar și foarte costisitoare (chiar si 100 USD/lună pentru fieacre cuvînt sau frază cheie). Importantă devine întrebarea pentru cine optimizez, pentru motoarele de căutare (robot) sau pentru om? Chiar dacă avem un site excelent optimizat pentru utilizatorul uman dar care nu poate fi găsit în primele trei pagini de rezultatele ale motorului de căutare folosit pentru fraza cheie căutată practic are șanse mici de a fi găsit pe Internet. Pe de altă parte, un site optimizat web exclusiv pentru Google, Yahoo sau Bing poate aduce trafic de pe motoarele de căutare dar vizitatorii s-ar putea să nu poată folosi ușor acest site și să îl evite sau să îl marcheze ca spam.
Pentru Motoare de Căutare Google, Yahoo (SEO)
Definitia cuvîntului Optimizare din DEX demonstrează cît de repede evoluează lucrurile pe Internet.
În lipsa unei definiții exacte, termenul de Optimizare Web sau Optimizare pentru Motoarele de Căutare (SEO) a ajuns să însemne lucruri diferite in funcție de interesele celor care promovează servicii de optimizare site si pagini web. În ceea ce ne privește, definim optimizarea paginilor de web ca fiind procesul care permite găsirea valorilor unuia sau mai multor parametri corespunzînd unei pagini web în așa fel încît aceasta pagina să obțină un scor maxim pentru un anumit cuvînt sau frază cheie in clasamentul unui anumit motor de căutare: astfel, OPTIMIZARE (optimizări) este:
"1. Alegerea și aplicarea soluției (economice) optime (dintre mai multe posibile).
2. (Mat.) Raționament sau calcul care permite găsirea valorilor unuia sau mai multor parametri corespunzînd maximului unei functii. – Cf. fr. optimiser, optimisation).
Optimizare paginilor de web presupune prin urmare definirea clară a două ținte:
1. Cuvîntul sau fraza cheie după care dorim să fie găsită pagina la o căutare online și:
2. Motorul de căutare pentru care dorim să facem optimizarea site-ului sau paginii de web. Procesul de optimizare a paginii de web pentru motoarele de căutare (SEO) este diferit tehnic de procesul de design al paginii de web sau site-ului dar strîns legat de acesta. Astfel web designul, sau proiectarea site-ului web, urmărește optimizarea comunicării cu utilizatorul uman, inclusiv din punct de vedere emoțional, in vreme de SEO urmărește optimizarea comunicării cu robotul motorului de căutare cum ar fi Google, Yahoo sau Bing. Aceste două nevoi pot veni in conflict dacă nu sînt luate in considerație incă de la faza de proiect a site-ului de web. Sunt situații în care putem avea cereri pentru optimizarea unor site-uri construite integral in Flash, sau în care textul este publicat sub forma unor imagini, la care soluția oferită ar presupune fie costuri masive de promovare online fie refacerea design-ului site-ului.
Avînd în vedere că optimizarea web extrem de complexă din punct de vedere tehnic sint relativ puțin specialiști în optimizarea paginilor de web in România și cei mai mulți lucrează pentru companii străine sau pe cont propriu. Serviciile de optimizare pentru motoarele de căutare profesionale sînt astfel nu numai dificil de găsit dar și extrem de costisitoare.
Spre exemplu ProSD.com percepe un onorariu de minim $500 doar pentru generarea unui raport de optimizare a site-ului web.
Efortul de găsi o soluție ieftină de optimizare online, dar care în același timp să fie și eficientă in marile motoare de căutare a rezultat în dezvoltarea conceptului de infoPagina. infoPagina este o "info-pagina" (sau pagina informativa) care expune într-un mod optim pentru motoarele de căutare informația de pe pagina de web satisfacînd în același timp și relevanța pentru vizitatorul uman al paginii de web. infoPagina costă doar 100 RON realizarea și 10 Lei/luna (120 RON/an) găzduirea și întreținerea. Și are avantajul că este o solutie rapidă, eficientă și ieftină de a dirija trafic către site-ul tău principal. Un alt avantaj major o constituie faptul că info-pagina este găzduită pe un site extern și prin urmare nu necesită modificări în structura propriului site, iar dacă infopagina nu are randamentul urmărit se poate abandona la sfărșitului ciclului anual.
Realizare schimb de link-uri
Avantajele unui schimb de linkuri cu alte site-uri sunt:
crește traficul pe site-ul tău, practic numărul celor care iți citesc paginile
crește ranking-ul – foarte important pentru site în motoarele de căutare
Factorii care influențează un link extern:
Anchor Text of Link – Cuvintele folosite în tagul <a href=”link”>anchor</a> care constituie linkul către site
Popularitatea sitului în comunitatea locală – Popularitatea în comunitatea locală pe subiectul respectiv a sitului unde se află linkul
Popularitatea globală a sitului – Popularitatea globală a sitului unde este plasat linkul afectează poziționarea sitului ce se urmărește a fi optimizat
Textul ce înconjoară linkul – Linkurile încadrate într-un context din acel domeniu sunt mult mai importante decât linkurile fară text
O sursă importantă unde puteți găsi site-uri din același domeniu ca și tine este trafic.ro, care monitorizează în prezent aproximativ 46 000 de site-uri românești ordonate pe categorii și în funcție de importanța lor. Să presupunem că ai găsit 5 siteuri din același domeniu ca și tine. Trebuie să le faci la fiecare o propunere de schimb de linkuri.
Iată cateva indicii ca șansele tale de succes să crească:
Nu cere schimb de link-uri de la site-urile care nu au conținut cât de cât asemanător cu al tău.
Contactează fiecare posesor de site în parte pe e-mail
Adresează-te direct proprietarului sau webmasterului (informațiile de care ai nevoie – nume/e-mail le vei găsi pe pagina de contact sau la datele de înregistrare de la domeniul internet)
Întâi pune tu un link la tine in pagina special creată pentru link-uri sau în blogroll către siteul căruia vrei sa te adresezi. O scurtă descriere a siteului este binevenită
Fii cât mai succint și la obiect în e-mailul pe care îl vei trimite
Exemplu de email de contactare pentru schimb de linkuri:
Campania de schimb de link-uri, presupune realizarea unui număr cât mai mare, dar și cât mai calitativ, de linkuri de întoarcere către site-ul propriu. În același timp, din punctul de vedere al optimizării web, link-urile sunt cea mai bună unealtă în vederea optimizării unei pagini, sau a unui site. Textul cuprins în ancora link-urilor ajută pentru poziționarea în cadrul rezultatelor motoarelor de căutare (în special Google). În această campanie constă succesul unei poziționări cât mai bune în Google.
Optimizarea textului și elementelor vizibile
Reactia mai buna a oamenilor la discutii personale si degajate.
Folosirea paragrafelor. Scrierea cu un spatiu orizontal al randurilor.
O pagină trebuie să fie optimizată !
Densitatea cuvintelor cheie:
Cel mai important element pentru o optimizare este cuvantul sau fraza cheie, in special densitatea lor. Se recomanda o densitate intre 6% si 12%.
Poziționarea cuvântului cheie:
La fel ca si densitatea cuvintelor cheie sau frazele cheie, il reprezinta si poziționarea acestora. Ar fi de mentionat faptul ca ar trebui sa existe o egalitate a frazelor cheie in pagina.
Elementele de mark-up (tag-uri):
Pe lînga poziționare, elementele de mark-up pot face o diferență mare in poziția pe care o ai în motoarele de căutare. Folosirea heading-urilor, bold, italic și alt-tag-uri este recomandată și importantă.
Heading-urile
Trebuiesc distribuite pe fiecare pagină optimizată. Nu trebuie folosit tag-ul H1 decât o singură dată, pe când H2 si H3 pot fi folosite mult mai liber (cînd apar 5 heading-uri într-un text de 500 de cuvinte, s-ar putea ca textul sa nu fie prea bine vazut nici de catre vizitatori si nici de motoarele de căutare).
Tag-ul H1 trebuie sa contina tot timpul cuvântul sau fraza cheie.
Tag-urile bold si italic
Aceste tag-uri sunt importante si nu doar pentru optimizare. Dacă un client va ajunge pe pagina ta este preferabil ca el/ea să vadă cât mai curând cuvântul sau fraza (sau ceva legat de aceste).
În afară de cuvântul cheie, incercați să bold-uiți și alte cuvinte sau fraze importante pentru textul dorit.
Alttag-urile
Alttag-urile sunt folosite pentru imagini, oferandu-le motoarelor de căutare si clientilor cu deficiențe vizuale ce contin imaginile respective.
Optimizarea titlului
În multe tutoriale optimizarea titlului este pusă de obicei înaintea optimizării textului, dar mie mi se pare că este mai bine ca alegerea aceasta este mai bine facută după scrierea textului. Din experiența personală, dupa terminarea articolului titlul nu rămâne aproape niciodată același așa că mai bine este lăsat la sfîrșit.
În primul rînd este foarte important să nu uităm să punem un titlu! Căutarea “allintitle:untitled document” pe Google ne arată că sunt aproximativ 48 de milioane de pagini pe Internet care nu au un titlu descriptiv.
Aceasta este una dintre cele mai mari greșeli pe care le putem face, și nu doar din punctul de vedere al optimizării – o pagină fără titlu sau cu titlul de mai sus dau dovadă de neprofesionalism. De asemenea, ceea ce trebuie să ne dăm seama este că titlul paginii este unul dintre cele mai importante elemente pentru optimizare (pe langa link-urile dinspre celelalte site-uri si continutul paginii).
Este foarte important ca titlul să nu fie doar o adunătură de cuvinte cheie – asta este pur și simplu spam! Motivul pentru care scriem titlul dupa text este pentru ca acesta din urma este un ghid foarte bun. De asemenea, fiecare pagină ar trebui să aibă titlul diferit de celelalte pagini.
Să luam ca exemplu un magazin de jucării – pagina unui produs, de exemplu un ursulet de plus.
Câteva exemple negative:
“untitled document” – în afară de SPAM, aceasta e cea mai proastă alegere.
“Bine ați venit în magazin!” – drăguț, dar nu te ajută cu nimic. Acest titlu nu spune nimic despre pagina respectivă și conținutul ei.
“ursuleți,ursuleți de plus, jucării de plus,plus,jucării, jucării ieftine,ursuleți ieftini” – această variantă e chiar mai puțin inspirat[ decât cea de mai sus, pentru că este SPAM!
Acum că am văzut cum nu ar trebui să punem un titlu, să vedem și cum arată un titlu corect: “Ursuleți de plus ieftini la Jucariideplus.com”. După cum vezi, cuvintele cheie sunt toate în titlu, plus numele magazinului (permițând și asocierea cuvintelor sau frazelor cheie cu numele site-ului – adică branding).
În concluzie:
nu uitați să puneți titlul la pagini.
paginile ar trebui să aibă titlul propriu.
nu SPAM-ati; titlul va fi văzut de posibilii vizitatori, iar titlul și descrierea sunt singurele care îi vor convinge să vă viziteze pagina.
Head-ul și metatag-urile
Head-ul este partea de început a codului paginii web, parte în care se definesc titlul, descrierea și keyword-urile (dar nu numai). În afară de titlu, toate informațiile care sunt în header nu sunt vizibile vizitatorilor pe site-ul tău ci numai motoarelor de căutare (desigur, puteți vedea ce se află în header prin vizualizarea codului sursă a paginii).
Metatag-ul Description:
După cum spune și numele, acest metatag oferă o descriere pe scurt a paginii web. Această descriere este de multe ori cea pe care o vedeți în motoarele de cautare, sub titlul paginii – acesta este motivul pentru care descrierea ar trebui sa fie in primul rand convingătoare pentru un posibil vizitator (convingător nu înseamna că trebuie să minți cu privire la conținutul paginii).
Având în vedere că descrierea va apărea în motoarele de căutare, este bine să fie încadrate într-o limita de aproximativ 35 de cuvinte. Desigur, încearcă să integrezi și aici cuvintele cheie alese, încercând să menții o densitate destul de mare (dacă asta înseamnă că trebuie compusă o descriere mai scurtă nu este nici o problemă atâta timp cât aceasta este atrăgătoare pentru un posibil vizitator). De asemenea, în cazul unei descrieri mai mari, repetarea cuvântului cheie (sau a frazei cheie) o singură dată nu este o problemă.
Metatag-ul Keywords:
Majoritatea optimizatorilor spun că metatag-ul “keywords” este important, nu se merită a fi folosit, mai ales în cazul unor site-uri mai mari – efortul este câteodată prea mare. Totuși, în cazul unui site de mărime mică acest tag s-ar putea să ajuta un pic în rezultatele căutărilor.
În cazul în care se folosește acest metatag, este extrem de important să nu se repete cuvintele cheie. Se pot folosi 10, 15 sau chiar 20 de cuvinte cheie (sau fraze cheie) atâta timp cât acestea nu se repetă – chiar și versiuni diferite ale aceluiași cuvânt (de exemplu forme de singular și plural). Spamming-ul în acest metatag este cel mai răspândit, fiind de asemenea și cel mai des motiv pentru banarea site-urilor din motoarele de căutare.
In-site linking
“In-site links” sau “internal links”, sunt acele link-uri de pe site-ul tău care duc spre alte pagini din același site. Aceste link-uri sunt de obicei cele de care contează indexarea site-ului în totalitate (sau aproape de 100%) – dacă sunt indexate mai multe pagini îți cresc șansele să obții rezultate pentru mai multe fraze. De asemenea, link-urile pe care se obțin în mod natural (fără să fie “vânate”) vor fi împărțite între pagina principală și alte câteva pagini. Pe lângă beneficiile indexării și creșterii în rezultatele motoarelor de căutare, o structură internă logică ajută vizitatorul să ajungă la informația pe care o dorește mai rapid, astfel evitând pleacarea de pe site a unui posibil client!
Tipuri de in-site links:
Meniul principal:
Este subînțeles, fiecare site având un astfel de meniu. De obicei aici se găsesc paginile (sau categoriile în cazul unui site mai mare) principale, plus link-uri spre pagina principală, o prezentare a site-ului sau companiei (pagina “About Uș”) și pagina de contact.
Meniul secundar sau footer:
Acesta conține de obicei câteva (cel mult 5 sau 6) link-uri spre pagini foarte importante, pagini care nu sunt accesibile direct din meniul principal. Pagini spre un produs sau un serviciu principal, un link spre o știre importantă și poate către harta site-ului – acestea sunt genul de legături prezentate în meniul secundar.
O observație: spre deosebire de meniul secundar, footer-ul este plasat întotdeauna în partea de jos a paginii web.
Link-uri în context:
Probabil cea mai influentă formă a in-site link-urilor, desigur asta dacă este folosită cum trebuie. Aceste link-uri sunt plasate în conținutul paginilor, a articolelor de pe site – această metodă ne permite să le folosim într-un mod foarte natural iar importanța lor este ceva mai crescută față de celelalte link-uri..
Harta site-ului (sitemap)
poate fi de 2 feluri:
* Harta în format html.
* Google Sitemap, sau harta în format xml.
1. Harta în format html este o pagină ca oricare alta în care sunt puse link-uri spre toate celelalte pagini. Harta îți da oportunitatea să folosești ancorele pentru link-uri cele mai potrivite și de a aranja site-ul pe categorii. În cazul în care site-ul este de dimensiuni mici, se pot folosi și scurte descrieri in dreptul fiecărei pagini.
2. Harta în format xml (sau Google Sitemaps) este o hartă specială pentru motorul de căutare Google. În aceasta sunt specificate paginile care pot fi indexate, intervalul la care sunt modificate și importanta acestora.
Off-site linking
Spre deosebire de legăturile in-site, cele off-site (sau outbound links, cum li se mai spune) sunt link-urile de pe paginile site-ului care au ca țintă paginile de pe alt site.
Un site care are pagini cu prea multe link-uri (mai mult de 100 pe o pagină de mărime medie) va părea aproape întotdeauna că spam. Tocmai din această cauză directoarele au un număr limitat de site-uri prezentate într-o pagină și desigur, descrierea site-urilor.
Totuși, link-urile off-site au și asemănări cu cele in-site, cea mai importantă fiind păstrarea subiectului paginii. Un link spre o pagină on topic va fi folositoare pentru vizitatorii tăi cât și pentru motoarele de căutare, știind astfel cu ce păgâni se asociază pagina ta și desigur, cum să fie categorizată.
Este foarte important să nu fie puse prea multe link-uri externe spre site-uri fără relevanță sau de calitate proastă – credibilitatea va fi astfel diminuată în ochii vizitatorilor și a motoarelor de căutare. Dacă vei dezvolta un site de o bună calitate vei primi și cereri de schimb de link-uri – nu face asta decât dacă website-ul respectiv este de o calitate foarte bună.
Cum găsim pagini externe pentru legături cu site-ul:
Înscrierea în directoare
Înainte de înscrierea în directoare, ar fi bine să fie pregătite câteva date despre site
-adresa: aici vom pune link-ul către site. Este foarte important să folosim doar o singură variantă a adresei pentru absolut toate înscrierile sau schimburile de link-uri: ori cu ori fără www
.greentwinkie.com/ sau http://greentwinkie.com pentru a evita filtrul de conținut duplicat al lui Google. Ca să nu mai ai grija conținutului duplicat învață cum să redirecționezi domeniul.
titlul: desigur, titlul site-ului – adică ceea ce se află între tag-urile title pe pagina principală a site-ului. La fel ca în Optimizarea titlului, cel mai bine este să fie evitate titlurile care arată a spam – nu este bine nici pentru site și nici nu vei fi acceptat în director!
2 descrieri. Una dintre descrieri să fie scurte (până în 200 de caractere) iar cealaltă ceva mai lungă (aproximativ 400 de caractere). Este foarte important că descrierea să nu aibă superlative sau exagerări – “cel mai bun”, “cel mai tare”, “cel mai informativ” sunt descrieri total inacceptabile. Spune doar ce subiect are site-ul și dacă are ceva mai special (de la software gratuit până la informații în anumite nișe).
cuvinte sau fraze cheie (în jur de 10-15): aici nu prea ai cum să exagerezi, atâta timp cât nu repeți cuvintele sub diferite forme, gen singular/plural său feminin/masculin. Aceste tactici nu vor da nici un rezultat!
Este foarte important ca site-ul să nu fie înscris cu aceeași descriere la toate directoarele.
Schimb de link-uri
Una dintre opțiunile în optimizarea off-site este schimbul de link-uri. Nu este recomandat acest tip de optimizare pentru că foarte mulți webmasteri scot link-ul către site-ul tău după ceva timp, când cred că nu vei observa asta.
O metodă foarte bună de a găsi site-uri pentru schimburi este te uiți de la cine au primit link-uri sau cu cine au făcut schimb site-urile competitoare. Asta se poate vedea foarte ușor prin căutarea “link:http://www.exemplu.com” pe Yahoo sau Google (Yahoo arata întotdeauna o listă mai completă de legături) – desigur, înlocuiți “exemplu.com” cu adresa site-ului competitor.
De obicei cererile de schimburi au foarte puține răspunsuri – dacă ai o rată de 5% succes atunci poți fi considerat norocos.
Dacă se folosește această metodă, ar trebui să fim atenți la următoarele:
schimburile de legături trebuiesc făcute întotdeauna între pagini pe același subiect, neapărat!
trebuie să oferi un motiv foarte bun pentru că ceilalți webmasteri să accepte schimbul, acesta fiind de obicei o pagină cu un conținut bun sau foarte bun.
pe pagina de contact ar trebui să specifici ca în cazul unei cereri de schimb, cel care face cererea trebuie să pună întâi link-ul și apoi să ceară schimbul (ține de bun simț această regulă).
Câteva sfaturi pentru scrierea unei cereri de schimb de link-uri:
descrie pe scurt site-ul tău și cel al partenerului de schimb – e bine să lași impresia că ai vizitat pagină lui și că nu e un mail trimis automat.
spune pe ce pagină ai vrea să fie link-ul tău și pe ce pagină ai pus link-ul lui și dă-i textul ancora pe care să îl folosească pentru legătură către pagina ta.
fii respectuos cu partenerul – el îți face o favoare prin acceptarea schimbului; și nu uita, în caz că ești refuzat, nu trebui să pornești un război!.
CAPITOLUL IV. PROIECTAREA ÎN DETALIU A APLICAȚIEI INFORMATICE
4.1 Definirea obiectivelor aplicației informatice
În cadrul acestei lucrări am urmărit realizarea unei aplicații Web a unei agenții turistice care are ca obiect de activitate vânzări pachete turistice, prezentând tipurile de excursii, perioada și numărul de locuri disponibile, precum și alte informații relevante despre excursii .
Lucrarea reprezintă un posibil site al unei agenții, ce vine în ajutorul clienților care doresc să afle mai multe detalii despre achiziționarea unei excursii, ușor și comod, din fața propriului calculator. Principalele funcționalități ale aplicației sunt:
posibilitatea de a folosi un formular în care clientul poate adăuga pentru a primi informații despre o excursie din oferta propusă;
posibilitatea personalizării contului;
afișarea listei cu toate excursiile disponibile pentru vânzare ;
posibilitatea de a căuta o excursie după categorie, țară;
trimiterea de mesaje între diferiți utilizatori ai aplicației;
posibilitatea utilizatorilor de a trimite formular on-line
Baza de date
Datele și informațiile necesare aplicației E-Agenție sunt stocate în documente php ceea ce permite prelucrarea lor într-o manieră comodă, datorită posibilităților oferite de sql de a structura într-un mod logic orice tipuri de date sau informații. Mai mult, aceste documente sunt ușor de conceput și de înțeles de către orice utilizator..
Aplicația E-Agenție folosește pentru procesare documente php si o bază de date imobiliare cu 13 tabele.
Proiectarea aplicației informatice trebuie să răspundă de următoarele cerințe:
Flexibilitate;
Fiabilitate;
Ușurința în folosire;
Implementarea cât mai rapidă;
Cost redus;
Eficiența maximă;
Proiectarea sistemului va realiza:
Proiectarea sistemului integrat al ofertelor de excursii
Proiectarea paginilor web care va avea la bază informații despre procesul activităților;
Reproiectarea unei părți a sistemului existent;
Sistemul de inregistrarea vânzări pachete turistice trebuie să realizeze următoarere informații:
Asigură securitatea și confidențialitatea datelor;
Posibilitatea de postare a unei excursii din secțiunea administrator;
Stocarea datelor;
Posibilitatea ca utilizatorul sa-si exprime parerea la pagina de contact;
Posibilitatea modificării datelor de înregistrare;
Posibilitatea de căutare;
4.2 Proiectarea logică și fizică a ieșirilor
Prin ieșirile unui subsistem informatic se înțelege totalitatea informațiilor furnizate de acesta clienților, respectiv rapoarte, note de informare etc.
Definirea ieșirilor fiecărui subsistem informatic, presupune, în primul rând, stabilirea la nivel global, a informațiilor necesare conducerilor de pe diferite trepte ierarhice ale sistemului, specificând pentru fiecare în parte: aspectele programatice (legate de utilitate) și aspectele semantice (legate de conținut).
În cadrul acestei aplicații ieșirile reprezintă rapoartele pentru:
evidența utilizatorilor
evidența anunturilor online despre excursii
4.3 Proiectarea logică și fizică a intrărilor
Prin intrările unui sistem informatic se înțelege totalitatea datelor primare necesare obținerii informațiilor de ieșire ale sistemului.
Datele primare reflectă starea și dinamica fenomenelor și procesele economice din unitatea economică. Datele primare sunt necesare pentru crearea și actualizarea bazelor de date, pentru obținerea de situații de ieșire și pentru realizarea de rapoarte cu ieșiri.
Aceste date sunt:
Documente de intrare:
– Anunturi online vînzări pachete turistice;
Informații despre:
-excursii;
– Date de contact ale utilizatorilor;
4.4 Proiectarea bazei de date
În cele ce urmează voi prezenta structura tabelelor folosite în aplicația E-Agenție pentru memorarea datelor sau pentru memorarea diferitelor setări particulare ale aplicației.
Proiectul folosește o bază de date MySQL pentru stocarea informațiilor.
Baza de date conține 13 tabele :
1. Tabelul tadmins:
Este folosit pentru stocarea administratorilor site-ului.
Câmpuri:
fIdAdmin: Id-ul înregistrării;
fUsername: numele utilizator al administratorului
fPassword: parola administratorului
2. Tabelul tcategorii:
Este folosit pentru stocarea categoriilor de pachete turistice disponibile
Exemple de categorii de imobile:
Exemple de tipuri de excursii:
1.Circuit
2.Circuit+sejur
3.Crăciun
4.Revelion etc
Câmpuri:
fIdCategorie: Id-ul înregistrării
fNumeCategorie: Numele categoriei
3. Tabelul tcomentarii:
Este folosit pentru stocarea comentariilor adăugate de vizitatorii site-ului pentru diverse excursii
Câmpuri:
fIdComentariu: Id-ul înregistrării;
fIdProdus: Id-ul produsului de care aparține comentariul
fIdUtilizator: Id-ul utilizatorului care a adăugat comentariul
fComentariu: Textul comentariului
fData: Dată la care a fost adăugat comentariul
fAprobat: Specifică dacă comentariul a fost aprobat sau nu. Valori posibile: 0 și 1.
Inițial comentariul nu este aprobat, iar câmpul fAprobat este setat pe 0. Comentariile se pot aproba de către administrator din panoul de administrare.
4. Tabelul tcomenzi:
Este folosit pentru stocarea informațiilor legate de formularele trimise de utilizatori.
Câmpuri:
fIdComanda: Id-ul înregistrării;
fIdUtilizator: Id-ul utilizatorului ce a trimis formularul;
fNumeCumparator: Numele clientului. Poate fi diferit de numele utilizatorului care a efectuat comandă;
fEmailCumparator: Adresa email a client. Poate fi diferită de adresa email a utilizatorului care a trimis formularul;
fAdresaCumparator: Adresa cumpărătorului. Poate fi diferită de adresa utilizatorului care a trimis formularul;
fDataComanda: Dată la care a fost trimis formularul.
5. Tabelul tcos:
Este folosit pentru stocarea excursiilor aflate în coșul de cumpărături.
În momentul autentificării sau părăsirii contului conținutul formularului este golit.
Câmpuri:
fIdItem: Id-ul înregistrării;
fIdUtilizator: Id-ul utilizatorului care trimite formularul;
fIdProdus: Id-ul excursiei adăugată în formular;
fIdSesiune: Id-ul sesiunii utilizatorului. Acesta este asignat de server și este unic pentru fiecare vizită.
6. Tabelul tproduse:
Este folosit pentru stocarea informațiilor referitoare la excursii.
Câmpuri:
fIdProdus: Id-ul înregistrării;
fIdSubcategorie: Id-ul tipului din care face parte excursia
fIdProducator: Id-ul țării din care este acestă excursie
fNumeProdus: Numele excursiei;
fCodProdus: Codul excursiei;
fImagine: Calea către imaginile excursiei care sunt stocate în directorul “images/produse”;
fDescriere: Descrierea detaliată a excursiei;
fSpecificatii: Detalii excursie ;
fPret: Prețulexcursiei exprimat în euro, fără TVA;
7 Tabelul tprodusecomenzi:
Conține rezervări de bilete din excursiile comandate de către un utilizator.
Este asemănător tabelului tcos.
Câmpuri:
fIdArticol: Id-ul înregistrării;
fIdComanda: Id-ul comenzii din care face parte excursia;
fIdProdus: Id-ul excursiei trimise prin formular pentru detalii sau biletele comandate;
8. Tabelul tpromotii:
Conține înregistrări referitoare la promoțiile pachetelor turistice.
O excursie poate avea o singură promoție asociată.
Câmpuri:
fIdPromotie: Id-ul înregistrării;
fIdProdus: Id-ul excursiei;
fDataInceput: Dată de început a promoției;
fDataSfarsit: Dată la care promoția ia sfârșit;
fPretRedus: Noul preț (redus) valabil în timpul desfășurării promoției.
10. Tabelul tsubcategorii:
În acest tabel sunt stocate informații referitoare la țări.
11. Tabelul tutilizatori:
Este folosit pentru stocarea informațiilor referitoare la utilizatorii înregistrați pe site. Înregistrarea este necesară pentru a putea trimite formular/ vota .
Câmpuri:
fIdUtilizator: Id-ul înregistrării;
fNumeUtilizator: Numele utilizatorului;
fParola: Parola utilizatorului;
fEmail: Adresa email a utilizatorului;
fAdresa: Adresa utilizatorului;
fDataInregistrare: Dată la care utilizatorul s-a înregistrat pe website.
12. Tabelul tvoturi:
Este folosit pentru evidența voturilor aplicate excursiilor de către cei care au fost. O excursie poate fi votată de către un utilizator o singură dată.
Câmpuri:
fIdVot: Id-ul înregistrării;
fIdProdusL Id-ul excursiei căruia i se aplică votul;
fIdUtilizator: Id-ul utilizatorului care a votat excursia;
fValoareVot: Valoarea votului (un număr între 1 și 5).
4.5 Proiectarea interfeței aplicației
Structura principală a interfeței este următoarea:
În partea de sus este afișat headerul aplicației.
Un utilizator care are un cont creat pentru aplicația E-Agenție va introduce într-un formular numele contului și parola iar după apăsarea butonului Autentificare aplicația va verifica dacă există un astfel de cont și dacă parola introdusă este corectă. Funcție de rezultatul testărilor făcute de aplicație, utilizatorului i se va permite accesul la funcționalitățile modulului client, sau i se va afișa un mesaj de eroare corespunzător. Trebuie făcută precizarea că acest formular este verificat spre a fi validat, se verifică dacă utilizatorul a specificat contul și parola (formularul să nu fie gol).
În cazul în care utilizatorul este la prima vizită pe site sau încă nu și-a creat cont poate folosi butonul Cont Nou, ce va afișa formularul de înscriere a unui nou utilizator.
După autentificare secțiunea va arăta un mesaj de bun venit, împreună cu 2 opțiuni:
Contul meu;
Ieșire
Accesarea opțiunii contul meu oferă posibilitatea de a actualiza datele personale ale utilzatorului, cu excepția numelui de utilizator ce este ales la înscriere și nu mai poate fi schimbat ulterior. Accesarea opțiunii Ieșire are ca efect dez-autentificarea utilizatorului și ștergerea informațiilor legate de acesta (ex. id-ul utilizatorului păstrat în variabilele sesiune). Revenind la opțiunea de creare a unui nou cont, aceasta se prezintă în felul următor:
Câmpurile necesare creării unui cont nou sunt:
Numele utilizator ce nu mai poate fi schimbat ulterior.
Parola necesară autentificării. Parola trebuie confirmată deoarece caracterele acesteia nu sunt vizibile fiind mascate de caracterul *
Adresa de email ce poate fi folosită de către administrator pentru comunicarea cu utilizatorul. Aceasta nu este vizibilă celorlalți utilizatori ai site-ului. De asemenea adresa de email trebuie confirmată pentru a evita scrierea unei adrese greșite ce poate face imposibilă comunicarea administratorilor siteului cu utilizatorul.
Adresa utilizatorului.
Câmpurile referitoare la informațiile personale pot fi modificare după înregistrare și autentificare, cu excepția numelui utilizatorului.
Acestea sunt folosite și în procesul comenzii produselor, fiind însă doar sugerate utilizatorului: ele sunt înscrise în formular însă acesta le poate actualiza înainte de confirmarea comenzii, de exemplu pentru a expedia produsele la o altă adresă decât cea personală.
În cele mai multe cazuri însă utilizatorii folosesc aceleași informații înscrise la crearea contului și la comandă.
Butonul Anulează Modificări resetează starea formularului la cea inițială, golind toate câmpurile formularului. Butonul Înregistrare trimite datele către scriptul ce le va însera în baza de date. În cazul în care utilizatorul nu a completat toate câmpurile, acesta este atenționat prin mesaje, cu ajutorul funcțiilor de validate JavaScript.
După autentificarea utilizatorului acesta își poate modifica informațiile personale, accesând opțiunea Contul meu:
Aici are la dispoziție informațiile introduse la înregistrare.
De asemenea are afișată și data înscrierii pe site. Ca și în ecranul de înregistrare, parola și adresa de email trebuiesc confirmate, pentru a evita folositea unor date greșite ce duc la imposibilitatea autentificării ulterioare sau la imposibilitatea comunicării administratorilor siteului cu utilizatorii. Butonul Anulează modificări aduce formularul în starea inițială, adică va afișa informațiile aflate în baza de date, fără însă a reîncărca pagină.
Butonul Actualizare salvează modificările în baza de date. Opțiunea Ieșire are ca efect dez-autentificarea utilizatorului și redirectarea acestuia la pagina principală a siteului.
Optiunea de Căutare dupa tipul excursiei și țară
Formularul conține 2 câmpuri (liste):
tipul excursiei
țara
În cazul în care utilizatorul nu alege o țară sau un tip de excursie vor fi afișate toate excursiile. Lista conține inițial doar opțiunea Toate.
Aici se va putea alege țara și tipul de excursie preferată, sau implicit toate excursiile. În funcție de alegerea făcută, pe pagina principală a site-ului vor fi afișate excursiile din țara selectată. Această afișare trebuie să se facă aleator, adică ori de câte ori se încarcă pagina (index.php) conținutul tabelului respectiv trebuie să afișeze detaliile despre alte excursii. În cazul folosirii butonului Rezervă bilete, un număr dorit de biletele vor fi adăugate în coșul de cumpărături .
Avem legături către următoarele pagini:
Reduceri
Cum plătesc
Rezervare
A doua grupă de informații cuprinde opțiuni către paginile de informații generale ce conțin detalii legate de modul de efectuare a cererilor trimise prin formular, modul și posibilitățile de plată a excursiilor, informații referitoare la rezervare, date despre agenție. Ultima grupa de opțiuni cuprinde legături către următoarele pagini:
Last Minute
Reduceri
Hartă site
De asemenea o excursie sau mai multe se poat adăuga în formular prin accesarea opțiunii Rezervare bilete. Pagina oferă o descriere a excursiei, specificațiile tehnice, numele și imaginea acesteia, prețul fără TVA și cu TVA .
Pagina Last minute afișează excursia împreună cu următoarele informații:
Imaginea excursiei;
Descrierea excursiei ;
Prețul vechi fără TVA;
Prețul vechi cu TVA;
Prețul nou fără TVA;
Prețul nou cu TVA;
Butonul Trimite.
Pagina ofertelor poate fi accesată din mai multe locuri:
meniul superior;
meniul inferior;
meniul din partea stângă a interfeței;
caseta de reduceri.
Pagina Harta Site afișează legături spre excursiile existente, subcategoriile acestora și unei categorii de excursii:
Pagina de contact afișează informații referitoare la contactarea site-ului, ca:
adresa;
numere telefon;
numere fax;
adrese email
Pagina de Excursii afișează categoriile și subcategoriile excursiilor, într-un mod similar paginii Harta site fără a afișa însă legături spre excursii.
În cazul în care pentru o categorie nu are încă definite subcategorii de către administrator se va afișa mesajul “Nu există excursie”, în caz contrar vor fi afișate legături către excursiile existente. De asemenea, ca și în cazul paginii Rezultatele căutării, rândurile vor avea fundal intermitent pentru ușurința navigării.
Formularul Trimite cerere.
Acesta este accesibil doar utilizatorilor autentificați.
Accesarea formularului fără autentificare afișează următorul mesaj:
După autentificare conținutul formularului poate fi prezentat în 2 moduri.
Primul mod este afișat în cazul în care formularul nu conține nici o excursie:
În cazul în care există imobile în formular acestea vor fi afișate împreună cu nume imobil.
Alte opțiuni disponibile în pagina formular:
Șterge excursie;
Golește formular;
Completează date personale.
Opțiunea Golește formular, șterge toate excursiile din formular în cazul în care utilizatorul confirmă acest lucru, pentru a preveni ștergerea accidentală:
Butonul Trimite formular afiseaza urmatoarea pagina
Informațiile despre client sunt completate din profilul utilizatorului însă acesta le poate modifica. De exemplu utilizatorul poate alege o altă adresă pentru expedierea formularului decât cea personală.
Aceasta pagină conține un sumar al formularului și anume:
Numărul de bilete pentru fiecare excursie aflate în formular;
informațiile despre utilizator
După confirmarea formularului utilizatorul primește următorul mesaj:
Secțiunea de administrare
În secțiunea de administrare pot fi adăugate/șterse/editate tipurile de excursii, țările, mijloacele de transport, oferte, comenzi, utilizatori.
Pagina de început este următoarea:
Aici administratorul trebuie să se autentifice pentru a avea acces la opțiunile de administrare.
După autentificare administratorul va avea disponibil următorul meniu:
Prima opțiune este pentru modificarea parolei de acces. Numele utilizator nu poate fi schimbat, ca și în cazul utilizatorilor standard. Ecranul pentru modificarea parolei este
următorul
A doua grupă de opțiuni folosește definirii tipului de excursie, țara, tipul de transport și excursiile cu perioada și numărul de locuri
Opțiunea de editare afișează o pagină similară cu mențiunea că valorile câmpurilor vor fi deja completate și butonul Adăugă va fi înlocuit cu butonul Modifică.
Ultima opțiune din acest grup folosește definiriiexcursiilor
Aceasta afișează: tipul excursiei; țara; tipul de transport; nume excursie, detalii excursie; specificații excursie, nr de locuri, preț.
Adăugarea unei excursii se face la fel ca la editarea unei excursii prin completarea obligatorie a tuturor câmpurilor
Imaginile din excursii trebuie să respecte următoarele reguli:
-Fisiere acceptate: GIF/JPG
-Marime maximă: 500kb
-Dimensiuni maxime: 200px/200px
Opțiunea de editare afișează o pagină similară cu mențiunea că valorile câmpurilor vor fi deja completate și butonul Adăugă va fi înlocuit cu butonul Modifică.
Următoarea opțiune este folosită pentru a defini excursiile pe tipuri.
Informațiile și opțiunile acesteia sunt:
afișare tin excursie;
afișare țara;
modificare informații tip excursie;
ștergere tip excursie;
adăugare tip excursie.
Adăugarea unui nou tip de escursie resupune doar completarea numelui tipului. De asemenea modificarea presupune modificarea numelui tipului de excursie.
Următoarea opțiune din acest grup folosește definirii tipului de transportr.
Aceasta funcționează într-un mod asemănător definirii tipului de excursie cu mențiunea ca un cel din urmă caz trebuie aleasă și tipul din care face parte subcategoria.
Opțiunile acestui caz sunt:
afișare nume tip de transport;
afișare excursii conținute;
modificare informații tip de transport;
ștergere tip de transport;
adăugare tip de transport nouă.
Adăugarea sau editarea unei subcategorii presupun alegerea categoriei părinte și apoi completarea numelui subcategoriei.
Necompletarea acestor câmpuri duce la afișarea unor mesaje de eroare:
Următoarea grupă de opțiuni permite administrarea utilizatorilor și a comentariilor despre excursii si rapoarte:
Administrarea utilizatorilor permite doar ștergerea acestora, fără a putea adăuga sau modifica datele unui utilizator.
De asemenea se pot afișa detaliile utilizatorilor. Adresa email a unui utilizator este afișată sub formă de link de tip mailto, deci administratorul poate contacta rapid utilizatorii. Secțiunea de administrare a comentariilor de asemenea oferă posibilitatea de ștergere, fără a oferi posibilitatea de adăugare sau modificare. În plus administratorul poate activa sau dezactiva un comentariu.
Inițial comentariile sunt adăugate ca dezactivate și nu vor fi afișate decât după activarea lor de către administrator. De asemenea oferă legături și spre profilul utilizatorului care a adăugat comentariul și asupra detaliilor produsului la care este atașat comentariul.
În coloană Aprobat se poate vedea dacă comentariul este activ și în coloană următoare se poate activa / dezactiva un comentariu. Activarea și dezactivarea se realizează după confirmarea acestei acțiuni. Următoarea grupa de opțiuni oferă posibilitatea de a administra formularele și reducerile.
Administrarea cererilor trimise prin formulare afișează informații despre utilizatorul care a trimis formularul și data comenzii. Informațiile detaliate referitoare la excursiile trecute in formular, adresa de email sunt disponibile în pagina de detalii a comenzilor:
Administratorul poate contacta direct utilizatorul ce a realizat comanda prin folosirea comenzii de afișare a adresei de email. Secțiunea de administrare a reducerilor afișează excursia pentru care se aplică reducerea, dată de început a promoției și data de sfârșit a acesteia precum și noul preț. De asemenea din această fereastră se poate adăuga o nouă promoție. Setarea intervalului de valabilitate a promoției se poate realiza cu ajutorul unui control de tip calendar :
După alegerea datei de început cu ajutorul primului calendar, cel de-al doilea nu permite alegerea unei date mai mică decât prima. De asemenea după alegerea datei de sfârșit primul calendar nu permite alegerea unei date superioare celei de sfârșit a promoției.
Cu ajutorul opțiunii ieșire administratorul se poate dezautentifica pentru a preveni accesul neautorizat la panoul de administrare al site-ului.
CAPITOLUL V. PREZENTAREA PRODUSULUI SOFTWARE
5.1. Descrierea funcțiunilor aplicației
Pentru a veni în ajutorul utilizatorilor aplicația își propune realizarea următoarelor funcționalități:
posibilitatea de a folosi un formular în care clientul poate adauga excursii din oferta propusă pentru vânzare;
posibilitatea personalizării contului;
afișarea ofertei
afișarea listei cu tipuri de excursii;
posibilitatea de a căuta o excursie după țară, tip excursie și mod de deplasare, lăsarea de mesaje pe forumul site-ului;
În vederea soluționării problemei, aplicația a fost împărțită în mai multe module care vor fi discutate în detaliu. Aplicația E-Agenție fost dezvoltată pornind de la următoarele module:
• Autentificare client
• Trimitere formular on-line
• Lista de excursii disponibile
• Administrarea site-ului
În continuare va fi descris fiecare dintre aceste module și va fi prezentată o serie de aspecte legate de implementarea efectivă a modulelor respective.
Autentificare client în cadrul aplicației E-Agenție se referă la posibilitatea clienților de a crea un cont personal cu ajutorul căruia să trimită o cerere pentru a afla detalii despre una sau mai multe excursii. Serviciile oferite de acest modul sunt următoarele:
• creare cont nou;
• modificare date personale;
• selectare domeniu și subdomeniu preferat;
• vizualizare cererilor efectuate;
• modificare parolă și recuperare parola;
• trimitere mesaje către alt utilizator.
Crearea unui cont nou presupune completarea unui formular cu datele personale și alegerea unui nume de cont și o parolă. Toate câmpurile trebuie completate cu informații valide, dacă datele introduse nu sunt valide atunci adăugarea unui cont nou nu se va putea realiza.
Modificarea datelor personale se realizează asemănător creării unui cont nou, pentru fiecare utilizator se poate modifica atât numele și prenumele cât și localitatea sau adresa de e-mail. Modificarea se realizează prin folosirea butonului editare profil. La fel ca la creare cont nou toate câmpurile trebuie completate cu informații valide. Dacă datele introduse nu sunt valide atunci modificarea nu se va putea realiza.
Selectarea excursiilor după tip, mod de deplasare și țară se realizează din pagina personală apăsând butonul trimite cerere Aici se va putea alege o excursie pentru cumpărare și tipul preferat, sau implicit toate excursiile disponibile. În funcție de alegerea făcută pe pagina principală a site-ului vor fi afișate excursiile numai din categoria selectată, respectiv tipul excursiei selectate.
Vizualizare formularului este o altă opțiune disponibilă prin apăsarea butonului vizualizare formular. La apăsarea butonului va apărea o nouă fereastră cu lista tuturor cererilor, cu posibilitatea afișării detaliilor despre fiecare cerere de excursii în parte.
Formularul on-line în cadrul aplicației E-Agenție se referă la posibilitatea clienților de a trimite cereri pentru a afla detalii despre excursii prin intermediul site-ului. De asemenea, administratorul aplicației poate vizualiza și onora aceste cereri. Trimiterea cererilor se realizează cu ajutorul formularului trimite cerere, Pentru a explica acest modul se consideră că se doresc detalii despre o excursie. Se alege din categoria sau subcategoria selectată o anumită excursie, iar în noua pagină apărută este disponibil un buton trimite cerere. Dacă selectăm acest buton atunci excursia respectivă este adăugată în formularul virtual disponibil fiecărui utilizator în parte. În continuare, se regăsesc următoarele opțiuni la dispoziție: ștergerea din formular a imobilelor care nu mai prezintă interes folosind butonul “Șterge”.
Prin acest exemplu a fost arătat cum se creează un formular virtual și ce operații se pot efectua cu el.
Lista de excursii după tip, mod de deplasare și țara- este un modul care afișează lista completă a tuturor excursiilor, respectiv lista completă a tipului de excursie. Acest modul preia din baza de date, excursiile și tipurile disponibile, și afișează sub forma a două tabele lista completă a înregistrărilor. Prin selectarea unei anumite excursie sau a unei anumit tip va apărea o nouă pagină care va conține lista tuturor excursiilor care aparțin categoriei și subcategoriei selectate.
Administrarea site-ului este modulul cel mai important, de eficiența căruia depinde succesul oricărui magazin electronic. Acest modul va permite administratorului să modifice conținutul site-ului, precum și să vizualizeze anumite informații. Acest modul este destinat numai administratorului care se ocupă de administrarea site-ului. Serviciile oferite de acest modul sunt următoarele:
• adăugare excursie;
• modificare excursie, utilizatori;
• ștergere excursie, utilizatori sau cereri;
• vizualizare formulare onorate și neonorate.
Adăugarea este esențială pentru această aplicație, pornind de la ideea că este un magazin on-line iar adăugarea de noi excursii este esențială. Codul excursiei este selectat automat de aplicație iar imaginea pentru excursie respective trebuie să aibă numele de forma: codul excursiei și extensia jpg. Toate câmpurile trebuie completate cu informații valide, dacă datele introduse nu sunt valide atunci adăugarea nu se va putea realiza.
Modificarea se realizează asemănător adăugării, pentru fiecare excursie sau utilizator se poate modifica atât numele cât și caracteristicile. Modificarea se realizează prin folosirea butonului modificare din dreptul fiecărei înregistrări. La fel ca la adăugare toate câmpurile trebuie completate cu informații valide. Dacă datele introduse nu sunt valide atunci modificarea nu se va putea realiza.
Ștergerea unei înregistrări se realizează prin selectarea excursie dorite, sau a utilizatorului si folosirea butonului “Ștergere” din dreptul înregistrării. La apăsarea butonului “Ștergere” va apărea o nouă pagină cu detaliile despre înregistrarea selectată, și un buton “Confirmați stergerea”. Dacă ștergerea este confirmată atunci înregistrarea este ștearsă definitiv din baza de date.
Vizualizarea cererilor trimise prin intermediul formularului este o altă opțiune disponibilă administratorului. Această opțiune este disponibilă în meniul principal prin apăsarea butonului “Vizualizare cereri”. La apăsarea butonului va apărea o nouă fereastră cu lista tuturor cererilor neonorate și posibilitatea afișării detaliilor despre fiecare cerere în parte.
Modulul de trimitere formular permite utilizatorilor să trimită un formular on-line . Acest modul oferă utilizatorului posibilitatea de a selecta din meniul afișat pe ecran diferite informații despre excursii, lista excursiilor, posibilități de contact, posibilitatea de căutare a unei excursii precum și posibilitatea de a trimite o cerere. Utilizatorul va completa un formular cu datele personale: nume, prenume, adresa, adresa de e-mail, localitate, județ și codul poștal al localității.
5.2. Considerații privind eficiența aplicației informatice
Un website bine facut este un website care se încarcă rapid și oferă vizitatorilor o funcționalitate impecabilă și un conținut complet. Arhitectura informatiei este simplă și clară, asigurând o navigare intuitivă pentru acces rapid la toate informațiile.
Criteriile necesare pentru eficiența unui site sunt:
încarcare rapidă
conținut relevant
navigare ușoară
prezentare consecventă
organizare intuitivă
aspect plăcut
optimizarea pentru motoarele de căutare
Un design de calitate înseamnă și un aspect plăcut, care pune în valoare funcționalitatea site-ului și informația oferită.
Animațiile și imaginile măresc timpul de încărcare al paginii. Pe Internet, însă, rapiditatea face legea. Statisticile spun că un vizitator asteaptă în medie 8 secunde ca pagina să se încarce, după care pleacă. În această aplicaței s-a ținut cont și de acest lucru.
Un element foarte important este informația la zi. Site-ul trebuie sa conțină noutăți nu mai vechi de o saptmană. La nivel tehnic, criteriul cel mai important este plasarea site-ului în motoarele de căutare.
Motoarele de căutare – sunt o categorie foarte importantă de site-uri web menite să ajute utilizatorii Internetului; ele utilizează pagini Web interactive pentru realizarea căutărilor. Ele sunt principalele site-uri pe care trebuie să le vizitați atunci când căutați o informație și nu știți exact adresa la care o puteți găsi cu exactitate. Având peste un milion de locații Web existente și unele noi care apar zi de zi, s-ar putea să ne întrebăm cum ar putea fi ținută evidența acestora și cum este posibil să identificăm o anumită locație; soluția o reprezintă motoarele de căutare.
Acestea caută în paginile web cuvintele "cheie" (keywords) specificate de utilizator și vă întorc o listă cu adresele paginilor care conțin cuvintele "cheie" solicitate.
Motoarele de căutare sunt capabile să caute informațiile dorite de utilizator atât în paginile web cât și în grupurile de știri USENET. În mod normal un motor de căutare trimite un program robot "spider" care cercetează paginile web pentru a găsi cuvintele cheie solicitate. Un alt program numit "indexer" citește aceste pagini și realizează o listă bazată pe cuvintele existente în document.
Fiecare motor de căutare folosește proprii algoritmi de indexare astfel încât să returneze doar rezultatele semnificative pentru fiecare interogare.
Orice motor de căutare conține un câmp de editare în care puteți introduce cuvintele cheie care sunt semnificative pentru informația dorită. După ce ați introdus cuvintele cheie trebuie să apăsați un buton (de obicei "search") pentru a lansa căutarea dorită. După câteva momente programul de căutare vă întoarce o listă cu adresele paginilor în care a găsit cuvintele solicitate de dumneavoastră.
Cele mai multe motoare de căutare au o secțiune pentru căutare avansată (Advanced Search) secțiune unde puteți realiza căutări complexe, căutări în care să folosiți operatorii logici (ex. AND , OR, NOT) pentru cuvintele cheie. Cel mai cunoscut motor de căutare este Google. Google rulează folosind o combinație unică de software și hardware. Viteza poate fi atribuită algoritmului eficient de căutare, dar și miilor de PC-uri pe care le-a strâns într-o rețea pentru a creea un motor de căutare ultra rapid.
Spre deosebire de multe alte motoare de căutare, Google afișează rezultatele care includ toți termenii căutării, fie în textul paginii, fie în adresa paginii. Nu mai avem parte de frustrarea dată de pagini care nu au nimic în comun cu ceea ce căutați.
Google memorează multe pagini web pentru a le putea pune la dispoziție în caz că site-ul original nu este disponibil momentan. Utilizarea acestor pagini poate fi de multe ori mult mai rapidă decât calea obișnuită, chiar dacă informația ar putea să nu mai fie la zi.
Prin accesarea a mai mult de 1,3 miliarde de pagini, Google oferă rezultate relevante către utilizatori și întreaga lume, în mod obișnuit în mai puțin de jumătate de secundă. Azi, Google răspunde la mai mult de 100 de milioane căutări pe zi.
Alte motoare de căutare:
Yahoo, mare portal de web cu meniu pe domenii și motoare de căutare, alături de multe alte servicii personalizate modulare. Când nu știm exact ce căutăm, cautăm aici, pornind de la cel mai general domeniu în care se înscrie problema.
MicroSoft Network, portal cu motoare de căutare și multiple servicii și resurse online.
AOL – America OnLine, portal destinat îndeosebi utilizatorilor AOL.
Lycos, portal cu motor de căutare și multiple servicii online pentru comunicare și informare, pagini personalizate.
Excite, portal cu motor de căutare, multe servicii personalizate modulare.
AltaVista, portal cu un mare catalog pe categorii, cu motoare de căutare rapidă etc
CONCLUZII
Lucrarea evidențiază modul de abordare al temei alese – realizarea unei baze de date orientată pe o agenție care se ocupă de vânzări pachete turistice, precum și principalele trasături ce reies din afacerile agențiilor.
Lucrarea relevă totodată importanța etapelor de realizare a unei aplicații software și anume analiza atentă a domeniului, proiectarea aplicației în conformitate cu cerințele beneficiarilor, implementarea aplicației astfel încât aceasta să fie ușor de utilizat și nu în ultimul rând aspecte legate de calitate software, astfel ca, pe viitor, la apariția unor cerințe noi acestea să fie îndeplinite cu succes profitînd de deschiderea pe care o oferă aplicația.
Totodată lucrarea și-a propus prezentarea ultimelor tehnolgii apărute în stocarea și prelucrea datelor ( sistemul de gestiune al bazelor de date MySql pentru stocarea datelor și Php pentru manipularea datelor), provocarea fiind determinată de evoluția rapidă a aplicațiilor ce folosesc baze de date și de gradul ridicat de noutate pe care îl oferă aceste tehnologii.
În viitor se dorește extinderea aplicației cu alte facilități cum ar fi, de exemplu, avertizarea clienților și beneficiarilor prin e-mail sau SMS în momentul în care o cerere și o ofertă sunt compatibile. Totodată se dorește adaptarea aplicației și la alte cerințe existente pe piață nu numai din punctul de vedere al agențiilor de turism.
BIBLIOGRAFIE
B. Ghilic-Micu, M. Stoica, (2002), E-activitățile în societatea informațională, Colecția Societatea Informațională, Ed.Economică, București.
Buraga Sabin, (2003), Aplicații Web la Cheie, Editura Polirom, București
Buraga Sabin (2004), Proiectarea Siturilor Web. Design și Funcționalitate, Editura Polirom
Dașu, Narcisa Gabriela,.(2011), Crearea, proiectarea, optimizarea, publicarea și promovarea site-urilor Web , Buzău : Teocora;
Jay Greenspan si Brad Bulger- MySQL / PHP Database Applications
Kevin Yank , Building a Database – Driven Web Site using PHP and MySQL
Liciniu A. Kovács ; colab.: Cormos Monica Lavinia, Pop Gabriel Marius , Ghid avansat de comerț electronic (2011), ed.: Colin Holcombe. – Cluj Napoca : Editura Fundației pentru Studii Europene,
Lambrescu, Ionuț. Analiza și prelucrarea imaginilor, (2011), Ploiești : Editura Universității Petrol-Gaze din Ploiești
M. Belu, D. Parasciv, A.M. Comănescu, (2004), Tranzacții pe Internet , Ed. Economică, București,
Onete Bogdan, (2005), Conținutul Site-urilor Comerciale – Elemente Obligatorii, Editura ASE, București;
Pleșca Doru, (2006), Analiza Eficienței Comerciale a unui Magazin On-line, Editura ASE, București
Saseanu Andreea, (2005), Incertitudinea Strategică și Viitorul Dialogului On-line cu Consumatorul, Editura ASE, București
Scripcariu, Luminița.,(2011), Proiectarea bazelor de date , Iași : Politehnium
V. Patruț, M. Deju, D. Pacurari, (2005), Gestiunea și contabilitatea unor activități economice cu caracter deosebit, Editura Junimea, Iași;
V. V. Patriciu, M. Ene-Petrosanu, I. Bica, C. Vaduva, N. Voicu,(2001), Securitatea Comertului Electronic, Ed. ALL, București
ANEXE
Anexa nr. 1: Secvențe din codul sursă
Index.php
Categorii.php
Execute.php
Formular.php
Inregistrare.php
Sresults.php
Harta_site.php
Mysql.inc
Functions.inc
adminfunctions.inc
style
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: Este implementată gestiunea cererilor și ofertelor pachetelor turistice, precum și gestiunea datelor despre clienții agenției. [303568] (ID: 303568)
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.
