Programul de Studii: Informatica Economica [302071]
Universitatea Ștefan cel Mare Suceava
Facultatea de Științe Economice și Administrație Publică
Programul de Studii: Informatica Economica
Lucrare de licență
Conducător științific
Prof. dr. Doru TILIUȚE Absolvent: [anonimizat]-Emanuel BĂLĂNOAEI
Suceava 2017
Modul software integrabil în portalurile web ale AJOFM
Cuprins
Lista imaginilor și tabelelor 3
Introducere 5
I. Tehnologii Web utilizate 7
I.1 Clienți și servere Web 9
I.2 Limbaje conexe și de marcare: HTML, CSS, 10
I.3 [anonimizat]: Java Script 13
I.4 [anonimizat]: Bootstrap 14
I.5 [anonimizat]: PHP 16
I.6 Servere pentru web: MySQL 17
II. Implementarea și utilizarea aplicației 19
II.1 Prezentarea generală 19
II.2 Pagina de acces 19
II.2.1 Front-end-ul paginii 20
II.2.2 Back-end-ul paginii 25
II.3 Instructiuni de utilizare 28
III. Studiu de caz 34
IV. Concluzii 35
Bibliografie 36
[anonimizat] a [anonimizat] – [anonimizat] – [anonimizat] – [anonimizat] – Structured Query Language
Lista imaginilor și tabelelor
Figura 1:[anonimizat]. 10
Figura 2:Model paragraf HTML 10
Figura 3:Conținutul unui element HTML. 11
Figura 4:Exemplu cod HTML 11
Figura 5:Exemplu:Împortare fișier CSS în HTML 12
Figura 6:Exemplu cod CSS 12
Figura 7:Afișarea rezultatului obținut 13
Figura 8:Importare cale JavaScript 14
Figura 9: Hello World! JavaScript 14
Figura 10:Rezultatul obținut cu JavaScript 14
Figura 11: Exemplu clase Bootstrap 15
Figura 12:Bootstrap layout 1 15
Figura 13:Bootstrap layout 2 16
Figura 14:Exemplu script PHP 16
Figura 15:[anonimizat] 17
Figura 16: Modulele de bază și interacțiunea dintre ele 18
Figura 17:Interfață pagină principală 19
Figura 18:Cod implementare meniu de navigare 20
Figura 19:Clasa CSS design buton 20
Figura 20:Metodă de afișare a rezultatului din baza de date 21
Figura 21:Cod pentru acțiunea butonului Details 21
Figura 22:[anonimizat] 22
Figura 23:Funcție redirecționare pe următoarea pagină 22
Figura 24:Formular pentru autentificare 23
Figura 25:Preluarea șirurilor prin intermediul metodei post 23
Figura 26:Formular adăugare job(1) 24
Figura 27: Formular adăugare job(2) 25
Figura 28:Creare tabelă postări 26
Figura 29:Creare tabelă utilizatori 27
Figura 30:Transmiterea informațiilor către baza de date 28
Figura 31:[anonimizat] 29
Figura 32: Detalii job 29
Figura 33:Formular logare 30
Figura 34:Formular pentru adăugare job 30
Figura 35:Selectare imagine pentru logo 31
Figura 36:Selectare din lista a nivelului carierei 31
Figura 37:Mesaj atenționare câmp necompletat 32
Figura 38:Mesaj de eroare 33
Figura 39:Închidere fereastră 33
[anonimizat]-o societate foarte informatizată. [anonimizat], [anonimizat], [anonimizat], întâlnim prezența calculatorului și la examenele pentru obținerea permisului de conducere și/[anonimizat]. Peste tot există computere personale, legate, eventual, între ele și acestea formând așadar așa numitele rețele de calculatoare.
Toate aceste lucruri se datorează simplului fapt că noi realizăm faptul că sistemele de calcul, computerele, ne ușurează din ce în ce mai mult munca și/sau viața prin apariția lor. Să aruncăm o privire și să ne gândim un pic la cât de mult s-a schimbat lumea din momentul când computerele personale au aparut și până acum. Înainte ca aceste computere personale să apară, orice forme de evidență erau înregistrate pe hârtie, scrise cu mâna ori în cele mai bune cazuri erau scrise cu dactilograful.
Un mare dezavantaj al acestei metode de evidenta era că acele documente se degradau în timp, ori se puteau pierde foarte simplu. Așadar, apariția computerului personal reprezintă o foarte mare avansare în acest domeniu, însă tot în același timp și în multe alte domenii.
Această lucrare, prezintă informații generale și particulare ce duc la construirea și publicarea unei pagini web. Este prezentată o aplicație web care constă într-un site web dinamic și flexibil, creat utilizând tehnologii precum HTML, CSS, PHP, BOOTSTRAP, MYSQL, JAVASCRIPT.
Aplicația web ce va fi prezentată în această lucrare este destinată AJOFM-ului (Agenția Județeană a Ocupării Forței de Muncă). Scopul aplicației este atât adăugarea de noi job-uri de către anumiți agenți economici cât și vizualizarea on-line, mai rapidă, a job-urilor de către publicul țintă, dar și administrarea site-ului de către AJOFM. Acest tip de aplicație oferă o modalitate gratuită, mult mai simplă și mult mai rapidă a postării job-urilor vacante ,iar publicul vizat are posibilitatea de a găsi job-urile mult mai simplu și mai rapid.
Internetul a evoluat foarte mult în ultimii ani, ajungând ca în zilele noastre să fie cea mai utilizată modalitate de a accesa informații, de a comunica, de a învăța lucruri de uz casnic și generale. De aceea, odată cu evoluția internetului, au apărut noi modalități mult mai rapide, mai ieftine de a transfera informația. Din această cauză, multe firme indiferent de mărimea lor aleg să iși caute potențiali noi angajați prin intermediul acestuia publicând anunțuri cu locurile de muncă ce sunt disponibile in interiorul întreprinderii. Unele întreprinderi apelează la site-urile personale în vederea recrutării de nou personal, altele însă nu se mulțumesc doar cu acest lucri din motive precum că nu sunt foarte cunoscuți,fie că au nevoie urgentă de personal, apelează la site-uri specializate doar în postarea anunțurilor de angajare. Printre aceste site-uri se află e-jobs, best-jobs.
Cu toate că pentru vizualizarea tuturor informațiilor existente pe site au permisiunea toți vizitatorii, adăugarea de informații este permisă doar membrilor site-ului, de aceea este implementat un mecanism de logare. Acest mecanism are la bază înmânarea de către AJOFM a unui cont ce permite autentificarea firmelor în ideea de a posta anunțuri cu locuri de muncă vacante.
Această lucrare este structurată pe cinci capitole, și anume:
În primul capitol, Introducerea, se prezintă un scurt intro despre importanța tehnologiei în zilele noastre cât și despre tema noastră. Cel de-al doilea capitol, Tehnologii web utilizate, cuprinde prezentarea informațiilor limbajelor de programare folosite cum ar fi HTML, CSS și altele. În cel de-al treilea capitol, Implementarea și utilizarea aplicației este prezentat modul de dezvoltare și implementare a aplicație web de postare anunțuri de angajare folosindu-se considerațiile teoretice prezentate în capitolul anterior, precum și modul în care poate fi utilizată aplicația creată. În cel de-al patrulea capitol Studiu de caz, se poate găsi o scurtă descriere a aplicației și modul în care aceasta ar putea fi dezvoltată și îmbunătățită. Ultimul capitol este destinat concluziilor .
Tehnologii Web utilizate
Pentru dezvoltarea paginilor web precum și a aplicațiilor web sunt folosite tehnologiile cele mai frecvent utilizate în acest domeniu și anume PHP & MySQL precum și ASP.NET. Alegerea acestor tehnologii care urmează a fi folosite este făcută în funcție de preferințele clientului precum și de complexitatea aplicației web.
PHP&MySQL
PHP reprezintă un limbaj de programare server-side, asta înseamnă ca rulează pe un server și permite dezvoltatorilor web creearea unor site-uri dinamice și a unor aplicații web-based software care interacționează cu utilizatorii și bazele de date. În vederea utilizării acestui limbaj de programare web, cel mai des și cel mai comun folosit server îl reprezintă serverul Apache. Pentru a stoca datele în baza de date se va folosi MySQL care un server de baze de date open source utilizat cel mai des. Acest limbaj etse unul stabil, flexibil, fiabil și cu o viteză mare în prelucrarea bazelor de date. MySQL utilizează Structured Query Language (SQL), care este limbajul cel mai des utilizat pentru adăugarea, accesarea precum și prelucrarea datelor în bazele de date.
HTML
Denumirea acestui limbaj de programare HTML vine de la Hyper Text Markup Language și este definit ca fiind un limbaj de formatare și structurare ale documentelor web utilizând o varietate de etichete și atribute.
CSS
Denumirea limbajului de programare CSS vine de la Cascading Style Sheets și este un limbaj folosit pentru descrierea aspectului precum și formatarea unui document scris într-un limbaj markup. Cea mai comună aplicare a sa este în paginile web scrise în HTML și XHTML, dar poate fi aplicat la oricare tip de document XML.
JavaScript
JavaScript reprezintă un limbaj de programare care a fost creat de Netscape și care este folosit pentru dezvoltarea aplicațiilor web, iar de cele mai multe ori rulează precum o aplicație client-side ce rulează într-un browser web.
Dezvoltatorii web utilizează limbajul JavaScript în site-uri și în aplicații web în vederea efectuării de sarcini suplimentare pe care limbajul HTML nu este capabil să le efectueze. Spre exemplu, acesta poate să efectueze meniuri interactive ori poate să detecteze intrările de la tastatură ale utilizatorilor. Iar datorită faptului că este un limbaj client-side, funcțiile JavaScript precum și calculele se execută destul de repede deoarece informațiile nu trebuie să navigheze pe internet. Deși au denumire asemănătoare, JavaScript și limbajul de programare Java au foarte puține elemente în comun.
Bootstrap
Bootstrap este un framework open source Javascript dezvoltat de echipa de la Twitter. Este o combinație de cod HTML, CSS și Javascript proiectat pentru a ajuta la crearea componentelor interfeței utilizator. Bootstrap a fost, de asemenea, programat să suporte atât HTML5, cât și CSS3. De asemenea, se numește Front-end-framework
Clienți și servere Web
Un server web este un sistem computerizat care procesează cereri prin HTTP, protocolul de rețea de bază folosit pentru a distribui informații pe World Wide Web. Termenul se referă la întregul sistem sau, în mod specific, la software-ul care acceptă și supraveghează cererile HTTP.
Funcția principală a unui server web este de a stoca, procesa și livra pagini web clienților. Comunicarea dintre client și server are loc utilizând Hypertext Transfer Protocol (HTTP). Paginile livrate sunt cel mai frecvent documente HTML, care pot include imagini, foi de stil și scripturi în plus față de conținutul textului.
Un agent de utilizator, de obicei un browser web sau un crawler web, inițiază comunicarea făcând o cerere pentru o anumită resursă utilizând HTTP, iar serverul răspunde cu conținutul respectivei resurse sau cu un mesaj de eroare dacă nu poate să facă acest lucru. Resursa este de obicei un fișier real pe spațiul de stocare secundar al serverului, dar acest lucru nu este neapărat cazul și depinde de modul în care este implementat serverul web.
În timp ce funcția principală este de a oferi conținut, o implementare completă a HTTP include și modalități de primire a conținutului de la clienți. Această funcție este utilizată pentru trimiterea formularelor web, inclusiv încărcarea fișierelor.
Multe servere web generice suportă, de asemenea, script-uri de server folosind pagini Active Server (ASP), PHP sau alte limbi de scripting. Aceasta înseamnă că comportamentul serverului web poate fi scris în fișiere separate, în timp ce software-ul de server propriu rămâne neschimbat. De obicei, această funcție este utilizată pentru a genera dinamic documente HTML ("on-the-fly") spre deosebire de returnarea documentelor statice. Primul este utilizat în principal pentru a prelua sau modifica informații din bazele de date. Acesta din urmă este de obicei mult mai rapid și mai ușor de memorat în cache, dar nu poate oferi conținut dinamic
Serverele web nu sunt utilizate numai pentru a servi World Wide Web. Ele pot fi de asemenea găsite încorporate în dispozitive precum imprimante, routere, camere web și care deservesc numai o rețea locală. Serverul web poate fi apoi utilizat ca parte a unui sistem de monitorizare sau administrare a dispozitivului în cauză. Acest lucru înseamnă, de obicei, că nu trebuie instalat niciun software suplimentar pe computerul client, deoarece este necesar doar un browser web (care este acum inclus în majoritatea sistemelor de operare).
Un client este un program de calculator care, în cadrul operațiunii sale, se bazează pe trimiterea unei cereri către un alt program de calculator (care poate sau nu să fie localizat pe alt computer). De exemplu, browserele web sunt clienți care se conectează la serverele web și recuperează paginile web pentru afișare. Clienții de e-mail recuperează e-mailurile de la serverele de e-mail. Chatul online utilizează o varietate de clienți, care variază în funcție de protocolul de chat folosit. Jocurile video multiplayer sau jocurile video online pot rula ca client pe fiecare calculator. Termenul "client" poate fi, de asemenea, aplicat computerelor sau dispozitivelor care execută software-ul client sau utilizatorii care utilizează software-ul client.
Mai pe scurt, putem spune ca un client si un server sunt doua parti ale unei conexiuni. Intr-un mediu web, acestea sunt doua masini distincte; un client este orice masina care solicita informatii, un server este cel care cere clientului.
Asadar, un server web ste in esenta un computer personal care este proiectat sa accepte cererile de la calculatoarele la distanta si sa trimita informatiile solicitate, Pe cand un client web este de fapt browserul de pe PC/Mac care face cererile catre serverul de la distanta. Un PC/Mac care utilizeaza un browser web (client) este denumit „ Client Machine”.
Figura 1:Legătura client-server.
Sursa: https://en.wikipedia.org/wiki/Client_model
Limbaje conexe și de marcare: HTML, CSS,
HTML
Unul dintre elementele fundamentale ale World Wide Web-ului este HTML-ul (Hyper Text Markup Language), standardul care descrie formatul primar în care documentele sunt distribuite și afișate pe Internet. O mulțime din trăsăturile sale, precum legăturile hipertext, structurarea formatării, independența față de platformă, fac din HTML, un excelent format pentru documentele Internet și WEB.
HTML-ul este un limbaj de marcare, folosit pentru a-i spune browser-ului. cum să structureze paginile web pe care le vizităm.HTML-ul este alcătuit dintr-o serie de elemente folosite pentru a închide, a împacheta sau a marca diferite părți ale conținutului pentru a face să apară într-un anumit mod sau pentru a acționa într-un anumit mod. Etichetele anexate pot face un pic de conținut într-un hyperlink pentru a lega la o altă pagină de pe Web, pentru a redimensiona cuvintele și așa mai departe. De exemplu, luăm următoarea linie de conținut:
“Hello World!”
Dacă dorim ca linia să rămână așa cum este, vom specifica cum că aceasta este un paragraf punându-l între tagurile de paragraf <p> </p>:
Principalele părți ale elementului nostru sunt:
Eticheta de deschidere: Se compune din numele elementului (în acest caz, p), înfășurat în paranteze de deschidere și închidere. Aceasta indică locul în care elementul începe sau începe să aibă efect.
Eticheta de închidere: Aceasta este aceeași cu eticheta de deschidere, cu excepția faptului că include o bară înainte înainte de numele elementului. Aceasta indică locul în care elementul se încheie – în acest caz, unde este sfârșitul paragrafului. Dacă nu includem o etichetă de închidere, este o eroare comună de începător și poate duce la rezultate ciudate.
Conținutul: acesta este conținutul elementului, care în acest caz este doar text.
Elementul: Eticheta de deschidere, plus eticheta de închidere, plus conținutul, este egală cu elementul.
În figura următoare putem vedea, mai simplu, principalele părți ale unui element:
Figura 3:Conținutul unui element HTML.
Sursa: https://developer.mozilla.org/en-US/docs/Learn/HTML
Paginile HTML se formează din etichete ori din taguri și ele au extensia .html ori .htm. Mai tot timpul, aceste taguri sunt pereche, un tag de deschidere <tag> iar altul de închidere </tag>. Browserul va afișa rezultatul pe ecran din interpretarea acestor etichete.
Componentele unui document HTML sunt:
Versiunea HTML a documentului
Partea head unde avem etichetele <head> </head>
Partea body unde avem etichetele <body> </body>
Totalitatea paginilor HTML încep și se incheie cu tagurile <html> și </html>. Mai apoi, în interiorul acestora, gasim perechile <head> </head> și <body> </body> .
Alt element foarte important pe care îl avem în vedere când creem o pagină web, îl reprezintă DOCTYPE-ul, existența acestuia fiind necesară într-o pagină web, deoarece prin acest tag îi spunem browser-ului cum să interpreteze pagina: <!DOCTYPE html >
CSS
Web-ul a fost fondat pe documente HTML și text simplu. În ultimii ani, Web-ul a devenit un suport de uz industrial, maturizându-se într-o platformă viabilă de publicare mulțumită, în foarte mare măsură, CSS-ului (Cascading Style Sheets).
CSS permite autorilor și programatorilor web să elaboreze în mod fin elemente pentru publicare atât online, cât și în mai multe tipuri diferite de materiale media, inclusiv formatul de imprimare.
Scopul stilurilor:
Stilurile sunt o invenție electronică de publicare pentru codificarea dinamică a textului și a altor elemente de documentare cu formatare. De exemplu, un stil numit "Heading" va fi atașat la fiecare poziție din document. Definiția stilului ar conține informații despre modul în care trebuie formatate titlurile.
Avantajul stilurilor este că poți schimba o definiție odată și schimbarea afectează fiecare element care folosește acel stil. Codificarea fiecărui element individual, prin contrast, ar necesita ca fiecare element să fie recodificat individual ori de câte ori doriți ca toți să se schimbe. Astfel, stilurile oferă un mijloc simplu de a actualiza formatarea documentelor și de a menține consecvența pe mai multe documente.
Pentru a demonstra utilitatea CSS-ului, vom face un mic exemplu:
Figura 5:Exemplu:Împortare fișier CSS în HTML
Acum, să examinăm un exemplu CSS foarte simplu, care conține două reguli:
Figura 6:Exemplu cod CSS
Prima regulă începe cu un selector h1, ceea ce înseamnă că va aplica valorile proprietății elementului <h1>. Acesta conține trei proprietăți și valorile lor (fiecare pereche de proprietăți / valori se numește o declarație):
Prima opțiune stabilește culoarea textului în albastru.
Al doilea setază culoarea de fundal în galben.
Cel de-al treilea pune o margine în jurul antetului, care are o lățime de 1 pixel, solid (nu punctat, punctat etc.) și colorat negru.
A doua regulă începe cu un selector p, ceea ce înseamnă că va aplica valorile proprietății elementului <p>. Conține o declarație care stabilește culoarea textului în roșu.
Într-un browser web, codul de mai sus va produce următoarea ieșire:
Figura 7:Afișarea rezultatului obținut
Pe scurt, putem spune că HTML este limbajul universal de marcare pentru Web. HTML permite formatarea textului, adaugarea de grafice, crearea unor legături, introducerea de formulare, rame și tabele etc. și să le salvăm într-un fișier text pe care orice browser îl poate citi și afișa. CSS permite stilizarea paginilor HTML. CSS oferă un control total al aspectului, fără a afecta conținutul documentului.
Limbaje client-side: Java Script
JavaScript (JS) este un limbaj de programare dinamic care, atunci când este aplicat unui document HTML, poate oferi interactivitate dinamică pe site-uri web. A fost inventat de Brendan Eich, co-fondator al proiectului Mozilla, al Fundației Mozilla și al corporației Mozilla.
JavaScript este incredibil de versatil. Putem începe cugalerii de imagini, răspunsuri la clicurile pe butoane, până la crearea jocurilor 2D sau 3D, aplicații complexe bazate pe baze de date și multe altele.
JavaScript în sine este destul de compact, dar foarte flexibil. Dezvoltatorii au scris o mare varietate de instrumente pe lângă limbajul JavaScript de bază, deblocând o mare cantitate de funcționalitate suplimentară cu efort minim. Acestea includ:
– Interfețe de programare a aplicațiilor pentru browsere (API) – API-uri integrate în browsere web, oferind funcții cum ar fi crearea dinamică a HTML-ului și setarea stilurilor CSS, colectarea și manipularea unui flux video de pe webcam-ul utilizatorului sau generarea de imagini 3D și de eșantioane audio.
– API-uri terță parte pentru a permite dezvoltatorilor să integreze funcționalitatea în site-urile lor de la alți furnizori de conținut, cum ar fi Twitter sau Facebook.
– Cadrele și bibliotecile de la terți pot fi aplicate în codul HTML pentru a vă permite să construiți rapid site-uri și aplicații.
Pentru a înțelege mai bine cum JavaScript funcționează, vom crea un mic exemplu „Hello World! ”
Mai întâi vom merge la site-ul nostru de test și vom crea un folder nou numit „scripts”. Mai apoi, în interiorul folderului ce l-am creat, vom crea un fișier nou numit „main.js”.
Apoi, în fișierul index.html introducem următorul element pe o linie nouă, chiar înainte de eticheta </ body> de închidere:
Figura 8:Importare cale JavaScript
Acesta face practic același lucru ca elementul <link> pentru CSS – aplică JavaScript în pagină, astfel încât poate avea un efect asupra codului HTML (împreună cu CSS și orice altceva de pe pagină).
Acum adăugăm următorul cod în fișierul main.js :
Figura 9: Hello World! JavaScript
În cele din urmă, dupa ce ne asigurăam că fișierele HTML și JavaScript sunt salvate, incărcăm index.html în browser. Vom vedea ceva de genul:
Figura 10:Rezultatul obținut cu JavaScript
Mai pe scurt, putem spune ca JavaScript este un limbaj de programare care adaugă interactivitate unui site (de exemplu: jocuri, răspunsuri atunci când butoanele sunt apăsate sau datele introduse în formulare, stilul dinamic, animația).
Cadre de dezvoltare front-end: Bootstrap
Bootstrap este un framework open source Javascript dezvoltat de echipa de la Twitter. Este o combinație de cod HTML, CSS și Javascript proiectat pentru a ajuta la crearea componentelor interfeței utilizator. Bootstrap a fost, de asemenea, programat să suporte atât HTML5, cât și CSS3. De asemenea, se numește Front-end-framework.
Bootstrap este o colecție gratuită de instrumente pentru crearea unui site web și a aplicațiilor web. Acesta conține șabloane de design HTML și CSS pentru tipografii, formulare, butoane, navigație și alte componente de interfață, precum și extensii JavaScript opționale.
Unele motive pentru care programatorii preferă Bootstrap Framework:
Ușor de învățat
Sistem mare de rețea
Element de bază pentru majoritatea elementelor HTML (Tipografie, Cod, Tabele, Formulare, Butoane, Imagini, Icoane)
Listă extinsă de componente
Bundled plugin-uri Javascript
Vom crea un mic exemplu utilizând Bootstrap.
Figura 11: Exemplu clase Bootstrap
Codul de mai sus va genera următorul layout:
Figura 12:Bootstrap layout 1
Figura 13:Bootstrap layout 2
Limbaje server-side: PHP
PHP (acronim recursiv pentru PHP: Hypertext Preprocessor) este un limbaj de scripturi de uz general cu utilizare open-source, care este foarte potrivit pentru dezvoltarea web-ului și poate fi încorporat în HTML.
Un exemplu introductiv
În loc de o mulțime de comenzi de ieșire HTML (așa cum se vede în C sau Perl), paginile PHP conțin HTML cu cod încorporat care face "ceva" (în acest caz, ieșirea "Hi, I’m a PHP script !"). Codul PHP este inclus în instrucțiunile speciale de pornire și finalizare <? Php și?> Care ne permite să sarim în și din "modul PHP".
Ceea ce distinge PHP de ceva asemănător cu JavaScript pe partea clientului este faptul că, codul este executat pe server, generând HTML care este trimis apoi clientului. Clientul ar primi rezultatele rulării acestui script, dar nu ar ști care a fost codul de bază. Putem chiar să ne configurăm serverul web pentru a procesa toate fișierele HTML cu PHP, și atunci într-adevăr nu există nicio modalitate prin care utilizatorii să poată spune codul ce il avem scris.
Cele mai bune lucruri în utilizarea PHP sunt că este extrem de simplu pentru un nou venit, dar oferă multe caracteristici avansate pentru un programator profesionistDeși dezvoltarea PHP se concentrează pe scripting-ul de partea serverului, puteți face mult mai mult cu acesta.
Figura 15:Schemă comunicare client-server
Pe scurt, putem spune că PHP-ul este un limbaj de scripting pentru server și un instrument puternic pentru crearea de pagini Web dinamice și interactive. PHP este o alternativă pe scară largă, gratuită și eficientă față de concurenții cum ar fi ASP-ul Microsoft.
Servere pentru web: MySQL
O bază de date este o aplicație separată care stochează o colecție de date. Fiecare bază de date are unul sau mai multe API-uri distincte pentru crearea, accesarea, gestionarea, căutarea și replicarea datelor pe care le deține.
În prezent, folosim sisteme de management al bazelor de date relaționale (RDBMS) pentru stocarea și gestionarea volumului mare de date. Aceasta se numește bază de date relațională, deoarece toate datele sunt stocate în tabele diferite, iar relațiile sunt stabilite utilizând chei primare sau alte chei cunoscute sub numele de chei externe.
MySQL este un RDBMS rapid și ușor de utilizat, utilizat pentru multe întreprinderi mici și mari. MySQL este dezvoltat, comercializat și susținut de MySQL AB, o companie suedeză. MySQL devine atât de popular din cauza multor motive bune:
MySQL este lansat sub licență open-source. Deci nu ai nimic de plătit pentru a o folosi.
MySQL este un program foarte puternic în sine. Acesta gestionează un subset mare de funcționalitate a celor mai scumpe și mai puternice pachete de baze de date.
MySQL utilizează o formă standard a limbii cunoscute a datelor SQL.
MySQL funcționează pe mai multe sisteme de operare și cu multe limbi, inclusiv PHP, PERL, C, C ++, JAVA etc.
MySQL funcționează foarte rapid și funcționează bine chiar și cu seturi de date mari.
MySQL este foarte prietenos cu PHP, limba cea mai apreciată pentru dezvoltarea web.
MySQL suportă baze de date mari, de până la 50 de milioane de rânduri sau mai mult într-un tabel. Limita implicită a dimensiunii fișierului pentru o table este de 4GB, dar puteți crește această valoare (dacă sistemul dvs. de operare se poate ocupa de ea) la o limită teoretică de 8 milioane de terabyte (TB).
Figura urmatoare ilustrează modulele de bază și interacțiunea dintre ele.
Figura 16: Modulele de bază și interacțiunea dintre ele
Implementarea și utilizarea aplicației
Prezentarea generală
Aplicația web dezvoltată în cadrul acestui proiect are scopul de a facilita gasirea locurilor de muncă de către persoanele care doresc să se angajeze, dar oferă și posibilitatea angajatorilor să posteze anunțuri cu pozițiile vacante din cadrul firmelor. De aceea, în implementarea site-ului web, s-au folosit și combinat anumite limbaje de programare, cum ar fi : HTML, CSS, JavaScript, Bootstrap, PHP, MySQL și File Zilla.
HTML-ul este folosit pentru structura de bază a paginii, CSS-ul și Bootstrap-ul se folosesc pentru stilizrea interfeței utilizator, JavaScript este utilizat în implementarea unor funcții ajutătoare în timp ce PHP, MySQL și File Zilla sunt utilizate pe partea de back-end și anume la crearea și gestionarea bazei de date și a transferului de fișiere catre serverul web.
Accesul la acest site nu este restricționat în ceea ce privește vizualizarea listelor de joburi și nici a detaliilor referitoare la job-urile postate, utilizatorii aplicației web avand acces total. Acest lucru se schimbă însă atunci când vine vorba de entitățile economice care doresc să posteze noi locuri de muncă. În cazul în care firmele doresc să folosească site-ul în scopul de a găsi potențiali angajați pentru locurile de muncă, acestea trebuie să discute cu o persoană autorizată din cadrul Asociația Județeană a Ocupării Forței de Muncă, în vederea înregistrării acestora și înmanarea unui cont de autentificare. Contul oferă firmelor dreptul de a publica anunțuri prin completarea unui formular care conține următoarele câmpuri: numele companiei,
emailul, numărul de telefon, adresa, orașul, criteriile job-ului, limbi străine vorbite, nivelul carierei, tipul job-ului și descrierea job-ului.
Pagina de acces
Pagina principală oferă vizitatorilor website-ului lista de locuri de muncă pusă la dispoziție de către anumite firme, posibilitatea ca firmele săa se poată autentifica în ideea de a posta noi locuri de muncă dar și posibilitatea de a accesa detaliile job-urilor. Pagina principală prezintă detalii precum denumirea firmelor ce postează locurile de munca, logo-ul acestora, data postării locului de muncă, precum și un buton Details care trimite vizitatorul site-ului către o pagină ce oferă toate informațiile referitoare la anumitul job selectat.
Figura 17:Interfață pagină principală
În subcapitolele de mai jos se poate observa modul de implementare a paginii de acces, mai exact modul în care a fost creat meniul de navigare, subsolul paginii, listele de job-uri, butoanele existete pe bara de navigare ce au scopul de a redirecționa utilizatorii către alte puncte cheie ale aplicației.
Front-end-ul paginii
În figura de mai jos se poate observa cum am implementat meniul de navigare din cadrul aplicației web.
Figura 18:Cod implementare meniu de navigare
Petru implementarea meniului de navigare am folosit tag-uri precum <nav> în interiorul căruia am adăugat div-uri și span-uri, precum și unele butoane și o listă nesortată ce a ajutat la realizarea opțiunilor meniului. Toate acestea au fost stilizate cu clase specific Bootstrap-ului precum: “class=”collapse navbar-collapse” ” care imprimă meniului o anumită culoare și un anumit stil de scris. Butoanele existente pe bara de navigare se folosesc de funcții create în JavaScript pentru a redirecționa utilizatorii către formularul de logare sau înapoi către pagina de pornire sau „Acasă” și au fost create cu ajutorul tag-urilor HTML <button> cărora le-au fost adăugate clasele de stil din CSS precum clasa btn-primary( vezi figura…)
Se poate observa că butoanele cărora li se atribuie clasa close au ca proprietăți color, background-color, border-color care îi însușesc butonului un design mai plăcut care se pliază perfect în pagina web. Pe lângă culoarea background-ului, culoarea textului și cea a marginilor, clasa conferă și alte atribute butonului.
Figura 19:Clasa CSS design buton
Lista din interiorul paginii de acces este creată în mod dinamic în funcție de numărul de anunțuri a job-urilor disponibile ce au fost înregistrate în prealabil în baza de date. Acest lucru este realizat prin acea buclă while() (vezi figura…..), care parcurge toate anunțurile din baza de date și în funție de informațiile găsite se vor crea div-uri în interiorul cărora se vor plasa numele firmei, logo-ul firmei, data postări anunțului și descrierea job-ului.
Parcurgerea efectivă a anunțurilor se realizează prin intermediul PHP-ului cu ajutorul creării unei variabile unde va fi salvată interogarea "SELECT *from postari order by data_postare desc;". O altă variabilă $rezultat va stoca rezultatele obținute prin executarea interogării prezentate anterior, apoi aceste rezultate sunt ataște listei create în cu ajutorul tag-urilor HTML scrise prin intermediul metodei echo din PHP.
Figura 20:Metodă de afișare a rezultatului din baza de date
În cazul în care un job din listă trezește interesul vizitatorilor, aceștia au la dispoziție butonul Details care nu face altceva decât să îi trimită către o nouă pagină care va prezenta informații referitoare la job-ul care prezintă interes din partea acestora.
Figura 21:Cod pentru acțiunea butonului Details
Butoanele Details sunt create prin intermediul aceluiași while despre care am discutat mai sus cu ajutorul unui echo care are rolul de a scrie sintaxa HTML a butonului. Noua pagină către care va fi redirecționat utilizatorul după acționarea acestui buton are o structură creată tot cu ajutorul limbajului de programare PHP combinat cu HTML precum și stiluri din Bootstrap, implementarea efectivă a acestei pagini se poate vedea în figura 22.
Figura 22:Afișarea job-ului în funcție de id
Detaliile job-ului se afișează în funcție de id-ul, care este trimis din pagina principal prin butonul Details, cu care acestea sunt înregistrate în baza de date. Acest id este stocat într-o variabilă, apoi acesta este folosit într-o interogare SQL de tipul “ SELECT * FROM ‘postari’ WHERE ‘id’=$job-id’ “ care va returnatoate informațiile despre job-ul a cărui id din baza de date este egal cu variabila $job-id.
Odată obținute detaliile despre job, acestea sunt atașate unor câmpuri care vor fi afișate utilizatorului. Acest lucru se realizează prin scrierea tag-urilor HTML cu ajutorul metodei echo din PHP la care se atașează variabila a cărei valori reprezintă informații despre detaliile job-ului.
Majoritatea butoanelor din cadrul paginilor prezentate mai sus au atașate funcții JavaScript care le imprimă un anumit comportament. În figura de mai jos poate fi observată o astfel de funcție care , în cazul prezentat, are scopul de a trimite utilizatorul către o nouă pagină și anume pagina profil firmădespre care am vorbit mai sus.
Figura 23:Funcție redirecționare pe următoarea pagină
În cazul în care firmele doresc să posteze anunțuri, aceștia pot posta un nou anunț doar dacă sunt autentificați. Autentificarea se realizează cu ajutorul unui formular de autentificare creat cu ajutorul PHP, HTML și CSS. Acesta este disponibil după acționarea butonului de logare, care poate fi găsit în cadrul meniului de navigare existent pe pagina de acces a aplicației web.
Figura 24:Formular pentru autentificare
În figura de mai sus, poate fi observant codul ce a dus la crearea formularului de logare. Se poate observa cum formularul a fost implementat cu ajutorul tag-urilor <form> în interiorul căruia există căsuțe de text create cu ajutorul imputurilor și a cărui tip a fost atribuit prin acel type care în cazul contului de utilizator este de tip text, iar în cazul parolei este de tip password.
După completarea celor 2 câmpuri , șirurile sunt preluate prin intermediul metodei post în cadrul unor variabile după cum se poate observa în figura 25.
Figura 25:Preluarea șirurilor prin intermediul metodei post
Variabilele în care au fost preluate contul de utilizator și parola sunt mai apoi comparate cu toate conturile de utiliztor și parolele înregistrate în baza de date. Acest lucru se realizează prin intermediul interogării SELECT ‘id’ from utiliztori where email=’$email’ AND password= ‘$password’ ce va returna id-ul contului în cazul în care parola și utilizatorul introdus de firma ce dorește să se logheze se regăsește în baza de date. În cazul în care parola și utilizatorul sunt introduce greșit, va fi apelată o funcție JavaScript de alertă ce va informa utilizatorul că parola și/sau utilizatorul sunt introduce greșit. Funcția poate fi observată în figura de mai sus și se poate observa că apelarea ei se face doar în cazul în care utilizatorul și parola sunt greșite, lucru datorat iterațiilor if , else.
În cazul în care parola și utilizatorul sunt introduce correct, firma ce dorește să se autentifice în cont va fi redirecționată către o nouă pagină în cadrul căruia se regăsește un formular care odată completat, permite adăugarea unui nou post vacant în cadrul firmei.
Structura paginii și a formularului a fost de asemenea creată cu ajutorul limbajelor HTML, CSS, PHP și JavaScript, lucru ce se poate observa în figura 26.
Figura 26:Formular adăugare job(1)
Prima parte a formularului conține informații referitoare la numele companiei, email-ul, numărul de telefon, adresa precum si un buton care permite încărcarea pe server sub id-ul anunțului a unui logo ce va corespunde noului loc de muncă.
Cea de-a doua parte a formularului poate fi observată în figura …… și va conține informații referitoare la oraș, criteriile job-ului , limbi străine, nivelul carierei, tipul job-ului, și descrierea acestuia.
Figura 27: Formular adăugare job(2)
În dezvoltarea formularului au fost folosite tag-uri HTML precum <label>, <div>, <span>, <input>, >select>, <option>. Label-ul a fost folosit pentru a informa persoana care completează formularul despre câmpul ce dorește să fie completat. Select-ul face posibil ca utilizatorul să poată selecta dintr-o listă, una din opțiunile prestabilite, de exemplu tipul job-ului care poate fi part-time, full-time, practică sau sezonier. Aceste opțiuni au fost adăgate în listă prin intermediul tagului option. Pentru ca acestea să poată fi grupate indifferent de dispozitivul de pe care accesăm pagina web, au fost create în interiorul unui div.
Pentru o interfață utilizator mai atractivă, s-au folosit clase CSS din cadrul Bootstrap-ului care au creat un design mai elegant al formularului care odată completat, pentru a fi salvat în baza de date este necesară acționarea butonului Submit. Butonul Submit va declanșa sintaxa PHP care va prelua informațiile proaspăt introduce de utilizator și le va salva temporar, după care acestea sunt pasate către baza de date unde vor fi stocate.
Back-end-ul paginii
Partea de stocare a informațiilor, respectiv cea a bazei de date a fost implementată folosind MySQL și limbajul PHP. În cadrul bazei de date a aplicației, regăsim o structură simplă ce conține două tabele principale. Unul în care sunt sunt stocate informații referitoare la locurile de muncă disponibile din cadrul site-ului, iar cealaltă conține informații referitoare la conturile de utilizator care sunt create și puse la dispoziția firmelor de către AJOFM.
Pentru implementarea structurii bazei de date și administrarea acesteia, s-a folosit serverul web aflat la adresa http://80.96.123.238/~alexandrub și PHP My Admin. În crearea tabelelor s-au folosit sintaxe SQL.
Figura 28:Creare tabelă postări
În figura de mai sus putem observa sintaxa ce a dus la crearea efectivă a tabelei postari. Coloanele existente în tabelă și tipul datelor aferent fiecărei coloane sunt de tipul șirurilor de caractere, excepție făcând id-ul și data postării care sunt de tip integer, respectiv datatime. Id-ul este cheia primară în cadrul acestei tabele și are rolul de a evita suprascrierea postărilor.
Figura 29:Creare tabelă utilizatori
Valoarea acestuia este atribuită în mod aleator de către server fără ca utilizatorii să aibă nevoie de cunoașterea acestei valori. Data și timpul sunt și ele valori preluate în mod automat în momentul în care sunt salvate informațiile în baza de date. Celelalte informații referitoare la numele companiei, email, adresă, telefon sunt salvate în baza de date în urma interacțiunii utilizatorului cu interfața grafică a aplicației web și anume a interfeței prezentate în figura 34.
În figura numărul 29, putem observa sintaxa ce a dus la crearea tabelei utilizatori. Coloanele existente în tabelă și tipul datelor aferent fiecărei coloane sunt de tipul șirurilor de caractere, excepție făcând id-ul și data postării care sunt de tip integer, respectiv datatime. Id-ul este cheia primară în cadrul acestei tabele și are rolul de a evita suprascrierea postărilor. Valoarea acestuia este atribuită în mod aleator de către server fără ca utilizatorii să aibă nevoie de cunoașterea acestei valori.
Data și timpul sunt și ele valori preluate în mod automat în momentul în care sunt salvate informațiile în baza de date. Celelalte informații referitoare la username, email, parola, sunt salvate în baza de date în urma creări unui nou cont de către personalul autorizat AJOFM.
Pentru salvarea datelor completate de utilizator din formular către baza de date, am folosit limbajul PHP care prea în variabile câmpurile existente în formular și le trimite mai apoi către baza de date. Trimiterea efectivă a datelor se face prin intermediul unei interogări SQL INSERT INTO postari (nume_companie, email, telefon, adresa, oras, criterii, limbi, descriere, nivel, tip, image) VALUES('$nume_companie', '$email',' $telefon', '$adresa', '$oras', '$criterii', '$limbi', '$descriere', '$nivel','$tip','$image') unde $nume_companie, $email, $telefon, $adresa, $oras, $criterii, $limbi, $descriere, $nivel, $tip'' $image) sunt variabilele ce preiau datele din formular.
În ceea ce privește logo-ul firmei, acesta va fi salvat în baza de date după ce utilizatorul, acționând butonul Browse, va căuta și va selecta o imagine din computerul personal. Ceea ce se întâmpla din punct de vedere practic, nu este altceva decât o încărcare a imaginii pe server, iar la nivelul bazei de date va fi salvată calea de acces către aceasta.
Modul de implementare poate fi observat in figura 30 aflată mai jos , unde poate fi văzut exact cum au fost preluate datele cu ajutorul metodei POST și cum s-au stabilit conexiunea la baza de date folosind un fișier extern CON prin intermediul metodei mysqli_query($con,$sql) a carui parametru secund este interogarea SQL prezentată anterior.
Figura 30:Transmiterea informațiilor către baza de date
În cazul în care câmpurile sunt nule, va fi afișat un mesaj prin intermediul unei funcții JavaScript.
Instructiuni de utilizare
În cele ce urmează vom face o mică prezentare a modului în care se poate utiliza aplicația.
Această aplicație este creată pentru persoanele care sunt în căutarea unui job, dar și pentru companiile care sunt în căutare de angajați. Cei care vor să își găsească un loc de muncă pot accesa foarte ușor acest site, unde pot să găsească informații utile. Pentru firme am creat o secțiune specială unde se pot autentifica și posta ofertele lor.
Când vom accesa site-ul web se va deschide prima pagină unde utilizatorii pot vizualiza locurile de muncă postate. În bara de meniu aceștia pot regăsi sigla aplicației și meniurile:
“Acasă”,
“Neutentificat”
“Login”.
Figura 31:Lista job-uri
La accesarea meniului “Acasa” vom fi redirecționați pe pagina principală unde sunt afișate job-urile. În chenarele destinate anunțurilor vom găsi numele companiei ofertante, data postării anunțului, precum și descrierea locului de muncă. Sub aceste informații se află butonul “Details”, care odată apăsat ne va trimite pe o altă pagină unde putem afla mai multe informații despre job-ul ales.
În figura 32 observăm că după ce am dat click stânga pe Detalii s-a deschis o noua fereastră care ne afișează detaliile firmei alese: numele, adresa, orașul, limba și nivelul minim cerut, precum și tipul locului, dar și descrierea job-ului.
Figura 32: Detalii job
În bara de meniu găsim statusul nostru ca utilizator al site-ului, momentan fiind “Neautentificat”. Pentru a ne autentifica trebuie să fim o companie care dorește să angajeze personal, dar și să apasam click stânga pe butonul “Login”care ne va afișa fereastra unde trebuie sa introducem datele necesare logării. În casuța email se va completa numele utilizator, iar în căsuța password se va completa parola. Pentru a avea datele necesare logării, firma doritoare să posteze anunțurile trebuie să contacteze AJOFM-ul care în urma analizării cererii, va decide dacă va primi sau nu datele necesare.
Figura 33:Formular logare
După ce vom avea datele fără de care nu ne putem autentifica le vom introduce în casuțele “Email” și “Password” și vom apăsa butonul “Login” care ne va redirecționa pe pagina unde vom putea să adăugăm job-ul.
Figura 34:Formular pentru adăugare job
După ce am ajuns pe această pagină putem introduce noul job, completând formularul sau putem să ne deconectăm prin simpla apăsare a butonului “Logout” din bara de meniu din partea dreaptă. Această acțiune ne va trimite pe pagina principală.
Dacă alegem să completăm formularul, avem diferite câmpuri în care trebuie să introducem textul dorit sau altele în care avem diferite opțiuni.
Figura 35:Selectare imagine pentru logo
Pentru a putea să completăm formularul avem nevoie să introducem sigla firmei noastre, acest lucru se poate face prin accesarea butonului “Choose File” oferă posibilitatea de a cauta logo-ul firmei ce postează anunțul în cadrul site-ului. Logo-ul va fi căutat în computerul de pe care se dorește adăugarea noului loc de muncă.
Figura 36:Selectare din lista a nivelului carierei
După selectarea logo-ului , următorul pas este completarea căsuțelor nume companie, email, număr telefon, adresă, oraș, criterii job,limbi străine. Aceste câmpuri vor fi completate cu numele complet al companiei, o adresă de email validă, un număr de telefon la care aceștia pot fi contactați într-un interval orar bine stabilit, adresa corectă, criteriile jobului cum ar fi specializarea pe un anumit domeniu al potențialului angajat( exemplu: finanțe-bănci) și limbi străine vorbite dacă se aplică.
În continuare regăsim câmpurile nivel carieră, tip job și descriere job. Primele două pot fi completate prin selectarea din lista care va fi afișată în momentul interacțiunii cu căsuța de tip combo-box.
În căsuța nivel carieră,(figura 36) se va afișa o listă ce va cuprinde următoarele nivele de carieră:
Entry-Level/Primii 3 Ani Exp
Fara Studii Sup/Necalificat
Manager/Executive Position
Mid-Level/Peste 3 Ani Exp
Student
În căsuța tip job,(figura 34) se va afișa o listă ce va cuprinde următoarele tipuri de job-uri:
Part-Time
Full-Time
Practică
Sezonier(Summer Job)
În cazul în care unul din câmpuri nu este completat, va apărea un mesaj de informare care va atrage atenția utilizatorului asupra câmpului respectiv în vederea completării sale.
Figura 37:Mesaj atenționare câmp necompletat
Figura 38:Mesaj de eroare
În cazul ăn care contul utilizat pentru autentificare nu este unul valid, sau în cazul în care cineva care nu deține drepturi dorește să se autentifice în vederea unui nou loc de muncă, acesta va afișa un mesaj care va informa utilizatorul ca parola și/sau userul nu sunt valide.
În cazul în care butonul de logare este acționat în mod involuntar, utilizatorul are posibilitatea de a închide fereastra acționând butonul cancel.
Figura 39:Închidere fereastră
Studiu de caz
Pentru crearea acestei aplicații web, am folosit diverse limbaje de programare web.
HTML-ul a fost folosit în scopul creări structurii de bază a paginii web, CSS-ul împreună cu Bootsrap-ul au fost folosite pentru a crea un design atractiv și personalizat, JavaScript s-a folosit cu scopul de a crea funcții care să ajute/informeze utilizatorii prin intermediul interfeței grafice, iar PHP și MySQL au ajutat la realizarea bazei de date și la gestionare și actualizarea în permanență a bazei de date.
Site-ul prezentat în acest proiect este creat în așa fel încât să poată fi atașat de site-ul oficial al asociației județene de ocupare a forței de muncă. Spre deosebire de site-urile similare, faptul că acesta este sub administrarea celor de la AJOFM, oferă un plus de credibilitate și încredere persoanelor care sunt în căutarea unui loc de muncă. Credibiliatea este dată de faptul că fiind o agenție la nivel județean, aceasta are ca scop principal găsirea locurilor de muncă pentru persoanele șomere și nu numai.
Aplicația web implementată în acest proiect este structurată:
Pagina de acces
Pagina de detalii
Formular de logare
Pagina de adăugare a unui nou loc de muncă
Pagina de acces oferă vizitatorilor lista locurilor de muncă vacante. Pagina de detalii oferă informații complete despre locul de muncă selectat, vizitatorul având posibilitatea de a vizualiza cerințele și nivelul de cunoștințe necesare pentru a putea fi luat în calcul de către echipa de recrutare. Formularul de logare și pagina de adăugare a unui nou loc de muncă sunt destinate în mod expres firmelor ce intenționează să posteze un anunț de angajare pe site.
Deși un site destul de complex și util, acestuia i se pot aduce îmbunătățiri precum:
Crearea unui mecanism de sortare care să permită utilizatorilor selectarea tipului de job dorit(exemplu: Internship) și afișarea doar pozițiilor de acest tip.
Posibilitatea ca și vizitatorii să aibă un cont în care pot salva job-urile favorite și care să memoreze un scurt istoric al locurilor de muncă vizualizate.
Implementarea unei funcții ce permite vizitatorilor să vizualizeze job-uri similare cu cel accesat la un anumit moment.
Crearea unui mecanism de vizualizare în paralel a mai multor joburi în vederea comparării acestora.
Inbunătațirea structurii și designului paginii.
Concluzii
Aplicația web creată și prezentată în această lucrare are ca scop consolidarea cunoștințelor dobândite pe parcursul celor trei ani de zile, precum și exemplificarea unui model de aplicație web de postare anunțuri.
În decursul celor patru capitole am realizat o prezentare a tehnologiilor folosite în construire acestei aplicații web, începând cu limbajul HTML, un limbaj de baza cu care se începe practic programarea web, continuând cu limbajul PHP, cu prezentarea conceptelor folosite în crearea unei baze de date MySql, mai apoi cu descrierea și proiectarea aplicației și încheind cu utilizarea aplicației.
Un alt avantaj oferit de limbajul de programare PHP în fața altor multor limbaje de programare web, îl reprezintă faptul că acesta este complet gratuit, paginile incărcandu-se repede și nu sunt necesare resurse foarte mari pentru aplicații. De asemenea, datele sunt securizate, iar codul este interpretat pe server, paginile fiind transmise browserului în format HTML.
Pe lângă timpul caștigat și costurile reduse atât pentru firme cât și pentru potenșțialii angajați, avantajele acestei aplicații web sunt următoarele:
Oferă vizitatorilor site-ului posibilitatea de a vedea toate ofertele de locuri de muncă existente în zonă
Găsirea și ocuparea unui loc de muncă se face mult mai ușor și mai rapid
Oferă firmelor o modalitate mult mai rapidă de a-și găsi potențiali angajați
Usurința găsirii unui loc de muncă chiar din fața computerului
Informarea detaliată a vizitatorilor cu privire la locurile de muncă
Timpul și costurile se reduc
Bibliografie
Steven M. Schafer – HTML, XHTML,AND CSS BIBLE Fifth Edition , Wiley Publishing, Inc.
George Daniel Mateescu, Corina Sâman, Mihai Buneci, "Realizarea paginilor WEB
https://en.wikipedia.org/wiki/Client-server_model
https://developer.mozilla.org/enUS/docs/Learn/CSS
https://developer.mozilla.org/en-US/docs/Learn/HTML/Introduction_to_HTML
https://developer.mozilla.org/en-US/docs/Learn/JavaScript/First_steps
https://www.tutorialspoint.com/mysql/mysql-introduction.htm
http://www.scrigroup.com/calculatoare/LUCRARE-DE-DIPLOMA-Crearea-si-54677.php
http://www.ipe.ro/RePEc/WorkingPapers/cs6-2005-3.pdf
http://html.net/tutorials/css/lesson2.php
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: Programul de Studii: Informatica Economica [302071] (ID: 302071)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
