Creeaza.com - informatii profesionale despre


Cunostinta va deschide lumea intelepciunii - Referate profesionale unice
Acasa » scoala » informatica » php
Descrierea generala a aplicatiei "Site-ul Liceului Beceni"

Descrierea generala a aplicatiei "Site-ul Liceului Beceni"


Descrierea generala a aplicatiei "Site-ul Liceului Beceni"

1. Scopul site-ului si specificarea cerintelor

Aplicatia Web "Situl Liceului Beceni" este un sistem online de prezentare a liceului Beceni, Comuna Beceni, Judetul Buzau. Scopul aplicatiei este acela de a furniza informatii despre liceul Beceni, vizitatorii avand si posibilitatea sa-si creeze cont si sa posteze pe sit opiniile lor.

In realizarea acestei aplicatii am pornit de la urmatoarele cerinte:

  • Platforma hardware si software: aplicatia va rula in bune conditii pe un server Web cu specificatii hardware minimale, in sistemul de operare Linux/Unix. Portarea pe un sistem de operare din gama Windows se va realiza cu efort minim; aplicatia va avea nevoie ca serverul Web sa permita executarea de scripturi PHP si gestionarea bazelor de date prin sistemul de gestiune MySQL. Accesul utilizatorilor se va realiza prin intermediul unui browser, via http, de pe orice sistem de operare.
  • Limbajele de programare/marcare utilizate sunt: HTML 4.0 + CSS pe partea de client si PHP 4.3/MySQL 2.5 pe partea de server;
  • Cerinte de securitate: accesul utilizatorilor la aplicatie se va realiza prin autentificarea acestora pe baza numelui de cont si a parolei. Utilizatorii vor fi impartiti in mai multe categorii, fiecare categorie avand drepturi de acces specifice la facilitatile aplicatiei; se va asigura confidentialitatea testelor si a rezultatelor obtinute.
  • Interfata aplicatiei trebuie sa fie simpla, ergonomica, intuitiva, pentru a putea fi utilizata de largi categorii de utilizatori;
  • Publicul vizat de aplicatie este format din elevii si profesorii unitatii scolare. Se va tine cont de faptul ca vizitatorii vizati formeaza un grup eterogen din punctul de vedere al cunostintelor si abilitatilor din dmeniul IT&C;
  • Functionalitatile generale implementate
    • Managementul utilizatorilor;
    • Ierarhizarea meniului pe categorii si subcategorii;
    • Administrarea aplicatiei se va face de la distanta;

2. Arhitectura aplicatiei

Aplicatia "Site-ul Liceului Beceni" are o structura modulara. Principalele module ale aplicatiei sunt:



  1. Modulul de autentificare: permite utilizatorilor accesul la aplicatie pe baza unui nume de cont si a unei parole; acest modul realizeaza si controlul accesului utilizatorilor la facilitatile aplicatiei, in functie de drepturile de acces asociate grupului din care face parte utilizatorul
  2. Modulul de gestionare a utilizatorilor. Modulul permite realizarea operatiilor curente efectuate asupra conturilor utilizatorilor:
    1. Creare cont
    2. Editare cont
    3. Stergere cont
    4. Cautare conturi
    5. Aprobare conturi

Operatiile de gestionare a conturilor nu pot fi realizate decat de utilizatorul cu drept de administrator. Exista trei categorii de utilizatori, fiecare grup avand drepturi specifice:

a.      Administratorii - au drepturi de gestionare a conturilor, a categoriilor sitului si a conturilor utilizatorilor;

b.     Utilizatorii - pot pune in GuestBook parerile lor despre sit;

  1. Modulul de gestionare a categoriilor. Modulul permite administratorului sa gestioneze categoriile si subcategoriile ce vor fi utilizate la ierarhizarea meniului;
  2. Modulul de gestionare a meniului. Acest modul permite realizarea tuturor operatiilor de gestionare a meniului si submeniurilor: creare categorii, editare, adaugare subcategorii, stergere, e.t.c

Structura modulara a aplicatiei este sugerata si de structura directoarelor ce compun aplicatia, asa cum se observa in figura 3.1.

Fisierele ce compun un anumit modul sunt grupate intr-un folder separat pentru a realiza o structura flexibila, usor de modificat.

Pentru fiecare pagina a sitului s-a aplicat acelasi design general, pagina avand urmatoarele zone:

Top - zona din partea superioara a paginii - contine banner-ul, bara de navigare si formularul de autentificare

Right - zona din partea dreapta a paginii - contine meniul pe categorii si subcategorii;

Main - este zona principala a ferestrei, in care se afiseaza continutul efectiv al fiecarei pagini;

Bottom - contine informatii privind drepturile de autor asupra aplicatiei;

Figura 3.1 Structura de directoare a aplicatiei

Fiecare zona a paginii este definita in cadrul unui fisier PHP cu acelasi nume, asa cum se observa in figura 3.2. Cele cinci zone ale paginii sunt delimitate prin utilizarea unui tabel HTML, in fiecare celula incluzandu-se codul PHP din fisierele mentionate (vezi capitolul 1 - Crearea tabelelor HTML).

top.php

main.php

right.php

bottom.php

Figura 3.2. Tabelul de design al paginii

Codul PHP utilizat pentru crearea sablonului principal al paginilor sitului este urmatorul:


Functia PHP include() permite includerea intregului cod PHP aflat in fisierul specificat in locul apelului. Utilizarea functiei include permite crearea de sabloane pentru paginile sitului, astfel incat orice modificare asupra aspectului fiind usor de realizat, modificarile facandu-se doar intr-un numar limitat de fisiere (top.php, main.php, right.php, bottom.php).

Controlul aspectului este realizat si prin definitiile CSS aflate in fisierul stil.css, care stabilesc stiluri pentru fonturi, pentru meniuri, stabilesc aspectul tabelelor si formularelor sitului.

Pagina principala, ca de altfel toate paginile sitului, vor avea urmatorul aspect:

Figura 3.3. Pagina de primire

3. Structura conceptuala a bazei de date

Aplicatia "Situl Liceului Beceni" utilizeaza o baza de date MySQL pentru gestionarea tuturor datelor necesare. Am ales serverul de gestiune a bazelor de date MySQL deoarece este un instrument puternic si stabil, iar utilizarea acestuia este libera.

Pentru descrierea structurii conceptuale a bazei de date am utilizat diagrama entitate relatie, unde notatiile folosite au urmatoarea semnificatie:

Entitatile sunt reprezentate prin dreptunghiuri, numele entitatii fiind scris cu majuscule;

Denumirile proprietatilor unei entitati sunt prefixate de unul din caracterele:

o      - cheie primara;

o      - proprietate obligatorie;


o      o  - proprietate optionala, care poate sa nu mai apara in structura ulterioara a bazei de date;

Proprietatile cu statut de cheie primara sau cheie externa sunt subliniate;

Relatiile dintre entitati sunt reprezentate prin linii continue si/sau punctate, in functie de cardinalitatea si optionalitatea relatiei;


Figura 3.4. Diagrama entitate - relatie in a treia forma normala

Observatii:

Entitatile CONFIG si ERORI nu sunt relationate cu celelalte entitati deoarece vor constitui tabele auxiliare in baza de date. Tabela Config va memora date privind dimensiunile celor cinci zone ale paginii sitului, iar tabela Erori memoreaza mesajele de eroare si mesajele de avertizare, care vor fi afisate in cadrul aplicatiei.

Tabela Config


Tabela Config este utilizata pentru controlul dimensiunilor celor cinci zone de afisare, datele continute fiind suficiente pentru determinarea tuturor dimensiunilor necesare. Intr-o versiune viitoare, tabela va fi utila pentru redimensionarea paginii in functie de rezolutia de pe computerul vizitatorului.

Tabela Erori

Tabela Erori memoreaza toate mesajele de avertizare sau de eroare pe care le poate furniza aplicatia, valoarea campului tip specificand categoria din care face parte mesajul (0 - mesaj de eroare, 1 - mesaj de avertizare/succes).

Afisarea efectiva a mesajului in browser este realizata de functia mesaj($cod), definita in fisierul lib.php, care primeste ca parametru codul mesajului de eroare.

Tabela Conturi


Tabela Conturi este una dintre cele mai importante tabele, aceasta relationand cu majoritatea tabelelor bazei de date. Tabela memoreaza datele referitoare la utilizatorii aplicatiei:

Date personale si de contact nume, prenume, email;

Date pentru autentificare: username(numele contului utilizatorului), userpass (parola asociata contului), uid (memoreaza tipul contului: administrator, profesor, elev);

Alte date ce descriu starea contului: stare (daca este activ, blocat sau in asteptarea validarii), data _c (data cand a fost creat contul), data_exp(data expirarii contului);

Tabelele Tcategorii si Tsubcat


Aceste tabele sunt utilizate pentru a ierarhiza categoriile si subcategoriile meniului principal al sitului.Descrierea categoriilor si subcategoriilor nu este inca utilizata in cadrul aplicatiei.

4. Autentificarea utilizatorilor si controlul drepturilor de acces

Aplicatia "Situl Liceului Beceni", conform cerintelor specificate anterior, trebuie sa furnizeze servicii cu un grad sporit de securitate si confidentialitate a datelor. Autentificarea utilizatorilor se realizeaza in mod clasic, prin utilizarea numelor de cont si a parolelor de acces la aplicatie. Parolele sunt memorate in tabela conturi intr-o forma criptata prin utilizarea sistemului de criptare md5, implementat in PHP prin functia cu acelasi nume.

Autentificarea utilizatorilor se realizeaza prin intermediul formularului aflat in partea de sus a oricarei pagini a sitului (vezi figura 3.5)

Figura 3.5. Formularul de autentificare

Sursa HTML a formularului de autentificare este:


Controlul aspectului elementelor de formular a fost realizat prin utilizarea definitiilor de stil CSS2 cuprinse in fisierul stil.css. Mai multe amanunte despre CSS pot fi gasite in [3] si [5].

Datele culese prin intermediul formularului sunt prelucrate de scriptul login.php, care verifica existenta contului si corectitudinea parolei. Codul PHP este urmatorul:

else

else

}

 


Observatii

Se realizeaza o interogare SQL (vezi Cap.2, sectiunea 2.5) pentru a determina daca numele de cont si parola sunt inregistrate in baza de date; inexistenta contului sau incorectitudinea parolei determina esuarea tentativei de autentificare;

Se verifica starea contului. Daca utilizatorul are contul blocat sau inca nevalidat se va afisa un mesaj de eroare corespunzator;

In cazul in care autentificarea se face cu succes, o parte din informatiile referitoare la cont se memoreaza in variabile de sesiune, pentru a putea fi utilizate pe tot parcursul aplicatiei. Variabilele de sesiune sunt memorate cu ajutorul tabloului asociativ predefinit $_SESSION[].

Dupa autentificarea cu succes a utilizatorului, acesta poate utiliza facilitatile aplicatiei in functie de nivelul drepturilor de acces atasate contului sau. Fiecare pagina a sitului verifica dreptul de acces al utilizatorului autentificat. De exemplu, pagina de administrare a grupelor poate fi accesata atat de administrator cat si de profesori, deci verificarea drepturilor de acces va fi:


Verificarea drepturilor de acces este realizata de functia autentificare(), aflata in fisierul lib.php:


In intreaga aplicatie, stabilirea si inchiderea conexiunilor cu baza de date se realizeaza prin intermediul a doua functii definite in fisierul lib.php(vezi Cap. 2, sectiunea 2.5.1):


La deconectarea utilizatorului din cadrul aplicatiei, prin accesarea link-ului corespunzator, se executa scriptul logout.php, a carui sarcina este aceea de a elimina din cadrul sesiunii de lucru variabilele definite la autentificare si de a sterge toate variabilele cookies alocate sesiunii. Aceste masuri sunt luate in scopul sporirii securitatii aplicatiei prin prevenirea accesului neautorizat.


5. Afisarea mesajelor

Asa cum am precizat intr-o sectiune anterioara, afisarea mesajelor este realizata, din orice script al aplicatiei, apeland functia mesaj(), definita in fisierul lib.php. Functia primeste ca argument codul mesajului ce se doreste a fi afisat, interogheaza tabela ERORI pentru a determina tipul mesajului (de eroare sau de avertizare) si continutul acestuia.


In functie de tipul mesajului, se afiseaza si o pictograma sugestiva, asa cum se observa in figura de mai jos.

Figura 3.6. Mesaj de eroare





Politica de confidentialitate


creeaza logo.com Copyright © 2024 - Toate drepturile rezervate.
Toate documentele au caracter informativ cu scop educational.