Profesor dr. ing. Nicu George Bîzdoaca Iulie 2017 CRAIOVA ii UNIVERSITATEA DIN CRAIOVA FACULTATEA DE AUTOMATICĂ, CALCULATOARE ȘI ELECTRONICĂ… [606244]

UNIVERSITATEA DIN CRAIOVA
FACULTATEA DE AUTOMATICĂ, CALCULATOARE ȘI
ELECTRONICĂ

DEPARTAMENTUL DE AUTOMATICA SI INFORMATICA
APLICATA

PROIECT DE DIPLOMĂ
Andrei Io nuț Adrian

COORDONATOR ȘTIINȚIFIC
Profesor dr. ing. Nicu George Bîzdoaca

Iulie 2017
CRAIOVA

ii

UNIVERSITATEA DIN CRAIOVA
FACULTATEA DE AUTOMATICĂ, CALCULATOARE ȘI
ELECTRONICĂ

DEPARTAMENTUL DE AUTOMATICA SI INFORMATICA
APLICATA

PLATFORMA IT DESTINATA EVIDENTEI PROPUNERILOR DE
PROIECTE
Andrei Io nuț Adrian

COORDONATOR ȘTIINȚIFIC
Profesor dr. ing. Nicu George Bîzdoaca

Iulie 2017
CRAIOVA

iii
„Un secol de trăiești, un secol să inveti. ”
Proverb popular

iv
DECLARAȚIE DE ORIGINALITATE

Subsemnatul Andrei Ionuț Adrian student: [anonimizat], Calculatoare și Electronică a Universit ății din Craiova, certific prin
prezenta că am luat la cunoșt ință de cele prezentate mai jos și că î mi asum, în acest context,
originalita tea proiectului meu de licență :
 cu titlul Platforma IT destinata evitentei propunerilor de proiecte ,
 coordonată de Profesor dr. ing. Nicu George Bîzdoaca ,
 prezentată în sesiunea Iulie 2017,
La elaborarea proiectului de licență, se consideră plagiat una dintre următoarele acțiuni:
 reproducerea exactă a cuvintelor unui alt autor, dintr -o altă lucrare, în limba română sau prin
traducere dintr -o altă limbă, dacă se omit ghilimele și referința precisă,
 redarea cu alte cuvinte, reformularea prin cuvinte proprii sau rezumarea i deilor din alte
lucrări , dacă nu se indică sursa bibliografică,
 prezentarea unor date experimentale obținute sau a unor aplicații realizate de alți autori fără
menționarea corectă a acestor surse,
 însușirea totală sau parțială a unei lucrări în care regu lile de mai sus sunt respectate, dar care
are alt autor.
Pentru evitarea acest or situații neplăcute se recomandă:
 plasarea într e ghilimele a citatelor directe și indicarea referinței într -o listă corespunzătoare la
sfărșitul lucrării,
 indicarea în text a reformulării unei idei, opinii sau teorii și corespunzător în lista de referințe
a sursei originale de la care s -a făcut preluarea,
 precizarea sursei de la care s -au preluat date experimentale, descrieri tehnice, figuri, imagini,
statistici, tabele et caetera ,
 precizarea referințelor poate fi omisă dacă se folosesc informații sau teorii arhicunoscute, a
căror paternitate este unanim cunoscută și acceptată.
Data , Semnătura candidat: [anonimizat] ,

v

UNIVERSITATEA DIN CRAIOVA
Facultatea de Automati că, Calculatoare și Electronică

Departamentul de Automatica si Informatica Aplicata
Aprobat la data de
…………………
Șef de departament,
Prof. dr. ing.
Emil Petre
PROIECTUL DE DIPLOMĂ

Numele și prenumele student: [anonimizat]/ -ei:
Andrei Ionut Adrian

Enunțul temei:

Platforma IT destinata evi dentei propunerilor de proiecte

Datele de pornire:

Enuntul temei: Realizarea unei PLATFORME IT
DESTINATA EVIDENTEI PROPUNERILOR DE
PROIECTE

Conținutul proiectului :

Introducere : se specifică scopul și motivația;
Aspec te teoretice : se prezintă enunțul temei și aspectele
teoretice legate de aplicațiile web și aplicațiile responsive;
Mediul de dezvoltare : suportul teoretic referitor la
tehnologiile utilizate pentru realizarea proiectului.
Proiectarea sistemului : scheme r eferitoare la organizarea
bazei de date, realizarea interfeței grafice;
Implementarea sistemului : conține schemele referitoare la
clasele din aplicație, explicații pe codul sursă;
Manual de utilizare : exemple rulate.

Material grafic obligatoriu:
Modelu l relational al bazei de date;
Capturi de ecran menite să exemplifice rularea aplicației

Consultații:
Lunare
Conducătorul științific
(titlul, nume și prenume, semnătura): Profesor dr. ing. Nicu George Bîzdoaca

Data eliberării temei:
01-02-2017

Termenul estimat de predare a
proiectului :

Data predării proiectului de către
student și semnătura acestuia:

vi

UNIVERSITATEA DIN CRAIOVA
Facultatea de Automatică, Calculatoare și Electronică

Departamentul de Automatica si Informatica Aplicata

REFERATUL CONDUCĂTORULUI ȘTIINȚIFIC

Numele și prenumele candida tului/ -ei: Andrei Ionut Adrian
Specializarea: Automatica si Informatica Aplicata
Titlul proiectului : Platforma IT destinata evitentei propunerilor de proiecte
Locația în care s -a realizat pr actica de
documentare (se bifează una sau mai multe
din opțiunile din dre Figură 16. Pagina
Proiectele mele utilizator testat pe Hawei
P8 LITE
apta): În facultate □
În producție □
În cercetare □
Altă locație:

În urma analizei lucrării candid atului au fost constatate următoarele:
Nivelul documentării Insuficient
□ Satisfăcător
□ Bine
□ Foarte bine

Tipul proiectului Cercetare
□ Proiectare
□ Realizare
practică □ Altul
[se detaliază ]
Aparatul matematic utilizat Simplu
□ Mediu
□ Comp lex
□ Absent

Utilitate Contract de
cercetare □ Cercetare
internă □ Utilare
□ Altul
[se detaliază ]
Redactarea lucrării Insuficient
□ Satisfăcător
□ Bine
□ Foarte bine

Partea grafică, desene Insuficient ă
□ Satisfăcătoare
□ Bună
□ Foarte bună

Realizarea
practică Contribuția autorului Insuficientă
□ Satisfăcătoare
□ Mare
□ Foarte mare

Complexitatea
temei Simplă Medie Mare Complexă

vii
□ □ □ □
Analiza cerințelor Insuficient
□ Satisfăcător
□ Bine
□ Foarte bine

Arhitectura Simplă
□ Medie
□ Mare
□ Complexă

Întocmirea
specificațiilor
funcționale Insuficientă
□ Satisfăcătoare
□ Bună
□ Foarte bună

Implementarea Insuficientă
□ Satisfăcătoare
□ Bună
□ Foarte bună

Testarea Insuficientă
□ Satisfăcătoare
□ Bună
□ Foarte bună

Funcționarea Da
□ Parțială
□ Nu

Rezultate experimentale Experiment propriu
□ Preluare din bibliografie

Bibliografie Cărți
Reviste
Articole
Referințe web

Comentarii
și
observații

În concluzie, se propune:
ADMITEREA PROIECTULUI
□ RESPINGEREA PROIECTULUI

Data, Semnătura conducătorului științific,

viii

REZUMATUL PROIECTULUI
În cadrul acestui proie ct mi -am propus să realizez o platforma IT destinata evidentei
propunerilor de proiecte.
Putem vizualiza, încărca și șterge fișierele din baza de date.
Utilizatorii acestei aplicații pot fi vizitatorii și administratorul acestei aplic ații. Fiecare dintre
aceștia au dreptul de a face anumite operații specifice.
Vizitatorii aplicației pot face următoarele lucruri:
 Pot depune proiecte catre aprobare;
 Pot să contacteze administratorul printr -un mail.
Ca orice aplic ație care folosește o bază de date, avem o pagină de administrator. Această
pagina este la o altă adresă și este protejata cu parolă.
Dacă ne logăm ca administrator, avem următoarele drepturi:
 adăugăm conturi noi ;
 adăugăm parteneri;
 adăugăm categorii d eproiecte ;
 adăugăm administra tori pentru a aproba anumiti pasi ai proiectului
 sespingerea unui proiect ;
 stergerea unui proiect ;
 poate spune unui vizitator/client ca proiectul nu este complet
 ștergerea unui alt administrator ;
 pentru a putea șterge un clinet trebuie să ștergem toate proiectel e la care a inaintat un dosar ;
 modificăm datele despre clienti/ vizitatori ;

ix
 modificăm datele de contact ale administratorilor;
 vizualizare lista de proiecte
În realizarea acestui proiect am folosit PHP,HTML5, CSS3, Bootstrap, iar pe partea de back –
end am folosit ASP.NET, C#. Baza de date este făcută în MySQL, iar ca mediu de dezvoltare am
folosit Microsoft Visual Studio.
Pe parcursul dezvoltării acestei aplicații am întampinat probleme, îns ă au fost soluționate în
urma unei documentări temeinice.
Consider că am dobândit experiență în utilizarea acestor tehnologii, foarte des folosite în
prezent.

Termenii cheie: HTML5, CSS3, Bootstrap, PHP, C#, MySql

x
MULȚUMIRI
Vreau să mulțume sc în mod deosebit coordonatorului științific pentru sprijinul acordat și de asemenea
cadrelor didactice care m -au ajutat să -mi îmbogățesc cunoștințele din domeniu.

xi

Cuprins

1 INTRODUCERE ………………………….. ………………………….. ………………………….. ………………………….. ……… 1
1.1 SCOPUL ………………………….. ………………………….. ………………………….. ………………………….. ……………….. 1
1.2 MOTIVAȚIA ………………………….. ………………………….. ………………………….. ………………………….. …………… 1
2 ASPECTE TEORET ICE ………………………….. ………………………….. ………………………….. ………………………….. 2
2.1 ENUNTUL TEMEI ………………………….. ………………………….. ………………………….. ………………………….. ……… 2
2.2 APLICAȚIILE WEB ………………………….. ………………………….. ………………………….. ………………………….. …….. 2
2.3 APLICAȚIILE RESPONSIVE ………………………….. ………………………….. ………………………….. ………………………… 4
3 MEDIU DE DEZVOLTARE ………………………….. ………………………….. ………………………….. …………………….. 6
3.1 PHP STORM ………………………….. ………………………….. ………………………….. ………………………….. …………. 6
3.2 VISUAL STUDIO ………………………….. ………………………….. ………………………….. ………………………….. ………. 6
3.3 ASP.NET ………………………….. ………………………….. ………………………….. ………………………….. …………….. 8
3.4 CSS3 ………………………….. ………………………….. ………………………….. ………………………….. ………………….. 8
3.5 HTML5 ………………………….. ………………………….. ………………………….. ………………………….. ………………. 9
3.6 PHP ………………………….. ………………………….. ………………………….. ………………………….. …………………. 10
3.6.1 Popularitate ………………………….. ………………………….. ………………………….. ………………………….. …. 11
3.6.2 Utilizare ………………………….. ………………………….. ………………………….. ………………………….. ……….. 11
3.7 JAVASCRIPT ………………………….. ………………………….. ………………………….. ………………………….. …………. 12
3.7.1 Java, JavaScript și Jscript ………………………….. ………………………….. ………………………….. …………….. 12
3.7.2 Utilizare ………………………….. ………………………….. ………………………….. ………………………….. ……….. 13
3.8 BOOTSTRAP ………………………….. ………………………….. ………………………….. ………………………….. ………… 13
3.9 BAZE DE DATE ………………………….. ………………………….. ………………………….. ………………………….. ………. 14
3.9.1 Noțiuni generale privind bazele de date ………………………….. ………………………….. ……………………. 14
3.9.2 Organizarea datelor într -o bază de date ………………………….. ………………………….. …………………… 15
3.9.3 Accesarea bazelor de date ………………………….. ………………………….. ………………………….. ………….. 15
3.9.4 Limbajul SQL ………………………….. ………………………….. ………………………….. ………………………….. … 16
3.9.5 MySQL ………………………….. ………………………….. ………………………….. ………………………….. …………. 18
4 PROIECTAREA SISTEMUL UI ………………………….. ………………………….. ………………………….. ……………….. 19
4.1 DETALIERE SPECIFICATI I ………………………….. ………………………….. ………………………….. ……………………….. 19
4.2 STRUCTURA BAZEI DE DA TE ………………………….. ………………………….. ………………………….. ……………………. 23

xii
4.3 DETALII PAGINA ………………………….. ………………………….. ………………………….. ………………………….. ……. 23
5 COD SURSA ………………………….. ………………………….. ………………………….. ………………………….. ………… 37
6 TABELE BAZA DE DATE ………………………….. ………………………….. ………………………….. ……………………… 41
C. CD / DVD ………………………….. ………………………….. ………………………….. ………………………….. …………… 46
7 CONCLUZII ………………………….. ………………………….. ………………………….. ………………………….. …………. 47
BIBLIOGRAFIE ………………………….. ………………………….. ………………………….. ………………………….. ……………. 48
REFERINȚE WEB ………………………….. ………………………….. ………………………….. ………………………….. …………. 49
INDEX ………………………….. ………………………….. ………………………….. ………………………….. ………………………. 50

xiii
LISTA FIGURILOR
Figură 1. Modelul relațional al bazei de date………………………………….. …………….. ………………………23
Figură 2. Pagina home la rezoluție pentru desktop…………………………………………… …………………….24
Figură 3. Pagina lista proiecte administrator la rezoluție pentru desktop…….. ……………………………24
Figură 4. Pagina Lista tranzactii administrator la rezoluție pentru desktop ………………………………..25
Figură 5. Pagina Plati la rezoluție pentru desktop ……………………………………… …………………………….25
Figură 6 . Pagina Proiectele mele la rezoluție pentru desktop …………………………………………………….26
Figură 7 . Pagina Profilul meu la rezoluție pentru desktop ……………….. ……………………………………….26
Figură 8 . Pagina Login la rezoluție pentru desktop ………………………………………………………………….27
Figură 9 . Pagina index.aspx la rezoluție pentru desktop ……… …………………………………………………..27
Figură 10. Pagina Proiectele mele testat pe Hawei P8 LITE……………………………………………………..28
Figură 11. Pagina Aflare parola testat pe Hawei P8 LITE… ………………………………………………………29
Figură 12. Pagina Proiectele mele testat pe Hawei P8 LITE……………………………………………………..30
Figură 13. Pagina Istoric tranzacti testat pe Hawei P8 LITE……………………………………………………..31
Figură 14. Pagina Profil testat pe Hawei P8 LITE………………………………………………………………….. .32
Figură 15. Pagina Istoric tranzactii testat pe Hawei P8 LITE…………………………………………………….33
Figură 16. Pagina Proiectele mele utilizator testat pe Hawei P8 LITE……………………………………….34
Figură 17. Pagina lOGINutilizator testat pe IOS……………………………………………………………………..35
Figură 18. Pagina PRINCIPALA utilizator testat pe IOS………………………………………………………….36

xiv
LISTA TABELELOR
Tabel 1. Isto ricul v ersiunilor Visual Studio……………………………………………………………………………………….. .7

1 INTRODUCERE
1.1 Scopul
Titlul temei mele de licență este „ Platfor ma IT destinată evidentei propunerilor de proiecte. ”.
Am dorit implementarea unei aplicații web care să fie accesată cat mai simplu si mai u sor. Am
dorit ca utilizatorul să aiba totul cat mai la vedere iar accesare a să fie ușoară .
Aplicația este utilă pentru acesarea fondurilor europene cat mai usoara .
Meniul este ușor de înteles și aplicatia poate fi folosită și de persoane fără prea multa experinta
în folosirea calculatorului.
1.2 Motivația
Principala motivație este aceea de a putea să mă familiarizez cu noil e tehnologii de
programare ,HTML5, CSS3, PHP de a acumula experiență în dezvoltarea de produse software și de a
învăța noi aspect e legate de programare.
Pentru a aj uta persoanele s ă acceseze mult mai u șor fondurile europene direct din fata
calculatorului, fără a mai fi nevoit să astepte la foarte multe cozi .

2
2 ASPECTE TEORETICE
2.1 Enuntul temei
Se dorește implementarea unei aplicații web care va rula online și care oferă utilizatorilor un
mod simplu și rapid de a putea depune un proiect pentru fonduri europene .
Aplicația va fi implementată folosind PHP, CSS , BOOTSTRAP și MySQL.
Pentru a fi compatibilă cu dispozitivele mobile trebuie să folosim versiunea de design
responsive.
Aplicația permite utilizatorilor trimiterea unui mail administratorului.
Aplicația poate fi folosită de către vizitatori sau de către administratorul acesteia. Aceștia au
drepturi diferite în utilizarea aplicației.
Vizitatorii au dreptul de a depune cu ajutorul platformei un proiect pe care il doresc pentru
accesare unor fonduri pentu realizarea proiectului.
Aceștia pot trimite mail -uri către administratorul aplicației, în legătură cu eventualele
nemulțumiri sau inform ații.
Ca administrator avem toate drepturile menționate mai sus și în plus drepturi de administrare a
aplicației, cum ar fi:
 Acceptarea sau respinderea proiectului ;
 adăugare unor responabili de departament ;
 adăugare unor alti administratori;
 modificare date de contact pentru administratori;
2.2 Aplicațiile web
Aplicațiile web de astăzi sunt rapide și reprezintă sisteme software complexe care oferă servicii
interactive și personabilizabile accesibile prin intermediul diferitelor dispozit ive; ele oferă
posibilitatea realizării tranzacțiilor între utilizatori și de obicei stochează datele într -o bază de date.

3
O aplicație web este un sistem software bazat pe tehnologiile și standardele consorțiului World
Wide Web care oferă resurs e web specifice cum ar fi conținut și servicii prin intermediul unei
interfețe numită browser web.

Programarea Web se constituie astăzi, în contextul exploziei informaționale și a extinderii de
neimaginat acum câțiva ani a rețelei Internet, ca unul dintre domeniile dezvoltării de aplicații software
cu un trend permanent ascendent, într -o continuă evoluție, atât calitativă, c ât și cantitativă. Practic, un
important segment al dezvoltărilor informatice este acaparat de proiectarea și dezvoltarea de aplicații
destinate Internetului, categoria Web fiind predominantă în acest sens.
Există o mulțime de instrumente software permițând proiectarea și implementare a
oricărui tip de aplicații Web cerute pe piață.
APLICATII WEB : AVANTAJE SI DEZAVA NTAJE

Avantaje ;
 Aplicaț iile web -based sunt deja la o distanță considerabilă fata de soft-urile desktop. Sunt
numeroș i utilizatori care folosesc acest tip de software in detrimentul celui instalat pe sta ția
proprie de lucru.
 Comoditate -O aplicatie web -based este foarte comodă in utilizare. Se poate accesa oricand, la
orice ora si in orice parte a lumii. Î ntrea ga baza de date este disponibilă mereu. Că si in caz ul
Synchron SFA, poți accesa o astfel de aplicaț ie de pe te lefon, tableta sau laptop, de câ te ori ai
nevoie. Astfel, nu te vei limita la propriul birou si poț i lucra de oriunde.
 Nu necesita instalare și / sau întreț inere

4
 Spre deosebire de aplicaț iile desktop , cele web -based nu trebuie instalate deoarece ruleaza pe
un server web. Castigi astfel timp si eviti efortul de instalare. In acelaș i timp, utilizand servere
web, problemele de mentenanta tind spre zero.
 Costul -Prin comparatie cu aplicatiile desktop, costurile sunt mai reduse. Totodata, nu ai
nevoie sa folosesti spatiu pe calculator si nici să platesti pentru mentenanță .
 Platforme multiple -Frumusetea aplicatiilor web este ca functioneaza pe platfo rme multiple.
Multe functionează pe diferite tipuri de browsere si sunt adesea compatibile cu cele mai multe
dintre sis temele de operare. C alitatea soft -ului ramane aceeaș i de fiecare data.
 Integrare cu alte sisteme -Multe dintre aplica țiile web -based dezvoltate de Soft & Service pot
fi integ rate cu alte sisteme proprii sau externe.
Dezavantaje;
 Printre dezavantajele existente in cazul aplica țiilor web se numară riscul unei conexi uni slabe
la internet, ceea ce î nseamn ă că soft-ul va rula greu.
 Dezvoltarea unei aplicatii web la comandă poate dura mai mult decat implementarea unui sof t
desktop deja existent. Această perioada de dezvoltare se concentreaz ă atat pe funcționalitățile
efective ale aplicației, cât si pe compatibilităț ile cu diferitele versiuni de browsere si sisteme
de operare.
 Fiecare monedă are doua parți, iar această afirmatie e ste valabila si in cazul aplicaț iilor
web versus desktop. To tul depinde de tine si necesitaț ile business -ului tau.

2.3 Aplicațiile Responsive
O aplicație web este responsive dacă are capacitatea să -și adapteze designul paginilor în
funcție de rezoluția ecranului, astfel încât dacă avem utilizatori de pe mobil, site -ul se adaptează
pentru m obil, fără a suferi degradări majore, pentru a le oferi utilizatorilor o navigare fără probleme

Conceptul de design responsive se bazează pe 3 elemente esențiale:
 Griduri fluide

5
 Imagini flexibile
 Media queries
Gridurile fluide
Acestea le -au înlocuit pe cele fixe deoarece în prezent există dispozitive cu diferite rezoluții.
Acestea se bazează pe calculul proprțiilor și se asigură că toate elementele din layout sunt
redimensionate unul față de celălalt. Nu se mai măsoară dimensiunile în pixe li, ci în unități relative și
procente.
Imaginile flexibile
Acestea sunt un alt ingredient esențial în crearea designului responsive. Acestea își pot
modifica lățimea și înălțimea în funcție de rezoluția și de dimensiunea gridului. Este indic at ca
imaginile să fie salvate pe server în seturi de 3 -4 dimensiuni, din care va încărcată imaginea potrivită,
în funcție de dimensiunea ecranului pe care este afișat site -ul.
Media queries
Interogările media reprezintă un procedeu eficient de a încărca diferite proprietăți CSS pentru
diferite rezoluții, pentru a oferi vizitatorului o experiență cât mai bună. Aplicația recunoaște automat
tipul dispozitivului și rezoluția acestuia încărcând proprietățile CSS corespunzătoare.
Design -ul paginii web se bazează pe coloane. Astfel că, dacă o pagină web la rezoluție de PC
(1028×768 px) are 5 coloane, pentru o tabletă (800×600 px) ar fi necesare doar 4 și în cazul unui
telefon inteligent(320×480 px) ar fi necesare doar 3 coloane.
Crearea unui site responsive presupune alocarea unei perioade mai lungi de timp la crearea
elementelor de front -end folosind HTML și CSS.
Numărul de vizitatori de pe dispozitive mobile, cât și numărul celor care cumpără de pe mobil
este în creștere, navigarea pe internet pe astfel de dispozitive a devenit din ce în ce mai comună, așa
că avem nevoie de un site responsive.
Există câteva avantaje pentru crearea unui site responsive:
 Un singur site ce poate fi accesat de pe mai multe dispozitive. Nu mai sunt necesare versiuni
speciale pentru mobil, care trebuie dezvoltate separat, prin urmare se eficientizează costurile;
 Simple sharing – posibilitatea de sharing a aceluiași URL între diverse dispozitive;

6
 Experiența bună d e navigare – layout -ul se adaptează la browser, eliminând astfel scrollul
orizontal;
 Este ușor de administrat (același panou de administrare).
Dezavantaje:
 Timp prelungit pentru dezvoltare, prin urmare, cresc și costurile;
 Pot apărea probleme de compa tibilitate între browsere.
Crearea unui site responsive presupune alocarea unei perioade mai lungi de timp la crearea
elementelor de front -end folosind HTML5, PHP, CSS3 și Bootstrap.
3 MEDIU DE DEZVOLTARE
3.1 PHP Storm
PHP Storm este aplicația de editare a codului preferată de majoritatea programatorilor, ce suportă
versiunile toate versiunile de PHP. Aplicația include un instrument de autocompletare a structurii de
cod, permite asocieri de mai multe limbaje, notifică și previne eventuale erori.
PHP S torm8 este compatibil cu tehnologii de tip front -end ce includ: THML5, CSS, Sass SCSS,
Less, Stylus, Compass, Coffee Script, Type Script, ECMA Script Harmony, Jade, Emmet și Java
Script.

3.2 Visual Studio
Visual studio este un mediu de dezvoltare in tegrat (integrated development environment – IDE)
care include un set complet de instrumente pentru generarea de aplicații ASP.NET, Servicii Web
XML, aplicații desktop și mobile.
Visual C++, Visual C#, Visual Basic și Visual J# folosesc același mediu de dezvoltare integrat,
Visual Studio. Aceste limbaje folosesc caracteristicile .NET Framework, Windows Mobile pentru a
dezvolta aplicații cu interfață grafică pentru toate platformele suportate de Microsoft.
În Visual Studio se pot dezvol ta aplicații consolă, oferă suport pentru limbajele Python și Ruby,
sprijină XML, HTML, CSS și JavaScript.
De-a lungul istoriei, Visual Studio a avut mai multe versiuni:

7

Tabel 1. Istoricul versiunilor Visual Studio

Înainte d e lansarea versiunii 4.0 au existat Visual FoxPro și Source Safe, Visual Basic 3 și
Visual C++ ca și produse independente.
Microsoft Visual Studio oferă editor, compilator/debugger și mediu de proiectare pentru mai
multe limbaje de programare cum ar fi: Microsoft C++, Microsoft Visual C#, Microsoft Visual Basic
și este oferit în mai multe variante: Express, Professional, Premium, Ultimate, Test Professional.
Visual Studio Professional este un mediu de dezvoltare integrat pentru toat e limbajele susținute
de Visual. Ca și la Visual Studio 2010, varianta Standard a fost abandonată. Acesta suportă XML și
XSLT, integrează Microsoft SQL Server și sprijină dezvoltarea aplicațiilor Windows Mobile.

8
NET Framework este o platformă d e dezvoltare software, ce conține un număr mare de clase,
structuri, enumerări, bazate pe un limbaj comun. Acesta este instalat împreună cu sistemul de operare
Windows. Ultima versiune este .NET Framework 4.6.
NET permite realizarea, distribui rea și rularea aplicațiilor -desktop Windows și aplicațiilor
WEB. Este ulti ma interfață între aplicațiile NET și sistemul de operare.
3.3 ASP.NET
ASP.NET este o tehnologie Microsoft pentru crearea de aplicații web și servicii web
complexe. ASP.NET este succesorul lui ASP (Active Server Pages) și beneficiază de puterea
platformei de dezvoltare .NET și de setul de instrumente oferite de mediul de dezvoltare al aplicației
”Visual Studio”.
Realizarea aplicațiilor web în ASP.NET aduce câteva avantajele imp ortante:
 ASP.NET are un set larg de componente, bazate pe XML, oferind astfel un model de
programare orientat pe obiecte (OOP).
 ASP.NET rulează cod compilat, ceea ce crește performanțele aplicației web. Codul sursa
poate fi separat în două fișiere, unul pentru codul executabil, iar un altul pentru conținutul
paginii (codul HTML și textul din pagină).
 ASP.NET folosește controale proprii pe server care scriptează codul HTML necesar afișării
controlului în browser, generează funcțiile JavaScript și codul HT ML ascuns care păstrează
starea controlului. Când utilizatorul acționează asuprea controlului, informația este furnizată
înapoi serverului, iar controlul procesează automat informația și alterează codul HTML astfel
încât afișarea acestuia să se facă în nou l context.
 Aplicațiile .NET pot sunt compatibile cu peste 20 de limbaje diferite, cele mai utilizate fiind
C# și Visual Basic
3.4 CSS3
CSS3 (Cascading Style Sheets) este un limbaj folosit pentru formatarea elementelor unui
document HTML. Stilurile s e pot atașa elementelor HTML prin intermediul unor fișiere externe sau în
cadrul documentului, prin elementul <style>. Aplicația sa cea mai cunoscută este realizarea stilului
paginilor web scrise în HTML si XHTML, dar limbajul poate fi aplicat oricarui tip de document
XML, inclusive SVG și XUL.

9
CSS se folosește de mult timp, a fost propus în 1994 și a fost agreat de W3C în 1996, dar doar în
ultimii ani browser -ele au suportat suficient de fiabil utilizarea lui fără problem. CSS3 reprezintă un
upgra de ce aduce câteva atribute noi și ajută la dezvoltarea noilor concept în webdesign.
CSS este destinat în primul rând să permită separarea conținutului documentului (scris în HTML)
de prezentarea documentului, inclusive elemente precum culori și f onturi. Această separare are unele
avantaje. Avantajele cele mai importante sunt eficietizarea muncii de proiectare și creșterea
accesibilității documentelor. CSS poate să permită aceleiași pagini să fie prezentata în diferite stiluri
pentru diferite metod e de transmitere, precum ecran (de aici rezulta și design -ul responsive,
documentul se adaptează în funcție de rezoluția fiecărui vizitator).
Beneficiile sintaxei CSS sunt:
 formatarea este introdusă într -un singur loc pentru tot documentul;
 editarea rapidă a etichetelor;
 datorită introducerii într -un singur loc a etichetelor se obține o micșorare a codului paginii,
implicit încărcarea mai rapidă a acesteia.
Pentru a gestiona cât mai bine faza inițială a unui proiect folosim Bootstrap.
3.5 HTML5
HTML5 (HyperText Markup Language) este un limbaj pentru structurarea și prezentarea
conținutului pentru World Wide Web, o tehnologie nucleu pentru internet. Este cea mai recentă
versiune de HTML, în scopul de a simplifica dezvoltarea de aplicații w eb. Sintaxa HTML5 este mult
mai ușoară în comparație cu HTML4 și oferă multe caracteristici noi.
Cu acest limbaj se pot realiza pagini web simple și dimanice, dar și pagini web responsive. Se
poate folosi și în cadrul altor limbaje de programar e (cum ar fi C#).
Codul HTML poate fi scris cu ajutorul unui editor de text simplu (Notepad), iar fișierul aferent
rezultat va trebui să aibă extensia .html sau .htm. Acesta suporta și cod JavaScript, dar folosit între
tag-urile <script> și </s cript>. Este suportat si de tehnologia Microsoft, ASP.NET. În acest caz fișierul
care conține codul HTML va avea extensia .aspx. Acest limbaj nu este un limbaj case sensitive (nu
face deosebirea între literele mici și mari).
Pentru a ne ușura m unca, elementele care descriu aspectul și formatarea unui document se scriu
separat, folosit CSS (Cascading Style Sheets).

10
3.6 PHP
PHP este un limbaj de programare . Numele PHP provine din limba engleza și este un acronim
recursiv : Php: Hypertext Preprocessor. Folosit inițial pentru a produce pagini web dinamice, este
folosit pe scară largă în dezvoltarea paginilor și aplicațiilor web. Se folosește în principal înglobat în
codul HTML , dar începând de la versiunea 4.3.0 se poate folosi și în mod „lini e de comandă” ( CLI),
permițând crearea de aplicații independente. Este unul din cele mai importante limbaje de programare
web.
PHP 5 Pe 13 IUNIE 200 a fost lansat PHP 5, cu Zend Engine II, ce a adus și o orientare obiect
mai pronunțată și supor tând mai multe caracteristici ale acestui tip de programare.
PHP 5 aduce mai multe noutăți față de versiunea 4:
 Suport îmbunătățit pentru OOP
 Introduce extensia PDO – PHP Data Objects, care definește o modalitate facilă și consistentă
de accesare a diferit elor baze de date
 Imbunătățiri de performanță
 Suport îmbunătățit pentru MySQL și MSSQL
 Suport nativ pentru SQLite
 Suport SOAP integrat
 Iteratori pentru date
 Controlul erorilor prin tratarea de excepții

PHP6 are următoarea agendă de îmbunătățiri și modific ări:
 îmbunătățirea suportului pentru Unicode
 retragerea definitivă a unor funcții ca register_globals și magic_quotes , și a variabilelor
tip $HTTP_*_VARS
 var va fi un alias pentru public , și folosirea lui va ridica o atenționare E_STRICT.
 suport pentru int pe 64 biți.
 taguri tip ASP sunt retrase definitiv.
 XMLReader, XMLWriter, Fileinfo vor face parte din distribuția principală
 următoarele pachete au fost scoase din distribuția principală: Freetype1, GD1, mime_magic
 funcția ereg() nu mai este disponibilă
 instanțierea obiectelor prin referină (& new Obiect()) generează o eroare E_STRICT.
 erorile tip E_STRICT sunt incluse în E_ALL.
 adăugarea instrucțiunii goto permite salturi la un alt bloc de comenzi.
 namespace , import , și goto devin cuvinte rezervate.
 accesa rea caracterelor într -un șir (string) se face prin operatorul []. {} se scoate din uz ( ex:
$str[42] funcționează, $str{42} nu funcționează)
 constantele FILE_BINARY și FILE_TEXT devin disponibile pentru folosirea în funcții de
citire/scriere fișiere
 foreac h va suporta array multi dimensional : foreach($a as $b => list($c, $d))
 pentru operatorul ternar expresia pentru valoarea true nu mai este obligatorie ($a = $s ?: ‘b’;
// returns $a = $s;)

11
 opțiunea safe_mode a fost înlăturată.
 operatorul and a fost înlătur at.
 funcția microtime() returnează un float.
 zend.ze1_compatibility_mode a fost înlăturat.
3.6.1 Popularitate
LAMP cuprinde PHP PHP -ul este unul din cele mai folosite limbaje de programare server -side,
conform unui studiu efectuat de Netcraft în aprili e 2002, apărând pe 9 din cele 37 milioane de
domenii cercetate în studiu. De asemenea, există un grafic al creșterii folosirii PHP -ului pe site -ul
oficial.
Popularitatea de care se bucură acest limbaj de programare se datorează următoarelor
carac teristici :
 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 marcajele
speciale;
 Eficiența : PHP -ul se folosește de mecanisme de alocare a resur selor, foarte necesare unui mediu
multiutilizator, așa cum este web -ul;
 Securitate : PHP -ul pune la dispoziția programatorului un set flexibil și eficient de măsuri de
siguranță; Flexibilitate : fiind apărut din necesitatea dezvoltării web -ului, PHP a fos t 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,
eficientizarea și securizarea codului.
3.6.2 Utilizare
PHP este simplu de utilizat, fiind un limbaj de programare structurat, c a și C -ul, Perl -ul sau
începând de la versiunea 5 chiar Java, sintaxa limbajului fiind o combinație a celor trei. Datorită
modularității sale poate fi folosit și pentru a dezvolta aplicații de sine stătătorare, de exemplu în
combinație cu PHP -GTK sau poate fi folosit ca Perl sau Python în linia de comandă.

12
Probabil una din cele mai importante facilități ale limbajului este conlucrarea cu majoritatea
bazelor de date relaționale, de la MySQL și până la Oracle, trecând prin MS Sql Server, PostgreSQL,
sau DB2. PHP poate rula pe majoritatea sistemelor de operare, de la UNIX, Windows, sau Mac OS X
și poate interacționa cu majoritatea serverelor web.
Codul dumneavoastră PHP este interpretat de serverul WEB și generează un cod HTML care
va fi văzut de utilizator (c lientului -browserului – fiindu -i transmis numai cod HTML). Arhitectura tip
LAMP a devenit populară în industria web ca modalitate rapidă, gratuită și integrată de dezvoltare a
aplicațiilor. Alături de Linux, Apache și Mysql, PHP reprezintă litera P, deși u neori aceasta se referă
la Python sau Perl. Linux ocupă rolul de sistem de operare pentru toate celelalte aplicații, MySQL
gestionează bazele de date, Apache are rol de server web, iar PHP are rol de interpretato r și
comunicator între acestea.
PHP folosest e extensii specifice pentru fișierele sale: .php, .php3, .ph3, .php4, .inc, .phtml.
Aceste fișiere sunt interpretate de catre serverul web iar rezultatul este trimis în formă de text sau cod
HTML către browser -ul clientului.
3.7 JavaScript
JavaScript ( JS) este un limbaj de programare orientat obiect bazat pe conceptul
prototipurilor .Este folosit mai ales pentru introducerea unor funcționalități în paginile web, codul
Javascript din aceste pagini fiind rulat de către browser.
Limbajul este binecu noscut pentru folosirea sa în construirea siturilor web, dar este folosit și
pentru acesul 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 Mo cha, apoi LiveScript, și
denumit în final JavaScript.
În ciuda numelui și a unor similarități în sintaxă, între JavaScript și limbajul Java nu există nicio
legătură. Ca și Java, JavaScript are o sintaxă apropiată de cea a limbajului C, dar are mai multe în
comun cu limbajul Self decât cu Java.
3.7.1 Java, JavaScript și Jscript
Schimbarea numelui din LiveScript în JavaScript s -a făcut cam în același timp în care Netscape
încorpora suport pentru tehnologia Java în browserul web Netscape Navigator . Microsoft a
implementat limbajul JavaScript sub numele de JScript, cu o serie de modificări și extensii față de
implementarea Netscape.

13
Pe platforma Windows, JScript este unul din limbajele executabile de către Windows Script și,
deci, poate fi folosit pentru scriptarea aplicațiilor ce suportă Windows Script, de exemplu Internet
Explorer, sau chiar sistemul de operare Windows. Asociația ECMA a standardizat limbajul
JavaScript/JScript sub numele ECMAScript
3.7.2 Utilizare
Cea mai des întâlni tă utilizare a JavaScript este în scriptarea paginilor web. Programatorii web
pot îngloba în paginile HTML script -uri pentru diverse activități cum ar fi verificarea datelor
introduse de utilizatori sau crearea de meniuri și alte efecte animate. Browserele rețin în memorie o
reprezentare a unei pagini web sub forma unui arbore de obiecte și pun la dispoziție aceste obiecte
script -urilor JavaScript, care le pot citi și manipula.
Arborele de obiecte poartă numele de Document Object Model sau DOM. Exi stă un standard
W3C pentru DOM -ul pe care trebuie să îl pună la dispoziție un browser, ceea ce oferă premiza scrierii
de script -uri portabile, care să funcționeze pe toate browserele. În practică, însă, standardul W3C
pentru DOM este incomplet implementat.
Deși tendința browserelor este de a se alinia standardului W3C, unele din acestea încă prezintă
incompatibilități majore, cum este cazul Internet Explorer. O tehnică de construire a paginilor web tot
mai întâlnită în ultimul timp este AJAX, abr eviere de la „Asynchronous JavaScript and XML”.
Această tehnică constă în executarea de cereri HTTP în fundal, fără a reîncărca toată pagina web, și
actualizarea numai anumitor porțiuni ale paginii prin manipularea DOM -ului paginii. Tehnica AJAX
perm ite 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ă.
3.8 Bootstrap
Bootstrap este un instrument utilizat pentru a gestiona cât mai bine faza inițială a unui proiect
deoarece putem conta pe o serie de componente care pot fi reutilizate și personalizate oferindu -ne o
baza solidă de pornire a proiectelor noastre pentru a nu fi nevoiți să începem de la zero.
Această funcție es te sugerată și de numele framework -ului, termenul „bootstrap” însumand
procesele necesare pentru pornirea computerelor la fel cum framework -ul Bootstrap ne pune la
dispoziție instrumentele pentru pornirea proiectului nostru web.
Cu Bootstrap put em crea site -uri web, respective site -uri pentru mobil mult mai ușor. Bootstrap
oferă un control mai bun asupra aspectului, precum și modul în care va fi redat pe diferite tipuri de
dispositive, cum ar fi telefoanele mobile, tablete, laptop -uri, desktop -uri și dispositive cu ecran mare

14

3.9 Baze de date
3.9.1 Noțiuni generale privind bazele de date
Aplicațiile care folosesc baze de date sunt, în general, aplicații complexe folosite pentru
gestionarea unor informații de dimensiuni mari într -o manieră sigu ră și eficientă.
Bazele de date au devenit o componentă esențială a vieții de fiecare zi în societatea modernă. În
cursul oricărei zile, fiecare dintre noi desfășurăm activități care implică interacțiunea cu o bază de
date, ca de exemplu, depuner ea sau extragerea unor sume de bani din bancă, rezervarea biletelor la
tren sau avion, rezervarea locurilor la hotel, căutarea unei referințe bibiografice într -o bibliotecă
computerizată, etc.
O bază de date reprezintă un ansamblu de date integ rat, anume structurat și dotat cu o descriere
a acestei structuri. Descrierea structurii poartă numele de dicționar de date sau metadate și crează o
interdependență între datele propriu -zise și programe.
Baza de date poate fi privită ca o colec ție de fișiere interconectate care conțin nucleul de date
necesare unui sistem informatic. Astfel, poate fi considerată drept un model al unor aspecte ale
realității unei unități economice, modelată prin intermediul datelor. Diferitele obiecte din cadrul
realității, ce prezintă interes, sunt denumite clase sau entități. Pentru aceste obiecte sunt achiziționate
și memorate date referitoare la diferite caracteristici (atribute). Baza de date se constituie ca un
ansamblu intercorelat de colecții de date, prin care se realizează reprezentarea unei realități.
O bază de date trebuie să asigure:
 abstractizarea datelor (baza de date fiind un model al realității);
 integrarea datelor (baza de date este un ansamblu de colecții de date intercorelate);
 integritatea datelor (se referă la corectitudinea datelor încărcate și manipulate lor respectând
integritatea);
 securitatea datelor (limitarea accesului la baza de date);
 partajarea datelor (datele pot fi accesate de mai mulți utilizatori, eventual în același timp) ;
 independența datelor (organizarea datelor să fie transparentă pentru utilizatori, modificările în
baza de date să nu afecteze programele de aplicații).

15

3.9.2 Organizarea datelor într -o bază de date
Arhitectura internă a unui sistem de baze de date conține trei niveluri funcționale:
 Nivelul intern – constituit din schema internă ce descrie structura de stocare fizică a
datelor în baza de date, utilizând un model al datelor fizice. La acest nivel se descriu
detaliile complete ale stocării și modul d e acces la date.
 Nivelul conceptual – sau schema conceptuală, descrie structura întregii baze de date
pentru o comunitate de utilizatori. La nivel conceptual se face o descriere completă a
 bazei de date ascunzându -se detaliile legate de stocarea fizică și detaliind descrierea
entităților, tipurilor de date, relațiile dintre ele și restricțiile asociate.
 Nivelul extern – sau nivelul vizual (utilizator), include o colecție de scheme externe
ce descriu baze de date prin prisma diferiților utilizatori.
3.9.3 Accesarea bazelor de date
Accesarea unei baze de date într -o aplicație web are un scenariu complet diferit față de
accesarea unei baze de date prin intermediul unei aplicații desktop client -server.
În aplicațiile tradiționale cu baze de date, clienții stabilesc o conexiune cu baza de date și mențin
această conexiune deschisă până la încheierea executării aplicației.
Conexiunile deschise necesită alocarea de resurse sistem. Atunci când menținem mai multe
conexiuni deschise ser ver-ul de baze de date va răspunde mai lent la comenzile clienților întrucât cele
mai multe baze de date permit un număr foarte mic de conexiuni concurente.
O aplicație Web trebuie să asigure în principal furnizarea rezultatelor către mai mulți u tilizatori
simultan, operație influențată de resursele de memorie și de conexiunile la baza de date. Dacă
aplicația este proiectată astfel încât să mențină conexiunea deschisă chiar și pentru câteva secunde în
plus pentru un utilizator, atunci ceilalți uti lizatori vor observa cu siguranță întârzierea. Concurența
este una dintre problemele pe care aplicația trebuie să le gestioneze pentru că modificările făcute de
utilizatorii conectați simultan pot conduce la inconsistența datelor.
O altă problemă pe care trebuie să o rezolve o aplicație Web care lucrează cu baze de date este
cea a modului de deconectare de la Internet. După cum știm HTTP este un protocol static. Atunci
când un utilizator emite o cerere printr -o aplicație ASP.NET, serverul Web proc esează codul,

16
returnează paginile HTML și închide conexiunea, astfel încât utilizatorul are senzația că lucrează cu o
aplicație care rulează continuu deși el beneficiază doar de pagini statice. Aplicația ASP.NET trebuie
să efectueze operația solicitată de utilizator printr -o singură cerere.

3.9.4 Limbajul SQL
Limbajul SQL se bazează pe studiile lui E.F. Codd, prima implementare a acestui limbaj datând
din 1970.
SQL (Structured Query Language) este în prezent, unul din cele mai puternice limbaj e
structurate pentru interogarea bazelor de date relaționale. Este un limba j neprocedural și declarative,
deoarece utilizatorul descrie ce date vrea să bțină, fără a fi nevoie să stabilească modalitățile de a
ajunge la datele respective.
Caracteristici generale:
 SQL conține atât componența de descriere a datelor, cât și componența de manipulare a
datelor;
 Manipularea (interogarea) este partea extinsă;
 Limbaj neprocedural: secvența de comenzi (instrucțiuni), fiecare comandă este transmisă
SGBD -ului, este interpretată și returnează un rezultat.
Comenzi SQL
Comenzile SQL sunt grupate în mai multe categorii, astfel:
1. Limbaj de interogare : – permite regăsirea liniilor memorate în tabelele din baza de date.
Folosim comanda: SEL ECT
2. Limbaj de manipulare a datelor : – permite modificarea conținutului tabelelor. Folosim
comenzile: INSERT – pentru adăugarea de noi linii în tabel; UPDATE – pentru modificarea
valorilor în tabel; DELETE – pentru ștergerea liniilor dintr -un tabel.
3. Limbaj de definire a datelor : – permite definirea structurii tabelelor ce compun bazele de
date. Folosim comenzile: CREATE – pentru crearea structurii unei baze de date sau a unui tabel;
ALTER – pentru modificarea structurii unei baze de date sau a unui tabel; DROP – pentru ștergerea
structurii bazei de date; RENAME – pentru schimbarea numelui unui tabel.

17
4. Limbaj de control al tranzacțiilor . Folosim comenzile: COMMIT – pentru ca modificările
efectuate asupra bazei de date să devină permanente;
ROLLBACK – pentru definirea unui punct de salvare la care se poate reveni, renunțând la
modificările făcute după acest punct asupra bazei de date.
5. Limbaj de control al datelor : – permite definirea și modificarea drepturil or asupra bazelor de
date. Folosim comenzile: GRANT – pentru acordarea unor drepturi altor utilizatori asupra bazei de
date; REVOKE – pentru anularea anumitor drepturi ale utilizatorilor.
Operatori SQL
Operatorii SQL se clasifica astfel:
1. Operatori binari : – au nevoie de doi operanzi;
2. Operatori unari : – se aplică unui singur operand și pot fi postfixe sau prefixe;
3. Operatori arutmetici : +, -, <, <=, <> (!=);
4. Operatori logici : AND, OR, NOT.
5. Operatori de comparație relaționali :
a. A BETWEEN val_min val_max;
b. A LIKE model_șir = A șir;
c. A IS NULL sau A IS NOT NULL;
d. A IN list_valori;
Funcții SQL
1. Funcții totalizatoare (de grupare): SUM, AVE, MIN, MAX,…;
2. Funcții matematic e;
3. Funcții pentru șiruri;
4. Funcții pentru date calendaristice;
5. Funcții pentru conversii.

18
3.9.5 MySQL
MySQL este un sistem de gestiune a bazelor de date relaționale, produs de compania suedeză
MySQL AB și distribuit sub Licență Publică Ge nerală GNU. Este cel mai popular SGBD open -source
la ora actuală, fiind o componentă cheie a stivei LAMP (Linux, Apache, MySQL, PHP).
Deși este folosit foarte des împreună cu limbajelel de programare JAVA,PHP, cu MySQL se pot
construi aplicații în orice limbaj major. Există multe scheme API disponibile pentru MySQL ce permit
scrierea aplicațiilor în numeroase limbaje de programare pentru accesarea bazelor de date MySQL,
cum are fi: C, C++, C#, Borland Delphi, Java, Perl, PHP, Python, FreeBasic, etc ., fiecare dintre
acestea folosind un tip spefic API. O interfață de tip ODBC denumită MyODBC permite altor limbaje
de programare ce folosesc această interfață, să interacționeze cu bazele de date MySQL cum ar fi ASP
sau Visual Basic.
Administrarea bazelor de date MySQL se poate face din modul linie de comandă sau, cu ajutorul
unor intergețe grafice ca: MySQL Administrato, MySQL Query Browser și MySQL Workbench.
MySQL are câteva caracteristici de bază:
 Funționează pe diferite platforme;
 Disp une de API pentru C, C++, C#, Eiffel, Java, Perl, PHP, Pyton, Ruby și Tcl;
 Complet multi -threaded folosind thread -uri de kernel. Acest lucru înseamnă că poate lucra cu
ușuință pe mai multe procesoare dacă sunt disponibile;
 Un sistem de alocare a memoriei foarte rapid și bazat pe thread -uri;
 Folosește tabele temporare stocate în memorie;
 Funcțiile SQL sunt implementate folosind o bibliotecă de clase optimizată și sunt foarte
rapide. De obicei, nu are loc alocare a memoriei după inițializarea interogărilo r;
 Serverul este disponibil ca program separat ce poate fi folosit într -un mediu de rețea de tip
client/server. De asemenea, este disponibil și ca bibliotecă ce poate fi inclusă în aplicații de sine
stătătoare;
 Oferă motoare tranzacționale și non -tranza cționale de stocare a datelor.

19
4 PROIECTAREA SISTEMUL UI
4.1 Detaliere specificatii
Se dorește implementarea unei aplicații web care va rula online și care oferă utilizatorilor u n mod
simplu și rapid a putea depune de pe laptop și desktop, cât și pe dispozitive le mobile un proiect petru
fonduri europene .
Aplicația va fi implementată folosind ASP.NET, C# și MySQL.
Pentru a fi compatibilă cu dispozitivele mobile trebuie să folosim versiunea de design
responsive.
Aplicația permite u tilizatorilor sa completeze campurile necesare pentru proiect și trimiterea
unui mail administratorului la nevoie.
Aplicaț ia poate fi folosită de către utiliza tori sau de către administratorul acesteia. Aceștia au
drepturi diferite în utilizarea aplicației.
Utilizatorul are dreptul de a incarca proiecte pentru a fi aprobate de care administrator, el
completeaza niste campuri aflate in sectiunea; Adauga proiect.
Administratorul are indatorirea de a analiza si cerceta toate dat ele necesare proiectului si el
poate afișa urmatoarele statusuri proiectului;
 In aș teptare -Utilizatorul aș teapt ă un raspuns de la administrator.
 -Activ -Proiectul este aprobat ș i in curs de desfasurare
 -Sters -Proiectul a fost sters
 -Respins -Proiectul nu a f ost aprobat iar utilizatorul mai poate face anumite modificari ale
proiectului.
Aceștia pot trimite mail -uri către administratorul aplicației, în legătură cu eventualele
nemulțumiri sau informații.
Ca administrator avem toate drepturile menționat e mai sus și în plus drepturi de administrare a
aplicației, cum ar fi:
 adăugare utilizatori ;

20
 adăugare parteneri;
 adăugare administratori;
 ștergere parteneri;
 ștergere proiecte ;
 respingere proiecte
 aprobare proiecte
 ștergere unui administratori;
 modif icare date despre utilizatori ;
 modificare date despre proiecte ;
 modificare date de contact pentru administratori;
La rularea aplicației se va deschide pagina de LOGIN , care contine do ua campuri; utilizator si
parolă (numele de utilizatori si parola sunt furnizate de catre administrator)
In această sectiune avem butonul de autorizare care dupa ce este apasat ne bagă in platforma, daca
datele de logare au fost corecte.
Daca utilizatorul a uitat parola el o poate modifica foarte usor, acesa nd butonul APASA AICI .
O data intrat in aplicatie putem vedea situatia proiectelor:
 Proiecte î nregistrate
 Proiecte aprobate
 Proiecte in aș teptare
 Proiecte respinse
 Situaț ia buget aprobat spre finantare
 Situaț ie buget platit deja către aplicanț i
Sub gasim b ara de notificari care ne dă nouă numite informaț ii despre pro iecte si cum poate fi utilizată
platforma.

21
In stânga gă sim un meniu;
 Dashboard
 Proiectele
 Proiectele mele
 Adăugare proiect
 Plați
In secț iunea proiectele mele g asim proiectele utilizatorului și stadiul î n care se gasesc; în asteptare,
aprobat, sters sau respins.
Tot aici utilizatorul poate sterge proiectul sau poate modifica un proiect care este in asteptare sau este
respins.
In sectiunea adaugă proiect întalinim urmatoarele câ mpuri;
 Titlu proiec t
 Acronim proiect
 Cod final proiect
 Buget total proiect
 Garantie cheltuieli neeligibile
 Descriere proiect
 Data start proiect
 Data finalizare proiect
 Durată proiect(in luni)
Jos gă sim cele doua butoane;
 Adăugare -trimite proiectul c ătre aprobare
 Anulare -anulează comanda.

22
In dreapta sus avem: -BALAN ȚA
-ACCOUNT SETTINGS
ACCOUNT SETTINGS :-Profile
-Logout
Profi lul contine urmatoarele informa ți ale utilizatorului:
 Nume si prenume
 Data na șteri
 Naționalitate
 CNP
 Carte de identitate
 Adresa
 ID utilizator
 Parola(criptata)
 Denumire firma
 Tip societate
 CUI
 N.O.R.C
 Cod caen
 Cont Bancar
 Banc ă
 Tip cont
Din oice pagin ă putem accesa imediat meniul principal al aplicatiei, putem intra in: Dashboard,
Proiecte si Plat ă

23
4.2 Structura bazei de date
Pentru început se va prezenta modelul relațional al bazei de date. Acestea sunt date de intrare pentru
aplicația dezvoltată.

Figură 1. Modelul relațional al bazei de date
Tabel Utilizatori – contine date despre administratori si utilizatori
Tabel Proiect -contine date despre proiect
Tabel Tranzactii -Contine date despre tranzactii
Deoarece aplicația trebuie să fie responsive, în cele ce urmează se vor prezenta cateva detali
cum va trebui să se adapteze designul paginilor în funcție de rezoluția ecranului.
4.3 Detalii pagina
În acest subcapitol voi prezenta câteva print screen realizate pentru câteva pagini la diferite rezoluții.

24

Figură 2. Pagina home la rezoluție pentru desktop

Figură 3 . Pagina lista proiecte administrator la rezolu ție pentru desktop

25

Figură 4. Pagina Lista tranzac ții administrator la rezoluție pentru desktop

Figură 5. Pagina Pla ți la rezoluție pentru desktop

26

Figură 6 . Pagina Proiectele mele la rezoluție pentru desktop

Figură 7 . Pagina Profilul meu la rezolu ție pentru desktop

27

Figură 8 . Pagina Login la rezoluție pentru desktop

Figură 9 . Pagina aflare parola la rezoluție pentru desktop

28

Figură 10. Pagin ă LOGIN testat pe Hawei P8 LITE

29

Figură 11. Pagin ă Aflare parola testat pe Hawei P8 LITE

30

Figură 12 . Pagi nă Proiectele mele testat pe Hawei P8 LITE

31

Figură 13 . Pagin ă Istoric tranzac ții testat pe Hawei P8 LITE

32

Figură 14 . Pagin ă Profil testat pe Hawei P8 LITE

33

Figură 15 . Pag ină Istoric tranzac ții testat pe Hawei P8 LITE

34

Figură 16 . Pagin ă Proiectele mele utilizator testat pe Hawei P8 LITE

35

Figura 17 pagin ă Login testat pe IOS

36

Figură 18. Pagin ă PRINCIPAL Ă utilizator testat pe IOS

37
5 COD SURSA
sursă
<!DOC
TYPE
html>
<html lang="en">
<head>
<!– start: Meta –>
<meta charset ="utf-8">
<title> Proiect de licenta – </title>
<meta name ="description " content ="Bootstrap Metro Dashboard ">
<meta name ="author " content ="Dennis Ji ">
<meta name ="keyword " content ="Metro, Metro UI, Dashboard, Bootstrap, Admin,
Template, Theme, Responsive, Fluid, Retina ">
<!– end: Meta –>
<!– start: Mobile Specific –>
<meta name ="viewport " content ="width=device -width, initial -scale=1 ">
<!– end: Mobile Specific –>
<!– start: CSS –>
<link id="bootstrap -style " href="css/bootstrap.min.css " rel="stylesheet ">
<link href="css/bootstrap -responsive.min.css " rel="stylesheet ">
<link id="base-style " href="css/style.css " rel="stylesheet ">

38
<link id="base-style -responsive " href="css/style -responsive.css " rel="stylesheet ">
<link
href='http://fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,600italic,700ita
lic,800italic,400,300,600,700,800&subset=latin,cyrillic -ext,latin -ext' rel='stylesheet '
type='text/css '>
<!– end: CSS –>
<!– The HTML5 shim, for IE6 -8 support of HTML5 elements –>
<!–[if lt IE 9]>
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
<link id="ie -style" href="css/ie.css" rel="stylesheet">
<![endif] –>
<!–[if IE 9]>
<link id="ie9style" href="css/ie9.css" rel="stylesheet">
<![endif] –>
<!– start: Favicon –>
<link rel="shortcut icon " href="img/favicon.ico ">
<!– end: Favicon –>
<style type="text/css ">
body { backg round: url(img/bg -login.jpg) !important; }
</style>
</head>

39
<body>
<div class ="container -fluid -full">
<div class ="row-fluid ">
<h1 style ="text-align:center;padding: 50px; "> Platformă IT destinată evidenței propunerilor
de proiecte <br/> Catalin Dan & Adrian Ionut Andrei </h1>
<div class ="row-fluid ">
<div class ="login -box">
<div class ="icons ">
<a href="index.php "><i class ="halflings -icon home "></i></a>
</div>
<h2> Intra in cont: </h2>
<form class ="form -horizontal " action="login.php " method ="post">
<fieldset>
<div class ="input -prepend " title="Username ">
<span class ="add-on"><i class ="halflings -icon user "></i></span>
<input class ="input -large span10 " name ="user" id="user" type="text"
placeholder ="utilizator "/>
</div>
<div class ="clearfix "></div>
<div class ="input -prepend " title="Password ">
<span class ="add-on"><i class ="halflings -icon lock "></i></span>

40
<input class ="input -large span10 " name ="parola " id="parola " type="password "
placeholder ="parola "/>
</div>
<div class ="clearfix "></div>
<label class ="remember " for="remember "><input type="checkbox " id="remember " />Tine
minte </label>
<div class ="button -login ">
<button type="imput " name ="submit " class ="btn btn -primary ">Autorizare </button >
</div>
<div class ="clearfix "></div>
</form>
<hr>
<h3> Ai uitat parola? </h3>
<p>
Nici o problema, <a href="forgotpassword.php ">apasa aici </a> pentru a obtine o noua
parola.
</p>
</div> <!–/span –>
</div> <!–/row–>
</div> <!–/.fluid -container –>
</div> <!–/fluid -row–>

41
</body>
</html>

6 TABELE BAZA DE DATE
Database: `platform_it`

– –––––––––––––––––––


– Table structure for table `proiecte`

CREATE TABLE `proiect e` (
`id_proiect` int(11) NOT NULL,
`id_user` int(11) NOT NULL,
`titlu_ploiect` varchar(200) NOT NULL,
`acronim_proiect` varchar(20) NOT NULL,
`cod_final_proiect` varchar(25) NOT NULL,
`descriere` varchar(250) NOT NULL,
`status` varchar(12) N OT NULL,
`buget_total_proiect` decimal(10,0) NOT NULL,
`garantie_cheltuieli_neeligibile` decimal(10,0) NOT NULL,
`data_start_proiect` varchar(8) NOT NULL,
`data_finalizare_proiect` varchar(8) NOT NULL,
`durata_proiect` int(4) NOT NULL
) ENGINE=My ISAM DEFAULT CHARSET=utf8;


– Dumping data for table `proiecte`

42
INSERT INTO `proiecte` (`id_proiect`, `id_user`, `titlu_ploiect`, `acronim_proiect`,
`cod_final_proiect`, `descriere`, `status`, `buget_total_proiect`, `garantie_cheltuieli_neeligibile `,
`data_start_proiect`, `data_finalizare_proiect`, `durata_proiect`) VALUES
(1, 2, 'Proiect 01', 'CNFIS -FDI-2017 -0202', 'CNFIS -FIN-2017 -0202', 'Descriere proiect 01. Teste.',
'Respins', '2342', '531', '20170902', '20171202', 13),
(2, 2, 'Proiect 02', 'CNF IS-FDI-2017 -0453', '', 'Descriere de test proiect 02', 'Deleted', '6234', '8846',
'20170902', '20171202', 17),
(3, 2, 'Proiect 03', 'CNFIS -FDI-2017 -0633', '', 'Descriere de test proiect 03', 'Activ', '65634', '1419',
'20170902', '20171202', 45);

– –– –––––––––––––––––


– Table structure for table `tranzactii`

CREATE TABLE `tranzactii` (
`id_tranzactie` int(11) NOT NULL,
`id_user` int(11) NOT NULL,
`suma` decimal(10,2) NOT NULL,
`data` varchar(10) NOT NUL L,
`status` varchar(10) NOT NULL,
`memo` varchar(255) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;


– Dumping data for table `tranzactii`

INSERT INTO `tranzactii` (`id_tranzactie`, `id_user`, `suma`, `data`, `status`, `memo`) VALUES
(1, 2, '3 000.00', '20151228', 'Ok', 'Finantare Runda 1'),
(2, 2, '2000.00', '20151228', 'Ok', 'Transfer EuroBP'),
(5, 2, '1000.00', '20160104', 'Ok', 'Transfer EuroBP'),
(3, 2, '4600.00', '20151228', 'Ok', 'Transfer EuroBP'),
(4, 2, '1000.00', '20160101', 'Ok', 'Tr ansfer EuroBP'),
(6, 2, '800.00', '20160120', 'Ok', 'Campanie Dacato [1]');

43
– –––––––––––––––––––


– Table structure for table `utilizatori`

CREATE TABLE `utilizatori` (
`id_user` int(11) NOT NULL,
`nume_p renume` varchar(60) NOT NULL,
`user` varchar(50) DEFAULT NULL,
`password` varchar(100) NOT NULL,
`tip_cont` varchar(1) NOT NULL,
`tel` varchar(16) NOT NULL,
`nr_contract` varchar(20) NOT NULL,
`cont_bancar` varchar(24) NOT NULL,
`banca` varch ar(50) NOT NULL,
`cont_paypal` varchar(50) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;


– Dumping data for table `utilizatori`

INSERT INTO `utilizatori` (`id_user`, `nume_prenume`, `user`, `password`, `tip_cont`, `tel`,
`nr_contract`, `cont_ba ncar`, `banca`, `cont_paypal`) VALUES
(1, 'Admin Interfata', 'office@nanotel.ro',
'8d9c87065c6ba83b1cb3545f9275595bc58d2cff5dd5c97058a18b94ba91af63', 'a', '', ' -', '', '', ''),
(2, 'Ionel SRL', 'nanotel@gmail.com',
'62af03daaf1c88b47347a05d7552dbd3e626a069 9d1ab7ed9de27f6898e04e8e', 'b', '', ' -', '', '', '');


– Indexes for dumped tables


– Indexes for table `proiecte`

ALTER TABLE `proiecte`

44
ADD PRIMARY KEY (`id_proiect`);


– Indexes for table `tranzactii`

ALTER TABLE `tranzactii`
ADD PRIMARY KEY (`id_tranzactie`);


– Indexes for table `utilizatori`

ALTER TABLE `utilizatori`
ADD PRIMARY KEY (`id_user`),
ADD UNIQUE KEY `user` (`user`);


– AUTO_INCREMENT for dumped tables


– AUTO_INCREMENT for table `proiecte`

ALTER TABLE `proiecte`
MODIFY `id_proiect` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=135;

– AUTO_INCREMENT for table `tranzactii`

ALTER TABLE `tranzactii`
MODIFY `id_tranzactie` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=13;

– AUTO _INCREMENT for table `utilizatori`

ALTER TABLE `utilizatori`
MODIFY `id_user` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=53;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RES ULTS */;

45
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;

46
C. CD / DVD

47
7 CONCLUZII
Alegerea acestui proiect m -a ajutat să -mi dezvolt cunoștințele în domeniul web design -ului, al
programării web și al lucrului cu bazele de date.
Aplicația este utilă utilizatorilor fiindca pot sa acceseze fonduri europene f ără multă bataie de cap .
Aplicația ar putea fi îmbogățită adăugând mai multe funcționalități cum ar fi:
 Adaugarea de fisiere scanate
 Alegerea unor proiecte deja definite

48
BIBLIOGRAFIE
[GRA07] – Craig Granell, The Essential Guide to CSS and HTML Web Design, Editura Apress,
2007
[GUR05] – Teodoru Guroiu, HTML, XHTML, CSS și XML prin exemple – ghid practic,
Editura Teora 2005
[VAS10] – Vikram Vaswani, MySQL,Ut ilizarea și administrarea bazelor de date MySQL, Editura
Rosetti Educational, 2010
[DAV03] – Conger David, Programarea în C#, Editura All, 2003
[ESP03] – Dino Esposito, Soluții web cu ASP+ADO.NET, Editura Teora, 2003

49
REFERINȚE WEB
[VIS] – Visual Studio, disponibil on -line la adresa:
http://www.math.uaic.ro/~mapetrii/POO/depozit/Curs7.pdf
[MIC] – Microsoft Visual Studio, disponibil on -line la adresa:
https://ro.wikipedia.org/wiki/Microsoft_Visual_Studio
[ASP] – ASP.NET, disponibil on -line la adresa: https://ro.wikipedia.org/wiki/ASP.NET
[CEI] – Ce înseamnă design responsive?, disponibil on -line la adresa:
http://webblog.bestwebimage.ro/2014/03/ce -inseamna -design -responsive/
[MYS] – MySQL, disponibil on -line la adresa: https://ro.wikipedi a.org/wiki/MySQL
[MAN] – Manual_ASP, disponibil on -line la adresa:
http://www.cs.ubbcluj.ro/~vcioban/Bistrita/Manuale/Manual_ASP.pdf
[TUT] – Tutoriale C#, disponibile on -line la adresa:
https://www.youtube.com/c/csharpvideotutorialsblogspot/videos
[PHP] – PHP, disponibil la adresa: https://ro.wikipedia.org/wiki/PHP
[APLICATII WEB] – http://softservice.ro/aplicatii -web-based -avantaje -si-dezavantaje/

50
INDEX
B
Bibliografie ………………………….. …………………….. 48
C
CUPRINSUL ………………………….. …………………… xi
L LISTA FIGURILOR ………………………….. ………… xii
LISTA TABELELOR ………………………….. ……… xiii
R
Referințe web ………………………….. ………………….. 49

Similar Posts