Portal Băile Felix
Cuprins
1.Introducere…………………………………………………………………………………..4
2. Fundamentare teoretica……………………………………………………………………..6
2.1 Baze de date .……………………………………………………………………………7
2.1.1 Tipuri de date în MySQL…………………………………………………………7
2.1.2 Crearea unei tabele în baza de date……………………………………………….7
2.1.3 Inserarea datelor în baza de date………………………………………………….7
2.1.4 Modificarea tabelelor……………………………………………………………..8
2.1.5 Ștergerea de înregistrări din baza de date…………………………………………8
2.1.7 Ștergerea unei baze de date……………………………………………………….8
2.2 Aplicatii web……………………………………………………………………………8
3. Tehnologii utilizate…………………………………………………………………………11
3.1 HTML5…………………………………………………………………………………11
3.1.1 Nivelul de support……………………………………………………………….12
3.1.2 Structură și semantică……………………………………………………………12
3.1.3 Aplicații cache offline……………………………………………………………12
3.1.4 Drag and Drop……………………………………………………………………12
3.1.5 Geolocation………………………………………………………………………12
3.1.6 Audio și video……………………………………………………………………13
3.1.7 Formulare de introducere………………………………………………………..13
3.2 CSS3……………………………………………………………………………………13
3.3 SQL……………………………………………………………………………………14
3.4 JavaScript………………………………………………………………………………15
3.5 JQuery…………………………………………………………………………………16
3.6 PHP……………………………………………………………………………………18
3.7 XAMPP……………………………………………………………………………….20
3.8 Notepad++…………………………………………………………………………….21
4. Prezentarea aplicatiei………………………………………………………………………22
5. Concluzii
Bibliografie
Introducere
Prezentare tema
Am ales ca temă pentru lucrarea de diplomă să creez un portal pentru Băile Felix deoarece sunt pasionat de tursim și statiunea Băile Felix reprezintă unul dintre principalele obiective turistice ale județului Bihor.
Este o temă destul de complexă care m-a ajutat să îmi îmbogățesc cunoștințele atât în domeniul turismului cât și în programare, web design și baze de date.
Scopul acestei aplicații este în principal acela de promovare a stațiunii și de informare în legătură cu facilitațile acesteia și cu posibilitățile de cazare.Aplicația a fost creată pentru a fi ușor de utilizat și este destinată oricărui tip de utilizator.
Un portal este destinat să răspundă unor nevoi polivalente, dar mai ales de informare.
Portalurile web sunt site-uri web cu o structură și o complexitate mai mare care poate oferi o gamă largă de servicii, ce subsumează o mare varietate de conținut și link-uri către alte site-uri. Pe lângă activitatea sa, un portal web poate pune la dispoziție forum-uri, magazine electronice, motoare de căutare, radio online și alte opțiuni. În general structura unui portal web este compus din două elemente: „front-end” interfața cu clienții și utilizatorii și „back-end” interfața cu administrarea tuturor informațiilor oferite prin intermediul portalului. Un portal calitativ trebuie să conțină: un meniu structurat pe mai multe nivele, conturi de utilizatori, formulare interactive, motoare de căutare, modul de login și alte opțiuni. Se întâlnesc următoarele tipuri de portaluri: [21]
– Portal regional – este un portal ce reprezintă informații din anumite regiuni geografice. Afișează starea vremii, știrile locale, anunțuri, hărți, afaceri locale.
– Portal corporativ – este un portal intern pentru o anumită companie. Acest tip de portal poate include soluții de management al fluxurilor de lucru, de colaborare între grupuri, de management al relațiilor cu clienții sau alte procese. [21]
– Portal guvernamental – portal ce conține informații despre o anumită instituție guvernamentală , documente, fișe și programe pentru descărcare.
– Portal sportiv – un portal ce conține informații despre un anumit sport sau poate fi global, conține informații despre competiții și știri sportive
– Alte portaluri specifice pentru un anumit domeniu [21]
Băile Felix
Prezentare
Băile Felix sunt o stațiune balneo-climatică în perimetrul comunei Sânmatin din județul Bihor, România. Băile Felix se află la circa 6 km sud de municipiul Oradea. Este cea mai mare stațiune balneară cu regim permanent din România, situându-se pe locul doi, după litoralul Mării Negre, în privința numărului locurilor de cazare din România. Facilitățile existente în această stațiune permit tratarea cu succes a reumatismului și afecțiunilor neurologice, ginecologice, iar bazele medicale dispun de instalații pentru metode ca electroterapia, hidroterapia, aerosoli, masaje, împachetări cu parafină și alte operațiuni specifice tratamentelor balneare. Stațiunea Băile Felix permite și efectuarea unui turism de relaxare. [20]
Istoric
Izvoarele termale au fost puse în valoare în secolul al XVIII-lea de călugărul Felix Helcher de la mănăstirea Klosterbruck din Moravia, administrator al mănăstirii din Sânmartin. Între 1711-1721 au fost organizate primele așezăminte pentru tratament, sub numele de „Baia lui Felix”. Felix Helcher a murit în anul 1737.În anul 1885 a fost captat un nou izvor, cu o temperatură de 49°C.Izvoarele termale au fost descoperite, după unii în jurul anului 1000, după alții, în jurul anului 1200, iar potrivit altor experți au fost descoperite abia pe la 1700. Singurul fapt nedisputat de istorici este apariția primelor clădiri în această stațiune: între anii 1711-1721. [20]
Turism
Băile Felix este cea mai mare stațiune cu funcționare permanentă din România. Se află la ca. 6 km de Oradea. Temperatura apelor termale este între 20-49 grade Celsius. Datorită conținutului ridicat de săruri minerale, medicii interniști recomandă pacienților tratamentele sau curele cu ape din băi. Prin rețeaua de hoteluri, Băile Felix oferă 7000 de locuri de cazare, precum și bazine de înot, ștranduri în aer liber sau acoperite și aer curat. Datorită climei blânde, în lacurile stațiunii trăiesc nuferi subtropicali. Datorită apelor termale și a numărului mare de turiști care vin an de an, în stațiunea Băile Felix s-a dezvoltat și sistemul de cazare privat. [20]
2. Fundamentare teoretica
2.1 Baze de date
În sens larg, o bază de date este o colecție de date organizată (structurată). O bază de date are, în principal, următoarele roluri: stocare (memorare) și organizarea datelor (structurare).
Ca și utilitate, bazele de date ne permit memorarea unor cantități mari de date, regăsirea datelor pe baza unor criterii ce căutare (ce sunt legate în mod direct de structurarea datelor), dar și prelucrarea unor volume mari de date (filtrare, ordonare, agregare). [25]
Bazele de date relaționale sunt un tip de baze de date în care datele, văzute ca și atribute ale entităților reale, sunt socate în tabele și sunt legate între ele prin relații. [25]
Acest mod de structurare a datelor, bazat pe legături între date, permite eliminarea redundanței, astfel încât stocarea și, mai ales, modificarea unei informații se face într-un singur loc, iar, din punct de vedere funcțional, această structură permite regăsirea, filtrarea, ordonarea și agregarea datelor, în mod natural. [25]
MySQL este un sistem de management al bazelor de date relaționale (RDBMS), ce nu conține interfață grafică pentru administrarea sau gestionarea datelor din bazele de date. Utilizatorii pot folosi instrumente de linie de comandă, aplicații desktop sau aplicații web cu care se pot administra și crea baze de date MySQL. [15]
Bazele de date sunt folosite pentru stocarea informatiilor in vederea furnizarii ulterioare in functie de solicitarea primita. [18]
In PHP exista functii pentru toate operatiile executate asupra bazelor de date MySQL.
Administrarea MySQL se poate face din linie de comanda sau folosind browserul si accesand aplicatia numita PHPMyAdmin scrisa in PHP. [18]
Cele mai uzuale operatii cu bazele de date sunt:
[18]
Utilizatorii unei baze de date pot efectua mai multe operații asupra datelor:
Inserarea de date (insert)
Ștergerea de date (delete)
Modificarea datelor (update)
Citirea bazei de date (query) pentru a extrage anumite date
Bazele de date relaționale sunt de departe cel mai folosit tip de baze de date. Acestea au o bază teoretică solidă în algebra relațională.
2.1.1 Tipuri de date în MySQL
În limbajul MySQL întâlnim mai multe tipuri de date:
[15]
2.1.2 Crearea unei tabele în baza de date
Mai înainte de a face vreo operațiune cu baza de date, trebuie să creăm o tabelă. O tabelă reprezintă o secțiune a bazei de date pentru stocarea unor informații structurate. Într-o tabelă vom defini diferite câmpuri care vor fi folosite în acea tabelă. [15]
2.1.3 Inserarea datelor în baza de date
Înainte de a putea face o mulțime de lucruri cu baza de date trebuie să stocăm niște date în ea. Acest lucru se face de obicei cu instrucțiunea INSERT.
Tabelele conțin linii de date organizate în coloane. Fiecare linie din tabelă descrie de obicei un obiect sau o relație din lumea reală, iar valorile din coloane pentru acea linie stochează informații despre obiectul din lumea reală. Instricțiunea INSERT o putem folosi pentru a introduce linii de date în baza de date. [15]
2.1.4 Modificarea tabelelor
În afară de actualizarea liniilor, este posibil să se modifice și structura tabelelor din baza de date. În acest scop se folosește instrucțiunea ALTER TABLE.
Dacă este specificată clauza IGNORE și încercăm să efectuăm o modificare în urma căreia vor apărea chei primare identice, prima va fi trecută în tabela modificată, iar restul vor fi șterse. [15]
2.1.5 Ștergerea de înregistrări din baza de date
Ștergerea de linii dintr-o bază de date este o operațiune foarte simplă. Pentu această operație se folosește comanda DELETE. [15]
2.1.6 Eliminarea unor tabele din baza de date
Uneori se dorește să se șteargă o întreagă tabelă. Acest lucru se poate face cu instrucțiunea DROP TABLE.
Această instrucțiune va șterge toate liniile din tabelă și va șterge chiar și tabela, deci trebuie utilizată cu mare atenție. [15]
2.1.7 Ștergerea unei baze de date
Pentru eliminarea întregii baze de date există instrucțiunea DROP DATABASE.
Această instrucțiune va șterge toate liniile, toate tabelele, toate indexurile și baza de date, deci trebuie folosită cu multă atenție!
MySQL poate fi rulat pe multe dintre platformele software existente: AIX, FreeBSD, GNU/Linux, Mac OS X, NetBSD, Solaris, SunOS, Windows 9x/NT/2000/XP/Vista. [15]
2.2 Aplicatii web
Interconectarea rețelelor de comunicație la nivelul întregului glob nu a reprezintat numai o realizare tehnică deosebită, care a impulsionat dezvoltarea puternică a industriei IT și a industriei telecomunicațiilor, ci și redefinirea conceptului de comunicare interumană. Astăzi “răsfoim” ziarele, facem cumpărături sau urmăm un curs de instruire stând comod în fața calculatorului de acasa și n-au trecut decât 20 de ani de când aceste lucruri existau doar în literatura științifico-fantastică. [19]
Cel mai popular serviciu oferit de rețeaua Internet este, fără îndoială, spațiul World Wide Web (WWW sau 3W), o uriașă rețea de informații care permite stocarea și accesarea documentelor hipertext, utilizând protocolul de transfer al fișierelor hipertext (HyperText Transfer Protocol). [19]
12 septembrie 1990 este considerată ziua oficială de naștere a spațiului WWW, odată cu apariția primei aplicații grafice capabile să acceseze documentele hipertext. [19]
Primul navigator ce permitea afișarea elementelor grafice a fost NCSA Mosaic, urmat la scurtă vreme de celebrul Netscape Navigator. Odată cu mărirea exponențială a numărului de servere din spațiul WWW și cu orientarea software-ului către aplicațiile cu interfață grafică, au fost dezvoltate numeroase navigatoare. În momentul de față, cele mai utilizate navigatoare sunt: Google Chrome, Mozilla FireFox, Internet Explorer și Opera. [19]
Web-ul nu trebuie confundat cu Internetul. Web-ul este doar o colecție uriașă de informație interdependentă, distriySQL poate fi rulat pe multe dintre platformele software existente: AIX, FreeBSD, GNU/Linux, Mac OS X, NetBSD, Solaris, SunOS, Windows 9x/NT/2000/XP/Vista. [15]
2.2 Aplicatii web
Interconectarea rețelelor de comunicație la nivelul întregului glob nu a reprezintat numai o realizare tehnică deosebită, care a impulsionat dezvoltarea puternică a industriei IT și a industriei telecomunicațiilor, ci și redefinirea conceptului de comunicare interumană. Astăzi “răsfoim” ziarele, facem cumpărături sau urmăm un curs de instruire stând comod în fața calculatorului de acasa și n-au trecut decât 20 de ani de când aceste lucruri existau doar în literatura științifico-fantastică. [19]
Cel mai popular serviciu oferit de rețeaua Internet este, fără îndoială, spațiul World Wide Web (WWW sau 3W), o uriașă rețea de informații care permite stocarea și accesarea documentelor hipertext, utilizând protocolul de transfer al fișierelor hipertext (HyperText Transfer Protocol). [19]
12 septembrie 1990 este considerată ziua oficială de naștere a spațiului WWW, odată cu apariția primei aplicații grafice capabile să acceseze documentele hipertext. [19]
Primul navigator ce permitea afișarea elementelor grafice a fost NCSA Mosaic, urmat la scurtă vreme de celebrul Netscape Navigator. Odată cu mărirea exponențială a numărului de servere din spațiul WWW și cu orientarea software-ului către aplicațiile cu interfață grafică, au fost dezvoltate numeroase navigatoare. În momentul de față, cele mai utilizate navigatoare sunt: Google Chrome, Mozilla FireFox, Internet Explorer și Opera. [19]
Web-ul nu trebuie confundat cu Internetul. Web-ul este doar o colecție uriașă de informație interdependentă, distribuită în calculatoare gazdă din întreaga lume, care formează un sistem standardizat global de distribuție a informațiilor hipermedia. [19]
Web-ul beneficiază de infrastructura rețelei Internet, de conceptele si protocoalele de transmitere a datelor care fac Internetul să funcționeze: modelul client-server și familia de protocoale TCP/IP. [19]
Întreaga istorie a spațiului WWW este strâns legată de evoluția conceptului de hypertext de la stadiul de simplă tipăritură electonică, prea puțin diferită de tipăriturile clasice, la stadiul de hipermedia, care permite înglobarea în cadrul unui document a mai multor medii de stocare și transmitere a informației. [19]
Traversarea unui sistem hipertext/hipermedia va fi posibilă cu ajutorul unei aplicații numită browser (navigator). Browserul este o aplicație client, care se execută pe calculatorul personal al utilizatorului și care negociază transferul datelor cu aplicația server, care se execută pe un calculator gazdă (host). [19]
Principalele avantaje ale unui sistem hipertext sunt următoarele:
Forma neliniară a hipertextului permite parcurgerea eficientă a conținutului;
Capacitatea imensă de stocare a informațiilor folosind sistemele hipermedia;
Sistemele hipertext oferă posibilitatea ca interogările, filtrările, diverse preferințe și adnotări ale utilizatorilor să fie folosite ori de câte ori este necesar, putând fi stocate în cadrul structurii hipertext a documentelor utilizate;
Independența de platforma hardware și software permite folosirea pe scară largă a documentelor hipertext;
Din punct de vedere practic, documentul hipermedia este un ansamblu compus din:
Fișiere text, ce conțin informația de tip text a documentului precum și informațiile privind structura, scopul documentului si informații de legătură cu fișierele multimedia. Se utilizează un sistem de marcare, asemănător sistemului folosit în tipografii, numit limbajul HTML – Hypertext Markup Language. [19]
Fișiere ce conțin imagini statice, sunet, video, aplicații. Memorarea datelor este realizată în funcție de tipul mediului folosit, existând diverse formate de stocare gratuite sau proprietare. De exemplu, formatele cele mai populare pentru memorarea graficii sunt JPEG, GIF și PNG, iar pentru sunet WAV, MP3, VMA, MIDI. Limbajele de marcare nu sunt limbaje de programare în sensul uzual, deci nu utilizează formulări imperative – instrucțiuni – în stocarea și accesarea informației. Limbajele de marcare utilizează etichete (labels) sau marcaje (tags), care definesc:
structura unui document, prin delimitarea secțiunilor documentului și a relațiilor
dintre acestea;
modul de prezentare a secțiunilor documentului. [19]
O aplicație web este un program care rulează într-un browser web și este creata într-un limbaj de programare interpretabil de către browser (cum ar fi o combinație de JavaScript, HTML și CSS), și se bazează pe un browser web pentru interacțiune. Aplicațiile Web sunt populare din cauza omniprezenței browserelor web și comoditatea de a folosi un browser web ca și client. Capacitatea de a actualiza și menține aplicații web fără distribuirea și instalarea software-ului pe potențial de mii de calculatoare client este un motiv cheie pentru popularitatea lor. O alta mare calitate a aplicaților web o reprezinta faptul ca sunt imune la schimbarea sistemelor de operare (Windows/Linux/Machintos, etc.). Aplicații web comune includ webmail, vânzare on-line cu amănuntul, licitații online, wiki-uri și multe alte funcții. Aplicațiile web sunt disponibile oricând, 24/7 de la orice terminal conectat la internet, oferind astfel o accesibilitate de ne-egalat. [22]
Un exemplu de aplicatie online este webmailul sau de ce nu, programul de facturare, CMS-ul, sau aplicatia de Newsletter. [23]
Prin intermediul unei aplicatii online se pot stoca, gestiona, modifica, trimite, primi si procesa informatia folosind conectivitatea internerului, folosind mai multi utilizatori, mai multe statii de lucru si mai multe procese in acelasi timp. Deoarecere aplicatia este bazata pe internet nu exista incompatibilitati hardware, virusi, aplicatia si informatia fiind stocate pe un server securizat. [23]
3. Tehnologii utilizate
3.1 HTML5
HTML5 este un limbaj pentru structurarea și prezentarea conținutului pentru World Wide Web, fiind cea de-a 5-a revizuire a limbajului HTML(creat in 1990 și standardizat în 1997 ca HTML4) și este în curs de dezvoltare încă din octombrie 2011. [1]
Ceea ce cunoaștem astăzi sub termenul HTML5: un ansamblu de tehnologii care constituie web-ul modern, făcând posibile conținuturi multimedia, animații și aplicații tot mai sofisticate. Acest termen semnifică, practic, pentru cei mai neinițiați, tot ceea ce se poate face cu tehnologiile web moderne, chiar dacă uneori “trucul” respectiv se datorează mai mult CSS3, de exemplu. [2]
Standardul HTML5 a fost publicat de către W3C ca Working Draft în 2008, un stadiu de „Recomandare W3C” fiind așteptat în 2014. WHATWG continuă să lucreze la HTML, renunțând însă la versionare. Astfel, specificațiile pentru HTML sunt considerate un „standard viu”, HTML5 rămânând doar un instantaneu al evoluției sale.[2]
Creatorii standardului și-au propus să păstreze lucrurile cât mai simple cu putință, ușurând munca dezvoltatorilor: [2]
pentru a fi valid, un document HTML5 are nevoie de un doctype foarte simplificat față de HTML 4 sau XHTML (<!DOCTYPE html>)
unele atribute nu mai sunt obligatorii (de exemplu, type pentru <script> și <link rel="stylesheet">)
unele elemente noi au fost adoptate urmărind practicile uzuale (<header>, <footer>, <nav>)
regulile de conformitate nu mai sunt atât de stricte, autorii fiind liberi să omită împrejmuirea atributelor cu ghilimele, de exemplu (atâta vreme cât acestea nu conțin spații).[2]
HTML5 a fost conceput pentru a fi compatibil și cu versiunile anterioare, ca urmare, orice document valid HTML 4 sau XHTML este și HTML5 valid, atâta timp cât folosește doctype-ul nou. Convenabil, fiindcă acest lucru înseamnă că nu trebuie să o luăm de la capăt și să uităm tot ce știm despre HTML.
3.1.1 Nivelul de suport
HTML5 nu este implementat în totalitate de niciun browser. Toate browserele moderne oferă, însă, suport pentru anumite funcționalități și chiar dacă implementările diferă câteodată, multe pot fi folosite chiar și astăzi. Site-uri precum Modernizr, care este o bibliotecă JavaScript ce detectează funcționalitățile HTML5 și CSS3 suportate de browserul vizitatorului, oferind astfel dezvoltatorului posibilitatea de a furniza soluții de rezervă în cazurile în care suportul lipsește. Site-ul CanIUse poate ajuta la decizia de a folosi sau nu o anumită funcționalitate, arătând dacă este sau nu implementată în browserele care sunt considerate relevante. [2]
3.1.2 Structură și semantică
Chiar dacă de la apariția CSS, rolul HTML a fost limitat la a defini structura unui document, nu și aspectul său vizual, cu HTML5 se pune și mai mult accent pe semantică, introducând noi elemente care dau posibilitatea autorilor de a defini mai specific părți ale documentului. În acest fel, el va putea fi înțeles și procesat mai bine de către terți, ca motoarele de căutare sau programele care asistă persoanele cu lipsuri de vedere.[2]
3.1.3 Aplicații cache offline
Aplicațiile HTML5 pot fi pornite pentru a rula offline. HTML5 oferă funcția de stocare offline, numit un cache al cererii pentru stocarea de fișiere. Deci, dacă utilizatorul este offline, browser-ul încă mai are acces la fișierele necesare. Acesta poate fi HTML, CSS, Javascript, sau oricare alte resurse necesare pentru a vizualiza pagina de web. [3]
3.1.4 Drag and Drop
HTML5 include o funcție Drag and Drop, care permite dezvoltarea de aplicații interactive. Cu Drag & Drop avem posibilitatea să mutăm orice element în locul dorit. [3]
3.1.5 Geolocation
Geolocation API în HTML5, ne permite să partajam locația cu site-uri de încredere, confidențialitatea fiind importantă în funcția de geolocalizare. Browser-ele nu au nevoie să trimită informații despre locație la site-uri web, fără permisiunea utilizatorului. De exemplu, dacă un utilizator accesează o pagină web, în care, de asemenea, este prezentă funcția de geolocalizare folosind browser-ul Firefox. Browser-ul va cere permisiunea, dacă utilizatorul dorește să împărtășească locația lui, iar dacă utilizatorul consimte, Firefox va aduna informații despre punctele de acces fără fir din apropiere și adresa IP a computerului vizitatorilor și va trimite aceste informații în Google Location Services, care este un serviciu de geolocalizare Firefox implicit, altfel, nu va împărtăși locația. [3]
3.1.6 Audio și video
În prezent, există facilități HTML necesare pentru punerea în aplicare a fișierelor multimedia. De aceea, fișierele media se includ în HTML folosind diferite plugin-uri, dar cu HTML5, acest lucru poate fi făcut foarte ușor, cu ajutorul elementelor audio și video, fără utilizarea de plugin-uri. [3]
3.1.7 Formulare de introducere
HTML5 introduce multe elemente noi de intrare, cum ar fi selectoare de culori, pop-up calendare și multe altele. Cu aceste funcții de intrare se poate crea o formă eficientă, cu un control mai bun al intrării și verificării. [3]
Toate aceste funcții fiind utile în realizarea aplicației web.
3.2 CSS3
CSS este un acronim, acesta provenind de la Cascading Style Sheets, iar CSS3 este cel mai nou standard CSS. Acesta a fost împărțit în “module”. Specificațiile vechi au fost separate în părți mai mici, iar noile specificații au fost de asemenea adaugate. [4]
Cele mai importante module CSS3 sunt:
Selectoarele (Selectors)
Model casetă (Box Model)
Fundaluri și Borduri (Backgrounds and Borders)
Efecte Text (Text Effects)
Transformări 2D/3D (2D/3D Transformations)
Animații (Animations)
Aspect Multi-Coloană (Multiple Column Layout)
Interfața Utilizator (User Interface) [5]
Deși au apărut unele deficiente de compatibilitate intre browsere, majoritatea proprietăților CSS3 au fost implementate cu succes in variantele browserelor noi.
Avantajele CSS:
– controlul layoutului documentelor dintr-o singura pagina de stiluri,
– controlul mai exact al layoutului,
– aplicare de layouturi diferite pentru tipuri media diferite (ecran, printare, etc),
– tehnici numeroase si sofisticate. [5]
Un lucru foarte important de știut înainte de a începe utilizarea acestor proprietăți, este faptul că nu toate browser-ele web suportă aceste stiluri, iar de cele mai multe ori, vom fi nevoiți să apelăm la prefixarea acestora, în funcție de suportul în diferite browsere. Prefixele pe care le vom apela în funcție de browser sunt:
-webkit- Specific browser-elor Webkit (Google Chrome, Safari și, în curând, Opera);
-moz- Specific browser-ului Mozilla Firefox;
-ms- Specific browser-ului Internet Explorer;
-o- Specific browser-ului Opera. [6]
CSS (Cascading Style Sheets), în traducere "foi de stil în cascadă" se ocupă în general cu aspectul și controlul grafic al elementelor din pagină, cum ar fi: textul, imaginile, fondul, culorile și așezarea acestora în cadrul ferestrei paginii. CSS folosește stiluri, acestea înglobează, sub un anumit nume, atribute de formatare care se aplică asupra unui element individual din pagină, asupra unui grup de elemente sau la nivelul întregului document.
Funcționează cu HTML, însă nu este HTML. El extinde funcționalitățile HTML, permițând redefinirea etichetelor HTML existente.
Un dezavantaj ar fi că unele browsere web nu sunt compatibile cu CSS, astfel că documentele HTML sunt afișate ca și cum CSS n-ar exista, dar cele mai cunoscute și utilizate browsere, cum ar fi: Mozilla Firefox, Google Chrome, Opera, și altele, sunt compatibile CSS. [7]
3.3 SQL
Limbajul SQL (Structured Query Language) este în prezent unul din cele mai puternice limbaje structurate pentru interogarea bazelor de date relaționale. Este un limbaj neprocedural și declarativ deoarece utilizatorul descrie ce date vrea să obțină, fără a fi nevoie să stabilească modalitățile de a ajunge la datele respective. [8]
Este un limbaj de programare specific pentru manipularea datelor în sistemele de manipulare a bazelor de date relaționale (RDBMS), iar la origine este un limbaj bazat pe algebra relațională. Acesta are ca scop inserarea datelor, interogații, actualizare și ștergere, modificarea și crearea schemelor, precum și controlul accesului la date. [8]
Instrucțiunile SQL pot fi grupate în:
instrucțiuni de definire a datelor, care permit descrierea structurii BD
instrucțiuni de manipulatea datelor: adaugă, șterge, modifică înregistrări
instrucțiuni de selecție a datelor, care permit consultarea BD
instrucțiuni de procesarea tranzacțiilor
instrucțiuni de control al cursorului
instrucțiuni pivind controlul accesului la date
A devenit un standard în domeniu (standardizat ANSI- ISO), fiind cel mai popular limbaj utilizat pentru crearea, modificarea, regăsirea și manipularea datelor de către sistemele de gestiune a bazelor de date relaționale. Pe lângă versiunile standardizate ale limbajului, există o mulțime de dialecte și variante, astfel sistemele de gestiune a bazelor de date sunt prevăzute cu diverse extensii. [8]
SQL permite atât accesul la conținutul bazelor de date, cât și la structura acestora.
Există 3 metode de bază privind implementarea limbajului SQL:
Apelare directă (Direct Invocation): instrucțiunile sunt introduse direct de la prompter
Modulară (Modul Language): folosește proceduri apelate de programele aplicației
Incapsulată (Embedded SQL): conține instrucțiuni încapsulate în codul de program
La aplicația realizată am folosit atât metoda încapsulată de apelare a instrucțiunilor SQL pentru manipularea datelor, cât și apelarea directă pentru executarea instrucțiunilor de creare a bazei de date împreună cu constrângerile definite pentru aceasta.
3.4 JavaScript
JavaScript este un limbaj de programare orientat pe obiecte bazându-se pe conceptul prototipurilor. Este folosit mai ales pentru introducerea unor funcționalități în paginile web, codul Javascript din aceste pagini fiind rulat de către browser. [9]
Limbajul este binecunoscut pentru folosirea sa în construirea paginilor de internet, fiind folosit și pentru accesul la obiecte încadrate (embedded objects) în alte aplicații. A fost dezvoltat inițial de către Brendan Eich de la Netscape Communications Corporation sub numele de Mocha, apoi LiveScript, și denumit în final JavaScript. [9]
Pentru a insera JavaScript într-un document HTML deja existent, este necesară introducerea în fișier a etichetelor <script> și </script> . Această etichetă necesită aributul " type ", sau atributul " language " ( acesta d in urmă este depreciat î n standardul XHTML) care va specifica browserului limbajul folosit pentru interpretarea codului inclus.
JavaScript organizează toate elementele unei pagini web într-o ierarhie. Toate elementele sunt văzute ca obiecte, ș i fiecare obiect are anumite proprietăți ș i metode. Cu JavaScript putem manipula ușor obiectele.Pentru aceasta, este importantă întelegerea ierarhiei obiectelor HTML.JavaScript intelege fereastra browser-ului ca pe un obiect “window”;acesta conține anumite elemente, cum ar fi de exemplu “bara de stare”.În fereastra browser-ului, putem încărca/afișa un document HTML.Pagina din interiorul browser-ului este un obiect document. [10]
Chiar dacă se aseamănă din punct de vedere al sintaxei și al numelui, în afara unor similarității, între JavaScript și limbajul Java nu există nici o legătură. Asemeni Java, JavaScript are o sintaxă asemănătoare cu cea a limbajului C, dar are mai multe lucruri în comun cu limbajul Self decât cu Java. [10]
JavaScript se folosește pentru scriptarea paginilor HTML, adică introducerea unor scripturi, cum ar fi: verificarea datelor introduse de utilizator, efecte de animație etc. [10]
La realizarea acestei aplicații am folosit JavaScript pentru slideshow-ul care este pozitiona sub meniu si la calendarul de pe prima pagina,atat in mod utilizator cat si pentru administrator.
3.5 JQuery
jQuery este o librărie Javascript ca și mootools, prototype, script.aculo.us etc.
jQuery e centrat pe lucrul si manipularea elementelor HTML si CSS in pagina web. Are de asemenea utilitati Ajax pentru transmitere de date la server, functii pt. lucru cu obiecte, array si evenimente.
Aproape toate scripturile facute cu jQuery functioneaza la fel in principalele navigatoare web.
Includere jQuery
Ca să lucrați cu jQuery trebuie mai intâi să includeti librăria de funcții jQuery în pagina HTML, ca orice fișier cu cod JavaScript.
Puteți găsi și descărca ultima versiune de la pagina http://jquery.com/. Salvați librăria jQuery pe server, într-un fișier cu extensia ".js", apoi includeți-l în documentul HTML, folosind următoarea sintaxă (in sectiunea HEAD):
<script type="text/javascript" src="jquery_file.js"></script>
Sau, în loc de a avea fișierul cu jQuery pe serverul dumneavoastră, o metodă alternativă de a include librăria jQuery este prin Google:
<scripttype="text/javascript"src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js"></script> [11]
jQuery are o documentație bine elaborată, bine structurată și ușor de înțeles, așa încât să se poată introduce repede cod pe pagina de web. În plus, are o promovare foarte mare, unde se pot găsi tutoriale, cod gata făcut, plugin-uri, la tot pasul.
jQuery se poate folosi pentru a rezolva următoarele probleme specifice programării web:
– selecții de elemente în arborele DOM folosind propriul motor de selecții open source Sizzle, un proiect născut din jQuery
– parcurgere și modificarea arborelui DOM (incluzând suport pentru selectori CSS 3 și XPath simpli)
– înregistrarea și modificarea evenimentelor din browser
– manipularea elementelor CSS
– efecte și animații
– cereri tip AJAX
– extensii
– utilităti – versiunea browser-ului, funcția each. [12]
Extensii
Plugin-urile sau extensiile sunt unele dintre cele mai interesante aspecte ale jQuery. Arhitectura sa permite programatorilor să dezvolte subaplicații bazate în biblioteca principală care extind funcțiile de bază jQuery cu funcții specifice plugin-ului. În acest fel biblioteca principală poate ocupa foarte puțin spațiu, iar extensiile necesare în anumite pagini web pot fi încarcate la cerere, doar când este nevoie de ele. Există un set de extensii principal numit jQuery UI( jQuery User Interface). jQuery UI ofera un set de extensii pentru interactivitate de bază, efecte mai complexe decât cele din biblioteca de bază și teme de culori. Avantajul jQuery UI față de alte extensii este că dezvoltarea și testarea acestor componente se face în paralel cu dezvoltarea bibliotecii principale, minimizând riscul de incomptibilitate. [12]
Orice programator poate crea o extensie și jQuery oferă publicare în catalogul de pe pagina proiectului în diversele categorii disponibile. [12]
De preferat ar fi să se descarce scriptul și să fie amplasat pe server pentru a evita anumite complicații sau alte neclarități. Link-urile de mai sus reprezintă calea către ultima versiune a librăriei.
3.6 PHP
PHP este limbajul ideal pentru construirea de pagini web dinamice, fiind ușor de învățat, software liber, se poate conecta la mai multe tipuri de baze de date și poate fi rulat pe mai multe platforme. Cel mai important aspect al limbajului este însă posibilitatea de a fi combinat cu cod HTML. Astfel putem crea pagini HTML statice și din loc în loc, acolo unde avem nevoie, să introducem dinamism cu ajutorul PHP.
[13]
Limbajul PHP a aparut în 1994, din nevoia lui Rasmus Lerdorf de a afla de câte persoane îi este vizitat CV-ul online. El a denumit setul de scripturi create PHP, acronimul pentru Personal Home Page, dar în următorii trei ani limbajul a evoluat, iar adevăratul succes a început să îl cunoască de când Zeev Suraski și Andi Gutmans au rescris motorul PHP de la cap la coadă, motor care poartă din versiunea 4 a PHP-ului numele Zend, o combinație de litere din prenumele creatorilor săi: Zeev și Andi. [13]
Fiind open-source, PHP beneficiaza de suport activ din partea comunitatii online, acesta fiind si motivul cresterii explozive a numarului site-urilor bazate pe PHP.
Interpretorul PHP este cel mai cunoscut limbaj de scripting folosit in acest moment pentru crearea site-urilor Web interactive. Denumirea este un "acronim recursiv" pentru Hypertext PreProcessor. Diferenta esentiala fata de alte limbaje de scripting (gen JavaScript) este faptul ca PHP este un interpretor server-side (operatiile sunt executate de catre server si nu pe calculatorul utilizatorului). Pentru a putea testa pagini PHP aveti nevoie de un server de web (Apache) si de pachetul PHP instalat.
[13]
Popularitatea de care se bucură acest limbaj de programare se datorează următoarelor caracteristici :
Familiaritatea: sintaxa limbajului este foarte ușoară combinând sintaxele unora din cele mai populare limbaje Perl sau C
Simplitatea: sintaxa limbajului este destul de liberă. Nu este nevoie de includere de biblioteci sau de directive de compilare, codul PHP inclus într-un document executându-se între marcajele speciale
Eficiența: PHP-ul se folosește de mecanisme de alocare a resurselor, foarte necesare unui mediu multiuser, așa cum este web-ul
Securitatea: PHP-ul pune la dispoziția programatorului un set flexibil și eficient de măsuri de siguranță
Flexibilitatea: fiind apărut din necesitatea dezvoltării web-ului, PHP a fost modularizat pentru a ține pasul cu dezvoltarea diferitelor tehnologii. Nefiind legat de un anumit server web, PHP-ul a fost integrat pentru numeroasele servere web existente: Apache, IIS, Zeus, server, etc.
Gratuitatea : este probabil cea mai importantă caracteristică a PHP-ului. Dezvoltarea PHP-ului sub licența open-source a determinat adaptarea rapidă a PHP-ului la nevoile web-ului, eficientizarea și securizarea codului. [14]
PHP este prescurtarea de la Hypertext PreProcessor.
Când accesăm o pagină HTML serverul care o găzduiește trimite pagina HTML către browser spre afișare. În cazul unei pagini PHP serverul citește codul PHP, îl interpretează și generează dinamic pagina HTM L care este trimisă browserului spre afișare. Acesta este motivul pentru care unii utilizatori folosesc PHP și pentru construirea unor pagini cu conținut dinamic. [10]
Fișierele PHP au extensia php. Fișierele pot fi scrise cu orice editor de texte. Este preferat Notepad++ datorită faptului că pune în evidență sintaxa limbajului. Există și editoare ce oferă mai multe facilități (help interactiv, apel debugger, etc) cum ar fi eclipse php sau cele oferite de Zend. Când PHP – ul parcurge un fișier de fapt "citește" textul până când întâlnește una din etichetele speciale care-i spun să înceapă să interpreteze textul ca pe cod PHP. Se executată codul până când este întâlnită eticheta de închidere. Apoi se "citește" din nou textul mai departe. Acesta este motivul pentru care se poate adaugă cod PHP în interiorul HTML-ului. [10]
Câteva reguli de sintaxă:
– închiderea unui rând se face obligatoriu cu caracterul“;”
– numele funcțiilor NU sunt Case Sensitive (nu se face diferență între utilizarea literelor mari sau mici)
– numele variabilelor SUNT Case Sensitive (se face diferență între utilizarea literelor mari sau mici).
Codul PHP este delimitat de unul din urmatoarele seturi de etichete de deschidere și închidere:
<?php ?> etichete recomandate
<script language="php"?> </script> [10]
3.7 XAMPP
Este cel mai popular mediu de dezvoltare PHP, o distribuție Apache, total gratuit, ușor de instalat și conține MySQL, PHP și Perl. XAMPP a fost creat pentru a fi ușor de instalat și folosit, fiind configurat cu toate facilitătile active. În present există distribuții pentru Windows, Linux și OS X. [16]
XAMPP este o compilație gratuită de "software" (comparabilă cu o distribuție de Linux), este gratuit și este permisă copierea în conformitate cu termenii GNU General Public Licence. Dar numai compilația XAMPP este publicată sub licenta GPL. [16]
Instalarea XAMPP:
De la adresa http://www.apachefriends.org/en/xampp-windows.html, se descarcă pachetul xampp-win32-1.6.6a.exe (executabil 7Zip). Se dezarhivează intr-un director.
In cazul nostru, am despachetat conținutul in 'D:\Program Files', unde vom găsi directorul XAMPP (D:\Program Files\XAMPP). Apoi,deschidem directorul XAMPP și rulăm fișierul 'setup-xampp.bat'.
Toate căile din configurație vor fi reactualizate automat.De acum, trebuie doar să pornim serverele Apache și MySQL.Acest lucru se face din Panoul de Control XAMPP. Acesta poate fi apelat ruland D:\Program Files\XAMPP\xampp-control.exe
Securitatea în XAMPP:
XAMPP nu a fost intenționat pentru producție, ci doar pentru dezvoltare, pentru a crea un mediu care să faciliteze dezvoltarea. XAMPP este, in mod implicit, configurat să fie cat mai deschis și mai putin restrictiv posibil, să permită dezvoltatorului să facă orice are nevoie.
O listă cu câteva dintre lipsurile de securitate ale XAMPP:
● Administratorul MySQL (root) nu are parolă
● Daemonul MySQL este accesibil prin rețea
● phpMyAdmin este accesibil prin rețea
● Exemplele sunt accesibile prin rețea
● Userii pentru Mercury (serverul de mail) si FileZilla (serverul de FTP) sunt cunoscuți
Este recomandată securizarea XAMPP inainte de a publica orice online. Un firewall sau un router extern nu sunt de ajuns, ci doar furnizează un nivel scăzut de securitate. Pentru mai multă securitate, se poate rula Consola de Securitate XAMPP, si acolo se pot asocia parole.[17]
Cu acest program mi-am pornit serverul Apache de care dispune, pentru a putea vedea modificările și funcționarea site-ului, și MySQL pentru lucrul cu baza de date.
3.8 Notepad++
Notepad++ este un editor de text gratuit pentru Windows, găzduit la Sourceforge. Programul permite editarea codului sursă specific unui număr mare de limbaje de programare, precum C, C++, Pascal, Cobol, HTML, PHP.
Facilități remarcabile sunt:
Colorare sintactică pentru 48 de limbaje de programare (se poate modifica de către utilizator);
Tipărirea color a codului sursă (WYSIWYG);
Autocompletare = deducerea și întregirea automată a cuvântului de cod din biblioteca utilizată;
Interfață cu mai multe ferestre (utilizează tab-uri);
Suport pentru căutări/înlocuiri cu expresii regulate PERL;
Suport pentru macroinstrucțiuni.
Notepad++ se bazează pe motorul Scintilla, fiind programat în C++ și utilizând Win32 API și biblioteca STL, asigurând astfel o execuție rapidă și un consum redus de resurse. [24]
Cu acest program mi-am creat aplicatia.Tot codul html, html5, css3, JavaScript, jQuery si PHP le-am scris in acest editor.
4. Prezentarea aplicației
4.1 Structura website-ului
Aplicația web realizată se adresează oricarui tip de utilizator avand un meniu simplu, o interfață usor de folosit și nu abundă în informații.Este o aplicație utilă atât pentru localnici care doresc să fie la curent cu cele mai noi știri cât și pentru turiștii care vor să afle mai multe despre stațiune, obiective turistice, ștranduri, tratamente sau care doresc să se cazeze la hoteluri, pensiuni sau vile.
Conține atât informații generale despre stațiune cât și informații mai complexe cu privire la obiectivele turistice, hoteluri, pensiuni, vile, ștanduri, prețuri, dotari șa.
Scopul implementării acestui site este promovarea stațiunii Băile Felix. Este un site cu caracter informativ dar care oferă și posibilitatea cazării la hoteluri, pensiuni, sau vile.
Site-ul conține atât partea de front-end care reprezintă interfața pentru utilizatori cât și o parte de back-end pentru managementul conținutului, interfața pentru administratori.Structura webstite-ului este aproximativ aceeași atât pentru utilizatori cât și pentru administrator. Administratorii au și posibilitatea logării.În momentul în care sunt logați aceștia vor avea și posibilitatea inserării, ștergerii si actualizării informațiilor pe pagini.
Figura 3.1 Harta site-ului
4.2 Administrarea aplicației
Administrarea este un aspect important pentru o aplicație web și a fost implementată în cadrul aplicației doar pentru administratori, doar acestia au posibilitatea modificării conținutului paginilor cu condiția să fie logați. Cu toate că această aplicație este concepută în principal pentru prezentare și informare, partea de administrare poate fi benefică deoarece o aplicație web actualizată poate convinge vizitatorii și să le confere încredere.
Un alt motiv care încurajează administrarea este acela că internetul este un mediu în permanentă schimbare. Astfel pentru a menține vizitatorii interesați este nevoie de actualizarea textului, fotografiilor, evenimentelor și a ofertelor. Acest lucru se poate realiza și în aplicația mea după cum a fost menționat anterior, din interiorul site-ului, de către administratori dar și prin modificarea sau adăugarea în baza de date și în codul sursă.
Deoarece principalul scop al unui portal este acela de a informa utilizatorii cu privire la noutațile care apar în viața de zi cu zi, administrarea acestui portal trebuie să se facă zilnic.Administratorul website-ului administrează paginile statice dar și cele dinamice de pe acest site. Paginile dinamice sunt mult mai ușor de administrat deoarece sunt actualizate din baza de date. Acest site a fost realizat în mare parte din pagini dinamice pentru ca administararea lui să se facă mai repede.
4.3 Baza de date
Aplicația web utilizează o baza de date creată cu ajutorul sistemului de gestiune a datelor phpMyAdmin versiunea 3.2.1. Numele bazei de date este „turism” și conține 14 tabele, baza de date fiind ilustrată în Figura 3.2
Figura 3.2 Baza de date a aplicației web
Baza de date este structurată în 14 tabele iar legăturile sunt reprezentate cu ajutorul secțiunii Designer din phpMyAdmin. În figura 3.3 se poate observa structura tabelară a bazei de date precum și câmpurile celor 14 tabele.
Figura 3.3 Structura tabelelor și legăturile dintre acestea
Din cele 14 tabele, 3 tabele sunt independente, nu au legături cu alte tabele din baza de date.Aceste tabele sunt galerie, admini și știri.Am să încep descrierea tabelelor din baza de date cu acestea.
Tabelul de admini conține 3 câmpuri id_admin, user și parola.Câmpul id_admin conține codul unic al aministratorilor în timp ce câmpurile user și parolă conțin numele aministatorului respectiv parola cu care se autentifică pe site.
Câmpurile user și parola sunt obligatorii la autentificare, dacă unul dintre acestea nu este completat se va afișa mesajul “Nu ați completat câmpurile obligatorii” iar dacă ambele câmpuri sunt completate, se verifică dacă user-ul și parola sunt valide.În cazul în care sunt valide, pe fiecare pagină vor fi afișate și câmpurile pentru administratori iar în cazul în care nu sunt valide se va afișa mesajul “Nu sunteți admin”.
Figura 3.3 Structura tabelei de admini
Tabelul știri conține de asemenea 3 câmpuri id, titlu și descriere.Titlu conține tipul informației afișate știri, evenimente sau tratamente în timp ce descrierea conține textul integral.În momentul de fața în tabel sunt 6 înregistrări care corespund celor 6 pagini.
Figura 3.4 Structura tabelei știri
Continuăm cu descrierea tabelului galerie care este alcătuit din id-ul pozei care reprezintă numărul de ordine din interiorul galeriei foto, numele pozei și calea pozei care reprezintă locația acesteia pe hard-disk.
Figura 3.5 Structura tabelei știri
Pagina principala
Pagina de cazare – hoteluri
Pagina de detalii – Hotel International
Pagina de detalii – Hotel International
Pagina principala – pentru administrator
Pagina principala – pentru administrator
7. Bibliografie
[1] http://ro.wikipedia.org/wiki/HTML5
consultat la data de 27.06.2015
[2] http://ctrl-d.ro/development/resurse-development/introducere-in-html5-partea-i/
consultat la data de 27.06.2015
[3] http://ciobanu.cich.md/lectii_view.php?id=5
consultat la data de 27.06.2015
[4] http://tutorialeprogramare.com/tutoriale-css/
consultat la data de 27.06.2015
[5] http://tuwer.eu/introducere-in-css/
consultat la data de 27.06.2015
[6] http://ctrl-d.ro/development/resurse-development/introducere-in-css3-proprietati/
consultat la data de 27.06.2015
[7] http://www.marplo.net/curs_css/introducere.html
consultat la data de 27.06.2015
[8] http://vega.unitbv.ro/~cataron/Courses/BD/BD_Cap_5.pdf
consultat la data de 27.06.2015
[9] http://ro.wikipedia.org/wiki/JavaScript
consultat la data de 27.06.2015
[10] http://informatica.hyperion.ro/wp-content/uploads/2015/05/Tehnologii-Web.pdf
consultat la data de 27.06.2015
[11] http://www.marplo.net/javascript/jquery-elemente-baza-js
consultat la data de 27.06.2015
[12] http://ro.wikipedia.org/wiki/JQuery
consultat la data de 27.06.2015
[13] etutoriale.ro/articles/16/1/Despre-PHP/
consultat la data de 27.06.2015
[14] http://ciobanu.cich.md/lectii_view.php?id=7
consultat la data de 27.06.2015
[15] www.seap.usv.ro/~valeriul/lupu/mysql.doc
consultat la data de 27.06.2015
[16] https://www.apachefriends.org/ro/index.html
consultat la data de 27.06.2015
[17] http://www.google.ro/url?sa=t&rct=j&q=&esrc=s&source=web&cd=5&ved=0CDkQFjAE&url=http%3A%2F%2Fpui-project.googlecode.com%2Fsvn%2Ftrunk%2Fpui-project%2Fdoc%2FDocumentatie.pdf&ei=U-NyVcOwOcjhywO-nIHwAQ&usg=AFQjCNGfyiKudeVPl_WGbnA-9DKCB0QGng&sig2=ngwylw-P9gdXIaddEMZqrA&bvm=bv.95039771,d.bGQ&cad=rja,
consultat la data de 27.06.2015
[18] http://www.drogoreanu.ro/tutorials/mysql.php
consultat la data de 27.06.2015
[19] http://www.runceanu.ro/adrian/wp-content/cursuri/tw2014/Laborator1%282014%29.pdf
consultat la data de 27.06.2015
[20] http://cronicaromana.net/2015/05/04/baile-felix-cea-mai-mare-statiune-balneara-din-romania/
consultat la data de 27.06.2015
[21] http://webbanneronline.com/design-web/design-site/item/129-ce-sunt-portalurile-web?
consultat la data de 27.06.2015
[22] http://ro.wikipedia.org/wiki/Aplica%C8%9Bie_web
consultat la data de 27.06.2015
[23] http://www.prologue.ro/servicii/aplicatii-online/
consultat la data de 27.06.2015
[24] http://ro.wikipedia.org/wiki/Notepad%2B%2B
consultat la data de 27.06.2015
[25] http://www.techit.ro/baza-de-date-relationala.php
consultat la data de 27.06.2015
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: Portal Băile Felix (ID: 150132)
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.
