As. univ. dr. i ng. Oana FLANGEA Roxana PAPUC [625445]

Bucureș ti,
2016 UNIVERSITATEA TEHNICĂ DE CONSTRUCȚII BUCUREȘTI
FACULTATEA DE HIDROTEHNICĂ
INGINERIA SISTEMELOR
AUTOMATICĂ ȘI INFORMATICĂ APLICATĂ

PROIECT DE DIPLOM Ă

COORDONATOR ȘTIINȚ IFIC : ABSOLVENT: [anonimizat]. univ. dr. i ng. Oana FLANGEA Roxana PAPUC

2

UNIVERSITATEA TEHNICĂ DE CONSTRUCȚII BUCUREȘTI
FACULTATEA DE HIDROTEHNICĂ
INGINERIA SISTEMELOR
AUTOMATICĂ ȘI INFORMATICĂ APLICATĂ

SISTEM SOFTWARE PENTRU
MANAGEMENTUL RESURSELOR
UMANE DINTR -O COMPANIE

COORDONATOR ȘTIINȚ IFIC: ABSOLVENT: [anonimizat]. univ. dr. i ng. Oana FLANGEA Roxana PAPUC

Bucuresti,
2016

3
CUPRINS

1. INTRODUCERE ………………………….. ………………………….. ………………………….. ………………… 5
2. CONCEPTE SI TEHNOLOGII FOLOSITE IN ELABORAREA PROIECTULUI ………….. 6
2.1. Notiuni generale despre WWW (World Wide Web) ………………………….. ……………………… 6
2.2. Pagini Web . ………………………….. ………………………….. ………………………….. …………………….. 8
2.3. Serverul WEB ………………………….. ………………………….. ………………………….. …………………. 9
2.4. Baze de date ………………………….. ………………………….. ………………………….. ………………….. 10
3. TEHNOLOGII SI INSTRUMENTE INFORMATICE FOLOSITE ………………………….. ….. 13
3.1. Limbajul HTML ………………………….. ………………………….. ………………………….. …………….. 13
3.2. Standardul CSS ………………………….. ………………………….. ………………………….. ……………… 15
3.3. Limbajul JavaScript ………………………….. ………………………….. ………………………….. ………… 18
3.4. Limbajul PHP ………………………….. ………………………….. ………………………….. ………………… 20
3.5. Baza de date – MySQL ………………………….. ………………………….. ………………………….. …… 22
4. STUDIU DE CAZ: SISTEM SOFTWARE PENTRU MANAGEMENTUL RESURSELOR
UMANE ………………………….. ………………………….. ………………………….. ………………………….. …….. 25
4.1. Descrierea sistemului software pentru managementul resurselor umane …………………….. 25
4.1.1. Principalele activități ale resurselor umane ………………………….. ………………………. 25
4.2. Proiectarea sistemului informatic ………………………….. ………………………….. …………………. 26
4.2.1. Diagrama caz principal de utilizare ………………………….. ………………………….. …….. 27
4.2.2. Diagrama de stare ………………………….. ………………………….. ………………………….. … 27
4.2.3. Diagrame de secvent a și de colaborare ………………………….. ………………………….. … 28
4.2.4. Diagrama de activități ………………………….. ………………………….. ……………………….. 30
4.3. Descrierea bazei de date a aplicatiei ………………………….. ………………………….. ……………… 31
4.4. Descrierea detaliata a aplicatiei ………………………….. ………………………….. ……………………. 45
4.4.1. Autentificarea în aplicație ………………………….. ………………………….. ………………….. 46
4.4.2. Angajați ………………………….. ………………………….. ………………………….. ………………. 48
4.4.3. Cursuri ………………………….. ………………………….. ………………………….. ………………… 53
4.4.4. Planificare cursuri ………………………….. ………………………….. ………………………….. … 57
4.4.5. Statistici ………………………….. ………………………….. ………………………….. ………………. 60
4.4.6. Contact ………………………….. ………………………….. ………………………….. ……………….. 61
5. CONCLUZII, PERSPECTIVE ȘI CONTRIBUȚII ………………………….. …………………………. 62

4
BIBLIOGRAFIE ………………………….. ………………………….. ………………………….. ……………………… 64
ANEXE ………………………….. ………………………….. ………………………….. ………………………….. ……… 65
Anexa 1. Implemetarea modulului de Angajati ………………………….. ………………………….. …….. 65
Anexa 2. Modul de adaugare a datelor personale aferente unui angajat ………………………….. .. 70
Anexa 3. Modul de implementare al modulului “Cursuri” ………………………….. ………………….. 74
Anexa 4. Modul de adaugare a unei planificari pentru curs ………………………….. ……………….. 77
Anexa 5. Modul de implementare a generarii unui contract draft ………………………….. ……… 79
Anexa 6. Contractul draft ………………………….. ………………………….. ………………………….. ……… 90

5
1. INTRODUCERE

Sistemul software pentru managementul resurse lor umane dntr-o companie este un
software dedicat managementului eficient al resurselor umane care vine în întâmpinarea nevoii
companiilor de a -și optimiza investiția în cea mai importantă resursa, și anume cea umană.
Ținând cont de necesitatea urmăririi strategice a funcțiilor departamentel or de resurse umane,
aplicația de gestiune a managementului de resurse umane vizează o corelare eficientă a activității
angajaților cu restul activităților de business din cadrul companiei.
Aplicația de gestiune a managementului de resurse umane a avut ca punct de plecare
rezolvarea următoarelor probleme:
– Gestionarea unui volum mare de informații la nivelul fiecărui angajat cât și la
nivel de candidat sau colaborator
– Colectarea datelor dintr -o mare diversitate de surse -Fluctuatia de personal de pe
piața forței de munca
– Volumul foarte mare de documente pe hârtie din care rezultă costuri mari de
depozitare și un acces la date foarte dificil și mare consumator de timp
– Lipsa unor rapoarte complete și detaliate în timp real -Lipsa unu i sistem clar de
evaluare a angajaților, pe baza unui istoric verificabil și în cadrul unui proces
transparent efectuat în timp real.
Unul dintre cele mai mari beneficii al utilizării software -ului de resurse umane în
simplificarea proceselor de resurse umane din cadrul organizațiilor este cantitatea redusă
de timp în care se efectuează multitudinea operațiilor de rutină. Urmărirea frecvenței zilnice
cu care un angajat vine la companie, sau a numărului de zile libere efectuate poate consu ma
foarte mult timp atunci când datele se înregistrează pe suport de hârtie, în special atunci
când compania are un număr mare de angajați. Prin eficientizarea procesului de
introducere a acestor informații într -o bază de date, sarcina poate lua jumătate din timpul
alocat anterior pentru a finaliza înregistrarea informațiilor.
În scopul de a reduce volumul de documente pe suport de hârtie create de gestionarea
nevoilor departamentului de resurse umane, aplicația de gestiune a managementului de resurse
umane este utilizată pentru a crea înregistrări electronice ale informațiilor legate de activitatea de
resurse umane din cadrul organizației.
Sistemul software permite modificarea informațiilor despre angajați. Dacă informațiil e de
bază despre angajat s -au schimbat, cum ar fi funcția, salariul , ele vor fi actualizate simultan în
fiecare înregistrare din cadrul aplicației.

6
2. CONCEPTE SI TEHNOLOGII FOLOSITE IN
ELABORAREA PROIECTULUI

O aplicație web este o aplicație client -server care cuprinde 2 părți: partea de front -end
(client) și partea de back -end (server).
Modelul client/server este o arhitectură ce descrie relația dintre 2 programe care se află
fie pe același calculator, fie pe calculatoare diferite. Clientul face o cerere la server, iar serverul
procesează cererea și returnează un răspuns.
În cazul aplicațiilor web, browser -ul (navigatorul) este clientul care trimite cereri unui
server web. Un client poate solicita pagini statice, care nu necesită niciun fel de procesare pe
partea de server, sau pagini dinamice, care cuprind scripturi scrise într -un anumit limbaj de
programare pe care serverul web le interpretează și le trimite înapoi clientului sub formă de
pagină statică.

Fig. 2.1. Comunicația dintre navigatorul Web și server -ul WEB
2.1. Notiuni generale despre WWW (World Wide Web) [ 1][2]

Începuturile WWW datează din anul 1989 când la Laboratorul de Cercetări de Fizică
Nucleară (CERN) din Geneva s -a cristalizat ideea conceperii unui sistem de transmitere a
informaților între diferitele echipe, aflate la distanță una de alta, bazat pe Hypert ext. Un an mai
târziu, în octombrie 1990 proiectul a fost prezentat iar după numai două luni au început să se
contureze primele rezultate. Munca a demarat cu elaborarea unui program capabil să interpreteze
limbajul Hypertext, numit browser. În anul 1991, d upă eliminarea mai multor neajunsuri în
funcționare, Web -ul a fost pus la punct și a devenit funcționabil. Anul 1992 a fost un an al
dezvoltării, browserul Web a devenit disponibil prin intermediul FTP iar Web -ul a fost prezentat
publicului și organizațiil or cele mai diverse. La începutul anului 1993 existau 50 de servere Web
în întreaga lume pentru ca spre sfârșitul aceluiași an numărul lor să crească de peste 10 ori.
Aceasta și datorită faptului că între timp au devenit disponibile alte două browsere, unu l al firmei

7
MacIntosh iar altul al firmei Mosaic, acesta din urmă proiectat pentru mediul Windows. În anul
1994 s -au depus eforturi pentru securizarea Webului în scopul asigurării confidențialității datelor
vehiculate (corespondențe, cărți de credit, acces la resurse protejate, etc.). Pentru dezvoltarea pe
mai departe a Webului, în anul 1994 s -a produs fuziunea dintre CERN și MIT (the Massachusetts
Institute of Technology) deoarece cerințele în resurse materiale, dar și umane, depășeau
posibilitățile labora torului CERN.
Unul din primele elemente fundamentale ale WWW (World Wide Web) este HTML
(Hypertext Markup Language), care descrie formatul primar în care documentele sunt distribuite
și văzute pe Web. Multe din trăsăturile lui, cum ar fi independentă față de platforma, structurarea
formatării și legăturile hipertext, fac din el un foarte bun format pentru documentele Internet și
Web.
WWW este un sistem distribuit de hipermedia funcționând în mod client -server prin Internet.
Sistemul pune la dispoziție infor mațiile sub forma de hipertext (mixtura între text, grafică,
elemente multi -media, plus referințe încrucișate). Pentru a căpăta acces la WWW, utilizatorul va
fi nevoit sa folosească un program client (user -agent) cum ar fi Lynx (în mod text) sau Mosaic și
Netscape (în mod grafic) și bineînțeles va trebui să cunoască localizarea fizică a documentului
dorit. Localizarea unui document hiper -text se exprimă sub formă de URL (Uniform Resource
Locator), o modalitate flexibilă și eficiența de accesare a oricărei r esurse Internet, prin oricare
protocol (TELNET, FTP, Gopher, HTTP, mail) bazat pe TCP/IP.
Protocolul de comunicație TCP/IP definește:
 modul în care calculatoarele ar trebui să fie conectate în Internet,
 modul în care se stabilește o legătură de la un calcu lator la altul din Internet,
 modul în care sunt transmise date între calculatoarele din Internet.

Fig. 2 .2 – Arhitectura World Wide Web

8
2.2. Pagini Web [3][4]

O pagină web este o resursă aflată în spațiul web (WWW) din Internet, de obicei în
format HTML sau XHTML (extensia numelui fișierului fiind de cele mai multe ori .html sau
.htm) și având hiperlinkuri (hiperlegături) pentru navigarea simplă (cu un singur cl ic de maus) de
la o pagină sau secțiune de pagină la alta. Pagină web se numește astfel deoarece ea se poate
afișa pe un monitor sau ecran de calculator și se aseamănă într -o oarecare măsură cu o pagină de
ziar. Lățimea paginii web este de obicei astfel fă cută ca ea să încapă în întregime pe lățimea
ecranului disponibil. În schimb înălțimea ei poate depăși cu mult pe cea a ecranului. În aceste
cazuri browserul și mausul permit de obicei vizionarea simplă și rapidă a întregii pagini, și
anume prin "tragerea" ei în sus și în jos, după dorință.
Construcția World Wide Web este pe baza unui protocol numit Hypertext Transfer
Protocol (HTTP ). HTTP este un protocol mic și rapid care se potrivește foarte bine sistemelor
informatice multimedia și distribuite în saltu rile între site -uri.
Web -ul constă în pagini cu informații de pe gazde care rulează software de tip server
Web. Gazdă este de multe ori identificată cu serverul Web, lucru care nu este corect.
Serverul Web este un software, nu calculatorul în sine.
Paginile Web sunt memorate pe HDD unui server specializat și gestionate printr -un
software special și sunt regăsite și afișate prin intermediul navigatoarelor Web (browser -e).
Navigatorul Web afișează paginile de Web prin interpretarea unor marcatori – defin iți cu
ajutorul unui limbaj special denumit HTML (HyperText Markup Language) – utilizați pentru a
codifica pagina de Web cu informația de afișat. Marcatorii au diferite semnificații. De exemplu
aceștia semnifică modul în care vor fi așezate diversele părț i ale paginii sau stabilesc legături
între documente/fișiere.
Tipic, o pagină de Web este legată de o diversitate de fișiere cum ar fi fișiere text, grafice
sau multimedia. Mecanismul prin care sunt create căile de acces între documente este denumit
hiper text, prezentat anterior. Atunci când utilizatorul acționează prin click de mouse asupra unei
legături, cum ar fi o porțiune de text, un element grafic, etc, navigatorul încarcă fișierul la care
punctează această legătura și îl afișează. Legăturile din cad rul textului sunt ușor de identificat
deoarece majoritatea navigatoarelor, implicit, colorează diferit de restul textului aceste legături și
le subliniază.
Un site Web este definit ca o colecție coerentă de informații prezentată sub forma unor
pagini Web, fișiere multimedia, documente și de alte tipuri, între care există legături.

9
2.3. Serverul WEB [1][5]

Serverul web sau web server este serverul care stochează (găzduiește) pagini web și le
pune la dispoziția solicitanților prin protocolul HTTP. Și de dată aceasta relația server -client se
bazează pe o aplicație care este instalată pe server și care este programată să transfere pagini le
web găzduite. Putem observa aici că ideea de web server presupune și noțiunea de hosting
(găzduire), asta deoarece serverul trebuie să dețină datele pe care urmează să le returneze la
cerere.
Relația este următoarea: utilizatorul (clientul) aflat în dre ptul unui computer pe care are
instalată o aplicație tip browser solicită (serverului) prin intermediul unui url o anumită pagină
web; serverul rulează anumite linii de cod și returnează un rezultat. Descrierea de mai sus se
potrivește perfect în cazul sit e-urilor (paginilor web) statice (adică cele bazate în exclusivitate
doar pe limbajul de programare html și css). Există însă așa numitele site -uri dinamice care au în
compunere alături de limbajul rudimentar de afișare a paginii web și un limbaj de comuni care
între serverul web și o bază de date. De această dată relația este următoarea: utilizatorul (clientul)
aflat în dreptul unui computer pe care are instalată o aplicație tip browser solicită (serverului)
prin intermediul unui url o anumită pagină web; s erverul web verifică solicitarea și prin
intermediul unui limbaj de programare special interoghează o bază de date, dacă anumite condiții
sunt întrunite, baza de date returnează serverului web datele solicitate care la rândul lui
furnizează datele mai depa rte clientului inițial. În această ultimă relație între web server și
utilizator sunt transmise doar informații destinate afișării în browser într -o formă prietenoasă a
informațiilor solicitate. Până să ajungă la utilizator, așa cum am văzut mai sus, serve rul web prin
intermediul unui scripting special schimbă o serie de informații cu o bază de date stocată.
Un Web server este un program care furnizează pagini Web la cerere. Când un utilizator
de la o adresă IP specifică solicită un anumit fișier, serverul Web încearcă să obțină acel fișier și
să-l trimită înapoi utilizatorului.
Fișierul solicitat poate fi codul sursă HTML al unei pagini Web, o imagine GÂF, un
fișier Flash, un document XML, sau un fișier AVI. Browserul Web este cel care determină ceea
ce trebuie cerut, nu serverul Web.
Conexiunile la serverul Web stabilesc pe măsură ce sunt accesate, se solicită o cere a unei
pagini de la un server Web, o conexiune IP este stabilită prin Internet între gazda solicitantă și
gazdă pe care rulează serverul Web. Pagină Web cerută este transmisă prin acea conexiune, iar
aceasta este întreruptă de îndată ce pagină este primită ( de exemplu, imagini GÂF sau JPG).
Pe un același host pot rula mai multe aplicații de Internet, de exemplu un server Web, un
server FTP, un server DNS și un server de mail SMTP POP3 pot rula în același timp.
Fiecărui server îi este atribuit un port pentru a asigura că fiecare server va răspunde
numai cererilor din partea clienților corespunzători.

10
Majoritatea serverelor folosesc un set de p orturi predefinite. Serverele Web folosesc de
obicei portul 80, dar acesta poate fi schimbat. Pot fi instalate pe porturi nestandard pentru a fi
ascunse, și de asemenea, pot fi instalate mai multe servere Web pe un singur calculator
asociindu -le porturi di ferite.
Internetul reprezintă o mulțime globala de calculatoare interconectate, similar unei rețele
locale, dar la o scară mult mai largă. Elementul primar al Internet -ului este World Wide Web
(cunoscut sub denumirea de Web sau WWW ). WWW este un suport pentru text, grafică,
animație și sunet. Documentele destinate Web -ului sunt cunoscute sub numele de pagini Web.
2.4. Baze de date [6]
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, depunerea sau extragerea unor sume de bani din b ancă,
rezervarea biletelor la tren sau avion, rezervarea locurilor la hotel, căutarea unei referințe
bibiografice într -o bibliotecă computerizată (digital library), etc.
Baza de date reprezintă o colecție de date utilizată într -o organizație, colecție care este
automatizată, partajata, definită riguros (formalizata) și controlată la nivel central.
SGBD reprezintă un ansamblu de programe ce permit utilizatorilor să interacționeze cu o
bază de date, în vederea creării, actualizării și interogării acesteia.
Există mai multe tipuri de clasificări cu privire la sistemele de baze de date: clasificare
după modelul de date (relaționale, orientate obiect, obiect -relațional, date ierarhizate), clasificare
după numărul de utilizatori (monoutilizator, multiutilizator), clasificare după arhitectura de
stocare (centralizate, distribuite) sau clasificare după arhitectura internă (sisteme de tip client –
server sau sisteme integrate). Din perspectiva utilizării sistemelor de baze de date aceste
clasificări influențează modul în care se poate face accesul la baza de date, ușurința utilizării
informațiilor din baza de date și performanțele de utilizare.
Exemple de sisteme de baze de date utilizate în cadrul aplicațiilor web:
 Oracle – sistem de baze de date comercial destinat ap licațiilor de dimensiuni și
complexitate mare (de exemplu site -ul amazon.com utilizează acest sistem de
baze de date).
 Microsoft SQL Server – sistem de baze de date client -server destinat aplicațiilor
dezvoltate pe platforme Microsoft. Permite realizarea de aplicații complexe dar
are performanțe foarte bune împreună cu alte tehnologii și produse Microsoft
(server web IIS, tehnologie de scripturi web ASP.NET).
 MySQL / PostgresSQL – baze de date open -source utilizate cu precădere sub
sistemul de operare Lin ux. Sunt întâlnite într -o gamă largă de aplicații web de la
site-uri personale până la site -uri ale companiilor mici și mijlocii. Aplicațiile web
care utilizează aceste baze de date sunt scrise în mare parte în limbajul PHP.

11
 Microsoft Access – este un si stem de baze de date gândit pentru aplicații de tip
office de mici dimensiuni. Este utilizat în aplicații web simple (formulare de
preluare a datelor, pagini de înscriere). Are avantajul de a avea o modalitate de
acces similară cu Microsoft SQL Server astf el încât o bază de date împreună cu
aplicația corespondentă pot fi migrate ușor în momentul în care dimensiunea de
stocare a datelor și complexitatea operațiilor efectuate cresc.
Modelul de date stabilește regulile de organizare și interpretare a unei cole cții de date.
Modelul conceptual de nivel înalt al datelor conține o descriere concisă a colecțiilor de
date care modelează activitatea dorită (numită schemă conceptuală de nivel înalt ), fără să
detalieze modul de reprezentare sau de prelucrare a datelor.
Modelul Entitate -Asociere (Entity -Relationship Model) este un model conceptual de
nivel înalt al unei baze de date, care definește mulțimile de entități și asocierile dintre ele, dar nu
impune nici un mod specific de structurare și prelucrare (gestiune) a datelor.
Dependențele de date (data dependencies) reprezintă constrângeri care se impun valorilor
atributelor unei relații și care determină proprietățile relației în raport cu operațiile de inserare,
ștergere și actualizare a tuplurilor.
Pe baza depend ențelor de date se pot stabili reguli de definire a relațiilor, astfel încât
acestea să prezinte anumite proprietăți, proprietăți care caracterizează formele normale ale
relațiilor (sau gradele de normalizare ale acestora).
O formă normală a unei relații (normal form) presupune anumite condiții pe care trebuie
să le îndeplinească valorile atributelor și dependențele de date definite pe acea relație.
Normalizarea relațiilor (normalization) constă în descompunerea lor, astfel încât relațiile
rezultate să în deplinească condiții din ce în ce mai restrictive în ceea ce privește dependențele de
date, adică să corespundă unor forme normale cât mai avansate.
Normalizarea este un proces formal de analiză a relațiilor bazate pe chei primare (sau pe
baza cheilor cand idat în cazul BCNF). Normalizarea presupune îndeplinirea unor reguli prin
care baza de date se poate normaliza până la un anumit grad. Dacă o cerință nu este
satisfăcută, relația trebuie descompusă în mai multe relații, care individual satisfac cerințele
formei normale.
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, cu
redundanta controlată),
• integritatea da telor (se referă la corectitudinea datelor încărcate și manipulate astfel
încât să se respecte restricțiile de integritate),
• securitatea datelor (limitarea accesului la baza de date),

12
• partajarea datelor (datele pot fi accesate de mai mulți utilizatori, eventual în același
timp),
• independenta datelor (organizarea datelor să fie transparenta pentru utilizatori,
modificările în baza de date să nu afecteze programele de aplicații).

13
3. TEHNOLOGII SI INSTRUMENTE INFORMATICE
FOLOSITE

3.1. Limbajul HTML [6][8][11]

Pentru ca o pagină web să poată fi afișată într -un browser (navigator), este necesară
utilizarea unui limbaj de marcare, care are ca scop structurarea și prezentarea documentului.
HTML (acronimul de la HyperText Mark -up Language) este limbajul de marcare care stă la baza
paginilor web și folosește etichete denumite tag -uri care oferă indicații de redare a informației.
Browser -ul interpretează tag -urile, și astfel documentul este str ucturat în diferite moduri: tabele,
liste, paragrafe, titluri etc.
Standardele HTML sunt menținute de World Wide Web Consortium (W3C), o ascociație
fondată și condusă î n prezent de Tim Berners -Lee, care are ca scop dezvoltarea standardelor
pentru World Wide Web în vederea creșterii și a îmbunătățirii acestuia, pentru a -l face accesibil
tuturor utilizatorillor.
HTML (HyperText Markup Language) este un limbaj de marcare folosit de browser -ele
Web pentru a determina modul de afișare a conținutului paginilor Web. Elemente de bază ale
HTML sunt o serie de câmpuri sau marcaje speciale, numite și tag -uri sau etichete HTML. O altă
caracteristică esențială a HTML o constituie posibilitatea realizării de legături (link -uri sau
hyperlink -uri) spre alte documente/pag ini Web, așa cum rezultă și din denumirea lui (HypertText
– element creând o legătură spre un alt document). Protocolul destinat comunicației în cadrul
WWW (Word Wide Web sau pe scurt Web) este HTTP (Hypertext Transfer Protocol), asigurând
transferul de in formație între un server Web și un client browser Web. Etichetele HTML se
folosesc ori de câte ori se dorește o formatare a modului de afișare a informației publicate
(scrierea unui text cu bold, alegerea unui anumit fundal al paginii, inserarea unei imagi ni, afișare
tabelată, integrare de sunet sau orice altceva legat de formatarea unei pagini Web). Tag -urile sunt
coduri speciale care însoțesc conținutul propriu -zis al paginii Web, stabilind modul în care acesta
este afișată pe parte de client apelant. Cod ul HTML (împreună cu informația propriuzisă), stocat
la distanță pe un server Web, este transferat spre un browser Web (folosind HTTP), fiind
interpretat corespunzător de către acesta. Multitudinea de browsere Web folosite face ca modul
de interpretare al unor etichete HTML să difere uneori de la un caz la altul (din acest motiv,
testarea unei aplicații Web trebuie realizată de multe ori pe o gamă largă de browsere).
HTML este un limbaj de marcare orientat către prezentarea documentelor text pe o
singură pa gină.
Utilizând un software de redare specializat, numit agent utilizator HTML (cel mai bun
exemplu de astfel de software fiind browserul web) HTML furnizează mijloacele prin care
conținutul unui document poate fi adnotat cu diverse tipuri de metadate și indicații de redare.

14
Indicațiile de redare pot varia de la decorațiuni minore ale textului (cum ar fi specificarea
faptului că un anumit cuvânt trebuie subliniat sau că o imagine trebuie introdusă) până la
scripturi sofisticate, hărți de imagini și formula re. Metadatele pot include informații despre titlul
și autorul documentului, informații structurale despre cum este împărțit documentul în diferite
segmente, paragrafe, liste, titluri etc. și informații cruciale care permit că documentul să poată fi
legat de alte documente pentru a forma astfel hiperlink -uri.
HTML este un format text proiectat pentru a putea fi citit și editat de oameni utilizând un
editor de text simplu. Totuși scrierea și modificarea paginilor în acest fel solicită cunoștințe
solide de H TML și este consumatoare de timp. Editoarele grafice cum ar fi Macromedia
Dreamweaver sau Microsoft FrontPage permit ca paginile web să fie tratate asemănător cu
documentele Word, dar cu observația că aceste programe generează un cod HTML care este de
multe ori de proastă calitate. HTML se poate genera direct utilizând tehnologii de codare din
partea serverului cum ar fi PHP, JSP sau ASP.
Crearea unui fișier HTML este foarte simplă, putând fi făcută cu ajutorul oricărui editor
de text. Totuși, pentru a avea un control ridicat asupra corectitudinii codului scris, este
recomandat să utilizăm un editor specializat, care să pună în evidență diversele elemente de
marcare (TAG -uri, numite și „elemente” sau „etichete”) sau, mai mult, să poată verifica și
detecta er orile.
Din categoria editoarelor care pun în evidență diferitele elemente face parte editorul
Notepad++, iar din categoria validatoarelor face parte CȘE HTML Validator Lițe.
Orice fișier HTML ar trebui să înceapă cu declarația <! DOCTYPE>, care informează
browser -ul despre versiunea de HTML în care este scrisă pagina. Următorul tag este
<html>..</html>, tag -ul care le cuprinde pe toate celelalte și care spune browser -ului că
documentul curent este de tip HTML. Apoi este elementul <head>..</head>, care adau gă
informații despre documentul HTML, cum ar fi titlu (prin tag -ul <title>), cuvinte cheie,
descriere, detalii despre autor (folosind tag -ul <meta>, care ajută la controlarea modului în care
motoarele de căutare indexează site -ul) și adaugă, de asemenea, f ișiere externe utilizând tag -ul
<link>. Zonă care va fi afișată în browser este delimitată de <body>..</body>. Aceasta cuprinde
toate elementele fișierului HTML: imagini, câmpuri, text, liste, tabele etc.
Limbajul HTML este compus din instrucțiuni de afișa re, care vor fi folosite de către
browser pentru a determina cum anume să afișeze informația utilă din document. Aceste
instrucțiuni de afișare poată denumirea de directive HTML sau, tags în limba engleză.
Un element este o componentă fundamentală din stru cutra unui document. O pereche de
directive delimitează un element HTML, iar informația cuprinsă între directiva de început și cea
de sfârșit delimitează conținutul elementului. Un element poate conține text simplu sau alte
elemente.
În cazul documentelor HTML mai mult de jumătate din textul sursă nu este afișat de către
browser. Mai precis ceea ce lipsește este textul cuprins înăuntrul caracterelor pereche “<” și “>”,

15
aceasta datorită faptului că în limbajul HTML ceea ce este cuprins între aceste caractere sunt
interpretate ca fiind directive HTML (tags).
O directivă HTML constă dintr -un nume care, opțional, este urmat de o listă de atribute
ale directivei HTML, toate acestea fiind plasate între perechea de caractere “<” și “>”.
Conținutul unui document HT ML nu este case -sensitive, cu alte cuvinte nu se face
diferența între litere mari și mici la nivelul etichetelor și atributelor, însă valoarea unui atribut
poate fi case -sensitive, cum este cazul locațiilor fișierelor și adreselor URL.
Un document HTML est e un fișier care are extensia .htm sau .html. Pentru editarea
textului unui document HTML pot fi folosite orice tipuri de editoare, începând cu editoare
simple cum ar fi Notepad, Textpad și ajungând la editoare mai complexe cum ar fi Macromedia
Dreamweaver .
Două dintre trăsăturile de bază ale unui document HTML sunt independenta față de
platforma și legăturile hypertext (hyperlink -uri).
Independența față de platforma este o trăsătură care permite că documentul HTML să fie
afișat în mod asemănător pe difer ite calculatoare din punct de vedere al graficii, fontului, culorii,
lucru extrem de esențial pentru un număr mare de vizitatori. Totuși, interpretarea codului HTML
poate să fie diferită în funcție de tipul de browser Web utilizat. Astfel un document HTML poate
fi afișat de către un browser Internet Explorer într -un anumit fel, iar de către alt browser (sper
exemplu Mozilla Firefox) în alt fel.
Hyperlink -urile au o importanță majoră în cadrul unui site Web, întrucât permit ca orice
cuvânt, fraza, imagine s au element al unei pagini Web să facă referire la o altă pagină Web sau
chiar la paragrafe din interiorul aceleiași pagini, realizându -se astfel navigarea cu ușurință între
paginile unui site Web sau între părțile componente ale aceleiași pagini.

3.2. Standard ul CSS [6][8][11]

În timp ce HTML structurează conținutul unui document, este nevoie de un instrument
care să îl stilizeze și să îl formateze. CSS (Cascading Style Sheet) este un limbaj de stilizare care
se ocupă cu acest lucru, personalizând tag -urile (etichetele) HTML, XML și XHTML, iar
standardele sal e sunt menționate tot de W3C . Utilizând CSS se poate formata orice element al
unei pagini web, de la culorile textelor, margini, imagini și culori de fundal la poziționarea
elementelor în pagină, acest lu cru realizându -se prin proprietăți. CSS are o sintaxă simplă,
proprietățile fiind specificate prin cuvinte cheie din limba engleză: font, font -size, text -align,
margin, padding, float, height, border, background etc.
Cascading Style Sheets (CSS) este pract ic un ―pseudo -limbaj de formatare, utilizat
pentru a descrie modul de prezentare a documentelor scrise într -un limbaj bazat pe marcaje
(HTML, XML etc.). Fișierele CSS (foi de stil în cascadă) permit separarea conținutului HTML

16
propriu -zis al unui document, de stilul de afișare/formatare în pagină al acestuia. Codul HTML
se utilizează, de obicei, doar pentru aranjarea conținutului în pagină, iar detaliile care țin de
afișare (culori, fonturi, fundaluri, margini etc.) se realizează cu ajutorul CSS -urilor, ace stea
aplicându -se suplimentar peste codului HTML, în cadrul unui site Web. Cu alte cuvinte, CSS –
urile realizează separarea prezentării paginii de structura sa efectivă.
Aplicarea foilor de stil în cascadă asupra codului HTML se poate face în mai multe
moduri, putându -se vorbi de:
 stiluri interne;
o Stilurile interne se definesc în secțiunea a documentului HTML, cu
ajutorul următoarei sintaxe. În cadrul acestui tag, se vor defini
proprietățile și valorile pentru diverse stiluri.
o Această metodă este utilă c ând se dorește folosirea acelorași stiluri pentru
mai multe tag -uri HTML de același tip din documentul HTML curent
(tabele, liste, formulare etc.). Astfel, stilurile folosite pentru formatare
sunt scrise o singură dată în document, și nu la fiecare element ce se
dorește a fi formatat.
 stiluri externe;
o În cadrul acestei metode de lucru, proprietățile și valorile pentru diverse
stiluri sunt specificate într -un fișier extern care are extensia "css", pe care
îl putem construi cu orice editor de text (Notepad, Wordpad,
Dreamweaver etc.). Fișierele css nu conțin cod HTML, ci doar CSS.
o Avantajul folosirii fișierelor externe css consta în faptul ca aceleași stiluri
pot fi folosite de mai multe pagini din site, chiar de tot site -ul, fiind scrise
o singură dată. De asemenea, orice modificare necesară asupra unui stil,
va trebui operata într -un singur loc. Pe de altă parte, stilurile externe ajuta
la micșorarea ca mărime a documentelor HTML, care astfel se încarcă
mai repede.
o Pentru a referi un fișier extern CSS într -un document HTML, se adaugă în
secțiunea a documentului care va folosi acel fișier cu stiluri, următoarea
comandă:, unde valoarea lui "href" reprezintă calea și numele fișierului
css folosit.
 stiluri în linie;
o Stilurile în linie se definesc chiar în codu l HTML, în elementul care se
dorește a fi stilizat. Pentru adăugarea unui stil intern la un element se
folosește atributul style urmat de proprietăți și valori.

17
o Stilurile în linie nu permit schimbări rapide și facile, pe mai multe fișiere
în același timp, fiecare element HTML necesitând a fi controlat, pe
fiecare pagină în parte.
 clase CSS.
o Clasele CSS se utilizează pentru stilizarea în mod diferențiat a unor tag –
uri HTML (distribuite în una sau mai multe pagini WEB). Acestea se
definesc într -un fișier ext ern css, numele claselor fiind precedat fie de
semnul „.”, fie de semnul „#”. Apelul unei clase CSS se face în tag -ul
asupra căruia se dorește ca ea să acționeze. În cazul în care clasă este
definită în fișierul extern printr -un nume precedat de caracterul „.”, apelul
ei se va face folosind sintaxa class=” nume_clasă”. În cazul în care clasă
este definită printr -un nume precedat de caracterul „#”, apelul ei se va
face folosind sintaxa id=” nume_clasă”.
o Din punct de vedere al apelului lor în cadrul tag -urilor, utilizarea claselor
CSS este similară cu utilizarea stilurilor în linie, avantajul major fiind
acela că atunci când se dorește efectuarea unei modificări de stil pe mai
multe elemente/pagini, aceasta nu trebuie efectuată individual la nivelul
fiecărui element, ci doar în clasa respectiva definită în fișierul css extern.
Efectul acestei modificări se va răsfrânge asupra tuturor elementelor pe
care acționează clasa respectivă.
CSS se poate adăuga direct în interiorul tag -urilor HTML prin atributul „style” (de
exemplu <p style=” font -size: 13px;” > Paragraf </p>), acesta fiind numit CSS inline , sau în
partea de head a fișierului HTML cu ajutorul tag -ului <style>, numit CSS intern
<head>

<style type=”text/css”>
p {
font-size: 13px;
}

</head>

Cea mai bună metodă însă este utilizarea unui fișier CSS extern , care să fie inclus tot în
partea de head a fișierului HTML cu ajutorul tag -ului <link>:
<link rel=”stylesheet” type=”text/css” href=”style.css”>,

18
deoarece modificările ulterioare să fie făcut e numai în fișierul CSS, nu și în HTML.
 În cadrul tag -ului STYLE vom stabili modul în care dorim să arate elementele
paginii. Fiecare element al HTML -ului pe care l -am studiat este identificat, în
cadrul CSS -ului de tag -ul care îl gestionează. Spre exemplu , identificatorul CSS
pentru paragrafe este P, pentru table este TABLE, pentru imagini este IMG,
ș.a.m.d.
Folosind acești identificatori în cadrul unui <STYLE>…</STYLE>, putem face ca toate
Elementele de același fel din cadrul unui document să arate la fel. Astfel suntem scutiți de a scrie
o grămadă de cod care s -ar repeta în cazul fiecărui element de același fel.
Acestea sunt avantajele folosirii CSS:
 Separarea instrucțiunilor de formatare de structura documentului HTML
 Documentele HTML care folosesc f oi de stil pot avea dimensiuni mai mici
 Site-uri mai ușor de menținut. Prin folosirea unui set comun de foi de still pentru
toate paginile HTML se poate schimba înfățișarea unui site care conține sute de
pagini WEB prin editarea unui singur fișier.
Dezavantajul este că încă există browsere care nu au implementat suport pentru foi de
stil. Dar chiar și pentru acest dezavantaj există un remediu. Paginile de web pot fi inițial realizate
fără a folosi facilitățile de stil. În acest fel se poate verifica modul în care acestea sunt afișate de
browserele fără suport pentru CSS. Informațiile de stil urmâd a fi adăugate pe urmă păstrând în
același timp nealtera t conținutul documentului HTML.

3.3. Limbajul JavaScript [8][11]

Pentru a se construi interfețe intuitive și sofisticate este necesar și un limbaj de scripting
la nivel de client. Scripting -ul permite scrierea de cod (mici programe) care rulează în cadrul
browserului.
Cel mai cunoscut limbaj de scripting pe parte de client este JavaScript .
JavaScrip t (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 binecunosc ut pentru
folosirea sa în construirea siturilor web, dar este folosit și pentru acesul la obiecte încastrate
(embedded objects) în alte aplicații.
JavaScript a fost inventat pentru a adăuga paginilor WEB capabilitatea de a prelucra
informații introduse de utilizator sau de a executa operații fără a fi nevoie de intervenția sau
ajutorul serverului de WEB.

19
JavaScript este la ora actuală cel mai popular limbaj de script, rulând pe partea de client
(browser Web), fiind destinat, în principal, sporirii interact ivității paginilor Web. Limbajul
JavaScript, lucrând împreună cu elementele (etichetele) limbajului HTML, asigură o reacție
imediată la anumite evenimente atașate acestor elemente, furnizând o dinamică sporită
conținutului paginii Web. De asemenea, limbaju l asigură posibilitatea unei validări rapide a
datelor de intrarea preluate prin formulare HTML, precum și diverse prelucrări de informații pe
partea de client (inclusiv salvarea/accesarea unor date/resurse ale acestuia). Fiind practic un
limbaj interpreta t de browser -ul Web, dependența acestuia de tipul de browser este evidentă.
Astfel, este posibil ca o secvență de cod JavaScript să aibă un comportament pe un anumit
browser Web, respectiv alt comportament pe un alt browser. Primul browser care a înglobat un
interpretor JavaScript a fost Netscape Navigator 2.0, la ora actuală toate browser -ele Web
integrând JavaScript într -o formă care se dorește cât mai standardizată. În procesul de dezvoltare
al unei aplicații Web, având drept fundament HTML -ul, codul Jav aScript interacționează cu
etichetele statice HTML, oferind o comportare dinamică a acestora și implicit o apropiere a
comportamentului unei aplicații Web de cel al unei aplicații desktop. Comparativ cu limbajele
operând pe partea de server, codul JavaScri pt, pe lângă dezavantajul dependenței de browser, nu
poate fi ascuns, fiind total accesibil oricărui apelant al paginii respective. Din acest motiv,
exemplele de utilizare fiind la îndemâna oricui fără nici o restricție, în cadrul acestui capitol nu
se va face o prezentare în extenso a limbajului, orice programator familiarizat cu limbajul C
putând să preia de pe Internet secvențe de cod JavaScript (integrate în diverse siteuri) dedicate
celor mai diverse funcționalități dorite.
În ciuda numelui și a unor s imilarităț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.
Deși acest limbaj are o plajă mai largă de extindere, cel mai des întâlnit este în scriptarea
paginilo r web. Programatorii web pot îngloba în paginile HTML script -uri pentru diverse
activități, cum ar fi verificare datelor introduse de utilizatori, sau crearea de meniuri ori de alte
efecte animate.
Browser -ele rețin în memorie o reprezentare a paginii web sub forma unui arbore de
obiecte, punând aceste obiecte la dispoziția JavaScript -ului, care le poate citi și manipula. Acest
arbore de obiecte, de care ne vom ocupa în paragraful următor, poartă numele de DOM
(Document Object Model).
Câteva exemple practi ce de întrebuințare a JavaScript într -o pagină WEB:
 Animații
 Prelucrarea unor informații introduse de utilizator fără a fi nevoie de trimiterea
datelor la server pentru a fi prelucrate de un CGI
 Realizarea de meniuri dinamice în pagină WEB.

20
Spre deosebi re de limbajul Java care este scris exclusiv pentru programatori, JavaScript
este un limbaj simplu scris cu scopul de a fi ușor de asimilat și de folosit de către persoane care
nu au experiență anterioară în programare.
O aplicație JavaScript poate fi adău gată într -un document HTML utilizând directiva
pereche <SCRIPT>… </SCRIPT>. Se pot include oricâte directive <SCRIPT> într -o pagină
WEB în oricare din secțiunile documentului <HEAD> sau <BODY>.
Singura restricție ar fi că în interiorul acestei directive nu se pot introduce alte directive
HTML. Introducerea de directive HTML aici va fi semnalată ca eroare de către browser în
momentul în care va afișa pagina.
Scripturile se pot executa fie la încărcarea paginii, dacă scriptul este definit în secțiunea
<BODY > fie la apariția unui eveniment care are asociat un script.
Una din cele mai importante facilități oferite de JavaScript este posibilitatea de a detecta
anumite evenimente care au loc în pagină și de a reacționa la acestea.
Exemple de astfel de evenimente pot fi: trecerea cu cursorul mouseului peste un anumit
obiect (hyperlink, imagine, buton etc), încărcarea paginii, descărcarea paginii, apăsarea unei taste
etc.
Majoritatea directivelor pot fi configurate să răspundă la astfel de evenimente prin
executar ea unui script JavaScript la producerea acestuia.
Cea mai des întâlnită utilizare a JavaScript este în scriptarea paginilor web. Script -urile
pot fi incluse în codul HTML sau pot fi stocate în fișiere externe și legate în interiorul codului
HTML.

3.4. Limbaju l PHP [8][10][11][12]

Unul dintre cele mai utilizate limbaje de programare folosit la ora actuală pentru
dezvoltarea aplicațiilor Web este PHP -ul (semnificația acronimului PHP fiind – PHP: Hypertext
Preprocessor). PHP -ul este un limbaj de scripting derivat din familia C, rulând multiplatformă
(atât pe paltformele Windows, cât și Unix -Linux), permițând dezvoltarea rapidă de scripturi
server -side de către orice programator familiarizat cu binecunoscutul și popularul limbaj C. Ca
software open -source și având o robustețe confirmată în cei aproape 20 de ani de utilizare, PHP –
ul prezintă un cert avantaj în puternică competiție pe care o are cu alte limbaje și tehnologii de
programare Web server -side, cum ar fi ASP, ASP.Net, JavaServer Pages (JSP) etc. Evident, fi ind
un limbaj rulând pe partea de server (de aceea se face o comparație a acestuia doar cu acest tip de
limbaje de programare Web), scripturile PHP sunt rulate pe un server Web (folosind motorul
interpretor PHP), iar utilizatorul (clientul browser) nu poat e vedea codul sursă PHP al
programului, ci doar codul paginii HTML returnată spre browser -ul client. Altfel spus, motorul
limbajului interpretează codul sursă program PHP, generând pe baza acestuia cod HTML

21
(integrat cu datele/informațiile utile returnate/ generate), păsat apoi mai departe de către serverul
Web spre browser -ul apelant, care știe să interpreteze/afișeze corespunzător codul HTML.
Limbajul de scripting PHP a fost implementat în 1994 de Rasmus Lerdorf, la început
fiind vorba de un proiect person al care includea câteva macro -uri și un modul care permitea
interpretarea lor, menite să urmărească "activitatea" paginii sale personale. În 1995 este
disponibil sub numele Personal Home Page. Începând cu versiunea 3, din 1997, a început să fie
dezvoltat d e o echipă de programatori, iar începând cu versiunea 4 dispune de engine -ul de
scripting al firmei Zend 52 PHP – 2 Techologies. Există multe clasamente la ora actuală privind
popularitatea limbajelor de programare, fiecare având diverse criterii luate în calcul, iar o simplă
căutare pe Internet poate găsi o multitudine de asemenea surse vizând aceste clasamente. Din
acest motiv, fără a cita explicit o anumită sursă, se poate afirma că PHP este probabil cel mai
folosit limbaj de programare Web pe parte de s erver, surclasându -și momentan toți concurenții
prin preț, robustețe și longevitate, simplitate și viteză, posibilitate de integrare cu alte tehnologii
(inclusiv baze de date), securitate, portabilitate, instalare facilă etc.
Fiind un limbaj de scripting, PHP aduce multe avantaje programatorilor, de exemplu
codul scris nu trebuie compilat, ceea ce îl face ușor de editat și testat. Majoritatea limbajelor de
programare necesită compilarea fișierelor în cod mașină înainte de rulare, proces care presupune
mult timp.
PHP este una dintre cele mai interesante tehnologii existente în prezent. Deoarece îmbina
caracteristici dintre cele mai complexe cu simplitatea în utilizare, PHP a devenit rapid un
instrument de frunte pentru dezvoltarea aplicațiilor în Web.
Limbaj ul PHP diferă de limbajul de scripting JavaScript prin faptul că este rulat pe partea
de server, generând HTML care este apoi trimis către client. Clientul va primi rezultatele rulării
acelui script, fără a putea cunoaște codul sursă inițial. Având în vede re rularea pe partea de
server, limbajul PHP permite lucruri similare cu aplicațiile de tip CGI cum ar fi realizarea de
formulare de colectare de date, generarea dinamică a conținutului de pagini web, trimiterea sau
analiza obiectelor de tip „cookies”.
Rulat din linia de comandă, PHP permite crearea de aplicații independente, însă
principalul scop al PHP -ului este crearea de script -uri pentru a fi rulate pe un server web,
permițând modificarea paginilor web înainte ca acestea să fie transmise de server căt re
browserele utilizatorilor.
Există trei domenii principale unde sunt folosite scripturile PHP:
– Scripturi ce rulează pe server . Acesta este cel mai tradițional și cel mai important
pentru PHP. Este nevoie de trei lucruri pentru a face să meargă: interpr etorul PHP (CGI sau
modul de server), un server web și un browser web. E nevoie ca serverul de web să fie pornit, cu
o conexiune PHP instalată. Se poate accesa rezultatul programelor PHP cu un browser prin
intermediul serverului de web.
– Scripting în lin ie de comandă. Se poate face ca PHP să ruleze fără a fi nevoie de server
și de browser, ci doar de interpretorul PHP. Această metodă este ideală pentru script -urile ce se

22
vor a fi executate de regulă folosind cron (task scheduler în Windows), sau sarcini s imple de
procesare a textelor.
– Scrierea de aplicații ce rulează de partea clientului în mod grafic (GUI). Probabil că
PHP nu este limbajul cel mai bun de a scrie aplicații cu ferestre pentru Windows sau alte sisteme
de operare, dar dacă este bine cunocu t și se dorește folosirea unor facilitați avansate ale PHP -ului
în aplicațiile ce rulează de partea clientului, se poate totuși folosi PHP -GTK pentru a scrie astfel
de programe. De asemenea, exista posibilitatea de a scrie aplicații ce rulează pe platforme
diferite folosind aceasta metodă. PHP -GTK este o extensie a PHP -ului, nedisponibila în
distribuția principală de PHP.

Când PHP interpretează un fișier trece prin textul acestuia până când întâlnește unul din
tag-urile speciale care îi spun să pornească interpretarea textului ca fiind cod PHP. Mai departe,
parser -ul executa tot codul întâlnit, până la întâlnirea unui tag PHP de închidere, care anunța
trecerea normală prin text, din nou.
Acest mecanism permite înglobarea codului PHP în interiorul codului H TML: tot ceea ce
este în afara tag -urilor PHP este lăsat nemodificat, în timp ce tot ceea ce este în interior este
interpretat ca fiind cod.
Există patru categorii de tag -uri care pot fi folosite pentru a marca bolcurile de cod PHP.
Dintre acestea, doar do uă (<? Php…? > și <script language="php">…</script>) sunt întotdeauna
disponibile.
În cadrul utilizării PHP nu sunteți limitați doar la afișarea HTML ci există posibilitatea de
a afișa (ca răspuns al rulării scriptului PHP) imagini, fișiere PDF sau chi ar animații Flash
generate în timp real. O altă facilitate foarte importantă a limbajului PHP este posibilitatea de
interconectare cu un server de baze de date, utilizând conținutul preluat în generarea paginii web
trimisă către client (acest aspect va fi detaliat în unitatea de învățare următoare). Pe lângă
posibilitatea de generare de păgâni și obiecte transmise prin intermediul protocolului HTTP de
către serverul web, limbajul PHP permite interconectarea și cu alte servicii de rețea (LDAP,
IMAP, SNMP, NN TP, POP3, SMTP) prin intermediul librăriilor proprii specializate.
Limbajul PHP posedă facilități foarte puternice de procesare a textului și multe extensii
de accesare și interpretare a limbajelor XML.
3.5. Baza de date – MySQL [8][13]
MySQL este unul dintre cele mai populare SGDB -uri open source în prezent și este
foarte des întâlnit împreună cu PHP. Acesta a fost inițial lansat în 1996 și este denumit după
numele fiicei principalului autor și co -fondator Michael Widenius, My, și SQL (Structured
Query Languag e).
MySQL este unul dintre cele mai folosite sisteme de gestiune a bazelor de date client –
server, fiind cel mai des utilizat în combinație cu scripturi PHP. Operarea cu baze de date

23
MySQL nu necesită utilizarea unei biblioteci suplimentare (.dll), suportul pentru MySQL fiind
inclus funcțional în motorul interpretorului PHP.
Deși este folosit foarte des împreună cu limbajele 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.
Serverul de baze de date MySQL este foarte rapid, fiabil și ușor de utilizat. Inițial a fost
dezvoltat pentru a manipula baze de date de dimensiuni mări mult mai rapid decât soluțiile
existente.
MySQL Database Software este un sistem client/server ce constă într -un server MySQL
multithreaded care suportă diferite programe client și biblioteci, unel te administrative și o gamă
largă de interfețe pentru programarea aplicațiilor (Application Programming Interfaces – APIs).
MySQL permite dezvoltatorilor să stocheze datele în tabele structurate pe linii și coloane pentru
că informația să fie bine organiza tă, ușor de găsit, modificat, adăugat și șters. MySQL este un
server de baze de date SQL multi -user ( controlează accesul la date pentru a garanta că mai mulți
utilizatori pot lucra simultan cu acestea ) și multi -thread (mai multe fire de execuție).
MySQL utilizează limbajul de programare SQL, limbaj care se ocupă atât cu inserări,
interogări, ștergeri și modificări asupra informațiilor dintr -o bază de date, cât și cu controlul
accesului la o bază de date. SQL este un limbaj specific pentru gestiunea datelor în SGBD -uri.
Câteva dintre caracteristicile de bază ale MySQL sunt:
 Funcționează pe diferite platforme;
 Dispune de API pentru 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 usuinta 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 optimizata și sunt
foarte rapide. De obicei, nu are loc alocare a memoriei după inițializarea
interogărilor;
 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 bib lioteca ce poate fi
inclusă în aplicații de sine stătătoare;
 Oferă motoare tranzacționale și non -tranzactionale de stocare a datelor.

24
Operațiile necesare pentru utilizarea informațiilor dintr -o tabelă MySQL într -o pagină
web sunt următoarele:
 conectarea la serverul MySQL ;
 selectarea bazei de date cu care lucrăm ;
 construirea sintaxei SQL pe care dorim să o rulăm ;
 execuția acesteia ;
 primirea rezultatelor și afișarea în cadrul paginii web ;
 repetarea ultimelor trei operații de câte ori este necesar ;
 închide rea conexiunii cu serverul MySQL.

25
4. STUDIU DE CAZ: SISTEM SOFTWARE PENTRU
MANAGEMENTUL RESURSELOR UMANE

4.1. Descrierea sistemul ui software pentru managementul resurselor
umane

Sistemul software de gestiune a managementului de resurse umane este un software
dedicat managementului eficient al resurselor umane care vine în întâmpinarea nevoii
companiilor de a -și optimiza investiția în cea mai importantă resursa, și anume cea umană.
Ținând cont de necesitatea urmăririi strategice a funcțiilor de partamentelor de resurese mane,
aplicația de gestiune a managementului de resurse umane vizează o corelare eficientă a activității
angajaților cu restul activităților de business din cadrul companiei.
Departamentul de Resurse Umane consta în evidența perso anelor și a activității acestora
aplicarea de metode, tehnici, programe, politici privind resursele umane existente sau care
urmează să fie angajate și respectarea legislației în vigoare.
Sistemul informatic al managementului de resurse umane este conceput și pus la
dispoziția utilizatorilor pentru a transfera aceste evenimente în mulțimi de mai multe operații. De
acum totul devine mai simplu. Aplicația permite utilizarea aceleiași baze de date centralizate
pentru gestiunea angajatiilor. Sistemul va fi gene rat după ce se va începe efectiv introducerea
angajaților.
Sistemul informatic este constituit pe două niveluri:
 Un nivel al aplicațiilor managementului de resurse umane propriu – zise
 Un nivel al suportului de dezvoltare al aplicației.
Aceasta arhitectură garantează independenta aplicației, modularitatea programelor și
evoluția funcțională.
4.1.1. Principalele activități ale resurselor umane

Principalele activități care se desfășoară la nivelul Direcției Resurse Umane sunt:
 normarea și asigurarea nece sarului de resurse umane din punct de vedere numeric,
structural și calitativ la nivelul întregii organizații.
 întocmirea organigramei organizației (structura organizatorică).
 conceperea unei politici de recrutare de resurse umane.
 descoperirea și aplic area celor mai eficiente metode de selecție în vederea
angajării de resurse umane competente.

26
 întocmirea unor programe de calificare, recalificare, perfecționare a pregătirii
resurselor umane.
 planifica, urmărește și asigură aplicarea în practică a condițiilor de repaus și
odihnă pentru toți angajații.
 ține evidența activității tuturor resurselor umane angajate.
 asigura evidenta evaluării periodice a rezultatelor activității resurselor umane.
 pune la dispoziția resurselor umane toate documentele necesare desfășurării
activității lor.
 are relații interne cu toate compartimentele funcționale din cadrul organizației.
 are relații externe cu diferite servicii, direcții din cadrul altor ministere (Ministerul
Finanțelor Publice, Ministerul Muncii și Solidarității Sociale, Agenția Națională
pentru Ocuparea Forței de Muncă, Casa Națională de Pensii, Institutul Național de
Statistică e.t.c.)
4.2. Proiectarea sistemului informatic [14][15]
Tendința actuală din industria software impune dezvoltarea de sisteme extrem de
complexe și în cel mai scurt timp posibil. Se impune cu necesitate adaptarea procesului de
dezvoltare a sistemelor informatice la cerințele din ce în ce mai complexe față de produsele
informati ce.
În plus, odată cu impunerea pe piață a limbajelor orientate obiect și a mediilor vizuale de
programare, au apărut în ultimii ani mai multe propuneri de procese de dezvoltare orientată
obiect a sistemelor informatice, ceea ce a introdus încă o picătură de haos în ecuație.
UML -ul reprezintă o sinteză a celor mai multe notații și concepte utilizate în proiectarea
orientată obiect. A început ca o colaborare a activității lui Grady Booch, James Rumbaugh, și
Ivăr Jacobson, creatorii a trei dintre cele mai cun oscute metodologii orientate obiect.
UML propune notații standard și semantică corespunzătoare pentru modelarea sistemelor
orientate obiect. Înainte de aceasta un proiect orientat obiect putea fi descris utilizând una dintre
zecile de metodologii disponibi le, ceea ce făcea ca în cazul unei revizuiri cei responsabili de
aceasta să piardă mult timp cu analiza notațiilor și semanticii metodologiei înainte de a pătrunde
logica proiectării. În acest moment, utilizând UML, diferiți proiectanți ce lucrează la dive rse
sisteme pot înțelege cu ușurință munca celuilalt.
UML -ul prescrie un set standard de diagrame și notații pentru analiza și proiectarea
orientată obiect a diverselor tipuri de sisteme (sisteme software, sisteme hardware sau
organizații), descriind totod ată și semantica acestor diagrame și simboluri.

27
4.2.1. Diagrama caz principal de utilizare
Diagrama ofera o imagine de ansamblu asupra principalelor activitati desfasurate in
cadrul unei firme. Actorul a fost intitulat “personal resurse umane ” si este cel care beneficiaza si
in acelasi timp efectueaza toate activitatile prezente in diagrama. Fiecare dintre actiunile
reprezentate in diagrama generala a cazurilor de utilizare vor fi reluate si prezentate pe larg,
punandu -se in evidenta toate activitatile care le compun.
Digrama caz urilor de utilizare

Fig. 4. 1 – Diagrama cazurilor de utilizare

Actorul – personalul de la resurse umane – se ocupa de înregistrarea angajaților, căutarea
în baze de date și întocmirea fiselor ale angajatului. În această situație interacțiunea actorului cu
sistemul consta în adăugarea unui angajat, vizualizarea, editarea sau căutarea angajatului. Acesta
poate înregistra date cu privire la cursuri și planificarea acestora.

4.2.2. Diagrama de stare

Diagramele de stare realizate identifica evenimentele care fac tranziția unui obiect dintr -o
stare în alta. Aceste diagrame descriu toate operațiile și atributele unei clase în timpul unui
eveniment. Diagrama identifica stimulii care declanșează acțiunea. Ea include numele stării,
oricărei variabile, în timp ce obiectul este în funcțiune, și evenimentul care declanșează tranziția
la o nouă stare.

28

Diagrama de stare a unui contract

Fig. 4. 2 – Diagrama de stare a unui contract
Diagrama de stare a clasei “Contract” evidențiază stările prin care trece un contract de la
încheierea lui și până la faza de tipărire.

4.2.3. Diagrame de secventa și de colaborare

Diagramele de secventa dezvolta în mod natural scenariile cazurilor de utilizare.
Acestea transforma evenimentele identificate în scenariile cazurilor de utiliare într -o reprezentare
grafică a utilizărilor sistemului de către un actor. Fiecare eveniment are ca rezultat un mesaj
trimis unui obiect cu perspective ca acel obiect va realize o operație.
Diagrama de secventa descrie chrono logic interacțiunea obiectelor, identificând mesajele
schimbate între obiecte ca răspuns la un eveniment, împreună cu secvența mesajelor. Este o
vizualizare a intercomunicarii claselor pentru un anumit scenariu al cazurilor de utilizare.
Diagramele de cola borare se obțin cu ușurință din diagramele de secvența. Ele descriu o
examinare nonsecventiala a modului în care interacționează obiectul. Aceste diagrame suporta
multiple modalități de modelare a obiectului.
Intersectarea diagramelor de secvența cu diagra mele de colaborare duce la obținerea unor
operațiuni intensificate și descoperirea unor atribute adiționale.
Ambele diagrame furnizează puncte de vedere diferite ale aceleiași informații. Ambele arata
implementarea unui scenariu al cazului de utilizare.

29

Diagrama de secventa pentru “Logare”

Fig. 4.3 – Diagrama de secventa pentru “Logare”

Se referă la cazul de utilizare Logare. Utilizatorul și administratorul trebuie să se logeze
înainte de a putea face orice consultare sau actualizare. Astfel se poate știi cine a accesat
aplicația, și în caz de erori se cunoaște din cauza cui a survenit eroarea. Se realizează validarea
numelui de utilizator și a parolei. În funcție de răspuns se accepta sau nu accesul la aplicație.
Diagrama de secventa pentru “Inregistr are angajat”

Fig. 4.4 – Diagrama de secventa pentru “Inregistrare angajat”

30

Se referă la cazul de utilizare particular “Înregistrare angajat”. Angajatul de la Resurse
umane verifica dacă datele viitorului angajat apar în baza de date. Dacă nu a fost atunci se
înregistrează datele angajatului, împreună cu informațiile personale și informațiile contractuale
de angajare.
4.2.4. Diagrama de activități

Diagramele de activitate permit o mai bună înțelegere a operațiilor, în special a celor
foarte complexe. Prin intermediul acestor diagrame sunt evidențiate detaliile din cadrul unor
operații ăla claselor.
Aceste digrame sunt reprezentate sub forma unui tip de stare care specifică activitatea
unei anumite clase. Diferența constă ca un grafic de stare reprezintă înt regul obiect, în timp ce o
diagramă de activitate reprezintă în mod tipic doar o operație în cadrul unui obiect.

Fig. 4.5 – Diagrama de activitati

31
4.3. Descrierea bazei de date a aplicatiei [7][8]

În primul rând, trebuie precizat faptul că realizarea unei aplicații cu baze de date necesită
existența unui sistem de baze de date (DBS = Database System), ce reprezintă un set de elemente
interconectate prin intermediul cărora se realizează colectarea, stocarea și procesarea datelor.
Din figura 4.6 se observă faptul că utilizatorul interacționează cu sistemul de baze de date
prin intermediul produselor software instalate, care realizează legătura cu datele, dar și cu alte
aplicații auxiliare.

Figura 4.6 Componentele arhitecturii unui sistem de baze de date
Baza de date a aplicației “Sistem software pentru managementul resurselor umane” este o
bază de date locală, ce este apelata printr -un server local XAMPP.
Proiectul conceptual se realizează independent de Sistemul de Gestiune a Bazelor de Date
ales, și se reprezintă în general prin modelul Entitate – Asociere (Entity – Relationship) care se
concretizează într -o diagramă Entitate -Asociere.
În pro iectarea conceptuală a bazei de date vor fi urmăriți următorii pași:
 Determinarea scopului bazei de date. Baza de date necesară aplicației de managementul
resurselor umane păstrează informații despre angajati , cursuri și planificari de cursuri.
 Împărțirea informațiilor în tabele. Se realizează prin găsirea celor mai importante entități
sau subiecte din descrierea problemei reale.
 Transformarea elementelor de informații în coloane. Vom decide ce informații vor fi
stocate în fiecare tabelă. Fiecare element d evine un câmp afișat sub forma unei coloane a
tabelului.
 Specificarea cheilor primare. Se alege coloana sau coloanele care vor identifica în mod
unic fiecare înregistrare din tabelă.
Baza de date “resurse_umane” ce deservește la buna funcționare a aplicaț iei și stocarea
datelor conține 15 tabele, după cum urmează:
Date
Software
Elemente auxiliare
Utilizator

32
1. Tabela “utilizatori”, ce conține toate informațiile aferente utilizatorilor necesare
autentificării în aplicație:

Fig. 4.7 – Tabela “Utilizatori”
Atribute:
– Id_user – în această coloană sunt numerotați utilizatorii, aceștia au un identificator
unic și se face automat;
– Nume_user – se reține numele utilizatorului ce poate intra în aplicație;
– Prenume_user – se stochează prenumele angajatului de resurse umane;
– Adresa_ema il – este adresa de email a angajatului ce are drepturi în aplicație;
– Parola – reține bineînțeles, parola acestuia.

2. Tabela “date_personale”, ce conține toate informațiile personale aferente
noului/vechiului angajat

Fig. 4. 8 – Tabela “date_personale”
Atribute:
– CNP – în această coloană este memorat Codul numeric personal al fiecărui angajat.
– prenume – se reține prenumele noului angajat;
– nume – se reține numele noului angajat;

33
– apelativ – se stochează apelativul angajatului și anume doamna sau domnul;
– sex – reține sexul angajatului, dacă este de sex feminine sau masculin.
– Nume_ant – în această coloană se reține numele anterior al angajatului, în cazul în
care acesta este căsătorit;
– Dată_nașterii – se reține data nașterii a angajatului;
– Locul_nsterii – se stochează locul nașterii al angajatului;
– Naționalitate – se reține naționalitatea angajatului;
– Cetățenie – reține cetățenia angajatului;
– Stare_civilă – se reține starea civilă a angajatului, dacă este sau nu căsătorit;
– Id_document – se reține numărul documentului de identitate, ce face legătura cu
tabela “document_identitate”.

3. Tabela “document_identitate”, ce conține toate informațiile legate de documentul de
identitate al noului/vechiului angajat

Fig. 4. 9 – Tabela “ document_identitate ”
Atribute:
– Id_document – în această coloană este reținută numărul documentului de identitate,
acestea au un identificator unic și se face automat;
– Tip_docc – se reține tipul documentului;
– Serie – se reține seria buletinului sau cea a pașaportului;
– Număr_doc – se stoc hează numărul seriei după cartea de identitate sau pașaport;
– Data_emiterii – data emiterii documentului de identitate;
– Data_expirării – data expirării a documentului de identitate;
– Emis – cine a emis documentul de identitate;
– File_doc – se stochează numele copiei după documentul de identitate.

4. Tabela “ adresa_resedinta ”, ce conține toate informațiile legate de adresa de re ședință a
noului/vechiului angajat .

34

Fig. 4. 10 – Tabela “ adresa_resedinta ”
Atribute:
– Id_adresa_re – în această coloană este reținut numărul adresei de reședințe, acesea
are un identificator unic și se face automat;
– Tara_resedinta – se reține tara de reședință a angajatului;
– Jude t_ resedinta – se reține județul de reședință a angajatului;
– Localitate_ resedinta – se reține localitatea de reședință a angajatului;
– Strada_ resedinta – se reține stradă de reședință a angajatului;
– Număr_ resedinta – se reține numărul străzii de reședință a angajatului;
– Bloc_ resedinta – se reține numărul blocului de reședință a angajatului;
– Scara_ resedinta – se reține numărul scării de reședință a angajatului;
– Apartament_ resedinta – se reține numărul apartamentului aferenta adresei de
reședință a angajatului;
– CNP – se stochează CNP -ul angajatului ce face legătura cu tabela “d ate_personale”.

5. Tabela “adresa_corespondenta”, ce conține toate informațiile legate de adresa de
coresponden ță a noului/vechiului angajat .

35

Fig. 4. 11 – Tabela “ adresa_corespondenta ”
Atribute:
– Id_adresa_cores – în această coloană este reținut numărul adresei de corespondență,
acesta are un identificator unic și se face automat;
– Tara_corespondenta – se reține tara de corespondență a angajatului;
– Județ_ corespondenta – se reține județul de corespondență a angajat ului;
– Localitate_ corespondenta – se reține localitatea de corespondență a angajatului;
– Strada_ corespondenta – se reține stradă de corespondență a angajatului;
– Număr_ corespondenta – se reține numărul străzii de corespondență a angajatului;
– Bloc_ corespon denta – se reține numărul blocului de corespondență a angajatului;
– Scara_ corespondenta – se reține numărul scării de corespondență a angajatului;
– Apartament_ corespondenta – se reține numărul apartamentului aferenta adresei de
corespondență a angajatului;
– CNP – se stochează CNP -ul angajatului ce face legătura cu tabela “date_personale”.

6. Tabela “informatii”, ce conține informații legate de adresele de email ale
noului/vechiului angajat, atât cea personală , cât și cea de firmă.

Fig. 4. 12 – Tabela “ informatii ”

36
Atribute:
– Id_info – în această coloană este reținut numărul informației, aceasta are un
identificator unic și se face automat;
– Mail_personal – se reține adresa de email personală a angajatului;
– Mail_business – se reține adresa de email firma a angajatului;
– Primar – se reține care dintre cele două drese de email este folosit pentru a trimite
informații;
– CNP – se stochează CNP -ul angajatului ce face legătura cu tabela “date_personale”.

7. Tabela “informatii_banca re”, ce conține informații legate de date bancare ale
noului/vechicului angajat în vederea efectuării platii în ziua de salariu.

Fig. 4. 13 – Tabela “ informatii_bancare ”
Atribute:
– Id_info_b – în această coloană este reținut numărul informației bancare, acesta are
un identificator unic și se face automat;
– Banca – se reține numele băncii unde angajatul are cardul emis;
– Sucursala – se reține sucursala băncii unde angajatul și -a emis cardul;
– IBAN – se reține contul IBAN al angajatului pentru efectuarea salariului în contul
personal;
– CNP – se stochează CNP -ul angajatului ce face legătura cu tabela “date_personale”.

8. Tabela “informatii_urgenta”, ce conține informații legate de informațiile unei ersoane
de contact în caz de urgență.

37

Fig. 4. 14 – Tabela “ informatii_urgenta ”
Atribute:
– Id_info_urg – în această coloană este reținut numărul informației în caz de urgență,
acesta are un identificator unic și se face automat;
– Relație – se reține tipul de relație cu pesoana de contact în caz de urgență;
– Nume_membru – se reține numele pesoanei de contact în caz de urgență;
– CNP_membru – se reține codul numeric personal al persoanei de contact în caz de
urgență;
– Dată_nașterii_membru – se reține data naș terii a persoanei de contact în caz de
urgență;
– CNP – se stochează CNP -ul angajatului ce face legătura cu tabela “date_personale”.
9. Tabela “structura”, ce conține informații privind structura organizațional a angajatului
în firmă.

Fig. 4. 15 – Tabela “ structura ”

38
Atribute:
– Id_structura – în această coloană este reținut numărul structurii, acesta are un
identificator unic și se face automat;
– Department – se reține departamentul din care face parte angajatul;
– Rol_organizație – se reține rolul în organizație al angajatului;
– Manager – se reține manager -ul ce coordonează departamentul ales;
– Superior – se reține numele superiorului aferent angajatului;
– Status_angajat – se reține statusul angajatului, dacă acesta este active sa u inactiv;
– Abonament_medical – se reține valoarea “Da”, în cazul în care angajatul
beneficiază de abonament medical, iar valoarea “Nu” în caz contrar;
– Mașina – se reține valoarea “Da”, în cazul în care angajatul beneficiază de mașină,
iar valoarea “Nu” î n caz contrar;
– Laptop – se reține valoarea “Da”, în cazul în care angajatul beneficiază de laptop,
iar valoarea “Nu” în caz contrar;
– Telefon – se reține valoarea “Da”, în cazul în care angajatul beneficiază de telefon,
iar valoarea “Nu” în caz contrar;
– Zile_concediu – se reține numărul zilelor de concediu de care beneficiază angajatul.
– File_doc3 – se reține denumirea cu fisă bunurilor aferent angajatului;
– CNP – se stochează CNP -ul angajatului ce face legătura cu tabela “date_personale”.

10. Tabela “stud ii”, ce conține informații legate de studiile efectuate ale angajatului.

Fig. 4. 16 – Tabela “ studii ”
Atribute:
– Id_studii – în această coloană este reținut numărul informației de studiu, acesta are
un identificator unic și se face automat;
– Nivel_studiu – se reține nivelul de studio al angajatului;
– Instituție – se reține numele instituției unde a efectuat angajatul studiile;
– Anul_obținerii – se reține anul obținerii ultimei diplome de studio;
– File_doc1 – se reține denumirea copiei după diploma aferent a nivelului de studiu;
– CNP – se stochează CNP -ul angajatului ce face legătura cu tabela “date_personale”.

39
11. Tabela “contract”, ce conține informații privind datele contractuale ale noului/vechiului
angajat.

Fig. 4. 17 – Tabela “ contract ”
Atribute:
– Id_contract – în această coloană este reținut numărul contractului, acesta are un
identificator unic și se face automat;
– Nr_contract – se reține numărul contractului aferent angajatului;
– Dată_începerii_contract – se reține dată intrării în vigoare a cont ractului aferent
angajatului;
– Durata – se reține durata contractului (Determinat sau Nedeterminat);
– Valabilitate – se reține valabilitatea contractului;
– Norma – se reține norma de lucru a angajatului (4h, 6h sau 8h);
– Program – se reține programul de muncă aferent angajatului;
– Nr_inreg_ITM – se reține numărul de înregistrare de la Inspectoratul Teritorial al
Muncii;
– Funcție_COR – se reține funcția angajatului din “Clasificarea ocupațiilor din
România”;

40
– Cod_COR – se reține codul funcției din “Clasifi carea ocupațiilor din România” ;
– Status_contract – se reține statusul contractului (Activ sau Inactiv).
– Salariu – se reține salariul aferent angajatului;
– Bonuri – se reține valoarea “Da”, în cazul în care angajatul beneficiază de bonuri de
masă, iar val oarea “Nu” în caz contrar;
– Dată_exp_pm – se reține dată când trebuie efectuată protecția muncii;
– Dată_exp_mm – se reține dată când trebuie efectuată medicina muncii;
– File_doc4 – se reține denumirea contractului de muncă a angajatului;
– File_doc5 – se reține denumirea aferenta actelor adiționale ale angajatului;
– CNP – se stochează CNP -ul angajatului ce face legătura cu tabela “date_personale”.

12. Tabela “informatii_contract_fisa”, ce conține informații privind datele contractuale ale
noului/vechiului anga jat pentru fisa in curs de desfasurare.

Fig. 4. 18 – Tabela “ informatii_contract_fisa ”

41
Atribute:
– Id_contract_fisa – în această coloană este reținut numărul contractului aferent fisei
Onboarding, acesta are un identificator unic și se face automat;
– Dată_semnare_fisa – se reține dată semnării contractului;
– Dată_începerii_fisa – se reține dată începerii programului de muncă al angajatului;
– Departament_fisa – se reține departamentul din care face parte angajatul;
– Manager_fisa – se reține manager -ul ce coordonează departamentul ales;
– Telefon_fisa – se reține valoarea “Da”, în cazul în care angajatul beneficiază de
telefon, iar valoarea “Nu” în caz contrar;
– Mașina_fisa – se reține valoarea “Da”, în cazul în care angajatul beneficiază de
mașină, iar valoarea “Nu” în caz contrar;
– Nr_contract_fisa – se reține numărul contractului aferent angajatului;
– Dată_încep_fisa – se reține dată intrării în vigoare a contractului aferent angajatului;
– Durata_fisa – se reține durata contractului (Determinat sau Ned eterminat);
– Valabilitate_fisa – se reține valabilitatea contractului;
– Tip_colaborare_fisa – se reține tipul de colaborare al angajatului (Internship, Full
time, Colaborator);
– Norma_fisa – se reține norma de lucru a angajatului (4h, 6h sau 8h);
– Cor_fisa – se reține codul funcției din “Clasificarea ocupațiilor din România” ;
– Salariu_fisa – se reține salariul aferent angajatului;
– Bonuri_fisa – se reține valoarea “Da”, în cazul în care angajatul beneficiază de
bonuri de masă, iar valoarea “Nu” în caz cont rar;
– Dată_exp_mm – se reține dată când trebuie efectuată medicina muncii;
– CNP – se stochează CNP -ul angajatului ce face legătura cu tabela “date_personale”.

13. Tabela “informatii_personale_fisa”, ce conține informații privind datele personale ale
noului/vechiului angajat pentru fisa in curs de desfasurare.

42

Fig. 4. 19 – Tabela “ informatii_ personale _fisa ”
Atribute:
– CNP – în această coloană este memorat Codul numeric personal al fiecărui angajat.
– Prenume_fisa – se reține prenumele noului angajat;
– Nume_fisa – se reține numele noului angajat;
– Tara_ fisa – se reține tara de unde face parte angajatului;
– Județ_ fisa – se reține județul de unde face parte angajatului;
– Localitate_ fisa – se reține localitatea de unde face parte angajatului;
– Strada_ fisa – se reține stradă de unde face parte angajatului;
– Număr_ fisa – se reține numărul străzii de unde face parte angajatului;
– Bloc_ fisa – se reține numărul blocului de unde face parte angajatului;
– Scara_ fisa – se reține numărul scării;
– Etja_fisa – se reține numărul apartamentului aferenta adresei angajatului;
– Apartament_ fisa – se reține numărul apartamentului aferenta adresei angajatului;
– Doc_fisa – – se reține tipul documentului;
– Serie_fisa – se reține seria buletinului sau cea a pașaportului;
– Număr_id_fis a – se stochează numărul seriei după cartea de identitate sau pașaport;
– Dată_el_fisa – data emiterii documentului de identitate;
– Dată_expira_fisa – data expirării a documentului de identitate;
– Eliberat_fisa – cine a emis documentul de identitate;

43
– Nivel_fisa – se reține nivelul de studi u al angajatului;
– CNP – se stochează CNP -ul angajatului ce face legătura cu tabela “date_personale”.

14. Tabela “curs”, conține informații privind toate cursurile ce pot fi efectuate în firm ă de
către un angajat.

Fig. 4.20 – Tabela “ curs”
Atribute:
– Id_curs – în această coloană este reținut numărul cursului, acesta are un identificator
unic și se face automat;
– Nume_curs – se reține numele cursului;
– Detalii_curs – se rețin toate informațiile referitoare la acest curs;
– Program_training – se reține programul de training dacă este Management
academy sau Development plan;
– Forma_curs – se reține forma cursului și anume dacă este Certificare, Workshop sau
Conferință;
– Cerințe_minime – se rețin cerințele minime obligatorii pent ru participarea la curs;
– Domeniu_specializare – se reține domeniul de specializare aferent cursului;
– Nr_ore – se reține numărul de ore aferente cursului;
– Diploma – se reține numele diplomei obținute în urma cursului;

15. Tabela “planficare”, ce conține informații privind înscrierea unui angajat la un curs și
planificarea acestuia.

44

Fig. 4. 21 – Tabela “ planificare ”
Atribute:
– Id_planificare – în această coloană este reținut numărul planificării, acesta are un
identificator unic și se face automat;
– Dată_începerii_curs – se reține dată începerii cursului;
– Dată_finală – se reține dată la care se încheie cursul;
– Status_planificare – se reține statusul aferent efectuării cursului;
– Contractor – se reține numele contractorului aferent cursului;
– Preț – se reține prețul cursului;
– An – se reține anul efectuării cursului;
– Tehnologie – se reține tehnologia folosită la cursul respective;
– Id_curs – se stochează id_ul cursului ce face legătura cu tabela “curs”.
– CNP – se stochează CNP -ul angajatului ce face legătura cu tabela “date_personale”.
– Nume_angajat – se reține numele angajatului ce dorește să efectueze cursul;
– Prenume_angajat – se reține prenumele angajatului ce dorește să efectueze cursul;
– denumire_curs_p – se reține denumirea cursului;
– Program_training_p – se reține programul de training dacă este Management
academy sau Development plan;
– Tip_curs_p – se reține forma cursului și anume dacă este Certificare, Workshop sau
Conferință;

45
– Domeniu_special_p – se reține domeniul de specializare aferent cursului;

 Conf igurarea relațiilor dintre tabele . Trebuie decis modul în care se asociază datele dintr –
un tabel cu datele din alte tabele. Se observă din figurile 4.3.2 – 4.3.16 că a fost ținut cont
de acest lucru deoarece unele tabele conțin și chei externe care în alte tabele au rolul de
chei primare realizându -se conexiunea dintre entități. Tabela Utilizatori nu este legată de
nici o altă tabelă deoarece este utilizată pentru administrarea aplicației și nu pentru
funcționalitatea activității de resurse umane.

4.4. Descrierea detaliata a aplicatiei

Interfața (GUI – Graphical User Interface ) este unul dintre cele mai importante elemente
ale unei aplicații deoarece reprezintă partea vizuală cu care interacționează utilizatorul. Scopul
interfeței este acela de a face interacțiunea utilizatorului cât de simplă și eficientă posibil pentru
ca ace sta sa -și atingă obiectivele. Acest tip de gândire a interfeței este de cele mai multe ori
denumit: user-centered design și anume aspect centrat pe utilizator și după cum spune denumirea
se referă la faptul că atunci când se proiectează o interfață, perso ana care folosește aplicația
trebuie să fie cel mai important element luat în considerare. Procesul de dezvoltare a interfeței
trebuie să balanseze funcționalitatea tehnică și elementele vizuale pentru a crea un sistem care
este nu doar operațional ci și u tilizabil și adaptabil la schimbările de care are nevoie utilizatorul.
Aspectul referitor la prezentarea informației este descris în articolul 12 al standardului ISO 9241
referitor la organizarea informației (aranjare, aliniere, grupare, etichetare, locați e), prin șapte
atribute:
 claritate: conținutul informației este redat rapid și exact;
 discriminabilitate: informațiile redate pot fi distinse eficient;
 simplitate: utilizatorii nu sunt supraîncărcați cu informații inutile;
 consistență: un aspect unic, conf orm cu aștepțările utilizatorilor;
 detectabilitate: atenția utilizatorului este direcționată către informația necesară;
 lizibilitate: informația este ușor de citit;
 înțelegere: informația este ușor de înțeles, neambiguă și ușor recunoscută;

46
4.4.1. Autentificarea în aplica ție

Aplicația este intuitivă și ușor de utilizat de orice persoană, chiar și neinițiată în lucrul cu
calculatorul sau în domeniul informaticii .
Primul pas care trebuie făcut pentru a putea folosi aplicația este autentificarea, prin
introducerea numelui de utilizator și a parolei setate, ca în figura 4.4.1.1.

Fig. 4. 22 – Autentificare

După apăsarea butonului de “Login” suntem redirecționați spre pagina principală a
aplicației.

Fig. 4. 23 – Pagina principala
În această pagină, se pot vedea c ertificările obținute de firma, contractile aceștia și
partenerii societății, accesând fiecare link din partea stângă a aplicației ( Certificări , Parteneri ).

47

Fig. 4. 24 – Certificari

Fig. 4.2 5 – Parteneri

48
4.4.2. Angaja ți

Acest modul este creat cu scopul de a ține evidența tuturor angajaților din firma. La
accesarea meniului “Angajați” se poate observa că în figură de mai jos, fig. 4.4.2.1, lista cu toți
angajați din firma.

Fig. 4.2 6 – Lista Angajati

4.4.2.1. Adăugare angajat

Pentru a adăuga un nou angajat, se apasa butonul “Adăugă angajat”. La acționarea acestui
buton se observa faptul că ne este deschisă pagina dedicate adăugării unui nou angajat, ce se face
prin completarea a trei tab -uri, și anume:
 Fisa Onboarding – aceasta se completează doar în cazul în ca re se dorește adăugarea
imediată a angajatului, dar toată fișa lui este în curs de desfășurare.

 Informații personale – în acest tab se completează toate datele personale ale
angajatului

 Informații contractuale – în acest tab se completează toate informaț iile contractuale
aferente noului angajat.

49

Fig. 4.2 7 – Angajati

Pentru a adăuga date, în sectinea “Fisa Onboarding” se apasa pe tab -ul cu aceeași
denmire, și se deschide următoarea fisa:

Fig. 4.28 – Fisa Onboarding

50
După completarea tuturor informațiilor se apasa butonul “Salvează datele” și se trece la
următoarea secțiunea, cea aferenta informațiilor personale, prin apăsarea tab -ului “Informații
personale”.

Fig. 4. 29 – Informatii personale
Dupa completarea tuturor informatiilor se apasa butonul “Salveaza datele” si se trece la
urmatoarea sectiunea, cea aferenta informatiilor personale, prin apasarea tab -ului “Informatii
contractuale”.

Fig. 4.30 – Informatii contractuale
După completarea tuturor datelor, se apasa butonul <Salvează datele >.
Pentru a genera un contract se apasa pe secțiunea “Generează contract” și se deschide
pagina de mai jos.

51

Fig. 4.31 – Genereaza contract
Se observa faptul că se poate genera un draft de contract, atunci când se dorește numai
formatul acestuia, sau se poate genera contractul final, având toate câmpurile completate, cu
datele noului angajat.

4.4.2.2. Editare angajat
Pentru a edita informațiile aferente unui angajat, se apasa pe butonul “Editează” din
dreptul unui angajat.

Fig. 4.32 – Lista angajati

52

După apăsarea butonului de “Editează”, se deschide fereastra aferenta angajatului cu
informațiile ce pot fi modificate.
După ce au fost modificate toate informațiile, se apasa butonul “Salvează”, iar datele
modificate pot fi vizualizate în cadrul Listei de ang ajați.
Dacă se dorește ieșirea din ecranul de “Editare” se apasa butonul “Anulează”.
Tot în cadrul acestei secțiuni există posibilitatea de generare a contractului aferent
angajatului selectat prin apăsarea butonului “Generare contract”.

Fig. 4.33 – Editare angajat

4.4.2.3. Ștergere angajat

Pentru a șterge un angajat, se bifează angajatul care se dorește a fi șters, iar după se apasa
butonul “Șterge”.

53

Fig. 4.34 – Stergere angajat

4.4.3. Cursuri

Acest modul este creat cu scopul de a ține evidența tuturor cursurilor. La accesarea acestui
modul, se poate observa lista cu toate cursurile ce pot fi efectuate de către un angajat din firma.

Fig. 4. 35 – Cursuri

54

4.4.3.1. Adăugare curs

Pentru a adăuga un curs nou, se apasa pe butonul “Adăugă curs”. După apăsarea acestui
buton se deschide pagină pentru adăugarea unui nou curs.

Fig. 4. 36 – Adaugare curs
După ce au fost completate toate datele aferente unui curs se apasa butonul “Salvează
datele”.
Datele salvate pot fi vizualizate în lista aferenta cursurilor.

55

4.4.3.2. Editare curs

Pentru a edita informațiile aferente unui curs, se apasa pe butonul “Editează” din dreptul
unui curs.

Fig. 4. 37 – Lista cursuri

După apăsarea butonului de “Editează”, se deschide fereastra aferenta cursului cu
informațiile ce pot fi modificate.
După ce au fost modificate toate informațiile, se apasa butonul “Salvează”, iar datele
modificate pot fi vizualizate în cadrul listei de cursuri.
Dacă se dorește ieșirea din ecranul de “Editare” se apasa butonul “Anulează”.

56

Fig. 4. 38 – Editare curs

4.4.3.3. Șterger e curs

Pentru a șterge un curs, se bifează cursul care se dorește a fi șters, iar după se apasa
butonul “Șterge”.

Fig. 4. 39 – Stergere curs

57

4.4.4. Planificare cursuri

Pentru a adăuga o planificare a unui curs ce urmează a fi făcut de un angajat, se accesează
secțiunea “Planificare cursuri”. La accesarea acestei secțiuni, se pot observa toate planificările
efectuate de toți angajații.

Fig. 4. 40 – Planificare

4.4.4.1. Adaug ă planificare

Pentru a adăuga o nouă planificare, se apasa pe butonul “Adăugă planificare”. După
apăsarea acestui buton se deschide pagină pentru adăugarea unei noi planificări a cursului
aferente unui angajat.

58

Fig. 4. 41 – Adauga planificare

După ce au fost completate toate datele aferente unei planificări pentru curs, se apasa
butonul “Salvează datele”.
Datele salvate pot fi vizualizate în lista aferenta cursurilor planificate.

4.4.4.2. Editare planificare

Pentru a edita informațiile aferente unei planificări, se apasa pe butonul “Editează” din
dreptul unei planificări.

59

Fig. 4.42 – Lista cursuri planificate
După apăsarea butonului de “Editează”, se deschide fereastra aferenta planificării unui
curs cu informațiile ce pot fi modificate.
După ce au fost modificate toate informațiile, se apasa butonul “Salvează”, iar datele
modi ficate pot fi vizualizate în cadrul listei de cusuri planificate.
Dacă se dorește ieșirea din ecranul de “Editare” se apasa butonul “Anulează”.

Fig. 4. 43 – Editare planificare

60
4.4.4.3. Ștergere planificare
Pentru a șterge o planificare aferenta unui curs, se bif ează planificare care se dorește a fi
ștearsă, iar după se apasa butonul “Șterge”.

Fig. 4. 44 – Stergere planificare
4.4.5. Statistici
Acest modul este creat cu scopul de a ține o evidentă asupra numărului de angajați per
lună și asupra cursurilor înregistrate pentru fiecare departament în parte.

Fig. 4. 45 – Numarul de angajati per luna

61

Fig. 4. 46 – Numarul de cursuri per departament
Graficul se poate salva atât în format jpeg, cât și în format png, alegând din me niul
acestuia opțiunile “Save a s JPEG” sau “Save a s PNG”.
4.4.6. Contact
In acest modul se poate vizualiza locatia firmei pe harta, dar si date de contact ale
acesteia.

Fig. 4. 47 – Contact

62
5. CONCLUZII, PERSPECTIVE ȘI CONTRIBUȚII

Creșterea continuă a volumului de informații și utilizarea tehnolo giilor moderne necesit ă
acumularea și înțelegerea unui număr tot mai mare de cunoștințe și de informații, de către tot mai
mulți oameni. Tehnicile moderne de învățare, pentru a fi eficiente, trebuie să aibă un anumit grad
de interactivitate cu subiectul uman.
Dezvoltarea explozivă a Internetului și a tehnologiilor Web a creat premisele unor
oportunități și unor noi provocări pentru relațiile dintre oameni. În această nouă economie
digitală, există pericolul ca o instituție să constate că nu poate face față avalanș ei de informații și
că propria rețea Intranet a ajuns la un nivel de saturare, care nu îi mai poate asigura gestionarea
eficientă a datelor. Pentru a rămâne în “business”, o astfel de organizație nu trebuie decât să
implementeze un portal care să îi permit ă optimizarea sigură și scalabila a accesului la
informație, precum și o administrare centralizată a tuturor serviciilor.
Lucrarea de față reprezintă un sistem software pentru managementul resurselor umane.
Cu ajutorul instrumentelor informatice descr ise în capitolul 3 și anume: HTML, CSS,
PHP, Java script și MySQL, am realizat sistemul software propus pentru lucrarea de față.
Scopul lucrării este cel de a descrie procesul de concepere al unei aplicații interactive ce
vine în nevoia necesității personalului din cadrul depratamentului de resurse umane.
Deoarece lucrarea dorită iniția l este una mare și complexă, m i-am prop us ca pentru
lucrarea de diplom ă să dezvolt cele mai importante funcționalități din aplicație, urmând ca după
licența să dezvolt alte funcți onalități.
Contribuțiile aduse în realizarea lucrării sunt:
– Instalarea serverul ui local XAMPP împreună cu PHPMYADMIN pe unitatea pe care
am dezvoltat sistemul software pentru a facilita dezvoltarea rapidă a aplicației.
– Proiecta rea și implementa rea bazei de date “resurse_umane” în PHPMYADMIN;
– Crearea meniuril or specific e aplicației, fiecare d intre ele având comenz i PHP
aplicabile în orice pagină HTML;
– Crearea m odulul de logare;
– Crearea s ecțiun ii de Angajați, ce cuprinde adăugarea unui angajat, ștergerea, editarea
și generarea contractului aferent unui angajat în pdf cu ajutorul bibliotecii fpdf.php;
– Crearea s ecțiun ii de cursuri, ce cuprinde adăugare de cursuri, editarea și ștergerea
unui curs ce pot fi efectuate de către un angajat din companie;
– Crearea s ecțiun ii de planificare cursuri, ce cuprinde adăugarea unei planificări,
editarea și ștergerea acesteia, trebuie ținut cont de faptul că planificarea unui curs în
vederea susținerii cursului pentru un angajat.
– Crearea s ecțiun ii de statistici;
– Crearea formul arelor de adăugare pentru angajat, curs și planificare;

63
– Modificarea modul ui de afișare al diagramelor în JavaScript astfel încât să
corespundă cerințelor.
– Crearea tabele lor de afișare pentru angajați, cursuri și planificarea de cursuri, cu
butoanele de editare și ștergere pentru fiecare secțiune în parte.
În continuare prezint câteva din tre funcționalitățile pe care doresc să le dezvolt și să le
integez în următoarea versiun e de aplicație:
– Logarea în aplicație în funcție de u ser, astfel încât angajatul să își poată verifica
datele pesonale și să își poată planifica cursuri;
– Secțiunea de arhivă, pentru a ține evidența unui istoric referitor la angajații din
companie;
– Pocesul p entru evaluarea pefomantelor angajaților în funcție de pefomantele avute în
anul respectiv.
Sistemul software pentru managementul resurselor umane dntr -o companie este un
software dedicat managementului eficient al resurselor umane care vine în întâmpinare a nevoii
companiilor de a -și optimiza investiția în cea mai importantă resursa, și anume cea umană.

64

BIBLIOGRAFIE

[1] Mariana Marinescu, “Retele de calculatoare”, suport curs, Bucuresti, 2016
[2] http://www.timsoft.ro/ejournal/istoric.html
[3] https://ro.wikipedia.org/wiki/Pagin%C4%83_web
[4] Sabin Buraga – Proiectarea siturilor Web. Design și funcționalitate, Ediția a II -a, Editura
Polirom 2002
[5] https://ro.wikipedia.org/wiki/Server_web
[6] Alexandru Viorel Marinescu, Tehnologii WEB, sup ort curs, Bucuresti, 2015
[7] Mariana Marinescu, “Baze de date”, suport curs, Bucuresti, 2015
[8] Traian Ionescu, Adriana Olteanu, Ana Magdalena ANGHEL, Radu Nicolae Pietraru,
“Realizarea paginilor WEB”, Bucuresti 2011
[10] Luke Welling și Laura Thomson, Dezvoltarea aplicațiilor web cu PHP și MySQL, Editia a
II-a, Editura Teora, 2005
[11] www.w3schools.com
[12] Manualul PHP – http://php.net/manual/ro/index.php
[13] http://dev.mysql.com/doc/refman/4.1/en/history.html
[14] Ma riana Marinescu, “Sisteme informationale si informatice”, suport curs, 2016
[15] http://jdjua.com/uml.htm

65
ANEXE

Anexa 1. Implemetarea modulu lui de Angajati

<?php
session_start();
include('config.php');
?>
<html xmlns="http://www.w3.org/1999/xhtml">
<title>Managementul resurselor umane</title>
<link rel="stylesheet" type="text/css" href="site -assets/screen.css">
<link rel="stylesheet"
href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css">
<script
src="https://ajax.googleapis.c om/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
<script
src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
</head>
<body>
<div id="outer -container">
<div id="header">
<div id="main -logo">
<h1><a href="#">Managementul resurselor umane</a></h1>
</div>
<div id="search -form">
<form action="" method="post">
<div>
<input class="txt" name="search" size="32" maxlength="64"><input
class="btn" type="s ubmit" value="Cauta"></div>
</form>
</div>
<div id="main -menu">
<ul class="links"><li class="first -item enabled -item">

66
<a href="index.html">Home</a>
</li>
<li>
<a href="angajati.php">Angajati</a>
</li>
<li>
<a href="curs.php">Cursuri</a>
</li>
<li>
<a href="planificare.php">Planificare cursuri</a>
</li>
<li>
<a href="statistici.html">Statistici</a>
</li>
<li class="last -item">
<a href="contact.html">Contact</a>
</li>
<li align="right -side"><a href="autentificare.html" align="right –
side">Iesire</a></li>
<style>
a:hover {
background -color: #ddd;
}
ul.links li a:focus, .active {
background -color: #ccc;
}
body {font -family: "Lato", sans -serif;}
</style>
</ul><br class="clear -all"></div>
</div>
<div id="inner -container">

67
<div id="column2">
<h3>Noutati</h3>
<p>
Aceasta platforma este interactiva si ne ajuta la evidenta tuturor
angajatilor din firma.
</p>
<ul class="links"><li class="first -item">
<a href="certificari.html">Certificari</a>
</li>
<li>
<a href="#">Contracte</a>
</li>
<li class="last -item">
<a href="parteneri.html">Parteneri</a>
</li>
</ul>
<h3>Arhiva</h3>
<ul>
<li><a href= "#">Ianuarie</a></li>
<li><a href="#">Februarie</a></li>
<li><a href="#">Martie</a></li>
<li><a href="#">Aprilie</a></li>
<li><a href="#">Mai</a></li>
<li><a href="#">Iunie</a></li>
<li><a href="#">Iulie</a></li>
</ul>
</div>
<div id="column1">
<div id="content1">
<h2>Lista angajati</h2>
<br> <br>

68
<form action="angajati.php" method="get">
<div class="container produse -container -top">
<a type="button" class="btn btn -info" href="angajat.html">Adauga angajat</a>
<input type="submit" class="btn btn -danger" value="Sterge" >
</div>
<div class="container table -responsive produse -container">
<table class="table table -striped ">
<thead>
<tr>
<th></th>
<th>Nume</th>
<th>Prenume</th>
<th>CNP</th >
<th>Functie</th>
<th>Salariu</th>
<th>Data inceperii</th>
<th>Editeaza </th>
</tr>
</thead>
<tbody>
<?php $query_angajati = $conexiune ->query("SELECT date_personale.CNP,
date_personale.nume, date_personale.prenume, contract.functi e_COR,
contract.data_inceperii_contract, contract.salariu FROM date_personale INNER JOIN
contract ON date_personale.CNP=contract.CNP");?>
<?php while ($angajati = $query_angajati ->fetch_assoc()) { ?>
<?php $angajati[] = $angajati;?>
<tr>
<td><input type="checkbox" name="sterge" value="<?php echo
$angajati['CNP'];?>"></td>
<td><?php echo $angajati['nume'];?></td>
<td><?php echo $angajati['prenume'];?></td>
<td><?php echo $angajati['CNP'];?></td>
<td><?php echo $angajati['functie_COR'];?></td>

69
<td><?php echo $angajati['salariu'];?></td>
<td><?php echo $angajati['data_inceperii_contract'];?></td>
<td><a type="button" class="btn -sm btn-warning"
href="update.php?editeaza=<?php echo $angajati['CNP']; ?>" >Editeaza</a></td>
</tr>
<?php } ?>
</tbody>
</table>
</div>
</form>
<style>
table {
display: block;
overflow: scroll;}
</style>
</div>
<div id="site -credits">
© Managementul resurselor umane. Design by Roxana Papuc.
</div>
</body>
<?php
function sterge() {
include( 'config.php');
$sterge_produs = $conexiune ->query("DELETE FROM date_personale WHERE CNP = '".
$_GET['sterge'] ."'");
header('Location:angajati.php');
}
if (isset($_GET['sterge'])) {
sterge();
}
?>
</html>

70
Anexa 2. Modul de adaugare a datelor personale aferente unui angajat

<body>
<br>
<ul class="tab">
<li><a href="#" class="tablinks" onclick="openFisa(event, 'FisaOnBoarding')">Fisa
Onboarding</a></li>
<li><a href="#" class="tablinks" onclick="openFisa(event, 'Informatii
personale')">Informatii personale</a></li>
<li><a href="#" class="tablinks" onclick="openFisa(event, 'Informatii
contractuale')">Informatii contractuale</a></li>
<li><a href="#" class="tablinks" onclick="openFisa(event, 'Genereaza
contract')">Genereaza contr act</a></li>
</ul>
<div id="Informatii personale" class="tabcontent">
<form action="insert.php" method="post">
<h3>Document de identitate</h3>
Tip document: <select name="tip_docc"> <option value="CI">Carte de identitate
<option value="BI">BI <optio n value="pasaport">Pasaport</select><br>
Serie: <input type="text" name="serie"><br>
Numar: <input type="number" name="numar_doc" min="1" max="999999"><br>
Data emiterii: <input type="date" name="data_emiterii" >
<input type="date" id="dt" onchange="mydate1();" hidden/>
<input type="text" id="ndt" onclick="mydate();" hidden /> <br>
<style>
#dt{text -indent: -500px;height:25px; width:200px;}
</style>
Data expirarii: <input type="date" name="data_expirarii" ><br>
Emis de: <input type=" text" name="emis"><br>
Document: <input type="file" name="file_doc"><br><br>
<h3>Date personale</h3>
CNP: <input type="number" name="CNP" min="1" max="2999999999999"><br>
Prenume: <input type="text" name="prenume"><br>

71
Nume: <input type="text" name="nume"><br>
Apelativ: <select name="apelativ"> <option value="Doamna">Doamna <option
value="Domnul">Domnul </select><br>
Sex: <select name="sex"> <option value="Feminin">Feminin <option
value="Masculin">Masculin < /select><br>
Nume anterior: <input type="text" name="nume_ant"><br>
Data nasterii: <input type="date" name="data_nasterii" ><br>
Locul nasterii: <input type="text" name="locul_nasterii"><br>
Nationalitate: <input type="text" n ame="nationalitate"><br>
Cetatenie: <input type="text" name="cetatenie"><br>
Casatorit:
<input type="radio" name="stare_civila" value="Da" align='center -left'/> Da
<input type="radio" name="stare_civila" value="Nu" align='center -left' /> Nu
<br />
<br>
<h3>Adresa</h3>
<h5>Resedinta</h5>
Tara: <select name="tara_resedinta"> <option value="Austria">Austria <option
value="Belgia">Belgia <option value="Bulgaria">Bulgaria <option value="Cipru">Cipru
<option value="Croatia">Croatia <opt ion value="Danemarca">Danemarca <option
value="Estonia">Estonia <option value="Finlnda">Finlnda <option value="Franta">Franta
<option value="Germania">Germania <option value="Grecia">Grecia <option
value="Irlanda">Irlanda <option value="Italia">Italia <op tion value="Letonia">Letonia
<option value="Lituania">Lituania <option value="Luxemburg">Luxemburg <option
value="Malta">Malta <option value="Polonia">Polonia <option
value="Portugalia">Portugalia <option value="Regatul Unit">Regatul Unit <option
value="Re publica Ceha">Republica Ceha <option value="Republica Moldova">Republica
Moldova <option value="Romania">Romania <option value="Slovacia">Slovacia <option
value="Slovenia">Slovenia <option value="Spania">Spania<option value="Suedia">Suedia
<option value="U ngaria">Ungaria</select><br>
Judet/ Sector: <input type="text" name="judet_resedinta"><br>
Localitate: <input type="text" name="localitate_resedinta"><br>
Strada: <input type="text" name="strada_resedinta"><br>
Numar: <input t ype="number" name="numar_resedinta" min="1" max="9999"><br>
Bloc: <input type="text" name="bloc_resedinta"><br>
Scara: <input type="text" name="scara_resedinta"><br>
Apartament: <input type="number" name="apartament_resedinta" min="1" max="999"><br>
<br>

72
<h5>Corespondenta</h5>
Tara: <select name="tara_corespondenta"> <option value="Austria">Austria <option
value="Belgia">Belgia <option value="Bulgaria">Bulgaria <option value="Cipru">Cipru
<option value="Croatia">Croatia <opti on value="Danemarca">Danemarca <option
value="Estonia">Estonia <option value="Finlnda">Finlnda <option value="Franta">Franta
<option value="Germania">Germania <option value="Grecia">Grecia <option
value="Irlanda">Irlanda <option value="Italia">Italia <opt ion value="Letonia">Letonia
<option value="Lituania">Lituania <option value="Luxemburg">Luxemburg <option
value="Malta">Malta <option value="Polonia">Polonia <option
value="Portugalia">Portugalia <option value="Regatul Unit">Regatul Unit <option
value="Rep ublica Ceha">Republica Ceha <option value="Republica Moldova">Republica
Moldova <option value="Romania">Romania <option value="Slovacia">Slovacia <option
value="Slovenia">Slovenia <option value="Spania">Spania<option value="Suedia">Suedia
<option value="Un garia">Ungaria</select><br>
Judet/ Sector: <input type="text" name="judet_corespondenta"><br>
Localitate: <input type="text" name="localitate_corespondenta"><br>
Strada: <input type="text" name="strada_corespondenta"><br>
Numar: <input type="number" name="numar_corespondenta" min="1" max="9999"><br>
Bloc: <input type="text" name="bloc_corespondenta"><br>
Scara: <input type="text" name="scara_corespondenta"><br>
Apartament: <input type="number" name=" apartament_corespondenta" min="1"
max="999"><br>
<br>
<h5>Informatii despre contact</h5>
Adresa de mail personala: <input type="text" name="mail_personal"><br>
Adresa de mail business: <input type="text" name="mail_business"><br>
Primar: <sele ct name="primar">
<option value="Personala">Personala
<option value="Firma">Business
</select><br>
<br>
<h5>Date bancare</h5>
Banca: <input type="text" name="banca"><br>
Sucursala: <input type="text" name="sucursala"><br>
IBAN: <input type="text" name="iban"><br>
<br>
<h5>Informatii despre membru al familiei in caz de urgenta</h5>

73
Relatie: <select name="relatie">
<option value="tata">Tata
<option value="Mama">Mama
<option value="sora">Sora
<option valu e="frate">Frate
<option value="Sot">Sot
<option value="sotie">Sotie
<option value="fiu">Fiu
<option value="fiica">Fiica
</select><br>
Nume: <input type="text" name="nume_membru"><br>
CNP: <input type="number" name="CNP_membru" min="1" max="2999999999999"><br>
Data nasterii: <input type="date" name="data_nasterii_membru" >
<br><br>
<h5>Studii</h5>
Nivel: <select name="nivel_studiu">
<option value="Bacalaureat">Bacalaureat
<option value="Licenta">Licenta
<option value="Master">Master
<option value="Doctorat">Doctorat
</select><br>
Institutie: <input type="text" name="institutie"><br>
Anul obtinerii: <input type="number" name="anul_obtinerii" min="1" max="2017" ><br>
Diploma: <input type="file" name="file_doc1"><br>
<br>
<input type="submit" name="submit1">
</form>
</div>

74
Anexa 3. Modul de implementare al modulului “Cursuri”

<?php
session_start();
include('config.php');
?>
<html >
<head>
……………………
</head>
<body>
<div id="column1">
<div id="content1">
<h2>Cursuri</h2>

<br> <br>

<form action="curs.php" method="get">
<div class="container produse -container -top">
<a type="button" class="btn btn -info" href="cu rs.html">Adauga curs</a>
<input type="submit" class="btn btn -danger" value="Sterge" >
</div>
<br>
<div class="container table -responsive produse -container">
<table class="table table -striped ">
<thead>
<tr>
<th></th>
<th>Curs</th>
<th>Program </th>
<th>Forma cursului</th>

75
<th>Specializare</th>
<th>Numar ore</th>
<th>Editeaza </th>
</tr>
</thead>
<tbody>
<?php $query_curs = $conexiune ->query("SELECT nume_curs, program_training, forma_curs,
domeniu_specializare, nr_ore FROM curs");?>
<?php while ($curs = $query_curs ->fetch_assoc()) { ?>
<?php $curs[] = $curs;?>
<tr>
<td><input type="checkbox" name="sterge" value="<?php echo
$curs['id_curs'];?>"></td>
<td><?php echo $curs['nume_curs'];?></td>
<td><?php echo $curs['program_training'];?></td>
<td><?php echo $curs['forma_curs'];?></td>
<td><?php echo $curs['domeniu_specializare'];?></td>
<td><?php echo $curs['nr_ore'];?></td >
<td><a type="button" class="btn -sm btn-warning"
href="update.php?editeaza=<?php echo $curs['id_curs']; ?>" >Editeaza</a></td>
</tr>
<?php } ?>
</tbody>
</table>
</div>
</form>
<style>
table {
display: block;
overflow: scroll;
}
</style>

76
</div>
<div id="site -credits">
© Managementul resurselor umane. Design by Roxana Papuc.
</div>
</body>
<?php
function sterge() {
include('config.php');
$sterge_produs = $conexiune ->query("DELETE FROM curs WHERE id_curs = '".
$_GET['sterge'] ."'");
header('Location:training.php');
}
if (isset($_GET['sterge'])) {
sterge();
}
?>
</html>

77
Anexa 4. Modul de adaugare a unei planificari pentru curs

……………………………………………………………………………………………………………………………………………………………
<div id="column1">
<div id="content1">
<h2>Adauga planificare</h2>
<form action="adaugare_planificare.php" method="post">
Nume angajat: <br>
<input type="text" name="nume_angajat"><br>
Prenume angajat: <br>
<input type="text" n ame="prenume_angajat"><br>
Denumire curs: <br>
<input type="text" name="denumire_curs_p"><br>
Program de training: <br>
<select name="program_training_p">
<option value="null">Selectati o valoare
<option value="Management academy">Manag ement academy
<option value="Development plan">Development plan
</select><br>
Tipul cursului: <br>
<select name="tip_curs_p">
<option value="null">Selectati o valoare
<option value="Certificare">Certificare
<option value="Workshop" >Workshop
<option value="confeConferintarinta">Conferinta
</select><br>
Domeniu de specializare: <br>
<select name="domeniu_special_p">
<option value="null">Selectati o valoare
<option value="Securitate">Securitate
<option value="Configurare">Configurare

78
<option value="Testare">Testare
<option value="Programare">Programare
<option value="GIS">GIS
<option value="Marketing">Marketing
<option value="Management">Management
<option value="Resurse umane">Re surse umane
</select><br>
Data inceperii: <input type="date" name="data_inceperii_curs" >
<input type="date" id="dt" onchange="mydate1();" hidden/>
<input type="text" id="ndt" onclick="mydate();" hidden /> <br>
Data finala: <input type="date" nam e="data_finala" ><br>
Status:
<select name="status_planificare">
<option value="pending">Pending
<option value="progress">In progress
<option value="Done">Done
<option value="Canceled">Canceled
</select><br>
Contractor:
<input type="text" name="contractor"><br>
Pret (RON):
<input type="number" name="pret" min="1" max="99999"><br>
Anul:
<input type="number" name="an" min="1" max="2016"><br>
Tehnologie: <br>
<input type="text" name="tehnologie"><br><br>
<input type="submit" name="submit4" value = "Salveaza datele">
</form>
</div>
…………………………………………………………………………………………………………………………………………………………… ……………………………………………………….

79
Anexa 5. Modul de implementare a generarii unui contract draf t

<?php
include('fpdf.php');
$con = mysql_connect("localhost", "root", "");
if(!$con){
die("Nu se poate realiza conexiunea: " . mysql_error());
}
mysql_select_db("resurse_umane",$con);
class PDFs extends FPDF {
function Header() {
if ($this ->page == 1)
{
$this->SetFont ('Arial','B',13);
$this->Cell(60);
$this->Cell(40,10,'Contract individual de munca');
$this->Ln(10);
}
}
function Footer() {
$this->SetY(-15);
$this->SetFont('Arial','I',9);
$this->Cell(0,10,'Page '.$this ->PageNo().'/nr_pgs',0,0,'C');
}
}
$pdf=new PDFs();
$pdf->AliasNbPages('nr_pgs');
$pdf->AddPage();
$pdf->SetFont('Arial','',11);
$pdf->Cell(20);

80
$pdf->Cell(10,10,'Incheiat si inregistrat sub nr._____/_________ in registrul general
de evidenta a salar iatilor','C');
$pdf->ln();
$pdf->SetFont('Arial','B',11);
$pdf->Cell(15);
$pdf->Cell(20,10, 'A. Partile contractului:','C');
$pdf->ln();
$pdf->SetFont('Arial','',11);
$pdf->Write(6,'Angajator, persoana juridica, S.C. IT Group Company S.A.,
cu sediul in Bucuresti, str. Ion Paunescu -Paltin, nr. 15, sector 3, cod fiscal
30604857, autorizat sa desfasoare activitati principale avand codul CAEN 6201
(activitate principala) si alte activitati secundare, reprezentata legal prin domnul
Eugen Mihaila in calita te de Director resurse umane.');
$pdf->ln();
$pdf->Cell(15);
$pdf->Cell(20,10, 'si','C');
$pdf->ln();
$pdf->Write(6, 'Salariatul, dl/dna _____________ domiciliat/domiciliata in localitatea
________________, str. __________________, nr. _______, judetul ___ _________
identificata prin cartea de identitate seria ______, nr. __________, eliberata de
_________________, la data de ___________, CNP___________________, autorizatie de
munca/permis de sedere in scop de munca ,am incheiat prezentul contract individual de
munca in urmatoarele conditii asupra carora am convenit:
');
$pdf->ln();
$pdf->SetFont('Arial','B',11);
$pdf->Cell(15);
$pdf->Cell(20,10, 'B. Obiectul contractului: ','C');
$pdf->ln();
$pdf->SetFont('Arial','',11);
$pdf->Write(6,'prestarea unei activitati de catre salariat, in conditiile
stipulate de prezentul contract individual de munca si regulamentul de ordine
interioara in folosul si sub coordonarea angajatorului.');
$pdf->ln();
$pdf->SetFont('Arial','B',11);
$pdf->Cell(15);

81
$pdf->Cell(20, 10, 'C. Durata contractului:','C');
$pdf->ln();
$pdf->SetFont('Arial','',11);
$pdf->Write(6,'_______________, incepand cu data de ___________');
$pdf->ln();
$pdf->SetFont('Arial','B',11);
$pdf->Cell(15);
$pdf->Cell(20,10, 'D. Locul de munca:','C');
$pdf->ln();
$pdf->SetFont('Arial','',11);
$pdf->Write(6,'Activitatea se desfasoara la sediul societati
angajatoare.');
$pdf->ln();
$pdf->SetFont('Arial','B',11);
$pdf->Cell(15);
$pdf->Cell(20,10, 'E. Felul muncii:','C');
$pdf->ln();
$pdf->SetFont('Arial','',11);
$pdf->Write(6,'Functia ____________________ conform Clasificarii
ocupatiilor din Romania.');
$pdf->ln();
$pdf->SetFont('Arial','B',11);
$pdf->Cell(15);
$pdf->Cell(20,10, 'F. Atributiile postului:','C');
$pdf->ln();
$pdf->SetFont ('Arial','',11);
$pdf->Write(6,'Atributiile postului sunt prevazute in fisa postului,
anexa la contractul individual de munca.');
$pdf->ln();
$pdf->SetFont('Arial','B',11);
$pdf->Cell(15);
$pdf->Cell(20,10, 'F1. Criteriile de evaluare a activitatii profesionale a
salariatului:','C');

82
$pdf->ln();
$pdf->SetFont('Arial','',11);
$pdf->Write(6,'a) Indeplinirea cerintelor postului si responsabilitatilor
postului, conform fise de post;');
$pdf->ln();
$pdf->Write(6,'b) Modul de rezolva re a sacinilor de serviciu, incadrarea
rezolvarii sacinilor in gaficul de lucru ;');
$pdf->ln();
$pdf->Write(6,'c) Raspunde solicitarilor in termenele si in conditiile
stabilite;');
$pdf->ln();
$pdf->Write(6,'d) Disciplina in munca: reactia fata de sarcinle de
serviciu, absente nemotivate, intarzieri;');
$pdf->ln();
$pdf->Write(6,'e) Manifesta un comportament adecvat standardelor
profesionale in relatiile cu colegii, clientii si colaboratorii;');
$pdf->ln();
$pdf->Write(6,'f) Respecta regula mentele si normele interne, procesele si
procedurile.');
$pdf->ln();
$pdf->SetFont('Arial','B',11);
$pdf->Cell(15);
$pdf->Cell(20,10, 'G. Conditii de munca:','C');
$pdf->ln();
$pdf->SetFont('Arial','',11);
$pdf->Write(6,'1. Activitatea se desfasoar a in conformitate cu
prevederile Legii nr. 31/1991.');
$pdf->ln();
$pdf->ln();
$pdf->Write(6,'2. Activitatea prestata se desfasoara in conditii
normale/deosebite/speciale de munca, potrivit Legii nr. 263/2010 privind sistemul
unitar de pensii publice , cu modificarile si completarile ulterioare.');
$pdf->ln();
$pdf->SetFont('Arial','B',11);
$pdf->Cell(15);

83
$pdf->Cell(20,10, 'H. Durata muncii:','C');
$pdf->ln();
$pdf->SetFont('Arial','',11);
$pdf->Write(6,'1. O norma intreaga, durata timpului de lucru fiind de ___
ore/zi,___ore/saptamana.');
$pdf->ln();
$pdf->Write(6,'a) Repartizarea programului de lucru se face dupa cum
urmeaza: ___ (ore zi/noapte)');
$pdf->ln();
$pdf->Write(6,'b) Programul de lucru se poate modifica in conditiile
regulamentului intern/contractului colectiv de munca aplicabil.');
$pdf->ln();
$pdf->Write(6,'c) Orele suplimentare pestate in afara pogramului normal
de lucru sau in zilele in care nu se lucreaza oi in zilele de sarbatori legale se
compenseaza cu ore libe re platite in urmatoarele 30 de zile sau, in cazul in care
acest lucu nu este posibil, se platesc cu un spor la salariu, conform contractului
colectiv de munca aplcabil sau Legii nr. 53/2003, Codul muncii.');
$pdf->ln();
$pdf->SetFont('Arial','B',11);
$pdf->Cell(15);
$pdf->Cell(20,10, 'I. Concediul:','C');
$pdf->ln();
$pdf->SetFont('Arial','',11);
$pdf->Write(6,'Durata concediului anual de odihna este de 21 zile
lucratoare.');
$pdf->ln();
$pdf->SetFont('Arial','B',11);
$pdf->Cell(15);
$pdf->Cell(20,10, 'J. Salariul:','C');
$pdf->ln();
$pdf->SetFont('Arial','',11);
$pdf->Write(6,'1. Salariul de baza lunar brut este de ____________
RON.');
$pdf->ln();
$pdf->ln();

84
$pdf->Write(6,'2. Alte elemente constitutive:');
$pdf->ln();
$pdf->Write(6,'a) sporuri _____________');
$pdf->ln();
$pdf->Write(6,'b) indemnizatii ______________');
$pdf->ln();
$pdf->Write(6,'b1)prestații suplimentare in bani______________');
$pdf->ln();
$pdf->Write(6,'b2)modalitatea prestatiilor suplimentare in
natura________________');
$pdf->ln();
$pdf->Write(6,'c) alte adaosuri ______________');
$pdf->ln();
$pdf->ln();
$pdf->Write(6,'3. Orele suplimentare pestate in afara pogramului normal
de lucru sau in zilele in care nu se lucreaza oi in zilele de sarbatori legale se
compenseaza cu ore libere platite in urmatoarele 30 de zile sau, in cazul in care
acest lucu nu este posibil, se platesc cu un spor la salariu, conform contractului
colectiv de munca aplcabil sau Legii nr. 53/2003, Codul muncii.');
$pdf->ln();
$pdf->ln();
$pdf->Write(6,'4. Data/datele la care se plateste salariul este: 15 ale
lunii urmatoare');
$pdf->ln();
$pdf->SetFont('Arial','B',11);
$pdf->Cell(15);
$pdf->Cell(20,10, 'K. Drepturi si obligatii ale partilor privind securitate a si
sanatatea in munca:','C');
$pdf->ln();
$pdf->SetFont('Arial','',11);
$pdf->Write(6,'a) echipament individual de protectie ___ -___');
$pdf->ln();
$pdf->Write(6,'b) echipament individual de lucru ___ -___');
$pdf->ln();

85
$pdf->Write(6,'c) ma teriale igienico -sanitare ___Da___');
$pdf->ln();
$pdf->Write(6,'d) alimentatie de protectie ___ -___');
$pdf->ln();
$pdf->Write(6,'e) alte drepturi si obligatii privind sanatatea si
securitatea in munca ___Da___');
$pdf->ln();
$pdf->SetFont( 'Arial','B',11);
$pdf->Cell(15);
$pdf->Cell(20,10, 'L. Alte clauze:','C');
$pdf->ln();
$pdf->SetFont('Arial','',11);
$pdf->Write(6,'a) Perioada de proba este de 90 zile calendaristice;');
$pdf->ln();
$pdf->Write(6,'b) Perioada de preaviz in cazu l demisiei este de 20 zile
calendaristice, conform Legii nr. 53/2003 – Codul muncii sau contractului colectiv de
munca.');
$pdf->ln();
$pdf->Write(6,'c) Perioada de preaviz in cazul demisiei este de 20 zile
lucratoare, conform Legii nr. 53/2003, Codul muncii, cu modificarile si completarile
ulterioare sau Contractului colectiv de munca aplicabil.');
$pdf->ln();
$pdf->Write(6,'d) In cazul in care salariatul este timis intr -o
deplasare in interes de sevciu, i se vor deconta cheltuielile de: transport, cazare si
diurna.');
$pdf->ln();
$pdf->Write(6,'e) In cazul in care salariatul urmeaza sa -si desfasoare
activitatea in strainatate, informatiilor prevazute la art. 18 alin. (1) din Legea nr.
53/2003 – Codul muncii se vor regasi si in contractul indivi dual de munca.');
$pdf->ln();
$pdf->Write(6,'f) Salariatul este obligat sa nu pesteze, in interes
propriu sau al unui tert, o activitate ce se afla in concurenta cu cea prestata la
angajatorul sau ori sa nu presteze o activitate in favoarea unui tert c are se afla in
relatii de concurenta cu angajatoul sau.');
$pdf->ln();
$pdf->Write(6,'g) Alte clauze.');

86
$pdf->ln();
$pdf->SetFont('Arial','B',11);
$pdf->Cell(15);
$pdf->Cell(20,10, 'M. Drepturi si obligatii generale ale partilor:','C');
$pdf->ln();
$pdf->SetFont('Arial','',11);
$pdf->Write(6,'1. Salariatul are in principal urmatoarele drepturi:');
$pdf->ln();
$pdf->Write(6,'a) Dreptul la acces la formare profesionala.');
$pdf->ln();
$pdf->Write(6,'b) Dreptul la repaos zilnic si saptamanal.');
$pdf->ln();
$pdf->Write(6,'c) Dreptul la concediul de odihna anual.');
$pdf->ln();
$pdf->Write(6,'d) Dreptul la egalitate de sanse si de
tratament.');
$pdf->ln();
$pdf->Write(6,'e) Dreptul la securitate si sanatate in munca .');
$pdf->ln();
$pdf->Write(6,'f) Dreptul la formare profesionala in conditiile
actelor aditionale.');
$pdf->ln();
$pdf->ln();
$pdf->Write(6,'2. Salariatului ii revin, in principal, urmatoarele
obligatii:');
$pdf->ln();
$pdf->Write(6,'a) Obligatia de a realiza norma de munca sau,
dupa caz, de a indeplini atributiile ce ii revin conform fisei postului.');
$pdf->ln();
$pdf->Write(6,'b) Obligatia de a respecta disciplina muncii.');
$pdf->ln();
$pdf->Write(6,'c) Obligatia de fidelitate fata de angajator in
executarea atributiilor de serviciu.');

87
$pdf->ln();
$pdf->Write(6,'d) Obligatia de a respecta masurile de securitate
si sanatate a muncii in unitate.');
$pdf->ln();
$pdf->Write(6,'e) Obligatia de a respecta secre tul de
serviciu.');
$pdf->ln();
$pdf->ln();
$pdf->Write(6,'3. Angajatorul are, in principal, urmatoarele drepturi:');
$pdf->ln();
$pdf->Write(6,'a) Sa dea dispozitii cu caracter obligatoriu
pentru salariat, sub rezerva legalitatii lor.');
$pdf->ln();
$pdf->Write(6,'b) Sa exercite controlul asupra modului de
indeplinire a sarcinilor de serviciu.');
$pdf->ln();
$pdf->Write(6,'c) Sa constate savarsirea abaterilor disciplinare
si sa aplice sanctiunile corespunzatoare, potrivit legii, c ontractului colectiv de
munca aplicabil si regulamentului intern.');
$pdf->ln();
$pdf->Write(6,'d) Sa stabileasca obiectivele de performanta
individuala ale salariatului.');
$pdf->ln();
$pdf->ln();
$pdf->Write(6,'4. Angajatorului ii revin, in principal, urmatoarele
obligatii:');
$pdf->ln();
$pdf->Write(6,'a) Sa inmaneze salariatului un exemplar din
contractul individual de munca, anterior inceperii activitatii.');
$pdf->ln();
$pdf->Write(6,'a1) Sa acorde salariatului toate drepturil e ce
decurg din contractele individuale de munca, din contractul colectiv de munca
aplicabil si din lege. ');
$pdf->ln();
$pdf->Write(6,'b) Sa asigure permanent conditiile termice si
organizatorice avute in vedere la elaborarea normelor de munca si c onditiile
corespunzatoare de munca.');

88
$pdf->ln();
$pdf->Write(6,'c) Sa informeze salariatul asupra conditiilor de
munca si asupra elementelor care privesc desfasurarea relatiilor de munca.');
$pdf->ln();
$pdf->Write(6,'d) Sa elibereze, la cere re, un document care sa
ateste calitatea de salariat a solicitantului, respectiv activitatea desfasurata de
acesta, durata activitatii, salariul, vechimea in munca, n meserie si specialitate.');
$pdf->ln();
$pdf->Write(6,'e) Sa asigure confidentialit atea datelor cu
caracter personal al salariatului.');
$pdf->ln();
$pdf->ln();
$pdf->SetFont('Arial','B',11);
$pdf->Cell(15);
$pdf->Cell(20,10, 'N. Dispozitii finale: ','C');
$pdf->ln();
$pdf->SetFont('Arial','',11);
$pdf->Write(6,'Prevederile prezentului contract individual de munca se
completeaza cu dispozitiile Legii nr. 53/2003, Codul muncii, si al contractului
colectiv de munca aplicabil, incheiat la nivelul angajatorului/grupului de
angajatori/ramuri/national, inregistrat sub nr. _____/___ _____ la Drectia generala de
munca si solidaritate sociala, a Municipiului Bucuresti / Ministerul Muncii si
Solidaritatii Sociale.');
$pdf->ln();
$pdf->ln();
$pdf->Write(6,'Orice modificare privind clauzele contractuale in timpul
executarii contractului individual de munca impune incheierea unui act aditional la
contract, conform dispozitiilor legale, cu exceptia situatiilor in care o asemenea
modificare este prevazuta n mod expres de lege.');
$pdf->ln();
$pdf->ln();
$pdf->Write(6,'Prez entul contract individual de munca sa incheiat in doua
exemplare, cate unul pentru fiecare parte.');
$pdf->ln();
$pdf->ln();
$pdf->SetFont('Arial','B',11);
$pdf->Cell(15);

89
$pdf->Cell(10,6, 'O. Conflictele in legatura cu incheierea, executarea,
modifica rea, suspendarea sau incetarea','C');
$pdf->ln();
$pdf->Cell(10,6, 'prezentului contract individual de munca sunt solutionate de
instanta judecatoreasca competenta','C');
$pdf->ln();
$pdf->Cell(10,6, 'material si teritorial, potrivit legii.','C');
$pdf->ln();
mysql_close($con);
$pdf->Output();
?>

90
Anexa 6. Contractul draft

Contract individual de munca

Incheiat si inregistrat sub nr._____/_________ in registrul general de evidenta a
salariatilor

A. Partile contractului:

Angajator, persoana juridica, S.C. IT Group Company S.A., cu sediul in Bucuresti, str. Ion
Paunescu -Paltin, nr. 15, sector 3, cod fiscal 30604857, autorizat sa desfasoare activitati
principale avand codul CAEN 6201 (activitate principala) si alte activitat i secundare,
reprezentata legal prin domnul Eugen Mihaila in calitate de Director resurse umane.

si

Salariatul, dl/dna _____________ domiciliat/domiciliata in localitatea ________________, str.
__________________, nr. _______, judetul ____________ ident ificata prin cartea de identitate
seria
______, nr. __________, eliberata de _________________, la data de ___________,
CNP___________________, autorizatie de munca/permis de sedere in scop de munca ,
am incheiat prezentul contract individual de munca in urmatoarele conditii asupra
carora am convenit:

B. Obiectul contractului:

prestarea unei activitati de catre salariat, in conditiile stipulate de prezentul contract individual
de munca si regulamentul de ordine interioara in folosul si sub coordonarea angajatorului.

C. Durata contractului:

_______________, incepand cu data de ___________

D. Locul de munca:

Activitatea se desfasoara la sediul societati angajatoare.

E. Felul muncii:

Functia ____________________ conform Clasificarii ocupatiilor din Romania.

F. Atributiile postului:

Atributiile postului sunt prevazute in fisa postului, anexa la contractul individual de munca.

F1. Criteriile de evaluare a activitatii profesionale a salariatul ui:

a) Indeplinirea cerintelor postului si responsabilitatilor postului, conform fise de post;

91
b) Modul de rezolvare a sacinilor de serviciu, incadrarea rezolvarii sacinilor in gaficul de lucru ;
c) Raspunde solicitarilor in termenele si in conditiile stabilite;
d) Disciplina in munca: reactia fata de sarcinle de serviciu, absente nemotivate, intarzieri;
e) Manifesta un comportament adecvat standardelor profesionale in relatiile cu colegii, clientii si
colaboratorii;
f) Respecta regulamentele si normele interne, procesele si procedurile.

Conditii de munca:

1. Activitatea se desfasoara in conformitate cu prevederile Legii nr. 31/1991.

2. Activitatea prestata se desfasoara in conditii normale/deosebite/speciale de munca, potrivit
Legii nr.
63/2010 privind sistemul unitar de pensii publice, cu modificarile si completarile ulterioare.

H. Durata muncii:

1. O norma intreaga, durata timpului de lucru fiind de ___ ore/zi,___ore/saptamana.
a) Repartizarea programului de lucru se face dupa cum urmeaza: ___ (ore zi/noapte)
b) Programul de lucru se poate modifica in conditiile regulamentului intern/contractului
colectiv de munca aplicabil.
c) Orele suplimentare pestate in afara pogramului normal de lucru sau in zilele in care nu se
lucreaza oi in zilele de sarbatori legale se compenseaza cu ore libere platite in urmatoarele 30
de zile sau, in cazul in care acest lucu nu este posibil, se platesc cu un spor la salariu, conform
contractului colectiv de munca aplcabil sau Legii nr. 53/2003, Codul muncii.

I. Concediul:

Durata concediului anual de odihna este de 21 zile lucratoare.

J. Salariul:

1. Salariul de baza lunar brut este de ____________ RON.

2. Alte elemente
constitutive: a)
sporuri
_____________
b) indemnizatii ______________
b1)prestaţii suplimentare in bani______________
b2)modalitatea prestatiilor suplimentare in natura________________
c) alte adaosuri ______________

92
3. Orele suplimentare pestate in afara pogramului normal de lucru sau in zilele in care nu se
lucreaza oi in zilele de sarbatori legale se compenseaza cu ore libere platite in urmatoarele 30
de zile sau, in cazul in care acest lucu nu este posibil, se platesc cu un spor la salariu, conform
contractului colectiv de munca aplcabil sau Legii nr. 53/2003, Codul muncii.

4. Data/datele la care se plateste salariul este: 15 ale lunii urmatoare

K. Drepturi si obligatii ale partilor privind securitatea si sanatatea in mu nca:

echipament individual de protectie ___ -___
echipament individual de lucru ___ -___
materiale igienico -sanitare ___Da___
alimentatie de protectie ___ -___
alte drepturi si obligatii privind sanatatea si securitatea in munca ___Da___

Alte clauze:

a) Perioada de proba este de 90 zile calendaristice;
b) Perioada de preaviz in cazul demisiei este de 20 zile calendaristice, conform Legii nr.
53/2003 – Codul muncii sau contractului colectiv de munca.
c) Perioada de preaviz in cazul demisiei este de 20 zile lucratoare, conform Legii nr. 53/2003,
Codul muncii, cu modificarile si completarile ulterioare sau Contractului colectiv de munca
aplicabil.
d) In cazul in care salariatul este timis intr -o deplasare in interes de sevciu, i se vor deconta
cheltuielile de:
transport, cazare si diurna.
e) In cazul in care salariatul urmeaza sa -si desfasoare activitatea in strainatate, informatiilor
prevazute la art. 18 alin. (1) din Legea nr. 53/2003 – Codul muncii se vor regasi si in contractul
individual de munca.
f) Salariatul este obligat sa nu pesteze, in interes propriu sau al unui tert, o activitate ce se afla
in concurenta cu cea prestata la angajatorul sau ori sa nu presteze o activitate in favoarea unui
tert care se afla in relatii de concurenta cu angajatoul sau.
g) Alte clauze.

M. Drepturi si obligatii generale ale partilor:

1. Salariatul are in principal
urmatoarele drepturi: a) Dreptul la
acces la formare profesionala.
b) Dreptul la repaos zilnic
si saptamanal. c) Dreptul la
concediul de odihna anual.

93
d) Dreptul la egalitate de sanse si
de tratament. e) Dreptul la
securitate si sanatate in munca.
f) Dreptul la formare profesionala in conditiile actelor aditionale.

2. Salariatului ii revin, in principal, urmatoarele obligatii:
a) Obligatia de a realiza norma de munca sau, dupa caz, de a indeplini atributiile ce ii
revin conform fisei postului.
b) Obligatia de a respecta disciplina muncii.
c) Obligatia de fidelitate fata de angajator in executarea atributiilor de serviciu.
d) Obligatia de a respecta masurile de securitate si sanatate a muncii in unitate.
e) Obligatia de a respecta secretul de serviciu.

3. Angajatorul are, in principal, urmatoa rele drepturi:
a) Sa dea dispozitii cu caracter obligatoriu pentru salariat, sub rezerva legalitatii lor.
b) Sa exercite controlul asupra modului de indeplinire a sarcinilor de serviciu.
c) Sa constate savarsirea abaterilor disciplinare si sa aplice sanctiunile
corespunzatoare, potrivit legii, contractului colectiv de munca aplicabil si regulamentului
intern.
d) Sa stabileasca obiectivele de performanta individuala ale salariatului.

4. Angaja torului ii revin, in principal, urmatoarele obligatii:
a) Sa inmaneze salariatului un exemplar din contractul individual de munca, anterior
inceperii activitatii. a1) Sa acorde salariatului toate drepturile ce decurg din contractele
individuale de munca, din contractul colectiv de munca aplicabil si din lege.
b) Sa asigure permanent conditiile termice si organizatorice avute in vedere la elaborarea
normelor de munca si con ditiile corespunzatoare de munca.
c) Sa informeze salariatul asupra conditiilor de munca si asupra elementelor care privesc
desfasurarea relatiilor de munca.
d) Sa elibereze, la cerere, un document care sa ateste calitatea de salariat a solicitantului,
respe ctiv activitatea desfasurata de acesta, durata activitatii, salariul, vechimea in munca, n
meserie si specialitate.
e) Sa asigure confidentialitatea datelor cu caracter personal al salariatului.

N. Dispozitii finale:

Prevederile prezentului contract individual de munca se completeaza cu dispozitiile Legii nr.
53/2003, Codul muncii, si al contractului colectiv de munca aplicabil, incheiat la nivelul
angajatorului/grupului de angajatori/ramuri/national, inregistrat sub nr. _____/________ la
Drectia gene rala de munca si solidaritate sociala, a Municipiului Bucuresti / Ministerul Muncii si

94
Solidaritatii Sociale.

Orice modificare privind clauzele contractuale in timpul executarii contractului individual de
munca impune incheierea unui act aditional la cont ract, conform dispozitiilor legale, cu
exceptia situatiilor in care o asemenea modificare este prevazuta n mod expres de lege.

Prezentul contract individual de munca sa incheiat in doua exemplare, cate unul pentru fiecare
parte.

O. Conflictele in legatura cu incheierea, executarea, modificarea, suspendarea
sau incetarea prezentului contract individual de munca sunt solutionate de instanta
judecatoreasca competenta material si teritorial, potrivit legii.

Similar Posts