Realizarea Unei Portal Web Utilizanad Cms Ul Wordress
Cuprins
Introducere
Capitolul 1. Internet, World Wide Web și Search Engine Optimization
1.1. Noțiuni introductive
1.1.1. Impactul Internetului în societate, cultură, economie
1.1.2. Cum funcționează Internetul
1.1.3. Modul de adresare
1.1.4. Cum ne conectăm la Internet
1.2. Servicii Internet
1.2.1. Prezentare generală
1.2.2. Telnet
1.2.3. FTP (File Transfer Protocol)
1.2.4. E-mail
1.2.5. World Wide Web
1.3. Browsere
1.4. Optimizare SEO
Capitolul 2. Limbajului PHP
2.1. Noțiuni introductive
2.1.1. Apariția și evoluția limbajului PHP
2.2. Elemente de limbaj
2.2.1. Sintaxa de bază
2.2.2. Tipuri de date
2.2.3. Variabile
2.2.4. Constante
2.2.6. Operatori
2.2.7. Comentarii
2.2.8. Tablouri
2.3. Structuri de control
2.3.1. Instrucțunea IF
2.3.2. Instrucțiunea ELSE-IF
2.3.3. Instrucțiunea SWITCH
2.3.4. Structura repetitivă WHILE
2.3.5. Structura repetitivă DO…WHILE
2.3.6. Structura repetitivă FOR
2.4. Funcții
2.4.1. Apelarea funcțiilor predefinite
2.4.2. Definirea unei funcții
2.4.3. Apelarea unei funcții definite de utilizator
2.4.4. Funcții recursive
2.4.5. Definirea argumentelor cu valori implicite
2.5. Refolosirea codului
2.5.1. Intrucțiunea reguire & reguire_once
2.5.2. Instrucțiunea include
Capitolul 3. Noțiuni despre baze de date și MySQL
3.1. Concepte ale bazelor de date relaționale
3.1.1. Structura unei baze de date relaționale
3.1.2. Rațiuni de utilizare a bazelor de date relaționale
3.1.3. Implementarea unei baze de date
3.1.4. Normalizarea unei baze de date
3.2. Baze de date MySQL
3.2.1. Principalele tipuri de date existente în MySQL
3.2.2. Crearea unei baze de date MySQL
3.2.3. Crearea unui tabel
3.2.4. Ștergerea unui tabel
3.2.5. Modificarea unui tabel
3.2.6. Acordarea și revocarea privilegiilor de acces
3.3. Accesul la datele dintr-o bază de date
3.3.1. Interogările SQL
3.3.2. Prelucrarea datelor într-o bază de date
3.3.3. Sortarea, agregarea și gruparea
3.3.4. JOIN
3.4. Utilizarea bazelor de date MySQL din PHP
3.4.1. Conectarea la serverul MySQL
3.4.2. Selectarea bazei de date
3.4.3. Închiderea conexiunii cu serverul MySQL
3.4.4. Executarea interogărilor MySQL din PHP
3.4.5. Prelucrarea datelor interogării SELECT
Capitolul 4. Pachetul WAMP
4.1. Noțiuni introductive
Capitolul 5. Descrierea aplicației
5.1. Scopul realizării aplicației și tehinici utilizate la realizarea acesteia
5.2. Proiectarea aplicației
5.2.1. Descrierea bazei de date “Alternative Sănătoase”
5.2.2. Structura paginii web
5.2.3. Structura panoului de administrare
5.2.4. Codul aplicației
CONCLUZII
DEZVOLTĂRI ULTERIOARE
BIBLIOGRAFIE
Pentru lucrarea de licență am ales să dezvolt o aplicație pentru toți cei care sunt în căutarea alternativelor sănătoase, titlul lucrări fiind „Realizarea unui portal WEB utilizând CMS-ul WordPress ”. Am ales această temă observând că în căutările online și nu numai sunt tot mai multe persoane care caută Alternative Sănătoase la diferite produse care țin de alimentație.
Mi-am propus ca aplicația să conțină o interfață prietenoasă utilizatorului. O interfață ”user-friendly” și ușor de utilizat de către vizitatori și acest obiectiv este atins prin design-ul aplicației care este intuitiv și ușor de memorat. De aceea site-ul „Alternative Sanatoase” beneficiază de o structură logică cu denumiri specifice întâlnite des în World Wide Web.
Site-ul este o soluție personalizată și informativă cu o infrastructură de content management pentru diverse soluții ale alternativelor sănătoase.
având un design atrăgător și respectând principiile curente de uzabilitate;
cu interfețe de administrare ce permit managementul conținutului (CMS) pentru o actualizare și întreținere ușoară;
cu conturi de utilizatori ce pot avea acces la servicii personalizate;
având diverse funcționalități generale integrate: galerii de imagini, liste și cataloage, directoare de afaceri și linkuri;
căutarea în paginile publice (generală sau avansată) poate fi parametrizată;
modulare pentru a permite dezvoltări viitoare neprinse în specificația curentă;
cu procesarea oricărui tip de format de date (text, imagine, fișiere multimedia audio – video, alte fișiere);
sigure, fără breșe de securitate.
Aplicația WordPress
Descriere
WordPress este o platformă de tip sursă deschisă pentru publicarea blogurilor. Platforma WordPress este scrisă în limbajul PHP, folosind pentru gestionarea bazelor de date sistemul MySQL. Dispune un sistem de șabloane scrise în limbajele HTML și CSS. Avantajele majore prezentate de WordPress sunt simplitatea și numeroasele plugin-uri create de către comunitate care pot modifica funcționalitatea WordPress-ului tranformându-l în aproape orice tip de site web. De asemenea interfața poate fi schimbată foarte ușor cu ajutorul multitudinii de teme gratuite sau premium cu doar un clic.
Istoric
WordPress a apărut prima dată în 2003 ca precursor al b2/cafelog, care era utilizat de 2 000 de bloguri la acea vreme.
Cum e și normal, sunt mai multe versiuni de WordPress, începând cu 0.70 până la 3.1. Multe dintre ele, începând cu 1.0, sunt numite după câte un celebru cântăreț de jazz (Charles Mingus, Ella Fitzgerald, Dexter Gordon și alții).
În versiunea 1.2 (2004) se adaugă suportul pentru Plugin, unul din motivele pentru care WordPress este așa de folosit. Versiunea 1.5 a venit cu suport pentru Template-uri, un alt lucru pentru care este apreciat WordPress, iar versiunea 2.0 (2005) ne-a adus o înfățișare nouă.
Începând cu WordPress 2.2 (2007) este introdus suportul pentru Widget-uri, lucru care ne face nouă viața mai ușoară de multe ori :)Versiunea 2.5 (2008) a avut parte de un redesing al Paginii de Administrare.
Dacă până la versiunea 2.6 plugin-urile și template-urile trebuiau instalate manual (adică trebuiau urcate manual pe server folosind FTP), o dată cu versiunile 2.7 și 2.8 a venit și posibilitatea de a instala plugin-urile și Tempalte-urile direct din Pagina de Administrare. Asta pentru ca WordPress să fie mai ușor de folosit de majoritatea persoanelor. Versiunea 3.0(2010) ne-a adus un nou template implicit, TwentyTen și alte îmbunătățiri “de sub capotă”.
Wordpress 3.1 (2011) este ultima variantă stabilă și s-a făcut observată prin Bara de Administrare care apare în partea de sus a blogului atunci când suntem logați ca administratori.
Cam asta ar fi istoria pe scurt a WordPress-ului. Nu e completă, am sărit peste unele detalii pe care nu le-am considerat foarte importante. Ca bibliografie, m-am inspirat de peWikiPedia și din Codexul WordPress. Puteți găsi acolo mai multe detalii dacă sunteți interesați.
Tema Douăzeci Eleven
Tema folosită de mine în această aplicație Douăzeci Eleven dispune de trei aspecte implicite pentru blog. Două dintre aceste aspecte au un sidebar tipic, fie pe partea stângă sau dreaptă cu conținut.Cel de-al treilea aspect nu departe de bara laterală cu totul transformată Douăzeci Eleven într-o temă tumblelog. Este perfect pentru transformarea blog-ului într- un photolog . În plus față de aspectele implicite Douăzeci Eleven are de asemenea 2 modele personalizate de pagini. Ori se va lua o pagină normală WordPress și se transformă aspectul. Șablonul pagina Sidebar este cel mai simplu dintre cele două. Pur și simplu adaugă un sidebar pentru pagina . Pagina Showcase are mai multe caracteristici. Pentru a începe cu șablon Showcase Page aveți nevoie pentru a crea o pagină pentru el. Alegeți Format Showcase în șabloane de pagină în orice pagină, salvați-l, și atribuiți-o ca prima pagină în Setări → Reading . Acest lucru va schimba site-ul de la standard Douăzeci Eleven blog aspectul Douazeci Eleven. Pentru a avea o imagine mare cu caracteristici trebuie să utilizați o imagine care este cel puțin la fel de mare ca imagine antet (1000px x 288px). De asemenea, asigurați-vă că aveți o dimensiune set de imagini de mari dimensiuni sub Setări → Media , care permite astfel de dimensiuni. Și, dacă se scrie un mesaj text introductiv, doar scrie în conținutul paginii Showcase și acesta va apărea pe site-ul tau.
Vulnerabilități
De la începuturi și până acum, WordPress a fost etichetat în nenumărate rânduri ca fiind vulnerabil la atacuri ce vizau adăugare de conținut malițios pe blogurile sau site-urile ce foloseau această platformă. Au fost create numeroase programe automate ce căutau pe internet site-uri care foloseau această platformă și, folosindu-se de vulnerabilitățile acesteia, reușeau să introducă în conținut, fără acordul proprietarului, link-uri către site-urile celor ce foloseau aceste programe.
În ultimul timp însă, dezvoltatorii platformei au reușit să aducă WordPress într-o stare în care atacurile de acest tip sunt aproape imposibil de realizat. În momentul de față WordPress este printre cele mai sigure si mai puternice CMS-uri la ora actuală.
Utilizarea PHP și MySQL?
Motivul pentru folosirea PHP și MySQL ca unelte pentru crearea unui site dinamic este faptul ca amândouă sunt open-source și oricine le poate utiliza fără costuri suplimentare. Un alt motiv este că aplicațiile create sunt cross-platform: PHP și MySQL rulează atât pe sisteme Linux și Windows cât și pe o mulțime de alte sisteme de operare mai rar întâlnite. Astfel, se poate crea un întreg site pe un calculator personal, fără a instala un nou sistem de operare, iar la sfârșit doar să se transfere site-ul pe serverul Linux și să se ruleze fără probleme. PHP și MySQL sunt ușor de învățat chiar și pentru cei nefamiliarizați cu programarea sau cu bazele de date.
O pagină Web modernă include un mod de a stoca informațiile și posibilitatea de a face cereri către o bază de date SQL, o modalitate de a verifica și procesa informațiile primite de la vizitatori și de a crea documente cu un conținut informațional dorit de aceștia. Există mai multe căi prin care se poate atinge acest scop dar nu toate sunt la fel de deschise și generale. Din punctul de vedere al celui care distribuie informația, sarcina de a crea pagini dinamice nu este singurul lucru urmărit. Trebuie asigurată continuitatea distribuirii informației indiferent de modificările tehnologiei hard sau soft atât pe partea de client cât și pe cea de server. În afară de aceasta distribuitorul de informație vrea să-și reducă costurile pentru licențe, să-și țină conturile pentru hard sub control și totuși aplicația să fie portabilă pe diferite servere Web și sisteme de operare. O soluție pentru aceasta o oferă limbajul PHP împreună cu SGBD-ul MySQL.
În această lucrare se urmărește prezentarea acestor tehnologii, lucrarea încheindu-se cu o aplicație.
Aplicația reprezintă un sit care oferă alternative sănătoase la anumite produse ce țin de alimentație, pagina de internet se găsește la adresa http://www.alternativesanatoase.ro și conține ca secțiuni:
Meniul ”Acasă” conține următoarele informații precum primele articole publicate recent, comentarii recente, arhive, categorii si meta fiind de altfel și pagina de intro a site-ului.
Meniul ”Alternative de la A-Z” contine articolele de la A-Z
Meniul ”Forum” Pentru a păstra o legătură cu audiență wordPress permite cititorilor să adauge comentariile la articolele postate. Pentru moderarea acestora wordPress pune la dispoziția administratorului o serie de opțiuni, create pentru a ține la distanță vandalizatorii de pagini web.
.
Această aplicație concepută sub forma unei prezentări multimedia este ilustrativă pentru modul în care se poate rezolva (cu ajutorul limbajului PHP și folosirea Internetului) transferul și prelucrarea informațiilor între operatorul uman, modulul de procesare date și baza de date care stochează informațiile.
În zile atacurile de acest tip sunt aproape imposibil de realizat. În momentul de față WordPress este printre cele mai sigure si mai puternice CMS-uri la ora actuală.
Utilizarea PHP și MySQL?
Motivul pentru folosirea PHP și MySQL ca unelte pentru crearea unui site dinamic este faptul ca amândouă sunt open-source și oricine le poate utiliza fără costuri suplimentare. Un alt motiv este că aplicațiile create sunt cross-platform: PHP și MySQL rulează atât pe sisteme Linux și Windows cât și pe o mulțime de alte sisteme de operare mai rar întâlnite. Astfel, se poate crea un întreg site pe un calculator personal, fără a instala un nou sistem de operare, iar la sfârșit doar să se transfere site-ul pe serverul Linux și să se ruleze fără probleme. PHP și MySQL sunt ușor de învățat chiar și pentru cei nefamiliarizați cu programarea sau cu bazele de date.
O pagină Web modernă include un mod de a stoca informațiile și posibilitatea de a face cereri către o bază de date SQL, o modalitate de a verifica și procesa informațiile primite de la vizitatori și de a crea documente cu un conținut informațional dorit de aceștia. Există mai multe căi prin care se poate atinge acest scop dar nu toate sunt la fel de deschise și generale. Din punctul de vedere al celui care distribuie informația, sarcina de a crea pagini dinamice nu este singurul lucru urmărit. Trebuie asigurată continuitatea distribuirii informației indiferent de modificările tehnologiei hard sau soft atât pe partea de client cât și pe cea de server. În afară de aceasta distribuitorul de informație vrea să-și reducă costurile pentru licențe, să-și țină conturile pentru hard sub control și totuși aplicația să fie portabilă pe diferite servere Web și sisteme de operare. O soluție pentru aceasta o oferă limbajul PHP împreună cu SGBD-ul MySQL.
În această lucrare se urmărește prezentarea acestor tehnologii, lucrarea încheindu-se cu o aplicație.
Aplicația reprezintă un sit care oferă alternative sănătoase la anumite produse ce țin de alimentație, pagina de internet se găsește la adresa http://www.alternativesanatoase.ro și conține ca secțiuni:
Meniul ”Acasă” conține următoarele informații precum primele articole publicate recent, comentarii recente, arhive, categorii si meta fiind de altfel și pagina de intro a site-ului.
Meniul ”Alternative de la A-Z” contine articolele de la A-Z
Meniul ”Forum” Pentru a păstra o legătură cu audiență wordPress permite cititorilor să adauge comentariile la articolele postate. Pentru moderarea acestora wordPress pune la dispoziția administratorului o serie de opțiuni, create pentru a ține la distanță vandalizatorii de pagini web.
.
Această aplicație concepută sub forma unei prezentări multimedia este ilustrativă pentru modul în care se poate rezolva (cu ajutorul limbajului PHP și folosirea Internetului) transferul și prelucrarea informațiilor între operatorul uman, modulul de procesare date și baza de date care stochează informațiile.
În zilele noastre tot mai mult se vorbește despre internet, despre rețele, despre comunicații, însă mai există incertitudine și mister cu privire la aceste subiecte.
Internetul s-a născut cu ani în urmă în Statele Unite ale Americii, unde armata americană, pentru a se coordona mai bine, a inventat un sistem care lega calculatoarele într-o rețea prin intermediul liniilor de telefon.
Impactul a fost foarte mare, această idee dovedindu-se a fi genială. La sfârșitul anilor '80 Internetul devine accesibil consumatorilor civili și astfel începe o nouă eră a comunicațiilor. Rețeaua a crescut văzând cu ochii, ajungându-se la o expansiune globală. O nouă revoluție în comunicații avea să înceapă și o nouă evoluție a echipamentelor hard și soft care se manifestă și în continuare. O nouă lume avea să se nască în această rețea, un univers virtual nelimitat.
Internetul este și va fi tehnologia viitorului.
În contextul actual al dezvoltării tehnologice și al globalizării fenomenelor economice, circuitul informațional al unei organizații moderne a devenit extrem de divers și complex. În plus, informația este din ce în ce mai mult o resursă de bogăție pe care nimeni nu o mai poate neglija. Prin urmare gestionarea bazelor de date reprezintă un atribut indispensabil pentru creșterea eficienței în toate domeniile de activitate.
Pentru aplicația construită am folosit următoarea configurație soft:
Serverul WAMP.
MySQL, pentru stocarea informațiilor;
PHP pentru nivelul de mijloc (scripturi server);
CSS pentru stiluri;
JavaScript pentru dinamica site-ului;
Implementarea aplicației a fost făcută în limbajul de programare PHP, deoarece este un limbaj ușor de învățat și permite furnizarea unui conținut Web dinamic, adică un conținut Web care se modifică automat de la o zi la alta.
Lucrarea este structurată pe cinci părți și anume: introducere (descrierea proiectului și a lucrării), noțiunile teoretice, descrierea aplicației, concluzii finale și dezvoltări ulterioare.
Prezenta secțiune, partea întai a lucrării reprezintă o descriere generală a temei, obiectivelor și metodelor folosite. Expunerea este rezumativă astfel încât să permită obținerea rapidă a unei vederi de ansamblu asupra proiectului de față.
A doua parte a lucrării, constituită din capitolele 1, 2, 3, 4, abordează partea teoretică care stă la baza proiectării și realizării acestei aplicații.
A treia parte a lucrării este constituită din capitolul 5, fiind urmată de partea a patra (Concluziile) și partea a cincea (Dezvoltari ulterioare) .
Capitolul 1 descrie câteva noțiuni despre Internet, ce este acesta, cât de important este el în zilele noastre, despre 3W, despre resursele pe care le oferă 3W cât și noțiuni de optimizare SEO în vederea promovării site-ului în motoarele de căutare.
Capitolul 2 descrie limbajul PHP începând cu noțiuni introductive, apoi continuând cu elementele constitutive ale limbajului PHP, funcții de controlare a execuției codului PHP, folosirea funcțiilor, lucrul cu vectori și obiecte.
Capitolul 3 prezintă o trecere în revistă a informațiilor generale despre teoria bazelor de date relaționale și se detaliază aspectele concrete legate de sistemele informatice de gestiune a bazelor de date MySQL. Se arată modul în care această bază de date este creată, cum se introduc datele în ele și mai ales cum se realizează interogările și actualizările informației în cadrul acesteia.
Capitolul 4 conține noțiuni despre pachetul WAMP.
Capitolul 5 – prezintă implementarea efectivă a aplicației și modul în care operatorul uman interacționează cu aceasta. Am descris crearea bazei de date, interfața aplicației cu administratorul și interfața cu utilizatorul. În final am prezentat câteva îmbunătățiri ce se pot aduce acestei aplicații și ce vor fi implementate în viitorul apropiat.
Capitolul 1. Internet, WWW și Search Engine Optimization
1.1. Noțiuni introductive
1.1.1. Impactul Internetului în societate, cultură, economie
Internetul a devenit rapid un fenomen socio-tehnic mult mediatizat la sfârșit de secol (și de mileniu). Internetul și orice formă de folosire a rețelelor electronice deschise au și vor avea un impact determinant asupra societății și al viitorului său. Impactul Internetului asupra societății va avea următoarele funcționalități și efecte:
Internetul este mai mult decât o sumă de conecsiuni, este un ansamblu de funcționalități dorite de către diferite comunități de cercetători și în mod special utile schimbului deschis de date numerizate prin intermediul mesageriilor electronice, transferului de fișiere informatizate și difuzate de informații pe o ”pânză” mondială de situri Web.
Simplificarea proceselor de muncă și de comunicare. Unul din primele efecte importante al Internetului constă în simplificarea și ușurarea activităților zilnice privind administrația, gestiunea și comunicarea. Cercetătorul, utilizatorul lucrează direct pe calculatorul personal transmițând date și texte colegilor, clienților sau factorilor decizionali. Documentele sunt astfel mai ușor arhivate, reutilizate în orice moment și de către oricine. Mesageria electronică permite o comunicare și un mod de lucru de mare eficacitate, scurtând pauzele datorate unor intermediari ineficienți. Lucru direct, imediat, care poate fi memorat, reutilizabil, transferabil; lucrul cu Internetul și rețelele electronice ne modifică în profunzime obiceiurile. Se pune problema necesității de a menține anumite posturi în instituții (dactilografă, secretară) sau anumite poziții ierarhice inutile.
Reducerea costurilor. Observăm un alt aspect spectaculos oferit de către Internet: reducerea costurilor, în mod special al costurilor privind comunicarea și cele legate de manipularea informației și a datelor. Se știe că se pot reduce substanțial prețurile pentru telefon, fax printr-o utilizare judicioasă a Internetului. Această reducere se poate face simțită la nivel de instituții, cu condiția unor investiții necesare procurării unor echipamente puternice (atât la nivel de stat, cât și la nivel de instituție de învățământ, întreprinderi).
Lucrul în grup, creativitatea colectivă. Crearea rețelelor de calculatoare și deci existența persoanelor care să le folosească, ne conduce către un fenomen nou și anume dezvoltarea unei noi creativități colective. Pe de altă parte, amploarea pe care a luat-o Internetul a dus la posibilitatea lucrului în grupuri ale căror mebri se află la distanță unii față de alții. Munca în echipă prin intermediul instrumentelor de tip groupware sau workflow este ușurată. Trebuie menționat riscul care ar putea apare. De aceea organizațiile trebuie să-și regândească viitorul și structurile în fața evoluției Internetului.
Stabilirea unor legături la nivel mondial. Nu poate fi trecut sub tăcere efectul de anti-izolare produs de către Internet. Pentru prima oară în istoria omenirii s-a produs și utilizat în mod colectiv o tehnologie globală (nu locală). Brusc, cadrul de comunicare se lărgește, frontierele întreprinderilor, universităților, orașelor, regiunii, statului, nu mai există. Se comunică cu lumea întreagă, la fel de simplu ca și cu vecinul de scară sau colegul de birou. Se descoperă noi orizonturi, noi concepții privind societatea. Se colaborează cu echipe noi. Se extinde acțiunea de marketing și de comunicare la scară planetară.
Accesul la impresionante surse de informare. Preciăm că există un imens dispozitiv informațional constituit de către ”pânza” și milioane de situri Web, multiple forumuri și liste de difuzare electronică, numeroase situri de fișiere informatizate, noi biblioteci virtuale, noi muzee on-line. Niciodată nu am beneficiat de o bogăție de informații indiferent de spațiu și timp, chiar cu o supra-abundență de date și de documente. Cel mai important este să faci trierea informației, alegând-o pe cea mai pertinentă. Important este să nu te rătăcești pe ”pânză”.
Impactul Internetului în societate
Toate aspectele pozitive menționate mai sus vor fi foarte mult exploatate de către societate, indivizi și organizații cu scopuri diferite.
Funcționalitățile Internetului în societate pot duce la noi practici sociale originale și interesante.
Instituții competitive
Instituțiile care se echipează azi în materie de rețele electronice și care folosesc sistematic Internetul vor avea un real avantaj competitiv:
creșterea eficacității în interior, stimularea muncii de grup și reducerea costurilor;
apropierea strategică reînnoită, cucerirea noilor piețe și cybermarketingurilor planetare;
inteligență economică, stăpânirea informației și intervenții oportune;
noi parteneri.
Toate acestea se pot obține dacă se adoptă o atitudine cu adevărat înnoitoare. Trebuie schimbate modurile de organizare, renunțarea la unele structuri prea ierarhice piramidale, acceptarea spontaneității și mobilității creativității persoanelor și echipelor, ștergerea frontierelor prea protectoare. Trebuie făcute investiții în instrumente și echipamente, dar în mod special, format personalul cu noi deprinderi (ceea ce nu este foarte ușor).
Locuri de muncă pierdute, altele câștigate
După cum putem observa în general noile tehnologii de informare și Internetul schimbă structura și repartiția locurilor de muncă într-o țară, într-o anumită zonă geografică.
Este clar că multe locuri de muncă cu tradiție, amintind de anumite forme vechi de organizare a muncii vor dispărea, în mod special tot ceea ce amintește de operații intermediare, înlocuite azi de către informatică și comunicații electronice (munca de secretariat, dactilografierea, etc.)
Dar în același timp vor apărea noi meserii legate de dezvoltarea NTI și specializarea în instituții a unor echipe/persoane, care se vor ocupa de folosirea Internetului. Este greu să stabilești azi un bilanț complet al acestor transformări, dar se văd deja semnele noilor mentalități.Trebuie menționată crearea unor locuri legate indirect de cucerirea unor noi piețe datorate unei competitivități crescute.
Stimularea cercetării, dezvoltarea cunoașterii
Unul dintre cele mai importante domenii de activitate care beneficiază cel mai mult de Internet este acela al cercetării și al dezvoltării cunoașterii. Nu este nimic anormal, neașteptat pentru că este cunoscut faptul că Internetul s-a născut în mediul științific pentru stimularea cooperării în acest domeniu.
Progresul cercetarii este direct proporțional cu intensitatea contactelor care se stabilesc între echipele de cercetători. Se hrănește din schimburi permanente și trăiește din cooperare (pe toate nivelele).
Multitudinea, multiplicarea siturilor Web și a forumurilor electronice dedicate activității științifice va conduce într-un viitor apropiat la o sporire considerabilă a cunoștințelor noastre. Este o nouă viziune privind comunicarea științifică și tehnică, a unor noi practici de publicații și schimb, care vor pune problema modului tradițional de editare științifică.
Educația și Internetul: noi modalități de predare
În domeniul educației și formarii profesionale, Internetul va produce multe modificări.
Mai întâi este vorba de a acorda un acces mai larg, universal la sursele cunoașterii. În America factorii decizionali au decis echiparea tuturor școlilor la accesul eficient la rețea, au înțeles că acest mod de a acționa la nivel educațional, înseamnă să oferi un anume credit, pe termen lung economiei americane. În afara de noile posibilități de acces la educație și cunoaștere, Internetul permite regândirea educației, a învățământului, pedagogiei: învățământul la distanță, formare în situri (în instituții sau la domiciliu), formarea de-a lungul vieții, tutorat electronic, colective de învățare, etc. Pe acest teren ne așteptăm în viitorul apropiat la inovații majore, schimbând dispozitivele de educație și învățământul moștenit din secolul XIX, chiar dacă este bun și productiv. Este nevoie ca mijloacele de învățământ să utilizeze cât mai mult Internetul.
O nouă concepție privind viața publică și democrația
Coversațiile ce se poartă astăzi pe forumurile electronice dar și în presă, se focalizează în mod special pe noul cetățean al societății informației. Se pune tot mai mult problema influenței Internetului asupra dezvoltării democrației și a regulilor jocului din viața publică. Este greu să accepți azi că un guvern poate limita condițiile de acces la rețele electronice, exercitând anumite forme de cenzură. Internetul poate avea riscurile unei manipulări nepermise. În același timp, revigorează anumite atitudini și reflexii în favoarea unei reale democrații autentice.
Este interesant și de notat deschiderea accesului la informația din domeniul public. Orice cetățean are dreptul de a ști, de a cunoaște ceea ce-l interesează. Guvernele, administrațiile, diferitele colective sunt puternic împinse să dea răspunsuri satisfăcătoare acestor întrebări.
Internetul în serviciul unei dezvoltări durabile
Putem remarca un efect de necontestat al Internetului în domeniul dezvoltării durabile (sustainable development). Internetul, prin structura rețelei, prin facilitatea comunicării pe cale electronică, este un vector privilegiat de promovare a noțiunii de dezvoltare durabilă. Extrem de multe situri permit accesul la o bogăție informațională în domeniu; forumurile se multiplică contribuind la concretizarea planurilor de acțiune pentru o dezvoltare durabilă. Altfel spus, Internetul apare ca un mijloc clar de promovare a ideilor și proiectelor pe care se bazează azi consensuri politice, dar care nu găsesc totdeauna concretizări practice ale gânditorului tehnic, administrativ sau pur uman. Se mai pot menționa și alte domenii care vor suferi modificări datorită revoluției Internet. Este vorba de sănătate sau de turism. Cultura poate și ea să cunoască noi forme de exprimare datorită instrumentelor puternice de comunicare electronică multimedia.
Stabilirea unor reguli pentru apărarea valorilor
Tehnologiile noi (Internet, rețele electronice, multimedia…) oferă mult viitorului, dar în același timp, pot apare noi și grave probleme ale căror importanță începem să le percepem. Impactul Internetului asupra societății va depinde de capacitatea acestuia de a gestiona căt mai bine efectele benefice și malefice ale noului instrument.
Riscurile inerente unei dezvoltări necontrolate ale Internetului
O mare parte riscurilor legate de informatică și în mod special de teleinformatică, într-o lume care nu scapă perversității și criminalității de orice fel. Se pot menționa în primul rând problemele de securitate informatică și riscurile de penetrare a unor medii informatice, mai mult sau mai puțin bine protejate. Aceste probleme sunt reale, dar pot fi rezolvate de cele mai multe ori datorită bunului simț. Problemele legate de securitate merită o investiție în funcție de ceea ce trebuie să fie protejat.
Problemele legate de atentat la viața particulară și problemele legate de confidențialitate nu sunt noi, dar prezintă interes la ora rețelelor deschise și a instrumentelor de inteligență manipulatoare de date. Se pot utiliza programe instalate pe situri personale, se pot controla tranzacțiile de orice natură pe Internet, se pot folosi carduri sau adrese electronice personale. Există țări în care legislația existentă permite controlul acestor abuzuri, dar din păcate… nu peste tot. Nu trebuie neglijat riscul tranzacțiilor financiare sau monetare pe o rețea nesecurizată.
Trebuie subliniat existența pe rețeaua Internet a mesajelor sau informațiilor care încalcă morala sau a regulilor stabilite de către societate: incitare la ura rasială, apărarea cauzelor netolerante (teze neonaziste, negaționiste…), pornografie, apologia morții, proliferarea morții, a sinuciderii, a comportamentului pervers, etc… acesta conducând numeroase țări la crearea unor dispozitive de observație și reglare a comportamentelor anormale. Infoetica va avea ca obiect de studiu cenzurarea națională a acestor anomalii.
De reținut, noile preocupări
Grupe de navigatori din numeroase țări a comitetelor naționale sau internaționale ad-hoc, ca și cea mai mare parte a organizațiilor interguvernamenale și neguvernamentale, dezbat azi problemele legate de etica informației, încercând să găsească regulile unui joc acceptabil și fiabil. Dar dincolo de problemele evidente de criminalitate electronică, se pun tot mai mult problemele cele mai subtile, necesitând o veritabilă reflecție privind Internetul, dezvoltarea sa și impactul său asupra societății.
Se pune tot mai mult problema diversității lingvistice și culturale pe rețea. În contextul unei mondializări din ce în ce mai evidente, apare riscul pierderii identității pentru majoritatea culturilor minoritare. Controlul rețelelor de către marile monopoluri economice, în mod special cele din sectorul informatic și difuzarea informației în mod special în engleză, poate conduce la o veritabilă catastrofă culturală. Este important să aperi diversitatea lingvistică și culturală pe rețea, așa cum încerci azi să conservi biodiversitatea.
Șanse egale la accesul noilor tehnologii, Internet și informațiile difuzate pe rețea constituie o altă preocupare majoră. Trebuie evitat ca Internetul să mărească decalajul între aceia care au multiple posibilități de acces la rețea și ceilalți, cărora le este refuzat din diferite motive (economic în mod special) acest acces. Diferențele pot să apară chiar în cadrul unei comunități, a unei societăți între diferite grupuri: conflictul între generații (conflicte între aceia care au cultură electronică-calculator) și ceilalți.
Iată rațiunea pentru care dezvoltarea Internetului nu poate să fie lăsată la inițiativa pieții; este obligatoriu ca puterea publică să ia seama de aspectele sociale și să aducă elemente indispensabile de reglare.
Este interesant de subliniat că Internetul și rețelele conduc la revendicări legitime din partea diferitelor grupe în cadrul societății. De aceea producătorii, investitorii economici doresc să beneficieze de avantaje sporite pe piața electronică mondială, forțând obținerea protecției legale a investițiilor, după cum reiese din discuțiile legate de dreptul de autor și de reproducere. Creatorii, autorii doresc să-și vadă creația corect protejată de către rețea, știind că este extrem de ușor să furi operele creatorilor pe o rețea mondială deschisă. Utilizatorii rețelei, cetățenii, doresc la rândul lor să nu fie în situația de a plăti sume mari titularilor drepturilor. Se exprimă un drept legitim al utilizatorului de Internet, așa cum este reafirmată azi, necesitatea de a lăsa un acces liber la informația neprotejată și în mod special la aceea din domeniul public.
Dezvoltarea unei culturi a informației sau a info-culturii
Baza există deja și unii o exploateaza mult. Agenți inteligenți, roboții sau motoarele de căutare de orice fel sunt în măsură să răsfoiască aproape instantaneu milioane și milioane de documente. O nouă lume a informației începe să se dezvolte, promițătoare, dar obositoare.
Se constată un deficit de cunoaștere a posibilităților oferite de către rețelele electronice, a sensibilizării și formării pentru bogăția pe care acestea le oferă. Este nevoie de întocmirea unui plan de dezvoltare a culturii informației. Nu există o societate a informației fără o cultură reală, specifică, care poate fi numită infocultură.
Aceasta înseamnă acțiuni de sensibilizare și formare de la cea mai tânără vârstă până la universitate. Este nevoie pentru persoanele în activitate, de acțiuni de formare continuă pentru a le creea un nivel bun de înțelegere a ceea ce se întâmplă pe acest teren.
Trebuie create adevărate grupe de reflexii sau forumuri pe aceste teme. Infocultura nu se va dezvolta ușor din cauza sistemelor administrative și educative existente. Trebuie făcute cercetării în acest domeniu, difuzate rezultatele muncii, trebuie făcute studii de infocultură.
Poate fi clar că, infocultura nu se va dezvolta decât dacă indivizii și comunitățile au acces la rețea, lucrând efectiv pe echipamentul adaptat. Aceasta înseamnă că eforturile financiare trebuie să fie acceptate de către guvern, ca și de către instituții și de către întreprinderi pentru crearea rețelelor cu debit mare, pentru dezvoltarea parcului de calculatoare, pentru achiziții și dezvoltarea programelor adecvate. Solidaritatea națională și internațională trebuie să fie mobilizată pentru a asigura această infocultură care contribuie la dezvoltarea societății informației.
1.1.2. Cum funcționează Internetul
Unul din cele mai importante aspecte este că Internetul nu este o entitate omogenă și în acelasi timp nu există o autoritate supremă care controlează Internetul.Există în schimb un număr de organizații constituite pe bază de voluntariat care au ca scop investigarea problemelor care pot apărea și care propun măsuri de îmbunătățire.
Internet Architecture Board (IAB) este o astfel de organizație. Membrii acesteia se întâlnesc regulat pentru a se consulta în privința stabilirii standardelor, a alocării resurselor și pentru a propune soluții pe termen mediu și lung.
Odată adoptat, un nou standard, este publicat, urmând ca pe baza acestuia să se construiască noi aplicații, scopul fiind acela al unei compatibilități cât mai mari între arhitecturi, sisteme de operare, etc.
Internet Engineering Task Force (IETF) se ocupă cu probleme de natură operațională pe termen scurt. Astfel atunci când apare o problemă se formează un grup de lucru care cercetează exclusiv acea problemă și caută soluții cât mai performante. La sfârșitul unei astfel de cercetări se produce un raport.
1.1.3. Modul de adresare
Tot ceea ce facem pe Internet implică utilizarea unei adrese. Adresa unui calculator îl identifică în mod unic în Internet și este formată dintr-o succesiune de patru numere naturale mai mici decât 255, separate prin „.”. Exemplu: 192.168.124.61. Această adresă se numește adresă IP. Combinația este unică și nu există două mașini cu aceeași adresă de IP. Toate adresele de IP sunt pe 32 de biți și sunt folosite pentru transmiterea pachetelor de date. Zeci de mii de rețele sunt conectate acum la Internet și numărul se dublează în fiecare an. Numerele de rețea sunt atribuite de un forum internațional numit NIC (Network Information Center) pentru a evita conflictele.
Dezavantajul memorării și folosirii acestor numere de către utilizatori este evident. De aceea s-a recurs la o metodă de asignare a unui nume fiecărui calculator din Internet.
Sistemul de transformare al unui nume în adresă IP și invers se numește DNS (Domain Name Service). Există mai multe domenii organizaționale diferite:
În afară de domeniile organizaționale există și domenii geografice. Fiecare țară are câte un cod astfel încât privind la numele unui calculator putem afla unde se află.
Deși Statele Unite au și ele un cod geografic, se presupune că dacă nu s-a folosit un cod geografic atunci domeniul se află în Statele Unite. Nu demult au apărut noi domenii care încetul cu încetul vor completa domeniile vechi sau chiar le vor lua locul.
1.1.4. Cum ne conectăm la Internet
Accesând Internetul înseamnă în ultimă instanță, posibilitatea accesării a milioane de servere situate pe tot cuprinsul globului. Astfel utilizatorii pot găsi răspuns la orice întrebare, pot trimite mesaje oriunde în lume aproape instantaneu, pot transfera documente cu informații din orice domeniu de activitate, efectua rezervări de locuri pentru hotel, avion, pot efectua cumpărături, asculta ultimele noutăți în materie de muzică, vizita galeriile de artă, citi cărți publicate electronic conversa on-line cu orice alt utilizator conectat, afla ultimele știri ale agențiilor de presă sau pot aduce programe soft de pe arhivele publice.
Rețeaua Internet este adesea numită autostrada informațională. Acest concept de infrastructură informațională globală (Information Superhighway), introdus de vicepreședintele american Al Gore, are structură similară. Rețeaua Internet este cea mai apropiată de un astfel de prototip. Are posibilități enorme pentru comunicare globală, rapidă și ieftină și poate domina în scurt timp aria educațională.
Fiecare rețea are propriul său centru de operațiuni (NOC – Network Operation Center). Centrele „discută” între ele, știu cum să-și rezolve problemele. Utilizatorul individual trebuie în acest caz să ia legătura cu compania care oferă acces Internet.Furnizarea de servicii Internet este asigurată de către o companie contra unor costuri ce depind de mai mulți factori, cum ar fi: mărimea traficului, viteza de transmisie, servicii oferite, etc.
Conectarea la Internet se face prin linie telefonică, cablu, radio, etc. De obicei utilizatorul de rând este conectat prin linia telefonică folosind un dispozitiv de conectare numit modem.
1.2. Servicii Internet
Rețeaua de nivel mondial Internet pune la dispoziția utilizatorului o serie de servicii care sunt folosite de către utilizatori pentru a accesa baze de date, pagini, fișiere, servere și servicii.
1.2.1. Prezentare generală
Cele mai importante servicii puse la dispoziție de rețeaua Internet sunt:
Telnet îl folosim pentru a ne putea conecta la alte calculatoare din Internet, ce permit computerelor din întreaga lume să comunice între ele, serviciul Internet de conectare la distanță. După ce am realizat conectarea la un alt calculator, se pot introduce comenzi ca și cum utilizatorul ar lucra direct la consola acelui calculator. Putem rula o sesiune interactivă normală (conectarea la sistem, executarea de comenzi, deconectarea de la sistem), sau se poate utiliza orice serviciu pe care acel sistem îl oferă terminalelor ei locale.
SSH, la fel ca și Telnet este folosit pentru conectarea la alte calculatoare din Internet, diferența este că acest serviciu este unul securizat.
FTP (File Transfer Protocol) & SFTP sunt folosite pentru a transfera fișiere de pe un calculator pe altul. Sunt folositoare în aducerea fișierelor din arhivele publice răspândite în Internet. SFTP este un serviciu securizat pentru transferul fișierelor.
Chat este un serviciu ce permite comunicarea între doi sau mai mulți utilizatori. Comunicarea se face în timp real și poate include voce și video.
Internet Phone & Fax este un serviciu de telefonie și fax disponibil acum prin intermediul Internet. Putem trimite un fax sau un apel telefonic prin intermediul calculatorului.
Liste de distribuire (Listservs) este un serviciu ce permite abonarea la o listă de distribuire pentru a ne menține la curent cu anumite teme ce ne interesează.
Games (Jocuri) este un serviciu de factură mai nouă ce permite utilizatorilor accesul la jocuri în rețea folosind facilitățile Internetului.
Serviciile de căutare ne ajută să ne descurcăm în imensa masă de informații aflată pe Internet, căutând informațiile după anumite criterii pe care le alegem noi.
E-mail este un serviciu ce permite trimiterea și recepționarea mesajelor aproape în timp real.
WWW (World Wide Web) poate fi cu greu numit serviciu individual, pentru că oferă o gamă largă de servicii elementare. World Wide Web (într-o traducere nepretențioasă „pânza de păianjen de întindere mondială”) a apărut ca un proiect destinat să distribuie informația științifică folosind un model numit Hypertext. Ideea centrală era aceea de a permite reprezentarea informațiilor într-un mod integrat (text, imagini, sunet și video). De asemenea paginile informaționale sunt „legate” prin „hypertext links”.
1.2.2. Telnet
Este serviciul de Internet care ne permite conexiunea la un calculator aflat undeva în Internet, pe baza unui cont și a unei parole.
În acest mod se pot folosi resursele acelui calculator. Tot ce se tastează este transmis calculatorului aflat la distanță, iar orice ar trebui afișat pe ecranul acestuia este afișat pe ecranul utilizatorului. În acest mod se pot administra de la distanță calculatoare.
Prin acest serviciu utilizatorul individual se poate conecta de exemplu de la calculatorul de acasă la calculatorul de la serviciu și viceversa pentru a rula anumite programe, pentru a configura sistemele, etc.
1.2.3. FTP (File Transfer Protocol)
FTP este serviciul care dă posibilitatea utilizatorilor de a transfera fișiere de la un calculator aflat în Internet sau Intranet (remote host), pe calculatorul local.
Pentru a transfera un fișier de la un server FTP sau remote host, e nevoie de un program numit client FTP.
Serviciul FTP ne permite copierea unor fișiere de pe mii de calculatoare din toată lumea Internetului. Accesul la acest serviciu este gratuit.
1.2.4. E-mail
E-mail este prescurtarea de la Electronic Mail (poșta electronică) desemnează sisteme pentru transiterea sau primirea de mesaje. Este unul dintre cele mai răspândite servicii Internet.
Un mesaj e-mail este format din două componente: conținutul (ceea ce se dorește a trimite prin e-mail) și dintr-un header (generat de programul de e-mail și care conține informațiile necesare pentru ca e-mail-ul să ajungă la destinație).
Adresa de e-mail este singurul indiciu pe care îl are serviciul pentru a livra un mesaj la destinație.
Aceasta are forma:
nume_utilizator@adresa_server_e-mail.
1.2.5. World Wide Web
Este un consorțiu internațional format din membri permanenti și parteneri care au ca scop dezvoltarea de standarde pentru World Wide Web. Când Internet a devenit o uriașă sursă de informație, serviciile clasice de acces (Telnet, FTP și e-mail) deși puternice s-au dovedit neintuitive în special pentru cei care nu aveau cunoștințe de specialitate. World Wide Web este cunoscut si sub numele de WWW, W3, sau Web, reprezinta cel mai utilizat si mai atractiv serviciu Internet.
Drept urmare a apărut WWW ca un proiect ce avea să distribuie informația științifică folosind un model numit hypertext. WWW a devenit rapid un serviciu capabil să ofere o interfață accesibilă și atractivă pentru accesarea informației pe Internet. Pentru acest lucru sunt necesare un mod de conectare la Internet și un soft numit client (sau browser) WWW.
Browserul facilitează „navigarea” fără a fi necesară introducerea unor comenzi, ci doar selectând cu ajutorul mouse-ului hyperlink-ul dorit și executând click.
WWW a apărut (cu aproximație) în luna martie 1989. Tim Berners Lee de la „Centrul European de Fizica Particulelor” din Geneva a pus în circulație propunerea de a dezvolta un sistem hypertext în vederea unei eficiente partajări a informației între echipele de cercetători din „High Energy Physics Community”, situate în zone geografice diferite.
Trei componente pe care trebuia să le conțină acest sistem erau:
o interfață utilizator consistentă;
capacitatea de a încorpora o mare varietate de tehnologii și tipuri de documente;
capacitatea de a accesa informațiile unitar în ciuda unor mari varietăți a tipurilor de calculatoare și a soft-ului rulat de acestea, și aceasta într-un mod cât mai simplu din punct de vedere al utilizatorului.
Cea mai importantă caracteristică WWW o constituie simplitatea modului de acces la resurse. În mare măsură aceasta se datorează protocolului de comunicație implementat numit HTTP (HyperText Transport Protocol).
O sesiune de transfer se desfășoară astfel:
se realizează o conexiune client-server;
clientul lansează o cerere (request);
serverul furnizează clientului răspunsul la cererea formulată;
serverul încheie conexiunea.
Etapa întâi, cea de conectare, este vizibilă prin apariția în baza de stare a browser-ului a mesajului „connecting to HTTP server”. Dacă conexiunea nu se poate realiza apare mesajul de eroare „can not connect to server ”, însoțit de motiv.
După ce am stabilit conexiunea la un server HTTP, clientul lansează cererea. Aceasta specifică tipul de protocol folosit, resursa solicitată (fișierul sau grupul de fișiere) și în ce fel trebuie să răspundă server-ul (metoda). Protocolul împreună cu resursa alcătuiesc un URL (Uniform Resource Locator). Tipul protocolului este partea cea mai importantă a unui URL. Fără acesta browser-ul nu ar ști cum să trateze resursa respectivă.
Forma generală a unui URL este protocol: //host:port/cale/fisier.
Iată câteva dintre protocoalele URL existente:
FILE: Browserele fiind capabile să afișeze conținutul fișierelor locale, acesta fiind protocolul pentru acestea.
FTP: Se folosește pentru fișierele situate pe servere FTP.
HTTP: Toate documentele scrise în format HTML sunt stocate pe un WWW server. HTTP se referă la protocolul folosit pentru aceste servere.
MAILTO: Este un tip special de URL care permite trimiterea mesajelor de e-mail.
NEWS: Link-urile care pointează către un newsgroup trebuie să fie declarate folosind acest protocol.
TELNET: Pentru a indica faptul că un link necesită deschiderea unei sesiuni TELNET, URL-ul trebuie să fie de acest tip.
Dacă cererea este acceptată, serverul produce răspunsul și transferă informația (acest lucru este vizibil în bara de stare a browser-ului, afișându-se progresiv informații de transfer).
După ce transferul a fost încheiat, serverul închide conexiunea și intră în acțiune clientul care tratează informația primită: încarcă și afișează pagina de informație primită, salvează informația într-un fișier, sau lansează o aplicație numită viewer. Clientul va ști întotdeauna cum să trateze un fișier de tip HTML.
1.3. Browsere
Sunt programe de explorare (navigare) ce permit accesarea atât a unor locații Web, cât și a unor servere FTP, WAIS sau Gopher. Accesul în mod grafic de pe un calculator (PC sub Windows, Macintosh etc.) la informațiile din Web se realizează prin intermediul programelor client Web (interfețe grafice) numite browsere. Cele mai cunoscute astfel de programe sunt: Internet Explorer (produs de Microsoft), Netscape Navigator (Netscape Corporation), Netscape Communicator (Netscape Corporation, tehnologie bazată pe IE), Opera (Opera Software), Mosaic (Spyglass Incorporated), Lynx. Aceste programe au cam aceleași caracteristici, și interfețe grafice asemănătoare.
1.4. Optimizare SEO (”Search Engine Optimization”)
SEO sau, de multe ori i se mai spune, optimizarea poziționării la (motoare de) căutare, reprezintă procesul de ”favorizare” a vizibilității paginilor web în cadrul ordonării rezultatelor căutării în lista făcută de motorul de căutare.
Search Engine Optimization reprezintă, de fapt, o subcategorie a marketing-ului online SEM, practică apărută în anul 1990, o dată cu apariția primelor sit-uri pe Internet, și care reprezintă multitudinea tehnicilor prin care un sit web este adus la acea formă în care este propulsat mai sus în lista de rezultate date de un motor de căutare prin diverse cuvinte cheie.
Cu timpul acest serviciu de optimizare a unei pagini web a unui sit a devenit serviciu oferit de unele companii sau corporații.
La începuturile Internetului, motoarele de căutare afișau în urma căutărilor pagini în a căror descriere se afla cuvântul căutat. Datorită faptului că proprietarii de sit-uri au făcut abuz de acest factor, motoarele de căutare au alcătuit algoritmi mult mai complexi, care includ:
nume de domeniu;
textul cuprins între etichetele<title> și </title>;
elementele HTML;
etichetele HTML;
frecvența unui cuvânt cheie, atât în pagină cât și global;
sinonime ale cuvântului cheie;
atributele ”ALT” pentru imagini;
titlul link-urilor;
numărul total de hyperlink-uri de la și spre o pagină;
calitatea site-urilor de la care pleacă link-uri spre o pagină;
vechimea unui site.
Într-un sens cât mai mare, SEO reprezintă o componentă a marketing-ului prin faptul că necesită înțelegerea modului în care funcționează algoritmii de căutare și ce ar căuta vizitatorii în scopul stabilirii unei corespondențe cu sit-urile care oferă ceea ce aceștia caută. Anumite tehnici SEO pot implica o optimizare a codării unui site fără a face modificări vizibile pentru vizitatori precum ierarhizarea structurii site-ului, evitarea sau rezolvarea unor probleme care ar putea împiedica motoarele de căutare să indexeze complet sit-ul. Eforturi mai vizibile ar fi includerea de conținut unic care este ușor indexat și extras de pe sit-uri web.
Consultanții SEO aduc în discuții adesea că SEO ar trebui să fie un serviciu singular, făcând parte dintr-o campanie mai mare de marketing. Având la bază ideea că un proces de optimizare eficient poate cere schimbări în codul sursă al site-ului, recomandat este să fie inclus în dezvoltarea inițială și design-ul site-ului pentru a ajunge să fie ”Search Engine Friendly”(prietenos motoarelor de căutare). Așadar acest termen de ”SEF” este adesea folosit pentru a descrie design-ul, meniurile, sistemul de management al conținutului și al coșului de produse care poate fi optimizat ușor și eficient.
Au fost create numeroase polemici în rândul webmaster-ilor legate de tacticile folosite pentru SEO, vehiculându-se că algoritmul de afișare a rezultatelor oferite de Google are peste 300 de factori.
Capitolul 2. Limbajul PHP (Hypertext PreProcessor)
2.1. Noțiuni introductive
Inițial, PHP a reprezentat abrevierea de la Personal Home Page (pagina de bază personală). Limbajul a fost creeat în 1994 de către Rasmus Lerdorf, pentru a-și îndruma vizitatorii spre curriculum vitae –ul personal, publicate în Internet. Pe măsură ce utilitatea și caracteristicile sale s-au dezvoltat (și pe măsură ce programul a început să fie utilizat în situații cu un caracter mai profesional), PHP a ajuns să aibă semnificația Hypertext Preprocessor (preprocesor de hiper text). În esență, semnificația acestei definiții constă din aceea că PHP manipulează datele înainte ca acestea să se transforme în format HTML – care reprezintă abrevierea de la HyperText Markup Language (limbaj de marcare a hipertextului).
A afirma că PHP este înglobat în HTML este echivalent cu faptul că poate fi scris în interiorul programului dumneavoastră HTML – acesta fiind programul în care sunt construite toate paginile dumneavoastră Web. Ca atare, programarea în PHP este doar puțin mai complicată decât scrierea manuală a liniilor de program HTML.
De asemenea, PHP este un limbaj de programare a scripturilor. Aceasta înseamnă că PHP este conceput să efectueze o anumită operație numai după producerea unui eveniment – de exemplu, când un utilizator trimite un formular sau se deplasează la un URL (localizator uniforma de resurse – echivalentul, în limbaj tehnicist, al unei adrese Web). Pe de altă parte, limbaje de programare precum Java, C, Perl pot fi utilizate la scrierea de aplicații autonome, care pot sau nu să implice Web-ul. Cel mai popular limbaj de redactare a scripturilor este JavaScrip, care tratează, în mod obișnuit, evenimente care se produc în interiorul unui browser Web. O altă modalitate de a face referire la diferite tipuri de limbaje constă în utilizarea termenului interpretat pentru limbaje precum JavaScript și PHP, care nu pot acționa independent, respectiv a noțiunii compilat pentru limbaje precum C sau Java, care dispun de această posibilitate.
PHP are un caracter inter – platformă, ceea ce înseamnă că poate fi utilizat pe sisteme care ruleaza UNIX, Windows, Macintosh și alte sisteme de operare. Vorbim despre sistemul de operare al servărului nu de acel al clientului. Sistemul PHP nu este capabil numai de a rula pe aproape orice sistem de operare, dar, spre deosebire de celelalte limbaje de programare, perimte și transpunerea fișierelor dintr-o platformă în alta cu modificari reduse sau chiar inexistente.
Putem remarca faptul că limbajul PHP nu este numai un preprocesor de Hypertext. Se pot genera imagini, fișiere PDF, animații Flash din mers cu un singur script PHP.
2.1.1. Apariția și evoluția limbajului PHP
Exact ca în multe alte proiecte software, PHP este unul dintre cele mai populare limbaje de scripting pe parte de server, s-a născut sub forma unui mic utilitar care trebuia să rezolve o problemă simplă și foarte particulară. În 1995 un programator pe nume Rasmus Lerdorf și-a publicat CV-ul în pagina sa de Web. Pentru ca să poată să urmărească cine i-a vizitat pagina, Rasmus a introdus în pagină un tag special și a scris în Perl un script CGI care să colecteze informații despre vizitatori, pe care apoi îi scria într-un jurnal (log). A botezat acest cod PHP (Personal Home Page) tools.
La aproximativ doi ani mai târziu, în cadrul unui proiect „de serviciu”, a trebuit să realizeze o interfață între clienții de Web și o bază de date. A recurs la aceeași idee: taguri HTML proprii, procesate de un script CGI (de data aceasta scris în C) care le înlocuia conținutul care trebuia inserat în pagină. A numit acele taguri „Form Interpreters” (FI) deoarece rolul lor era de a prelua datele transmise prin formulare HTML și de a le transforma în variabile simbolice pe care le folosea apoi pentru interogarea bazei de date.
Ce a urmat este destul de simplu: a reunit codul PHP cu FI și l-a făcut public sub numele PHP/FI. Comunitatea programatorilor a făcut restul. Programul a fost corectat, dezvoltat și extins în regim open source, depășind cu mult scopul său inițial. Deși numele de PHP s-a păstrat, semnificația lui a devenit cu totul alta și anume Hypertext Preprocessor.
Ajuns între timp la versiunea 5.4.3, PHP este un limbaj solid dotat cu peste 1000 de funcții, implementat pe numeroase platforme. Popularitatea sa a crescut neîncetat fiind folosit în milioane de domenii Web.
2.2. Elemente de limbaj
Un script PHP poate fi foarte simplu sau foarte complex. Pentru editarea unui asemenea script avem nevoie de un editor de text obișnuit (Notepad sub Windows, vi, emacs sau pico sub UNIX) sau unul specializat care cunoaște sintaxa PHP. Este, în cele din urmă, un limbaj de programare în toată regula, așa că dispune de variabile, structuri de control, funcții de bibliotecă, funcții definite de utilizator și chiar clase. Din fericire, sintaxa este foarte simplă, fiind în bună măsură preluată din C.
2.2.1. Sintaxa de bază
Un program PHP include două linii speciale, care indică serverului PHP că textul cuprins între cele două linii este alcătuit din instrucțiuni PHP. Specificarea codului se face prin:
<?php
echo ”Salut, sunt un script PHP!”
?>
Această primă metodă este cea preferată și indicată de către specificațiile limbajului. Pentru a indica o expresie simplă putem folosi:
<?
Salut instrucțiune
?>
Varianta următoare este funcțională doar în cazul în care sunt activate tag-urile în stil ASP pentru serverele Microsoft:
<%php
Salut instrucțiune
%>
Varianta clasică pe care o folosește și JavaScript funcțională pentru serverele care nu înțeleg XML:
<script language=”php”>
instrucțiuni
</script>
Sunt două metode principale de a insera cod PHP într-un sit Web. Prima metodă este de a insera cod PHP în interiorul unei pagini HTML prin inserarea unor taguri speciale, iar cea de-a doua este de a scrie direct un fișier care să conțină scriptul PHP cu extensia .php.
2.2.2. Tipuri de date
Programele PHP folosesc opt tipuri principale de date: dintre care patru tipuri scalare (boolean, integer, double, string), două tipuri compuse (array, object) și două tipuri speciale (resource, NULL).
Tipul Boolean
Acest tip de date poate avea doar doua valori, TRUE sau FALSE. Aceste valori sunt cuvinte cheie și sunt case-insensitive. Valorile NU trebuie incluse intre ghilimele.
Tipul Integer și tipul Double
Este tipul numerelor întregi (integer) și reale (double). Numerele întregi reprezintă numerele fără parte fracționară, iar cele reale reprezintă valori numerice care includ fracții zecimale. Numerele duble sunt stocate folosindu-se standardul IEEE-64, pe 64 de biți. Acest format permite valori care pot merge până la 1,8 x 10308 și furnizează aproximativ 14 cifre semnificative după virgulă.
Tipul String (șir de caractere)
Este un tip de date folosit pentru a reprezenta șiruri de caractere. Spre deosebire de datele numerice care conțin cu precădere cifre, șirurile (datele de tip string) pot conține orice caracter. Ca atare șirurile sunt utile pentru stocarea datelor care nu pot fi calculate, precum nume, adrese, comentarii, etc.
Pentru a specifica un șir PHP, caracterele care alcătuiesc șirul sunt incluse între ghilimele duble; de exemplu, șirul reprezentând numele marelui nostru scriitor național este "Ion Creanga". PHP permite includerea în șiruri a unor caracter speciale, precum caracterele de salt la linie nouă sau de retur de caracter, prin furnizarea de secvențe escape. Caracterele sunt cele utilizate în C, C++ sau Java.
Pentru a specifica un șir mai pot fi folosite și apostroafe. Diferența în acest caz constă în faptul că se inhibă evaluarea variabilelor.
Ar mai trebui subliniat faptul că PHP include funcții care pot converti date dintr-un tip în altul cu condiția ca acest lucru să fie posibil.
2.2.3. Variabile
Variabilele sunt nume, etichete (abstractizari) ale datelor cu care lucrăm. Categoriile de valori pe care le-am prezentat mai sus se numesc valori literale. Deseori, este convenabil să asociem nume unei valori, similar procesului folosit în algebră. O valoare cu nume se numește variabilă, deoarece este posibilă modificarea valorii asociate numelui. Prin contrast o valoare literală este fixă.
PHP impune câteva reguli asupra numelor variabilelor, astfel încât să poată face imediat diferența dintre variabile și numere, șiruri și alte elemente de limbaj.
Iată metoda de formare a unui nume corect de variabilă PHP:
începe cu simbolul dolarului $;
după simbolul dolarului, este necesară o literă sau o liniuță de subliniere (_). Litera poate fi majusculă sau minusculă;
după aceasta poate fi scris orice caracter de tip literă, cifră sau liniuță de subliniere. Nu este permisă, în numele unei variabile, folosirea caracterelor speciale.
Iată niște exemple corecte de variabile
$latime
$z1
$nota_maxima
De asemenea PHP furnizează o serie de variabile predefinite folosite pentru a afla starea serverului Web, numite variabile de mediu. Acestea în mare măsură sunt create și depind de serverul Web care rulează, sau sunt variabile proprii PHP.
2.2.4. Constante
O constantă este un nume dat unei valori simple. Așa cum sugerează numele, o constantă nu își poate modifica valoarea de-a lungul execuției scriptului. Prin convenție constantele sunt scrise cu litere mari.
Definirea unei constante se face folosind funcția define(). Numai datele de tip scalar pot fi conținute într-o constant.
Exemplul de mai jos afișează textul „Hello world”.
define("CONSTANT", "Hello world.");
echo CONSTANT;
2.2.5. Expresii
Expresiile sunt cele mai importante „pietre de temelie” ale limbajului PHP. În PHP ”orice are o valoare” aproape tot ce scriem reprezintă o expresie.
Cele mai uzuale și simple expresii sunt variabilele și constantele. Atunci când scriem „$a=5”, îi atribuim lui $a valoarea 5. Alte exemple de expresii sunt prezentate mai jos:
$condiție ? $operand1 : $operand2;
$c = $d = 8;
$i–;
2.2.6. Operatori
PHP include operatori familiari folosiți în algebră pentru executarea operațiilor aritmetice: adunare (+), scădere (-), înmulțire (*), împărțire (/). Iată câteva exemple:
$profit = $vanzari – $cheltuieli;
$arie = $inaltime * $latime;
Variabilele sau valorile literale asociate cu un operator se numesc operanzi. De exemplu operanzii operatorului de adunare în exemplu de mai sus sunt variabilele $vanzari și $cheltuieli.
O proprietate interesantă este cea a operatorului de împărțire: acesta returnează o valoare întreagă dacă ambii operanzi sunt de tip întreg, în caz contrar returnează o valoare în virgulă mobilă.
În afară de acești operatori aritmetici familiari, PHP mai include numeroși operatori mai puțin cunoscuți: modulo (%), incrementare (++), decrementare (–), concatenare (.), atribuire (=), operatori pe biți (&, ^, |, ~, <<, >>), operatori de comparație (==, ===, !=, <>, !==, <, >, <=, >=), operatorul de control al erorilor (@) și operatori logici (and, or, xor, !, &&, ||).
2.2.7. Comentarii
Comentariile PHP sunt de două feluri: pe un singur rând sau pe mai multe rânduri:
//acesta este un comentariu pe un singur rând
/*
Acesta este un comentariu pe mai multe linii. El poate fi alcătuit dintr-un singur număr oricât de mare de linii.
*/
2.2.8. Tablouri
Este convenabilă stocarea mai multor valori într-o variabilă. O asemenea variabilă se numește tablou, iar valorile individuale se numesc elementele tabloului. Variabilele care au o singură valoare se numesc scalare. Pentru a fi posibil accesul la fiecare element al unui tablou, fiecare element are o cheie asociată.
Exemplul următor creează un tablou numit clasă care are două elemente cu valoarea algebra, respectiv economie.
$clasa[1] = "algebra";
$clasa[2] = "economie";
Pentru a obține acces la un element al tabloului, se specifică numele tabloului și valoarea cheii. De exemplu instrucțiunea de atribuire următoare atribuie valoarea algebra variabilei scalare $liceu_seral.
$liceu_seral = clasa[1];
Cheile folosite la identificarea valorilor din tablou nu trebuie să fie neapărat numere. Ele pot fi și de tip șir. Acest tablou poartă numele de non-secvențial.
Iată următorul exemplu:
$preferințe[Petre]=”napolitana”;
$preferințe[Florin]=”ciocolata”;
Pentru a parcurge un tablou non-secvențial se folosește instrucțiunea foreach, care combină instrucțiunea FOR cu funcția EACH și are următoarea formă:
foreach ($tablou as $suport => $valoare)
{
//intructiuni
}
Instrucțiunea parcurge în mod iterativ tabloul denumit $tablou, stabilind valori adecvate pentru valorile variabilelor $suport și $valoare aferente fiecărui element al tabloului. Iată un exemplu sugestiv:
$limbaje = array(10=>”Perl”, 20=>”PHP”, 21=>”Python”);
foreach ($limbaje as $index => $limbaj)
{
echo”<BR>$index => $limbaj”;
}
Se remarcă faptul că instrucțiunea atribuie automat valorile cheii, respectiv elementul curent.
2.3. Structuri de control
Orice script PHP este construit dintr-o serie de instrucțiuni. O instrucțiune poate fi o atribuire, un apel de funcție, un ciclu, o expresie condițională sau o instrucțiune vidă. Instrucțiunile se termină de obicei cu caracterul punct virgulă (;). De asemenea instrucțiunile pot fi grupate în grupuri de instrucțiuni aflat între acolade.
2.3.1 Instrucțiunea IF
Instrucțiunea IF se încadrează în una din cele mai importante caracteristici a multor limbaje de programare numită uneori instrucțiune condiționată. Structura instrucțiunii este similară cu cea din limbajul C.
if (expresie)
instrucțiune
Dacă expresia are valoarea TRUE atunci se execută instrucțiunea. Varianta completă a instrucțiunii IF este:
if (expresie)
instrucțiune1
else
instrucțiune2
Instrucțiunile instrucțiune1 și instrucțiune2 pot fi și grupuri de instrucțiuni aflate între acolade.
2.3.2 Instrucțiunea ELSE-IF
Așa cum îi spune și numele această instrucțiune este o combinație între instrucțiunile else și if. Execută anumite comenzi când o condiție este adevărată și alte comenzi când aceasta este falsă. Se folosește pentru a specifica mai multe tipuri de variante:
if ($c>$d)
{
print "a este mai mare ca b";
} elseif ($a == $b)
{
print "a este egal cu b";
} else
{
print "a este mai mic ca b";
}
2.3.3 Instrucțiunea SWITCH
Instrucțiunea IF ne permite să luăm o decizie în două sensuri. Pentru a lua o decizie în mai multe sensuri se pot folosi instrucțiuni IF îmbricate sau folosind instrucțiunea SWITCH. Instrucțiunea SWITCH este la fel cu cea din limbajul C. Iată un exemplu:
switch ($numar) {
case(1): echo ”Nivel scazut!”;
break;
case(2): echo ”Nivel mediu!”;
break;
case(3): echo ”Nivel ridicat!”;
break;
default: echo ”Acesta nu este un cod viabil!”;
}
2.3.4 Structura repetitivă WHILE
Ciclurile while sunt cele mai simple structuri repetitive în limbajul PHP. Structura de bază a instrucțiunii este:
while (expresie) instrucțiune
Se execută ciclul atâta timp cât expresie are valoarea TRUE. Următorul exemplu afișează numerele naturale de la 1 la 10.
$i = 1;
while ($i <= 10) {
print $i++;
}
2.3.5 Structura repetitivă DO…WHILE
Sunt foarte asemănătoare cu structurile while, exceptând faptul că evaluarea expresiei se află la sfârșitul ciclului. Diferența fundamentală constă în faptul că ciclul este executat cel puțin o dată. Se iese din ciclu în momentul în care expresia este evaluată ca fiind FALSE. Structura de bază este la fel cu cea folosită în C:
do {
instrucțiune
}
while (expresie)
2.3.6 Structura repetitivă FOR
Structurile repetitive FOR sunt cele mai complexe cicluri în PHP. Ele sunt la fel ca și în C. Sintaxa este:
for (expr1; expr2; expr3) instrucțiune
Prima expresie (expr1) este executată necondiționat la intrarea în ciclu. La începutul fiecărei iterații se evaluează expr2. Dacă expresia este evaluată TRUE, ciclul continuă prin executarea instrucțiunii. Dacă expr2 este evaluată ca fiind FALSE execuția ciclului se termină. La sfârșitul fiecărei iterații este executată expr3.
Oricare dintre cele trei expresii pot lipsi. Dacă expr2 lipsește, ciclul rulează la infinit. Pentru a ieși forțat din ciclu se poate folosi instrucțiunea break.
2.4. Funcții
Funcțiile sunt blocuri de cod PHP (secvențe de cod), identificabile prin nume ale unui program, care se pot lansa în execuție la cerere prin intermediul acestor nume. Funcțiile pot fi predefinite (existente în biblioteca de bază a limbajului) sau definite de utilizator.
2.4.1. Apelarea funcțiilor predefinite
Procesul de executare a unei funcții se numește utilizarea, apelarea sau invocarea funcției. Pentru a folosi o funcție se scrie numele funcției, urmat de o pereche de paranteze. Majoritatea funcțiilor preiau argumente, reprezentând valori de intrare care influențează operarea și rezultatul funcției. Specificarea argumentelor se face între paranteze și sunt despărțite prin virgule. Argumentul unei funcții poate fi o literă, variabilă sau o expresie. Numele funcțiilor predefinite nu este case sensitive.
Unele funcții au argumente opționale care pot fi specificate sau omise, în conformitate cu dorințele programatorului.
2.4.2. Definirea unei funcții
În afară de a utiliza funcțiile din biblioteca de funcții a limbajului PHP, se pot defini și folosi propriile funcții. Pentru a defini o funcție, se va respecta modelul următor:
function nume_functie(nume_argument)
{
//aici se insereaza corpul functiei
}
În cadrul modelului de mai sus, nume_functie este numele funcției, iar nume_argument este numele argumentului funcției. În PHP, numele funcțiilor nu reprezintă sensibilitate între majuscule și minuscule. Cuvântul cheie function, numele funcției și argumentele funcției reprezintă antetul funcției, iar instrucțiunile incluse între acolade formează corpul funcției.
Este posibil ca o funcție să nu aibă argumente, la fel de bine cum o funcție poate avea mai multe argumente. Argumentele unei funcții sunt separate între ele prin virgule. Dacă se dorește ca funcția să întoarcă o anumită valoare, trebuie determinat ca funcția să execute o instrucțiune return.
Iată un exemplu de funcție care calculează aria unui dreptunghi:
function calculeaza_arie($inaltime, $latime)
{
return $inaltime * $latime;
}
2.4.3. Apelarea unei funcții definite de utilizator
O funcție definită de utilizator poate fi apelată în același mod în care este apelată o funcție încorporată. Un apel al funcției de mai sus poate fi:
$arie = calculeaza_perimetru(2, 4);
2.4.4. Funcții recursive
Există posibilitatea ca o funcție PHP să se autoapeleze. O funcție care procedează astfel se numește funcție recursivă. Funcțiile recursive sunt utile pentru descrierea mai compactă și mai clară a funcțiilor. De subliniat este faptul că orice funcție recursivă poate fi realizată și nerecursiv.
2.4.5. Definirea argumentelor cu valori implicite
PHP 4 permite definirea de funcții cu argumente prestabilite. Dacă este invocată o funcție care are un argument prestabilit, și nu este furnizată nici o valoare pentru argumentul respectiv, argumentul ia valoarea stabilită specificată. Pentru funcția de mai sus o variantă ar putea fi:
function calculeaza_arie($lungime = 1, $latime = 1)
{
return $lungime * $latime;
}
2.5. Refolosirea codului
Refolosirea codului este un mecanism care permite obținerea accesului la programele scrise anterior.
Acest mecanism este implementat în PHP prin instrucțiunile require, require_only și include.
2.5.1. Instrucțiunea require & require_once
Instrucțiunea require permite inserarea unui script PHP creat anterior în interiorul unui alt script PHP.
De menționat este faptul că instrucțiunea require este prelucrată la încărcarea scriptului PHP asociat, înaintea legării valorilor la variabilele corespunzătoare. Forma generală este:
rquire(nume_fisier);
unde nume_fisier este numele fișierului PHP care trebuie inclus în scriptul curent.
Această instrucțiune poate scuti programatorii de un volum mare de muncă. De asemenea acest procedeu poate simplifica întreținerea programului, deoarece informațiile standard pot fi rezidente într-un singur fișier, ceea ce le face ușor de localizat și de revizuit.
Instrucțiunea corelată require_once asigură faptul că fișierul specificat este inclus o singură dată într-un script dat. În cazul în care se folosesc fișiere de includere care folosesc instrucțiunea require pentru a include conținutul altor fișiere de includere instrucțiunea require_once este foarte utilă.
2.5.2. Instrucțiunea include
Instrucțiunea include este foarte asemănătoare cu instrucțiunea require. Diferența constă în faptul că instrucțiunea include este o instrucțiune executabilă care înlocuiește apelul din fișierul apelant cu instrucțiunile pe care le conține fișierul de includere, ca si cum ar fi apărut în textul scriptului apelant. Sintaxa este aceeași cu diferența că se pot folosi și variabile ca parametrii.
Capitolul 3. Noțiuni despre baze de date și MySQL
3.1. Concepte ale bazelor de date relaționale
3.1.1. Structura unei baze de date relaționale
O bază de date relațională stochează datele în tabele iar fiecare tabel stochează informații despre un anumit tip de entitate. De exemplu, o bază de date relațională aferentă unei edituri poate include tabele precum carte și autor. Un alt exemplu ar fi un tabel caracteristic dintr-o bază de date relațională care prezintă angajații unei intreprinderi. Iată un exemplu simplu:
În tabelul persoane, primul rând atribuie nume pentru fiecare coloană. Fiecare rând al tabelului, altul decât primul rând descrie o singură persoană. Pe de altă parte, fiecare coloană descrie un anumit atribut al persoanei. De exemplu a doua coloană conține numele angajaților iar a treia anii în care s-au născut aceștia.
Pentru a se putea face referire la un anumit rând al tabelului, se obișnuiește ca fiecare tabel să conțină o coloană care identifică în mod unic fiecare rând. Această coloană se numește cheie primară a tabelului. În exemplul de mai sus coloana ID servește drept cheie primară dacă nici o coloană nu conține o valoare unică pentru fiecare rând se pot combina valorile mai multor coloane pentru a crea o cheie primară compusă. O bază de date relațională se numește astfel datorită capacității sale de a stabili relații între mai multe tabele. Fie alături de tabelul de mai sus următorul tabel pe care l-am numit ”meserii”:
Noul tabel conține informații despre meseriile angajatilor. Mai concret, tabelul îl identifică pe angajatul cel mai priceput într-o meserie. Numele meseriei servește drept cheie primară a tabelului, care mai conține în afară de aceasta, o singură coloană. Coloana respectivă stochează atributul ID al angajatului care cunoaște meseria descrisă de un anumit rând. De exemplu angajatul cu numărul 003 este cel mai priceput designer. În acest caz ID este chiar cheia primară a tabelului original cât și o coloană a noului tabel. Coloana ID a noului tabel se numește cheie externă deși nu este cheia primară a noului tabel este cheia primară a altui tabel.
Aplicația software care găzduiește o bază de date se numește Sistem de Gestiune a Bazelor de Date (SGBD). Există mai multe SGBD din surse deschise și comerciale. Printre cele mai populare și mai cunoscute amintim: DB2, Interbase, SQL server, Oracle, MySQL, Postgresql, Sybase.
MySQL este cel mai popular sistem de gestiune a bazelor de date destinat utilizării PHP, deoarece este și gratuit. Totuși, prin intermediul PHP este posibil accesul aproape la orice SGBD modern. Pentru acesta nu este nevoie decât de un driver conform standardului ODBC (Open Database Conectivity).
3.1.2. Rațiuni de utilizare a bazelor de date relaționale
În comparație cu fișierele și bazele de date non-relaționale, bazele de date relaționale prezintă un număr de avantaje. Printre acestea ar trebui subliniate: facilitarea partajării datelor, asigurarea independenței datelor, interogarea ad-hoc, organizarea datelor, securitatea datelor, reducerea la minimum a experienței necesare în domeniul programării, eficiență în prelucrarea datelor.
3.1.3. Implementarea unei baze de date
Implementarea unei baze de date relaționale este un subiect de amploare considerabilă și a fost abordată în numeroase cărți. Proiectarea bazei de date se face folosind procedeul cunoscut sub numele de modelare entitate-relație sau modelare E-R. În acest context, o entitate este similară cu un tablou relațional; cu alte cuvinte conține date care descriu un set de individualități corelate. Modelarea E-R este un proces în cadrul căruia coloanele, entitățile și relațiile între entități sunt descoperite și organizate. Un model E-R poate fi rafinat cu ușurință, pentru a genera o structură a bazei de date, care poate fi transformată într-o bază de date relațională efectivă.
Procesul de modelare E-R conține patru faze principale:
Identificarea coloanelor este de obicei executată de un grup de persoane.
În acest scop se folosește de obicei o tablă, și în identificarea coloanelor se ține cont de problemele conexe la care baza de date trebuie să răspundă.
Gruparea coloanelor în entități se face pentru a corela coloanele identificate cu anumite noțiuni. De exemplu, coloane precum autor, titlu, preț se pot corela cu noțiunea de cărți.
Identificarea cheii primare. După ce fiecare entitate va deveni un tabel relațional, fiecare tabelă mai mult sau mai puțin va trebui să aibă o cheie primară. De exemplu Cod Numeric Personal poate fi o cheie primară a unei entități ce conține informații referitoare la persoane. În cazul în care o singură coloană nu este adecvată pentru a fi o cheie primară atunci se poate defini o cheie primară ca fiind alcătuită din mai multe coloane. În cazul în care nu poate fi identificată o cheie primară, atunci se recomandă adăugarea unui câmp nou care să creeze o identificare unică.
Identificarea cheilor externe. Este operația finală și cea mai dificilă. Aceste chei externe sunt pur și simplu coloane ale căror valori sunt corelate cu acelea a cheilor primare ale unei alte entități oarecare.
În modelarea E-R se folosesc anumite diagrame, care descriu tabelele și relațiile dintre ele. Entitățile sunt reprezentate prin dreptunghiuri, iar relațiile sub formă de romburi. Relațiile pot fi de mai multe feluri în funcție de tipul lor.
Acestea sunt:
Relație de tipul 1 : 1
Relație de tipul 1 : N
Relație de tipul 1 : 0
Relație de tipul N : N
3.1.4. Normalizarea unei baze de date
O bază de date normalizată este o bază de date care a fost transformată astfel încât să satisfacă o serie de reguli. Regulile de normalizare ale bazelor de date sunt descrise ca proprietăți pe care o bază de date care respectă aceste reguli trebuie să le aibă, proprietăți cunoscute sub numele de forme.
Aceste forme sunt destinate pentru a preveni problemele care pot apărea în cadrul bazelor de date care nu le respectă. Cele mai folosite reguli sunt cele care descriu prima, a doua și a treia formă normală. Uneori programatorii sau proiectanții bazelor de date pot opta în totalitate pentru normalizarea bazelor de date. Totuși, normalizarea bazelor de date este esențială pentru bazele de date mari, unde costul și efortul de descoperire și remediere a unei erori poate depăși semnificativ costul și efortul implicate în normalizarea bazelor de date.
Regula 1: Este permisă numai utilizarea valorilor atomice. Un tabel dintr-o bază de date trebuie să conțină valori atomice. Cu alte cuvinte nici o coloană nu trebuie să conțină valori compuse.
Regula 2: Coloanele dintr-un tabel trebuie să se bazeze pe cheia primară în totalitatea sa.
Regula 3: Coloanele trebuie să se bazeze numai pe cheia primară.
3.2. Baze de date MySQL
MySQL este un server de baze de date mic, compact, ușor de folosit, ideal pentru aplicațiile de dimensiune mică și medie. Are o implementare client/server care este compusă din demonul MySQL și o mulțime de programe client. Este disponibil pe o varietate de platforme UNIX, OS/2 și Windows.
Pe sistemele UNIX serverul folosește procese multiple, ceea ce-i conferă performanță ridicată, indiferent de dimensiunile bazelor de date.
Iată câteva dintre avantajele de bază ale bazei de date MySQL:
standardele suportate: ANSI SQL92 și ODBC nivel 0-2 SQL;
limbi suportate: MySQL suportă o multitudine de limbi în care poate genera mesaje de eroare;
există multe API-uri pentru clienți: aplicațiile MySQL pot fi scrise în limbaje ca C, Perl, PHP, etc.;
poate lucra cu tabele foarte mari: MySQL stochează fiecare tabel dintr-o bază de date ca un fișier în directorul bazei de date, dimensiunea tabelei fiind limitată numai de dimensiunea maximă a fișierului în sistemul de operare;
viteză, robustețe și ușurință în utilizare: MySQL este de trei până la patru ori mai rapid decât multe baze de date comerciale, de asemenea este ușor de administrat;
este gratuit.
La fel ca orice alt produs MySQL are și dezavantaje. Iată câteva dintre dezavantajele oferite de acest server de baze de date:
nu suportă proceduri stocate și „triggere” și nici nu oferă suport inclus pentru XML, OLAP sau constrângeri;
are puține utilitare pentru administrarea utilizatorilor.
3.2.1 Principalele tipuri de date existente în MySQL
Tipurile de date principale existente în MySQL sunt asemănătoare cu cele existente majoritatea bazelor de date.
3.2.2 Crearea unei baze de date MySQL
Pentru crearea unei baze de date se folosește un sub-limbaj SQL special numit DDL (Data Definition Language). Pentru a crea o bază de date se folosește o comandă la care are acces numai administratorul de sistem:
create database nume;
unde nume este numele bazei de date.
3.2.3 Crearea unui tabel
Pentru crearea unei baze de date se folosește un sub-limbaj SQL special. Pentru a crea un tabel într-o bază de date, se emite comanda CREATE TABLE, care are următoarea formă:
CREATE TABLE tabel (coloana tip, coloana tip, …);
unde tabel este numele tabelului, coloana este numele coloanei, iar tip este tipul datelor incluse în coloană.
Iată un exemplu:
CREATE TABLE carte (carteid CHAR(10), titlu VARCHAR(255));
În afara tipului de date se mai pot specifica numeroase atribute opționale ale unei coloane:
3.2.4 Ștergerea unui tabel
Ștergerea unui tabel este o operație simplă. Prin ștergerea unui tabel, sunt eliminate toate rândurile incluse în tabel. Pentru a șterge un tabel se folosește următoarea comandă:
DROP TABLE tabel;
3.2.5 Modificarea unui tabel
Modificarea unui tabel se face prin emiterea comenzii ALTER. Pentru a șterge o coloană din tabel se va folosi următoarea formă a comenzii:
ALTER TABLE tabel DROP coloana;
unde tabel este numele tabelului care va fi modificat, iar coloana este numele coloanei care va fi ștearsă.
Pentru a adăuga o nouă coloană în tabel se folosește:
ALTER TABLE tabel ADD coloana tip [opțiuni];
unde tabel este numele tabelului care va fi modificat, coloana este numele coloanei care va fi adăugată, tip este tipul noii coloane, iar opțiuni constituie toate opțiunile dorite enumerate mai sus.
3.2.6 Acordarea și revocarea privilegiilor de acces
Când un utilizator încearcă să obțină acces la o bază de date relațională, SGBD verifică dacă utilizatorul are permisiunea de a executa operația. Administratorul de sistem poate folosi comanda GRANT pentru a autoriza un utilizator să obțină accesul la baza de date sau la un tabel din baza de date. Comenzile corespunzătoare au următoarea formă:
GRANT ALL ON tabel TO utilizator IDENTIFIED BY ’parola’;
GRANT ALL ON bd.* TO utilizator IDENTIFIED BY ’parola’;
Pentru retragerea privilegiilor unui utilizator se folosește comanda REVOKE.
REVOKE ALL ON tabel FROM utilizator;
GRANT ALL ON bd.* FROM utilizator;
3.3. Accesul la datele dintr-o bază de date
În afară de DDL, SQL include DML (Data Manipulation Language). DML permite formarea interogărilor, care obțin accesul la datele stocate într-o bază de date relațională și raportează aceste date. De asemenea este utilizat pentru a insera, actualiza și șterge rândurile dintr-un tabel.
3.3.1 Interogările SQL
Cea mai simplă interogare posibilă raportează toate coloanele din toate rândurile unui tabel. Interogarea are următoarea formă:
SELECT * FROM tabel;
unde tabel este numele tabelului la care se va obține accesul.
Dacă se dorește selectarea numai a anumitor tabele din baza de date atunci se folosește o alternativă a comenzii SELECT:
SELECT coloana1, coloana2 FROM tabel;
unde tabel este numele tabelului, iar coloana1 și coloana2 sunt coloanele la care se va obține accesul. Se pot specifica oricâte coloane.Deseori, este necesară numai raportarea acelor rânduri care satisfac un anumit criteriu. Clauza WHERE permite specificarea condiției care trebuie îndeplinită:
SELECT * FROM tabel WHERE condiție;
unde tabel este numele tabelului, iar condiție este condiția care trebuie satisfăcută.
3.3.2 Prelucrarea datelor într-o bază de date
Sublimbajul DML include comenzi care permit inserarea de rânduri noi într-un tabel, actualizarea unei sau mai multor coloane ale rândurilor existente în tabele, respectiv ștergerea unor rânduri dintr-un tabel. Pentru a insera un nou rând într-un tabel se folosește comanda INSERT cu următoarea formă:
INSERT INTO tabel VALUES (valoare1, valoare2);
unde tabel este numele tabelului la care se va adăuga rândul, valoare1 este valoarea pentru prima coloană din tabel, valoare2 este valoarea pentru a doua coloană din tabel. Numărul valorilor trebuie să fie egal cu numărul coloanelor din tabel. O coloană poate primi și valoare NULL, cu excepția situațiilor când definiția coloanei conține specificații contrare.
O formă mai populară a comenzi INSERT este aceea în care se specifică numele coloanelor cărora le sunt atribuite valorile:
INSERT INTO tabel (coloana1, coloana2) VALUES (valoare1, valoare2);
Dacă nu se atribuie valori unor anumite coloane acestea primesc automat valoarea NULL sau DEFAULT, cu excepția cazurilor în care nu este posibil acest lucru. În cazul în care există specificații contrare atribuirea eșuează.
Pentru a modifica valoarea unui rând sau a mai multor rânduri existente, se emite comanda UPDATE:
UPDATE tabel SET colana1=valoare1, coloana2=valoare2 WHERE condiție;
unde tabel este numele tabelului ale cărui rânduri urmează să fie modificate, valoare1 este valoarea repartizată în coloana1, valoare2 este valoarea repartizată în coloana2, iar condiție identifică rândul sau rândurile care urmează a fi actualizate. Dacă urmează ca fiecare rând să fie actualizat, clauza WHERE poate fi omisă.
Pentru a șterge un rând dintr-un tabel, se folosește comanda DELETE, care are următoarea formă:
DELETE FROM tabel WHERE condiție;
Dacă vor fi șterse toate rândurile clauza WHERE poate fi omisă.
3.3.3 Sortarea, agregarea și gruparea
Deseori este important ca datele să fie raportate într-o anumită secvență. Se poate specifica ordinea de raportare a rezultatelor interogării folosind clauza ORDER BY, care are următoarea formă:
ORDER BY valoare
Dacă se vor folosi mai multe câmpuri pentru sortare, fiecare dintre acestea va fi separat prin virgule de vecinii săi. Dacă se dorește o sortare descendentă se specifică DESC după valoare. De exemplu, pentru a ordona toți angajații în funcție de salariu, de la cel mai mare la cel mai mic, respectiv după nume pentru un salariu dat, se folosește următoarea interogare:
SELECT salariu, nume FROM angajat
ORDER BY salariu DESC, nume;
MySQL include funcții care permit raportarea valorilor agregate, precum un număr al rândurilor tabelului. Iată cele mai importante funcții de agregare:
Clauza AS specifică un nume nou pentru o coloană sau o expresie. Numele specificat este folosit ca titlu în rapoarte. Clauza AS este utilă în lucrul cu funcțiile de agregare.
SELECT count(*) AS Numar_Angajati
avg(salariu) AS Salariu_Mediu
FROM angajat;
Să presupunem că se dorește afișarea numărului angajaților din fiecare departament. Rezultatul acestei interogări va conține o linie pentru fiecare departament, în loc de o linie pentru fiecare angajat. Clauza GROUP BY specifică o asemenea interogare:
GROUP BY coloana-sortare
unde coloana-sortare este numele sau valoarea unei coloane specificată într-o clauză ORDER BY. De exemplu, interogarea următoare raportează numărul angajaților și salariul mediu pentru fiecare departament în parte:
SELECT count(*), avg(salariu) FROM angajat
GROUP BY deptnr ORDER BY deptnr;
Pentru a include în datele de ieșire numai grupurile selectate, se specifică clauza HAVING după clauza GROUP BY. Clauza HAVING are următoarea formă:
HAVING condiție
De exemplu pentru a include numai departamentele al căror atribut deptnr are o valoare mai mare decât 2, se emite următoarea interogare:
SELECT count(*), avg(salariu) FROM angajat
GROUP BY deptnr
HAVING deptno > 2
ORDER BY deptnr;
3.3.4 JOIN
MySQL permite obținerea accesului la mai multe tabele într-o singură interogare. În general, această operație se execută pentru a urma relația stabilită printr-o cheie externă, făcând ca datele din tabelul corelat să fie disponibile pentru interogare.
SELECT nume, meserie FROM angajat, meserii
WHERE angajat.angajatnr=meserii.angajatnr;
Construcțiile angajat.angajatnr și meserii.angajatnr se numesc nume definite; prima se referă la coloana angajatnr din tabelul angajat, iar a doua referă la coloana angajatnr din tabelul meserii. Clauza WHERE asigură o echivalență adecvată între valoarea cheii externe din tabelul meserii cu aceea a cheii primare din tabelul angajat.
O interogare ca aceasta, care combină datele provenite din mai multe tabele, se numește JOIN.
3.4. Utilizarea bazelor de date MySQL din PHP
În PHP este inclusă o bibliotecă cu funcții care furnizează o interfață cu sistemul MySQL de gestiune a bazelor de date. Folosind aceste funcții, un program PHP poate obține accesul la bazele de date rezidente într-o bază de date MySQL și le poate modifica.
Majoritatea interacțiunilor cu o bază de date se desfășoară după un model secvențial simplu:
se deschide o conexiune cu serverul MySQL;
se specifică baza de date la care se va obține accesul;
se emit interogări, se obține accesul la rezultatele interogărilor și se execută operații non-SQL;
se închide conexiunea cu serverul MySQL.
3.4.1 Conectarea la serverul MySQL
Atunci când ne conectăm la serverul MySQL se invocă funcția mysql_connect(), a cărei sintaxă este următoarea:
mysql_connect(nume_gazdă, nume_utilizator, parola);
unde nume_gazdă este numele gazdei pe care se rulează serviciul MySQL, nume_utilizator este identificatorul de utilizator MySQL, iar parola este parola asociată identificatorului de utilizator. Funcția returnează false în caz de eșec.
3.4.2 Selectarea bazei de date
După ce am obținut conexiunea cu serverul MySQL specificat, programul poate specifica baza de date la care va avea acces. Pentru aceasta se invocă funcția mysql_select_db(), care are următoarea formă:
mysql_select_db(baza_de_date);
unde baza_de_date este un șir care conține numele bazei de date la care urmează a se obține acces. Funcția returnează fals în caz de eșec.
3.4.3 Închiderea conexiunii cu serverul MySQL
Pentru a închide o conexiune cu un server MySQL, se folosește funcția mysql_close(), care are următoarea formă:
mysql_close();
Funcția returnează true în caz de reușită, false în caz contrar.
3.4.4 Executarea interogărilor MySQL din PHP
Din punct de vedere al limbajului PHP, există două categorii de interogări:
interogările SELECT, care returnează rânduri ale unui tabel;
interogările UPDATE, INSERT și DELETE, care nu returnează rândurile unui tabel.
Ambele categorii de interogări sunt emise folosind funcția mysql_query().
Funcția are următoarea formă:
mysql_query(interogare);
unde interogare este un șir care conține interogarea care urmează a fi executată. Funcția returnează true dacă serverul a reușit să execute interogarea; în caz contrar returnează false.
Iată în cele ce urmează o interogare tipică MySQL apelată din PHP:
$interogare = ”INSERT INTO functionar
(functionarnr, nume, department, salar)
VALUES (4, ”Ovidiu”, ”office”, 2000000)”;
$rezultat=mysql_query($interogare);
if (mysql_errno())
{
die(”BR”.mysql_errno().”:”.mysql_error().”BR”);
}
3.4.5 Prelucrarea datelor interogării SELECT
Deosebirea dintre interogările UPDATE, INSERT și DELETE, interogările SELECT returnează rânduri de tabel ca rezultate. Rândurile unui tabel sunt incluse într-o structură numită set de rezultate. Prelucrarea setului de rezultate returnat de o interogare SELECT implică parcurgerea prin iterație a rândurilor setului de rezultate. Pentru a obține valoarea numărului de rânduri se folosește funcția mysql_num_rows(). Funcția mysql_fetch_row() se poate folosi pentru a obține următorul rând din secvența setului de rezultate.
$interogare = "SELECT * FROM my_table”;
$rezultat = mysql_query ($interogare) or die ("Eroare");
while($linie = mysql_fetch_array($rezultat)){
while(list($nume_col, $valoare_col) = each($linie)){
echo "$valoare_col";
}
Capitolul 4. Pachetul WAMP
Pachetul WAMP – noțiuni introductive
Este un pachet de programe free software, open source și cross platform web server care constă în Apache HTTP Server, MySQL database și interpretoare pentru scripturile scrise în limbajele de programare PHP. În mod oficial, designerii WAMP au avut intenția de a-l utiliza numai ca utilitar de dezvoltare, pentru a permite designerilor și programatorilor web să își testeze munca pe calculatoarele proprii, fără a avea nevoie de acces la Internet.
Pentru a face posibil acest lucru, multe caracteristici de securitate importante sunt dezactivate în mod implicit. În practică, totuși, WAMP este uneori utilizat pentru a servi pagini web în World Wide Web. WAMP deasemeni asigură suport pentru crearea și manipularea bazelor de date în MySQL și SQLite.
După ce am instalat WAMP, se poate trata adresa de localhost a serverului WAMP ca pe un server la distanță.
Utilizatorul MySQL implicit este "root", iar acesta nu are o parolă MySQL implicită. Cu programul batch resetroot.bat din subdirectorul mysql al directorului unde este instalat WAMP, puteți reseta acest utilizator încât să aibă parola vidă.
Acest pachet conține mai multe module după cum urmează:
serverul Apache
serverul pentru baze de date MySQL
limbajul PHP
consola de administrare phpMyAdmin
Programul este lansat sub termenii licenței GPL și acționează ca un web server capabil de a servi pagini web dinamice. WAMP este utilizat, de regulă, pentru dezvoltarea proiectelor web. Acest software fiind util pentru crearea paginilor dinamice, utilizând limbaje ca PHP, Perl.
WAMP este un pachet cu ajutorul căruia orice utilizator obișnuit al sistemului de operare poate instala suportul necesar pentru a scrie programe dinamice de web; și reprezintă o distribuție Apache extrem de ușor de instalat și configurat, utilă pentru testarea diverselor aplicații locale, înainte de a le publica pe web. Să luăm ca exemplu un magazin online pe care vreți să îl implementați; este o idee bună ca înainte de a-l publica pe net să îl instalați și să îl configurați pe calculatorul local.
Avantajul pachetului WAMP, față de alte distribuții Apache constă în faptul că instalarea și configurarea poate fi efectuată chiar și de către persoane fără cunoștințe anterioare de Apache.
În câteva minute în care aplicația de instalare lucrează pentru voi, aveți la dispoziție nu numai un server Apache gata configurat ci și un server pentru baze de date, o consolă de administrare și puteți începe să scrieți cod PHP dacă doriți.
Capitolul 5. Descrierea aplicației
5.1. Scopul realizării aplicației și tehnici utilizate la realizarea acesteia
Pentru realizarea unei pagini web de succes este necesară surprinderea esenței, a profilului firmei pentru care se dorește realizarea site-ului, într-un design care să aibă impactul dorit asupra utilizatorului și în același timp să fie compatibil cu cele mai folosite browsere (Microsoft Internet Explorer, Firefox și Google Chrome) și optimizat pentru motoarele de căutare.
Același lucru s-a urmărit și în lucrarea de față care are ca scop realizarea unui portal WEB utilizând CMS-ul WordPress.
La realizarea acestui sit am folosit HTML pentru implementarea paginii web, deoarece la realizarea acestei pagini a fost necesară o bază de date; MySQL, acesta fiind un sistem de baze de date funcțional independent și de asemenea am folosit PHP deoarece este un limbaj bun pentru generarea paginilor web dinamice, iar pentru formatarea paginilor web am folosit CSS.
Pentru scrierea codului sursă am folosit Macromedia Adobe Dreamweaver CS 5.5 iar fișierele au fost salvate cu extensia „.php”. Pentru lansarea în execuție și rularea bazei de date a fost necesară instalarea serverului WAMP.
5.2. Proiectarea aplicației
5.2.1. Descrierea bazei de date ”Alternative Sanatoase”
De fiecare dată când am lucrat cu Mysql a trebuit să mă conectez la baza de date folosind o anume sintaxă
Funcția prin care ne conectăm la baza de date mysql_connect() o facem prin următorii parametrii: numele serverului, nume utilizator și parola pentru conectarea la baza de date.
Exemplu:
if(!defined('DB_CONN'))
{
$con = mysql_connect($dbHost, $dbUser, $dbPass) or die("Conectarea la serverul MySQL a esuat. Eroare: " . mysql_error());
mysql_select_db($dbDatabase) or die("Selectarea bazei de date {$dbDatabase} a esuat. Eroare: " . mysql_error());
define('DB_CONN',true);
}
Aceasta este funcția prin care ne connectăm la baza de date ”alternativesanatoase”, care dispune de unsprezece tabele (Figura 5.1 ):
Figura 5.1. Tabelele din baza de date ”alternativesanatoase”
Tabela ”wp_commentmeta” Sunt făcute setările pentru articolele publicate pe sit, se trimite e-mail când: cineva adaugă un comentariu, un comentariu așteaptă moderarea, înainte să apară comentariul: setări implicite pentru articole, moderarea comentariilor: reține comentariul în moderare dacă are mai mult de 2 legături în el.
Tabela ”wp_comments” (Figura 5.2) În tabela wp_comments sunt făcute comentariile la articolele publicate pe sit.
Figura 5.2. Câmpurile din tabela ”wp_comments”
Tabela ”wp_links” (Figura 5.3) În tabela wp-links găsim informații referitoare la link-urile introduse în legături caracteristice WordPress, aceasta caracteristică se poate activa sau dezactiva din opțiunea Links Manager plugin.
Figura 5.3. Câmpurile tabelei” wp_links”
Tabela ”wp_options” (Figura 5.4) Este tabela implicită în setări și controlează unele din setările de bază de configurare pentru site: titlul site-ului, locația, se poate înregistra un nou cont pe sit precum datele și orele care sunt calculate și afișate.
Figura 5.4. Câmpurile din tabela ” wp_options”
Tabela ”wp_postmeta” (Figura 5.5) În tabela wp_postmeta fiecare postare are informații numite datele meta și sunt stocate în wp_postmeta. Unele
plugin-uri pot adăuga propriile lor informații în acest tabel.
Figura 5.5. Câmpurile din tabela ” wp_options”
Tabela ”wp_posts” (Figura 5.6) În nucleul de date WordPress sunt postările. Acestea sunt stocate în tabelul wp_post. De asemenea pagini și elemente din meniul de navigare sunt stocate în acest table.
Figura 5.6. Câmpurile tabelei ”wp_posts”
Tabela ”wp_terms” (Figura 5.7) În tabela wp_terms găsim categoriile pentru ambele posturi link-uri și tag-uri pentru postările ce se găsesc în tabelul de wp_terms.
Figura 5.7. Câmpurile tabelei”wp_terms”
Tabela ”wp_term_relationships” (Figura 5.8) Postările sunt asociate cu categoriile și tagurile din tabelul wp_terms și această asociere este menținută în tabela wp_term_relationships. Asocierea link-urilor către categoriile respective sunt de asemenea ținute în acest tabel.
Figura 5.8. Câmpurile tabelei ”wp_term_relationships”
Tabela ”wp_term_taxonomy” (Figura 5.9) Acest tabel descrie taxonomia (categoria, link sau tag) pentru înregistrările din tabelul wp_terms
Figura 5.9. Câmpurile tabelei ”wp_term_taxonomy”
Tabela ”wp_usermeta” (Figura 5.10) Fiecare utilizator are informații numite datele meta și sunt stocate în wp_usermeta.
Figura 5.10. Câmpurile tabelei ”wp_usermeta”
Tabela ”wp-users” (Figura 5.11) Lista de utilizatori este menținută în wp_users masă conține câmpurile ”id”, ”user_login”, ”user_pass”, ”nume”, ”prenume”, email
Câmpul ”id” reprezintă un număr unic atribuit fiecărei pagini web memorate în baza de date.
Câmpul ”pass” reprezintă câmpul în care este stocată parola cu care ne conectăm la panoul de administrare.
Câmpul ”nume” este numele administratorului
Câmpul ”prenume” este prenumele administratorului
Câmpul ”email” reprezintă câmpul în care este stocată adresa de email cu care ne logăm la baza de date
Figura 5.11. Câmpurile tabelei ”wp-users”
5.2.2. Structura paginii web
În cele ce urmează voi face o scurtă prezentare a paginilor aplicației din prisma vizitatorului.
Meniurile disponibile în aplicație sunt următoarele:
Acasă
Alternative Sănătoase de la A-Z
Forum
Meniul ”Acasă” (Figura 5.12) conține informații generale pe care le găsim în sit, meniurile de navigare, și toate articolele publicate, fiind de altfel și prima pagină a site-ului.
Figura 5.12. Meniul ”Acasă”
Meniul ”Alternative Sanatoase de la A-Z” (Figura 5.13) În acest meniu se pot adăuga articole atât de admin cât și de cei care vizitează sit-ul.
Figura 5.13. Meniul ”Alternative Sănătoase de la A-Z”
Meniul ”Forum” (Figura 5.14) În acest meniu se poartă discuțiile pe diferite subiecte din articolele publicate pe sit.
Figura 5.14. Meniul ”Forum”
5.2.3. Structura panoului de administrare
Prin conectare la aplicație se pot gestiona informațiile conținute pe site pentru fiecare meniu în parte. În momentul conectării, administratorul aplicației va avea acces la fiecare opțiune de pe site-ul în sine și va putea alege operația pe care vrea să o efectueze.
Conectarea la panoul de administrare se face pe baza unui nume de utilizator și a unei parole conform cu Figura 5.15.
Figura 5.15. Logare în panoul de administrare
După autentificare administratorul este redirecționat pe prima opțiune din panoul de administrare „Panou control”. (Figura 5.16), din această pagină administratorul are acces la toate opțiunile și setările pentru sit.
Figura 5.16. Administrare pagină ”Panou control”
Următoarea secțiune disponibilă din panoul de administrare este ”Articole”. (Figura 5.17) Aceasta ne pune la dispoziție o listă cu articolele existente (create anterior) unde sunt afișate câteva detalii precum acțiuni în
masă, datele, toate categoriile, filtru.
Figura 5.17. Administrare din pagina de ”Articole”
”Fișiere” ( Figura 5.18) Librărie media în această pagină avem opțiunea de a adăuga sau edita fotografi.
Figura 5.18. Administrare din pagina de ”Fișiere”
Secțiunea “Legături” (Figura5.19) Această opțiune ne oferă legăturile cu blogul WordPress, documentație, forumuri asistență, impresii, module de WordPress, planeta WordPress, teme WordPress.
Figura 5.19. Administrare din pagina de ”Legături”
Secțiunea ”Pagini” (Figura 5.20) Oferă administratorului posibilitatea de a vedea lista de pagini, de a adăuga pagini, ștergere pagini precum și accesul la editare rapidă.
Figura 5.20. Administrare din pagina de ”Pagini”
Secțiunea ”Meniul Comentarii” (Figura 5.21) În acestă opțiune avem posibilitatea de a verifica comentariile care sunt publicate pe sit (cele în așteptare, aprobate, spam și cele care sunt trimise în gunoi.
Figura 5.21. Administrare din pagina de ”Meniu comentarii”
În secțiunea de administrare ”Aspect” (Figura 5.22) Se găsesc setările pentru administrarea temelor, widgeturi, meniuri, opțiuni temă, antet, fundal și editor temă.
Figura 5.22. Administrare din pagina de ” Aspect”
Secțiunea ”Module” (Figura 5.23) Oferă administratorului posibilitatea de a vedea lista de module, de a adăuga module precum și editarea modulelor.
Figura 5.23. Administrare din pagina de ”Module”
Secțiunea ”Utilizatori” (Figura 5.24) Oferă administratorului posibilitatea de a vedea lista cu utilizatori, de a adăuga noi utilizatori precum și de a vedea și edita profilul propriu.
Figura 5.24. Administrare din pagina de ”Utilizatori”
Secțiunea ”Unelte” (Figura 5.25) În această opțiune găsim uneltele disponibile pentru a putea face import și export. Mai avem și publicarea imediată care este o scurtătură, o aplicație mică ce rulează în navigator și permite capturarea unor porțiuni de pe internet pentru publicarea pe sit.
Figura 5.25. Administrare din pagină de ”Unelte”
În secțiunea de administrare ”Setări generale” (Figura 5.26) Se găsesc setările generale: unde avem setările, titlu sit, slogan, adresa WordPress (URL), adresă e-mail, membri, fus orar, scriere: dimensiunea câmpului de editare, formatare, categorie implicită , format implicit pentru articol, categorie implicită pentru categorii, afișare: afișare pe prima pagină, paginile blogului , discuții: setări implicite pentru articole, alte setări pentru comentarii, fișiere: dimensiune imagine, înserări, unde se încarcă fișierele, confidențialitate: setările de cofidențialitate (vizibilitate sit), legături permanente: în mod implicit WordPress utilizează URL-uri ce conțin semne de întrebare și numere. Totuși WordPress îți oferă posibilitatea de a crea o altfel de structură URL pentru legături permanente și arhive. Aceasta poate îmbunătăți estetica, longevitatea și utilitatea legăturilor
Figura 5.26. Administrare din pagină de ”Setări”
5.2.4. Codul aplicației
Vom urmări în continuare codul aplicației care permite generarea unor secvențe din paginile arătate în paragraful precedent.
În cele ce urmează se vor prezenta numai câteva porțiuni de cod care se consideră simbolice pentru operațiile cu care ne-am confruntat în timpul dezvoltării aplicației.
Pentru realizarea panoului de administrare sunt redate mai jos câteva secvențe de cod:
Funcția de autentificare:
Mai jos testăm dacă au fost completate nume utilizator și parola:
Comparăm datele introduse cu cele returnate din baza de date dacă acestea sunt identice creem sesiunea de utilizator prin funcția ”login()”
Odată ce sesiunea a fost creată redirectăm userul către panoul de administrare conform codului anterior. În momentul în care userul a fost redirecționat pe pagină se verifică sesiunile create. Ca și o metodă de securitate a fost implementată o verificare a sesiunilor la fiecare navigare din panoul de administrare.
Această acțiune împiedică persoanele neautentificate să nu poată avea acces în panoul de administrare, prin urmare acestea vor fi redirecționate către modulul de autentificare.
function sesiune($cont)
{
if(isset($_SESSION['cont']) && isset($_SESSION['nume']))
{
if(!($_SESSION['cont'] == $cont))
{
header("Location: login.php");
}
}
else
{
header("Location: login.php");
}
}
Conexiunea la baza de date se realizează prin user și parolă (în acest moment vorbim despre utilizatorul bazei de date, nu cel definit de noi pentru conectarea la site. Pentru aceasta s-a creat următorul șir de conectare:
Pentru inițializarea obiectelor ce crează paginile sit-ului și care returnează datele din baza de date am creat urmatorul cod php:
Concluzii
Aplicațiile web reprezintă în general site-uri complexe, interactive, al căror design presupune cunoașterea cât mai detaliată a unor limbaje de scripting sau de programare și baze de date. Pentru construirea unei aplicații web se pot folosi o multitudine de tehnologii. Aplicațiile web oferă posibilitatea unui acces rapid și comod, prin intermediul interfeței familiar a paginilor web.
Această lucrare conține o scurtă introducere despre Internet, apoi am încercat să concentrez în câteva pagini câteva elemente de bază ale limbajului PHP cu exemple sugestive. Deoarece pagina web a fost construită cu elemente de MySql am realizat o scurtă introducere a acestui sistem de baze de date funcțional independent.
Următorul pas a fost să vorbesc despre pachetul WAMP; iar în cele din urmă am prezentat aplicația, subiect în jurul căreia se învârte această lucrare. Într-unul dintre capitole am încercat să evidențiez tehnicile folosite și de asemenea am făcut un mic tur al paginii; pagină care are ca scop prezentarea unui sit și promovarea pe internet a acestuia.
Dezvoltări ulterioare
Aplicația prezentată este una destul de complexă însă întotdeauna se găsesc noi tendințe care și în cadrul sit-urilor necesită o actualizare sau o updatare a ceea ce deja există și care poate fi dezvoltată cu timpul pentru a veni în întâmpinarea problemelor care apar în cadrul unui sit ce ridică pretenții din punct de vedere grafic și al securității.
Pe viitor se poate implementa un nivel de securitate mai ridicat atât la nivel aplicație cât și la nivel de server. Pentru o creștere a securității se poate implementa un istoric a tuturor operațiilor care sunt făcute pe serverul de baze de date respective.
De asemenea se pot introduce noi interogări a bazelor de date existente pentru a genera diferite situații.
Tot la dezvoltări viitoare intră și următoarele:
Un sistem de manager multimedia, acum există un manager de imagini dar pe viitor se dorește implementarea managerului multimedia care permite lucru cu imagini, video, documente (.doc, .pdf, .xls, etc.).
O nouă secțiune, cu alternative, pentru combaterea viciului împotriva fumatului.
Se observă că pe parcursul acestei lucrări avantajele tehnologiilor avansate de programare în PHP, MySQL, JavaScript, cu ajutorul acestor tehnologii putem crea aplicații cu aspect plăcut, interactive și cu un nivel de sigurantă ridicat.
Bibliografie
http://www.mysql.com/training/ – accesat martie 2015
http://www.php.net/archive/2013.php#id2012-05-08-1 –accesat martie 2015
PHP 4 Developer's Guide, Osborne McGraw-Hill, 2010, Blake Schwendiman
Essential PHP for Web Professionals, Prentice Hall, 2008, Christopher Cosentino
http://www.cssplaza.com/1/CSS-Introducere/ -accesat mai 2015
http://www.w3schools.com/html/ -accesat iunie 2015
The practical SQL Handbook: Used Structured Query Language, Addison-Westley, Judith S. Bowman
http://www.tutorialehtml.com/tutoriale-css/introducere-in-css.php
The HTML 4 Programer’s Reference, R. Allen Wyke
http://www.tutorialehtml.com/htmlt/intro.php -accesat iunie 2015
http://www.techit.ro/tutorial_sql1.php -accesat mai 2015
Bibliografie
http://www.mysql.com/training/ – accesat martie 2015
http://www.php.net/archive/2013.php#id2012-05-08-1 –accesat martie 2015
PHP 4 Developer's Guide, Osborne McGraw-Hill, 2010, Blake Schwendiman
Essential PHP for Web Professionals, Prentice Hall, 2008, Christopher Cosentino
http://www.cssplaza.com/1/CSS-Introducere/ -accesat mai 2015
http://www.w3schools.com/html/ -accesat iunie 2015
The practical SQL Handbook: Used Structured Query Language, Addison-Westley, Judith S. Bowman
http://www.tutorialehtml.com/tutoriale-css/introducere-in-css.php
The HTML 4 Programer’s Reference, R. Allen Wyke
http://www.tutorialehtml.com/htmlt/intro.php -accesat iunie 2015
http://www.techit.ro/tutorial_sql1.php -accesat mai 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: Realizarea Unei Portal Web Utilizanad Cms Ul Wordress (ID: 150341)
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.
