Universit a tea din Craio v a [601749]
Universit a tea din Craio v a
F a cul t a tea de Ma tema tic ³i ti inµe ale Na turi i
Master Metode ³i Modele în Inteligenµa
Ar tificial
Lucrare de Diser t a µie
Dezv oltarea unei aplicaµii (in teligen te) p en tru
optimizarea onor rii comenzilor unei companii de
taxi
Îndrum tor ³tiinµic: Absolv en t:
Conf. Univ. Dr. Mirel Co³ulsc hi Mic hael F athi Afana
Craio v a, iulie 2015
Cuprins
1 In tro ducere 5
1.1 In ternetul – o reµea global . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2 Mobilitatea in tegrat . T axiul ca v erig în lanµul transp ortului public . . . . 6
1.2.1 T axi(metrul): etimologie, istorie, utilitate . . . . . . . . . . . . . . . . 7
1.3 R spândirea telefoanelor in teligen te ³i a tabletelor . . . . . . . . . . . . . . . 8
1.3.1 Sisteme de op erare p en tru disp ozitiv e mobile (sau mobile OS) . . . . 9
1.3.2 T ableta – un calculator p ortabil . . . . . . . . . . . . . . . . . . . . . 11
1.4 Utilitatea aplicaµiei . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2 Aplicaµii mobile in teligen te p en tru a comanda un taxi 14
3 T ehnologii utilizate 18
3.1 GIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.2 HTML5 ³i geolo calizarea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.3 CSS3 ³i Design resp onsiv e . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.4 Ja v aScript ³i jQuery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.5 jQuery Mobile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.6 Go ogle Maps ³i LeafLet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.7 Hyp ertext Prepro cessor (PHP) . . . . . . . . . . . . . . . . . . . . . . . . . 30
3.8 OTP ³i mOTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
4 Prezen tarea aplicaµiei Smart taxi 33
4.1 Mo dulul p en tru clien t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
4.2 Mo dulul p en tru ³oferi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
4.3 Mo dulul p en tru disp ecerat . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
4.4 Baza de date . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
4.4.1 Descrierea tab elelor . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
4.5 PHP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
4.6 Securitatea aplicaµiei . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
5 Concluzii 52
Bibliograe 54
List de guri
2.1 Easy T axi Android . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.2 Star T axi iOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
4.1 Fluxul de lucru al aplicaµiei . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
4.2 Mo dulul p en tru clien t p e mai m ulte disp ozitiv e . . . . . . . . . . . . . . . . 35
4.3 Mo dulul p en tru clien t – pasul 1 . . . . . . . . . . . . . . . . . . . . . . . . . 35
4.4 Mo dulul p en tru clien t – pasul 2 . . . . . . . . . . . . . . . . . . . . . . . . . 36
4.5 Mo dulul p en tru clien t – pasul 3 . . . . . . . . . . . . . . . . . . . . . . . . . 36
4.6 Mo dulul p en tru clien t – pasul 4 . . . . . . . . . . . . . . . . . . . . . . . . . 37
4.7 Mo dulul p en tru clien t – pasul 5 . . . . . . . . . . . . . . . . . . . . . . . . . 37
4.8 Diagrama pa³ilor necesari p en tru realizarea unei comenzi . . . . . . . . . . . 38
4.9 Mo dulul p en tru ³oferi p e iPhone . . . . . . . . . . . . . . . . . . . . . . . . . 39
4.10 Mo dulul p en tru ³oferi – preluare comand . . . . . . . . . . . . . . . . . . . 41
4.11 Mo dulul p en tru ³oferi – istoric comenzi . . . . . . . . . . . . . . . . . . . . . 41
4.12 Mo dulul p en tru ³oferi – set ri con t . . . . . . . . . . . . . . . . . . . . . . . . 42
4.13 Mo dulul p en tru disp ecerat – grac cu n um rul de comenzi ale lunii în curs . 43
4.14 Mo dulul p en tru disp ecerat – tab el comenzi . . . . . . . . . . . . . . . . . . . 44
4.15 Mo dulul p en tru disp ecerat p e mai m ulte disp ozitiv e . . . . . . . . . . . . . . 45
4.16 Diagram ER (en titate-relaµie) a bazei de date . . . . . . . . . . . . . . . . . 46
Lista co durilor surs
1 Elemen t HTML5 – <article> . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2 Preluarea co ordonatelor un ui utilizator cu ge olo c ation . . . . . . . . . . . . . 22
3 Exemplu HTML jQuery mobile . . . . . . . . . . . . . . . . . . . . . . . . . 28
4 A³area unei h rµi Go o gle Maps în tr-un div cu L e aet . . . . . . . . . . . . 30
5 Exemplu funcµie PHP7 cu tipuri de date sp ecicate . . . . . . . . . . . . . . 31
6 Rescrierea URL-urilor cu Apac he mo d_rewrite . . . . . . . . . . . . . . . . . 34
7 In terogare Ha v ersine p en tru MySQL . . . . . . . . . . . . . . . . . . . . . . 40
8 Crearea un ui grac cu MorisJS si Ajax . . . . . . . . . . . . . . . . . . . . . 43
9 Fi³ier he ader.php . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Capitolul 1
In tro ducere
1.1 In ternetul – o reµea global
In ternetul este un instrumen t de informare m ultimedia, care tinde s devin univ ersal. În
so cietatea actual , n umit "de com unicare", rolul informaticii se evidenµiaz prin dou pro-
priet µi tehnice ale computerelor: sto carea informaµiei ³i in terconectarea în reµea. In ternetul
este o reµea nonierarhic , f r un cen tru unic, cu organizare fractal . Nu n umai ca organizare
in tern , ci ³i ca dinamic , In ternetul este un fenomen cultural în p ermanen t nego ciere ³i
sc him bare. Este un mediu in teractiv, dialogal, diferenµiindu-se prin aceasta de mediile care
l-au precedat (radioul, televiziunea). In ternetul î³i pune utilizatorii în com unicare instan ta-
nee, în "timp real"; in ternauµii constituie noi rap orturi umane, sp ecice cib erculturii, care
înlo cuie³te com unicarea "faµ -n faµ ".
In ternetul este un mediu transparen t ³i accesibil. Op eraµiile care survin în tre transmiterea
un ui mesa j în reµea ³i primirea r spunsului se realizeaz în tr-o manier insesizabil p en tru
utilizator (ca ³i ³oferul care p oate conduce ma³ina f r s ³tie prea m ulte despre motor ³i
transmisie).
In ternetul tinde s devin un medium univ ersal. P en tru c se în temeiaz p e principiul
informaµiei la scar global , reµeaua ofer servicii div erse: instrumen t de com unicare, de
informare, de difuzare electronic a presei, de g sire a un ui lo c de m unc , de în v µare la
distanµ etc. Ca instrumen t de informare ³i de cultur , In ternetul b eneciaz de hip ertex-
tualitate, ceea ce p ermite trecerea de la un text la altul, de la o imagine la alta. În timp ce
textul r mâne formal înc his, hip ertextul este desc his.
În pro cesul de globalizare a com unic rii, In ternetul fa v orizeaz apropierea din tre p er-
soane ³i p op oare, îns la niv el micro- aceast tehnologie blo c heaz emiµ torii ³i partenerii
com unic rii în solitudine. D. W olton folose³te parado xul "Solitari in teractivi" p en tru a deni
noua condiµie a om ului în cib erspaµiu.1
În tre a v an ta jele In ternetului menµion m:
extensibilitatea: ritm ul de cre³tere foarte rapid;
1W olton, D., Internet et apr è? Une thé orie critique des nouve aux mé dias, 1999 , P aris, Flammarion.
5
Mic hael F athi Afana In tro ducere
accesibilitatea ³i u³urinµa de utilizare;
indep endenµa faµ de distanµ : p ot accesate site-uri oriunde, la tarife lo cale;
p osibilitatea unor aplicaµii în domeniul afacerilor: reµele comerciale, publicitate, trans-
p ort etc.;
³anse egale p en tru toµi furnizorii de informaµii;
siguranµ ³i ecacitate;
lib ertate de informare ³i de com unicare, p osibilit µi de cenzur ³i de con trol limitate.
1.2 Mobilitatea in tegrat . T axiul ca v erig în lanµul trans-
p ortului public
So cietatea actual se confrun t cu noi pro v o c ri: cerinµe crescute faµ de exibilitatea ³i
mobilitatea oamenilor ³i a companiilor, mo dicarea comp ortamen tului de consum ³i con-
³tien tizarea mai ridicat a nev oii de protecµie a mediului. Disp onibilitatea de a utiliza
auto v ehicule electrice p en tru transp ortul urban este mare din partea parcurilor auto urbane,
com unale ³i a altor utilizatori comerciali, de exemplu a celor din domeniul logisticii.
În con textul so cial urban, mo dic rile sun t legate de globalizare ³i de impactul IT, de
urbanizarea rapid , de inec hitatea so cio-demograc , de sustenabilitate etc. Datorit com-
plexit µii p e care o comp ort mobilitatea ³i transp ortul, este necesar o înµelegere "holistic
³i in tegrat ". Urbanizarea este ea îns ³i rezultatul dorinµei de accesibilitate. Cererea p en tru
transp ort este "o cerere deriv at , bazat p e dorinµa de a participa la div erse activit µi".2
Sc him b rile demograce (în structura de v ârst ³i de gen) presupun sc him b ri în serviciile
de mobilitate – o cerere mai mare p en tru servicii con v enabile, de calitate. P e termen mediu,
cererea p en tru mobilitate n u v a sc dea semnicativ, nici în zonele urbane, nici în cele rurale.
V olksw agen Auto v ehicule Comerciale a iniµiat la Hano vra, în septem brie 2014, sub titlul
"Ora³ul in teligen t. In terconectarea ³i divizarea sustenabil a mobilit µii", o zi a viitorului
p e tema conceptelor in teligen te de "trac" ³i "logistic ". Dialogul p en tru mobilitate urban
a dezb tut strategiile viitorului în v ederea redenirii spaµiului complex de viaµ din mediul
urban, p en tru a p ermite mobilitatea individual ecien t , conform cu nev oile ³i resursele.
Metrop olele au sarcina de a dezv olta un managemen t in tegrat al tracului ³i al mobilit µii ³i
de a concep e dezv oltarea structurilor de trac ³i urbanistice existen te. În acest sens trebuie
pus accen t, prin tre altele, p e dezv oltarea unor concepte p en tru o logistic urban funcµional ,
ecien t ³i sustenabil .
Care este rolul taximetriei în acest sistem in tegrat? T axiurile sun t parte a transp ortului
public în com un, iar recomandarea EU public – private Smart Move High L evel Gr oup este
2Th ynell, Marie, "History and geograph y of urban transp ort; some p ersp ectiv es on h uman b eha viour and
the role of infrastructure"
6
Mic hael F athi Afana In tro ducere
aceea de a recunoa³te ³i de a promo v a taximetrul, înc hirierea de ma³ini cu ³ofer, ca un
elemen t v aloros ³i necesar în p oliticile de mobilitate colectiv .3
Datorit exibilit µii lor, care aproap e c o dep ³e³te p e cea a ma³inii p ersonale, taxiurile
con tribuie la în t rirea celorlalate forme de transp ort public, p e care-l complemen teaz cu
serviciile p ersonalizate p e care le ofer 24 de ore din 24, p e tot parcursul an ului. Date
statistice arat c în unele cazuri (noapte, aerop ort, p ersoane cu dizabilit µi, zone rurale
slab p opulate), taxiul r mâne singurul sau, în orice caz, furnizorul preferat de servicii de
mobilitate public .
1.2.1 T axi(metrul): etimologie, istorie, utilitate
T aximetrele au un rol imp ortan t ca alternativ de transp ort în m ulte ora³e. În µ rile dezv ol-
tate, ele tind s e folosite ca substitut p en tru auto v ehiculele p ersonale; alµi pasageri utili-
zeaz serviciul din motiv e de confort sau p en tru c n u doresc s deµin o ma³in . În µ rile
în curs de dezv oltare, taxiurile sun t adesea folosite p en tru a suplimen ta transp ortul public
inadecv at. Spre deosebire de alte auto v ehicule folosite în transp ortul public, precum autobu-
zele sau metroul, care urmeaz zilnic rute prestabilite, ³oferii de taxi î³i planic , la cererea
pasagerului, propriile rute.
Cuv ân tul taxic ab a fost in v en tat în 1907 de c tre american ul Harry Nathaniel Allen, prin
con tragerea expresiei taximeter c abriolet . T aximeter vine din cuv ân tului francez taximètr e ,
format din cuv ân tul taxa "tax " (din Latina mediev al ) ³i mètr e "metru, m sur " (din
grecescul metron). T axi este o abreviere de la taximetru, cu sensul "metru automat p en tru
a înregistra distanµa ³i tariful"4. În român , cuv ân tul este un împrum ut din francez , de aici
forma "taxi" cu accen t p e silaba nal ; accen tuarea p e prima silab este nerecomandat de
normele lim bii române. Meseria de a conduce un taximetru în in teresul clienµilor se n ume³te
taximetrie, iar ³oferul este n umit taximetrist.
La P aris ³i la Londra a fost legiferat, înc din secolul al XVI I-lea, transp ortul de p ersoane
prin înc hirierea de v ehicule (birje). T ranp ortul motorizat a ap rut la P aris în 1899, la Londra
în 1903, iar la New Y ork în 1907, taxiurile americane ind imp ortate din F ranµa de Harry
Nathaniel Allen. Staµia radio, in tro dus în 1940, a fost o in v enµie imp ortan t , al turi de
aparatul de taxat, culoarea galb en ³i desen ul în ³ah de p e u³i.
Un taxi sau un taximetru este un tip de v ehicul p en tru înc hiriere în in teres p ersonal,
folosit de un singur pasager sau de un grup mic de pasageri, cu o destinaµie la comand ,
p en tru transp ort de p ersoane sau de m rfuri. Serviciile de taxi difer de alte mo duri de
transp ort public, ale c ror staµii de urcare ³i de cob orâre sun t determinate de furnizorul de
servicii, n u de c tre pasager. Clien tul hot r ³te destinaµia, lo cul de în tâlnire (dac se face o
comand telefonic ) ³i c hiar traseul; taximetrul p oate staµiona la cererea clien tului. Preµul
c l toriei este determinat de distanµ ³i de ev en tualele staµion ri; absenµa sau funcµionarea
3http://www.iru.org/cms- filesystem- action/mix- publications/0320HLGTaxirecommendations_
web.pdf
4http://en.wikipedia.org/wiki/Taxicab
7
Mic hael F athi Afana In tro ducere
incorect a aparatului de taxat este ilegal în m ulte µ ri. T ransp ortul la comand ³i taxiul
parta jat cu alµi pasageri constituie taxiul hibrid.
Exist patru forme de taxiuri, iden ticate prin termeni u³or diferiµi de la µar la µar :
– tr suri / vago ane Hackney , cunoscute ³i sub n umele de "înc hirieri publice", licenµiate
p en tru a comandate în com unit µi.
– vehicule de închiriat private , cunoscute sub n umele de minicabs sau taxiuri priv ate de
înc hiriat, autorizate n umai p en tru prerezerv are;
– autobuze-taxi (taxibuses) , care op ereaz p e rute prestabilite, caracterizate prin opriri
m ultiple ³i mai m ulµi pasageri indep endenµi;
– limuzine , v ehicule sp ecializate autorizate p en tru funcµionare prin prerezerv are.
În tr-o alt clasicare, taximetrele p ot de urm toarele tipuri:
– taximetr e public e , accesibile oric rei p ersoane;
– taximetr e de tip privat , accesibile doar prin rezerv are;
– taximetr e de tip maxi taxi , folosite de mai m ulte p ersoane în acela³i timp;
– taximetr e de tip limuzin – v ehicule sp eciale, disp onibile doar prin rezerv are.5
De³i tipurile de auto v ehicule ³i meto dele de reglemen tare, anga jare, disp ecerizare ³i ne-
go ciere a pl µii difer semnicativ de la o µar la alta, exist m ulte caracteristici com une. Cu
toate c rolul lor în reµeaua de transp ort (urban) este semnicativ, taxiurile r mân lo cale ca
fo cus, ind licenµiate de autorit µile lo cale, care impun condiµii sp ecice.
1.3 R spândirea telefoanelor in teligen te ³i a tabletelor
F olosirea unor aplicaµii p e smartphone ³i In ternetul mobil p ermite utilizatorilor s b enecieze
rapid de servicii de taxi, s rezerv e direct un taxi, s dimin ueze timpul de a³teptare, iar
companiilor – s -³i ecien tizeze m unca.
Un smartphone ("telefon in teligen t") este un telefon mobil m ultimedia m ultifuncµional,
conectat la o reµea GSM sau UMTS. Dispune de o tastatur de mici dimensiuni ³i are
un ecran sensibil la atingere de tip touchscr e en6. Prim ul smartphone a fost Simon (de
la IBM), prezen tat în 1992. Mo delul Blac kBerry , lansat în 2001, a p ermis p en tru prima
dat com unicaµii prin e-mail mobile prin reµeaua GSM. Multe telefoane in teligen te in tro duse
dup 2010 utilizeaz tehnologia 4G. Cele mai noi telefoane sun t c hiar mai rapide, folosind
o v ersiune cunoscut sub n umele de 4G L TE. În 2007, Apple Inc. a in tro dus iPhone, un
5http://en.wikipedia.org/wiki/Taxicab
6http://ro.wikipedia.org/wiki/Smartphone
8
Mic hael F athi Afana In tro ducere
telefon in teligen t cu in terfaµ m ulti-touc h, cu ecran tactil mare – un ul din tre cele mai v andute
smartphone -uri la ora actual . T elefoanele in teligen te din ultima generaµie in tegreaz o mare
v arietate de utiliz ri cotidiene. De exemplu, cardurile de credit ³i pl µile mobile în n umerar.7
T elefon ul in teligen t funcµioneaz ca un computer mobil miniaturizat ³i mijlo ce³te utili-
zatorului m ultiplele p osibilit µi ale w ebului:
trimiterea ³i primirea de email-uri, texte, fotograi ³i mesa je m ultimedia;
înregistrarea de con tacte;
funcµii de calculator, de pl µi, alarm , camer foto ³i video;
na vigare p e In ternet, na vigare GPS;
media pla y er, jo curi.
1.3.1 Sisteme de op erare p en tru disp ozitiv e mobile (sau mobile OS)
Un sistem de op erare p en tru disp ozitiv e mobile este un sistem de op erare p en tru smartphone –
uri, tablete, PD A-uri sau alte disp ozitiv e mobile. De³i unele calculatoare (cum ar laptopul)
sun t mobile, sistemele de op erare folosite de obicei p e ele n u sun t considerate mobile, deoarece
au fost concepute iniµial p en tru computere desktop staµionare, care n u au a vut nev oie de
caracteristici mobile sp ecice.8
Smartphone -urile lucreaz sub un an umit sistem de op erare, adesea com un în tre dis-
p ozitiv e, p en tru a asigura compatibilitatea. Tizen, de exemplu, este un sistem de op erare
bazat p e Lin ux p en tru o serie de disp ozitiv e, inclusiv smartphone -uri, tablete, televizoare
in teligen te, laptop-uri ³i aparate de fotograat in teligen te. P e ma joritatea smartphone -urilor
ruleaz iOS de la Apple sau Android de la Go ogle, iar altele folosesc Windo ws Phone sau
Blac kBerry OS. P en tru a l rgi p osibilit µile, se p ot programa ³i instala aplicaµii suplimen-
tare, n umite în general app (plural: apps ). Utilizatorii p ot obµine mai m ulte programe care
îi p ot a juta s completeze sarcini sp eciale, de la Apple App Store ³i Go ogle Pla y . Aplicaµiile
apar p e ecran ul principal al telefon ului ³i se p ot organiza în foldere.
Aplicaµiile mobile p ot s e:
nativ e – se p ot instala ³i sun t dezv oltate sp ecial p en tru un sistem de op erare. Utilizato-
rii care folosesc aceste programe trebuie s le descarce prin in termediul un ui magazin
online (sp ecicat an terior), gratuit sau în sc him bul unei sume de bani. Aplicaµiile
mobile nativ e p ot accesa toate funcµiile disp ozitivului p e care sun t instalate: reµea
(In ternet), accelerometru, camer foto, GPS, senzor de ampren t , lista de con tacte,
notic ri etc. P en tru an umite funcµii, utilizatorul p ermite aplicaµiei s le foloseasc .
7http://en.wikipedia.org/wiki/Smartphone
8http://en.wikipedia.org/wiki/Mobile_operating_system
9
Mic hael F athi Afana In tro ducere
w eb – n u sun t aplicaµii reale, sun t de fapt site-uri care arat ³i par a aplicaµii nativ e.
A cestea sun t înc rcate de un br owser ³i de obicei sun t dezv oltate în HTML5 ³i CSS3
cu a jutorul unei platforme de dezv oltare mobil (jQuery Mobile, Zepto, Senc ha T ouc h,
T rigger.io, AppF ramew ork etc.). O aplicaµie w eb se dezv olt mai u³or ³i cost mai
puµin; aceasta de obicei n u depinde de sistem ul de op erare al utilizatorului. Utilizatorul
p oate s adauge aplicaµia p e ecran ul principal prin in termediul un ui marca j ( b o okmark );
v a a³at o imagine prin in termediul un ui tag HTML , la fel ca la o aplicaµie nativ :
<!–exemplu iconi¸ t ˘a aplica¸ tie mobil ˘a iOS–>
<linkrel="apple-touch-icon" sizes="76×76"
href="cale/ios-76×76.png" /> ,!
P e disp ozitiv ele care ruleaz p e iOS, dup ce a fost ad ugat p e ecran ul principal,
aplicaµia este a³at p e tot ecran ul (f r bara p en tru adrese sau na vigaµie), prin in ter-
mediul un ui tag HTML :
<metaname="apple-mobile-web-app-capable" content="yes" />
hibride – sun t aplicaµii nativ e în care se încarc aplicaµii w eb prin in termediul unei clase
W ebView . Aplicaµia w eb are acces la toate funcµiile telefon ului (dac are p ermisiunile
necesare). Cele mai p opulare platforme de dezv oltare p en tru crearea unei aplicaµii de
acest tip sun t: Phonegap9, Ionic10, Mobile Angular UI11, In tel XDK12, App celerator
Titanium13³i Senc ha T ouc h.14
Aplicaµiile nativ e se încarc rep ede, au mi³c ri uen te ³i p ot s e folosite f r o conexiune
la In ternet, dar exist ³i deza v an ta je: spaµiul o cupat dup instalare, se p ot decompila u³or,
co dul surs ind vizibil, se p ot descop eri probleme de securitate ³i sun t greu de în treµin ut.
Din aceste motiv e, m ulµi dezv oltatori trec de la aplic aµii native la aplic aµii hibride . Cele
mai folosite aplicaµii mobile hibride sun t: HomeBank (ING)15, Instagram16, Ev ernote17,
Link edin18etc.
Android (op erating system), bazat p e Lin ux Kernel, a dev enit cea mai bine v ândut
platform smartphone . Este o platform op en-source fondat în o ctom brie 2003 ³i susµin ut
de Go ogle împreun cu marii dezv oltatori de hardw are ³i soft w are (In tel, HTC, ARM, Mo-
torola ³i Samsung). Suita soft w are inclus în telefon const în in tegrarea unor aplicaµii de
la Go ogle, cum ar h rµi, calendare, Gmail ³i un bro wser w eb HTML complet (Chrome).
9http://phonegap.com/
10http://ionicframework.com/
11https://angular- ui.github.io/
12https://software.intel.com/en- us/intel- xdk
13http://www.appcelerator.com/
14http://www.sencha.com/products/touch/
15https://www.ing.ro/ingb/persoane- fizice/e- banking/mobile- banking.html
16https://instagram.com
17https://evernote.com/products/
18https://www.linkedin.com/mobile
10
Mic hael F athi Afana In tro ducere
iOS este un sistem de op erare p en tru disp ozitiv e mobile dezv oltat de Apple Inc. ³i dis-
tribuit exclusiv p en tru Apple hardw are. Prim ul disp ozitiv care a utilizat iOS a fost iPhone
(2007), un ul din tre primele telefoane mobile in teligen te cu o in terfaµ m ulti-touc h. A fost
remarcat datorit utiliz rii un ui ecran tactil mare, p en tru accesarea direct cu degetul, ca
mijlo c principal de in teracµiune, în lo cul un ui st ylus sau a tastaturii, tipice p en tru smar-
tphone -urile an terioare momen tului resp ectiv.19
Windo ws Phone de la Microsoft este, ca r spândire, al treilea tip de sistem de op erare
instalat p e telefoanele in teligen te dup Android ³i iOS; este o surs înc his , deosebit de
Android, care este un soft w are gratuit ³i desc his.20
1.3.2 T ableta – un calculator p ortabil
Un "calculator tablet " / "tablet " / "tablet PC" (din engl. tablet c omputer sau tablet PC )
este un tip de calculator p ortabil, cu un ecran touchscr e en , circuitele ³i bateria grupate în tr-o
singur unitate, dev enit p osibil prin con tin ua miniaturizare a comp onen telor electronice ³i
p e baza unor in v enµii tehnologice. Mai mari decât smartphone -urile, tabletele sun t dotate cu
senzori, inclusiv camere video, microfon ³i accelerometru, iar ecran ul touchscr e en folose³te
degetul sau un st ylus p en tru substituirea utiliz rii mouse-ului ³i a tastaturii. P ot include
butoane p en tru v olum ul difuzorului ³i p en tru com unicaµiile de reµea.
Prima tablet mo dern , iP ad, a fost lansat în 2010. V olum ul v ânz rilor de tablete
Android a fost de 121 de milioane în 2013 ³i, în ciuda scepticism ului iniµial, tabletele au
cunoscut o cre³tere rapid în p opularitate ³i în ubicuitate; în 2015, piaµa tabletelor este
estimat s a jung la 149 de milioane de unit µi, cu o v aloare de 49 de miliarde de dolari.
Exemple de tablete: Apple iP ad, Microsoft T ablet PC, tablete de la Samsung, Nokia, Son y ,
ASUS etc.
T abletele p ot clasicate în funcµie de prezenµa zic a tastaturii. Slates (v arian ta
standard) ³i b o oklets n u au o tastatur zic ³i, de obicei, efectueaz in tro ducerea textului
prin tr-o tastatur virtual proiectat p e un ecran compatibil cu touchscr e en -ul. Cele hibride
³i c onvertibile au tastaturi zice, dar au disp onibile ³i tastaturi virtuale.21
Calculatorul tablet are urm toarele caracteristici:
este un calculator relativ mic, mobil (conectabil f r r la reµeaua de telefonie mobil
celular GSM), p ortabil, din clasa de disp ozitiv e In ternet mobile (Mobile In ternet
Devices, MID);
are ecran relativ mare, tactil, color (rezoluµie bun , asem n toare cu cea a noteb o ok-
urilor);
19http://en.wikipedia.org/wiki/Smartphone
20http://en.wikipedia.org/wiki/Mobile_operating_system
21http://en.wikipedia.org/wiki/Tablet_computer
11
Mic hael F athi Afana In tro ducere
n u dispune de tastatur zic , dar p oate a³a p e ecran o tastatur virtual sau i se
p oate ata³a o tastatur separat ;
n u dispune de disc dur ³i nici de unitate de CD / D VD / Blu-ra y; dispune de obicei
de o memorie in tern de tip ash;
conectivitate f r r la In ternet prin Wi-Fi (WLAN), GSM (telefonie mobil celular )
sau UMTS. Unele tablete folosesc tehnologia 4G ³i conectivitate prin cablu la un ruter
In ternet. A cces deplin la In ternet;
unele tablete sun t PC-uri în miniatur , care folosesc Windo ws sau Unix. A cest tip
constructiv de PC se n ume³te "PC tablet ";
unele tablete ofer acces standard la sistem ul de op erare ³i la tot soft w are-ul instalat,
la fel ca la un PC obi³n uit;
p osibilit µi restrânse de conectare prin r la div erse aparate / disp ozitiv e suplimen tare,
prin in termediul p orturilor USB, HDMI, miniUSB;
unele mo dele dispun de una sau c hiar dou camere de luat v ederi, cu rezoluµii în tre 0.3
³i 8.0 Mega pixeli;
ca surs de energie, tabletele folosesc acum ulatoare de mare capacitate (3200-9000
mAh), cu un timp de înc rcare asem n tor celui de la telefoanele mobile;
tot hardw are-ul calculatorului este construit ³i in tegrat în spatele ecran ului (asem n –
tor cu calculatoarele p ersonale de tip all-in-one);
grosime acceptabil (mai mic de 10 milimetri) ³i o greutate mic (în tre 350 si 600 de
grame).22
Dac iniµial erau axate p e conµin utul online, dezv oltarea ulterioar a pro cesoarelor ³i
îm bun t µirea tehnologiilor au adus tabletelor comp etenµe ce p ermit o funcµionalitate div er-
sicat :
vizualizarea ³i editarea do cumen telor de orice tip;
înregistrarea ³i redarea de conµin ut m ultimedia HD;
lectura de c rµi electronice în orice format;
instalarea de aplicaµii noi;
accesul în reµeaua In ternet prin conexiuni f r r;
rularea de jo curi, de la cele mai simple pân la jo curile 3D;
22http://ro.wikipedia.org/wiki/Calculator_tablet%C4%83
12
Mic hael F athi Afana In tro ducere
instalarea un ui n um r redus de disp ozitiv e externe;
com unicarea prin in termediul reµelei in ternet.23
Se estimeaz c , în viitor, n um rul tabletelor PC v a cre³te ³i c v or orien tate c tre
necesit µile cotidiene ale utilizatorului, p trunzând ³i în mediile didactice ³i profesionale.
1.4 Utilitatea aplicaµiei
Proiectul nostru, Dezvoltar e a unei aplic aµii (inteligente) p entru optimizar e a onor rii c omen-
zilor unei c omp anii de taxi , p e care l-am n umit Smart taxi , este disp onibil p e mobil ³i
desktop, este recomandabil pasagerilor, ³oferilor ³i companiilor de taxi in teresate s -³i mini-
mizeze costurile (consum ul de carburanµi, anga jaµi necesari ³i timp), ca ³i riscul de p oluare.
F olosind aceast aplicaµie, un taximetrist v a iden tica pasagerii mai rep ede, iar clienµii v or
g si un taxi m ult mai u³or ³i mai rapid.
23http://ro.wikipedia.org/wiki/Calculator_tablet%C4%83
13
Capitolul 2
Aplicaµii mobile in teligen te p en tru a
comanda un taxi
Nev oia unor astfel de aplicaµii, cu m ultitudinea de b enecii p e care le aduc, determin
asimilarea lor rapid , iar prin îm bun t µiri p erio dice se p streaz con tactul p ermanen t cu
solicit rile utilizatorilor.
Easy T axi1este cea mai desc rcat aplicaµie din lume, tradus în 11 din tre cele mai
folosite lim bi; este o aplicaµie E-hailing p e telefon ul mobil, disp onibil în 30 de µ ri. Aplicaµia
le p ermite utilizatorilor s rezerv e un taxi ³i s -l urm reasc în timp real.
Figura 2.1: Easy T axi Android
1http://www.easytaxi.com
14
Mic hael F athi Afana Aplicaµii mobile in teligen te p en tru a comanda un taxi
Easy T axi a fost îninµat în 2011 în Brazilia ³i s-a extins la niv el global, acop erind
reµeaua a 30 de µ ri ³i mai m ult de 420 de ora³e. A fost susµin ut de Ro c k et In ternet ³i de
alµi in v estitori, inclusiv Millicon ³i iMENA. Conceptul original a a vut în v edere prioritizarea
pieµelor cu dicult µi ³i inecienµe în mobilitatea urban ; acest concept st la baza strategiilor
de expansiune în µ rile cu economie emergen t din America de Sud, Africa ³i Asia. În
decem brie 2014, compania a rap ortat un n um r de 17 milioane de utilizatori ³i p este 400.000
de ³oferi de taxi aliaµi la o reµea Easy T axi.2
Aplicaµia p oate folosit p e Android, iOS, Windo ws Phone ³i Blac kb erry 10, în toate lo-
caµiile în care op ereaz taxiurile partenere. În ce priv e³te tr s turile ³i funcµionarea, buton ul
"Request T axi" declan³eaz scanerul, care iden tic taxiurile partenere p e o an umit raz a
lo caµiei. oferii de taxi din apropiere, dotaµi cu smartphone -uri, p ot accepta cursa ori o p ot
refuza. Prim ul ³ofer din zona µin t v a repartizat clien tului, care prime³te o conrmare cu
n umele ³i ma³ina conduc torului auto, cu n um rul de înmatriculare, fotograa ³i n um rul
celularului s u. Aplicaµia p ermite utilizatorului s urm reasc conduc torul auto în timp
real, folosind harta inclus . Se p ot salv a adresele preferate ³i se p oate v erica istoricul cursei.
V ersiunea p en tru ³ofer a aplicaµiei este disp onibil n umai p e disp ozitiv e Android. P e lâng
acceptarea cursei, ³oferul p oate trimite pasagerului alerte de sosire ³i notic ri de îm barcare.
oferii p ot suna pasagerii ³i p ot folosi sup ortul de na vigare inclus, e cu Go ogle Na vigation,
e cu W aze. Aplicaµia p ermite caracteristici sp ecice ec rei µ ri, cum ar "A erop ort taxi"
sau "Exces de baga je" ³i ofer soluµii de plat f r n umerar.3
Compania ofer soluµii ETPro, concepute p en tru baruri, hoteluri ³i unit µi cu un des-
ktop ec hiv alen t aplicaµiei mobile; prin ETPro p ot rezerv a pân la 5 pasageri, n umai dup
înregistrarea con tului. Include ³i o soluµie care p ermite plata prin in termediul aplicaµiei:
facturarea ³i con trolul c heltuielilor de taxi lunare, reducând pân la 40% costul taxiurilor
p en tru companie.
T axiZapp Dispatc h4este un sistem de onorare a comenzilor de taxi bazat p e In ternet,
p en tru acele companii de taxi ³i de minicab care doresc s in tro duc un sistem de exp ediere
³i care v or s se îndep rteze de sistemele "pix ³i hârtie" sau de trimitere prin radio.5P en tru
cine are p osibilitatea de a p orni un computer ³i de a utiliza un mouse, acest sistem este
preferabil. T oate elemen tele de baz necesare în tr-un sistem de exp ediere sun t disp onibile
în tr-un singur pac het. Stabilirea preµurilor este simpl – pl tiµi p er ³ofer, p e lun .
Clev er T axi6, aplicaµie p en tru mobil, lansat în 4 o ctom brie 2012, prin in termediul c –
reia se p oate comanda cel mai apropiat taxi din doar câtev a clic k-uri. În 9 august 2014,
o dat cu actualizarea aplicaµiei Clev er T axi, se p oate pl ti con tra v aloarea cursei direct cu
telefon ul mobil, prin SMS (doar p en tru clienµii Orange) sau folosind cardul bancar. Clev er
T axi este prima ³i singura aplicaµie de comand a un ui taxi din România ce p ermite utiliza-
2http://en.wikipedia.org/wiki/Easy_Taxi
3Ibidem
4http://www.taxizapp.com
5http://www.taxizapp.com
6http://www.clevertaxi.com
15
Mic hael F athi Afana Aplicaµii mobile in teligen te p en tru a comanda un taxi
torilor selectarea companiilor de taxi preferate ³i transmiterea unei comenzi c tre mai m ulte
companii în acela³i timp; începând din luna august 2014 p ermite ³i plata curselor direct
din aplicaµie prin SMS sau prin card bancar. Aplicaµia este complet funcµional în 10 ora³e
mari din România (Bucure³ti, Cluj, Ia³i, Târgu Mure³, Bra³o v, Ploie³ti, Galaµi, Sibiu, Târgu
Neamµ ³i Roman) ³i în ³ase orase imp ortan te din Ungaria, ind lider de piaµ în România
cu cele mai m ulte comenzi pro cesate: p este 10.000.000.7
"P erturbare constructiv " este sin tagma p e care T an GrabT axi8o folose³te p en tru a
descrie activitatea companiei din Kuala Lumpur – exploatarea platformei, a otei, a normelor
existen te. P e de alt parte, utilizarea Ub er9a autoturismelor p ersonale este o strategie
disruptiv mai p erturbatoare .
Dezv oltat de c tre o ec hip de români, Star T axi este o aplicaµie in teligen t p e mobil,
care îi aduce utilizatorului taxiul direct de p e smartphone ³i ofer gratuit In ternet în ma³ini.
Utilizatorul comand un taxi direct de p e telefon ul mobil in teligen t, v ede cine r spunde la
comand ³i alege în tre ³oferii de taxi disp onibili. De asemenea, p oate citi comen tariile ³i
opiniile celorlalµi utilizatori despre resp ectivul ³ofer. În plus, clien tul p oate pl ti tot prin
in termediul aplicaµiei direct din con tul bancar ³i, b on us, b eneciaz de acces gratuit la
In ternet WiFi p e tot parcursul c l toriei cu taxiul.
T raseul unei comenzi este urm torul:
aplicaµia detecteaz automat (prin GPS) lo caµia utilizatorului;
acesta conrm adresa ³i trimite comanda;
aplicaµia transmite cererea c tre taxiurile lib ere din zon ;
taxiul cel mai apropiat prime³te comanda înain tea altora;
³oferul care accept comanda a junge la clien t;
utilizatorul p oate l sa comen tarii despre cursa efectuat ³i despre ³ofer; el prime³te
un con t de conectare la In ternetul din taxi ³i p oate folosi gratuit In ternetul mobil în
timpul cursei.10
Aplicaµia este disp onibil p e smartphone -urile Android ³i iOS din 2012; se adresa, în
prima faz , unei baze de date de 200 de taximetri³ti, la care se estima c se v or ad uga
lunar p este 150 de noi ³oferi de taxi. P en tru ³oferii de taxi, aplicaµia este preinstalat p e un
smartphone p e care ³oferul îl are la disp oziµie gratuit p e toat p erioada con tractual . Piaµa
a impus un ritm de dezv oltare alert, a³a încât în n umai 4 luni, în 2013, aplicaµia a a juns s
e implemen tat în Bucure³ti, Bra³o v, Timi³oara ³i Ia³i.
7https://www.clevertaxi.com/ro/
8http://grabtaxi.com
9https://www.uber.com
10http://www.startaxiapp.com/
16
Mic hael F athi Afana Aplicaµii mobile in teligen te p en tru a comanda un taxi
Exist câtev a a v an ta je concrete, care s-ar putea rezuma la: acces rapid la un sistem
in teligen t direct de p e smartphone , comand rapid , excluderea timpului mort de a³teptare
la telefon a r spunsului un ui disp ecer clasic, vizualizarea prolului ³oferului înain te de a
accepta cursa ³i p osibilitatea de a comen ta ³i de a acorda un rating ³oferului, astfel încât ³i
alµi clienµi s e informaµi, accesul gratuit la In ternet WiFi p e toata durata cursei.11
Figura 2.2: Star T axi iOS
T axi Managemen t System este o aplicaµie adresat rmelor de taxi, care funcµioneaz
ca un disp ecerat taxi online, oferind p osibilitatea de a primi comenzi telefonice sau online
direct de p e telefoanele mobile (Android, iOS, Windo ws Mobile).12Benecii:
cre³terea n um rului de comenzi prin oferirea unei mo dalit µi simple de comand ;
reducerea p ersonalului din disp ecerat prin pro cesarea automat a comenzilor;
pro cesarea un ui n um r mare de comenzi în in terv alele aglomerate;
con trol deplin al activit µii disp eceratului;
rap oarte detaliate legate de activitatea disp ecerilor / taximetri³tilor / clienµilor.
11http://economie.hotnews.ro/stiri- it- 14210132- aplicatia- mobile- star- taxi- patru- luni- patru- orase.
htm
12https://www.telekom.ro/business/taxi- management- system/
17
Capitolul 3
T ehnologii utilizate
3.1 GIS
GIS este acronim ul de la Ge o gr aphic Information System (Sistem Informatic Geograc –
uneori tradus în forma SIG în lim ba român ). A cest sistem este utilizat p en tru a crea,
sto ca, analiza ³i prelucra informaµii distribuite spaµial prin tr-un pro ces computerizat.1
T ehnologia GIS p oate utilizat în div erse domenii ³tiinµice cum ar : managemen tul
resurselor, studii de impact asupra mediului, cartograe, planicarea rutelor.
Sp ecic un ui GIS este mo dul de organizare a informaµiei gestionate. Exist dou tipuri
de informaµie: una grac , ce indic repartiµia spaµial a elemen telor studiate ³i alta sub
form de baz de date, p en tru a sto ca atributele aso ciate acestor elemen te (de exemplu,
p en tru o ³osea – lungimea ei, l µimea, n um rul b enzilor, materialul de construcµie etc.).
Informaµia grac este de dou feluri: r aster sau ve ctorial . Graca raster este o mo dali-
tate de reprezen tare a imaginilor în aplicaµii soft w are sub form de matrice de pixeli, în timp
ce graca v ectorial este o meto d de reprezen tare a imaginilor cu a jutorul unor primitiv e
geometrice (puncte, segmen te, p oligoane), caracterizate de ecuaµii matematice. Sp ecic
sistemelor GIS este aso cierea un ui sistem de co ordonate geograce matricii de pixeli (la
imaginile raster) sau v ectorilor. Pro cedeul p oart n umele de ge or efer enµier e . Astfel, un ui
obiect (reprezen tat e prin tr-o imagine, e prin tr-un v ector) îi este aso ciat o p oziµie unic
în sistem ul informatic corespunz tor p oziµiei geograce din lumea real . Datorit informa-
µiilor aso ciate gracii, Sistemele Informatice Geograce b eneciaz de toate op ortunit µile
de in terogare p e care le ofer sistemele mo derne de baze de date, ³i în plus, p ot oferi u³or
analize orien tate p e an umite zone geograce – a³a n umitele h rµi tematice.
Un exemplu com un de Sistem Informatic Geograc îl reprezen t sistemele de na vigaµie.
Harta rutier în form v ectorial este georeferenµiat astfel încât sistem ul de p oziµionare
global ( Glob al Positioning System – GPS) s p oat indica p oziµia exact a auto v ehiculului.
Planicarea rutei este în fapt o hart tematic obµin ut în urma unei in terog ri spaµiale
(c utarea distanµei celei mai scurte în tre dou puncte) com binat cu o in terogare a bazei de
1http://www.esri.com/what- is- gis
18
Mic hael F athi Afana T ehnologii utilizate
date aso ciate drum urilor din hart , astfel încât s e resp ectate o serie de condiµii (limit ri
de vitez , gabarit, sensuri de circulaµie, in terdicµii etc.).
Datorit impactului p ozitiv, sistemele soft w are GIS s-au dezv oltat foarte m ult. Exist
p e piaµ un n um r foarte mare de pro duse, atât ale dezv oltatorilor consacraµi (ESRI2, In ter-
graph3, Auto desk4, MapInfo5etc.), dar ³i de tip op en sour c e (Grass GIS6, Quan tum GIS7,
GVSIG8, Op enJump9etc.).
Una din meto dele utilizate p en tru a crea o hart se n ume³te digitizare. Digitizarea
este pro cesul prin care, p e baza unei h rµi, sun t create obiecte geograce sp ecice zonei
reprezen tate, obµinându-se astfel h rµi digitale simplicate. Digitizarea p oate realizat cu
a jutorul tabletelor digitizoare sau direct p e ecran.
Aplicaµiile de tip GIS se împart în trei mari categorii: aplicaµii GIS de sine st t toare
(op ensource sau n u), aplicaµii GIS dezv oltate p en tru disp ozitiv ele mobile ³i, cele mai des
r spândite, aplicaµiile GIS W eb. Datorit ev oluµiei exp onenµiale a In ternetului, a mo dului
simplu ³i util în care se p ot vizualiza an umite date spaµiale, utilizatori p ot crea h rµi tematice,
p ot face in terog ri ³i analize spaµiale, indiferen t de lo cul unde s-ar aa; W eb GIS a dev enit
un instrumen t foarte r spândit, care ne a jut în viaµa cotidian .
În tr-un sistem W eb GIS, utilizatorul are la disp oziµie tehnologii ce p ermit a³area h rµilor
în bro wser: animation, zo om in, zo om out, p an etc.
3.2 HTML5 ³i geolo calizarea
Lim ba jul univ ersal folosit de W orld Wide W eb este HTML (engl. Hyp ertext Markup Lan-
guage); este un mo d de înregistrare a do cumen telor de tip hip ertext sub form de ³iere de
tip text.
HTML prezin t sin taxa do cumen tului ³i dene³te complexul a³a-ziselor "elemen te de
parcare", care n u sun t prezen te p e monitorul utilizatorului, dar denesc mo dul de prezen tare
a informaµiilor.
Standardul HTML a fost propus în 1990, de c tre Tim Berners-Lee10de la Cen trul
Europ ean de Cercet ri A tomice (CERN) din Elv eµia, iar prim ul serv er WWW a fost pus în
funcµiune în cen trul CERN în mai 1991. În primii ani de construire a sistem ului WWW,
do cumen tele de tip hip ertext erau destul de simple. În parte, acest lucru se datora folosirii
bro wserelor de tip text (Lynx).
2http://www.esri.com
3http://www.intergraph.com
4http://www.autodesk.com/
5http://www.mapinfo.com
6http://grass.osgeo.org
7http://www.qgis.org/en/site/
8http://www.gvsig.com
9http://www.openjump.org
10http://www.w3.org/People/Berners- Lee/
19
Mic hael F athi Afana T ehnologii utilizate
Do cumen tele HTML erau prezen tate sub form de text scris în mo d cursiv, iar cuvin tele
care reprezen tau un hip erlink erau evidenµiate cu caractere b oldate.
Rolul de co ordonator al dezv olt rii lim ba jului HTML îl îndepline³te W ord Wide W eb
Consortium, prescurtat W3C (h ttp://www.w3c.org). Din consorµiu fac parte organizaµii
pro duc toare de programe legate de WWW, Microsoft, Macromedia, A dob e.
Un ul din tre scopurile consorµiului W3C este uniformizarea mo durilor de formatare a
do cumen telor de c tre bro wserele diferiµilor pro duc tori ( cr oss br owser c omp atiblity ). Un ul
din rezultatele eforturilor depuse a fost adoptarea standardului a³a-ziselor pagini de stil în
cascad (CSS).
A cest lim ba j este în tr-o p ermanen t dezv oltare, ceea ce putem observ a prin in tro ducerea
unei noi v ersiuni, HTML5 , care aduce noi standarde, noi elemen te ³i desc hide o nou er
p en tru dezv oltatorii de site-uri, oferindu-le mai m ult exibilitate. Se p ot crea site-uri ³i
aplicaµii m ult mai in teractiv e ³i mai in teresan te.
Prin tre elemen te noi aduse de HTML5 se reg sesc elemen te structurale precum: <he a-
der> , <fo oter> , <c anvas> , <vide o> , <audio> , cu rolul de a înlo cui folosirea tehnologiei
A dob e Flash p en tru animaµii sau p en tru ad ugarea de sunete.
Cele mai imp ortan te elemen tele structurale noi sun t:
<header> – conµine informaµii in tro ductiv e p en tru o pagin . P oate include sigla site-
ului si alte elemen te de început (<h1>,<h2>…<h6>) sau p oate inclus în elemen tul
<article> ;
<na v> – conµine una sau mai m ulte leg turi de na vigaµie care redirecµioneaz utili-
zatorul spre o alt pagin . De exemplu, meniul principal sau un form ular de c utare;
<article> – conµine un elemen t cu conµin ut distinct ³i indep enden t, care se p oate
extrage din pagin ³i se p oate folosi ca un elemen t de RSS. De exemplu, o p ostare p e
un blog, un video, o ³tire sau orice alt fel de conµin ut indep enden t;
<section> – separ zone de conµin ut distincte ale paginii sau ale un ui elemen t (de
exemplu, un articol);
<fo oter> – conµine informaµii despre autor, drepturi de autor sau leg turi spre pagini
aso ciate.
Alte elemen te ap rute în HTML5 sun t: aside , audio , b di , c ommand , data , datalist , details ,
gc aption , gur e , keygen , mark , meter , output , sour c e , summary , time , tr ack , vide o ³i wbr .
La elemen tul input din tr-un form ular au ap rut v alori noi p en tru atributul typ e : date , time ,
email , url , se ar ch , numb er , r ange , tel ³i c olor ; câmpurile sun t v alidate automat de bro wser.11
11http://ro.wikipedia.org/wiki/HTML5#Markup
20
Mic hael F athi Afana T ehnologii utilizate
Co d sursa 1 Elemen t HTML5 – <article>
<article>
<header>
<h2>Postare blog </h2>
</header>
<p>Aenean elementum dui et quam ultricies, eget tristique justo
tincidunt. Pellentesque ultrices quam nec ligula vulputate, a
blandit dui vulputate. Quisque tristique rhoncus tortor,
vehicula feugiat tellus vestibulum sed. </p>,!
,!
,!
<section>
<h3>Comentarii </h3>
<article>
<p>Ut eleifend mi vel leo euismod, porttitor dapibus justo
ultricies. </p> ,!
<footer>
<p>Ad˘augat de Popescu Ion </p>
</footer>
</article>
</section>
<footer>
<p>
Ad˘augat la <timedatetime="2015-06-15 12:00" >15 Iunie </time> de
Administrator. ,!
</p>
</footer>
</article>
În aplicaµia Smart taxi este folosit elemen tul <nav> p en tru meniul principal, aat în
partea de sus a aplicaµiei p en tru clien t. De asemenea, este folosit în partea de disp ecerat
împreun cu JavaScript p en tru a desena gracul in teractiv de p e prima pagin p e un elemen t
<svg> .
Geolo calizare
HTML5 p ermite preluarea lo caµiei utilizatorului (latitudinea ³i longitudinea) de c tre o
pagin w eb cu a jutorulul funcµiei Ja v aScript ge olo c ation12, doar dup ce utilizatorul ³i-a
dat acordul p en tru preluarea acesteia. Dup preluarea lo caµiei, aceasta p oate folosit
p en tru a c uta în baza de date obiecte apropiate de utilizator sau s i se a³eze lo caµia p e
o hart .
O dat c hemat funcµia ge olo c ation p en tru a prelua lo caµia, este a³at un mesa j de c tre
bro wser prin care utilizatorul este în trebat dac p ermite preluarea lo caµiei; acesta p oate
s aleag dac dore³te sau n u ³i, dac vrea, s salv eze aceast decizie. Nu exist nicio
p osibilitate ca lo caµia utilizatorului s e preluat f r acordul acestuia.
12https://developer.mozilla.org/en- US/docs/Web/API/Geolocation
21
Mic hael F athi Afana T ehnologii utilizate
Co d sursa 2 Preluarea co ordonatelor un ui utilizator cu ge olo c ation
//codul va fi apelat dup ˘a încarcarea paginii
$(function (){
//se verfic ˘a dac˘a func¸ tia de localizare exist ˘a
if(navigator.geolocation) {
//va fi chemat ˘a func¸ tia afisare_locatie
//dup˘a ce au fost preluate datele de pozi¸ tionare
navigator.geolocation.getCurrentPosition(afisare_locatie);
}else{
alert("Func¸ tia de geolocalizare nu este disponibil ˘a");
}
});
//afi¸ sare loca¸ tie
function afisare_locatie(pos){
alert("Latitudine: " + pos.coords.latitude + " / "
"Longitudine: " + pos.coords.longitude);
}
P arametrul funcµiei getCurr entPosition este funcµia care v a ap elat cu un parametru ce
conµine datele de lo calizare, data ³i ora obµinerii acestora. P arametrul conµine urm toarele
date:
c o or ds.latitude – latitudinea;
c o or ds.longitude – longitudinea;
c o or ds.ac cur acy – acurateµea în metri a lo caliz rii;
c o or ds.sp e e d – viteza de deplasare în metri/secund , opµional;
c o or ds.altitude – altitudinea în metri, opµional.
P en tru sistemele desktop, unde n u este disp onibil un semnal GPS , lo caµia p oate preluat
în funcµie de ip-ul utilizatorului; aceasta se limiteaz doar la preluarea ora³ului utilizatorului
³i p oate s returneze o lo caµie gre³it .
În cazul în care utilizatorul este conectat prin WiFI , lo caµia este preluat în funcµie de
reµelele WiFI disp onibile în jurul utilizatorului. La ora actual exist o baz de date v ast ,
cu o m ultitudine de reµele wi ³i lo calizarea lor apro ximativ . A ceste date sun t colecµionate
e de p e telefoanele mobile, care transmit reµelele wi din jurul utilizatorului sau cu a jutorul
ma³inii Go ogle Street View. A curateµea acestor meto de este mai mare decât cea care folose³te
IP , a v ând o acurateµe pân la 1000M.
P en tru sistemele mobile (telefoane mobile ³i tablete), lo caµia este preluat prin GPS ,
dac este disp onibil. Glob al Positioning System sau Sistemul glob al de p oziµionar e este un
sistem de radio-na vigaµie ³i folose³te sateliµi ca punct de referinµ p en tru a calcula p oziµia
utilizatorului, cu o acurateµe de domeniul metrilor. P e baza principiului TO A ( Time of
22
Mic hael F athi Afana T ehnologii utilizate
A rrival ), dup recepµionarea semnalului de la telefon de c tre minim 4 sateliµi se calculeaz
longitudinea, latitudinea ³i altitudinea în funcµie de timpul de transmisie al mesa jelor13.
Sistem ul se n ume³te NA VST AR GPS ( Navigation Satel lite Timing and R anging Glob al Po-
sitioning System ) ³i a fost dezv oltat de Ministerul Ap r rii al SUA, ind oferit gratuit p en tru
uz civil.
3.3 CSS3 ³i Design resp onsiv e
A dministrarea conµin utului un ui site complex este o pro v o care ma jor . În grija w ebmaster-
ului in tr atât conµin utul diferitelor pagini, forma atr g toare a prezen t rii, cât ³i co eziunea
stilurilor tuturor do cumen telor care compun resp ectivul site. În cazul în care la el lucreaz
o ec hip de programatori W eb, precizarea clar ³i resp ectarea cu stricteµe a regulilor de
formatare a do cumen telor este o condiµie esenµial a reu³itei.
Creatorii lim ba jului HTML au propus o soluµie de separare a conµin utului ³i a structurii
do cumen tului de mo dul lui de formatare. A cµiunile în treprinse în acest sens de c tre W orld
Wide W eb Consortium au condus la apariµia un ui nou standard – foile de stil în cascad
(CSS)14, care p ermit autorilor paginilor w eb s anexeze descrierea stilului de prezen tare la
structura do cumen telor (de exemplu, cele scrise în lim ba jul HTML).
O caracteristic imp ortan t a standardului CSS este caracterul s u univ ersal, luându-se
în considerare diferite platforme de lucru. A cest standard p ermite, în tre altele, descrierea
formatului p en tru do cumen tele prezen tate în mo d con tin uu (de exemplu, cele a³ate p e ecra-
n ul monitorului), a do cumen telor paginate (de exemplu, impriman tele), precum ³i descrierea
in terfeµei destinate p ersoanelor nev z toare (formatul p en tru terminalul Braille) ³i formatul
de sunet destinat aparatelor de sin tetizare a lim ba jului, care p ermit citirea do cumen telor.
F oile de stil în cascad , den umite ³i stiluri, constituie pilonii HTML-ului dinamic (Dy-
namic HTML). T ermen ul desemneaz tehnicile de reacµie dinamic p en tru programele de
na vigare, în strâns leg tur cu ev enimen tele care au lo c p e pagina clien tului ³i mo dicarea
conµin utului ³i/sau a formatului do cumen tului a³at.
Dezv oltarea meto delor de marcare a hip ertextului a condus la faptul c , în prezen t, pa-
ginile W eb p ot concura în tre ele atât prin conµin utul de informaµii ³i u³urinµa na vig rii, cât
³i prin mo dicarea dinamic a stilului de prezen tare, precum ³i a p osibilit µilor de adaptare
a conµin utului ³i a formatului paginilor la gusturile ³i nev oile utilizatorului – adic la "p er-
sonalizare". În practic , stilurile p ermit formatarea extins a unor fragmen te de do cumen t
marcate de tag-uri HTML, iar prin denirea claselor de stiluri aso ciate ec rui tag, se p ot
realiza grupuri de pagini care î³i sc him b formatarea în mo d concomiten t.
Prin tre a v an ta jele folositii stilurilor CSS putem menµiona:
p osibilitatea in tro ducerii unei foi de stil în tr-un ³ier indep enden t ³i utilizarea ulte-
rioar a deniµiilor în mai m ulte do cumen te HTML, ceea ce conduce la o formatare
13http://www.mio.com/technology- gps- work.htm
14http://www.w3.org/Style/CSS/
23
Mic hael F athi Afana T ehnologii utilizate
similar a paginilor resp ectiv e;
l rgirea (faµ de elemen tele indicatoare ale lim ba jului HTML) p osibilit µilor de forma-
tare ³i de p oziµionare a textului, a gracii etc.;
accelerarea lucrului în ceea ce priv e³te formatarea do cumen telor ³i a site-urilor W eb,
precum ³i construcµia u³oar ³i mo dicarea foilor de stiluri p en tru do cumen te;
p osibilitatea utiliz rii com une a foilor de stiluri în cascad cu lim ba jul Ja v aScript, în
scopul obµinerii de efecte dinamice p e paginile de W eb;
adaptarea formelor de prezen tare la p osibilit µile diferitelor platforme: ecran ul com-
puterului, palm top-ului, impriman ta, sistem ul de redare p en tru nev z tori etc.
Ca deza v an ta j, trebuie menµionat faptul c ele n u sun t in terpretate în totalitate de c tre
toate bro wserele.
CSS3 este ultima v ersiune de CSS; este o extensie a CSS 2.1, care aduce noi funcµiona-
lit µi p en tru selectarea elemen telor, manipularea grac a elemen telor, animaµii, fon turi ³i
Me dia Query (reguli CSS în funcµie de rezoluµia utilizatorului).15
Selectarea elemen telor – iniµial, CSS p ermitea selectarea un ui elemen t cu a jutorul
tipului, clasei sau id-ului. CSS3 aduce meto de noi de a selecta elemen te. Prin tre
acestea g sim:
Pseudo clase – ne p ermit s select m elemen te în funcµie de p oziµia lor în co d.
* X Y:nth-child(Z) – v a selecta toate elemen tele Y care sun t al Z-lea elemen t al
p rin telui X;
* X:rst-child – v a selecta prim ul elemen t descenden t direct al lui X;
* X:last-child – v a selecta ultim ul elemen t descenden t direct al lui X;
* X:not(Y) – v a selecta elemen tele lui X cu excepµia elemen telor care se p ot
selecta cu Y.
Pseudo elemen te – ne p ermit s ad ug m conµin ut dinamic dup sau înain te de
elemen te, cu a jutorul pseudo elemen telor ::b efor e ³i ::after . Exemplu:
p:after {
content:"Acest con¸ tinut va fi ad ˘augat dupa orice
paragraf"; ,!
display:block;
}
R GBA – funcµioneaz la fel ca R GB, a v ând un parametru în plus, Alpha (opacitate).
P arametrul Alpha p oate a v ea v aloarea 0 (complet transparen t), 0.5 (opac), 1 (opac
complet) sau orice v aloare din in terv alul (0,1). Exemplu:
15http://www.w3.org/Style/CSS/Test/
24
Mic hael F athi Afana T ehnologii utilizate
p{
background-color :rgba(0,0,0,0.5);
display:block;
}
Colµuri rotunde ³i um bre – putem ad uga colµuri rotunde sau um bre f r s folo-
sim imagini sau alte elemen te h tml. P en tru colµuri rotunde se folose³te proprietatea
b or der-r adius cu v aloarea în pixeli a rotunjirii (se sp ecic la fel ca la p adding sau
mar gin ). P en tru um bre se folose³te proprietatea b ox-shadow , la care se sp ecic : de-
calarea orizon tal , decalarea v ertical , estomparea, distanµa de r spândire ³i culoarea.
Exemplu:
div{
border-radius: 10px;
box-shadow: 5px 5px 2px 0 rgba(0,0,0,0.5);
}
Design resp onsiv e
În trecut site-urile erau construite a v ând o l µime x , p en tru ca toµi utilizatorii s aib o
exp erienµ similar . A ceast meto d n u era optim , ma joritatea utilizatorilor cu rezoluµii
mari sau cu ecrane de tip wide-scr e en r mâneau cu m ult spaµiu p e lateralele site-ului. P e
disp ozitiv ele mobile, de obicei, informaµiile n u erau a³ate corect, erau greu de vizualizat,
ind necesar zo om sau scr ol l . Nev oia de a crea o in terfaµ u³or de utilizat a dev enit o
problem ma jor p en tru dezv oltatorii w eb.
T ermen ul R esp onsive Design a fost in tro dus de c tre Ethan Marcotte în 201016; acesta
presupune ca site-ul w eb s se adapteze p en tru disp ozitivul utilizatorului (desktop, laptop,
telefon mobil, tableta etc.), f r a nev oie s se creeze mai m ulte v ersiuni ale site-ului, îm-
bun t µind accesiblitatea, utilitatea ³i calitatea site-ului. F olosind acest concept, utilizatorul
v a g si site-ul simplu, pl cut ³i u³or de utilizat. Principalele calit µi ale un ui site resp onsiv e
sun t:
abloane uide – presupun folosirea unit µilor relativ e ³i a pro cen telor, eliminând di-
mensiunile xe. Elemen tele HTML ale site-ului se mo dic în funcµie de rezoluµia
disp ozitivului utilizatorului;
Imagini exibile – l µimea ³i în lµimea imaginilor se mo dic în funcµie de dimensiu-
nile elemen tului HTML p rin te. Redimensionarea se p oate face prin CSS sau prin
in termediul mai m ultor p oze cu dimensiuni diferite.
Me dia Queries – se p ot atribui propriet µi CSS în funcµie de rezoluµie.
16Prim ul articol despre design resp onsiv e http://alistapart.com/article/responsive- web- design
25
Mic hael F athi Afana T ehnologii utilizate
P en tru a u³ura m unca un ui dezv oltator w eb se folosesc platforme de dezv oltare (framew ork-
uri) CSS ca Bo otstrap17, Zurb18, Sk eleton19etc. A cestea vin cu elemen te predenite în func-
µie de rezoluµia utilizatorului. Aplicaµia Smart taxi foloseste Bo otstrap 3 p en tru partea de
clien t ³i p en tru partea de disp ecerat.
Bo otstrap 3 este o platform de dezv oltare CSS ³i Ja v aScript gratuit p en tru a crea
site-uri resp onsiv e, a v ând o v ast colecµie de clase CSS ³i comp onen te predenite, care p ot
folosite u³or, aplicând clasa un ui elemen t HTML. Platforma de dezv oltare are ³i o stilizare
predenit p en tru tab ele, imagini, mesa je de alert , butoane, form ulare, na vigaµie, panouri,
etc. Exemplul de mai jos v a a³a trei coloane în linie, dac acesta este accesat p e un
disp ozitiv de tip desktop (rezoluµie mare); ³i p en tru accesarea de p e mobil (rezoluµie mic )
v a a³a trei coloane una sub alta.
<divclass="row" >
<divclass="col-xs-12 col-md-4" >Coloana 1 </div>
<divclass="col-xs-12 col-md-4" >Coloana 2 </div>
<divclass="col-xs-12 col-md-4" >Coloana 3 </div>
</div>
3.4 Ja v aScript ³i jQuery
Ja v aScript este un lim ba j de programare ce p ermite s ad ug m animaµii, in teractivitate ³i
efecte vizuale dinamice la o pagin w eb.
Ja v aScript face paginile w eb s e m ult mai in teractiv e, utilizatorul primind un r spuns
instan t la div ersele acµiuni p e care le p oate efectua p e o pagin w eb. De exemplu, când
comanda utilizatorului a fost preluat , acestuia i se v a a³a instan t indicativul taxiului ³i
timpul în care v a a junge. Ja v aScript p oate pro duce mesa j de eroare imediat dup trimiterea
un ui form ular în care câmpurile obligatorii n u sun t completate.
Ja v aScript p ermite crearea unor in terfeµe distractiv e, dinamice, in teractiv e. De exemplu,
cu Ja v aScript putem transforma o pagin static de imagini în miniatur în tr-un slidesho w
animat sau se p ot ad uga elemen te utile, cum ar p op-up , care ofer informaµii suplimen-
tare sau s organiz m conµin utul în tab-uri . T oate aceste funcµii ( p op over , mo dal , tab etc.)
sun t disp onibile în platforma de dezv oltare Bo otstrap, neind necesar scrierea unei funcµii
separate p en tru a le creea.
Firma Netscap e Comm unication Corp oration a luat parte activ la dinamica W eb-ului;
dup construirea bro wserului Netsc ap e navigator , distribuit în mo d gratuit p en tru uz p erso-
nal, a construit lim ba jul den umit LiveScript , care trebuia s p ermit transformarea do cu-
men telor statice în do cumen te in teractiv e. În acela³i timp, inginerii rmei Sun Microsystems
17http://getbootstrap.com/
18http://zurb.com/
19http://getskeleton.com/
26
Mic hael F athi Afana T ehnologii utilizate
au elab orat lim ba jul Java . În urma înµelegerii din tre cele dou rme, a ap rut în 1995 v ersiu-
nea 1.0 a lim ba jului Ja v aScript – un lim ba j de programare orien tat p e obiect, indep enden t
de sistem ul op eraµional folsit în calculatorul dat. A ceasta înseamn c execuµia ³ierului ar
trebui s e p osibil indiferen t de mediul sub care ruleaz bro wserul, sub Windo ws, Lin ux,
UNIX sau Mac OS, iar rezultatul acµiunii este iden tic în toate cazurile en umerate. Punctul
forte al lim ba jului Ja v aScript este faptul c este un lim ba j in terpretat, deoarece in terpretorul
se a în in teriorul bro wserului, acµiunea scripturilor depinzând n umai de tipul ³i v ersiunea
bro wserului.
F olosirea lim ba jului de programare JavaScript este dicil ³i se comp ort diferit în funcµie
de bro wser-ul folosit de utilizator. A ceste probleme sun t rezolv ate de jQuery , o platform de
dezv oltare Ja v aScript gratuit , care simplic selectarea elemen telor, tra v ersarea arb orelui
DOM în HTML, animaµiile ³i in teracµiunile de tip Ajax. Cele mai imp ortan te a v an ta je
p en tru jQuery sun t:
F uncµionalit µi de baz puternice – ne p ermite selectarea un uia sau mai m ultor elemen te
HTML (dup id, clas , tip, etc.), s sc him b m asp ectul acestui elemen t (dimensiuni,
culoare de fundal ³i alte propriet µi CSS), s sc him b m conµin utul elemen tului ³i s
ad ug m animaµii;
Extinderea funcµionalit µii prin plugin -uri. P en tru ca jQuery s aib dimensiuni mici
³i s se încarce mai rep ede, acesta vine doar cu funcµii de baz , p ermiµând ad ugarea
de funcµii noi (extensii) în tr-un mo d simplu ³i bine do cumen tat;
Preluarea datelor far a reînc rca pagina (refresh) – pro cedeu cunoscut ca AJAX –
Async hronous Ja v aScript and XML p ermite preluarea datelor de la serv er sub
format HTML , XML sau JSON prin tr-o cerere POST sau GET .
3.5 jQuery Mobile
jQuery Mobile este o platform conceput p en tru a simplica ³i a scurta timpul necesar
dezv olt rii unei aplicaµii mobile prin in tegrarea tehnologiilor HTML5, CSS3, jQuery ³i jQuery
UI în tr-o singur platform u³or de organizat ³i de în treµin ut. Platforma este compatibil cu
ma joritatea sistemelor mobile (iOS, Android, Blac kb erry , Sym bian, Windo ws Mobile, Nokia
Belle P alm W ebOS, Op era Mini, FireF o x mobile etc.) ³i cu sistemele desktop. Cele mai
imp ortan te caracteristici ale acestei platforme sun t:
Na vigaµie Ajax ³i animaµie la sc him barea paginii;
Comp onen te predenite: iconiµe, liste, pagini, ferestre de dialog, form ulare etc.;
Structura HTML simpl , u³or de dezv oltat;
Compatibilitate extins ³i dimensiuni reduse p en tru un timp mai bun de înc rcare.
27
Mic hael F athi Afana T ehnologii utilizate
jQuery Mobile se folose³te de atributul data al elemen telor HTML p en tru a iniµializa
automat div erse comp onen te predenite. Instalarea acestuia p e o pagin w eb este foarte
simpl . Dup ce au fost înc rcate în <he ader> ³ierele CSS ³i Ja v aScript jQuery Mobile,
putem crea cu u³urinµ o aplicaµie demo care p ermite utilizatorului s na vigheze în tre dou
pagini.
Co d sursa 3 Exemplu HTML jQuery mobile
<divdata-role="page" id="unu" >
<divdata-role="header" >
<h1>Logo </h1>
</div>
<divdata-role="content" >
<p>Titlu prima pagin ˘a</p>
<p>Con¸ tinut pagin ˘a… <ahref="#doi" >vezi pagina 2 </a></p>
</div>
<divdata-role="footer" >
<h4>Footer </h4>
</div>
</div>
<divdata-role="page" id="doi" >
<divdata-role="header" >
<h1>Logo </h1>
</div>
<divdata-role="content" >
<p>Titlu a doua pagin ˘a</p>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. </p>
<p><ahref="#unu" >Inapoi la prima pagin ˘a</a></p>
</div>
<divdata-role="footer" >
<h4>Footer </h4>
</div>
</div>
3.6 Go ogle Maps ³i LeafLet
Go ogle Maps a fost in tro dus de c tre Go ogle în februarie 200520, rev oluµionând mo dul în
care h rµile de p e paginile w eb funcµioneaz , l sând utilizatorul s trag de hart p en tru a
na viga – o funcµionalitate nou la acea vreme. Soluµiile p en tru a³area h rµii erau scump e ³i
necesitau serv ere sp eciale. Go ogle Maps a fost iniµial dezv oltat de c tre doi fraµi danezi, Lars
³i Jens Rasm ussen; ace³tia au fondat compania Where 2 T ec hnologies, o companie dedicat
furniz rii de soluµii de cartograere. Compania a fost ac hiziµionat de Go ogle în o ctom brie
2004, iar cei doi fraµi au creat ap oi Go ogle Maps.
Înain te de a exista un API public, unii dezv oltatori w eb ³i-au dat seama cum s utilizeze
Go ogle Maps f r autorizaµie p en tru a include h rµile p e propriile site-uri w eb. A cest lucru
20http://googleblog.blogspot.ro/2005/02/mapping- your- way.html
28
Mic hael F athi Afana T ehnologii utilizate
a condus Go ogle la concluzia c un API public este necesar ³i a fost lansat în iunie 2005.
În timpul conferinµei Go ogle I/O din mai 2009 a fost an unµat v ersiunea 3 a Go ogle
Maps API.21În mai 2010, în timpul conferinµei Go ogle I/O aceasta a fost lansat ca v ersiune
stabil , ren unµându-se la v ersiunea Go ogle Maps V2.
Dinamicitatea h rµilor de la Go ogle Maps presupune conlucrarea tehnologiilor HTML,
CSS ³i Ja v aScript. Harta este alc tuit din mai m ulte imagini de 256x256p x, care sun t
înc rcate p e fundal cu a jutorul tehnologiei Ajax ³i ap oi in tro duse în tr-un <div> în pagina
HTML. P e m sur ce na vig m p e hart , API-ul trimite informaµii prin Ajax cu privire la
noile co ordonate ³i la niv elul de zo om ³i încarc imagini noi.
API-ul const în tr-un ³ier Ja v aScript ce conµine clase cu meto de ³i propriet µi ce p ot
manipulate de c tre dezv oltatorul w eb.
Go ogle Maps folose³te sistem ul de co ordonate Ge o detic System 84 (W GS84) , care este
folosit de asemenea de Glob al Positioning System (GPS) . În România sistem ul ocial de co or-
donate este Ster e o gr ac 1970 (Ster e o 70) ³i se p oate transforma în W GS84 prin in termediul
unei transform ri Helmert cu 7 parametri.22
În aplicaµie sun t folosite urm toarele funcµii de la Go o gle Maps API W eb Servic es :
Go ogle Maps Geo co der – transform o adres p o³tal (de exemplu, "Strada Calea
Bucure³ti, Blo c M9A") în co ordonate (latitudine 44.318990, longitudine 23.803773).
De asemenea, exist ³i pro cedeul de geo co dare in v ers , transformând co ordonatele
geograce primite de la utilizator prin GPS în tr-o adres p o³tal ;
Go ogle Maps Directions – calculeaz ruta în tre dou lo caµii, adrese p o³tale sau
co ordonate, putând sp ecica meto da de deplasare (ma³in , p e jos sau cu bicicleta).
Leaet23este o platform de dezv oltare Ja v aScript p en tru h rµi in teractiv e, care ofer o
in teracµiune foarte bun cu orice disp ozitiv mobil. Fiind conceput s e simplu, p erforman t ³i
u³or de utilizat, ofer sup ort p en tru disp ozitiv e desktop ³i mobile, folosind HTML5 ³i CSS3.
A ceasta este folosit de foarte m ulte site-uri p opulare: Flic kr24, F oursquare25, Pin terest26,
Craiglist27etc.
Dezv oltarea unei aplicaµii cu h rµi (W ebGIS) este simpl , folosind LeafLet, care vine doar
cu funcµiile de baz (înc rcare de h rµi, mark ere, desenare, ev enimen te etc.), dezv oltatorii
a v ând p osibilitatea s descarce extensii LeafLet p en tru adaptarea platformei la site-ul w eb.
LeafLet ne p ermite s înc rc m h rµi de la Go ogle Maps, Op enStreetMap, Here etc. cu
a jutorul funcµiei tileL ayer sau prin tr-o extensie. De asemenea, putem înc rca ³i alte tipuri
21http://googlegeodevelopers.blogspot.ro/2009/05/announcing- google- maps- api- v3.html
22http://www.ancpi.ro/pages/wiki.php?lang=ro&pnu=transformariCoordonate
23http://leafletjs.com/
24http://www.flickr.com
25http://foursquare.com
26http://pinterest.com
27http://craigslist.org
29
Mic hael F athi Afana T ehnologii utilizate
de straturi GIS: GeoJSON28, KML29, CSV30, WKT31, WMS32³i V ector33.
A³area h rµii funcµioneaz similar cu cea de la Go ogle Maps, înc rcând imaginile în
fundal ³i a³ându-le în elemen te HTML <div> . Diferenµa din tre cele dou const în dimen-
siunile co dului surs , LeafLet ind m ult mai compact ³i ofer un sup ort mai bun p en tru
disp ozitiv ele mobile.
În aplicaµia Smart taxi – partea clien t – harta a³at p e fundal este creat cu LeafLet,
a³ând o hart Go ogle Maps în elemen tul HTML cu id-ul map , la care sun t sp ecicate
co ordonatele de cen tru (Craio v a) ³i limitele ora³ului, denite de un p oligon cu co ordonatele
Sud-V est ³i Nord-Est.
Co d sursa 4 A³area unei h rµi Go o gle Maps în tr-un div cu L e aet
//bounds
varsw_bounds = newL.LatLng(44.275486, 23.703480);
varne_bounds = newL.LatLng(44.372749, 23.898316);
//define map
map = newL.Map(’map’, {
center: newL.LatLng(44.316667,23.8),
maxBounds: L.latLngBounds(sw_bounds,ne_bounds),
zoom: 14,
maxZoom: 18,
minZoom: 14
});
//google layer
vargoogleLayer = newL.Google(’ROADMAP’);
map.addLayer(googleLayer);
3.7 Hyp ertext Prepro cessor (PHP)
PHP (Hyp ertext Prepro cessor) este un lim ba j de programare serv er side dezv oltat de Rasm us
Lerdor ³i ap rut în 1995.34
Simplitatea, ecienµa ³i gratuitatea fac ca PHP s e cel mai r spândit lim ba j de pro-
gramare serv er-side. P opularitatea lui se datoreaz ³i faptului c ruleaz p e ma joritatea
sistemelor de op erare (Windo ws, Unix, Lin ux, Mac etc.). Conectarea u³oar la baze de date
relaµionale precum MySQL, Oracle, P ostgresSQL etc. este una din tre cele mai imp ortan te
facilit µi ale PHP-ului.
Programarea orien tat c tre obiecte (POO) a fost in tro dus în PHP ³i îm bun t µit în
v ersiunile ulterioare. Odat cu PHP5 a fost rescris o mare parte din funcµionalitatea POO:
28http://leafletjs.com/examples/geojson.html
29http://harrywood.co.uk/maps/examples/leaflet/kml.view.html
30https://github.com/perrygeo/leaflet- simple- csv
31https://github.com/arthur- e/Wicket
32https://github.com/heigeo/leaflet.wms
33http://geojason.info/2012/leaflet- vector- layers/
34https://php.net/manual/ro/history.php.php
30
Mic hael F athi Afana T ehnologii utilizate
de exemplu, s-au in tro dus atribute de sp ecicare a gradului de acces la v ariabile ( private ³i
pr ote cte d ) ³i meto de noi ( tr ay , constructori, destructori, in terfeµe etc.).
Spre deosebire de co durile C, C++ sau Ja v a, C#, PHP n u compileaz co dul surs , acesta
ind in terpretat la ecare cerere f cut spre script-ul resp ectiv. În cazul în care administra-
torul site-ului dore³te aceast compilare, exist programe care fac acest lucru: compilatoare
PHP ce creeaz un executabil al script-ului PHP . A v an ta jele acestor compilatoare rezid în
timpi mai buni de execuµie. Un exemplu de compilator este cel realizat de c tre F aceb o ok.
Numele iniµial a fost HipHop , ap oi a fost înlo cuit cu HHVM (HipHop Virtual Mac hine),
bazat p e o compilare de tip JIT (just-in-time). PHP7 – urmeaz a lansat în Noiem brie
2015, cele mai imp ortan te îm bun t µiri aprobate pân acum v or :
Îm bun t µirea p erformanµei prin in to ducerea PHPNG35(PHP Next Generation), care
folose³te Zend Engine. De asemenea, v a redus consum ul de memorie;
P osibilitatea de a sp ecica tipul de date primite ³i returnate în funcµii.
Co d sursa 5 Exemplu funcµie PHP7 cu tipuri de date sp ecicate
<?php
function adauga(int $a,int $b):int{
return$a+$b;
}
?>
Smart y T emplate Engine
Smart y36este un template engine op en source (sub licenµ LGPL p en tru uz comercial) p en tru
PHP . Smart y se implemen teaz din urm toarele motiv e:
separarea template-ului (design-ului) de co dul PHP;
o meto d rapid de dezv oltare ³i de implemen tare a template-ului;
template-urile au o sin tax simpl , n u necesit cuno³tinµe de PHP p en tru editare;
îm bun t µirea timpului de înc rcare cu a jutorul cac he-ului;
este exibil, p ermite ad ugarea de funcµii ³i opµiuni.
Cel mai imp ortan t motiv este separarea template-ului de co dul PHP , deoarece o dat ce este
amestecat PHP-ul cu co dul HTML, devine greu de editat. Smart y are o sin tax m ult mai
simpl ³i u³or de înµeles, de exemplu ca s a³ m o v ariabil : din co dul PHP sun t atribuite
v alorile v ariabilei, se creeaz template-ul în care este a³at v ariabila, se include secµiunea
header, se a³eaz v ariabila, se include secµiunea fo oter, ap oi se a³eaz template-ul.
Exemplu: Co d PHP index.php:
35PHPNG (PHP Next Generation) https://wiki.php.net/rfc/phpng
36http://smarty.net
31
Mic hael F athi Afana T ehnologii utilizate
<?php
$foo = "Salut ˘ari lume"
$smarty->assign("foo",$foo);
$smarty->display("index.tpl");
?>
T emplate index.tpl:
{include file="header"}
{$foo}
{include file="footer"}
3.8 OTP ³i mOTP
OTP sau one-time p asswor d este o parol care este v alabil p en tru o singur sesiune de
conectare sau tranzacµie, p e un sistem informatic sau disp ozitiv digital.37Prin aceast
meto d putem evita deza v an ta jele unei parole clasice (statice), aceasta putând ghicit ,
uitat , furat sau transmis la alte p ersoane.
Auten ticarea cu doi factori este un sistem ce presupune v ericarea iden tit µii unei p er-
soane sau a unei en tit µi care dore³te s acceseze un serviciu online (pro ces bancar, e-mail,
reµea de so cializare etc.) prin minim dou din tre urm toarele meto de de auten ticare:
Cev a ce ³tie – un utilizator, o parol , un co d pin etc.;
Cev a ce are – un generator de c hei de auten ticare, o legitimaµie de acces etc.;
Cev a ce este – caracteristici biometrice – ampren t , imaginea retinei, ampren t v o cal
etc.
P arolele OTP fac parte din categoria c eva c e ar e ; acest tip de parol de obicei este un ³ir
de n umere, caractere sau cuvin te aleatorii, obµin ut de utilizatori prin e-mail, SMS primit p e
telefon ul mobil sau prin in termediul un ui disp ozitiv sp ecial, care genereaz c hei de auten ti-
care. P arolele sun t generate de un serv er ³i expir dup un timp, necesitând regenerarea
acestora.
Soluµia folosit în aplicaµie p en tru conrmarea comenzii este creat de T elc o Develop ers
³i se n ume³te mOTP38( mobile one time p asswor d ); acesta este un API gratuit, care aduce o
soluµie ino v atoare p en tru v ericarea iden tit µii un ui clien t prin in termediul telefon ului mobil,
înlo cuind v ericarea bazat p e SMS cu un ap el pierdut. P arola este n um rul de telefon de
p e care utilizatorul prime³te ap elul, reducând astfel costurile ³i problemele de trimitere a
mesa jelor.39
37http://en.wikipedia.org/wiki/One- time_password
38http://en.wikipedia.org/wiki/One- time_password#Mobile_phones
39http://dial2verify.com/mOTP_Missed_Call_OTP_Authentication/Home.html
32
Capitolul 4
Prezen tarea aplicaµiei Smart taxi
Aplicaµia Smart taxi este o soluµie web complet , creat p en tru a optimiza pro cesul de
trimitere, gestionare ³i v ericare a comenzilor de taxi. Aplicaµia const în trei mo dule,
a v ând o arhitectur clien t-serv er:
1. Mo dulul p en tru clien t;
2. Mo dulul p en tru ³ofer;
3. Mo dulul p en tru disp ecerat.
Fiecare mo dul este o aplicaµie web ³i se p oate accesa de oriunde prin tr-un URL , ne-
ind necesar desc rcarea unei aplicaµii sau a un ui soft w are sp ecial, care ar putea s creeze
dicult µi de utilizare clien tului, ³oferului sau disp eceratului.
Figura 4.1: Fluxul de lucru al aplicaµiei
33
Mic hael F athi Afana Prezen tarea aplicaµiei Smart taxi
Aplicaµiile sun t compatibile cu ma joritatea bro wser-urilor cunoscute: Go ogle Chrome,
Mozila Firefo x, In ternet Explorer ³i Safari.
URL -urile sun t rescrise cu Ap ache mo d_r ewrite (.h taccess) ³i acceseaz un script PHP .
De exemplu, domeniu/app v a accesa scriptul app.php .
Co d sursa 6 Rescrierea URL-urilor cu Apac he mo d_rewrite
RewriteEngine on
#web pages
RewriteRule ^([a-z-]+)\.html$ index.php?page=$1 [L]
#ajax request
RewriteRule ^(ajax)/([a-z-]+)(/(. *))?$ $1.php?module=$2¶ms=$4
[L,QSA] ,!
#driver app and dispatcher rewrite
RewriteRule ^(app|dispatch)$ http://inkweb.ro/smart-taxi/$1/ [R=301,L]
#fix trailing slash ,!
RewriteRule ^(app|dispatch)/([a-z-]+)?$ $1.php?page=$2 [L,QSA]
#captcha
RewriteRule ^(captcha)\.jpg$ libs/$1/$1.php [L]
#protect tpl files
<Files~ "\.tpl$" >
Order allow,deny
Deny from all
</Files>
În script-ul an terior (co d surs 6) este preluat pagina curen t prin GET (dac exist ); în
caz con trar, se folose³te pagina iniµial prestabilit . Dup pro cesarea datelor p en tru pagin
se v a a³a template-ul Smart y al mo dulului, în care este inclus pagina curen t . T emplate-ul
se folose³te p en tru a evita rescrierea p rµilor care se rep et în ecare pagin (header, fo oter
etc.).
4.1 Mo dulul p en tru clien t
Mo dulul ce este destinat folosirii de c tre clienµi p ermite atât trimitirea unei comenzi direct
c tre ³oferi, cât ³i spre disp ecerat; p e fundal se a harta de la Go ogle Maps, unde sun t a³ate
taxiurile activ e care caut comenzi, informaµii legate de tarif, rm ³i con tact. Mo dulul
conµine ³i o pagin Obie cte pier dute , unde utilizatorul p oate s fac o cerere p en tru c utarea
un ui obiect pierdut în taxi.
P en tru a trimite o comand , utilizatorul trebuie s parcurg o serie de pa³i. P asul curen t
³i datele aferen te lui (campuri form ular sau c heie unic generat ) sun t salv ate în sesiunea
or der care este pastrat p e server pân la înc hiderea br owser -ului. Fiecare sc him bare de pas
presupune actualizarea sesiuni.
34
Mic hael F athi Afana Prezen tarea aplicaµiei Smart taxi
Figura 4.2: Mo dulul p en tru clien t p e mai m ulte disp ozitiv e
P a³ii necesari p en tru realizarea unei comenzi sun t:
pasul 1 ( principal ) – completarea un ui form ular cu n ume, adres ³i n um r de telefon
mobil. Alegerea str zii se face cu a jutorul extensiei Ja v aScript Sele ct2 , care transform
din tr-un Select simplu în HTML, în tr-o list care preia elemen tele acesteia paginate, în
funcµie de scroll-ul din baza de date. Înain te de trimiterea form ularului de comand ,
în cazul în care utilizatorul a completat strada ³i n um rul sau blo cul, prin in termediul
Go o gle Ge o c o ding adresa este transformat în tr-un set de co ordonate ³i este atribuit
un ui câmp al form ularului ascuns, p en tru a folosite în estimarea distanµei din tre
clien t ³i taxi;
Figura 4.3: Mo dulul p en tru clien t – pasul 1
35
Mic hael F athi Afana Prezen tarea aplicaµiei Smart taxi
pasul 2 ( v ericare ) – se v eric cu a jutorul tehnologiei mobile One Time Passwor d
(mOTP) dac cel care a comandat taxiul este proprietarul n um rului din pasul 1.
V ericarea se face prin tr-un ap el de la un n um r de forma +1 (234) *** – *** c tre
n um rul de telefon al utilizatorului. A cesta trebuie s in tro duc n um rul de telefon de
la care a primit acest ap el;
Figura 4.4: Mo dulul p en tru clien t – pasul 2
pasul 3 ( a³teptare ) – utilizatorul a³teapt pân când comanda este preluat de un
taxi din apropiere. P e fundal ruleaz o funcµie JavaScript cu un r efr esh de 5 secunde,
care v eric în baza de date, prin in termediul unei cereri Ajax c tre un script PHP ,
dac starea comenzii este preluat ; dac este preluat , este redirectionat la pasul 5.
În cazul în care comanda n u este preluat în 5 min ute, utilizatorul este redirecµionat
la pasul 4;
Figura 4.5: Mo dulul p en tru clien t – pasul 3
36
Mic hael F athi Afana Prezen tarea aplicaµiei Smart taxi
pasul 4 ( comanda nepreluat ) – în cazul în care comanda utilizatorului n u a fost
preluat în 5 min ute, acesta are dou opµiuni: s ³tearg comanda ³i s revin p e
prima pagin sau s reîncerce s caute un taxi în apropiere;
Figura 4.6: Mo dulul p en tru clien t – pasul 4
pasul 5 ( comanda preluat ) – comanda a fost preluat ³i utilizatorului îi sun t a³ate
indicativul taxiului care a preluat comanda ³i min utele pân la adresa estimat de
acesta.
Figura 4.7: Mo dulul p en tru clien t – pasul 5
Dup trecerea utilizatorul de p asul 1 , la reîncarcarea pagini, pasul curen t v a r mâne
acela³i; singura meto d p en tru a rev enii la p asul 1 sun t butoanele "Ren unµ la comand "
sau "Înap oi la form ularul de comand ".
37
Mic hael F athi Afana Prezen tarea aplicaµiei Smart taxi
Figura 4.8: Diagrama pa³ilor necesari p en tru realizarea unei comenzi
Harta de p e fundal este preluat de la Go ogle Maps ³i este a³at cu L e afL et ; la în-
c rcarea paginii, acesteia îi sun t setate co ordonatele de cen tru, niv elul minim ³i maxim de
zo om ³i limitele h µii ( b ounds ) – un set de co ordonate ([SW], [NE]). Dup setarea limitelor,
utilizatorului n u i se v a a³a harta în afara acestora.
A³area taxiurilor sub form de mark er cu iconiµ se face dinamic; se actualizeaz o dat
la 10 secunde. O funcµie JavaScript face o cerere de tip GET la un script PHP care v eric
în baza de date dac exist taxiuri care au fost v zute cel m ult cu 5 min ute în urm . Odat
preluate datele taxiurilor (co ordonate ³i indicativ), sub form de JSON de c tre JavaScript ,
acestea sun t a³ate p e hart sub form de mark ere. În cazul în care sun t mai puµin de 25
de taxiuri activ e, se folose³te serviciul Go ogle Directions p en tru a corecta acurateµea GPS –
ului ( snap to r o ad ). A cestuia îi sun t trimise co ordonatele taxiului ³i returneaz cel mai
apropiat punct al celei mai apropiate str zi, ap oi se actualizeaz p oziµia mark erului de p e
hart aso ciat taxiului.
F orm ularul Obie cte pier dute este un mo d prin care utilizatorul p oate trimite o cerere
p en tru c utarea un ui obiect pierdut. Odat îndeplinite condiµiile de v alidare a form ularului,
se insereaz în baza de date informaµiile acestuia, ind vizibile instan t la disp ecerat p en tru
in v estigare.
In terfaµa este realizat cu platforma Bo otstrap ³i este compatibil ³i optimizat p en tru
38
Mic hael F athi Afana Prezen tarea aplicaµiei Smart taxi
orice tip de telefon mobil cu touchscr e en . P en tru v ersiunea mobil , harta de p e fundal a
fost eliminat p en tru o înc rcare mai rapid , p en tru minimizarea resurselor folosite (memo-
rie/pro ces), sc derea tracului de date în tre serv er ³i clien t ³i p en tru dimin uarea consum ului
bateriei. P anoul de informaµii a fost extins p e tot ecran ul, meniul a fost ascuns ³i se activ eaz
prin ap sarea un ui buton.
4.2 Mo dulul p en tru ³oferi
Mo dulul ce v a utilizat de c tre ³oferii de taxi este o aplicaµie w eb p en tru mobil, construit
cu jQuery Mobile , compatibil cu orice telefon cu GPS ³i touchscr e en . Aplicaµia p oate
salv at p e ecran ul principal al telefon ului cu iconiµa ³i ap oi p oate s ruleze ful l scr e en (la fel
ca la o aplicaµie mobil nativ ); la accesarea acesteia se lanseaz bro wser-ul implicit ³i este
accesat adresa URL aso ciat . A dresa URL a aplicaµei este domeniul +"app/".
Figura 4.9: Mo dulul p en tru ³oferi p e iPhone
In terfaµa este compus din trei secµiuni:
1. He ader – p oziµionat x sus (r mâne în partea de sus a ecran ului dup derularea paginii).
Aici este a³at logo-ul rmei;
2. Content – este a³at conµin utul paginii;
3. F o oter – p oziµionat x jos (r mâne în partea de jos a ecran ului dup derularea paginii).
Este a³at un text, dac utilizatorul n u este logat. Dac este logat, se a³eaz meniul
(na vbar), unde sun t a³ate butoanele p en tru na vigaµie; buton ul curen t este evidenµiat
cu alt culoare.
39
Mic hael F athi Afana Prezen tarea aplicaµiei Smart taxi
La in trarea în aplicaµie este a³at un form ular cu dou câmpuri ³i un buton prin care
utilizatorul se auten tic cu indicativul ³i parola. P en tru a simplica in tro ducerea datelor,
la indicativ, utilizatorului îi este a³at o tastatur doar cu n umere.
În cazul în care utilizatorul este auten ticat prin in termediul meniului (na vbar) a³at în
partea de jos (fo oter), acesta î³i p oate alege din paginile:
Comenzi – pagina iniµial ; utilizatorul este în trebat dac p ermite ca aplicaµia s -i
foloseasc funcµia GPS a telefon ului. Dac n u este de acord, îi este a³at mesa jul de
eroare "A ctiv aµi serviciile de lo calizare". În caz con trar, co ordonatele utilizatorului
sun t preluate cu funcµia "na vigator.geo cation" ³i este creat un ev enimen t p en tru a mo-
nitoriza lo caµia; dac aceasta se sc him b , ev enimen tul actualizeaz v ariabilele p en tru
co ordonatele utilizatorului.
Dac exist co ordonate, se a³eaz o imagine animat care indic faptul c pagina se
încarc ³i se efectueaz o cerere, la ecare 10 secunde, spre un script PHP la care sun t
trimise co ordonatele utilizatorului. Script-ul v eric dac sun t comenzi în apropierea
co ordonatelor primite prin in termediul form ulei Haversine .1
Cu a jutorul form ulei Haversine se p oate calcula cea mai scurt distanµ în tre dou
puncte p e suprafaµa unei sfere cu a jutorul longitudinii ³i latitudinii lor. A ceasta este
una din tre cele mai imp ortan te form ule folosite în na vigaµie.2În aplicaµie, form ula este
folosit p en tru a c uta în baza de date cele mai apropiate n comenzi nepreluate (n=30)
faµ de p oziµia utilizatorului.
Co d sursa 7 In terogare Ha v ersine p en tru MySQL
SET@lat := 44.3198403; #latitudinea utilizatorului
SET@lon := 23.8073998; #longitudinea utilizatorului
SET@earth_radius := 6371; #raza pamântului
SELECT‘id_order‘,(@earth_radius *acos(cos(radians(@lat)) *
cos(radians(start_lat)) *cos(radians(start_lng) – radians(@lng)) +
sin(radians(@lat)) *sin(radians(start_lat)))) ASdistance FROM
‘orders‘ WHERE‘status‘ = ’0’ ORDER BY distance LIMIT0,30;,!
,!
,!
Script-ul returneaz elemen tele HTML ale unei liste conµinând n um rul comenzii,
adresa ³i distanµa. A ceste elemen te sun t ata³ate unei liste cu jQuery , iar imaginea
de înc rcare se ascunde.
Dac utilizatorul apas p e un elemen t al listei, este a³at o fereastr (dialog), unde
trebuie s in tro duc min utele estimate de el pân la destinaµie, a v ând ca opµiune s
preia comanda sau s ren unµe la ea. Dac preia comanda, în baza de date se v a
actualiza starea ei ca preluat , id-ul taxiului ³i min utele estimate (in tro duse an terior).
Utilizatorul v a m utat p e pagina de comand , unde are a³ate adresa, timpul scurs
1http://rosettacode.org/wiki/Haversine_formula
2http://en.wikipedia.org/wiki/Haversine_formula
40
Mic hael F athi Afana Prezen tarea aplicaµiei Smart taxi
³i dou butoane, un ul de an ulare a comenzii, dac clien tul n u apare, ³i un buton de
nalizare a comenzii. Prin ap sarea butoanelor, se actualizeaz în baza de date starea
comenzii ³i data/ora curen t .
Figura 4.10: Mo dulul p en tru ³oferi – preluare comand
Istoric comenzi – sun t a³ate comenzile nalizate sau an ulate. La ecare comand
este a³at n um rul in tern (id), data/ora, adresa ³i starea. Lista este paginat , se
încarc cinci comenzi, ap oi este a³at un buton p en tru a înc rca mai m ulte (dac
exist );
Figura 4.11: Mo dulul p en tru ³oferi – istoric comenzi
41
Mic hael F athi Afana Prezen tarea aplicaµiei Smart taxi
Set ri con t – este a³at un form ular cu a jutorul c ruia utilizatorul p oate s -³i sc him b e
parola. Câmpurile form ularului sun t: parola curen t , parola nou ³i rep et parola
nou . Dup v alidarea form ularului se actualizeaz în baza de date noua parol criptat
MD5 ;
Figura 4.12: Mo dulul p en tru ³oferi – set ri con t
Deconectare – este a³at o fereastr (dialog) de conrmare, împreun cu dou bu-
toane. Buton ul "Nu" v a înc hide fereastra. Buton ul "Da" v a redirecµiona spre o pagin
unde este pro cesat cererea. În aceast pagin se distruge sesiunea de auten ticare ³i
se redirecµioneaz spre pagina de auten ticare.
Aplicaµia p oate u³or încorp orat în tr-un w eb view Android sau iOS p en tru a dev eni o
aplicaµie hibrid .
4.3 Mo dulul p en tru disp ecerat
A cest mo dul p ermite vizualizarea statisticilor lunare, a comenzilor, a taxiurilor ³i a cererilor
p en tru obiecte pierdute, precum ³i ad ugarea ³i editarea taxiurilor.
A ccesarea se face doar dac utilizatorul este auten ticat. În caz con trar, acesta este
redirecµionat spre pagina de auten ticare, unde trebuie s completeze un form ular cu n umele
de utilizator, parol ³i un co d de securitate ( CAPTCHA ). Co dul de securitate presupune
in tro ducerea un ui co d format din cifre a³at în tr-o imagine; acesta este folosit p en tru a
prev eni accesul în aplicaµie prin brute for c e , ce presupune încercarea mai m ultor com binaµii
de utilizator ³i parol , e aleatoriu, e prin folosirea a un ui dicµionar. P aginile aplicaµiei
p en tru disp ecerat sun t:
42
Mic hael F athi Afana Prezen tarea aplicaµiei Smart taxi
P agin principal – aici sun t prezen tate statistici ale aplicaµiei. P e prim ul rând,
sub titlu, sun t patru coloane unde este a³at n um rul de comenzi nepreluate, comenzi
nalizate, taxiuri înregistrate ³i obiecte pierdute. P e al doilea rând, în dreapta, sun t
a³ate Ultimele taxiuri online sub forma unei liste.
De asemenea, este a³at un grac cu n um rul de comenzi ale lunii în curs, grupate
p e stare (nepreluate, preluate, nenalizate ³i nalizate), ecare stare a v ând o culoare
reprezen tativ . A cest grac este creat cu a jutorul extensiei MorisJS , iar comenzile
sun t preluate din baza de date în format JSON prin tr-o cerere AJAX getJSON .
Co d sursa 8 Crearea un ui grac cu MorisJS si Ajax
$(function () {
//preluare date ajax
$.getJSON(’chart?ajax’, function (results){
//creare grafic
Morris.Area({
element: ’chart’, //tip grafic
data: results, //atribuire date
xkey: ’day’, //axa x
ykeys: [’new’,’taken’, ’noshow’,’finish’], //axa y
labels: [’Nepreluate’, ’Preluate’, ’Nefinalizate’,
’Finalizate’], //stari ,!
lineColors: [’#C3D9FF’, ’#FFFF88’, ’#F4543E’,
’#CDEB8B’], //culori stari ,!
pointSize: 2, //marime punct
hideHover: ’auto’,
resize: true,
fillOpacity: 1
});
});
});
Figura 4.13: Mo dulul p en tru disp ecerat – grac cu n um rul de comenzi ale lunii în curs
43
Mic hael F athi Afana Prezen tarea aplicaµiei Smart taxi
Comenzi – sun t a³ate comenzile sub form de tab el cu coloanele: id , nume , telefon ,
str ad , num r , blo c , sc ar , star e , indic ativ taxi ³i ad ugat la . Utilizatorul p oate s
ltreze comenzile dup una sau mai m ulte st ri. Coloana Star e are culoarea fundalului
în funcµie de v aloarea sa. Dac ap s m iconiµa "+", sun t a³ate informaµii suplimen-
tare despre comand (IP-ul de p e care a fost trimis , timpul estimat p en tru preluare,
început la ³i terminat la) ³i o hart Go ogle Maps cu lo caµia apro ximativ a comenzii;
T axiuri – sun t a³ate taxiurile sub form de tab el cu coloanele: id , indic ativ taxi ,
numer ³ofer ³i dac este susp endat . Ap sând iconiµa "+", este a³at: un form ular prin
in termediul c ruia taxiul p oate susp endat în tre o or ³i o lun . În cazul în care este
deja susp endat, se p oate ³terge susp endarea; un buton Edite az care redirecµioneaz
spre un form ular unde se p ot edita câmpurile: indic ativ , nume , telefon sau p ar ola
taxiului; o hart cu ultima lo caµie a utilizatorului, dac este disp onibil . De asemenea,
se p ot adaug ³i taxiuri noi cu acelea³i câmpuri ca la editare;
Obiecte pierdute – sun t a³ate cererile p en tru obiectele pierdute sub form de tab el
cu coloanele: id , adr es , pier dut la , num r de telefon , obie ct pier dut . Ap sând iconiµa
"+", este a³at A dresa IP a p ersoanei care a trimis cererea ³i un form ular prin care
se p oate actualiza, dac obiectul a fost g sit.
Deconectare – se ap eleaz funcµia r emove_session a clasei p en tru utilizatori, aceasta
³terge sesiunea din auten ticare din baza de date ³i din $_COOKIE .
În paginile unde exist un tab el paginat sun t a³ate 50 de înregistr ri p er pagin din baza
de date ³i p ermite utilizatorului s sc him b e pagina prin in termediul meniului de sub tab el
(dac exist mai m ulte pagini). Fiecare rând al tab elului are la început o iconiµ cu semn ul
"+", care are ata³at un ev enimen t de tip click p en tru vizualizarea informaµiilor detaliate
sau a³area diferitelor acµiuni p en tru aceast înregistrare, acestea ind preluate prin AJAX
³i înc rcate sub rândul curen t.
Figura 4.14: Mo dulul p en tru disp ecerat – tab el comenzi
Utilizatorul p oate s na vigheze în tre pagini prin in termediul meniului lateral; are ³i op-
µiunea de a c uta o comand dup id-ul din baza de date prin in termediul form ularului aat
deasupra meniului. C utarea redirecµioneaz utlizatorul spre comanda cu id-ul in tro dus de
acesta.
44
Mic hael F athi Afana Prezen tarea aplicaµiei Smart taxi
Figura 4.15: Mo dulul p en tru disp ecerat p e mai m ulte disp ozitiv e
In terfaµa este creat , de asemeanea, cu platforma Bo otstrap ³i se redimesioneaz în func-
µie de rezoluµia disp ozitivului de p e care este accesat . P en tru v ersiunea mobil , meniul
lateral este ascuns ³i se p oate vizualiza prin apas rea buton ului A r at meniu . În tab elele
unde este a³at un n um r mare de coloane apare scroll orizon tal. Informaµiile de p e pagina
principal sun t a³ate una sub alta.
4.4 Baza de date
P en tru salv area comenzilor, str zilor, taxiurilor, obiectelor pierdute, utilizatorilor ³i a sesiu-
nilor de logare f cute de un utilizator p en tru disp ecerat s-a creat o baz de date în tr-un
serv er MySQL .
O diagram ER (En tit y-Relationship mo del) este o reprezen tare abstract ³i conceptual
a datelor. În urm toarea diagram ER sun t prezen tate câmpurile bazei de date ³i tipul de
date sto cate în acel câmp.
45
Mic hael F athi Afana Prezen tarea aplicaµiei Smart taxi
Figura 4.16: Diagram ER (en titate-relaµie) a bazei de date
4.4.1 Descrierea tab elelor
or ders – comenzile trimise de utilizatori, câmpuri:
id_order – c heie primar , autoincremen tare, unic;
token – c heie unic generat , a v ând lungimea de 32 de caractere; dup v alidarea
comenzii, v aloarea acesteia se încarc în tr-o sesiune p en tru a iden tica comanda;
este folosit p en tru a îm bun t µi securitatea aplicaµiei. În cazul în care în sesiune
era salv at c heia primar , aceasta putea s e predictibil ;
name – n umele clien tului;
id_str e et – c heie extern , face leg tura cu o strad ;
numb er , building , sub division – câmpuri p en tru adres (n um r, blo c, scar );
phone – n um rul de telefon mobil al utilizatorului;
status – starea comenzii sub forma un ui n um r: are v aloarea zero dac aceasta
este nou , un u dac este preluat , doi dac a expirat, trei dac este nenalizat
³i patru dac este nalizat ;
46
Mic hael F athi Afana Prezen tarea aplicaµiei Smart taxi
id_taxi – c heie extern , face leg tura cu un taxi;
minutes_to – min utele estimate de taximetrist în aplicaµie p en tru a a junge la
clien t;
start_lat , start_lon – latitudinea ³i longitudinea apro ximativ e rezultate dup ge-
o co dare, p ot s e gre³ite;
start_time , start_lan – data ³i ora la care a fost preluat , resp ectiv nalizat
comanda;
ip – adresa IP de p e care a fost trimis comanda;
inserte d_at – data ³i ora in tro ducerii comenzii în baza de date.
taxis – taxiurile in tro duse de disp ecerat, câmpuri:
id_taxi – c heie primar , autoincremen tare, unic;
numb er – n um r, indicativul taxiului folosit p en tru auten ticare;
pin – un n um r folosit drept parol , acesta este criptat cu MD5 ;
driver – n umele ³oferului;
phone – n um rul de telefon al ³oferului;
lat , lng – ultima latitudine ³i longitudine a taxiului;
last_up date – data ³i ora ultimei acces ri a paginii de comenzi;
token – c heie unic generat , a v ând lumgimea de 32 de caractere; dup auten ti-
care v aloarea acesteia se încarc în tr-o sesiune p en tru a iden tica dac utilizatorul
este auten ticat;
blo ck – data ³i ora pân când utilizatorul n u are acces la sistem.
str e et – lista str zilor din ora³ul Craio v a, câmpuri:
id_street – c heie primar , autoincremen tare, unic;
name – n umele str zii.
lost_obje cts – lista obiectelor pierdute, câmpuri:
id_lost – c heie primar , autoincremen tare, unic;
addr ess – adresa la care a fost f cut comanda;
date – data la care a fost pierdut obiectul;
phone – n um rul de telefon al solicitan tului;
obje ct – obiectul pierdut;
ip – adresa IP de p e care a fost trimis cererea;
47
Mic hael F athi Afana Prezen tarea aplicaµiei Smart taxi
found – are v aloarea zero dac obiectul n u a fost g sit sau v aloarea un u dac a
fost g sit.
users – utilizatorii mo dulului p en tru disp ecerat, câmpuri:
id_user – c heie primar , autoincremen tare, unic;
user – utilizatorul folosit p en tru auten ticare;
p asswor d – parola folosit p en tru auten ticare în format MD5 ;
admin – are v aloarea "0" dac este utilizator sau "1" dac este administrator;
v aloarea prestabilit este "0";
action_key – c heia generat p en tru activ area con tului sau recup erarea parolei.
users_sessions – conµine sesiunile de auten ticare ale utilizatorilor, câmpuri:
id_session – c heie primar , autoincremen tare, unic;
id_user – c heie extern , face leg tura cu un utilizator;
token – c heie unic generat , a v ând lungimea de 40 de caractere, care este sto cat
în c o okie -ul de auten ticare prin in termediul c reia se coreleaz con tul cu sesiunea
de auten ticare;
expir es_at – data ³i ora la care expir sesiunea de auten ticare în format Unix
Timestamp (n um rul de secunde trecute de la 01.01.1970 00:00:00).
Cheile externe leag tab elul p en tru comenzi de o strad ³i de un taxi, iar tab elul de
sesiuni de auten ticare este legat de utilizatori.
4.5 PHP
T oate mo dulele încarc la începutul co dului PHP un ³ier com un ( he ader ). În acesta se
încarc ³ierul de conguraµie, clasa p en tru baza de date, Smarty , ³ierul p en tru funcµii ³i
³ierul de lim b p en tru mesa je.
În ³ierul de conguraµie se denesc mai m ulte constan te: URL-ul site-ului w eb, timpul
maxim de a³teptare pân când o comand nepreluat expir , n umele ³i durata c o okie -ului
de auten ticare p en tru disp ecerat, datele de conectare la baza de date ³i informaµiile p en tru
trimiterea un ui e-mail.
Fi³ierul de lim b r o.ini este analizat de PHP ³i transformat în tr-un v ector m ultidimen-
sional cu a jutorul funcµiei p arse_ini_le ; în acest ³ier sun t sp ecicate mesa jele returnate
de form ulare. F olosirea acestui ³ier simplic crearea site-ului w eb în mai m ulte lim bi
( Internationalization sau i18n ).
48
Mic hael F athi Afana Prezen tarea aplicaµiei Smart taxi
Co d sursa 9 Fi³ier he ader.php
<?php
ob_start();
session_start();
//config
include("inc/config.php");
//database
include("libs/mysql.php");
$db = newmysql;
$db->connect();
//template
include("libs/smarty/Smarty.class.php");
$tpl = newSmarty;
//asign url
$tpl->assign("URL",URL);
//functions
include("inc/functions.php");
//lang
$lang = parse_ini_file("lang/ro.ini", true);
$tpl->assign("lang",$lang);
<?php
Mo dulele folosesc div erse clase înc rcate din folderul libs . F uncµionalit µile acestor clase
sun t urm toarele:
a) clasa p en tru baza de date de tip MySQL folosind mysqli (toate mo dulele)
conectarea la o baz de date cu parametri din ³ierul de congurare;
deconectarea de la o baz de date ap elat automat la sfâr³itul execuµiei co dului;
in terogarea unei baze de date p en tru a prelua rezulatele, cât ³i p osibilitatea de a
a³a aceste rezultate cu paginaµie;
construirea unei in terog ri cu a jutorul un ui v ector de conguraµie;
inserarea unei noi in tr ri în tr-un tab el;
actualizarea unei in tr ri în tr-un tab el;
securizarea unei v ariabile p en tru a folosit în in terog ri, inser ri, actualiz ri;
v ericare dac exist un câmp.
b) clasa p en tru comenzi (mo dulul clien t)
p ermite crearea un ui sistem bazat p e pa³i prin in termediul unor sesiuni;
v alidarea form ularului de comand ;
³tergerea comenzii;
in tro ducerea comenzii în baza de date;
49
Mic hael F athi Afana Prezen tarea aplicaµiei Smart taxi
v ericarea n um rului de telefon prin in termediul un ui API mOTP ;3³i extensiei PHP
cURL4.
c) clasa p en tru sistem ul de utilizatori (mo dulul disp ecerat)
v ericarea dac un utilizator este logat;
v ericarea dac datele p ostate coincid cu utilizatorul ³i parola con tului;
crearea un ui tok en unic de 40 de caractere;
crearea sesiunii, adic ap elarea la funcµia de tok en unic ³i inserarea acestuia îm-
preun cu id-ul utilizatorului ³i data expir rii acestei sesiuni în baza de date, ap oi
setarea c o okie -ului de auten ticare cu acest tok en. În cazul în care n u se p oate seta,
sesiunea se ³terge din baza de date;
³tergerea sesiunii, adic ³tergerea din baza de date ³i ³tergerea c o okie -urilor:
reamin tirea parolei prin trimiterea un ui link de resetare p e adresa de e-mail a con-
tului;
resetarea parolei prin in termediul c heii din link-ul creat de reamin tire a parolei;
sc him barea parolei con tului.
d) clase preluate de p e In ternet
SimpleCaptc ha – p en tru generarea co dului de securitate la mo dulul clien t ³i disp e-
cerat ( http://simplecaptcha.sourceforge.net/ );
Smart y T emplate Engine – este folosit în toate mo dulele p en tru separarea co dului
PHP de HTML ( http://www.smarty.net/ ).
e) funcµii div erse
trimiterea un ui e-mail;
v alidarea un ui form ular;
setarea ³i preluarea un ui mesa j în tr-o sesiune p en tru evitarea p ost rii duble;
redirecµionarea utilizatorului c tre o alt pagin ;
v ericarea dac o v ariabil corespunde un ui tip: in teger, url;
preluarea IP-ului real al utilizatorului.
crearea unei in terog ri MySQL Haversine .
3API mOTP http://dial2verify.com/mOTP_Missed_Call_OTP_Authentication/
4http://php.net/manual/en/book.curl.php
50
Mic hael F athi Afana Prezen tarea aplicaµiei Smart taxi
4.6 Securitatea aplicaµiei
Aplicaµia este protejat împ otriv a atacurilor de tipul SQL Inje ct . A cest atac presupune o
in terv enµie neautorizat asupra in terog rii bazei de date prin mo dicarea unei in terog ri cu
parametri primiµi prin GET , POST , c o okie -uri sau sesiuni. T oµi parametrii sun t trecuµi prin
funcµia mysqli_r e al_esc ap e_string , care elimin caracterele sp eciale.5
<?php
function escape($str){
//eliminare spa¸ tii de la începutul ¸ si ¸ sfâr¸ situl unui ¸ sir de
caractere ,!
$str = trim($str);
//elimin ˘a caracterul backslash
$str = stripslashes($str);
//transform ˘a entit˘a¸ tile HTML în caractere speciale HTML
$str = htmlentities($str);
//elimin ˘a caracterele speciale
$str = mysqli_real_escape_string($str);
return$str;
}
?>
Dac un parametru trebuie s e egal cu c heia primar din tr-un tab el, acesta este v ericat
dac este un n um r.
F orm ularele de auten ticare în târzie r spunsul cu dou secunde prin in termediul funcµiei
PHP sle ep p en tru a cre³te timpul necesar un ui atac de tip brute for c e .
5h ttp://php.net/man ual/en/m ysqli.real-escap e-string.php
51
Capitolul 5
Concluzii
În pro cesul de adaptare ³i dezv oltare, companiile asigur atât o viziune actualizat a in tegr –
rii tehnologiei mobile în viaµa de zi cu zi, cât ³i dinamica relaµiei cu b eneciarii. Con tribuµia
noastr a urmat principiul in tegr rii tehnologiei informatice în viaµa cotidian . Smart taxi
este o aplicaµie complet ce p ermite utilizatorilor s plaseze comenzi online, de p e mobil sau
desktop, în tr-un mo d ecien t ³i simplu. Am actualizat ³i am adaptat tehnologiile existen te
la prolul aplicaµiei, în tr-un mo del original, in teractiv, care ofer un sistem complex ³i com-
plet de onorare a comenzilor de taxi. Urm toarele trei mo dule sun t implicate în punerea în
aplicare a sistem ului:
1. mo dulul p en tru clien t;
2. mo dulul p en tru ³ofer;
3. mo dulul p en tru disp ecerat.
Am prezen tat, în capitolul 1, motiv area alegerii domeniului-µin t al aplicaµiei: rolul ³i
imp ortanµa taxiului ca alternativ de transp ort in tegrat, îndeosebi în ora³e. În tendinµa
spre confort ³i rapiditate, pasagerii a³teapt o funcµionare ecien t a companiilor de taxi;
din p ersp ectiv a ³oferilor ³i a companiilor, iden ticarea pasagerilor în tâmpin dicult µi care
p ot duce la consum de energie in util, timpi morµi, uzura auto v ehiculelor. Dat ind niv elul
tot mai in tens ³i haotic al tracului, nev oia unor sisteme fezabile de comand ³i de onorare
prompt este real .
În capitolul 2 am trecut în revist câtev a aplicaµii mobile in teligen te existen te în lumea
globalizat de ast zi: Easy T axi, T axiZapp Disp atch, Clever T axi, Star T axi, T an Gr abT axi,
T axi Management System .
Capitolul 3 descrie succin t tehnologiile folosite: HTML5, CSS3, JavaScript, Go o gle API,
GPS, PHP etc.
Capitolul 4 a a vut ca obiectiv elab orarea unei aplicaµii originale de onorare a comenzilor
de taxi, p e care am n umit-o Smart taxi . În aplicaµia noastr , pasagerii iden tic lo caµia cea
mai apropiat accesând o baz de date în care g sesc detalii despre taxiurile disp onibile din
52
Mic hael F athi Afana Concluzii
aria resp ectiv , ca ³i despre timpul de sosire. Comenzile sun t preluate ³i conrmate în timp
real de c tre ³oferii de taxi care folosesc mo dulul Smart taxi . P e o hart p ot urm ri traseul
taxiului ³i p ot in teracµiona cu ³oferul. Am inclus ³i rubrica "Obiecte pierdute". Strategiile
de utilizare a bazei de date sun t descrise sub forma de "pa³i". Un spaµiu imp ortan t a
fost rezerv at funcµionalit µii claselor folosite în mo dule: a) clasa p en tru baza de date de
tip MySQL folosind m ysqli; b) clasa p en tru comenzi (clien t); c) clasa p en tru sistem ul de
utilizatori (disp ecerat) ³i d) funcµii div erse.
Nev oia unor astfel de aplicaµii, cu m ultitudinea de b enecii p e care le aduc, determin
asimilarea lor rapid , iar prin îm bun t µiri p erio dice se p streaz con tactul p ermanen t cu
solicit rile utilizatorilor. Ne propunem implemen tarea aplicaµiei noastre în lumea real ,
p en tru a o v alida ³i p en tru a optimiza ecienµa serviciilor de taximetrie.
53
Bibliograe
[1] Pilgrim, Mark, HTML5: Up and R unning , O'Reilly Media, 2010.
[2] McF arland Da vid Sa wy er, CSS3: The Missing Manual , 3rd Edition, O'Reilly Media,
2012.
[3] Pushpa, C., Arpit S.B., Thriv eni, J., V en ugopal K.R., P atnaik, L.M., T axi-Passenger
R e c ommender System: A n Applic ation , în International Journal of Computer Applic a-
tion , Issue 5, V olume 1 (Jan.- F eb. 2015).
h ttp://www.rspublication.com/ijca/ijca_index.h tm ISSN: 2250-1797 (consultat
15.11.2014).
[4] Cunningham , Susan, Malaysia's A nthony T an L e ads Gr abT axi In R e gional App R ac e.
h ttp://www.forb es.com/sites/susancunningham/2015/02/25/
mala ysias- an thon y- tan- leads- grabtaxi- in- regional- app- race/ (consultat 27.04.2015).
[5] Th ynell, Marie, History and ge o gr aphy of urb an tr ansp ort; some p ersp e ctives on human
b ehaviour and the r ole of infr astructur e.
h ttp://www.vref.se/do wnload/18.46d8812211a06b927e7800020198/1377188293250/
Summary_FUT.p df (consultat 27.01.2015).
[6] W olton, D., Internet et apr è? Une thé orie critique des nouve aux mé dias , P aris, Flam-
marion, 1999.
[7] h ttp://www.iru.org/cms- lesystem- action/mix- publications/
0320HLGT axirecommendations_w eb.p df (consultat 12.05.2015).
[8] h ttp://en.wikip edia.org/wiki/T axicab (consultat 06.03.2015).
[9] h ttp://ro.wikip edia.org/wiki/Smartphone (consultat 12.11.2014).
[10] h ttp://en.wikip edia.org/wiki/Smartphon (consultat 12.11.2014).
[11] h ttp://simple.wikip edia.org/wiki/Smartphone (consultat 12.11.2014).
[12] h ttp://en.wikip edia.org/wiki/Mobile_op erating_system (consultat 12.11.2014).
[13] h ttp://en.wikip edia.org/wiki/T ablet_computer (consultat 19.03.2015).
54
Mic hael F athi Afana BIBLIOGRAFIE
[14] h ttp://ro.wikip edia.org/wiki/Calculator_tabletÄ (consultat 19.03.2015).
[15] h ttp://en.wikip edia.org/wiki/Easy_T axi (consultat 25.05.2015).
[16] h ttps://pla y .go ogle.com/store/apps/details?id=ro.startaxi.android.clien t&hl=ro (con-
sultat 25.05.2015).
[17] h ttp://www.taxizapp.com/ (consultat 09.02.2015).
[18] h ttps://www.clev ertaxi.com/ro/ (consultat 14.01.2015).
[19] h ttps://itunes.apple.com/ro/app/star- taxi/id564195177?m t=8
(consultat 14.01.2015).
[20] h ttp://www.hotnews.ro/prin t?articleId=14210132 (consultat 12.01.2015).
[21] h ttps://www.telek om.ro/business/taxi- managemen t- system/
(consultat 12.01.2015).
[22] h ttp://www.esri.com/what- is- gis (consultat 22.03.2015)
[23] h ttp://www.w3.org/P eople/Berners- Lee/ (consultat 22.09.2014)
[24] h ttp://ro.wikip edia.org/wiki/HTML5#Markup (consultat 24.09.2014)
[25] h ttp://www.mio.com/tec hnology- gps- w ork.h tm (consultat 03.04.2015)
[26] h ttp://www.w3.org/St yle/CSS/ (consultat 07.10.2014)
[27] h ttp://alistapart.com/article/resp onsiv e- w eb- design (consultat 29.09.2014)
[28] h ttp://go ogleblog.blogsp ot.ro/2005/02/mapping- y our- w a y .h tml
(consultat 19.02.2015)
[29] h ttp://go oglegeo dev elop ers.blogsp ot.ro/2009/05/announcing- go ogle- maps- api- v3.h tml
(consultat 23.01.2015)
[30] h ttps://php.net/man ual/ro/history .php.php (consultat 03.05.2015)
[31] h ttp://en.wikip edia.org/wiki/One- time_passw ord (consultat 18.04.2015)
55
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: Universit a tea din Craio v a [601749] (ID: 601749)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
