-Modul in care vor fi actualizate datele pe site [306986]

INTRODUCERE

Comerțul electronic s-a dezvoltat foarte mult în ultimii ani 40 ani, tehnologia a evoluat iar utilizatorii au fost obișnuiți să apese butonul "Comandă acum", [anonimizat] 24 de ore.

De-a [anonimizat] a devenit o activitate comună pentru multe companii. [anonimizat] a [anonimizat] a continua proiectul inițial.

Pentru a [anonimizat]. În primul rând trebuie să se stabilească o [anonimizat] a [anonimizat] a [anonimizat], prețurile de transport și de manipulare. [anonimizat] E-Business, [anonimizat], va rămâne pentru o lungă perioadă de timp o variant foarte buna de dezvoltare a unei afaceri.

Pentru a [anonimizat], este necesar să se bazeze pe o bună organizare a informațiilor și proceselor. Aceasta este o provocare, din cauză că cele mai multe companii nu au propriile lor sisteme informaționale care să ofere sprijin pentru a rezolva diversele nevoi. Pentru a realiza o dezvoltare corespunzătoare a acestui proiect este nevoie de personal calificat.

Paginile HTML constituie în anumite condiții cel mai ieftin mijloc de a [anonimizat]: site-[anonimizat]-[anonimizat].

Tema de licență “Aplicație informatică pentru urmărirea activităților din interiorul departamentului de transport al unei firme” oferă o [anonimizat]: logistică, comerțul electronic și abordarea tehnicilor de progamare și Web și de gestiune a bazelor de date MySQL.

Aplicația creată este un site cu pagini dinamice. Acestea necesită o actualizare periodică a elementelor specificate. La proiectarea unui astfel de site trebuie luate în considerare următoarele elemente:

-Modul in care vor fi actualizate datele pe site;

-Costurile operatiunilor de actualizare periodica.

“Comunicarea cu clienții (utilizatorii) [anonimizat] e-mail, [anonimizat]. [anonimizat], înștiințându-l astfel de primirea mesajului transmis.” (Petrascu, 2001)

[anonimizat], dar și prezentarea produselor, a ofertelor și a evenimentelor disponibile.

[anonimizat]. [anonimizat]. Trebuie să ofere securitate tuturor datelor achiziționate în baza de date.

În prezent, o [anonimizat], companii sau instituții își stabilesc hotărârile și își extind activitățile zilnice pe baza informațiilor culese din bazele lor de date. Pentru ca datele existente să fie cu adevărat utile trebuie să fie riguroase, complete, de actualitate și la obiect. În plus, organizarea lor trebuie sa fie realizată astfel încât să poată fi regăsite cu ușurință, în ansamblul dorit de către utilizator.

“Programele de aplicații au și ele rolul lor, chiar unul important, însă fără o proiectare reușită a bazei de date, chiar și cele mai bune programe nu pot ocoli probleme generate de datele incorecte și lipsite de soliditate. Aceste probleme sunt produse întotdeauna de proiectarea neadecvată a bazei de date. În schimb, o bună proiectare garantează funcționalitatea și performanțele necesare pentru baza de date.” (Vlădoiu, 2014).

CAPITOLUL 1 – TEHNOLOGII WEB FOLOSITE

LIMBAJUL DE PROGRAMARE PHP

În această aplicație Web s-a decis utilizarealimbajului PHP deoarece este un limbaj foarte popular și, nefiind un framework în sine, structurarea unui posibil framework se va face cu ușurință. Majoritatea gazdelor web moderne acceptă PHP și MySQL, iar în timp ce limbajele de genul Ruby on Rails castigă popularitate, momentan găzduirea pentru acestea nu este la fel de obișnuită. (Peacock, 2010)

PHP (HypertextPreprocessor) este un limbaj de scripting de uz general, cu cod-sursă deschis, utilizat pe scară largă, și care este potrivit în special pentru dezvoltarea aplicațiilor Web. In cadrul codului HTML al unei pagini Web putem insera cod PHP care va fi executat de fiecare dată când acea pagina este vizitată. Codul PHP este interpretat de către server-ul Web, fiind generat un cod HTML sau orice alt tip de conținut care va putea fi vizualizat de orice vizitator al paginii Web.

Un alt motiv pentru care am optat pentru utilizarea limbajului PHP este acela că este simplu de utilizat, fiind un limbaj de programare structurat, ca și C-ul, Perl-ul sau începând de la versiunea 5 chiar Java, sintaxa limbajului fiind o combinație a celor trei. Datorită modularității sale poate fi folosit și pentru a dezvolta aplicații de sine stătătorare, de exemplu în combinație cu PHP-GTK sau poate fi folosit ca Perl sau Python în linia de comandă. Probabil una din cele mai importante facilități ale limbajului este conlucrarea cu majoritatea bazelor de date relaționale, de la MySQL și până la Oracle, trecând prin MS Sql Server, PostgreSQL, sau DB2.

PHP poate rula pe majoritatea sistemelor de operare, de la UNIX, Windows, sau Mac OS X și poate interacționa cu majoritatea server-elor Web. Codul PHP este interpretat de server-ul Web și generează un cod HTML care va fi văzut de utilizator (clientului/browserului fiindu-i transmis numai cod HTML).

“Mai mult, spre deosebire de limbajele de scripting, precum JavaScript, PHP rulează pe server-ul Web, nu în browser-ul Web. Prin urmare, PHP poate obține accesul la fișiere, baze de date și alte resurse la care programul JavaScript nu poate avea permisiune. Acestea reprezintă bogate surse de conținut dinamic care determină vizitatorii să le acceseze.” (McCarty, 2001), (Marinoiu, 2011).

Alături de Linux, Apache și Mysql, PHP reprezintă litera P, deși uneori aceasta se referă la Python sau Perl. Linux ocupă rolul de sistem de operare pentru toate celelalte aplicații, MySQL gestionează bazele de date, Apache are rol de server web, iar PHP are rol de interpretator și comunicator între acestea.

Figura nr. 1.1– Cele mai populare limbaje de programare ce necesită gazde Web (preluată de pe w3techs.com)

“Script-urile PHP pot fi incluse în paginile Web în diferite moduri, uzual folosindu-se construcția<?php … ?>. Tot ceea se află cuprins între acești delimitatori este procesat de către interpretorul PHP, iar rezultatul este trimis browser-ului sub formă de cod HTML, navigatorul urmând a-l interpreta și afișa pentru utilizator.” (Buraga, 2003)

SGBD-UL MYSQL

Multe produse din magazinele de comerț electronic necesită un fel de alegere din partea clientului, fie că este vorba despre dimensiune, culoare sau chiar materialul sau ingredientele din care este făcut produsul. De aceea este nevoie de crearea unei baze de date care sa conțină și apoi să afișeze aceste produse.

“Încă de la începutul civilizației umane, stocarea informațiilor pentru utillizarea lor a reprezentat o necesitate” (Dușmănescu, 2005).

“O bază de date este o colecție integrată de înregistrări corelate în mod logic sau de fișiere consolidate într-un fond comun care oferă date pentru una sau mai multe utilizări. Termenul de bază de date se referă atât la datele propriu-zise cât și la structurile de date în care sunt stocate datele și metadatele corespunzătoare.” (Tudorică, 2016)

În momentul de față, bazele de date reprezintă elementul central în toate sistemele de stocare și regăsire a informației. Acestea, inițial au apărut ca o necesitate pentru rezolvarea unor probleme mai simple, precum păstrarea informațiilor generale dintr-o instituție, rezervarea biletelor de avion și păstrarea înregistrărilor financiare din sistemul bancar (Vlădoiu, 2014).

“În proiectarea bazei de date, prima etapa si una dintre cele mai importante este alegerea unui SGBD (Dușmănescu, 2005). “

Înregistrările organizate sunt păstrate automat, iar căutarea sau extragerea datelor se realizează mult mai ușor și mai eficient de pe oricare câmp al înregistrării, în special pe cele pentru care există indecși.

Aceste date pot fi consultate prin intermediul unui sistem de gestiune a bazelor de date, care poate extrage răspunsuri pentru interogările pe care un utilizator sau un program le adresează, prin intermediul unui limbaj specific și anume un limbaj de interogare (Vlădoiu, 2014).

“Un sistem de gestiune a bazelor de date este un set de aplicații care controlează organizarea, stocarea, extragerea, gestionaarea și recuperarea datelor dintr-o bază de date.“ (Tudorică, 2016)

În realitate, există lucruri despre care vrem să stocăm date și există diverse legături între acestea. Ideea semnificativă din fundalul tuturor bazelor de date este aceea că utilizatorului, fie el o persoană sau un program de aplicație, nu i se atribuie rolul de a se preocupa cu modul în care datele sunt stocate fizic pe un suport extern de informație. El are posibilitatea de a manipula aceste date în termenii legăturilor care există între ele. SGBD-ul va executa cererile utilizatorilor asupra datelor stocate fizic (Vlădoiu, 2014). “

“SQL(Structured Query Language) este un limbaj de interogare structurată. Acesta nu este un limbaj de programare propriu-zis, ci este specializat în lucrul cu bazele de date. Rolul său este să extragă, să organizeze și să actualizeze informațiile din bazele de date relaționale. Toate serverele importante de baze de date utilizate în aplicațiile client/server, utilizează acest limbaj” (Perkins, 1997).

Folosind anumite funcții din limbajul PHP se poate obține cu ușurință accesul la datele rezidente într-o bază de date MySQL și le poate modifca. Majoritatea interactiunilor cu o bază de date se desfășoară după un model secvențial simplu:

– Se deschide o conexiune cu serverul MySQL;

– Se specifică baza de date la care se va obține accesul;

– Se emit interogări SQL, se obține accesul la rezultatele interogărilor și se execută operații non-SQL;

– Se închide conexiunea cu serverul MySQL. (McCarty 2002)

Existădouă categorii de interogări care se pot executa cu ajutorul limbajului SQL și anume interogări SELECT (care returnează înregistrări ale unui tabel) și interogări UPDATE, INSERT și DELETE (care nu returnează înregistrări, dar în schimb le modifică). Astfel, în aplicația web ce urmează a fi prezentată vor fi necesare aceste tipuri de interogări pentru a afișa produsele din baza de date, pentru a le modifica sau șterge și pentru a șterge anumite produse. În timp ce interogările SELECT vor fi folosite pentru pentru afișarea produselor în interfața publică, în timp ce interogările UPDATE, INSERT și DELETE pot fi utilizabile doar în interfața privată de către administratorul site-ului

LIMBAJUL DE MARCARE HTML

HTML este inima programării web, dar este oarecum limitată, acesta fiind până la urmă un limbaj de formatare a documentelor. Se bazează pe etichete, care instruiesc browser-ul cum să afișeze o bucată de text sau o imagine. Ca atare, codul HTML este limitat la o interacțiune statică, într-o singură direcție cu utilizatorul. Pagina web poate fi foarte sofisticată și atrăgătoare pentru ochii utilizatorului, dar utilizatorul nu poate interacționa cu pagina.

“HTML (HyperText Markup Language) reprezintă un set de coduri speciale care se inserează într-un text, pentru a se adăuga informații despre formatare și despre legături. HTML se bazează pe Limbajul Generalizat Standard de Marcare. Astfel, se folosesc marcaje (tag-uri) pentru a comunica unui interpretor HTML (program de navigare) că documentul este scris și formatat în limbajul HTML standard.” (Taylor, 1998)

“Acest limbaj oferă posibilitatea de a se publica pe Web documente ce conțin texte, tabele, imagini, liste, secvențe video sau audio. Spre deosebire de un roman, care se citește in mod liniar, un site Web este realizat astfel încât să se poată accesa direct pagina dorită, fără să existe obligația de a se parcurge restul paginilor.” (Dumitrașcu, 2006).

“Această opțiune este posibilă cu ajutorul implementării unor legături (link-uri) prin intermediul cărora un ansamblu de pagini sunt legate între ele, creând astfel site-ul. În general un site Web este alcătuit dintr-o pagina de index ce reprezintă primă pagina care conține paginile celorlalte titluri. Aceste titluri sunt atribuite link-urilor, astfel încât un simplu click pe legătură, permite accesarea directă a paginii dorite.” (Dumitrașcu, 2006).

Marcajele de bază care apar în majoritatea paginilor Web:

Linia de cod <meta charset="utf-8"> reprezintă marcajul “meta” prin care se pot adaugă diverse proprietăți pentru documentul HTML. În această linie se specifică tipul de caractere pe care urmează să le folosească aplicația, UTF-8 fiind o caracteristică de codare capabilă să codifice toate punctele posibile de cod Unicode

“Site-urile web interactive sau dinamice oferă conținut și personalizare mai îmbogățite. Interacțiunea nu poate fi statică – necesită construcțiipentru instructiuni de tip IF și instructiuni repetitive, care nu fac parte din sintaxa HTML.” (Easttom, 2007)

JAVASCRIPT

JavaScript este una dintre cele mai importante tehnologii de pe web. Acesta oferă mijloacele de a adaugă funcționalități dinamice paginilor web și servește drept coloană vertebrală a dezvoltării web în stil Ajax. Limbajul permite schimbări complete într-o pagină web prin înlăturarea sau ascunderea elementelor. JavaScript oferă utilizatorilor o interfață prietenoasă (DRAG&DROP) sau aplicații pe mai multe nivele (DROP DOWN).

„Construcțiile lipsă necesare pentru a face pagini web interactive sunt găsite în limbajul JavaScript. Acest limbaj orientat pe obiecte oferă unei pagini web capacitatea de a ajunge la un nivel foarte ridicat de interacțiune între utilizator și aplicatie.”(Easttom, 2007)

Script-ul ar trebui inclus într-un cod HTML printr-un fișier separat sau prin referință pentru a putea fi interpretat de către browser.

În ciuda numelui și a unor similarități în sintaxă, între JavaScript și limbajul Java nu există nicio legătură. Ca și Java, JavaScript are o sintaxă apropiată de cea a limbajului C, dar are mai multe în comun cu limbajul Self decât cu Java.

Cea mai des întâlnită utilizare a limbajului JavaScript este în scriptarea paginilor web. Dezvoltatorii web pot îngloba în paginile HTML script-uri pentru diverse activități cum ar fi verificarea datelor introduse de utilizatori sau crearea de meniuri și alte efecte animate.

Browser-ele rețin în memorie o reprezentare a unei pagini web sub forma unui arbore de obiecte și pun la dispoziție aceste obiecte script-urilor JavaScript, care le pot citi și manipula. Arborele de obiecte poartă numele de Document Object Model sau DOM. Există un standard W3C pentru DOM-ul pe care trebuie să îl pună la dispoziție un browser, ceea ce oferă premiza scrierii de script-uri portabile, care să funcționeze pe toate browserele. În practică, însă, standardul W3C pentru DOM este incomplet implementat. Deși tendința browser-elor este de a se alinia standardului W3C, unele din acestea încă prezintă incompatibilități majore, cum este cazul browser-ului Internet Explorer.

O tehnică de construire a paginilor web tot mai întâlnită în ultimul timp este AJAX, abreviere de la „Asynchronous JavaScript and XML”. Această tehnică constă în executarea de cereri HTTP în fundal, fără a reîncărca toată pagina web, și actualizarea numai anumitor porțiuni ale paginii prin manipularea DOM-ului paginii. Tehnica AJAX permite construirea unor interfețe web cu timp de răspuns mic, întrucât operația (costisitoare ca timp) de încărcare a unei pagini HTML complete este în mare parte eliminată.

1.5 LIMBAJUL DE STILIZARE CSS

Cascading Style Sheets (CSS) reprezintă modalitatea recomandată de a controla prezentareaaspectului într-un document web. Principalul avantaj al CSS-ului față de acea parte a HTML-ului legată de prezentare este acela că stilul poate fi păstrat în întregime separat de conținut.

CSS este un standard pentru formatarea elementelor unui document HTML. Stilurile se pot atașa elementelor HTML prin intermediul unor fișiere externe sau în cadrul documentului, prinelementul <style> și/sau atributul style. CSS se poate utiliza și pentru formatarea elementelor XHTML, XML și SVGL.

Există 3 metode pentru a specifica regulile de stilizare pentru elementele dintr-un document HTML și anume:

– Plasarea regulilor intr-un fișier separat extern spre care se face referire printr-un link sau printr-o regulă de tip @import;

– Plasarea regulilor într-un fițier separat intern în cadrul tag-urilor <style> … </style> (această metodă fiind folosită în aplicația ce urmează să fie prezentată);

– Plasarea regulilor între tag-urile de marcare ale elementului pentru care se dorește o anumită stilizare (inline).

Figura nr.1.2 – Exemplu de stilizarea inline (preluată de pe www.w3schools.com/css/css_howto.asp)

“Cea mai recomandată dintre aceste metode este aceea prin care regulile de stilizare se plasează într-un fișier intern, mai ales în prima fază a stilizării, pentru a evita problemele cauzate de memoria CACHE a browser-ului. De asemenea, se recomandă evitarea pe cât posibilă a stilurilor plasate inline deoarece pagina HTML va primi o cantitate de cod prea mare pentru a putea fi citită cu ușurință de către dezvoltatori, mai ales în cazul mai mulți dezvoltatori lucrează la aceeași aplicație.” (O’Brien, 2008)

CAPITOLUL 2 – DIAGRAME UML

“UML (acronim pentru Unified Modeling Language) este un limbaj vizual de modelare utilizat pentru specificarea, construirea și documentarea sistemelor de aplicații orientate obiect și nu numai. O diagramă este o prezentare grafică a unui set de elemente, cel mai adesea exprimat ca un graf cu noduri (elementele) și arce (relațiile).” (Mihai Gabroveanu, 2016)

2.1 DIAGRAMA CAZURILOR DE UTILIZARE

O diagramă a cazurilor de utilizare (use case diagram) prezintă o colecție de cazuri de utilizare și actori care:

– oferă o descriere generală a modului în care va fi utilizat sistemul;

– furnizează o privire de ansamblu a funcționalităților ce se doresc a fi oferite de sistem;

– arată cum interactionează sistemului cu unul sau mai mulți actori;

– asigură faptul că sistemul va produce ceea ce s-a dorit.

Figura nr. 2.1 – Diagrama cazurilor de utilizare pentru un administrator de site

În figura nr. 2.1 este prezentată o diagramă UML în care utilizatorul beneficiază de datele de autentificare, reprezentând astfel unul dintre administratori. Un administrator, în afară de vizualizarea site-ului, lucru ce poate fi făcut de orice utilizator, poate să acceseze și panoul de control, având posibilitatea realizării acțiunilor de mai sus.

Prin modificarea datelor se înțelege modificarea a anumitor caracteristici a înregistrărilor, dar și ștergerea de înregistrări existente sau adăugarea de înregistrări noi.

2.2 DIAGRAMA DE OBIECTE

Diagramele de obiecte (de instanțe) ilustrează obiecte și legături. Diagramele de obiecte reprezintă structura statică și sunt folosite în primul rând pentru a arăta un context – spre exemplu, înainte sau după o interacțiune.

Numele fiecărui obiect reprezentat corespunde unui model incomplet, în care clasa obiectului nu a fost încă specificată. Clasa singură evită introducerea de nume care nu sunt necesare în diagrame și permite în același timp exprimarea mecanismelor generale valabile pentru multe obiecte.

Figura nr. 2.2 – Diagrama de obiecte pentru un client fără date de autentificare

În figura nr. 2.2 sunt prezentate toate opțiunile vizitatorului pe site. Obiectele din această diagramă sunt reprezentate de paginile care pot fi accesate, fiecare din acestea oferind informații noi legate de restaurantul Lorena’s Pizza. Fiecare pagină este denumită sugestiv pentru a ajuta utilizatorul să își procure ușor informațiile de care are nevoie.

2.3 DIAGRAMA DE ACTIVITATE

Diagramele de activitate se folosesc pentru modelarea aspectelor dinamice ale unui sistem, la diferite nivele: începând de la nivelul „business process”, până la nivel de operație a unei clase. Din acest motiv, în diagramele de activitate se folosesc un număr mare de simboluri.

O diagramă de activitate poate reda pașii unui proces de calcul, fluxul controlului într-o operatie, execuția secvențială sau paralelă a unor acțiuni.

O acțiune reprezintă un singur pas într-o activitate: un calcul, găsirea unor date, verificarea unor date, etc.

Figura nr. 2.3 – Diagrama de activități pentru un client care vizitează site-ul

În figura nr. 2.3 sunt evidențiate exact acțiunile unui client care vizitează site-ul. După ce intră pe prima pagină, identifică pagina care consideră că deține informațiile de care el are nevoie la momentul respectiv (fie că are nevoie să știe care sunt produsele disponibile, fie că are nevoie de numărul de telefon pentru a face o comandă, prețul pentru a organiza o petrecere la restaurant etc.) și decide dacă pe pagina accesată găsește informațiile necesare. Dacă nu a găsit momentan ceea ce avea nevoie, poate să salveze numărul de telefon și să apeleze ulterior restaurantul. În caz contrar, folosindu-se de informații poate apela pe loc numărul de telefon al restaurantului, pentru a face o comandă sau o rezervare, poate să contacteze direct restaurantul prin formularul de pe pagină de contact, etc.

2.4 DIAGRAMA DE STARE

O diagramă de stări modelează viața unui obiect prin stările sale și schimbările de stare care au loc pe parcursul vieții. Schimbările de stare sunt determinate de evenimente, o diagramă de stări reprezentând un automat cu stări finite.

Diagramele de stări modelează efectul interacțiunilor asupra stării interne a fiecărui obiect.

Figura nr. 2.4 – Diagrama de stări pentru administrator

Dacă în figura nr. 2.3 s-au evidențiat acțiunile unui client, în figura nr. 2.4 vor fi evidențiate acțiunile unui administrator, de data aceasta prin intermediul unei diagrame de stare. Utilizatorul va accesa site-ul, va accesa pagina de logare și va introduce datele pentru autentificare. Dacă autentificarea s-a realizat cu success, va fi accesat panoul de control, utilizatorul fiind astfel considerat administrator pe site. Administratorul va căuta secțiunea în care dorește să modifice date (acest lucru implicând modificarea caracteristicilor unor date existente, ștergerea unor date existente dar și adăugarea de date noi), va executa modificările dorite și le va salva. După ce aplicația Web va fi actualizată cu success, administratorul se va deloga de pe site și va părăsi site-ul.

CAPITOLUL 3 – REALIZAREA APLICAȚIEI

3.1 INTERFAȚA PUBLICĂ

Design-ul unui website este și cartea sa de vizită, designul reprezintă unul din cele mai importante elemente ce alcătuiesc un website. Design-ul mereu trebuie să fie în trend cu noile tehnologii dar și cu celelate website-uri. Practic tehnologia se schimbă și designul la fel, un exemplu ar putea fi următorul: în urmă cu cel puțin 2 ani , tehnologia HTML era pe versiuna 4 , stilurile (CSS) erau la versiunea 2 , acest lucru implica foarte multă muncă , mai ales în rotunjirea marginilor unui chenar. Ca element de design era foarte important orice progam de editare grafică, iar imaginile în format PNG sau GIF erau foarte folosite, deoarece fiecare colț și fiecare element de la marginea chenarului trebuia stilizat la nivel grafic, ulterior implementat pe website la nivel de linie cod, acest lucru îngreuna foarte mult încărcarea site-lui. Noua tehnologie HTML5 și CSS3 , totul se rezumă la 2 lunii de cod de stilizare și anume „border-radius:4px sau n numere px (pixeli) iar pentru margini border:Npx solid #ccc unde N este cifra”. În ziua de astăzi tehnologia mobilă se apropie cu puterea de pondere de piață de 50%, ceea ce înseamnă că aproape a ajuns la concurență dispozitivelor de tip desktop, iar varianta mobilă sau responsive a unui website este foarte importantă.

Revenind asupra primului paragraf: un utilizator este un potențial client al afacerii care o avem pe internet, dacă designul nu este atrăgător sau dacă are probleme vizuale există posibiliatea că acel utilizator să rămână doar un simplu utilizator nu și un client.

Design-ul primei pagini, este format din elemente din 2 librării, și anume librăria modernizr.js si librăria provenită din bootstrap.

Figura nr. 3.1 – Prima pagină a aplicației

Dupăcum se poate observa, acest design este unul flat și minimalist, culorile sunt de tip HEX, neefind prezentă nici o imagine de tip brackground, imagine care ar ajuta la creearea unor elementele din design-ul site-ului.

Slider-ul, este creat cu ajutor librăriei modernizr.js, această librărie a folosită în locul carousel-ului bootstrap, deoarece oferă un plus de stilizare prin animațiile predefinite din această ea.

Figura nr. 3.2 – Slider-ul depe prima pagină

Figura nr. 3.3 – Prezentarea codului indentat pentru afișarea slider-ului

În figura 3.3 am prezentat codul html pentru afișarea slide-ului. Acest cod, este unul minimalist, la baza lui fiind elemente din cadrul familiei „bullet list”: <ul><li>Continut</li></ul>.

Produsele din prima pagină sunt afișate prin intermediul unei interogări asupra bazei de date cu ajutorul unei structuri repetitive WHILE, sintaxa SQL folosită pentru interogarea datelor introduse în tabela produse, conținând elementul „LIMIT 8” și “ORDER by id DESC”.“LIMIT 8” reprezintă limitarea afișării numărului de elemente la 8, în timp ce “ORDER by id” indică coloana după care se va realiza ordonarea, iar “DESC” indică modul de ordonare descrescător.

Se observă de asemenea în codul prezentat mai sus apariția funcției mysql_fetch_array($query). Această funcție returnează parametrul $query sub formă de vector, atribuindu-se variabilei $row la fiecare iterație a ciclului WHILE.

Pentru a afișa informațiile detaliate ale produselor, am folosit elemente din librăria grid.js, astfel am obținut un dropdown foarte elegant, care oferă un grad mult mai ridicat de a ajunge la informațiile detalitate.

Informațiile detaliate sunt afișate în următoarea formă:

Nume

Descriere

Preț

Imagine produs

Figura nr. 3.4 – Lista de produse de pe prima pagină

Codul sursă pentru afișarea conținului este următorul:

Acest cod sursă este unul minimalist din punct de vedere al sintaxei HTML, principala formă de afișare a conținutului, rămânând în continuare „bullet list-ul”, precum și la slide-show.

Conținutul este afișat direct din baza de date folosind structura repetitivă WHILE.

Listade evenimente din prima pagină folosește de asemenea structura repetivă WHILE, conțintul fiind interogat din tabela „evenimente”. Și aici elementele sunt ordonate după ID în formă descrescătoare, iar limita de afișare este de doar 2 elemente, în cazul nostru doar ultimele 2 evenimente adăugate.

Figura nr. 3.5 – Lista de evenimente de pe prima pagină

Afișarea evenimentelor se face folosind clasele de bootstrap col-md-6, cod folosit pentru afișarea pe 2 coloane ale desktop-ului și col-xs-12, clasă utilizată pentru afișarea conținutului într-o singură coloană, în varianta mobilă a website-ului. Butonul „TOATE EVENIMENTELE”, conține un hyper-link, cu trimitere către pagina evenimente.php.

În cadrul paginii cu toate produsele(produse.php) design-ul afișării produselor este același precum și în prima pagină, dar de data aceasta sintaxa de interogare SQL este diferită:

Această interogare nu mai este limitată în ceea ce privește numărul de elemente. De aceea ea va afișa toate informațiile din baza de date MySQL, din tabela produse. Singura asemănare între interogarea din pagina principală și această interogare este aceea că ordinea afișării este aceeași, după cămpul ID în ordine descrescătoare.

Figura nr. 3.6 – Pagina de Produse a aplicației

Pagina galeriei foto(galerie.php), este destinată prezentării vizuale a restaorantului. Afișarea conținutului (imaginilor) este realizat cu ajutorul div-urilor ale căror clasă de bootstrap utilizată în aplicație este col-md-4. Această clasă permite afișarea a patru elemente pe linie în varianta desktop, iar pentru varianta mobilă a paginii am folosit clasa de bootstrap col-xs-6, aceasta facilitând afișarea elementelor pe două coloane.

Pentru interogarea bazei de date am folosit următoare sintaxă SQL:

Aceastăsintaxă de interogare afișează toate elementele din baza de date, iar ordonarea elementelor se realizează în funcție de câmpul ID, în mod descrescător.

Acțiunea pe click asupra unei imagini, duce la acționarea script-ului lightbox, a cărui scop este să deschidă un modal responsive, în care utilizatorul poate vedea o anumită poză într-o dimensiune mult mai mare, nefiind nevoie să părăsească pagina web. Acest lucru poate fi observat în fig.

Figura nr. 3.7 – Afișarea modal-ului responsive

Pagina ofertelor(blog.php) in aceasta pagina sunt afisate ofertele current dar si cele trecute, interogarea SQL este actionata de urmatorul query:

La felca și în cazurile anterioare, s-a realizat o interogare asupra întregii tabele, în cazul acesta, tabela blog conține toate informațiile datele necesare pentru a afișa conținutul evenimentelor. Fiind pagină destinată ofertelor, o limită asupra datelor afișate din baza de date nu este necesară, dimpotrivă clienții ar trebui chiar să aiba posibilitatea să vadă ofertele vechi și ulterior să își formeze o părere asupra restaurantului.De aceea ofertele trebuie în permanență verificate, iar din punct de vedere al marketing-ului, fie că sunt oferte vechi sau noi, ele trebuie de fiecare dată să atragă clientul.

Un vizitator este un potențial client de aceea el nu trebuie doar să fie convins ci și atras în totalitate pentru a ne asigura că el va face o comandă, pe baza informațiilor oferite de website.

Figura nr. 3.8 – Pagina de Oferte a aplicației

Dupa cum se poate observa in fig. 3.8, ofertele sunt afișate într-o singură coloană, iar sintaxa de marcare HTML este următoarea:

Pentru afișare s-a folosit un tag de tip <div>, împreună cu clasa Bootstrap col-md-12, pentru afișarea într-o singură coloană în varianta desktop. Pentru mobil s-a păstrat o singură coloană de afișare, prin folosirea clasei de boostrap col-xs-12.

Pagina evenimentelor are forma unui timeline, evenimentele fiind afișate sub forma unui șir continuu de elemente.

Figura nr. 3.9 – Pagina de Evenimente aplicației

Pentruacest tip de afișare a evenimentelor s-a urmărit exemplul afișării de pe Facebook, mai exact afișarea de tip timeline. Motivul pentru aceasta a fost că într-o lună pot fi un număr mai ridicat de evenimente decât în alte luni și de aceea am dorit ca vizitatorul să aibă posibilitatea să le vadă pe toate în ordine cronologică.

Pentru afișarea acestor elemente, interogarea folosită a fost următoarea:

Iar afișarea în sine s-a realizat prin intermediul următoarei secțiuni de cod:

În această secțiune de cod se pot observa și elemente din HTML5 și anume tag-ul “<time></time>”. Acest tag este destinat în mod special afișării timpului.

Stuctura repetivăWHILE, afișează elementele interogate din baza de date din tabela evenimente.

Elementele afișate sunt următoarele:

Nume

Dată

Descriere

Locuri disponibile

Pret

Fotografia de prezentare a evenimentelui poate fi vizualizată în lightbox, precum și în pagina galeriei.

Evenimentele au un rol important în acest tip de afacere deoarece prin evenimente se pot atrage cliențițintă. În cazul acestui tip de aplicație, este absolut necesar ca evenimentele să poată fi vizualizate și pe site, în acest mod fiind posibilă cu ușurință promovarea evenimentelor pe rețele sociale, dar în același timp fiind promovate și websiteul dar și restaurantul împreună cu întreaga afacere.

Pagina de contact, este una dintre cele mai importate pagini a unui site, deoarece aici trebuie să se regăsească adresa, datele firmei (dacă este nevoie) și cel mai important, posibilitatea de a lua legătura cu o persoană responsabilă cu relațiile cu clienții din cadrul organizației.

Figura nr. 3.10 – Pagina de Contact a aplicatiei

În componențaacestei pagini, au fost folosite două elemente foarte importante și anume, embed-ul Google Maps, pentru a pune pe website harta locatiei actuale și formularul de contact. Pentru afișarea hărții cu locația actuală s-a folosit următorul IFRAME:

<iframe src="https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d2825.442796846092!2d26.034454315124968!3d44.91433007909825!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x40b236277930fa87%3A0x1464122243dd931c!2sUniversitatea+Petrol-Gaze+din+Ploie%C8%99ti!5e0!3m2!1sro!2sro!4v1495483599485" width="100%" height="300" frameborder="0" style="border:0" allowfullscreen></iframe>

Se observă în codul de mai sus definirea locației ca fiind Universitatea Petrol-Gaze din Ploiești.Acest lucru a fost posibil prin căutarea locatiei în motorul de căutare Google. Apoi s-a accesat secțiunea Hărți de la rezultatele căutării și apoi butonul de distribuire. Astfel apare o fereastră cu un link ce poate fi copiat și apoi lipit ca valoare pentru sursa (src) unui IFRAME.

Figura nr. 3.11 – Exemplu de link generat din Google Maps.

Formularul de pe pagina de Contact nu este conectat la server-ul SMTP, ci este un formular al cărui scop este acela de a face inserarea datelor completate, către o anumită tabelă din baza de date. Mesajele private se pot vedea din panoul de administrator.

Sintaxa SQL folosită pentru a adăuga informațiile în baza de date este următoarea:

Adăugarea datelor se face în tabela contact, dup ace s-a apăsat butonul de trimite a mesajului, locația de reîncărcare este aceeași (contact.php) acest lucru se poate observa pe ultima linie a codului de mai sus:header('location:contact.php');.

3.2 PANOUL DE ADMINISTRATOR

Panoul de administrator este cea mai importantă secțiune a unui website dinamic. Prin intermediul panoul de administrare, se pot modifca datele pe care utilizatorii le pot vedea.

Un panou de administrare pe un website este foarte important deoarece anumite costuri pot fi eliminate plus modul de a actualize datele nu este deloc complicat. Acele costuri sunt eliminate din cauza faptului că restaurantul, în loc să plătească o altă firmă pentru întreținerea și actualizarea site-ului, acesta poate fi “îngrijit” direct de cătreadministratori.

Panoul de administrator este compus de trei secțiuni, două dintre ele fiind statice iar a treia dinamică.

Prima secțiune este meniul panoului de administrare de pe latura stânga, conținutul de aici este static iar el se poate regăsi în fișierul sidebar.php. Meniul vertical din header-ul site-ului, este al doilea lea element static al panoului de control. Acesta la rândul său este format din mai multe elemente.Primul dintre ele, este LOGO-ul, situat în latura stângă, deasupra meniului. Al doilea element este titlul (Panou de Control), următorul element este un hyperlink către interfața publică a site-ului, iar următorul element este numele administratorului. Numele este identificat în urma interogării, bazate pe logarea administratorului.Ultimul element este butonul de delogare.

Pagina setată ca default în urma logării, este pagina administratorilor.Aici se pot vedea toate detaliile administratorilor, iar totodată aceasta reprezintă și una din secțiunile dinamice ale panoului de administrator, toate informațiile fiind afișate complet în urma interogării bazei de date.

Figura nr. 3.12 – Lista de administratori

Butonul “Adaugă Administrator”, va deschide un modal din framework-ul Bootstrap.Acolo vor fi afișate câmpurile necesare pentru adăugarea unui nou administrator. Câmpurile sunt următoarele: username, parolă și nume complet.

Figura nr. 3.13 – Modal-ul adăugării unui nou administrator

Această modalitate prin care un administrator este adăugat de către alt administrator este mult mai sigură decât cazul în care un administrator era nevoit să își facă singur cont, deoarece există posibilitatea înregistrării persoanelor care nu sunt angajați ai restaurantului.

Butonul “Editează”, va deschide un alt modal, din framework-ul bootstrap, de data aceasta datele fiind sunt preluate din baza de date și afișate ca valoare într-un input. În acest mod datele sunt editate cu succes prin acționarea butonului salvează.

Butonul “Șterge” are rolul de a elimina conținutul nedorit, în cazul de față un alt administrator. Pentru a putea șterge continutul din baza de date link-ul ce trebuie accesat este următorul http://localhost/lorena/administrator/modaluri/admin/delete.php?id=3, unde id=3 este defapt id-ul cu care este înregistrat administratorul în baza de date.

În pagina produselor din panoul de control se poate vedea că întreaga bază de date cu produse este afișată, existând posiblitatea editării produselor sau a adăugării altor produse noi.

Figura nr. 3.14 – Lista de produse

Întreg conținutul este dinamic, iar afișarea produselor este sub formă de tabel.Pe prima coloană a tabelului este id-ul produsului identificat în baza de date în tabela produse.

Imaginea produselor este afisată prin același lightbox folosit și în interfața publică, oferind posiblitatea administratorului să vizualizeze fotografia într-o dimensiune mai mare prin simpla acțiune a unui click direct pe poză.

Butonul “Adaugă produs” va deschide un modal oferit de framework-ul bootstrap unde câmpurile pot fi completate iar rezultatul va fi reprezentat de adăugarea cu success a unui nou produs în baza de date.

Butonul “Edit” va deschide modal-ul prezentat în figura nr. 3.15, prin intermediul căruia pot fi vizualizate detaliile produsului în întregime pentru a facilita editarea lor.

Figura nr. 3.15 – Modal-ul de editare a caracteristicilor unui produs

Afișarea detaliilor se face cu prin intermediul câmpului value din tag-ul input.

Se pot salva modificările prin acționarea butonului “Save” sau se pot abandona modificările apăsând pe butonul “No” sau în afara modal-ului

În pagina galerieigaleria foto a site-ului este dinamică, administratorul (sau administratorii) fiind singurii carepot popula baza de datecu poze.

Figura nr. 3.16 – Lista de poze din galerie

Afișarea pozelor se face folosind clasa de Bootstrap col-md-4, organizândpatru poze pe linie. S-a folosit stilul CSS pentru a afisa butoanele de editare si stergere peste poza in partea de sus, stilul implică valorile: position:absolute;top:0;left:0;right:0; si un background: rgb cu transparență.

Pentru a adăuga o poza în galerie se va executa acțiunea asupra butonului “Adauga Imagine” și se va deschide modal-ul prezentat in figura nr. 3.17.

Figura nr. 3.17 – Modal-ul de adăugarea a unei noi imagini

În baza de date se va completa tabela Photo, sub forma uploads/galerie/numepoza.jpg. Pozele se pot edita sau încărca din nou pe site prin acțiunea asupra butonului “Edit”, dar se pot sterge prin acțiunea butonului destinat acestei actiuni. Butonul de editare a fost folosit deoarece s-a considerat că există și cazul în care se dorește schimbarea unei poze, dar și pastrarea ei în aceeași poziție.

În pagina oferte s-a decis crearea unui feed (posibilitatea afișării tuturor elementelor) asupra ofertelor noi si vechi. Adăugarea ofertelor este dinamică, prin utilizarea modal-urilor.

Figura nr. 3.18 – Lista de oferte din panoul de control

Lista de oferte este afișată într-o formă de tabel, coloanele fiind împărțite astfel:id, nume oferta, continut, imagine, actiuni.

Afișarea imaginilor se face cu ajutorul lightbox-ului, prin acțiunea asupra imaginii cu un click.

Adăugarea ofertelor se face prin acțiunea asupra butonului ”Adauga oferta”,rezultatul fiind cel prezentat in figura nr. 3.19.

Figura nr. 3.19 – Modal-ul de adăugare a unei noi oferte

Pagina evenimentelor. În cazul unui restaurant evenimentele sunt foarte importante, de aceea informațiile despre un eveniment trebuie să fie cât mai concrete.Afișarea evenimentelor se face cu ajutorul unui tabel, împărțit pe mai multe coloane și anume: id,nume, data, locuri, pret, imagine si actiuni.

Figura nr. 3.20 – Lista de evenimente din panoul de control

Adăugarea evenimentelor, prin acționarea butonului “Adauga Eveniment”, se va deschide un modal, iar în acest modal se vor găsi câmpurile ce trebuiesc completate, pentru ca un eveniment să fie cât mai complet.

Figura nr. 3.21 – Modal-ul de adăugare a unui nou eveniment

Afisarea imaginii evenimentului se poate face prin acțiunea cu un click asupra imaginii, afișarea fiind făcută cu ajutorul lightbox-ului.

Pagina contact,având formularul de contact din secțiunea publică a site-ului ce trimite mesajele de la vizitatori către baza de date, în secțiunea privată a panoului de control mesajele pot fi citite și ulterior șterse.

Figura nr. 3.22 – Lista de mesaje din panoul de control

După cum se observă, împreună cu id-ul din baza de date care este de tip auto increment (la fiecare înregistrare nouă, acesta va lua valoarea +1).Câmpul datei reacționează la fel, în momentul în care s-a trimis un mesaj, baza de date va completa automat câmpul destinat datei, tocmai pentru a se putea ține evidența cronologică a mesajelor. Mesajele de asemenea pot fi șterse, dar se pot vedea și mai detaliat, prin acțiunea asupra butonului “vezi”. Se va deschide un modal, care întocmai unui email , datele sunt organizate pentru a facilitata citirea cu atenție a mesajului.

Figura nr. 3.23 – Modal-ul de vizionare a unui mesaj primit

3.3 BAZA DE DATE

A avea un magazin cu o diversitate mare produse este foarte avantajos pentru afacere, dar trebuie oferită o mai mare flexibilitate cu aceste produse. Analizând modul de extindere a informațiilor stocate despre produsele noastre, și extinderea produselor în acest fel, anumite produse trebuie să permită utilizatorului să personalizeze produsul, în sensul să aibă posibilitate să selecteze o variantă a produsului. Astfel se vor incărca imagini și text ca parte a produsului pentru a ajuta clientul în decizia sa. (Peacock, 2010)

Conectarea la baza de date din localhost/phpmyadmin s-a făcut astfel în fișierul administrator/config.php:

<?php

mysql_select_db('lorena', mysql_connect('localhost','root',''))or die(mysql_error());

error_reporting(E_ALL);

ini_set("display_errors", 0);

?>

În această porțiune de cod, ‘lorena’ reprezintă numele bazei de date, localhost reprezintă numele host-ului (în cazul acestei aplicații este vorba de o găzduire locală, chiar pe mașinăria de pe care se va prezenta proiectul) iar root reprezintă numele dezvoltatorului Web care folosește și modifică baza de date.

Baza de date este formatădin următoarele tabele:

– Tabelul administrator format din coloanele id, Username, Password si nume_complet ce conține înregistrări despre toate persoanele care au drept de administrare pe site. Cu ajutorul acestui tabel se va face verificarea în momentul când o persoană încearcă să se autentifice pe site. De asemenea tot din acest tabel se va afișa în partea dreaptă sus numele administratorului care este logat în acel moment;

– Tabelul blog format din coloanele id, title, content și photo. Înregistrările din acesta vor fi afișate în pagina Oferte (blog.php);

– Tabelul contact format din coloanele id, Name, Email, Message, data_timp și Subject. Acestea sunt informații legate de mesajele primite de administrator de la utilizatori.

– Tabelul evenimente format din coloanele id, Title, locuri, pret, data, Content și Photo. Aceste înregistrări se vor afișa în pagina Evenimente (evenimente.php)

– Tabelul galerie format din coloanele id și Photo și reprezintă conținutul de pe pagina Galerie (galerie.php)

– Tabelul produse format din coloanele id, Name, Description, Price, Photo ce conțin informațiile despre toate produsele afișate în pagina Produse (produse.php)

Pentru afișarea tuturor acestor elemente din baza de date s-au folosit interogări de tip SELECT, ca în exemplul următor:

$query = mysql_query("select * from produse ORDER by id DESC ")or die(mysql_error());

Apoi, folosind o structură repetitivă de tip WHILE înregistrările se afișează pe pagină, aplicându-se de fiecare dată reguli de stilizare diferite:

while ($row = mysql_fetch_array($query)) {

$id = $row['id'];

<div class="col-md-4 col-xs-6" style="background: url(administrator/<?php echo

$row['Photo']; ?>); background-size:cover;background position:center;

height:300px;">

<a style="height:100%;width: 100%;display:block;" class="example-

image-link" href="administrator/<?php echo $row['Photo']; ?>" data-

lightbox="example-1"></a>;

</div>

<?php } ?>

De asemenea interogările de tip SELECT apar și în panoul de administrare pentru a facilita modificarea și organizarea înregistrărilor existente deja în baza de date. Prin intermediul acestora, se afișează din nou toate elementele din tabelul respective, de data această cu opțiuni de ștergere sau de modificare.

Restul interogărilor pentru modificarea înregistrărilor sunt folosite doar pentru paginile din panoul de administrare. Pentru simplificarea utilizării acțiunilor de adăugare, ștergere sau modifica de înregistrări, acestea au fost mai întâi adăugate în folder-ul numit “modaluri”, iar mai apoi repartizate în trei fișiere diferite (adaugă.php, delete.php și editează.php) și separate în câte un folder cu nume sugestiv (blog, events, etc.) pentru pagina asupra căreia se acționează. Singura excepție de la această regulă este folder-ul contact care conține doar un fișier de ștergere a mesajelor primite și un fișier pentru vizionarea mesajelor de la vizitatorii de pe site.

Apoi, pentru fiecare acțiune în parte se face includerea porțiunii de cod acolo unde este nevoie de aceasta astfel:

<a class="btn btn-danger" href="modaluri/galerie/delete.php?id=<?php echo $row['id']; ?>">Sterge </a>

<?php include 'modaluri/galerie/editeaza.php'; ?>

<?php include 'modaluri/galerie/adauga.php'; ?>

Numele folder-ului “modal-uri” vine de la modul în care îi sunt afișate toate aceste opțiuni administratorului de site cu privire la modificarea înregistrărilor, și anume sub formă de modal-uri.

În fiecare modal, după ce se realizează toate modificările necesare, administratorul are două posibilități și anume să salveze modificările sau să le anuleze. Aceste două posibilități sunt oferite prin intermediul a două butoane cu nume sugestive. În cazul în care se alege opțiunea de anulare a modificărilor, modal-ul se închide. În caz contrar, modificările se salvează în baza de date și pot fi imediat vizibile utilizatorilor care vizitează site-ul.

Interogările de modificare ale înregistrărilor au fost realizate după cum urmează:

– Inserarea de noi înregistrări: mysql_query("insert into galerie (Photo) values ('$location')") or die(mysql_error());

– Ștergerea de înregistrări existente: mysql_query("delete from galerie where id='$id'")or die(mysql_error());

– Modificarea înregistrărilor existente: mysql_query("UPDATE galerie SET Photo='$location' WHERE id = '$id'") or die(mysql_error());

3.4 PAGINA DE AUTENTIFICARE

Orice website care are un panou de administrare, trebuie să aibă în componența sa o pagină de logare, această pagină fiind principalul mod de a proteja site-ul și pe clienții acestuia împotriva rău-voitorilor.

Pe o pagină de logare, trebuie completate anumite informații. Minimul de informații de acest gen este reprezentat de numele utilizator și de parolă. Acestea sunt verificate de sintaxa PHP impreună cu baza de date. Dacă datele introduse corespund cu cele din baza de date, accesul asupra panoului de administrator este asigurat. În caz contrar, va fi afișat un mesaj de eroare, caz în care utilizatorul care incearcă să se autentifice ori este acel tip de persoană rău-voitoare mentionată mai sus sau este un administrator care și-a introdus greșit datele, iar la următoarea încercare le va introduce corect.

Figura nr. 3.25 – Pagina de logare a aplicației

Conexiunea la baza de date, este aceeași ca și în partea destinată utilizatorilor, printr-o includere a fișierului config.php, după care se continuă cu codul necesar afișării elementelor de pagină.

Sintaxa de cod, pentru verificarea datelor din baza de date este următoarea:

După cum se poate observa în codul de mai sus, dacă datele sunt valide, sesiunea ca administrator a început. Dacă din greșeală administratorul a ieșit de pe link-ul localhost/lorena/administrator, se poate reveni fără ca administratorul să se mai logheze încă odată. Sesiunea este în continuare validă. Continuarea validității sesiunii este marcată de sintaxele session_start() care marchează începutul sesiunii în care s-au reținut anumite valori și $_SESSION['id'] = $row['id'] prin care se preiau în variabilele locale acele valori reținute în sesiune.

CONCLUZII

Avantaje ale prezentării on-line a unui restaurant:

Fiind dezvoltate pentru a putea fi accesate de pe orice browser, aplicațiile web trebuie testate doar pentru diferite astfel de navigatoare. Astfel, la ele se poate lucra de pe orice sistem de operare, nefiind necesară și testarea pe mai multe din acestea. Rezultă astfel costuri mai scăzute în procesul de realizare a unei aplicații web.

Spre deosebire de aplicațiile tradiționale, cele web sunt disponibile și ușor de accesat oriunde și oricând, atât timp cât se utilizează un PC sau un telefon care are conexiune la Internet. Așadar, atât clienții cât și proprietarii au mai ușor acces la ele. În plus, aplicațiile web sunt mai ușor de costumizat decât cele de pe desktop. Designul, prezentarea și întregul mesaj sunt mai ușor de modificat, dar pot fi prezentate și diferit pentru diferite grupuri de utilizatori.

Conținutul unei aplicații web poate fi accesat de pe o varietate de dispozitive (PC, telefoane mobile, tablete, PDA-uri, mai nou console și multe altele), sporind și mai mult posibilitățile utilizatorilor să aibă acces și să interacționeze cu informațiile. Iar aplicațiile web pot interacționa între ele mult mai ușor, sporind astfel accesul clienților la date.

Nu în ultimul rând, acestea sunt ușor de instalat (prin intermediul actualizărilor se poate ajunge la toți utilizatorii deodată), se adaptează la un volum de informații din ce în ce mai mare și sunt mai bine securizate (găsindu-se pe servere dedicate).

Avantaje ale creării unui site dinamic:

Site-urile dinamice sunt mult mai flexibile, fiind mult mai ușor de gestionat. Configurarea acestora este mult mai complicată deoarece utilizează limbajul de programare PHP, însă odată configurat acesta este mult mai ușor de modificat. Folosind un CMS (content management system) conținutul site-ul poate fi actualizat, modificat, pot fi create pagini noi, iar conținutul irelevant poate fi șters. Aceste modificări se realizează rapid, nu necesită cunoștințe de programare și pot fi în desfășurare chiar și atunci când un vizitator este prezent pe pagina respectivă.

Un site dinamic oferă utilizatorului o serie de avantaje:

– control deplin asupra site-ului (pagini, texte, imagini, categorii si subcategorii);

– optimizarea SEO;

– posibilitate de integrare a unui magazin online în interiorul site-ului;

– reducerea costurilor de întreținere;

– utilizatorul nu se limitează doar la crearea unei singure pagini de aterizare (landing page);
– rapoarte privind traficul pe site – care este cel mai vizualizat conținut, de unde provin vizitatorii (rețele de socializare, blog-uri etc.), ce cuvinte cheie folosesc pentru a ajunge pe site, cît timp petrec pe fiecare pagina utilizatorii și multe alte informații;
– posibilitate de integrare a newsletter-ului.

BIBLIOGRAFIE

Buraga, S. (2003), Aplicatii Web lacheie, Editura Polirom, Iași

Dumitrașcu, L. (2006), Crearea site-urilor web-Colecția Masterate U.P.G., Editura Universitatății Petrol-Gaze, Ploiești.

Dușmănescu, D. (2005), Baze de date. Editura Universității, Ploiești.

Easttom, C. (2007), Advanced JavaScript, Editura Wordware Applications Library, Texas

Petrascu, C. (2001), Curs – Mediul Internet

Tudorică, B.G. (2016), Călătorie prin lumea Big Data, Editura PRINTECH, București

Taylor, D. (1998), Crearea pginilor Web cu HTML 4, Editura Teora, București

Heilmann, C. (2006), Beginning JavaScript with DOM Scripting and Ajax, Editura Apress, New York.

Marinoiu, C. (2011). Programare în PHP. Editura Universității Petrol-Gaze din Ploiești

McCarty, B. (2002). PHP 4. Editura Teora, București

O’Brien, P., Olsson, T. (2008), The Ultimate CSS Reference, Editura SitePoint Pty Ltd, USA

Peacock, M. (2010),PHP 5 e-commerce Development, Editura Packt Publishing Ltd., Birmingham

Perkins, J. B. (1997). SQL fără profesor în 14 zile. Editura Teora, București

Aplicații Web,disponibil online la www.atelierdeweb.ro/aplicatii-web/, [accesat: 26.06.2017]

Care este diferenta dintre un site static si unul dinamic?, disponibil online ladow-media.ro/care-este-diferenta-dintre-un-site-static-si-unul-dinamic/, [accesat: 26.06.2017]

Cascading Style Sheets,disponibil online la ro.wikipedia.org/wiki/Cascading_Style_Sheets, [accesat: 26.06.2017]

Ce este PHP?,disponibil online la php.net/manual/ro/intro-whatis.php, [accesat: 26.06.2017]

Curs 5 – Comert electronic,disponibil online la www.aut.upt.ro/staff/diercan/data/PIPPS/curs-06.pdf, [accesat: 25.06.2017]

Diagrame de activitate, disponibil online la http://andrei.clubcisco.ro/cursuri/3ip/curs/5.uml-alte%20modele/5.6_UML_Diagrame_de_activitate.doc, [accesat 27.06.2017]

Diagrame de obiecte, disponibil online la http://users.utcluj.ro/~jim/OOPR/Resources/Laboratory/DiagrameDeObiecte.pdf, [accesat 27.06.2017]

Diagrame de stari, disponibil online la http://andrei.clubcisco.ro/cursuri/3ip/curs/5.uml-alte%20modele/5.8_UML_Diagrame_de_stari.doc., [accesat 27.06.2017]

JavaScript, disponibil online la ro.wikipedia.org/wiki/JavaScript, [accesat: 26.06.2017]

Mihai Gabroveanu (2005).Reprezentarea UML a claselor. Disponibil online la: http://inf.ucv.ro/~mihaiug/courses/poo/slides/Curs%2005%20-%20UML.pdf, [accesat: 27.06.2017]

Modelarea cazurilor de utilizare, disponibil online la http://inf.ucv.ro/~mihaiug/courses/is/lab/lab3-4.pdf, [accesat 27.06.2017]

PHP,disponibil online la ro.wikipedia.org/wiki/PHP, [accesat: 26.06.2017]

Vlădoiu, M. (2014).Curs Baze de Date, http://www.unde.ro/cursuri/BD, [accesat 25.06.2015]

Vlădoiu, M. (2014).Curs Sisteme de Gestiune a Bazelor de Date http://www.unde.ro/cursuri/BD, [accesat 25.06.2015]

Similar Posts

  • Castelul Versailles i Castelul Pele [602385]

    Istorie. Sugestii didactice pentru clasa a IV-a Colec]ia DDiiddaaccttiiccii este coordonat\ de Nicoleta Sasu (Coordonator Programe, Centrul Educa]ia 2000+) Aceast\ lucrare a ap\rut cu sprijinul financiar al CCeennttrruulluuii EEdduuccaa]]iiaa 22000000++.. Autori: DDaanniieellaa BBee[[lliiuu, Înv\]\toare, {coala Central\, Bucure[ti MMoonniiccaa DDvvoorrsskkii, Directoare de Programe, Centrul Educa]ia 2000+, Bucure[ti MMiihhaaii MMaanneeaa, Inspector de Specialitate, Inspectoratul {colar al Municipiului…

  • NOȚIUNI TEORETICE CARE STAU LA BAZA FOLOSIRII [311202]

    CAPITOLUL I NOȚIUNI TEORETICE CARE STAU LA BAZA FOLOSIRII DESCOPERIRII DIRIJATE I.1. Chimia – știință a [anonimizat]. Formal, [anonimizat]. Ea mai este denumită și "știința de mijloc" sau "știința centrală" [anonimizat]. Porțiunile limitate din materie care prezintă compoziție constantă se numesc substanțe chimice. [anonimizat]: I. După natura lor: [anonimizat]; [anonimizat]. II. [anonimizat]: [anonimizat]. [anonimizat]-l prezintă,…

  • Știința mediului [308736]

    UNIVERSITATEA DIN BUCUREȘTI Facultatea de Geografie Domeniul: Știința mediului Program de studii: Geografia mediului Dezvoltarea urbană a municipiului Focșani Coordonatori stiințifici: Prof. Univ. dr. Liliana Dumitrache Assist. Univ. Dr. Ana-Maria Taloș Student: [anonimizat] 2020 Introducere: Conceptul orașului reprezintă o dezvoltare complexă.[anonimizat].Toate aceste elemente fiind intr-o [anonimizat], adaptarea la noi metode tehnologice. Motivația alegerii temei este…

  • Pneumologia vol. 60, nr. 4, 2011 [631796]

    Pneumologia vol. 60, nr. 4, 2011 198Prezent și perspectivă în utilizarea de noi medicamente antituberculoase Cristian Didilescu U.M.F. CraiovaTUBERCULOZA ÎN ROMÂNIA După 40 de ani de neglijare, au fost făcute o serie de pro- grese încurajatoare în cercetarea și dezvoltarea de medica- mente anti-TB, rezultând un număr mare de proiecte noi introduse în portofoliul global….

  • 12N 12S Conectori [605380]

    12N / 12S Conectori Descriere | Aplicații | Misiuni Pin | Instrucțiuni de Adunarea Descriere 7 pini conectori grele folosite la remorci, rulote etc conecta iluminat obligatorii (12N) și sisteme auxiliare de putere (12S) la vehiculul tractor. Ambii conectori sunt similare în aparență în afară de gen de pini, menite să asigure conectori nu poate…

  • Securitatea pe Internet [618376]

    -1 – CAPITOLUL VIII Securitatea pe Internet Vulnerabilit ățile mediului Internet care afecteaz ă comerțul electronic Un factor principal care frâneaz ă oarecum dezvoltarea comer țului electronic îl constituie insecuritatea. Ini țial, serviciile din Internet au fost proiectate pentru cercetare și nu pentru desf ășurarea unor tranzac ții comerciale. Se pot identifica mai multe probleme…