Programul de studiu Informatică [624155]

Universitatea TRANSILVANIA din Brașov
Facultatea de Matematicǎ și Informatică
Programul de studiu Informatică
Lucrare de licența/
disertație
Titlul lucrării
Autor: Pălie Nicoleta
Coordonator științific: Conf. univ.dr. DEACONU Adrian
Brașov,2017

Introducere
Subtitrarea este procesul de traducere textuală a replicilor unor actori străini în limba oficială a țării
în care este difuzat filmul respectiv. Subtitrarea încurajeaza învățarea și perfecționarea limbiilor străine.
Telespectatorii se împart in doua categorii: cei cunoscatori de limba straină in care este difuzat filmul si
cei necunoscatori. Pe cei cunoscatori, subtitrarea îi ajuta pentru a imbunatatii pronunția, deoarece se
pastreaza calitatea si autenticitatea filmului. Prin sincronizarea imagine-cuvant subtitrarea ii ajuta pe cei
necunoscatori sa retina mai usor anumiti termeni uzuali. În concluzie, sincronizarea subtitrarilor
joacă un rol foarte important pentru pasionatii de filme.
O aplicatie necesita echipa de dezvoltare,bug-uri, testare de cate ori apare o versiune noua a
sistemului de operare, update-uri periodice, memorie. Asadar, o aplicatie necesita timp si costuri
suplimentare.
Spre deosebire de aplicatie, pagina web este mai usor de accesat si nu necesita memorie. Cu un
simplu click se deschide un browser si se poate accesa pagina dorita, fara alte costuri. O
pagina web se creaza cu HTML, Hypertext Markup Language, este un limbaj pentru organizarea și
prezentarea conținutului unei pagini web pe care browserele de internet il intelege. HTML conține un set
standar de coduri care indică în ce mod documetele vor fi afisate pe pegina web. Paginile HTML sunt
create din etichete sau tag-uri si au extensia „.html” sau „.htm”[1]. PHP, Hypertext Preprocessor, este
un limbaj de programare open-source si server- sive, creaza pagini web dinamice. Codul PHP poate fi
înglobat in cod HTML, dar totodata poate fi si gazdă pentru HTML. De la versiunea 4.3.0 se pot creea
aplicatii independente. CSS, Cascading Style Sheets , ajuta la formatarea continutului unui document
HTML. Cu ajutorul unor fișiere externe sau prin elementul <style> și/sau atributul style se pot atasa
stiluri pentru elemente HTML. CSS este folosit si pentru formatarea elementelor XHTML, XML si
SVGL.

În cadrul acestei lucrari de licentă am pregătit un site web, care, pe baza unei subtitrari
încarcate, un utilizator are posibilitatea de a descarca subtitrarea originala. In cazul in care
subtitrarea originală nu este cea in limba dorita, utilizatorul poate traduce subtitrarea existentă
in diferite limbi, puse la dispoziție. În cazul în care subtitrarea nu este sincronizată cu filmul,
se poate incarca pe pagina subtitarea și filmul cu care se doreste sincronizarea, pentru această actiune
este necesar un cont.

Tehnologii utilizate
Tehnologii web: HTML5
HTML reprezintă abrevierea de la Hypertext Markup Language și este un limbaj care ajută la
prezentarea și organizarea conținutului unei pagini web pe care browserele de internet il intelege. HTML
are ca obiectiv prezentarea informațiilor – paragrav, fonturi, tabele, ș.a.m.d- decât descrierea semanticii
documentului.
HTML este un format text creat pentru a putea fi editat și citit de oamenii folosind un editor te
text simplu. Cu toate acestea pentru a crea sau a edita o pagina HTML sunt necesare cunostințe de
HTML.
Paginile HTML inglobeaza un set standar de coduri care arată modul in care vor fi afisate
documentele pe pegina web. Acestea sunt create din etichete sau tag-uri si au extensia „.html” sau „.htm” .
[1]. De obicei etichetele sunt formate din doua parti, una pentru deschidere <eticheta> si alta pentru
închidere </eticheta> , o alt procedeu este cazult in care etichetele nu sunt formate din două parti
<eticheta /> . Unele etichete conțin anumite valori:

Un document HTML conține:
1. versiunea HTML a documentului
2. zona head cu etichetele <head> </head>
3. zona body cu etichetele <body> </body> sau <frameset> </frameset>
Versiune HTML:
<!DOCTYPE HTML>

Etichetele <html> și </html> repezintă începutul si sfarșitul unei pagini web, interiorul etichetelor
se afla perechile <head>, </head> și <body>, </body>.
Tag-uri
Orice fișier html are urmatoarea structura:
Dezvoltatorul limbajului HTML a fost Tim Berners-Lee la CERN in 1989, HTML a fost văzut ca o
posibilitate de transmitere de informarții pentru fizicieni utilizatori de computere diferite si pentru
transmiterea de informatii cu ajutorul Internetului. Pentru aceaste actiuni erau necesare căteva trasaturi :
independența de platformă, posibilitați hypertext și structurarea documentelor. Independența de platforma
repezintă procesul in care un document este afisat in mod identic de computere diferite. Unul dintre
caracteristica cea mai importantă a limbajului este portabilitatea, adică toate documentele sursă
HTML trebuie să arăte identic pe toate tipurile de calculator și în toate sistem de operare
Limbajul HTML oferă proiectanților de pagini Web următoarele posibilități[3].:
1. Să publice documente cu headere, texte, tabele, liste, fotografii, etc;
2. Să regăseascã on-line informațiile prin intermediul hiperlink-urilor printr-un
simplu click de mouse;
3. Să proiecteze formulare pentru realizarea tranzacțiilor cu servere aflate la
distanțã pentru căutări de informații sau pentru activități specifice comerțului;
4. Să includa foi de calcul tabelar, clipuri video, sunete și alte aplicații direct în
documente.

Încă de la creare,fieacare document HTML, conține două părți esentiale: un antet și un corp.
Acestea nu sunt special delimitate, dar HTML presupune existența lor. HTML da posibilitatea
utilizatorilor de
a pune in plus și alte componente paginii, sub forma foilor de stil, scripturi si seturi de cadre.
În HTML există două etichete în afara structurii documentului:docype si html. Doctype stabilește
versiunea de HTML, utilizată pentru pagina creata și regulile pe care le respectă . A doua etichetă
identifică un limbaj global și direcția textului pentru documentul respectiv, în plus marchează
începutul și sfârșitul conținutului HTML[3].
HTML5 repezintă cea de a cincea modificare a standardului HTML. Scopurile sale au fost de a
aduce in stare mai bună limbajul cu suportul pentru cele mai recente apartiții multimedia în același timp
mentinând-l ușor de citit de oamenii si bine înteles de computere si device-uri. [2].HTML5 utilizeaza
World Wide Web, împreuna cu XHTML, astfel
este o combinatie de caracteristice exsitente de specificații diferite. HTML5 este o încercare de a defini un
singur limbaj de marcare, care ar putea fi scris in oricare dintre sintaxele HTML și/sau XHTML.
HTML5 vine cu multe caracteristici sintactice, printre care se afla si elemente ca <video>,
<audio>, <header> și <canvas> , precum și integrarea conținutului SVG care a înlocuit utilizarea tag-ului
generic <object> . Aceste noutați sunt create pentru a ușura crearea de pagină web. Alte noi elemente ca
<section>, <article>, <header> și <nav> sunt făcute pentru a îmbunătatii conținutul semnatic al
documentelor. Unele atribute au fost șterse inclusiv elementul de prezentare <font> și <center>, care azi
se realizeaza cu CSS (Cascading Style Sheets ) . Alte atribute au fost schimbate, redefinite si
standardizate, de exemplu: <a>, <cite> și <menu>. Certitudinile si părtile fundamentale în specificațiile
HTML5 sunt API- urile si DOM-uril (document object model). În comportamentul web se pune accent
pe importanța DOM scripting (e.g. JavaScript). SGML nu mai este baza sintaxei HTML5.
HTML5 aduce scriptingul API (application programming interfaces). Interfața existentă document
object model (DOM) este extinsă de fapt cu caracteristici noi, documentate. Sunt noi API-uri, cum ar fi:
-Elementul canvas pentru modul de desen 2D.

-Timed media playback – mod de redare media cronometrat
-Offline storage database (offline web applications)[32]
-Editare de documente
-Drag-and-drop
-Mesagerie Cross-document[33]
-Managementul de istorie a browserului
-MIME type și protocolul de manipulare a înregistrărilor
-Microdata
PHP
Php este un limbaj de progrmare structurat, distribuit gratuit, numele provine din limba engleză si
este un acronim recursiv : Php: Hypertext Preprocessor. Este folosit pentru a dezvoltarea aplicatiilor web
dinamice si permite controlul unor aplocații software.
PHP este unul dintre cele mai importante de programare web ,open-source și server-side, care
permite controlul unor aplicatii software. Totodată PHP-ul este unul din cel mai folost limbaj de
programare server-site, conform unui studiu din 2002, acest lucru se datorează următoarelor caracteristici:
Familiaritate : sintaxa limbajului este usoară, combinând sintaxele limbajelor Perl și C;
Simplitate : nu este necesara includerea de biblioteci
Eficență : PHP utilizeaza alocarea de resurse
Securitate : PHP pune la dispozitie un set eficinet și flezibil de măsuri de sigurantă
Flexibilitate : fiind creat pentru dezvoltare web, acesta nu este legat de un anumit server
web.
Gratuitate : PHP-ul este un limbaj de programare gratuit, această caracteristică este cea
mai importantă.

Istoricul versiunilor
Rasmus Leordorf a fost cel care a dezvoltat limbajul PHP, dar dezvoltarea a fost preluata de o noua
entitate, numita The PHP Group (Groupul PHP), odata cu creșterea numărului de utilizatori.
Utilizare

Php este simplu de utilizat, fiind un limbaj de programare structurat. Codul PHP poate fi inclus in
cod HTML, dar poate fi cod de sine statator. Limbajul PHP este un limbaj “server-side”, astfel acesta se
executată pe un server. Serverul web este serverul care găzduieste pagini web. O pagina web este pusa la
dispoziție cu ajutorul protocoalul HTTP. Severul ruleaza pe un calculator -server, astefel nu există
resurse pentru executarea comenzile pe un calculator client, așadar executia operatiilor
se face pe calculatorul-server, iar rezultatele sunt primite pe calculatorul-client.
În trei tipuri de aplicatii sunt folosite scripturile PHP:
Scrierea de aplicatii desktop
Scrierea de instructiuni in linie de comanda, necesita doar de un interpretor PHP.
Scrierea de software “server-side”.
Tipuri de date
1. Boolean
2. Integer
3. Float
4. String
5. Array
6. Obiecte
7. Resurse
8. NULL
Programare orientata pe obiecte
Principiul programarii orientate pe obiecte a fost introdusă in PHP de abia de la versiunea PHP 3,
dar nu cu prea mult succes deaorece obiectele erau tratate ca un tip de date basic. De abia de la versiunea

PHP 5 s-au introdus constructori, desctrutori, clase abstracte, metode protejate si private. Utilizarea
programarii orientate pe obiecte:

Sintaxă
Programatorii avansatii scriu astfel sintaxa de mai sus:
CSS
CSS , Cascading Style Sheets, ajută elementele dintr-un document HTML la formatare. Atașarea
stilurilor unor elemente HTML se face cu ajutorul unor fisiere externe sau direct din unui document
HTML, prin elementul <style> și/sau atributul style.
CSS3 este un update ce aduce în plus noi atribute și ajută la dezvoltarea noilor concepte de
webdesign.
Cele mai însemnate noi module în CSS3 sunt:

Selectors
Box Model
Backgrounds and Borders
Image Values and Replaced Content
Text Effects
2D/3D Transformations
Animations
Multiple Column Layout
User Interface
Însă există unele probleme de potrivire între browsere, multe din proprietatile CSS3 au fost
programate cu rezultate pozitive in variantele browserelor noi.
Moștenirea
Mostenirea este un principiu de baza in CSS, relația cheie este strămoș – descendent, pentru a
funcțioana. Moștenirea este modul de functionare a proprietaților aplicate nu numai pentru un element
specific, dar și pentru descendenții săi. Elementele descendente pot moștenii valorile proprietețiilor CSS
din oricare element stramoș., în genereal, sunt mostenite proprietați de text. Litere-spatiere, lista de stil,
spatiu alb, culoare , linie de înaltime, vizibilitate, text- tranformare, font, listă de stil, text liniută ,
cuvanânt spatiere, text-align, sunt proprietatiile care pot fi moștenite. O parte din proprietațile care nu se
moștenesc sunt de frontierea, de fond, înaltime si lătime, afișare, min si max pentru înaltime si lățime,
poziție, aliniatul . Moștenirea în CSS previne unele proprietați de a fi declarate de mai multe ori, în
aceeasi foaie de stil.
Exemplu

Să presupunem ca există un elemen H1 cu un alt element em, in interior.

Dacă em nu are atribuită nicio culoare, acesta o sa mostenească culoare părintelui H1. Elementul H1 are
culoare roz, în concluzie atributul culoare a lui em o sa fie tot roz.
Rezumatul principalelor module-specificatii: [5]
Cateva din avantajele limbajului CSS
Delimitează conținutul de prezentare- CSS ajută la publicarea de conținut în mai multe
forme de prezentare, care au la baza parametrii nominali.
Accesibilitatea – împiedica pentru utilizatorii cu probleme de vedere

Reformatarea de pagini- printr-o schimbare de linie, o foaie de stil poate fi utilizată pentru
aceeași pagină
Consistența la nivel de site -prin pincipiul de moștenire o foaie de stil globală poate fi
folosită pentru afectarea elementelor la nivel de site.
Cadre CSS
Cadreele CSS sunt biblioteci destinate accesari ușoare pentru stilizarea unei pagini web
folosind Cacading Style Shetts. Asemenea bibliotecilor limbajului de scripting si programare, cadrele CSS
sunt adaugate ca fisiere cu extensia .css la care se pot face referire din HTML. Cadrele au fost create
pentru a ajuta utilizatorul la proiectarea si asezarea unei paginii web. Unii utilizatori folosesc cadrele
în scopul de a realiza prototipuri rapide.
Python
Python este un limbaj de programare, dezvoltat de Guido van Rossum in 1991..Python pune foarte
mult accent pe aranjarea codului (spațile albe sunt folosite pentru a delimitarea blocurilor de cod, nu există
acolade). Implementarea se poate face in mai puține linii de cod decât in alte limbaje de programare, cu ar
fi C++ sau Java.
Pythonul suportă mai multe paradigme de programare , inclusiv orientarea pe obiecte ,
programarea imperativa,sau funcțională , și procedurala.. Ea are o mare și cuprinzătoare biblioteca
standard .
Interprtarea Python este disponibila pentru mai multe sisteme de operare , permițând codului
Python rularea pe o mare varietate de sisteme. Python, este open source și are un model de dezvoltare
bazat pe comunitate.

Python a fost proiectat pentru a fi foarte flexibil. Python pot fi , de asemenea , încorporat în
aplicații existente , care au nevoie de o interfață programabilă. Acest design de un mic limbaj de bază , cu
o mare biblioteca standard și un interpret ușor extensibil a fost creat de Van Rossum , din cauza
frustrărilor sale cu ABC , care a îmbrățișat mentalitatea opusă.
Dezvoltatorii Python încearcă să evite orice optimizare prematură , și în plus, respinge patch – uri pentru
piese de bază non-critice ale CPython care ar oferi o creștere marginală a vitezei la costul de claritate. [47]
Atunci când viteza este importantă, un programator Python poate muta funcții de timp critice pentru
module de extensie scrise în limbi , cum ar fi C, sau încercați să utilizați PyPy , un compilator just-in-
time . Cython este de asemenea disponibil, sa traduca un script Python în C și face direct la nivel de C
apelurile API în interpretul Python.
Python este destinat să fie un limbaj extrem de ușor de citit. Acesta este conceputul pentru a avea un
aspect vizual neaglomerat. Python nu are punct și virgulă și acolade „{}“ , este diferit în
comparație cu cea mai mare parte a limbajului de programare. Mai mult, Python are mai puține excepții
sintactice și cazuri speciale decât C sau Pascal . Python folosește spațiu gol de amprentare pentru a
delimita blocuri – mai degrabă decât acolade sau cuvinte cheie.
Metodele privind obiectele sunt funcții atașate clasei obiectului; sintaxa instance.method(argument) este,
pentru metodele și funcțiile normale, . Metodele Python au un parametru explicit self pentru a avea acces
la instalțele de date , în contrast cu implicitul self(sau this) din alte limbaje de programare orientate-
obiect ( de exemplu, C ++ , Java , Objective-C , sau Ruby ).
Python are o mare biblioteca standard , fiind unul dintre cele mai mari forțe Python, care furnizează
instrumente potrivite pentru multe sarcini. Există biblioteci pentru aplicații orientate spre Internet, in
mai multe formate și protocoale (cum ar fi standard , MIME și HTTP ) . Modulele pentru crearea
de interfețe grafice , conectarea la baze de date relaționale , generarea de numere pseudoaleatoare ,
aritmetica cu zecimale precizie arbitrară, manipularea expresii regulate , și de a face unitate de testare
sunt de asemenea incluse in
Python.

Unele părți ale bibliotecii standard , sunt acoperite de specificații (de exemplu, Server Web Gateway
Interface punerea în aplicare (WSGI) wsgiref. Pentrucă cea mai mare parte a bibliotecii standard este
cross-platform cod Python.
Dezvoltarea Python este realizată în mare parte prin procesul Python Enhancement Proposal
(PEP). Procesul de PEP este mecanismul principal pentru a propune noi caracteristici majore, de a colecta
contribuiția comunității pe o problemă, precum și de a documentarea deciziilor de proiectare , care au
intrat în Python. PEP-urile remarcabile sunt revizuite și comentate de comunitatea Python și de Van
Rossum.
Îmbunătățirea limbajului merge mână in mână cu dezvoltarea implementării de referințe CPython. Lista
de discuții python-dev este principalul forum de discuție despre dezvoltarea limbajului; aspecte specifice
sunt discutate în Roundup tracker bug – ul Dezvoltare a avut loc pe un autogăzduit depozit de cod sursă
pe care ruleazăMercurial , până când Python sa mutat la GitHub în ianuarie 2017.
Descracrile publice ale lui CPython sunt disponibile în trei tipuri, care disting prin care o parte din
numărul de versiune este incrementat:
•Versiunile incompatibile, în cazul în care este de așteptat să se rupă codul și trebuie să fie hand
ported. Prima parte a numărului versiunii este incrementata. Aceste versiuni sunt foarte rar întalnite,
versiunea 3.0 a fost lansat la 8 ani de la 2.0.
•Versiuni majore sau „caracteristice“, sunt în mare parte compatibile , dar introduc noi caracteristici. A
doua parte a numărului versiunii este incrementat. Aceste versiuni sunt programate să apară aproximativ
la fiecare 18 luni, iar fiecare versiune majoră este susținută de bug-uri de mai mulți ani de la lansare.
•Rapoartele Bugfix, nu vor iniția noi caracteristici , dar repara erori. A treia și ultima parte a numărului
versiunii este incrementat. Aceste emisii sunt realizate ori de câte ori un număr suficient de bug – uri au
fost fixate în amonte de la ultima versiune, sau aproximativ la fiecare 3 luni. Vulnerabilitățile de securitate
sunt , de asemenea , patch – uri în versiunile bugfix. [102]
Multe alpha, beta, și candidați de lasare sunt,de asemenea , publicate in avanpremiere și pentru testarea
înainte de lasarile finale. Deși există un program dur pentru fiecare lansare, acest lucru este adesea împins
înapoi în cazul în care codul nu este gata. Echipa de dezvoltare monitorizează starea codului prin rularea,
folosind sistemul de integritate BuildBot .
Comunitatea de dezvoltatori Python a contribuit , de asemenea , peste 86000 [104] module software
(începând cu 20 august 2016 ) , cu Python Package Index (PyPI), biblioteca oficială Python.
Cea mai mare conferință academică pe Python este numit a PyCon . Există programe speciale
de mentorat , cum ar fi Pyladies .
design și filozofia Python au influențat mai multe limbaje de programare, inclusiv:
•Boo folosește o sintaxă similară, și un model similar. Cu toate acestea, Boo folosește dactilografiere
statice și este strâns integrat cu .NET Framework . [141]
•Go este descris ca incorporând „viteza de dezvoltare de a lucra într – un limbaj dinamic , cum ar fi
Python“. [145]

•Groovy a fost motivată de dorința de a aduce filozofia de design Python pentru Java . [146]
.
•OCaml are o sintaxă opțională, TWT numit (The Thing Spațiul alb), inspirat de Python
și Haskell . [147]
•Ruby creatorului, Yukihiro Matsumoto , a declarat: «Am vrut un limbaj de scripting , care sa fie mai
puternic decât Perl, și mai mult obiecte-orientate decât Python De aceea am decis să proiecteze propria
mea limbă.». [148]
•CoffeeScript este un limbaj de programare care eco-compilează JavaScript; are sintaxa Python-
inspirat.
•Swift este un limbaj de programare inventat de Apple; ea are unele sintaxa inspirate Python. [149]
Practicile de dezvoltare Python au fost , de asemenea , imitat si de alte limbaje.

Similar Posts