Niculita Nicolae Ia 1501 [624070]

UNIVERSITATEA DE STA T DIN MOLDOVA
FACULATATEA MATEMATICĂ ȘI INFORMATICĂ
DEPARTAMENTUL INFORMATICĂ APLICATĂ

NICULIȚA NICOLAE

SITE -URI DE PREZENTARE ȘI CORPORATIVE
Teză de licență

444.3 INFORMATICĂ APLICATĂ

Șef departament : ______________ Ungureanu Valeriu , dr., conf. univ.
Conducător științific: ______________ Pleșca Natalia , lector universitar
Autor: ______________

CHIȘINĂU -2018

2
CUPRINS

Lista abrevierilor ………………………….. ………………………….. ………………………….. …………………….. 3
Introducere ………………………….. ………………………….. ………………………….. ………………………….. … 4
I. CLASIFICAREA SITE -URILOR WEB CONFORM CARACTERISTICILOR LOR DE
BAZĂ ………………………….. ………………………….. ………………………….. ………………………….. ……….. 8
1.1. Tipuri de site -uri web ………………………….. ………………………….. ………………………….. ………… 8
1.2. Caracteristicile de bază ale unui site de prezentare și ale unui site corporativ ………………… 9
II. TEHNOLOGII FOLOSITE PENTRU DEZVOLTAREA SITE -URILOR CORPORATIVE
………………………….. ………………………….. ………………………….. ………………………….. ………………. 13
2.1. Limbaje și tehnologii w eb ………………………….. ………………………….. ………………………….. … 13
2.2. Sisteme de management a coținuturilor și frameworkuri ………………………….. ………………. 17
III. DESCRIEREA SITE -ULUI CORPORATIV “TIGER -GYM” ………………………….. ……….. 23
3.1. Descrierea problemei ………………………….. ………………………….. ………………………….. ………. 23
3.2. Formularea și analiza cerințelor față de aplicație. Utilizatorii aplicației ………………………. 28
3.3. Proiectarea arhitecturii, funcționalităților și a datelor aplicației ………………………….. ……… 29
3.4. Descrierea soluției tehnologice pentru dezvoltarea aplicației ………………………….. …………. 30
3.5. Descrierea realizării aplicației ………………………….. ………………………….. ……………………….. 36
Concluzii ………………………….. ………………………….. ………………………….. ………………………….. …. 38
Bibliografie ………………………….. ………………………….. ………………………….. ………………………….. 40

3
Lista abrevierilor

 SEO – Search Engine Optimization
 HTML – HyperText Markup Language
 CSS – Cascading Style Sheet
 PHP – Personal Home Page
 MySql – Relational Database Management System
 JS – High-Level, Dynamic , Untyped
 jQuery – Cross -Platform Javascript Library

4
Introducere
La momentul de față , un rol destul de important în dezvoltarea unei afaceri o are anume
prezența în mediul web a acesteia . Web site-ul este un instrument al afacerii, cu ajutorul căruia
se poate lucra ș i cîștiga î n acela și timp. Dacă o companie nu deține un web site al său,
majoritatea clienților vor privi fă ră mare încredere la serviciile sau produse le companiei
respective , întrucât se creează impresiă că acea companie nu dorește să -și expună identitatea
public, deci, pare a fi un fapt dubios . De asemenea, dacă site -ul unei companii este prost făcut –
acesta devine un prim factor ce denotă că compania dată poate fi de neîncredere. În așa fel, totul
se rezumă la un simplu adevăr: ”Dacă afacerea nu este pe Internet, atunci nu sunteți în afaceri ”,
Bill Gates .
Un web site poate oferi orice tip de informații, la orice oră, concomitent mai multor
persoane, aflate î n orice colț al lumii. Volumul informației care este afișat pe un site depinde în
primul rînd de domeniul afacerii de care acesta ține . Anume funcția informativă este cea care de
regulă stimulează necesitatea creării unui web site . Web site-ul oferă posibilitatea de a găsi
informația necesară î n volum mai mare, în termen mai scurt și foarte comod în același timp.
La prima vedere, crearea și dezvoltarea unui web site reprezintă o problemă deja
rezolvată. Într -adevăr, din punct de vedere strict tehnic , crearea acestuia nu mai constituie un
obstacol în fața organizațiilor care doresc acest lucru. Din punct de vedere al marketing -ului,
crearea și dezvoltarea unui web site trebuie din timp să preusupună scopul acestui site,
auditoriul, interacțiunea efect ivă cu acel auditoriu și, desigur, funcționarea acestuia în limitele
condițiilor prestabilite . Doar în așa mod este posibilă optimizarea ulterioară a site -ului pentru a
ușura căutarea acestui a de către motoarele de căutare (SEO), deci, a -l face mai accesib il
utilizatorilor.
Web site-ul poate con tribui semnificativ la maniera î n care organizația realizează
schimbul de informații cu mediul s ău de marketing, prep onderent cu clienții (efectivi ș i
potențiali) și cu concurenții săi. În primul caz este vorba desp re furnizarea unui volum de
informații atractive și suficiente pentru a determina o reacție favorabilă a clienților: cumpărarea
sau comandarea produselor (serviciilor) promovate sau cel puțin solicitarea de informații
suplimentare despre acestea.
Deci, în baza celor spuse anterior, este de î nțeles faptul că site -ul web al organizației
trebuie să fie perceput astfel ca un instrument de marketing on -line, cu caracter strategic, al
acesteia. Acesta nu poate fi creat pentru a răspunde unor necesitați de moment, pentru a limita
sau elimina anumite situații tactice nefavorabile, sau pentru că, în ultima instanța, este de bon -ton

5
pentru "o firmă care se respectă ". Crearea sa implică , din partea organizației, angajamentul clar
pentru:
1. integrarea și utilizarea ac estuia în comunicația de marketing a organizației;
2. alocarea unor resurse specifice pentru actualizarea și extinderea conținutului s ău.
Iată câteva întrebări ale căror răspunsuri pot orienta organizația în încercarea sa de a crea
un site web:
a. Este piața suficient de largă din punct de vedere al ariei pentru a presupune acoperirea
acesteia ș i prin intermediul Internetului?
b. În ce măsura consumatorul / utilizatorul potențial are acces la Internet si, respectiv, îl
utilizează pentru a obține informații sau a cumpăra diferite produse sau servicii?
Drept exemplu poate fi luat web site -ul ”Tiger Gym”, produs elaborat în cadrul acestei
teze de licenț ă.
Site-ul ar trebui să ofere cele mai compl ete informații despre instituția pe care o
reprezintă cu o fotografie și o descriere detaliată a tuturor caracteristicilor, serviciilor și desigur o
listă a posibilităților și avantajelor pe care aceasta le poate oferi clientului . Pentru a face acest
lucru, se recomandă selecta rea unei pagini separat e sau, plasa rea unor date în secțiunea
principală și în alte secțiuni. În cazul unui club sportiv, spre exemplu, site-ul nu trebuie să
abunde prea mult în descrieri, ci pur și simplu să se specifice, de exemplu, zona amplasării
clubului, număr ul de antrenori etc.
Fitness -ul astăzi nu este doar distracție la modă, ci o modalitate excelentă de a rămâne în
formă. Fitness -ul demult este o parte integrantă a vieții unei persoane de succes. Până în prezent,
cluburile de fitness ofer ă o gamă largă de servicii, multe dintre acestea fiind echi pate chiar cu
terenuri de tenis, mini-fotbal, băi și saune, gama de clienți disponibili fiind enormă. Însă, p entru
a începe a frecventa fitness -ul, clientul trebuie să ale agă un club de fitness adecvat și să
achizi oneze un abonament. Asta, desigur, presupune o pierdere imensă de timp, pentru a fi
informa t corespunzător, sau a alege clubul dorit. Pentru aceasta este nevoie de un site informativ,
care, de asemenea, permite și înregistrarea la un asemenea club. În așa fel, clientul potențial este
atras de conținutul informativ, însă de vine efcient în baza simplilor pași de înregistrare, sau/și
achitare facilă a abonamentului.
Însă, există un moment important în cadrul oricărui site: conținutul. Conținutul site -ului
este acel element a site -ului care atrage utilizatorii noi și permite uneori și păstrarea celor
existenți. La general problema conținutului poate fi definită ca actualitatea acestuia. Atunci când
conținutul unui site este static, fiecare schimbare a conținutu i urmează a fi ”forțată”, adică
presupune schimbarea nu doar a conținutului propriu -zis, ci și a codului HTML a paginii , ceea ce

6
denotă, prin urmare, cheltuieli adiționale și inaccesibilitatea la resurs a informațional ă, adică site –
ului. Din această cauză e ste necesar un așa numit CMS (Content Management System), care va
rula în baza unui server, fiind accesibilă unui anumit administrator. Acest CMS va fi disponibil
dintr -o secțiune securizată a site -ului, numită Panou de Administrare, sau mai pe scurt: Admi n
Panel.
Panoul de administrare este acel unic mecanism (înafară de mecanismele
administratorului serverului) care are impact asupra unui website, adică îi poate permite
utilizatorului -administrator să modific e conținutul, sau/și codul sursă a acestuia. Acest panou
oferă acces securizat, distribuit doar unei persoane sau unui grup limitat de persoane, specificate
în baza de date. De regulă, acesta este folosit doar pentru modificarea unor porț iuni anumite a
webs ite-ului, care, din prealabil, sunt presupuse a fi modificate ulterior. Modificările date sunt
accesibile printr -o interfață web stabilită în așa mod, încât chiar și un utilizator care este departe
de domeniul tehnic o poate utiliza. Aici, mai poate fi adă ugat și faptul că, spre deosebire de
tendințele de până la 2005, în perioada 2005 -2017, numărul administratorilor și moderatorilor
fără cunoștințe tehnice a preval at față de numărul specialiștilor. Aceasta se datorează faptului că
logica programării este î ntotdeauna ascunsă după o interfață, care la momentul scrierii actualei
lucrări, în cadrul majorității site -urilor, este adaptat pentru utilizarea de către utilizatorii de rând.
Prin interfața dată și are loc așa numitul ”triggering” a funcțiilor ce lucrea ză în spate (backend).
Înaintea scrierii actualului panou, a fost efectuată o analiză a tipurilor de panouri de
administrare și funcțional itățile acestora pe așa site -uri ca Behance, CodeCanyon etc. În urma
acestei analize au fost depistate un set de eror i atât la nivel funcțional, cât și la nivel stilistic,
eficiența unui astfel de panou fiind la nivel foarte jos. Un exemplu a unui astfel de panou poate fi
văzut în figura 1.

Fig. 1. Panou pentru administrator

7
Se observă un desi gn foarte încărcat și o abundență de funcții care nu sunt primordiale la
administrarea unui proiect real, și doar cauzează dificultăți la dezvoltarea panoului, mentenanța
acestuia și încarcă baza de date. Din aceste motive, panoul de administrare a site -ului ”Tiger
Gym” este elaborat într -un stil mai clasic, reprezentând de facto un CMS cu câteva funcții
adiționale, necesare unui administrator ( de exmplu: trimiterea unui e -mail din numele
administrației). Un sketch preliminar a interfeței panoului de administrare este prezentat în fig.2.

Fig.2 . Interfața panoului de administrare
În această lucrare este descrisă realizarea unui site web corporativ ce conține un sistem de
management al conținutului person alizat. Teza a fost structurată în trei capitole:
 În capitolul 1 – s-au descris tipurile de site -uri web și caracteristicile lor de bază;
 Capitolul 2 conține o descriere a tehnologiilor folosite pentru dezvoltarea site -urilor
corporative, limbajele și tehn ologiile web. La fel au fost expuse și informații referitoare
la sistemele de management a conținuturilor și framework -uri;
 În capitolul 3 s -a descris însăși site -ul corporativ ”Tiger -Gym”, cum a fost pusă problema
și cum a fost soluționată aceasta, respec tive pentru a crea și un panou de administrare.

8

I. CLASIFICAREA SITE -URILOR WEB CONFORM CARACTERISTICILOR LOR DE
BAZĂ

1.1. Tipuri de site -uri web
Noțiunea site web provine din expresia engleză ”web site ” și desemnează o grupă de
pagini web multimedia (conținând texte, imagini fixe, animații ș.a.), accesibile în Internet în
principiu ori cui, de obicei pe o temă anume, și care sunt conectate între ele prin așa -numite
hiperlinkuri. Diversele web site-uri pot fi create de către o organizație, o persoană particulară,
instituții publice etc. De obicei un web site este administrat (creat, întreținut și actualizat) de
către un așa -numit webmaster, dar există și alte posibilități:
 site-ul web se actualizează automa t și permanent pe baza unei baze de date;
 paginile sale se creează în mod dinamic și automat în funcție de acțiunea utilizatorului în
cadrul unei aplicații web.
După funcțiile îndeplinite de site -ul Web, acestea sunt clasificate în: Site -uri de navigare
și site -uri finale. Această diviziune este determinată de logica de navigare a utilizatorilor în
mediul Internetului. Mai întâi, utilizatorul găsește resursele dor ite cu ajutorul primului tip și apoi
utilizează resursele care sunt propuse de al doilea tip. Primul tip de site -uri se utilizează mai întâi
pentru recuperarea resurselor, pentru atragerea vizitatorilor, ca mai apoi să se întoarcă pe aceste
locații. Al doi lea sfat – sunt site -uri de prezentare a unei firme sau a unui produs al acesteia.
După modul în care au fost construite există 2 tipuri principale de site -uri Web:
A. Site -urile statice – conțin doar fișiere HTML și CSS , imagini și text. Acestea sunt cele
mai simple site -uri, pentru că nu necesită cunoștințe avansate de program are. Acest tip de site -uri
este pentru prezentarea unei firme mici.
B. Site-urile web dinamice – bazate pe baze de date MySQL și un sistem backend scris
în PHP, ASP, Java, Python, GO etc . Acest tip de website este recomandat pentru pagini
complexe, de genul portalurilor de știri, blog -urilor dar și site -urilor de prezentare care oferă
funcționalitate sporită. Deși contentul poate fi modificat local și de așa limbaje ca JavaScript,
aceste schimbări au loc doar pe dispozitivul utilizatorului, și dispar la următoarea reîncărcare a
paginii, fapt care denotă necesitatea existenței unui depozit de date și a unui sistem ce va opera
cu ele.

9
După scopul utilizării , site-urile we b sunt de mai multe categorii:
 Site-uri de prezentare – au 5 -10 pagini în care se prezintă o firmă, un produs sau un
serviciu. La moment acestea au o formă liniară, și consistă dintr -o pagină mare despărțită
pe secțiuni tematice, numită Landing Page ;
 Site-uri corporat ive – utilizate pentru prezentarea companiilor mari, includ mai multe
pagini prin care este prezentată activitatea companiei, proiectele desfășurate.
 Site-uri de informare – sunt create exclusiv pentru a prezenta informații pe o anumită
tema.
 Site-uri de campanie publicitară – sunt realizate in aplicatii de animatie Flash, sunt
utilizate pentru a promova un produs sau un serviciu.
 Site-uri de conținut generat de utilizatori – majoritatea continutului acestor site -uri
apartine vizitatorilo r. De exemplu www.youtube.com .
 Site-uri retele sociale – de ex emplu www.facebook.com , www.vk.com , www.ok.ru .
 Site-uri de știri – aparțin de obicei instituțiilor media .
 Bloguri – site-uri web create de obicei de o singură persoană, care scrie des articole la
diverse teme. Articolele pot fi comentate de vizitatori. De regulă, acestea sunt bazate pe
un sistem deja existent, ce presupune scrierea și edit area facilă a conținutului ( exemple :
Blogspot, WordPress, Wix etc.)
 Magazine online – create pentru a servi comerțului online.
 Portaluri – de exemplu www.yahoo.com – conțin mai mul te tipuri de informații, știri,
videclipuri, etc.
 Motoare de căutare – sunt utilizate pentru a căuta informații în intregul world wide
web(rețea mondială), de exemplu www.google.com , www.yandex.com

1.2. Caracteristicile de bază ale unui site de prezentare și ale unui site
corporativ
Site de prezentare
Accesibilitatea unui web site, mai ales a unui si te de prezentare , este imperioasă pentru
succesul acestuia. O accesare u șoară a site -ului de prezentare va imbun ătăți peforman ța și va
spori șansele de reu șită prin cre șterea veniturilor unei afaceri.

10
În web design , accesibilitatea se traduce prin u șurarea experien ței vizi tatorilor de a g ăsi
informa ția pe care o caut ă simplu și rapid.
Caracteristicile unui site web accesibil și ușor de utilizat :
 Compatibilitatea cu dispozitivele mobile sau, altfel spus, un design responsive se
impune în realizarea unui site de prezentare.
 Accesibilitatea tuturor utilizatorilor , indiferent de abil itățile sau dizabilit ățile acestora.
Un site care se respect ă se adreseaz ă atât nevazatorilor, c ât și celor v ârstnici sau
persoanelor cu dizabilit ăți. Desigur, a ceasta necesit ă aplicarea unor tehnici speciale de
web design (aplica ții de recunoa ștere a vocii: transform ă vocea în text sau sisteme de
citire care transpun textul în voce etc.).
 O bună arhitectur ă a site -ului și structurarea corectă a informa ției. Pentru ca un site
de prezentare s ă fie u șor de accesat, organizarea informa ției din con ținut nu trebuie
neglijat ă. Sec țiunile și categoriile unui site trebuie s ă prezinte informa țiile în așa fel încat
să fie u șor de g ăsit. Empatia cu utilizatorul va ajuta la structurarea mai b ună a
informa ției.
 Încărcarea rapid ă a site -ului. În mod evident, un web site care se încarca în mai mult
de 5 secunde va fi abandonat. Totodat ă, o viteza mic ă de încarcare nu va ajuta la o bun ă
poziționare a site -ului în motoarele de ca ăutare. Pentru a spori viteza de încarcare trebuie
optimizate imaginile, codul surs ă al site -ului, baza de date și de asemenea, se va putea
folosi și CDN (Content Delivery Network).
 Navigarea eficient ă. O navigare u șoară, fară confuzii este esențială. Poate fi redată de
un meniu câ t mai simplu, iar în cazul site -urilor cu mul te pagini web meniul se poate gă si
sub forma unei liste (drop -down m enu). Alt element ce facilitează navigarea pe un site
web est e permiterea de explorare a conț inutului după mai multe c riterii: prin evidențierea
unor topuri, cele mai că utate sau ce le mai bine cotate pagini etc. Ș i pozitionarea bun a a
link-urilor interne , astfel î ncât toate paginile site -ului s ă fie interconectate , vor uș ura
navigarea utilizatorului.
 Compatibilitatea cu d iferite bro wsere . Neglijarea compatibilităț ii unui site web cu un
tip de browser poate avea efecte negative asupra acce sarii site -ului respectiv. Oricâ t de
mult evolueaza browserel e, tot mai apar incompatibilități între unele site -uri și modul în
care un b rowser le interpretează .
 Un conținut ușor de ”scanat” . Încă de la primul c ontact, utilizatorul are tendinț a de a
citi sau de a se uita rapid pe anumite pagini web pentru a -și da seama dacă corespunde

11
nevoilor sale. A șadar, titlurile și subtitluril e, listele și paragrafele vor uș ura citirea pentru
utilizator. De asemenea, informația cea mai importantă sau relevantă se va comprima în
prima parte a conț inutului (în meniu, în antet sau chiar și î n logo).
Un site prietenos trebuie să fie î n primul rând un site ușor de gasit, de accesat și care
permite o navigare simplă și eficientă. Având caracteristicile de mai sus, este foarte prob abil ca
un site de prezentare să se bucure de conve rtirea unor simpli utilizatori în clienț i sau parteneri de
afaceri.

Site corporativ
Un site corporativ este site -ul companiei, reprezentarea sa oficială virtuală pe Internet.
Site-ul companiei conține o cantitate totală de informații despre compania în sine, domeniul de
activitate, produsele și /sau serviciile oferite. Adesea, un catalog de produse și servicii
suplimentare sunt postate pe site -ul companiei – un forum, sondaje, corespondență și altele de
acest tip .
Site-ul companiei permite emite rea calcule lor de costuri on -line, vinde rea produse lor,
efectua rea cercetări lor de m arketing și promoții, trimite rea știrilor vizitatorilor, colecta rea
feedback -ului de la clienți, organiza rea votărilor și multe altele.
O atenție deosebită este acordată designului, deoarece un site web corporativ este în
primul rând un instrument de branding. Ar trebui să se potrivească cu stilul companiei, să câștige
credibilitate de la potențialii clienți, parteneri și presă.
În lumea de astăzi, disponibilitatea unui site web corporativ este integrală pentru orice
companie serioasă. Așadar , un site de acest tip este un instrument foarte eficient pentru
furnizarea de informații despre organizație pe Internet.
Site-ul companiei rezolvă o mulțime de sarcini:
 căutarea de noi clienți și parteneri;
 formarea imaginii corporative;
 căutarea de noi angajați ai companiei;
 comunicare comodă și promptă cu clienții și partenerii.
Conținutul unui site corporativ poate varia, depinde de obiectivele și sarcinile care trebuie
îndeplinite. Un site de acest tip conține mai multe secțiuni: despre companie, descrierea
serviciilor, articole, știri și multe altele. Crearea unui site web al companiei, este important să se
țină seama de caracteristicile și avantajele companiei, de specificul acesteia, prin urmare este mai
bine să se ordone dezvoltarea unui astfel de site unor specialiștii profesioniști.

12
Printre caracteristicile importante ale unui site web corporativ, puteți apela posibilitatea
unei actualizări rapide a materialelor site -ului, ceea ce ne permite să furnizăm vizitatorilor
informații importante și actuale în scurt timp.
De asemenea, un site corporativ poate funcționa ca o platformă de publicitate. În
comparație cu alte tipuri de publicitate, afișarea pe site a informațiilor despre produsele și
serviciile companiei v a permite informa rea publicul ui țintă în mod discr et, în timp ce se cheltui e
o sumă minimă de bani.

13

II. TEHNOLOGII FOLOSITE PENTRU DEZVOLTAREA SITE -URILOR
CORPORATIVE

2.1. Limbaje și tehnologii web
Crearea unei aplicații , în general, este rezultatul multor ani de studii, începând de la
studierea stru cturii calculatorului, introducere în programare, alegerea limbajelor de programare
și compilarea – toate împreună pentru a rezulta un produs final.
Limbaj ul de marcare HTML
Html – limbaj de marcare pentru a reprezenta conținutul paginii. Elementele de
construcție a unei pagini se numesc tag -uri. Fiecare tag conține proprietăți ce pot fi modificare
prin atribute sau CSS. Daca un tag nu conține toate proprietățile scrise, el moștenește
proprietățile de la tag -urile superioare lui.
Principalele tag -uri in HTML sunt: <html>, <head>, <title> și <body>.
CSS – (Cascading Style Sheets) 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, prin elementul <style> și/sau atributul style . CSS se poate utiliza și
pentru formatarea elementelor XHTML , XML și SVGL .
CSS3 reprezintă un upgrade ce aduce câteva atribute noi și ajută la dezvoltarea noilor
concepte in webdesign.
Unele dintre cele mai importante segmente ( module ) noi adăugate acestui standard pentru
formatarea elementelor HTML aduc un plus considerabil în dezvo ltarea activități web -design.
[6]

Limbajul de programare PHP
PHP-ul este un limbaj de programare f olosit pentru a produce pagini web dinamice. El
este folosit pe scară largă doar în dezvoltarea paginilor și aplicațiilor web. Este unul din cele mai
importante limbaje de programare web open -source și server -side, existând versiuni disponibile
pentru majoritatea web serverilor și sisteme de operare.
Popularitatea de care se bucură acest limbaj de programare se datorează următoarelor
caracteristici:

14
 Familiaritatea : sintaxa limbajului este foarte ușoară combinând sintaxele unora din cele
mai populare limbaje Perl sau C;
 Simplitatea : sintaxa limbajului este destul de liberă. Nu este nevoie de includere de
biblioteci sau de directive de compilare, codul PHP inclus într -un document executându –
se între marcaje speciale ;
 Eficiența : PHP -ul se folosește de mecanisme de alocare a resurselor, foarte necesare unui
mediu multiutilizator, așa cum este web -ul;
 Securitate : PHP -ul pune la dispoziția programatorului un se t flexibil și eficient de măsuri
de siguranță;
 Flexibilitate : fiind apărut din necesitatea dezvoltării web -ului, PHP a fost modularizat
pentru a ține pasul cu dezvoltarea diferitelor tehnologii. Nefiind legat de un anumit server
web, PHP -ul a fost integrat pentru numeroasele servere web existente: Apache, IIS, Zeus,
server, etc.
 Gratuitate : este probabil cea mai importantă caracteristică a PHP -ului. Dezvoltarea PHP –
ului sub licența open -source a determinat adaptarea rapidă a PHP -ului la nevoile web –
ului, ef icientizarea și securizarea codului
 PHP poate rula pe majoritatea sistemelor de operare, de la UNIX, Windows, sau Mac OS
X și poate interacționa cu majoritatea serverelor web. PHP folosește extensii specifice
pentru fișierele sale: .php, .php3, .ph3, .php4, .inc, .phtml . Aceste fișiere sunt interpretate
de către serverul web iar rezultatul este trimis în formă de text sau cod HTML către
browser -ul clientului. [4]

Limbajul de programare JavaScript
JavaScript (JS) este un limbaj de programare orientat o biect bazat pe conceptul
prototipurilor. El este folosit pentru introducerea unor funcționalități în paginile web, codul
Javascript din aceste pagini fiind rulat de către browser. Limbajul este bine cunoscut pentru
folosirea sa în construirea sit e-urilor w eb, dar este folosit și pentru accesul la obiecte încastrate
(embedded objects) în alte aplicații. A fost dezvoltat inițial de către Brendan Eich de la Netscape
Communications Corporation sub numele de Mocha, apoi LiveScript, și denumit în final
JavaScript .
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 numa i anumitor porțiuni

15
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ă. [5]

jQuery
jQuery este o platformă de decompilare Javascript, concepută pentru a ușura și a
îmbunătăți procesele precum traversarea arborelui DOM în HTML, gestionarea inter -browser –
ului evenimentelor, animațiilor și cereri tip AJAX. jQuery a fost gândit să fie cât mai mic posibil,
disponibil în toate versiunile de browsere importante existente, și să respecte filosofia
"JavaScript neobișnuit". Biblioteca a fost lansată în 2006 de John Resig.
jQuery se poate folosi pentru a rezolva următoarele probleme speci fice programării web:
 selecții de elemente în arborele DOM folosind propriul motor de selecții open source
Sizzle, un proiect născut din jQuery ;
 parcurgere și modificarea arborelui DOM (incluzând suport pentru selectori CSS 3 și
XPath simpli) ;
 înregistrarea și modificarea evenimentelor din browser ;
 manipularea elementelor CSS ;
 efecte și animații ;
 cereri tip AJAX ;
 extensii ;
 utilități – versiunea browser -ului, funcția each .
Plugin -urile sau extensiile sunt unele dintre cele mai interesante aspecte ale jQuery.
Arhitectura sa permite programatorilor să dezvolte subaplicații bazate în biblioteca principală
care extind funcțiile de bază jQuery cu funcții specifice plugin -ului. În acest fel biblioteca
principală poate ocupa foarte puțin spațiu, iar exte nsiile necesare în anumite pagini web pot fi
încarcate la cerere, doar când este nevoie de ele. Există un set de extensii principal a numit ă
jQuery UI (jQuery User Interface).
jQuery UI ofera un set de extensii pentru interactivitate a de bază, efecte mai c omplexe
decât cele din biblioteca de bază și teme de culori. Avantajul jQuery UI față de alte extensii este
că dezvoltarea și testarea acestor componente se face în paralel cu dezvoltarea bibliotecii
principale, minimizând riscul de incomptibilitate. [7]

16
Sistemul de Gestiune a BD MySql
Bazele de date sunt folosite pentru stocarea informațiilor în vederea furnizării ulterioare
în funcție de solicitarea primit ă. MySQL este un sistem de baze de date funcțional independent.
În PHP exist ă funcții pentru toate operațiile executate asupra bazelor de date MySql (operații
CRUD). Administrarea MySql se poate face din linie de comanda sau a unei aplicații (ex emplu:
PhpMyadmin, Workbench). [1]
Cele mai uzuale operații cu bazele de date sunt:
 CREA TE – creează o baza de date sau un tabel ;
 DROP – șterge o baza de date sau un tabel ;
 INSERT – adaugă înregistrări intr -un tabel ;
 DELETE – șterge înregistrări dintr -un tabel ;
 UPDATE – updateaza înregistrările dintr -un tabel ;
 SELECT – selectează un tabel ;
 ALTER – alterarea unui tab el.

Ajax
Ajax (JavaScript asincron și XML) este un grup de tehnici intercorelate de dezvoltare
web, folosit pentru crearea de aplicații web interactive sau RIA. Cu ajutorul Ajax, aplicațiile web
pot cere data serverului în mod asin cron fără a interfera cu interfața și comportamentul din cadrul
paginii corespunzătoare. Datele Sunt obtinute folosind XMLHttpRequest OBIECTUL (la
punctul 2 descris) sau prin intermediul Remote Scripting . Nu suport ă XMLHttpRequest
browserele. În ciuda nume lui, utilizarea JavaScript, XML sau o comunicare asincrone nu este
necesară. [2]
Ajax nu este o tehnologie. Este o combinație de mai multe tehnologii pentru a crea un
nou mod de abordare a dezvoltării web.
Ajax încorporeaz ă:
 Nivelul de prezentare bazat pe standardele XHTML și CSS;
 Interațiune dinamică cu DOM -ul paginii;
 Interschimbare de date prin utilizarea XML și XSLT;
 Cererea de date în mod asincron prin utilizarea XMLHttpRrequest .

17
2.2. Sisteme de management a coț inuturilor și frameworkuri
La dezvoltarea site -ului TigerGym nu au fost folosite CMS -uri externe din cauza
eficienței reduse a acestora pentru proiectele care necesită CMS -uri personalizate. De notat este
faptul că CMS -ul site -ului da t este creat de la zero și prezi ntă un set de soluți i personalizate .
Poate fi menționa t faptul că singurele framework -uri utilizate au fost bootstrap și jquery . Acestea
au fost utilizate doar la componenta vizuală a site -ului, fără a juca vreun rol primordial în
funcțion alitățile acestuia. Funcțional itățile fiind asigurat e de tandemul PHP și Javascript. Un alt
moment ce necesită mențiune este cauza elaborării unui CMS propriu.
După studiul efectuat atât pe google , cât și pe forumuri specializate ( de exemplu:
dapf.ru) au fost făcute următoarele concluzii:
Tipuri de CMS bazate pe tehnologii

Dintre tehnologiile prezentate mai sus toate necesită librării externe pentru funcționare
normal ă cu elementele web, întrucât aceste a nu conțin susrsele native de operare la nivel de
server web, excepție făcînd doar Python, întrucât el , spre deosebire de celelalte , a fost cnceput ca
limbaj scriptu al rulat pe server. Întrucât nu s-au găsit alternative viabile de CMS printre
exemplele de mai sus au urmat căutarile într -un limbaj specializat pe web: PHP. Framework –

18
urile nu numai că se prezintă într -un număr mare , ci și sunt gratuite . Sunt facile la implementare
și sunt în pas cu timpul.
Explemple de CMS bazate pe PHP

Trei dintre acestea (CMS made simpe, PHP -fusion și PHP-buke) sunt niște proiecte în
mare parte moarte din anii 2010 – 2013, însă, acestea sunt folosite până la momentul actual
datorită funcțional ităților avansat e, mărimii mici și facilitator de integra re.
Avantajele unui CMS :
 permite gestionarea informației în timp real ;
 costuri reduse de administrare;
 conține un design simplu de utilizat;
 se poate întreține cu ușurință;
 flexibil;
 posibilitatea de a ad ăuga module noi în administrarea paginii web.
Dezavantaje:
 Studierea CMS -ului – fiecare CMS conține funcții și abordări proprii pentru diferite tipuri
de probleme la soluționarea cărora ele au și fost create. Din această cauză cunoștințele

19
curente a unui CMS nu vor permite sau facilita utilizarea al tuia. Este nevoie de un studi u
permanent, care necesită un volum oarecare de timp (de la câteva zile până la câteva
luni).
 Structură masivă – din cauza mărimii CMS -urilor și numărului mare de fișiere din care
acestea sunt constituite, acestea au un impac t major în performanța site -ului, încetinindu -l
sau generând mai mult trafic .
Unele din tre cele mai populare CMS -uri sunt: WordPress , Joomla , Drupal .
WordPress este cel mai popular CMS, cu o cotă de piață de peste 50%. Costurile de
setare și implementare pleacă de la 0$ și pot ajunge până la 15.000$, în funcție de complexitate
și gradul de personalizare. A fost lansat în 2003, are la bază limbajul de programare PHP . Este
prezent pe mai mult de 5 milioane de site -uri, printre care NBC, CNN și UPS.
Avantaje WordPress :
 Simplu de folosit;
 Excelent pentru blogging -ul sau de partajare a dorin țelor într -un mod secvențial;
 Chiar și cei mai în vârstă utilizatori se pot deprinde cu ea repede și are o cota de 14 %;
 Extensibilitate – site-urile wordpress nu necesită schimbări majore în cod pentru
adăugarea noului funcțional. Acestea folosesc așa numitele ”plugin -uri” care sunt pur și
simplu conectate la site -ul curent;
 Flexibilitate datorită sistemului de teme.
Dezavantaje le folosirii WordPress :
 Nu este developer frie ndly – deși wordpress este user friendly, dezvoltatorii se pot întâlni
cu un set de probleme la dezvoltarea plug -inurilor pentru temele personalizate wordpress,
întrucât acestea dep ind întru totul de structura site -ului, deci, va fi viabil doar pentru
anum ite teme. Asta mai înseamnă că dezvoltatorul trebuie să cunoască bine funcționalul
temei la care lucrează și funcționalul acesteia ;
 Are probleme cu securitatea , întrucât codul de bază a proiectului fusese scris de câteva
grupuri care se alternau, fiind fo losite un set de soluții non -standar de. Acest fapt a
determinat așa numita ”datorie tehnică” a wordpress -ului.
Joomla are o cota de piață de aproape 9%, a fost lansat în 2005, are la bază tot PHP și
este folosit de peste 1.5 milioane de site -uri, printre care eBAY, Pizza Hut și General Electric .
Avantaje Joomla :
 Prietenoasă pentru toți utilizatorii – designeri, d ezvoltatori și administratori;

20
 Crearea plugin -urilor este un proces relativ ușor, fiind prezent un model standartizat a
acestora. De asemenea , Joomla posedă o gamă largă de plugin -uri gratuite care schimbă
drastic funcționalul site -ului. De exemplu: plugin pentru postări blog sau plugin pentru
magazine online.
 Comunitatea întreagă este încurajată pentru crearea site -urilor web și are o cota de 2 ,6%.
Dezavantaje Joomla :
 Încă nu este suficient de comod d e înțeles pentru toată lumea;
 Sunt prezente probleme de integrare a conținutului ”de-a gata”;
 Nu este la fel de puternic ca Drupal.
Drupal are o cotă de piață de 7%, a fost lansat în 2001, are la ba ză PHP, este folosit de
aproape 1 milion de site -uri, printre care NASA, MTV și The Economist .
Avantaje Drupal :
 Instalare ușoară;
 Editarea taburilor este integrată în pagini;
 Un mare plus îl au pe partea de SEO, link -urile sunt priet enoase motoarelor de căutare;
 Este posibilă crearea numeroase lor website -uri, instalând CMS -ul o singură dată;
 Un sistem de configurare al permisiunilor utilizatorilor destul de bun.
 Prietenoasă pentru toți utilizatorii – designeri, dezvoltatori și administratori;
 Comunitatea întreagă este încurajată pentru crearea site -urilor web și are o cota de 2,6% ;
 Număr ridicat de plugin -uri gratuite;
 Extensibilitate înaltă ;
 Funcționa lități avansat e;
 Securitate – Drupal este cel mai securizat CMS de pe piață, datorită arhitecturii acestuia,
care reprezintă fiecare element ca obiect individual și operează cu algoritmi proprii cu
acesta ;
 Mobile friendly – prezintă funcțional itățile necesar e dispozitivelor mobile ( exemplu :
swipe).

21
Dezavantaje Drupal:
 Dificultate ridicată – printre dezvoltatori se spune că: ”dacă ceva poate fi făcut pe web,
atunci asta poate fi făcut în Drupal”. Costul unei astfel de posibilități desigur este
volumul de timp ridicat, necesar studierii Drupal -ului, care este de minim 3 luni. De
asemenea, din cauza arh itecturii complexe a acestui proiect, dezvoltarea plugin -urilor
necesită un studiu a profundat a sistemului;
 Scalabilitate joasă – deși Drupal este extrem de puternic, acest a este și extrem de greoi
din cauza mărimii sale și numărul de aplicații web interne , care funcționează drept
subprocese a sistemului dat. Pierderile de performanță se observă odată cu creșterea
dimensiunilor proiectului la care este folosit Drupal. Din acest considerent, Drupal poate
fi folosit doar pentru site -uri de mărime medie;
 Drupa l încarcă extrem de tare baza de date, atât la nivel de viteză cât și memorie ,
executând un număr prea mare de operații și depozitând în bază prea multe lucruri
inutile;
 Întrucât funcțional itățile Drupal -ului sunt strict bazat e pe Cache, este necesară
perm anenta curățire a acestuia cu resetare la oricare schimbări în site.
Din cele expuse mai sus este ușor de înțeles un anumit fapt: găsirea unui CMS cu setul de
funcțional ități dorit este un proces problematic din punct de vedere a costului, timpului necesar și
mentenanței ulterioare.
Atunci, singura soluție este crearea unui CMS personalizat, întrucât:
 Se poate obține o soluție lipsită de errori (bug -uri);
 Acest CMS va conține doar funcționa litățile necesar e;
 Complexitatea va fi redusă sau setată la minim , facilitând exploatarea acestuia;
 Dezvoltarea ulterioară a unui CMS de scară mică este mult mai ușoară și ieftină;
 Datorită mărimii mici , impactul asupra performanței este, de regulă, aproape nul;
 Extensibilitatea pr esupune simpla adăugare a modulelor deja adaptate sau
dezvoltate sub necesitățile site -ului, fapt care va asigura o scalabilitate înaltă.
Astfel, avantajele unui CMS personalizat prevalează față de soluțiile gata.
Ca și obiective față de CMS -ul personalizat pot fi evidențiate următoarele:
 Funcțio nalitatea strict necesar ă;
 Interfață facilă utilizatorilor;
 Existența modulelor și integrarea facilă a acestora, fără impact major asupra
arhitecturii site -ului.

22
Din considerentul complexității reduse, modulele vor reprezenta strict câte un element
funcțio nal. Aceste module, vor fi apelate direct dintr -un meniu sau structură de control. În așa
mod, se asigură extensibilitatea prin crearea unor metode de apelare a modulelor din meniuri sau
structuri, a i căror item i pot fi ușor adăugați sau eliminați, fără im pact major în cod sau cunoștințe
extreme.
În așa mod, drept variantă finală a fost aleasă drept structură de navigare prin module un
tabel, întrucât acestea pot fi ușor făcute responsive , iar modificarea itemilor săi nu vor dăuna
design -ului.

23

III. DESCRIEREA SITE -ULUI CORPORATIV “TIGER -GYM”

3.1. Descrierea problemei
Atunci când vine vorba de administrarea site -ului, orice proprietar al unui site trebuie să
țină cont de faptul că este una dintre cele mai importante aspecte ale muncii sale. Aces t proces
nu trebuie să se rezume doar la actualizarea paginilor cu conținut și actualizări din punct de
vedere tehnic, ci la mai multe activități care, împreună, contribuie la succesul respectivului site ,
spre exemplu: vizualizarea numărului de înregistrăr i, accesări etc .
Întrucât, factorul uman este factorul decisiv în orice sistem om -mașină, proiectarea
interfeței acestui sistem este o sarcină primordială. După cum a fost stipulat în Introducere ,
panoul elaborat în cadrul site -ului ”Tiger Gym” conține doa r setul de funcțional ități de bază,
clasic, pe când interfața acestuia este adaptată pentru un utilizator de rând, fiind de asemenea
mobile -first, adică, este responsive (își modifică dimensiunile, forma, stilul, în dependență de
dispozitivul de prezentare utilizat), deci poate fi cu ușurință administrat de la distanță, pe
dispozitive mobile. De menționat faptul , că numărul accesărilor web de pe dispozitive mobile
prevalează față de accesările efectuate de pe dispozitivele standart.
Drept funcționalități pe ntru aplicația web ” Tiger Gym ” au fost alese:
 Modificarea datelor utilizatorilor și controlul accounturilor acestora;
 Adăugarea, editarea și ștergerea intrărilor din blog;
 Statistica site -ului;
 Încărcarea și ștergerea fișierelor de pe site;
 Trimiterea mesa jelor din partea administrației;
 Editarea elementelor bazei de date;
 Modificarea imaginilor de pe site;
 Editarea unor elemente variate (culori, font-uri).
Astfel, funcționalitățile preconizate sunt cele de bază, strict necesare în cadrul business –
modelului curent al întreprinderii pe care site -ul o reprezintă. Oricare modificări ulterioare pot fi
făcute fără apariția problemelor majore. Acesta și urmează a fi definit drept scop a unui CMS

24
personalizat: modificarea elementelor unui website și conținutului ac estora, fără a avea impact
drastic.

Procesul de administrare a site-ului
#1 Optimizarea pentru motoarele de căutare
Acest а este procesul c аre stă la baza succesului unui site în mediul online, indiferent cât
de complex sau simplu ar fi acesta.
Există posibilitatea c a, în cazul unui site complex, cu multe pagini, să se lucrez e cu un
specialist sau cu о аgenție SEO care să aibă în vedere toate activitățile c аre țin de optimizare.
Însă, chiar dacă se ocupă altcineva, este bine să se cuno ască tot ce presup une acest proces, pentru
siguranța că lucrurile sunt făcute cum trebuie.
Optimizarea SEO este un proces complex, de lungă durată, cu efect pe termen lung, care
presupune mai multe activități la început .
Cel mai mare impact asupra SEO o are desigur structu ra site -ului (afectează modul de
indexare de către google), frecvența apariției contentului dinamic (permite păstrare a site-ului în
lista site -urilor active), numărul de utilizatori care accesează site -ul, precum și timpul pe care
aceștia îl petrec pe site (determină popularitatea site -urilor). Toate acestea sunt direct influențate
de conținut, deci, depind enorm de panoul de administrare și funcțiile de management a
conținutului.
Acțiunile necesare promovării SEO :
 Includerea cuvintelor / expresiilor cheie în componentele site -ului;
 Crearea legăturilor cu Google Analytics, G ооgle Plus Business și Google Webmaster
tools ;
 Menținerea vitezei de încărcare scăzute ;
 Verificarea fișierelor robots.txt și sitemap.xml ;
 Identificare а constantă a paginilor existente vs paginile index аte în G ооgle;
 Dezvoltarea rețelei de link -uri interne ;
 Asigurarea bunei funcționări a site -ului pe dispozitivele mobile ;
 Verificarea constantă a identificatorilor în Google Analytics (bounce rate, trafic o rganic,
pagini vizitate, număr de pagini / sesiune etc .).[9]

25
#2 Gestionarea conturilor de utilizator
Un website care presupune accesul din partea mai multor utilizatori trebuie verificat cu
mare atenție din punct de vedere al securității, dar și din pun ct de vedere al activității pe site a
fiecărui utilizator înregistrat.
Spre exemplu, dacă aceștia creează conținut care trebuie aprobat, dacă ei adaugă produse
în coș pe care le abandonează, dacă ei solicită schimbarea de informații legate de profilul lor etc.

#3 Menținerea securității site -ului
Securitatea e cel mai important element al administrării unui site. Un website care are
probleme de securitate e vulnerabil în fața hacker -ilor și în fața atacurilor de pe internet, atât de
frecvente în ziua de ast ăzi.
Securitatea este strâns legată și de mesajele spam primite, care trebuie gestionate
corespunzător; în caz contrar, există riscul pătrunderii utilizatorilor nedoriți pe site, care pot face
rău acestuia.

#4 Menținerea funcționării serverelor
Serverele oferă spațiul necesar funcționării site -ului. Dacă acestea nu funcționează corect,
site-ul va fi afectat. De aceea, chiar dacă se menți ne o legătură cu firma de hosting, trebuie să
existe siguranța că serverele funcționează pe tehnologii de ultim ă oră, mereu actualizate și că
există back -up-uri făcute constant la fișierele site -ului.

#5 Realizarea actualizărilor tehnice
Dacă site -ul este pe platformă WordPress, actualizările pot fi făcute foarte ușor din
panoul de administrare a site-ului.
Însă, dacă site-ul este realizat la comandă de o agenț ie de web -design, trebuie să se țină
legătură constantă cu agenția , pentru a se asigura că tehnologia de dezvoltare a site -ului este
actualizată la zi. De obicei, actualizările vin lunar . Însă, dacă site -ul este mai complex și este
bazat pe mai multe extensii, este posibil să fie nevoie de actualizări săptămânale.

#6 Gestionarea conținutului
Pentru site -urile bogate în conținut , este nevoie de un sistem de gestionare a conținutului
(CMS) . Siguranța că, pe f iecare pagină, sunt informații actuale, reale și d e interes pentru
vizitatori, deja reprezintă pasul primordial de stabilitate a site -ului web .

26
Este necesară recicla rea conținutul vechi, pentru a optimiza experiența vizitatorilor și a
câștiga constant o po ziție bună în motoarele de căutare, respectiv noi vizitatori.

#7 Promovarea online
Odată ce este asigurat ă funcționarea site -ului, e necesar inițierea traficului pe el (circuitul
de conținut între client -> server) .
În așa caz e posibilă angajarea unei co mpanii de web -marketing sau e posibil lucru l de
sinestătător. Sarcinile necesare pentru promovarea online a site -ului sunt:
 scrierea și publicarea articole lor pe blog ;
 administrarea paginii de Facebook ;
 realizarea campaniilor de Google AdWords ;
 gestionarea campaniilor de email marketing ;
 publicarea articole lor pe alte site -uri sau bloguri partenere ;
 creșterea vizibilității brand -ului în rândul publicului țintă .

#8 Gestionarea solicitărilor
Odată ce traficul de pe site crește, e necesar să se urmăr ească reacțiile utilizatorilor
(feedback) . Trebuie s ă se răspund ă la comentarii, la întrebări, la email -uri și la cererile de ofertă
venite.
Toate aceste funcționalități urmau a fi integrate mai întâi la nivel de design, planificare.
Însă, în acest context era nece sar un studiu a domeniului. După cum a sugerat cercetarea făcută
în domeniul design -ului panourilor de administrare, a fost elaborată concluzia conform căreia,
tendințele actuale de design a elementelor interfeței vizate pe un administrator (sau moderator)
nu corespund necesităților acestora. În mare parte este vorba de o interfață nestructurată,
elementele de control fiind împrăștiate, ceea ce face orientarea în interfață mai dificilă. De
asemenea, funcțion alitățile presupus e după ”noile tendințe” sunt prea împovărăto are, fiind
constituit e majoritar din elemente de web -marketing, și mai puțin din elementele de control
necesare unui website.
Un al treilea dezavantaj major al acestor design -uri este adaptarea dificilă a acestuia după
diferite grupe de dispoz itive. Aceasta se datorează faptului că în cazul administrării unei resurse
web, un calculator este mult mai util decât un dispozitiv mobil.
Însă, reieșind din scopul inițial a tezei date și situația actuală privind serviciul de
administrator (sau moderat or), precum și numărul de utilizatori mobili (de rând cu avantajele

27
dispozitivelor mobile), panoul de administrator trebuie creat mobile -first (stilul implicit pentru
mobil), deci, responsive (adaptabil). În așa fel, design -ul final a l panoului de administ rare a site –
ului ”Tiger Gym” stabilește următoarele caracteristici:
 Meniu tabular – este adaptabil pentru toate dispozitivele (mărimea ecranului), simplu în
utilizare și poate fi ușor modificat;
 Prezența link -ului administratorului – permite navigarea în cadrul site -ului cu
posibilitatea revenirii ime diate la panoul de administrare;
 Încărcarea conținutului modulelor în cadrul aceleeași pagini – permite navigarea
rapidă între opțiunile de administrare cu posibilitate de revenire inst ant. Este util în cazul
navigării de pe dispozitivele mobile, care au dificultăți de schimbare a ferestrelor
browser -ului.
Pe lângă design, a fost efectuat și un studiu general al funcțional ităților panoului de
admnistrare. Cu părere de rău, în mare parte, acesta se rezumă la momentul de față sau la
editarea unor valori în baza de date, sau la modificarea unor marcaje setate din timp în pagina
web. De asemenea, este prezent un set de elemente funcționale de prisos, care nu corespund
realității, adică proble melor de moment. Un exemplu de a stfel de funcțional ități ar fi modificarea
numărului de rânduri a l unui tabel static. O așa funcțional itate necesită mai mulți pași până la
integrarea în panoul de administrare, însă, la general, este de prisos și doar compl ică codul curent
și împiedică astfel dezvoltarea ulterioară a unor elemente de control mai importante.
O abordare corectă pentru situația descrisă mai sus ar fi simpla ștergere a unui număr
dorit de elemente ” tr” direct din codul html a paginii. Exemplul de mai sus a servit drept
demonstrație a necesității planificării minuțioase, din timp, a funcțional ităților site-ului și
panoului de administrare. Este necesar s ă se determin e care itemi merita plasati într -un panou de
administrare și care – nu. De regulă se poate determina acest lucru conform dificultății
metodelor. Spre exemplu: se cere modificarea conținutului unui articol pe un site de noutăți.
Metoda modificării directe a codului aici ar avea un set de deficiențe. În primul rând se vorbește
despre un site de noutăți, deci, abundența elementelor asemenea în acest cod ar face găsirea
articolului necesar problematică. O altă problemă ar fi însăși editarea textului. În cazul unui text
fără tag -uri de preformatare, este necesară introducerea manuală a unor simboluri speciale. De
asemenea, anumite schimbări în conținut pot modifica și containerul. În cazul dat, riscurile și
problemele metodei directe prevalează asupra dificultății elaborării codului, care, ar consta dintr –
un SQL query și un formular cu textar ea, în care ar fi inserat textul necesar editării. Se observă
că există un set de momente dificile ethnic, însă necesitatea lor nu poate fi disputată. Din acest
motiv, o planificare este necesară înaintea stabilirii funcțional ităților site-ului și felului în care

28
acest e funcțional ități se vor manifesta. Aici desigur se implică și arhitectura site -ului, întrucât
funcțional itpțile reprezintă interacțiunea dintre elementele structurale, fapt care nu poate fi
neglijat. Concluzia finală ar fi următoarea: încă la etapa de proiectare a site -ului trebuie stabilit e
funcțional itățile, în dependență de arhitectură sau arhitectura în dependență de funcțional ități,
pentru o corelație corectă dintre elemente și pentru evitarea unor problem e ulterioar e.

3.2. Formularea și analiza cerințelor față de aplicație. Utilizatorii aplicației
Drept cerințe de bază față de aplicație au fost formulate :
 Securizarea accesului
Unul din scopurile primordiale era evitarea problemei care era carasteristică unor așa
module de administrare ca CPanel (fig.3 .1.). Problema celui din urmă consta în faptul că, pentru
accesarea lui, este nevoie de a folosi o referință externă, ceea ce înseamnă, că, acest element nu
face parte din site, ci doar este apelat. Un așa element auton om poate prezenta un set de
probleme, întrucât, politica de gestionare a acestuia trebuie setată intependent și nu neapărat este
aceeași ca și cea a site -ului, lucru care poate fi dificil, întrucât nu întotdeauna există acces sau
dreptul de a modifica setă ri sau/și codul sursă.

Fig. 3.1. Exemplu de CPanel

Însă, funcțional itatea unei astfel de soluții predefintă este destul de larg ă (fig.3.3.), deși, o
mare parte din funcțional ități este generalizată, deci, inutilă pentru probleme care necesită soluții
personalizate. De exemplu: crearea și redactarea blocurilor de noutăți. Așadar, în lipsa un or
funcțional ități personalizat e, singura soluție viabilă ar fi crearea și utilizarea unui pa nou de
administrare propriu, creat sub necesitățile individuale a proiectului curent. Problema dată este

29
motivată de faptul că, utilizarea unui panou de -a gata (descărcat de pe internet) presupune și
adaptarea site -ului după posibilitățile și necesitățile panoului dat . Deci, va necesita același timp
ca și dezvoltarea unui panou propriu, însă, poate genera un set de probleme noi de
compatibilitate.

3.3. Proiectarea arhitecturii, funcționalităților și a datelor aplicației
Arhitectura site -ului ”TigerGym ” este una relativ standar dă bazat ă pe pattern -ul de
programare MVC. Poate fi spus că acesta este cazul unei forme primitive de MVC, întrucât din
acest pattern se realizează mai mult funcțional itpțile decât structura. Dar, forma generală este
prezentă, deși su biectiv. În așa caz, p oate fi defini t fișierul index.php drept view, modulele drept
controller , iar totalitatea de script -uri care manipulează datele extrase din baza de date drept
model . În așa mod, de facto, a fost respectată, deși subiectiv, esența pattern -ului MVC. Schema
acestuia este prezentată în fig. 3.2.

Fig.3.2. Structura MVC

Schema pattern -ului utilizat în cadrul TygerGym arată mai diferit, aceasta fiind o abatere
mare de la standart, însă, este o formă funcțională și corespunde necesităților site -ului. Setul de
funcționalități este prezentat grafic în fig. 3.3.

30

Fig. 3.3. Pattern -ul personalizat pentru TigerGym

3.4. Descrierea soluției tehnologice pentru dezvoltarea aplicație i
Din momentul proiectării, principiul de bază a acestui proiect a fost: ”Keep it simple,
Keep it clean”. Conform acestui principiu, numărul framework -urilor utilizate trebuie redus la
minim, de rând cu oricare librării. De asemenea codul și arhitectura proiectului trebuie să fie cât
mai simple, astfel încât dezvoltarea și mentenanța ulterioară a proiectului devine nu doar facilă,
ci și ieftină. De asemen ea, un număr mare de framework -uri, nu doar complică arhitectura
aplicației, ci și creează un set de dependențe, care provoacă bug -uri și alte probleme chiar și în
cazul celei mai mici schimbări.
Așadar, framework -urile care au fost utilizate:
 jquery (ja vascript) ;
 bootstrap v.3 (css) .
În rest, au fost utilizate librării specifice pentru rezolvarea unor probleme sau
îmbunătățirea funcțional ităților . Elemente de asamblare a librăriilor și modulelor nu au fost
folosite, acest lucru fiind făcut manual. Aceast a se datorează faptului că, deși folosirea unui
framework poate ușura dezvoltarea unei resurse web, aceasta totodată impune anumite limite
dezvoltator ului, fapt care poate duce imitent la complicarea proiectului. Din această cauză
proiectul a fost scris în tr-un stil de coding tradițional (framework -free).
Întrucât site -ul își propunea de la bun început nu doar să prezinte o sală de forță, ci să
devină și un blog informațional pe tema dată, conținutul dinamic urma a fi cumva administrat.
Din soluțiile gratui te de pe piață poate fi remarcat CMS Drupal. Însă, un dezavantaj mare a
acestuia este mărimea lui (nu corespunde proiectelor mici), flexibilitate redusă (nu este posibilă

31
separa rea componentel or necesare), necesitatea achiziționării așa numitelor ”plugin -uri”, care, în
versiunea standar d au setul de funcționalități redus. Din această cauză, ”plugin -urile” ce
corespund unor anumite proiecte sau situații trebuie achiziționate, sau scrise personal.
Prima v ariant ă se exclude, întrucât scrierea unui plugin personalizat necesită angajarea
unui freelancer, ceea ce e riscant. Varianta a doua, însă, presupune studierea arhitecturii,
funcțional ităților și desigur a documentației Drupal -ului, ceea ce denotă o cantitate prea mare de
timp necesară. Din acest motiv, CMS -ul site -ului ”Tiger Gym” a fost scris de la 0, fără utilizarea
unor surse terțe. Acest CMS este de tip modular, ceea ce presupune extensibilitatea ulterioară a
acestuia, prin simplă adăugare a u nui item nou în lista modulelor și indicarea fișierului de bază a
acestui modul.
Acest CMS permite redactarea conținutului site -ului stocat în baza de date ( de exemplu :
căi de fișiere de până la 255 caractere sau articole de până la 65535 caractere). De a semenea este
de menționat faptul, că CMS -ul creat, lucrează cu imaginile indirect, folosind la operațiile de
schimbare doar calea de fișier a imaginii necesare. Un alt fapt de notat ar fi metodele de editare a
textului, sau, mai precis, a conținutului nout ăților, panourilor informaționale, motto -urilor și altor
elemente informaționale. Un astfel de set de funcțional ități poate fi rapid implementat printr -un
simplu formular ce constă primordial dintr -un element textarea , care, va fi containerul textului
ce va fi trimis spre baza de date. Însă, un așa mod de soluționare a problemei are deficiențele
sale, printre care p ot fi e număra te funcțional itățile de editare redus e, imposibilitatea formatării
textului și stilul vizual respingător (exemplu Microsoft Word vs Wordpad). Din acest
considerent, pentru implementarea sistemelor de editare a textelor , de regulă , se folosesc soluții
profesionale de tipul TinyMCE. Însă, o problemă a acestor soluții este costul lor, precum și
dificultățile setării și utilizării precoce a acestora.
TinyMCE, spre exemplu, are o versiune comunitară (gratuită) cu funcțional ități extrem de
redus e, însă, versiunea cu plată, în pofida mulțimii de plugin -uri disponibile, prezintă probleme
de compatibilitate și, de asemenea, necesită setarea in dividuală a plugin -urilor date pentru a
putea folosi funcțional itățile extins e. Din acest motiv, în loc de TinyMCE, a fost ales redactorul
CKEditor, care nu doar propune funcțional ități avansat e gratuit e, ci și are constructor pentru un
pachet propriu de p lugin -uri și este ușor de customizat, setat și utilizat. Se poa te observa un
exemplu a stilulu i vizual a redactorului în fig. 3.4. În așa fel a u fost creat e funcțional itățile
necesar e editării elementelor de tip text.

32

Fig. 3.4. Redactor de text
Însă, până și ace astă funcțional itate urma a fi cumva implementat ă nu doar la nivel de
cod, ci și la nivel de interfață, fiind eficient ă din punct de vedere a uzabilității, flexibil din punct
de vedere a design -ului și facil pentru o interacțiune eficientă dintre ar hitectura site -ului și
interfața acestuia.
Soluția ideală pentru panoul de administrare a site -ului Tiger Gym, constă din două
puncte:
1. Utilizarea unui tabel pentru afișarea meniului funcțional ităților ;
2. Utilizarea frame -urilor pentru prezentarea conținutul ui funcționali tăților .
Aceste două soluții au permis o dezvoltare facilă a interfeței și modului de interacțiune a
acesteia cu elementele funcționale.
Structura tabulară a permis crearea unei scheme a interfeței flexibilă, și ușoară în
utilizare.
Frame -urile pe de altă parte, au permis implementarea funcțional ităților cu problem e
minime , atât pentru utilizator (încărcare direct în aceeași pagină, cu posibilitatea de revenire la
pagina precedentă), cât și pentru programator (este ușor de a modifica sursa fr ame-urilor,
utilizând astfel un singur element static la încărcarea contentului dinamic, totodată evitând
problemele suprautilizării memoriei RAM în baza proprietăților frame -urilor de eliberare
imediată a conținutului din memorie după schimbarea sursei ).
O altă soluție genială ar fi modul de stocare a l datelor. Există un set de problem e la acest
pas. Contentul dynamic presupune creșterea numărului elementelor stocate de -a lungul timpului,

33
deci, creșterea memorie i HARD utilizate. Acest fapt are câteva conse cințe grave: spațiul de
stocare în baza de date costă mai scump decât cel de pe HARD, iar un număr prea mare de
elemente masive încetinesc ritmul de operare a bazei de date, ceea ce duce la un răspuns întârziat
a site -ului în general. Din acest considerent , în baza de date se vor păstra doar elemente de tip
text, pe când fișierele vor fi stocate pe hard disk, în baza de date fiind prezente doar adresele
fișierelor, pentru a putea apela aceste fișiere în orice moment. Astfel, toate imaginile încărcate pe
site (inclusiv thumbnail -urile) au fost stocate pe hard disk, adresele lor, însă, fiind păstrate în
baza de date din momentul încărcării acestora ( după mutarea din mapa t emporară ).
Pentru realizarea funcțional ității cu e-mail-urile a fost folosită librăria s tandar dă php
sendmail . Această librărie permite transmiterea e -mail-urilor pe oricare adresă cu un minim de 4
parametri (recipient, sender, subject, message ). Însă, pentru trimiterea garantată a e -mail-urilor a
fost setat drept server smtp , serverul smtp.m ail.ru . În așa mod, se va utiliz a serverul mail.ru (cu
un account înregistrat) pentru trimiterea e -mail-urilor prin intermediul acestuia. La folosirea unui
server SMTP local, în caz că acesta nu e configurat corect și corespunde unor norme lor standar d,
mesajele trimise prin el nu vor ajunge la destinatar sau vor nimeri în categoria Spam, fiind
socotite drept mesaje din surse dubioase.
Funcțional itatea de adăugare și redactare al utilizatorilor este un a bazat ă pe forme
tabulare. Exista două tipuri a le acestei forme :
1. Desfășurată (fig.3.5.) – formă utilizată pentru ecranele mari . Prezintă datele corelate
într-un rând, în mai multe coloane;
2. Compactă (fig.3.6.) – formă utilizată pentru dispozitive cu ecran mic ( ecranul mai mic
de 480 pixeli). Prezintă datele corelate pe o singură coloană, în mai multe rânduri.
Drept măsură aplicată pentru tehnica mobile -first, la detectarea inițială a unui ecran
mic, tabelul devine imediat compact.

34

Fig. 3.5. Forma desfășurată

Fig. 3.6. Forma compactă

35
Scriptul php, apelează baza de date și populează carcasa goală a tabelului prestabilit cu
rânduri de date, atâta timp, cât în tabloul de date obținut din baza de date mai sunt rânduri. Însă,
desigur la apelarea unei baze de date massive, numărul înregistrărilor tot po ate fi foarte mare .
Pentru aceste situații există două soluții :
1. Limitarea numărului de rânduri parcurse imediat și adăugarea unor butoane (pagini) de
control a datelor , extrase astfel încât să fie un număr de pagini calculate după formula:
nr-total-date / nr -date-afisate. P oate fi analizată diagram a din exemplu l din fig. 3.7.

Fig. 3.7. Parcurgerea datelor cu paginare

2. Încărcarea tuturor datelor, cu prezentarea doar a unui număr anumit de rânduri,
parcurgerea spre celelalte fiind executată prin intermediul limbajului javascript sau se
poate spune este parcurs tabelul obținut de la metoda getElementsByTagName . Se va
folosi anume această funcție întrucât ea este una dintre puținele care returnează ta blou
și nu colecție. O problemă care ar putea apărea aici constă în faptul că toate elementele
sunt încărcate simultan, fiind generat un tabel prea masiv din punct de vedere a l
conținutului de date, ceea ce poate provoca mai multe probleme: generarea unor
cantități mari de trafic, umplerea memoriei cache și RAM și, desigur, încetinirea
vitezei de lucru a browser -ului la operarea cu elementul curent . Însă, tabelul current
lucrează rapid datorită faptului că este singurul element current operabil întrucât es te
încărcat în iframe și browser -ul se concentrează pe executarea acestui singur element,
iar la închiderea lui, are loc schimbarea sursei frame -ului, deci și golirea forțată a
memoriei cache, ceea ce este o mișcare planificată pentru asigurarea performanț ei.

36
3.5. Descrierea realizării aplicației
Realizarea aplicației a început după stabilirea ideii de bază, funcțional ităților și
necesităților ce urmau a fi soluționate de către aplicație. Întrucât drept sarcină a fost crearea unui
panou de administrare, un prim pas a l dezvoltării a fost crearea unei secțiuni izolate în cadrul
site-ului, numită Admin . Aceasta este o măsură nu nu mai de securitate, ci și o practică utilă în
scopul diferențierii a două unități funcționale în site:
 secțiunea disponibilă utilizatorilor – însăși site -ul TigerGym și funcțional itățile
acestuia;
 secțiunea disponibilă administratorilor – funcțional itățile de control și sistemul de
gestionare a conținutului.
De asemenea, drept primă măsură de securitate, a fost pornită redirecționarea automată de
pe secțiunea administra tivă spre cea a utilizatorilor în cazul accesului neautorizat. De menționat
este faptul c ă această redirecționare are loc la nivel de server, deci, ea nu poate fi oprită de către
utilizator.
Logarea în sistemul de administra re are loc prin formularul standart de logare, care este
comun pentru toți utilizatorii. În așa fel, după cum a fost spus anterior , s-a păstra t integritatea
sistemului în cadrul site -ului (comparative cu sisteme le ca CPanel ). Contul utilizat este unul
predefinit în baza de date de către administratorul sau creatorul bazei. Deci, există două persoane
cu acces la această comp onentă :
 Administratorul serverului, care posedă acces la toate bazele de date;
 Administratorul site -ului, care are acces la baza proprie de date.
La logare se verifică tipul contului: pentru administratori are loc logarea în panou, iar
pentru utilizatorii de rând, logarea pe site. Un procedeu funcțional a fost adăugarea unui link spre
panoul de administrare doar pentru administrator, pentru ca acesta să poat ă reveni rapid la panou,
după examinarea celorlalte secțiuni a le site-ului.
În cadrul panoului a fo st creat un tabel cu opțiuni a le funcțional ităților. La nivel
preliminar au fost create 8 elemente. Acestea constau dintr -o scurtă descriere și un buton de
activare. Butonul de activare reprezintă un simplu buton cu o funcție ” onclick() ” setată, care are
drept funcție schimbarea sursei unui Iframe ascuns prin intermediul Javascript, iar iframe -ul
devine vizibil și ocupă întreg spațiul de lucru. Sursa iframe -ului este un fișier php, care conține
funcțional itatea necesar ă. De asemenea, în acest iframe a fost integrat , în partea de sus , un
element de control pentru revenirea la meniul tabular precedent (permite selectarea altei funcții)
și ascunde iframe -ul, resetându -i sursa, golind astfel și memoria cache . Acesta este modul de

37
funcționare de bază a panoului, modul de funcționare a modulelor fiind unul bazat pe practici
standar de. Totodată, în mare partea, funcționarea acestora a fost explicată în capitolele
anterioare.

38
Concluzii

Elaborarea unui panou de administrare presupune adaptarea acestuia după necesită țile,
funcțional itățile și posibilitățile site -ului, ceea ce înseamnă că acest proces necesită o planificare
prealabilă amplă, care, ca rezultat poate consuma timp și resurse materiale enorme încă înaintea
fazei de dezvoltare. De asemenea poate fi spus că la crearea unui astfel de panou e necesară
planificarea pe lungă durată, întrucât scopul acestui panou nu se va schimba pe parcursul
timpului, adică, în baza construcției sale specifice, acesta nu va putea ieși din scopul inițial, fapt
care și determină ma rea problemă a acestor panouri: ele pot deveni inutile în plan extensibil,
deci, va necesita o re -elaborare.
Pentru a evita astfel de cazuri, e necesar stabilirea: va fi sau nu necesar ă extinderea
setului de funcționalități ale acestui panou, în termen i de lungă durată. După stabilirea acestui
simplu fapt, poate începe proiectarea arhitecturală a aplicației, întrucât proprietatea de
extensibilitate necesită o construcție specială (ca exemplu poate fi luat pattern -ul HMVC, care
reprezintă o derivatie a pa ttern-ului MVC, însă presupune din timp extensibilitatea și prezen ța
multiplelor elemente model, view și control ). Un asemenea caz extensibil reprezintă și panoul de
administrare TigerGym. Aici a fost luat din timp în considerație faptul extensibilității, deci,
funcțional itățile acestui panou pot fi nu numai îmbunătățit e, ci și lărgit e de-a lungul timpului,
fără pericolul căderii întregului site, în urma problemelor de compatibilitate.
Alte concluzii ce pot fi făcute din această lucrare sunt:
 Funcțional itățile unui panou de administrare trebuie să corespundă necesităților site -ului
administrat. O abatere de la această normă conduce la diminuarea performanței site –
ului, precum și a eficienței pan oului, în urma existenței de cod inutil . Folosirea soluțiilor
”de-a gata” este un pas de ultimă instanță, întrucât aceste soluții sunt greu de
personalizat, de regulă, și nu corespund scopurilor site -ului întocmai, lăsând o ”gaură în
funcționalități ”, adică, nu este prezent setul de funcțional ități necesar, însă, există
funcțional ități inutil e, fapt care poate conduce la pierderi materiale;
 Există posibilitatea folosirii soluțiilor CMS integrate, de tipul Joomla, Drupal sau
Wordpress, însă, acestea reprezintă niște soluții de risc înalt ținând cont de co st, timp
necesar integrării sau personalizării și problemelor de compatibilitate , ce pot să apară în
astfel de situații.
Din considerentele enumărate mai sus se conchide că cele mai bune soluții sunt cele
personalizate (custom -tailored), însă acestea necesită un ciclu de dezvoltare software complet,

39
fapt care determină un posibil cost înalt, necesitatea mentenaței permanente (elaborarea unor
servicii -suport) și necesită o echipă întreagă la dezvoltarea aplicației . De notat este faptul că
panoul de adm inistrare TigerGym a implicat la dezvoltarea sa un singur om, fapt care a
determinat un timp de dezvoltare îndelungat, o arhitectură non -standar dă și un set de soluții cu
posibile vulnerabilități.
Așadar, trebuie realizat faptul că panourile de administra re nu sunt doar niște scripturi
inserate în site, ci reprezintă un produs soft complet, cu anumite necesități și deficiențe, care
necesită un ansamblu de soluții și un grup integru de dezvoltatori la elaborarea sa.

40
Bibliografie

1. https://ro.wikipedia.org/wiki/MySQL 02.06.2018
2. https://ro.wikipedia.org/wiki/Ajax_(programare) , 02.06.2018
3. https://ro.wikipedia.org/wiki/HyperText_Markup_Language , 02.06.2018
4. https://ro.wikipedia.org/wiki/PHP , 02.06.2018
5. https:// ro.wikipedia.org/wiki/JavaScript , 02.06.2018
6. https://ro.wikipedia.org/wiki/Cascading_Style_Sheets , 02.06.2018
7. https://ro.wikipedia.org/wik i/JQuery , 02.06.2018
8. https://ro.wikipedia.org/wiki/Sistem_de_administrare_a_con%C8%9Binutului ,
02.06.2018
9. http://blog.expert -online.ro/ro/web -design -development/administrare -site/, 02.06.2018
10. https://dokumen.tips/documents/continut -56dff62f3e236.html , 02.06.2018
11. http://forums.rss -ro.com/index.php?/profile/5450 -exit/content/ , 02.06.2018
12. http://www.atelierd eweb.ro/caracteristici -site-de-prezentare -accesibil/ , 02.06.2018
13. https://sites.google.com/site/profainfotic/clasa -xii/lectii/3 -tipuri -de-site-uri, 02.06.2018
14. https://web.ceiti.md/lesson.php?id=7 , 02.06.2018

41
Declarația privind asumarea răspunderii

Subsemnatul, declar pe răspundere personală , că materialele prezentate în teza de licență,
sunt rezultatul propriilor cercetări și realizări științifice. Conștientizez că, în caz contrar, urmează
să suport consecințele în conformitate cu legislația în vigoare.

Niculița Nicolae
Semnătura _______________________
Data ___________________________

Similar Posts