Capitolul I . Tehnologii folosite în cadrul aplicației 2 1.1. DotKernel 3 1.2. PHP 6 1.3. HTML 8 1.4. CSS 9 1.5. Javascript 10 1.6. Ajax 11 1.7…. [607115]

Cuprins
Introducere 1
Capitolul I . Tehnologii folosite în cadrul aplicației 2
1.1. DotKernel 3
1.2. PHP 6
1.3. HTML 8
1.4. CSS 9
1.5. Javascript 10
1.6. Ajax 11
1.7. jQuery 12
1.8. JSON 13
1.9. Bootstrap 14
1.10. FontAwesome 14
1.11. MySql 15
1.12. Apache HTTP server 16
1.13. GetID3 17
Capitolul II. A rhitectură aplicației 17
Capitolul III. Funcționalitatea aplicației 22
3.1 Funcționalitatea aplicației în partea de frontend 22
3.1 Funcționalitatea aplicației în partea de admin 28
Concluzii 30
Bibliografie 31

Introducere

Capitolul I . Tehnologii folosite în cadrul aplicației

Aplicația web, VideoTube, are ca tehnologie de bazǎ web framework -ul DotKernel 1.8.
Un web framework este o colectie de module care ajutǎ programatorul la dezvoltarea de aplicații
web, ușurându -i munca programatorului. Existǎ mai multe web framework -uri, c um ar fi :
DotKernel, Laravel, Drupal, Zend Framework, FUSE, PEAR. Fiecare web framework are
avantajele sale, dar eu am ales framework -ul DotKernel, deoarece este ușor de învǎțat, de folosit,

este gratuit și datoritǎ faptului cǎ îl folosesc zilnic la servi ciu.
Alte tehnologii folosite în cadrul aplicației sunt PHP 7, HTML 5, CSS 3, Javascript,
Ajax, jQuery, JSON, Bootstrap, FontAwesome, MySql, Apache HTTP server, , getID3. Ȋn cele ce
urmeazǎ voi descrie fiecare tehnologie în parte.

1.1. DotKernel

DotKer nel este un web framework php realizat pe baza web framework -ului Zend
Framework de cǎtre programatorii din cadrul firmei DotBoost Technologies. [1]
Framework -ul DotKernel are la bazǎ arhitectura HMVC pentru a fi ușor de învǎțat de
cǎtre programatorii începǎtori. HMCV este acronimul pentru Hierarchical Model –View –
Controller și este o evoluție a modelului Model View Controller. [1]
Arhitectura MVC este un concept folosit la aplicațiile software și ajutǎ la separarea
codului pentru interfața graficǎ a aplicației de funcționalitatea aplicației.
Arhitectura MVC ușureazǎ munca programatorului, deoarece ajutǎ la întreținerea
aplicației și oferă o structură modernă pentru codul aplicației, fiind ușor de modificat fǎrǎ a strica
alte funcționalitǎți ale aplicației.
Pentru definirea structurii DotKernel, se folosesc termenii module și dots, dupǎ cum se
poate vedea în figura 1.

Figura 1. Schema structurii HMVC din DotKernel [2]
Modulul (module) este primul nivel ierarhic al unei aplicații web. Fiecare modul
este
compus din mai multe puncte (dots).
Fiecare modul are un singur controler: Front Controller – IndexController. El s e
ocupă de toate cererile pentru modulul selectat, care determină ce se întâmplă în
continuare
ce puncte (dots) ar trebui să fie numite.
Un punct (dot) este format din fișiere MVC și fișierul de configurare xml, iar
Front
controllerul direcționează cerer erile (request -urile) către Action Controller.
Action Controller este inima MVC -ului. Acesta controlează fluxul, solicită
modelul
(Model) si View sau facilitează comunicarea între ele. [2]
În interiorul modelului, avem toate metodele ce prelucreaza datel e din baza de
date.
Metode pentru operatiile CRUD (Create – adaugă, Read – selectează, Update –
actualizează,
Delete – șterge). Metode de manipulare a datelor care urmează a fi inserate sau șterse din
baza

de date.

View este responsabil de interfața gra fică (GUI) a aplicației. View se foloseșește
de
mai multe tipuri de fișiere cum ar fi cele de tip PHP, TPL și JS (JavaScript). Fiecare
modul
are un View. [3]
DotKernel utilizează Zend Framework ca o componentă de bibliotecă, accesând direct
clasele sale. A fost eliminată totuși complexitatea framework -ului Zend Framework utilizând o
abordare diferită a modului în care sunt gestionate cererile web. [1]
Framework -ul DotKernel conține urmǎtoarele module : frontend, backend, mobil, CLI
(linie de comandă), module rss, fiecare fiind structurat pe modelul Model -View -Controller.
Pentru a folosi framework -ul DotKernel, programatorul are nevoie de urmǎtoarele
instrumente :
● Apache HTTP server
● MySql, începând cu versiunea 5.5
● PHP, începând cu versiunea 5.4
● Zend Framework, începând cu versiunea 1.11.0, compatibil cu ZF 1.12.x. [4]

Structura framework -ului DotKernel :
● configs – toate variabilele pentru configurar e se află aici
● controllers – așs cum sugerează și numele folderului, aici se află toate controllere
● DotKernel – fișierele pentru Model și View se află aici,
● externals – poate să conțină și alte API -uri sau librării
● images
● library – conține librăriile DotKe rnel
● templates – conține fișiere care relaționează cu View (de tip HTML, CSS sau
JavaScript)
Pe lângă aceste foldere mai există și fișiere specifice ce stochează informații importante :
● application.ini – se stochează variabile și valori importante pentru configurare
cum ar fi: starea aplicației (production, staging sau development), URL -ul

aplicației, conexiunea la baza de date (user și parole).
● resource.xml – include setările modulului c um ar fi cele legate de controller,
acțiunea implicită a controller -ului, valori din sesiune
● browser.xml – fișier folosit pentru a detecta de pe care browser a fost accesată
aplicația
● os.xml – fișier folosit pentru a ști care system de operare rulează pe c alculatorul
de pe care a fost accesată aplicația
● admin/menu.xml – include setări pentru meniu pentru fiecare modul (în acest caz
pentru modulul admin)
● dotkernel.sql – structura bazei de date și datele din ea
● index.php – bootstrapul aplicației

Zend Frame work este un cadru de aplicații Web orientat pe obiecte open source
implementat în PHP 5. Scopul Zend Framework -ului este de a simplifica dezvoltarea web,
menținând în același timp cele mai bune practici orientate pe obiecte pentru a construi aplicații
web.

1.2. PHP

PHP este acronimul de la PHP: Hypertext Preprocessor. PHP este un limbaj de scripting
având un cod sursă de tipul, și care este utilizat în special pentru dezvoltarea aplicațiilor web și
poate fi integrat în HTML. [5]
Codul sursă a PHP -ului este introdus între niște instrucțiuni de procesare de început și de
sfârșit speciale și anume început și ?> pentru sfârșit, care permite să intrați și să ieșiți din modul
PHP.
PHP se diferenteaza de un JavaScript prin faptul că codul sau este executat pe server, care
va genera HTML, care este apoi este trimis către client. Clientul primește rezultatele rulării
acelui script fără să necesite cunoașterea codului sursă.

PHP se remarcă prin simplitate fiind accesibil pentru un începător, dar are și
funcționalități foarte complexe pentru un programator experimentat.
Limbajul PHP este axat în principal pe scripting de partea server -ului, deci se poate
realiza cu el mai multe lucruri, cum ar fi adunarea datelor din formulare, trimiterea și primirea de
coockies, dar și generarea conținutului dinamic al paginilor. [5]

Domeniile principale in care scripturile PHP sunt utilizate:
● Scripting de partea serverului este cel mai tradițional și de bază domeniu al PHP.
Pentru a functiona necesita Anal izatorul PHP. un navigator web si un server web.
Trebuie să rulați serverul web cu o instalare PHP conectată la el. [5]
● Scripting în linia de comandă se face prin realizarea unui script PHP să ruleze fără
un server și navigator web, fiind nevoice doar de u n analizator PHP pentru a il
folosi în acest mod. Script -uri pot fi utilizate si pentru lucrări simple de procesare
a textelor.[5]
PHP este compatibil cu toate sistemele de operare Linux, Microsoft Windows, Unix,
OpenBSD.[6]
Limbajul PHP susține cele mai multe servere web existente si anume Apache, IIS si
multe altele.
PHP permite afișarea de imagini, fișiere PDF, filme Flash. Se poate foarte usor sa se
afiseze orice text.
Cea mai importanta facilitate pe care o are PHP este susținerea unui larg domeniu de baze
de date . Realizarea unei pagini web ce are nevoie de o bază de date este simplu prin utilizarea
unei extensii de lucru cu baze de date cum ar fi MySql sau folosind un nivel de abstractizare si
anume PDO .
PHP are functionalitati de procesare a textului foarte folositoare precum expresii regulare
compatibile cu și instrumente pe ntru folosirea documentelor XML .

1.3. HTML

Hyper Text Markup Language, mai cunoscut sub numele de HTML, este limba standard
folosită pentru construirea site -urilor web.
Codul HTML instruiește browser ele web cum să facă conținut. Aceasta explică structura
de bază a unei pagini web.
HTML nu este din punct de vedere tehnic un limbaj de programare; Este un limbaj de
markup utilizat pentru a organiza date de pe Internet. Documentele HTML sunt compuse din
elemente HTML reprezentate de etichete, care sunt scrise în paranteze unghiulare, pentru a
clasifica conținutul. [7]
Fiecare nouă versiune a HTML -ului sa concentrat pe îmbunătățirea accesibilității
tehnologiei Internet pentru toată lumea. De exemplu, pe lân gă introducerea de noi opțiuni pentru
crearea de șabloane, HTML4 a îmbunătățit locurile de cazare pentru utilizatorii de Internet cu
deficiențe de vedere. [7]
HTML5 a fost implementat pentru a începe abordarea acestor probleme pentru a oferi o
experiență m ai lină și mai consistentă pentru utilizatorii și dezvoltatorii web.
Datorită HTML5, paginile web pot acum să stocheze date pe browserul utilizatorului,
ceea ce elimină necesitatea cookie -urilor HTTP. Ca rezultat, conținutul poate fi livrat mai rapid
și m ai sigur. De asemenea, HTML5 a facilitat asigurarea coerenței în toate browserele. Din
moment ce browserele s -au bazat în mod tradițional pe diferite pluginuri pentru a reda fișiere
multimedia, suportul nativ al video și audio permite dezvoltatorilor să ev ite problemele de
compatibilitate. Atributele noi permit, de asemenea, comenzi video, inclusiv opțiuni de redare,
pauză și volum.[7]
HTML5 include următoarele actualizări: [7]
● Elementele care au fost respinse, cum ar fi centrul, fontul și greva, au fost abandonate

● Normele îmbunătățite de parsing permit o parsing mai flexibilă și compatibilitate
● Elemente noi, inclusiv video, timp, nav, secțiune, progres, metru, deoparte și pânză
● Noi atribute de intrare, inclusiv e -mail, adresă URL, date și ore
● Atribute noi, inclusiv charset, async și ping
● Noi interfețe API care oferă cache offline, suportare drag -and-drop și multe altele
● Suport pentru grafica vectoriala fara ajutorul programelor precum Silverlight sau Flash
● Suport pentru MathML pentru a permite o mai bună afișare a notațiilor matematice
● JavaScript poate rula acum în fundal datorită API -ului JS Web worker
● Atributele globale , cum ar fi tabindex, repeat și id pot fi aplicate pentru toate elementele

1.4. CSS

CSS (Cascading Style Sheets), este un limbaj de design simplu destinat simplificării
procesului de prezentare a paginilor web.
CSS se ocupă de aspectul unei pagini web. F olosind CSS, se poate controla culoarea
textului, stilul fonturilor, distanța dintre paragrafe, modul în care sunt dimensionate și dispuse
coloanele, ce imagini de fond sau culori sunt folosite, modelele de aspect, variațiile de afișare
pentru diferite di spozitive și dimensiunile ecranului Precum și o varietate de alte efecte. [8]
CSS este ușor de învățat și de înțeles, dar oferă un control puternic asupra prezentării
unui document HTML. Cel mai frecvent, CSS este combinat cu limbajele de marcare HTML sau
XHTML.
Avantajele CSS : [8]
● CSS economisește timp – se poate scrie CSS o dată și apoi se poate reutiliza în mai multe
pagini HTML. Se poate defini un stil pentru fiecare element HTML și se poate aplica la
cât mai multe pagini web.
● Paginile se încarcă mai r epede – dacă se utilizează CSS, nu este necesar să scrieți atribute
HTML tag -uri de fiecare dată. Trebuie doar să se scrie o regulă CSS a unei etichete și să

se aplice la toate aparițiile acelei etichete. Deci, mai puțin cod înseamnă perioade de
descărcare mai rapide.
● Întreținere ușoară – Pentru a face o schimbare globală, se schimbă pur și simplu stilul și
toate elementele din toate paginile web vor fi actualizate automat.
● Stilurile superioare la HTML – CSS are o gamă mult mai largă de atribute decât HTML
● Compatibilitatea cu mai multe dispozitive – CSS permit optimizarea conținutului pentru
mai multe tipuri de dispozitive. Prin utilizarea aceluiași document HTML, diferite
versiuni ale unui site web pot fi prezentate pentru dispozitive portabile, cum ar fi P DA-
uri și telefoane mobile sau pentru imprimare.
● Standardele web globale – Acum, atributele HTML sunt depreciate și se recomandă
utilizarea CSS. Deci, este o idee bună să se utilizeze CSS în toate paginile HTML pentru
a le face compatibile cu browserele vi itoare.
● Offline Browsing – CSS poate stoca aplicațiile web la nivel local cu ajutorul unui catcher
offline. Folosind acest lucru, putem vizualiza site -urile offline. Cache -ul asigură o
încărcare mai rapidă și o performanță globală mai bună a site -ului.
● Platform Independence – Script oferă independență platformă consistentă și poate sprijini
și cele mai recente browsere.

1.5. Javascript

JavaScript este una dintre cele mai importante limbaje dinamice ale web -ului până în
prezent.
JavaScript este integrat în toate browserele web, facilitând implementarea de către
dezvoltatori și utilizatori. Este la fel de simplu citit ca HTML și nu necesită descărcare.
JavaScript nu este folosit numai pentru web, deși este bazat în principal pe web, este
folosit și pentr u widget -uri, aplicații desktop și acțiuni PDF.
Utilizarea Javascript -urilor cele mai comune este de a scrie acțiuni în HTML care creează
animații și comportamente vizuale într -un browser web, mărind astfel experiența web pe care o

oferă staticul HTML. Un ele acțiuni despre care se știe că Javascript sunt: [9]
● Deschiderea ferestrelor pop -up prin recunoașterea acțiunilor mouse -ului sau ale tastaturii
● Validarea formularelor
● Modificarea prezenței CSS sau a imaginilor când mouse -ul se află peste o secțiune a
paginii
● Înregistrarea și trimiterea informațiilor despre obiceiurile de citire ale utilizatorilor.
În concluzie, Javascript este un limbaj web extrem de influent, care a schimbat modul în
care expereincem internetul. Este simplu de implementat și oferă o e xperiență web mult mai
dinamică decât html static.

1.6. Ajax

Ajax nu este un limbaj de programare sau un instrument, ci un concept. Ajax este un
script de pe partea clientului care comunică către și de la un server / bază de date fără a fi nevoie
de o postback sau o reîmprospătare completă a paginii. Cea mai bună de finiție pe care am citit -o
pentru Ajax este "metoda de schimb de date cu un server și actualizarea unor părți dintr -o pagină
web – fără reîncărcarea întregii pagini" Ajax este în general un termen generic pentru diverse
tehnici JavaScript folosite pentru a vă conecta Un server web dinamic fără a încărca în mod
necesar mai multe pagini. Într -un sens mai restrâns, se referă la utilizarea obiectelor
XmlHttpRequest pentru a interacționa dinamic cu un server web prin JavaScript.

Există 4 avantaje principale ale utilizării Ajax în aplicațiile web: [10]
● Redirecționări de apel: Ajax este folosit pentru a efectua un apel invers, efectuând o
călătorie dus -întors rapidă către și de la server pentru a prelua și / sau salva date fără a
afișa întreaga pagină înapoi pe se rver. Dacă nu efectuați o postback completă și trimiteți
toate datele de formate către server, utilizarea rețelei este redusă la minimum și se produc
operații mai rapide. În site -uri și locații cu bandă limitată de bandă, acest lucru poate

îmbunătăți consi derabil performanța rețelei. De cele mai multe ori, datele trimise către și
de la server sunt minime. Utilizând apelurile de apel, serverul nu are obligația de a
procesa toate elementele de formular. Prin trimiterea numai a datelor necesare, există o
prelu crare limitată pe server. Nu este necesar să procesați toate elementele de formă, să
procesați Vizualizarea, să trimiteți imagini înapoi la client sau să trimiteți o pagină
completă înapoi la client.
● Efectuarea apelurilor asincrone: Ajax vă permite să efec tuați apeluri asincrone către un
server web. Acest lucru permite browserului client să evite așteptarea tuturor datelor
înainte de a permite utilizatorului să acționeze încă o dată.
● User -Friendly: Pentru că o retragere a paginii este eliminată, aplicațiile activate Ajax vor
fi întotdeauna mai receptive, mai rapide și mai ușor de utilizat.
● Viteza crescuta: Ajax are scopul principal de a imbunatati viteza, performanta si usurinta
unei aplicatii web. Un exemplu excelent de Ajax este caracteristica de rating a filmului pe
Netflix. Utilizatorul evaluează un film, iar evaluarea personală pentru acel film va fi
salvată în baza de date fără a aștepta ca pagina să fie actualizată sau reîncărcată. Aceste
evaluări de filme sunt salvate în baza lor de date fără a afișa întreaga pagină înapoi pe
server.
Ajutările Ajax pot fi realizate prin instantarea unui obiect XMLHttpRequest în
JavaScript -ul client -side. Obiectul XMLHttpRequest poate fi folosit pentru a apela direct obiecte
de pe server, cum ar fi pagini și servicii we b. Aceste pagini și serviciile web vor salva și / sau vor
returna datele. [10]
1.7. jQuery

JQuery este un tip de bibliotecă Javascript (Prototype, Ext Core și moo.fx sunt alte
exemple) menite să facă JavaScript mai accesibil și ușor de utilizat. JQuery si mplifică sintaxa
Javascript și relativ oferă o mai bună interacțiune între Javascript și alte limbi de dezvoltare web.
JQuery oferă acces mai ușor la modelul DOM și permite crearea cu ușurință a animațiilor,
widgeturilor și segmentelor web dinamice (AJAX) în comparație cu utilizarea numai a
Javascript. JQuery este, de asemenea, cea mai populară bibliotecă javascript folosită astăzi,

utilizată de zeci de site -uri uber -populare. [11]
JQuery este extrem de popular, deoarece permite realizarea unui set de funcț ii, simple și
complexe, utilizând cantitatea minimă de cod. JQuery este de obicei folosit pentru a implementa
orice caracteristică în modelul DOM într -un mod mai simplu și, de asemenea, pentru
funcționalitatea ajax. Chiar și funcțiile complexe aparente, cu m ar fi blocurile de text
expandabile (care pot fi utilizate în FAQ -uri, etc.) pot fi obținute cu doar câteva linii de cod
folosind JQuery.
O altă caracteristică izbitoare a JQuery este abilitatea de a implementa funcționalitatea
AJAX. Ajax permite să se realizeze mai multe funcții într -o manieră elegantă fără a părăsi sau
reîncărca pagina. Acest lucru permite un mediu dinamic al paginii web, deoarece sarcinile pot fi
efectuate pe pagina în fundal, fără reîncărcarea unei pagini. Astăzi este folosit pe scară largă în
mai multe site -uri web, deoarece este o alternativă mai rapidă și mai ușoară, iar JQuery permite
implementarea funcționalității aj ax foarte ușor. [11]

1.8. JSON
JSON sau JavaScript Object Notation, este un format minimal, ușor de citit pentru
structurarea datelor. Este folosit în principal pentru a transmite date între un server și o aplicație
web, ca o alternativă la XML.
JSON ne p ermite să depășim problema inter -domeniu deoarece putem folosi o metodă
numită JSONP care folosește o funcție de retur pentru a trimite datele JSON înapoi în domeniul
nostru. Este această capabilitate care face ca JSON să fie atât de utile, deoarece deschi de o
mulțime de uși care înainte erau dificil de realizat. [12]
JSON se foloseste atunci cand dorim ca la apasarea unui buton sa se realizeze modificare
in pagina respectiva, dar fara a reincarca din nou pagina. De exemplu la apasarea butonului de
aprecier ea a unui video sa nu fie nevoie ca pagina respectiva sa se reincarce ci sa se vada
modificarea la apasarea butonului.

1.9. Bootstrap

Bootstrap este un framework gratuit pentru front -end pentru dezvoltarea web mai rapidă
și mai ușoară.
Bootstrap include șabloane de design HTML și CSS pentru tipografii, formulare,
butoane, tabele, navigare, modalități, caruseluri de imagine și multe alte pluginuri JavaScript,
precum și opționale.
De asemenea Bootstrap oferă posibilitatea de a crea cu ușur ință design -uri receptive și cu
aspect modern.
Bootstrap face dezvoltarea web -ului de tip front -end mai rapidă și mai ușoară. Este făcut
pentru oameni de toate nivelurile de calificare, dispozitive de toate formele și proiecte de toate
dimensiunile.
Bootst rap se livrează cu CSS de vanilie, dar codul sursă utilizează cele două cele mai
populare preprocesoare CSS, Less și Sass. Porniți rapid cu CSS precompilat sau construiți pe
sursă. [13]
Cu Bootstrap, veți obține o documentație extensivă și frumoasă pentru elemente HTML
comune, zeci de componente personalizate HTML și CSS și pluginuri minunate jQuery.
Bootstrap simplifică cu ușurință și eficient salvările site -urilor și aplicațiilor dvs. cu o
singură bază de cod, de la telefoane la tablete la desktop -uri cu interogări media CSS.
Bootstrap este compatibil cu toate browserele moderne (Chrome, Firefox, Internet
Explorer, Safari și Opera). [13]

1.10. FontAwesome

Font Awesome vă oferă iconițe vectoriale scalabile care pot fi personalizate instantaneu –

dimensiun ea, culoarea, umbră și tot ce se poate face cu puterea CSS.
Font Awesome este complet gratuit pentru uz comercial ceea ce îl face accesibil pentru
orce persoană.
Iconițele font awesome au un font minunat, format din vectori, ceea ce înseamnă că sunt
minuna te pe afișajele de înaltă rezoluție.
Font Awesome funcționează excelent cu toate cadrele.

1.11. MySql

MySQL cel mai popular sistem de gestionare a bazelor de date SQL Open Source, este
dezvoltat, distribuit și susținut de Oracle Corporation.
O bază de date este o colecție structurată de date. Poate fi orice, de la o listă simplă de
cumpărături până la o galerie de videoclipuri sau cantitatea mare de informații dintr -o rețea
corporativă. Pentru a adăuga, a accesa și a procesa datele stocate într -o bază d e date
computerizată, avem nevoie de un sistem de gestionare a bazelor de date, cum ar fi serverul
MySQL. Deoarece calculatoarele sunt foarte bune la manipularea unor cantități mari de date,
sistemele de gestionare a bazelor de date joacă un rol central în calcul, ca utilități standalone sau
ca părți ale altor aplicații.
Bazele de date MySQL sunt relaționale. O bază de date relațională stochează datele în
tabele separate, în loc să pună toate datele într -un depozit mare. Structurile bazei de date sunt
organ izate în fișiere fizice optimizate pentru viteză. Modelul logic, cu obiecte precum baze de
date, tabele, vizualizări, rânduri și coloane, oferă un mediu de programare flexibil. Se stabileste
reguli care reglementează relațiile dintre diferitele câmpuri de date, cum ar fi unu -la-unu, unul –
la-multe, unic, obligatoriu sau opțional și "indicii" între diferite tabele. Baza de date impune
aceste reguli, astfel încât, cu o bază de date bine concepută, o aplicatie nu vede niciodată date
inconsistente, duplicate, or fane, depășite sau lipsite de date.

Partea SQL a "MySQL" înseamnă "Language Structured Query" . SQL este cea mai
comună limbă standardizată folosită pentru a accesa bazele de date. În funcție de mediul dvs. de
programare, puteți intra direct în SQL (de exemplu, pentru a genera rapoarte), încorpora
instrucțiuni SQL în cod scrise într -o altă limbă sa u utilizați un API specific limbajului care
ascunde sintaxa SQL. [14]
Software -ul MySQL este Open Source. Open Source înseamnă că este posibil ca oricine
să utilizeze și să modifice software -ul. Oricine poate descărca software -ul MySQL de pe Internet
și îl poate folosi fără să plătească nimic.
Serverul de baze de date MySQL este foarte rapid, fiabil, scalabil și ușor de utilizat.
Serverul MySQL poate rula confortabil pe un desktop sau laptop, alături de celelalte aplicații,
servere web și așa mai departe, necesitând o atenție redusă sau deloc.
Serverul MySQL a fost dezvoltat inițial pentru a gestiona baze de date mari mult mai
repede decât soluțiile existente și a fost utilizat cu succes în medii de producție extrem de
exigente timp de mai mulți ani. Conec tivitatea, viteza și securitatea acestuia fac serverul MySQL
foarte potrivit pentru accesarea bazelor de date pe Internet. [14]
MySQL Server funcționează în sisteme client / server sau embedded.
Software -ul de baze de date MySQL este un sistem client / ser ver care constă dintr -un
server SQL multi -threaded, care acceptă diferite back -end-uri, mai multe programe și biblioteci
diferite, instrumente administrative și o gamă largă de interfețe de programare a aplicațiilor
(API). [14]

1.12. Apache HTTP server

Apache este cel mai utilizat software de server web. Dezvoltat și întreținut de Apache
Software Foundation, Apache este un software open source disponibil gratuit.
Acesta poate fi foarte personalizat pentru a satisface nevoile multor medii diferite prin

utilizarea extensiilor și modulelor.
Un server web este software -ul care primește solicitarea dvs. de a accesa o pagină Web.
Aceasta rulează câteva verificări de securitate asupra solicitării dvs. HTTP și vă duce la pagina
web. În funcție de pagina solicitata , pagina poate cere serverului să ruleze câteva module
suplimentare în timp ce generează documentul care să vă servească. Acesta vă servește
documentul pe care l -ați solicitat.
Apache Web Servers sunt adesea folosite în combinație cu motorul bazei de date
MySQL, limbajul de scripting HyperText Preprocessor (PHP) și alte limbi populare de scripting,
cum ar fi Python și Perl. Această configurație este denumită LAMP (Linux, Apache, MySQL și
Perl / Python / PHP) și formează o platformă puternică și robustă pent ru dezvoltarea și
implementarea aplicațiilor Web. [15]
În concluzie Apache Web Servers este unul dintre cel mai bun web server fiind și rapid și
sigur.

1.13. GetID3

GetID3 este un PHP script care extrage informații cum ar fi timpul de redare, bitrate,
rezoluția din aceste formate de fișiere: MP3, Ogg Vorbis, WAV, AVI, MPEG -1 video, ASF /
Windows Media.
GetID3 este open source, adică gratuit, fiind accesbil tuturor și este foarte ușor de folosit,
fiind nevoie doar să apelăm funcții cu ajutorul cărora putem află de exemplu timpul unui
videoclip.

Capitolul II. Arhitectură aplicației

Aplicația este structurată în două părți :

● Admin
● Frontend

Aplicația are cinci controllere atât pentru partea de admin și pentru partea de frontend are
patru. La fel tot cinci fișiere de model și view va avea pentru partea de admin și patru pentru
partea de frontend a aplicației.
Aplicația fiind realizată cu frame work -ul DotKernel, aplicația va avea structura
reprezentată în figura nr 2.3.

Cele cinci controllere din admin sunt:
● Admin controller
● Index controller
● System controller
● User controller
● Video controller

În admin controller se realizează funcționalitatea ce ține de administratori, de exemplu
adăugarea, actualizarea, ștergerea unui administrator, statistici despre când s -au autentificat
administratorii.
Controller -ul index este cel mai important, deoarece el face legătură cu celalalte
controllere.
În system controller se realizează modificări pentru framework -ul Dotkernel, cum ar fi
schimbarea numărul limita la paginație.
În controller -ul user se află tot codul php ce realizează funtionalitatile din modulul user,
cum ar fi adă ugarea, actualizarea, ștergerea unui utilizator și statistici despre de câte ori s -a
autentificat un utilizator.
Ultimul controller este video controller, unde se află toată funcționalitatea ce ține de
videoclipuri. De exemplu adăugarea, actualizarea, șter gerea unui videoclip sau statisctici despre
fiecare utilizator la ce videoclip s -a uitat.

Controllere din partea de frontend sunt :
● Index controller

● Page controller
● User controller
● Video controller
Index controller este similar cu index controller din partea de admin, el făcând legătură
din celalalte controllere.
Controller -ul user și cel video realizează același funcționalități că și cele din partea de
admin, cum ar fi adăugarea, actualizarea, ștergerea unui utilizator sau videoclip și statistici
despre utilizatori și videoclipuri.

În tabelul admin sunt stocate date despre administrator, cum ar fi username, parola,
email, nume, prenume. Aceste date fiind folosite atunci cȃnd administratorul se loghează pagina
de admin.
Tabelul adminlogin conține info rmatii despre logările administratorului în panoul de
admin, și anume data la care s -a logat, ip -ul, id -ul administratorului (adminId) care este un index
fiind în legătura de unu -la-unu cu id -ul din tabelul admin. Acest tabel este folosit pentru
realizarea unei statistici privind logările administratorului.
Lista cu categoriile care se asociază unui videoclip se află în tabelul category unde avem
date cu numele categoriei si id -ul categoriei care se foloseste pentru relații cu alte tabele.
În tabelul comm ent sunt listate date despre comentariile adăugate la videoclipuri cum ar
fi mesajul adăugat, data la care a fost adăugat mesajul, id -ul utilizatorului care a comentat, id -ul
videoclipului unde a fost adăugat mesajul. Id -ul utilizatorului este în relație d e unu -la-unu cu id –
ul din tabelul user. Id -ul videoclipului este un index, deoarece este într -o relatie de unu -la-unu cu
id-ul din tabelul video.
Tabelul playlist conține listele cu playlist -urile create de către utilizatori și anume,
numele playlist -ului, id-ul playlist -ului și id -ul utilizatorului care a creat playlist -ul. Id -ul
utilizatorului este într -o relație de unu -la-unu cu id -ul din tabelul user.
Tabelul playlistvideo se află date despre videoclipurile care au fost adăugate în playlist –
uri. Tabelu l conține date cum ar fi id -ul playlist -ului care se află într -o relație de unu -la=unu cu
id-ul din tabelul playlist, id -ul videoclipului care este un index și este într -o relație de unu -la-unu
cu id -ul din tabelul video.

În tabelul ratingcomment sunt stoc ate date despre comentariile utilizatorilor și anume id –
ul comentariului care se află într -o relație de unu -la-unu cu id -ul din tabelul comment, o coloana
value care ne indică dacă comentariul a fost apreciat, atunci va avea valoarea 1, daca nu a fost
apreciat va avea valoarea -1. Tabelul mai conține id -ul utilizatorului care este în relație de unu –
la-unu cu id -ul din tabelul user.
În tabelul ratingvideo se află date asemănătoare celor din tabelul ratingcomment și anume
id-ul videoclipului care a fost aprec iat, id -ul utilizatorului care a apreciat, data si valoarea, care
poate fi 1 dacă videoclipul a fost apreciat și valoarea -1 dacă videoclipul nu a fost apreciat. Id –
urile sunt relație de unu -la-unu cu id -urile din tabele video și user.
Tabelul setting conț ine date cum ar fi email=ul de contact a administratorului, rezultate
per pagină care este folosit la momentul cȃnd extragem date din baza de date, funcționȃnd ca și o
limită.
În tabelul subscribers se află date despre utilizatorii care s -au abonat la anumite canale
video. Tabelul conține id -ul utilizatorului care s -a abonat, data la care s -a abonat și id -ul
utilizatorului care deține canalul video. Id -ul utilizatorului din tabe lul user se află în relație de
una-la-mai mulți cu id -urile din tabelul subscribers.
Lista cu utilizatorii înregistrați se aflȃ în tabelul user care conține username -ul
utilizatorilor, parola, email -ul, nume, prenume, data la care a fost creat contul și ta belul mai
conține o coloană isActive care arată dacă contului utilizatorului mai este activ sau a fost
dezactivat din cauza unor abateri.
Tabelul userlogin conține date despre logările utilizatorului cum ar fi data la care s -a
logat, numele browser -ul de pe care s -a logat și id -ul utilizatorului care se afla în relație de unu –
la-unu cu id -ul din tabelul user. Acest tabel se folosește pentru statistici din panoul de
administrare.
În tabelul video se găsesc listele cu videoclipurile încărcate de către utilizatori.Tabelul
conține id -ul videoclipului care se autoincrementeaza după fiecare încărcare de videoclipuri,
titlul videoclipului, data la c are a fost adăugat, descrierea, numărul de vizualizări, id -ul categoriei
care arată din ce categorie face parte videoclipul, id -ul utilizatorului care a încarcat videoclipul și
mai conține o coloana isActive care arată dacă videoclipul este activ, atunci v a avea valoarea 1,
altfel 0 dacă nu este activ.

Ultimul tabel numit watch conține date despre vizualizările videoclipurilor, cum ar fi id –
ul utilizatorului, id -ul videoclipului la care s -a uitat utilizatorul și data la care s -a uitat. Id -ul
utilizatorul se află în relație de unu -la-unu cu id -ul din tabelul user, la fel și id -ul videoclipului
este într -o relație de unu -la-unu cu id -ul din tabelul video. Acest tabel este folosit pentru
realizarea unei statistici despre fiecare utilizator la ce s -a uitat la un moment dat. Pagina cu
această statistică se află în panoul de administrare.

Capitolul III. Funcționalitatea aplicației

Aplicația are mai multe tipuri de utilizatori :
● Utilizatorul neînregistrat, care are acces doar la vizionarea de videoclipuri,
coment arii, canale video ale altor utilizatori
● Utilizatorul înregistrat, care are acces peste tot în partea de frontend
● Administratorul, care are acces peste tot în partea de admin

3.1 Funcționalitatea aplicației în partea de frontend

Pagina principală din par tea de frontend este formată dintr -o bară de navigație fixă, adică
chiar și atunci cȃnd suntem în partea de jos a paginii, bara de navigație se va afla întotdeauna în
partea de sus a paginii. Bara de navigație se află pe toate paginile din partea de fronte nd. Bara de
navigație conține un buton pentru meniu, logo -ul aplicației, o bară de căutare, un buton pentru
încărcarea de videoclipuri și încă două butoane care diferȃ în funcție de tipul utilizatorului.
Pentru utilizatorul neînregistrat cele două butoane vor fi unul pentru autentificare și unul pentru
înregistrare. În bara de căutare se va introduce titlul unui videoclip și după apăsarea butonului de
cautare se va afișa o listă cu videoclipurile care au un titlul asemanător cu cel introdus în bara de
căuta re. La apăsarea logo -ului aplicației vom fi redirecționați la pagina principală din frontend a
aplicației.

În pagina principală se mai află doua liste cu videoclipuri. Prima listă conține cele mai
recente videoclipuri încărcate, lista fiind limită la șase videoclipuri și un buton sub această listă
care ne va redirecționa în pagina unde se află toate videoclipurile ordonate după cele mai recente
adăugate. A doua listă conține cele mai populare videoclipuri, lista fiind limită la șase
videoclipuri și un buton sub această listă care ne va redirecționa în pagina unde se află toate
videoclipurile ordonate după numărul de vizualizări, de la cel mai mare număr de vizualizări la
cel mai mic
Butonul de meniu este de tipul dropdown, la apăsarea lui se va afișa sub but on o listă cu
paginile care pot fi accesate, fiecare avȃnd în stȃnga o iconiță reprezentativă denumirii acelei
pagini, iconițele sunt realizate cu tehnologia FontAwesome. Aceste pagini diferă în funcție de
tipul utilizatorului cu exceptia următoarelor două :
● Home – pagina principală
● Most watched videos – această pagină conține cele mai populare videoclipuri
Pentru utilizatorul neînregistrat meniul va mai conține numele urmatoarelor pagini:
● Log in – pagina unde ne vom autentifica
● Register – pagina unde ne putem înregistra
Pentru utilizatorul înregistrat meniul va mai conține numele urmatoarelor pagini:
● My channel – canalul video personal
● Liked videos – lista cu videoclipurile pe care le -am apreciat
● Subscribe videos – lista cu vide oclipurile canalelor video la care ne -am abonat
● Playlist – lista de playlist -uri create
● My account – pagina cu date personale
● Log out – butonul prin care ieșim din contul în care suntem autentificați
Încărcarea unui videoclip se face prin apăsarea butonul numit Upload care ne va
redirecționa către un formular. Formularul va trebui completat cu un titlu pentru videoclip,
adăugarea videoclipului, adăugarea unei imagini care să fie reprezentativă conținutul
videoclipului, o descriere și să alegem din ce categ orie face parte videoclipul. Tipul videoclipului
încărcat trebuie să fie mp4 altfel nu va putea fi încărcat la fel și pentru imagini trebuie să fie doar
te tipul jpg sau png. Lungimea titlul trebuie să fie între 3 și 50 de litere, iar pentru descriere
numă rul de litere trebuie să fie între 5 și 2000 de litere. Videoclipul încărcat nu va apărea încă în

lista cu videoclipuri până când administratorul își va da acceptul, deoarece videoclipul poate să
ai aibă conținut nerecomandat.
Fiecare utilizator poate să ștergea videoclipul prin accesarea canalului video personal, iar
în partea dreapta jos a fiecărui videoclip se află un buton de ștergere numit Delete care la
apăsarea lui ne va redirecționa către un formular unde va trebui să bifăm dacă suntem siguri că
dorim să ștergem videoclipul și după care apăsăm butonul Delete. Există și un buton numit
Update care se află în partea dreapta a butonului Delete, care la apăsare va redirecționa
utilizatorul către un formular. Cu ajutorul acelui formular îi se permite util izatorului să
actualizeze videoclipul putând să schimbe titlul, descriere, imagine, categorie, chiar și
videoclipul înșine. Aceste două butoane apar doar în dreptul videoclipuri care au fost încărcate
de utlizatorul autentifcat.
Pagina Most watched videos se vor regăsi cele mai populare videoclipuri ordonate de la
cel mai mare număr de vizualizări la cel mai mic. Lista este limitată la 12 videoclipuri pe o
pagină. Pentru a accesa restul va trebui să accesăm următoare pagină. Butoanele pentru paginație
se află în partea de jos a listei cu videoclipuri fiind numerotate și mai se află si două butoane prin
care putem să accesăm prima pagină, respectiv ultima pagină.
Pentru a ne autentifica va trebui să accesăm pagină de Log in. Această pagină conține un
formular de autentificare în care va trebui să introducem username -ul și parolă, după care vom
apasă butonul de Login. Dacă nu mai știm parolă putem apasă butonul de Password recovery
care ne va redirecționa către pagină de recuperare a parolei, unde vom trebui să introducem
email -ul și după să apăsăm butonul Submit.
Pentru a ne înregistra, utilizatorul va trebui să accesesze pagină Sign up, care îl va
redirecționa către un formular unde va trebui să complete usename -ul, parolă, nume, prenume,
email.
Pagină My chan nel este canalul video personal unde se află videoclipurile încărcate de
către utilizatorul autentificat. Videoclipurile sunt ordonate după cele mai recente adăugate și sunt
afișate doar 12 videoclipuri per pagină, pentru restul videoclipurilor va trebui s ă le accesăm cu
ajutorul butoanelor de paginație.
Pagină Liked videos conține lista cu videoclipurile apreciate. Videoclipurile sunt afișate
după cel mai recent videoclip apreciat. Ele vor fi afișate doar 12 per pagină la fel că la celalalte
pagini care co nțin liste de videoclipuri.

În pagină Subscribe videos găsim lista cu videoclipurile canalelor video la care ne -am
abonat. Lista e formată din 12 videoclipuri per pagină, sub lista aflându -se butoanele pentru
paginație.
Pagină Playlist conține lista cu pla ylist-uri create de utilizatorul autentificat. În pagină
avem un buton care la apăsarea lui ne va redirecționa către un formular unde vom crea un nou
playlist prin introducerea unui nume pentru playlist. În dreptul fiecărui playlist există un buton
folosit pentru ștergerea playlist -ului respectiv. Accesarea unui playlist se face prin apăsarea pe
numele playlist -ului care ne va redirecționa către pagină ce va conține o lista cu videoclipurile
incluse în acel playlist. Lista este limitată la 12 videoclipuri p er pagină și ordinea lor este după
cel mai recent adăugat. În dreptul fiecărui videoclip există un buton pentru ștergerea
videoclipului respectiv din playlist. Când accesăm un videoclip prin intermediul playlist -ului
vom avea două săgeți în partea de jos a videoclipului prin care putem să accesăm celalalte
videoclipuri din playlist -ul respectiv. Dacă nu apăsăm nici una dintre cele două săgeți atunci la
momentul terminării vizionării videoclipului se va face o autodirectionare la următorul videoclip
din play list.
Pentru a vizualiza și modifică date personale va trebui să accesăm pagină My account
unde putem să schimbă parolă, email -ul, numele și prenumele și după va trebui apăsat butonul
Update.
Când dorim să ieșim din contul în care suntem autentificati va t rebui să apăsăm butonul
pentru Log out care ne va redictiona la pagină principala a aplicației, dar fără a mai fi
autentificati.
Listele cu videoclipuri vor conține date despre videoclipuri prezentate în figura 3.

Videoclip intr -o pagina cu liste de videoclipuri. Figura 3

După cum se poate vedea în figura 3 fiecare videoclip are o imagine reprezentativă
videoclipului. Sub imagine avem titlul videoclipului care este de culoarea albastru închis. După
avem numele utili zatorului care a încărcat videoclipul respectiv și mai avem date cum ar fi
numărul de vizualizări a videoclipului și dată la care a fost încărcat videoclipul.
Pentru vizionarea unui videoclip va trebui să accesăm videoclipul prin apăsarea pe
imaginea video clipului sau pe titlul videoclipului. Se mai poate apasă și pe numele utilizatorului
care a încărcat videoclipul și vom fi redirecționați către canalul video a utilizatorului respectiv.
Cea mai importantă pagină din cadrul aplicației este cea în care putem viziona
videoclipului acesta fiind și scopul acestei aplicații. O astfel de pagină arată că în figura 4.
Pentru redarea videoclipului am folosit HTML 5 video player. Sub videoclip avem date
despre videoclip, cum ar fi titlul acestuia, numărul de vizualiză ri, numele utilizatorului care a
încărcat videoclipul, o descriere a videoclipului. În partea dreapta jos a videoclipului se află
butoanele pentru aprecierea sau neaprecierea videoclipului respectiv și în dreptul fiecărui buton
se află numărul de aprecieri sau neaprecieri a videoclipului. În momentul apăsării butonului de
Like, iconiță butonului se va face albastru, iar în cazul în care apăsăm butonul de Dislike
culoarea iconiței se va face neagră.
Dacă dorim să vizualizam canalul video al utilizatorului ca re a încărcat acel videoclip va
trebui să apăsăm pe numele utilizatorului și vom fi redirecționați către pagină cu canalul video a
utilizatorului. În partea dreapta a numelul se află butonul pentru abonare sau dezabonare numit
Subscribe, respectiv Unsubscr ibe. La momentul apăsării acestui buton se va schimbă din
Subscribe în Unsubscribe sau invers, iar în momentul când am apăsat pe butonul Subscribe,
videoclipurile utilizatorului care a încărcat acel videoclip vor apărea în lista cu videoclipuri din
pagină Subscribe videos sau dacă ne vom dezabona atunci videoclipurile utilizatorului vor
dispărea din pagină Subscribe videos. Butonul nu va există atunci când utilizatorul autentificat
este același cu utilizatorul care a încărcat videoclipul.
Fiecare videoclip este asociat unei categorii după cum se poate vedea în figura 4, sub
descriere, videoclipul din figura respectivă fiind din categoria de filme. Dacă dorim putem
accesa pagină în care vor fi afișate videoclipurile ce fac din categorie respectivă prin simplă
apăsare pe numele categoriei vom fi redirecționați în acest caz la o pagină cu videoclipuri ce sunt
asociate categoriei de filme.

Dacă dorim să adăugăm un videoclip într -un playlist se poate face prin simplă apăsarea a
butonul de Add video playlist care n e va redirecționa către un formular în care va trebui să
alegem în ce playlist dorim să îl adăugăm și după care să apăsăm butonul de Add.
Un videoclip poate fi împărtășit pe rețele de socializare prin apăsarea butoanele cu iconițe
reprezentative rețelelor de socializare. De exemplu dacă dorim să împărtășim un videoclip cu
prietenii de pe Facebook vom apasă butonul cu iconiță de la Facebook.
Fiecare pagină a unui videoclip conține în partea de jos o lista cu comentarii. Pentru a
adaugă un comentariu vom comp letă căsuța unde scrie Add comment și după care apăsăm
butonul Comment. Comentariile sunt afișate în ordinea în care au fost adăugate de la cel mai
recent. În partea de sus a fiecărui comentariu se află numele utilzatorului care a adăugat
comentariul respe ctiv și dată la care a fost adăugat. În partea de jos a unui comentariu se află
butoanele pentru aprecierea sau neaprecierea comentariului respectiv și un buton numit Reply pe
care îl folosim atunci când dorim să răspundem la un comentariul. La rândul sau fiecare răspuns
la comentariu va avea numele utilizatorului care a răspuns, dată la care a adăugat răspunsul și
fiecare răspuns are și el butoane pentru apreciere și neapreciere a acelui răspuns. Fiecare
comentariu poate fi șters prin apăsarea butonului de ștergere care ne va redirecționa către o
pagină unde va trebui să bifăm căsuța dacă dorim să ștergem acel comentariu după care să
apăsăm butonul de ștergere numit Delete. Un comentariu poate fi actualizat cu ajutorul butonul
numit Update care ne va redire cționa către un formular unde putem să schimbăm mesajul
comentariului după care apăsăm butonul Update pentru că mesajul să se actualizeze.
În pagină în care vizualizam videoclipul avem în partea dreapta o lista cu videoclipurile
utilizatorului care a încăr cat videoclipul respectiv. Acea lista poate să diferă, de exemplu când
accesăm un videoclip prin intermediul playlist -ului, atunci în partea dreapta se va află o lista cu
videoclipurile din playlist -ul respectiv.
In pagina in care vizualizam videoclipul av em in partea dreapta o lista cu videoclipurile
utilizatorului care a incarcat videoclipul respectiv. Acea lista poate sa difera, de exemplu cand
accesam un videoclip prin intermediul playlist -ului, atunci in partea dreapta se va afla o lista cu
videoclipur ile din playlist -ul respectiv.

3.1 Funcționalitatea aplicației în partea de admin

Partea de admin poate fi accesată doar de către administratori, deoarece pot sa existe mai
multi administratori.
În momentul când accesăm partea de adminstrare suntem întâm pinați de către un
formular de autentificare.
Panoul de adminstrare este constituit din patru module care pot fi accesate din meniu :
● Dashboard
○ Home
○ Setting
● Admin
○ List
○ Add new
○ My account
○ Logins
● User
○ List
○ Add new
○ Logins
● Video
○ List
○ Add new
○ List views
○ List comments

După ce ne -am autentificat vom fi redirecționați către pagină List din modulul Video cu
toate videoclipurile și informații despre ele.
Informațiile constă în titlul videoclipului, utilizatorul videoclipului, dată la care a fost
adăugat videoclipul, categoria, numărul de vizualizări și starea videoclipului dacă este activ sau
inactiv, adică dacă videoclipul este vizibil în lista de videocl ipuri sau nu, această opțiune fiind
utilă în cazul în care videoclipul are un conținut nerecomandat. Administratorul are posiblitatea

să actualizeze videoclipul cu ajutorul butonului Update care îl va redirecționa către un formular
în care poate să modific e titlul, imaginea, categoria și chiar videoclipul. Administratorul poate să
și șteargă un videoclip prin apăsarea butonul de ștergere numit Delete.care ne redirecționează
către un formular în care trebuie să bifăm o căsuța dacă suntem siguri că dorim să ș tergem
videoclipul.
În pagină Add new din modulul Video, administratorul poate încarcă la rândul lui un
videoclip trebuind să completez exact același formular că și cel completat de un utilizator
normal, date care trebuiesc completate având aceleași cerinț e.
Administratorul are acces la o pagină numită List comments în care sunt afișate toate
comentariile adăugate de către utilizatori, în care poate să vadă la ce videoclip să adăugat
comentariul, utilizatorul care a adăugat comentariul, dată, mesajul. La f el că și pentru
videoclipuri, administratorul are posibilitatea să actualizeze comentariul putând să modifice
conținutul mesajul în cazul în care conține cuvinte vulgare sau rasiste. Administratorul poate să
dezactiveze un comentariu sau să îl activeze, ad ică să nu fie afișat în lista de comentarii a acelui
videoclip sau invers. Comentariul poate fi șters în totatlitate din baza de date de către
administrator cu ajutorul butonului numit Delete.
În panoul de administrare există o pagină, List views, cu o sta tistică despre fiecare
vizualizare a unui videoclip putatnd să vadă la ce videoclip să uitat un utilizator la un moment
dat.
Administratorul are acces la lista cu toți utlizatori înregistrați și datele despre ei, cum ar fi
username, email, nume, prenume, d ată la care și -a creat contul. Această pagină este List din
modulul User. Administratorul poate să dezactiveze contul unui utilizator din cauza unor abateri,
dar poate să îl activeze din nou. Altă opțiuni pe care le mai are administratorul asupra
utilizato rului este de a șterge contul sau de a îi modificate date personale ale unui utlizator.
În pagină Add new din modulul User, administratorul poate să adauge alți utlizatori prin
completarea unui formular similar celui completat de un simplu utilizator când își crează un cont
în partea de frontend a aplicației.
Altă statistică din panoul de administrare este cea în care administratorul poate să vadă
fiecare utilizator când s -a autentificat, de pe ce browser, dată și sistemul de operare de pe care s -a
autentif icat. Această pagină este Logins din modulul User. Există și posibilitatea că

administratorul să filtreze datele după browser -ul folosit sau după dată autentificări pentru a îi fi
mai ușor să găsească anumite date specifice în cazul anumitor incidente.
În modulul admin, un administrator poate în pagină List. să vadă lista cu toți
administratorii și datele despre ei, cum ar fi username, email, dată la care s -a creat contul. La
fiecare admin există și opțiunea de a actualiza date personal și de a șterge contu l din baza de date
cu ajutorul butoanelor de Update și Delete.
Administratorul are posibilitatea sa creeze si alti administratori prin intermediul paginii
Add new din modulul admin. In pagina Add new va trebui completat un formular cu username,
email, nume , prenume si cu posibilitatea ca noul administrator sa fie activ sau inactiv prin bifarea
casutei Yes, respectiv No.
In pagina My account, administratorul autentificat poate sa isi vada datele personale,
putand sa modifice parola, numele, prenumele sau em ail-ul.
La fel ca si in modulul user exista si in modul admin o pagina numita Logins care
prezinta cand administratorii s -au autentificat si de pe ce browser si sistem de operare s -au
autentificat.
Panoul de administrare mai contine statistici in pagina Da shboard. Aceste statistici sunt
sub forma de grafic si prezinta de cate ori s -a autentificat administratorii in ultimele trei lunii. O
alta statistica este cea in care se prezinta care sunt cei mai activi utilizatori tot sub forma unui
grafic.

Concluzii

Bibliografie

[1] . https://www.dotkernel.com/docs/what -is-dotkernel/
[2]. https://www.dotkernel.com/docs/hmvc -structure/
[3]. https://www.dotkernel.com/docs/model -view -controller/
[4]. https://www.dotkernel.com/docs/system -requirements/
[5]. http://php.net/manual/en/intro -whatis.php
[6]. https://wiki.php.net/platforms
[7]. https://www.keycdn.com/blog/html -vs-html5/
[8]. https://www.tutorialspoint.com/css/what_is_css.htm
[9]. https://www.tutorialspoint.com/javascript/javascript_overview.htm
[10]. http://www.seguetech.com/ajax -technology/

[11]. https://jquery.com/
[12]. https://www.copterlabs.com/json -what -it-is-how -it-works -how -to-use-it/
[13]. http://getbootstrap.com/
[14]. https://dev.mysql.com/doc/refman/5.7/en/what -is-mysql.html
[15]. https://help.ubuntu.com/lts/serverguide/httpd.html

Similar Posts