SPECIALIZAREA CONTABILITATE ȘI INFORMATICĂ DE GESTIUNE [302159]

UNIVERSITATEA DIN PITEȘTI

FACULTATEA DE ȘTIINȚE ECONOMICE ȘI DREPT

SPECIALIZAREA CONTABILITATE ȘI INFORMATICĂ DE GESTIUNE

LUCRARE DE LICENȚĂ

Coordonator științific

Conf. univ. dr. Luminița ȘERBĂNESCU

Absolvent: [anonimizat]

2017

UNIVERSITATEA DIN PITEȘTI

FACULTATEA DE ȘTIINȚE ECONOMICE ȘI DREPT

SPECIALIZAREA CONTABILITATE ȘI INFORMATICĂ DE GESTIUNE

PROIECTAREA UNUI SITE PENTRU GESTIONAREA UNEI AGENȚII IMOBILIARE

Coordonator științific

Conf. univ. dr. Luminița ȘERBĂNESCU

Absolvent: [anonimizat]

2017

Cuprins

Introducere

Trăim într-o [anonimizat]-[anonimizat], pe care persoane cu doua generații înaintea noastra nu le înteleg. Această tehnologie a [anonimizat], [anonimizat]-[anonimizat].

În această lume a tehnologiei si a device-urilor, [anonimizat], [anonimizat], imprimante, telefoane, [anonimizat]. [anonimizat], [anonimizat] o [anonimizat], unde potențialii clienți sunt invitați sa descopere mai multe detalii și specificații despre produsele dorite.

[anonimizat]. [anonimizat], [anonimizat], înainte de a contact orice agent imobiliar. [anonimizat].

Descrierea activității unei agenții imobiliare

Agenția imobiliară prezentată în această lucrare este o [anonimizat], [anonimizat], garsonierelor, caselor, vilelor, depozitelor, halelor, terenurilor, [anonimizat], etc, pe baza unui contract de intermediere sau a altor contracte de acest tip.

[anonimizat], [anonimizat], cât și persoane juridice.

Sistemul informatic al agenției imobiliare este conceput și pus la dispoziția utilizatorilor (agenților imobiliarii) pentru a transfera aceste evenimente în mulțimi de mai multe operații. Astfel, [anonimizat]. [anonimizat], dar și a cererilor prezentate. Acest sistem va fi generat după ce se va începe efectiv introducerea ofertelor clientilor.

Aplicația informatică este implementată și constituită pe trei niveluri :

Un nivel al administrării bazei de date și a ofertelor de către angajații agenției

Un nivel al vizualizării ofertelor și achiziționării acestora de către clientii acestei agenții.

Un ultim nivel al continuei dezvoltări al aplicatiei si adaugarea de noi funcționalități pentru cele două niveluri prezentate anterior.

Tipul de arhitectură prezentat în acest caz, ajută în garantarea independenței sistemului informatic menționat anterior, modularitatea acestuia dar si evoluția funcțională.

Pentru proiectarea unui sistem informatic complex și perfect funcțional, care poate fi îmbunătățit în viitor, este nevoie în primul rând de definirea clară a obiectivelor care vor fi indeplinite de acesta.

2.1 Principalele activitati ale agentiei imobiliare:

Pentru descrierea corectă a activităților principale ale agenției, trebuie luate în considerare și stabilite obiective ale sistemului în raport cu particularitățile activității acestei companii, cerințele conducerii acesteia si unele priorități stabilite prin legislația corespunzătoare si specifică acestui tip de agenție.

Serviciile principale oferite de către această agenție sunt:

Intermedieri in vederea vânzării, cumpărării sau închirierii de proprietăți imobiliare;

Consulatanță în domeniul pieței imobiliare;

Evaluari imobiliare;

Promovarea proprităților pe site-ul agenției, în vederea vânzării acestora

Prezentarea ofertelor pe pagina web prin descriere și fotografii relevante.

Posibilitatea stabilirii unei întâlniri cu o persoana specializată in vânzarea si prezentarea spatiilor respective, direct din aplicația web a acestei agenții

Clienții către care sunt îndreptate ofertele, sunt clienți care caută un spațiu de închiriat sau de achiziționat, fie un spatiu locuibil fie un spatiu comercial sau pentru birouri. Agenția furnizează pentru aceștia oferte relativ ieftine, dar poate oferi de asemenea și servicii extra, precum achiziționarea de terenuri, consultanță în domeniul imobiliar, intermedieriin vederea vânzării, cumpărării sau închirierii anumitor proprietăți.

2.1.1 Activitatea de urmărire a agenției

Aceasta este referitoare la partea materială a tranzacțiilor care au loc în cadrul agenției si buna colaborare între oferte, cereri si gestiune, gestiunea contractelor, întocmirea de rapoarte, documentații, editarea acestora, etc.

2.1.2 Activitatea de gestiune a utilizatorilor

În maloritatea aplicatii de tip site web este nevoie de gestiunea utilizatorilor. Fie că vorbim despre un blog la care utilizatorii trebuie să se înscrie pentru a putea citi articole, un forum de discuții sau de un magazin virtual în care un utilizator are posibilitatea sa cumpere anumite produse sau servicii on-line, gestionarea utilizatorilor și datelor acestora va asigura, pe langa autentificarea lor și personalizarea aspectului paginilor afișate respectiv acordarea de drepturi diferite referitor la operatiile care se pot efectua pe site. De asemenea, gestiunea utilizatorilor ne poate ajuta in memorarea datelor de contact si a datelor personale ale fiecarui utilizator al aplicatiei in parte.

Metodele de a asigura gestiunea utilizatorilor și, implicit, autentificarea acestora diferă destul de mult în funcție de cerințele aplicației. Una dintre cele mai importante cerințe este nivelul de securitate. Această cerință este îndeplinita de algoritmi de criptare, care ajută în securizarea datelor personale precum parola fiecărui utilizator, datele cardului, etc. În aplicația de față, metoda de criptare folosita este prin folosirea tabelelor de hash, pai precis MD5, care este o metodă mai veche, dar foarte sigură. Datele care vor fi încifrate, vor fi criptate pe 128 de biți. Această metodă de criptare este folosită în securizarea semnăturilor electronice. Unul dintre avantajele folosirii acestei metode este acela că datele sunt criptate unidirecțional si nu pot fi decriptate, în cazul în care acestea sunt interceptate. În mod evident lucrurile sunt mai stricte pentru un site care asigură tranzacții pe baza informațiilor de pe cărți de credit și mai puțin complicate pentru un forum de discutii.

O a doua cerință se refera la numarul de utilizatori care sunt sau trebuie să fie identificați ca folosind sistemul informatic prezentat, mai precis, site-ul. În cazul în care numarul utilizatorilor este unul mic, ca spre exemplu pe un site ce reprezintă un forum de discuții, aclietii pot fi gestionati relativ simplu direct din limbajul de programare folosit (PHP). În cazul general, în care este vorba despre un magazin online sau un oricare alt site pe care utilizatorii pot crea singuri cont, numarul acestora nu se cunoaște. Pentru un sistem ca acesta este nevoie obligatorie de o baza de date la care se conecteaza programul propriu-zis. Folosind această bază de date, utilizatorul poate stoca informatii personale care il pot ajuta în viitor. Pe lânga metodele de autentificare se pot implementa în acest mod, ne putem asigura că utilizatorul va vedea pe pagina principală a magazinului, oferte relevante pentru el, în funcție de căutările anterioare. Un alt mod in care ne poate ajuta această baza de date este în a trimite oferte personalizate pe adresa de email a clientului respectiv, sau trimiterea de cupoane de reducere în ziua de naștere a acestuia.

Grupurile de utilizatori

Ca și în orice sistem informatic bine dezvoltat, există mai multe paliere pe care sunt organizați utilizatorii, în funcție de anumite criterii și de nivelul de acces pe care aceștia îl au la resursele aplicației.

Administrator de sistem – Deține acces total asupra tuturor setărilor și resusrselor aplicației. Este singurul grup care deține acces total. În acest grup sunt încadrați programatorii care dezvoltă sistemul de față, putând realiza si update-uri platformei atunci când acestea sunt disponibile.

Administrator imobiliar – Deține acces similar cu cel al administratorului de sistem, mai puțin accesul la baza de date, metodele de update și părțile din sistem care încă sunt în stadiul de dezvoltare.

Personal imobiliar – Detin accesul la panoul de comanda de unde pot vedea comenzile noi, le pot prelua si edita, sau chiar aula, dacă este cazul. Acest grup poate de asemenea adăuga noi oferte care după un review optional pot apărea pe site-ul agenției, astfel ajungând până la client.

Editor – Editorii sunt persoane care pot adăuga singuri oferte pe site, astfel putând să vânda sau sa dea spre inchiriere spatiul pe care il au disponibil. Acești editori pot fi angajați ai altor agenții, care adăuga ofertele și pe acest site, astfel putând să beneficieze de promovare în plus.

Client – Precum spune si numele, se referă la grupul de clienți, grup care nu va avea acces decât la datele personale. În acest fel, clientul poate salva datele personale precum: nume, prenume, adresa de email, parola, data nasterii, orasul in care locuieste, etc. Prin intermediul tuturor acestor date, aplicația decide ce oferte arata clientului, in functie de locație și căutările anterioare, trimite oferte personalizate pe adresa de email a acestuia atunci cand sunt disponibile, sau trimite un cupon de reducere atunci cand clientul își serbează ziua de naștere, etc.

2.1.3 Activitatea de gestionare a ofertelor și cererilor

Atât activitatea de actualizare cat si activitatea de constituire a ofertelor si cererilor agentiei imobiliare se  desfașoară între clientul agenției, persoana fizică  sau juridica si agentul imobilar cu care ia legătura.

Această activitate poate fi formată din urmatoarele operații complexe :

Solicitarea unei oferte de către client

Selectare ofertă

Definitivarea contractului

Procesarea facturii și efectuarea plății

Pentru efectuarea acestor operații destul de complexe, intervin câteva fluxuri informaționale, numite în continuare “activități”, precum:

Activitatea 1

Clientul prezinta interesul de a achiziționa sau închiria un anumit spatiu, după care expune această dorință către agentul imobiliar. În acest fel, agentul imobiliar este informat de către client despre date generale legate de spatiul dorit, aceste informații fiind folosite pentru a identifica mai usor cererea care ulrtior se transformă în ofertă.

Activitatea 2

Clientul accesează site-ul pentru a vedea ofertele disponibile în acest moment la agenția noastră, astfel, vizuaizând ofertele deja existente, există posibilitatea de a alege una deja existenta, pentru a nu mai aștepta pana când noi oferte vor fi disponibile. Dintr-un click, clientul poate vedea toate datele ofertei și o poate rezerva telefonic pentru a se asigura că oferta rămane doar pentru el.

Activitatea 3

În cazul în care oferta este acceptată de către client, urmează ca agentul imobiliar sa furnizeze un contract care va fi semnat de ambele părți, după care urmează emiterea unei facturi din partea agenției.

2.1.4 Activitatea de gestiune a contractelor

Și în acest caz, această acțiune se imparte în mai multe “subacțiuni”

Activitatea 1

Agentul imobiliar poate oricănd să adauge un contract, să realizeze modificări asupra celor existente, și pe deasupra are și dreptul de anulare a unuia sau a mai multor contracte. De asemenea, poate realiza căutări în baza de date.

Activitatea 2

A doua activitate surprinde situatia in care contractul este deja finalizat și deci nu mai sunt activități care urmează

2.2 Definirea obiectivelor sistemului informatic al agenției imobiliare

Obiectivele sistemului informatic reprezintă scopuri imediate și de perspectivă privind perfecționarea activității agenției imobiliare în general, precum și conducerea activității în vederea ridicării nivelului de informare operativa si previzionala a structurilor organizatorice si de conducere.

Obiectivele sistemului informatic presupun abordarea și rezolvarea unor probleme în sistem informatic, probleme cu caracter sintetic, într-o manieră sistematică. Aceste obiective au caracteristici generale dar și specifice care depind de cadrul legislativ-normativ, de dotarea cu tehnică de calcul cât mai performantă, cu mașini pentru deplasare  si cerințele dezvoltării economice, imediate si de perspectiva, ale agentiei respective. Programul informatic este complex si propriu, care înglobează atât activitățile realizate de agent cât și de administratorul de sistem. În acest fel facilitează folosirea programului prin controlul asupra drepturilor și obligatiilor utilizatorilor.

Resurse software utilizate pentru proiectarea aplicației

3.1 Baze de date

O bază de date este un depozit de informații unic ce este utilizat simultan de mai mulți utilizatori și de mai multe departamente. De aceea, baza de date conține atât datele operaționale ale organizației, cât si descrierea acestora. Descrierea bazelor de date este deseori întâlnită sub denumirea de dicționar de date sau catalog de sistem. Când sunt analizate necesitățile informaționale ale unei organizatii, se întreprinde identificarea atributelor, a entităților și a relatiilor.

O entitate reprezintă un obiect despre care dorim să înregistrăm informații sau un element distinct, precum o persoană, un concept, un eveniment, un loc etc., din organizație, care necesită reprezentarea în baza de date. O colecție de entități ce prezintă caracteristici similare se numește tip de entitate sau clasă de entitate. Proprietățile unei astfel de entități vor fi numite atribute de date, elemente de date sau câmpuri. Un atribut este acea proprietate care prezintă un aspect oarecare al obiectului pe care dorim să îl înregistrăm, iar o asociere între mai multe entități se numește relație.

Așadar, baza de date cuprinde entitățile, atributele și relțiile logice; altfel spus, o bază de date conține date în care exista anumite relații logice.

Gestionarea datelor

Gestionarea datelor cuprinde toate activitățile care ne asigură că toate datele de o calitate superioară sunt disponibile pentru a produce atât informația, cât și cunoștințele dorite. Gestionările au ca obiective păstrarea datelor flexibile, integre și adaptabile. Responsabilitățile în gestionarea datelor includ: memorarea, organizarea și reprzentarea datelor în așa fel încât ele să poata fi accesate nu doar selectiv, ci și eficient, prezentarea și manipularea datelor într-un mod care să poată sprijini mediul utilizator și păstrararea valorii prin protejarea datelor.

Instrumentul pentru implementarea efectivă a gestionării datelor este sistemul de protejare al bazei de date .

Bazele de date sunt împărțite in trei principale modele:

3.1.1 Modelul ierarhic

Modelul ierarhic are la bază structuri de reprezentare arborescente și tipuri de relații 1 la 1 și 1 la n. Cu ajutorul acestui model, structura bazei de date poate fi constituită sub forma unui arbore cu un nod rădăcină (trunchiul) și celelalte noduri (ramuri) ce contin colecțiile de date. Legăturile dintre noduri reliefează relațiile de asociere între înregistrările colecțiilor de date superioare și inferioare; o înregistrare reprezintă un set de date cu aceleași proprietăți.

Modelul ierarhic are urmatoarele preoprietăți: accesul direct este posibil doar la înregistrările din colecția de date rădăcină, accesul la înregistrările colecțiilor de date inferioare se face prin specificarea tuturor colecțiilor care se află pe drumul de la colecția rădăcină până la colecția cercetată, toate înregistrările din colectiile bazei de date, excepție făcând colecția de date rădăcină, au câte o înregistrare superioară.

Astfel se definește o relație ce asigură consultarea înregistrărilor din colecțiile de date de sus în jos și de la stanga spre dreapta (modul "top-down").

Totuși, modelul ierarhic are anumite limite, mai ales la operațiile de actualizare, precum modificarea valorilor, a bazei de date, întrucât adaugarea de înregistrări este posibilă doar cu precizarea colecției de date superioare (excepție făcând colecția de date rădăcină), iar ștergerea unei înregistrări generează ștergerea tuturor înregistrărilor subordonate.

3.1.2 Modelul rețea

Modulul rețea se bazează pe structura de reprezentare rețea și pe tipurile de relații 1 la 1, 1 la n și m la n. O rețea este formată din mai multe noduri ce sunt legate între ele. În acest model al unei baze de date, fiecare nod reprezintă câte o colecție de date, iar legăturile reflectă relațiile de asociere. Proprietatea principală este aceea că acceptă ca oricare colecție de date să fie situată pe nivelul 1, prin indicarea explicită a relațiilor dintre acestea. Mai mult de atât, acceptă existența temporară a înregistrărilor fără legături cu alte înregistrări și permite reprezentarea unică a înregistrărilor în baza de date.

Modelul retea este unul complex, dificil de folosit și care ocupă spațiu de memorie ineficient; dependențele din rețea sunt putin clare, datorită existenței mai multor relații de subordonare.

3.1.3 Modelul relațional

Prin prisma modelului relațional, creearea structurii bazei de date depinde în exclusivitate de legăturile stabilite între obiectele ce permit o descriere sub formă tabelară, simplă.

Acest model de reprezentare a datelor se bazeaza pe termentul matematic de relație. O relație R reprezintă o submulțime a produsului cartezian de n mulțimi numite domenii (Di), n fiind gradul relației. O bază de date relațională este acea mulțime de relații legate prin domenii de definiție comune.

Modelul relational al bazelor de date are ca scop eliminare restricțiilor impuse de către modelul rețea asupra legăturilor între colecțiile de date. Unele legături pot fi inexistente la un moment dat și să apară ulterior. În astfel de condiții, în modelul rețea, structura datelor trebuie modificată, acest fapt fiind inexistent în cazul modelului relațional, unde doar legăturile dintre colecții sunt semnificative. Așadar, o relație este reprezentată printr-un tabel, în care fiecare rând reprezintă o înregistrare distinctă și fiecare coloană reflectă un domeniu, prin respectarea următoarelor reguli: fiecare rând al tabelului necesită să fie distinct de celelalte rânduri și formează un tuplu, ordinea rândurilor în tabel nu este predefinită și poate fi modificată fără nicio restricție, coloanele tabelului se identifică prin nume distincte și constituie câmpurile modelului relațional al bazelor de date, orice valoare a oricărui câmp este reprezentată printr-un șir de caractere, iar în fiecare coloană a tabelului, valorile sunt de acelasi tip, constituind un domeniu.

Orice tuplu al unei relații este identificat cu ajutorul unei chei primare, ce are ca definiție un câmp sau un grup de câmpuri cu valori unice. Cu ajutorul acestui model, structura conceptuală a bazei de date poate fi constituită sub forma unei mulțimi de tabele, care sunt asociate între ele prin intermediul unor chei.

Cele mai importante avantaje ale mdelului relational sunt: accesibilitatea pentru persoanele mai putin perfecționate în informatică, deoarece baza de date este reprezentată simplu, precum o colecție de tabele, este un model omogen de constituire a legăturilor stabilite între colecțiile de date, doar prin relatii, acest model asigură independența programelor față de structura datelor, prin simplificarea structurii conceptuale și logice, admite posibilitatea proiectării unei structuri optime a datelor, prin eliminarea redundantă ș prini anomaliile de actualizare și permite satisfacerea cerințelor întâmplătoare ale utilizatorilor.

3.2 MySQL

Un sistem de gestiune a bazelor de date relaționale (SGBDR) reprezintă un instrument critic în nenumărate medii, de la utilizările tradiționale în contexte de cercetare, învățământ și afaceri, până la aplicațiile mai recente, precum operarea motoarelor de căutare din Internet. Însă, în ciuda importanței unei baze de date performante pentru gestiunea și accesul la toate resursele informaționale, aceasta a dovedit că se află dincolo de resursele financiare a numeroase instituții. Din prisma istorică, sistemele de baze de date sunt costisitoare, iar firmele distribuitoare percep remunerații substanțiale, nu doar pentru program, ci și pentru necesara asistență și întrucât motoarele de baze de date reprezentau deseori anumite cerințe hardware considerabile pentru a putea rula cu performanțe câtuși de rezonabile, costurile erau și mai mari.

Printre noii veniți în domeniul de date cu pret scăzut sau chiar gratuit este MySQL, care este un sistem client/server de gestiune a bazelor de date relaționale și este originar din Scandinavia. MySQL include un server SQL, instrumente administrative, programe client pentru accesul la server și o interfață de programare pentru scrierea propriilor programe ale utilizatorilor.

De ce am optat pentru MySQL?

Pe lângă MySQL, în rândul sistemelor gratuite sau chiar gratuite de gestiune a bazelor de date, se numără și mSQL, Postgres (unul din motoarele gratuite, dar fără suport, oferite de producătorii comerciali) și altele. În momentul în care comparăm MySQL cu alte sisteme de baze de date, trebuie să ne gândim la ce ese cel mai important: performanța, suportul, caracteristicile, condițiile și restricțiile de licențiere, pretul etc.; toate cele enumerate reprezintă factori care trebuie luați în considerare.

Astfel, MySQL are de oferit o multitudine de caracteristici atractive, precum: viteza (MySQL este rapid; programatorii susțin faptul că MySQL este cel mai rapid sistem de baze de date), ușurință în utilizare – MySQL este un sistem de baze de date ce are performanțe înalte, dar relativ simplu, cu o configurare și administrare care sunt mult mai simple decât în cazul sistemelor mai mari, cost (MySQL este gratuit pentru majoritatea utilizarilor interne), suportul pentru limbajele de interogare – MySQL înțelege SQL (Structured Query Language – limbaj de interogare structurat), limbajul favorit al tuturor sistemelor moderne de baze de date, caracteristici (la server este posibilă conectarea mai multor clienți simultan, iar acești clientii pot folosi simultan mai multe baze de date; accesul la MySQL se poate obține într-un mod interactiv, utilizând multitudinea de interfețe care permit introducera interogări și vizualizarea rezultatelor. De asemenea, este disponibilă o gamă de interfețe de programare pentru limbaje precum C, Perl, Java, PHP si Python. Astfel, există opțiunea de a utiliza programe client preambalate sau de a scrie propriile programe client pentru aplicații personalizate.

O altă caracteristică este conectivitatea și securitate: MySQL poate fi utilizat integral în rețele, iar bazele de date sunt accesibile de oriunde din Internet; însă, MySQL deține controlul accesului, astfel încât persoanele care nu au dreptul să citească anumite date, nu vor avea această posibilitate. Portabilitatea și distribuția liberă sunt alte doua proprietăți importante, fiind ușor de obținut.

3.3 phpMyAdmin

Cea mai renumită interfață de administrare a bazelor de date MySQL este PhpMyAdmin, care este o aplicație constă într-un set de scripturi PHP grupate, uzual, într-un director având același nume și este grupat la rândul său într-un subfolder al folserului care constituie rădăcina sistemului de foldere și fișiere oferite în Web. De exemplu, serverul Web Apache pentru Windows, care este instalat de obicei în C:Apache, are ca folserul oferit în Web C:Apachehtdocs, iar folderul phpMyAdmin este un subfolder al acestuia.

PhpMyAdmin este un manager online pentru bazele de date MySQL și oferă anumite unelte pentru administarea totală a structurii și a datelor. În mod curent, PhpMyAdmin suportă: creeare și stergere a bazelor de date, ștergere, adăugare și editare a câmpurilor, creeare, copiere, modificare și ștergere a tabelelor, execută orice frază SQL, inclusiv interogări batch (loturi), management chei pe câmpuri, încărcare de fișiere de tip text în tabele, creeare și citire dump-uri ale tabelelor, exportare de date în format multiplu (CSV, XML, PDF, OpenDocument, Word, Excel), management utilizatori și privilegii ale acestuia, administrare servere multiple, administrare useri și privilegiile lor, iar folosind Query-by-example (QBE), permite creearea interogări complexe prin conectare automată la tabelele cerute. De asemenea, PhpMyAdmin crează grafice PDF, tabele InnoDB și chei străine și suportă 54 de limbi străine.

PhpMyAdmin are o pagină de instalare grafică, fapt care-i ajută pe cei care nu se descurcă cu fișierul de configurare.

Printre argumentele pro pentru folosirea phpMyAdmin, menționăm: accesul ușor de pe orice calculator, setul robust de caracteristici, exportul și importul SQL cu un număr rezonabil de opțiuni, operatiile ce sunt usor de accesat la nivel de tabela(redenumire și mutare date), uneltele simple pentru copiere dintr-o bază de date în alta sau dintr-o tabelă în alta și setul complet de operații privind interogarea (ajungând până la stocarea și accesarea lor ulterioară).

3.4 Sistem de management al conținutului – CMS

Un sistem de administrare a conținutului sau CMS (în engleză Content Management System) reprezintă un sistem software menit să automatizeze cât mai bine gestiunea conținutului, mai ales a siteurilor web. Eliminarea intervenției programatorilor la editarea și administrarea siteurilor lor este scopul acestuia. CMS-ul facilitează atât organizarea și controlul, cât și publicarea de documente sau alt tip de conținut, precum imagini și resurse multimedia. Un sistem de administrare a conținutului ajută la ușurarea creareației în comun de documente. Un ‘CMS web’ este un CMS cu facilități adiționale în ușurarea publicării de conținut pe diversele site-uri.

Privind complexitatea siteurilor web și lipsa unui model standard, iar definirea unitară a sistemului de administrare a conținutului, cât și a părților sale componente, este dificil de realizat. Granițele dintre portale, sisteme CMS, DMS (Document Management System – Sistem de Administrare a Documentelor) și ECS (E-commerce Systems – Sisteme de Comerț Electronic) nu sunt suficint de evidente și adesea se suprapun.

Sistemele de administrare a conținutului web sunt folosite adesea pentru controlul și stocarea documentelor, precum articole, manuale tehnice sau de alte naturi, ghiduri de vânzări și broșuri de marketing. Un CMS are următoarele funcții:

• Crearea și transferul de documente și material multimedia

• Identificarea utilizatorilor cheie și a rolului acestora în gestionarea conținutului

• Atribuirea de responsabilități și roluri multiplelor categorii de conținut

• Definirea sarcinilor de lucru, adesea împreună cu trimiterea de mesaje în funcție de eveniment, în așa mod încât managerii de conținut să fie alertați automat când intervin schimbări în ceea ce-i privește

• Urmărirea și organizarea mai multor versiuni ale aceluiași element de conținut

• Publicarea conținutului într-o bibliotecă, încât să sprijine accesul la conținut. În ultima perioada, biblioteca (baza de date) reprezintă o parte din ce în ce mai importantă a sistemului, care poate fi ușor interogată.

De obicei un astfel de sistem oferă unelte software prin care utilizatorii fără cunoștințe bogate de programare pot crea și organiza conținutul o oarecare ușurință. Aproape toate sistemele utilizează o bază de date pentru stocarea conținutului și un layer de prezentare pentru afișarea acestuia vizitatorilor obișnuiți, ce are la bază un set de modele sau mostre (templates). Administrarea este posibilă în mod normal printr-un browser web, însă anumite sisteme pot fi modificate și prin alte modalități.

Un sistem de administrare a conținutului web este diferit față de aplicații creatoare de siteuri (FontPage sau Dreamweaver) prin faptul că un CMS permite utilizatorilor fără cunoștințe tehnice specifice, cu trainig puțin sau deloc, să facă schimbări în site. Un CMS este ușor de utilizat și permite utilizatorilor autorizați să administreze un site web. Un CMS este mai mult decât un sistem de creeare de siteuri, este o unealtă de întreținere.

Un sistem de administrare a conținutului web oferă următoarele facilități cheie:

• Templateuri automate – Creează templateuri vizuale standard ce pot fi aplicate automat conținutului existent sau celui nou, având un punct central pentru schimbarea interfeței unui site web.

• Conținut ușor editabil – Când conținutul este separat de reprezentarea vizuală a siteului, editatul și manipulatul devin mult mai ușoare și mai rapide, de obicei. Majoritatea CMS-uri includ unelte de editat WYSIWYG (what you see is what you get) ce admit personalului oarecare să creeze și să editeze conținut.

• Scalable feature sets – Cele mai multe CMS-uri au module sau puginuri ce pot fi instalate ușor pentru a extinde funcționalitatea.

• Upgrade-uri după standardele web – Soluțiile active de administrare a conținutului primesc, de cele mai multe ori, update-uri regulate ce cuprind noi facilități și păstrează sistemul la standardele web.

• Administrarea workflow-ului – Workflowul reprezintă procesul creării de sarcini secvențiale și paralele care trebuie îndeplinite de către CMS. De exemplu, dacă un creator de conținut scrie un articol, acesta nu este publicat pe site până cand nu este verificat de editorul de copii și aprobat de editorul șef.

• Administrarea documentelor – CMS-urile vin cu mijloace de gestionare a ciclului de viață al unui document, de la creare, prin revizii, publicare, arhivare și distrugere.

3.5 WordPress

WordPress este o aplicație de publicare și de generare a blogurilor, scrisă în limbajul PHP. Toate datele sunt stocate într-o bază de date MySQL. Sistemul WordPress este succesorul aplicației b2, aplicație dezvoltată de Michel Valdrighi. Astfel, WordPress a ajuns la versiunea 2.5.1, eliberată în data de 25 aprilie 2008 și este distribuit sub licența GNU General Public License.

WordPress este o platformă de publicare puternică, oferind o gamă bogată de funcționalități și proprietăți.

Dată în functie de UTC, WordPress permite definirea timpului în funcție de UTC(Universal Coordinated Time), astfel că datele stocate în baza de date sunt valori GMT. Această facilitate admite afișarea corectă a timpului, inclusiv în situația în care serverul ce găzduiește apicația este situat înt-o zonă cu alt fus orar.

WordPress permite modul gzip, iar pentru a reduce din traffic se activează opțiunea gzip. În cazul de față, WordPress arhivează conținutul trimis spre browser-ul clientului(doar dacă acesta suportă această proprietate). Pentru activarea funcției gzip trebuie activat modulul mod_gzip din serverul Apache.

WordPress admite stabilirea anumitor nivele de prioritate,astfel încât accesul utilizatorilor la diferite facilități este controlat și in acest mod se poate restricționa abilitatea unui user de a modifica sau a realiza conținutul din site.

Fiecare utilizator al blogului poate defini propriul profil, care va conține numle, adresa de email, aliasul de IM, etc. Totodată, utilizatorilor le revine decizia de a avea profilurile vizibile sau nu.

WordPress este menținut cu ușurință la ultima variantă disponibilă. Acest proces de actulaizare se declanșează cu un singur click și se desfășoară aproape automat.

Fiecare pagină este generată folosind baza de date și detaliile privind aspectul paginii, în momentul in care o pagină a blogului este vizualizată de un client. Facilitatea aceasta permite modificarea foarte simplă a aspectului și a conținutului blogului, reducând totodată spațiul ocupat de blog.

Specificațiile RSS 1.0, RSS 2.0 si ATOM sunt suportate în întregime de WordPress, iar fiecare pagină conținută în blog are câte un feed la care se pot abona cititori. Așadar, există un feed pentru ultimul post, pentru unele categorii de posturi, pentru comentarii etc. WordPress suportă în totalitate RSS 2.0, astfel fiind posibilă și adăugarea de fișiere mp3 (pentru podcasting) la feed-uri RSS.

Toate URL-urile paginilor din blog pot fi optimizate potrivit unui standard, în așa fel încât informațiile sunt ușor accesibile atât utilizatorului, cât și motoarelor de căutare.

WordPress folosește template-uri pentru generarea dinamică a paginilor. Modul de afișare a conținutului paginilor este controlat prin editarea template-ului folosit.

Sistemul WordPress deține un editor cu ajutorul căruia pot fi editate fișierele de configurare a template-urilor sau orice fișier WordPress direct din browser, fără a mai fi necesară download-area și upload-area fișierelor privind editarea.

Pentru îmbunătățirea aspectului blogului se pot adăuga teme vizuale, atat create de administratorul site-ului, cat si teme achiziționate de la alți furnizori. Există însă și o gama variată de teme gratuite furnizate de compania WordPress.

Aplicația WordPress suportă anumite plugin-uri privind extinderea funcționalităților de bază ale siteului. Acestea pot fi folosite de la simpla schimbare a fundalului paginii web, până la transformarea unui simplu blog construit cu ajutorul platformei specificate, într-un magazin online cu toate funcțiile dorite (coș de cumpărături, pagini de prezentare pentru fiecare produs, cupoane de reducere, liste feavorite, crearea si administrarea conturilor de utilizzator, compararea produselor, implementarea metodelor de plata, transportul marfurilor, facturare și trimitere email-uri de confirmare a comenzii plasate de fiecare client).

Accesul la paginile blogului cât și la orice resursă, poate fi restricționat prin introducerea unei parole sau prin accesul limitat doar unui anumit grup de utilizatori.

În WordPress este posibilă stabilirea datei la care o anumită postare va fi publicată în blog.

Dacă un post este mult prea lung, acesta poate fi segmentat în pagini, astfel încât cititorul să nu fie obligat să deruleze pagina în jos până la sfârșitul postării.

WordPress admite adăugarea de poze sau fișiere care să apară în articolul postat. Pentru imagini, există posibilitatea de a creea thumbnails-uri.

Posturile pot fi organizate în categorii, sub-categorii ale acestora și sub-sub categorii și tot așa.

WordPress transformă emoticoane din caractere în reprezentări grafice ale acestora.

Articolele neterminate pot fi salvate, fara a fi publicate pe blog in format draft.

Inainte de publicarea unui post, acesta poate fi previzualizat, cu rol de verificare.

Posturile pot fi trimise spre blog prin email,iar acestea vor fi publicate.

WordPress oferă o multitudine de metode de afișare a arhivei blogului. Acestea pot fi afișate după anul,luna, săptămâna sau ziua în care au fost publicate, după autorul postului, după categoria din care face parte postul. Din pricina faptului că WordPress generează dinamic paginile, acele pagini cu modul de afișare al arhivei nu consumă spațiu suplimentar de stocare.

Aplicației WordPress îi aparține un instrument propriu de căutare, instrument ce permite vizitatorilor blogului să caute după termenii care prezintă interes. Plugin-ul de căutare disponibil în WordPress scoate în evidență prezentarea textului căutat prin modificarea culorii fundalului acestuia, astfel încât este mai ușor de identificat.

Pentru păstrarea legăturii cu audiența, wordPress permite cititorilor să adauge comentarii la articolele postate. Pentru moderarea acestora, WordPress pune la dispoziția administratorului o serie de opțiuni, menite să țină la distanță vandalizatorii și spammerii paginilor web.

3.6 Limbajul de programare PHP

Paginile web pot fi dinamice și statice. Paginile dinamice se aseamănă celor statice, singura deosebire fiind aceea că își schimbă dinamic, prin intermediul unor scripturi, conținutul. Rezultatul scripturilor sunt tot fișiere de tip text ce conțin tag-uri HTML.

Ceea ce diferențiază PHP-ul de Javascript este codul, care este executat pe server. Clientul primește numai rezultatul executării scriptului, fără să permită în vreun fel determinarea codului.

Ceea mai mare parte a sintaxei este împrumutată din Java, C și Perl, având câteva funcții unice PHP-ului. Acest limbaj are ca scop permiterea programatorilior WEB să dezvolte rapid și dinamic programele.

PHP-ul a fost dezvoltat la sfârșitul anului 1994 de către Rasmus Lerdorf și a fost utilizat, inițial, în scopuri personale. Prima versiune ce a fost folosită nu doar în scopuri personale, ci și de către alți programatori, a apărut la începutul anului 1995, fiind cunoscută drept Personal Home Page Tools. Această versiune făcea posibilă înțelegerea câtorva funcții și macro-uri folosite deseori pentru realizarea de contoare si de guestbook-uri. Acesta a fost momentul în care programatorii din toată lumea au început să-și aducă contribuția la dezvoltarea limbajului. La sfârșitul anului 1997, PHP/FI era folosit în peste 50.000 de site-uri Web din întreaga lume. În același an, Zeev Suraski și Andi Gutmans au rescris de la zero serverul de PHP/FI, noua versiune lansată pe piață devenind cunoscută sub numele de PHP3. La mijlocul anului 1999, numărul de servere pe care rula PHP-ul ajunsese la 1.000.000.

Inițial a fost dezvoltate pentru sistemul de operare (u)NIX, iar serverul de PHP a fost portat cu succes și pe servere 9x/NT.

Cea mai puternică și importantă componentă a PHP-ului o reprezintă suportul cu bazele de date. Scrierea unei baze de date pentru Web nu este deloc dificilă, dimpotrivă, este extrem de simplă. Bazele de date cu care PHP-ul știe să lucreze sunt: Adabas D InterBase Solid, dBase mSQL Sybase, Empress MySQL Velocis, FilePro Oracle Unix dbm și Informix PostgreSQL.

PHP-ul este realizat și distribuit în sistemul OpenSource, ceea ce face din acest limbaj unul renumit pe scară largă. PHP-ul este utilizat atât de mult și datorită faptului că este foarte ușor de folosit și se poate integra în codul html la fel de ușor.

PHP vine de la \"Hypertext Preprocessor\" și reprezintă un limbaj de comenzi-script pentru server (acționează pe partea serverului – server-side language). Fișierele ce au comenzi PHP, rulează pe serverul Web, nu în navigator, pe stația client. PHP este un limbaj nou (comparativ cu alte limbaje precum Perl (CGI) și Java), dar a devenit rapid unul dintre cele mai răspândite și renumite limbaje din Internet.

Pentru a putea scrie un fișier în PHP, este necesr doar un editor de texte, ca în cazul paginilor HTML, singura deosebire fiind aceea că paginile trebuie salvate în format PHP.

Scripturile PHP sunt incluse de fiecare dată între două taguri PHP, conform aceleași scheme, ca în HTML. Astea spun serverului să prelucreze informații dintre ele și să o interpreteze ca o expresie din PHP. Astfel, există trei forme distincte de marcare a expresiilor (comenzilor PHP).

3.6.1 Comenzi PHP

Linia de cod PHP se încheie întotdeauna cu punct și virgulă (;). Acest fapt este foarte important ca sintaxă. Precum în majoritatea limbajelor de programare sau de comenzi, fiecare linie trebuie să se termine cu un marcaj anume, de cele mai multe ori tot cu punct și virgulă, iar dacă acest marcaj este omis, va rezulta o eroare.

Pentru a afișa un text în scriptul PHP, avem mai multe posibilități și anume: utilizarea comenzii echo sau folosirea comenzii print. Aceste comenzi permit afișarea pe ecran a unui text, a unor variabile sau a unor combinații ale acestora.

Instrucțiuniile pot fi folosite în felul următor:

Prin intermediul acestor funcții putem integra în cadrul unui script php tag-uri HTML ce vor fi intepretate de browser. Aceasta facilitază considerabil munca unui programator, deoarece nu este necesar să ieșim din cadrul scriptului de php, de exemplu, pentru o formatare de text.

Precum și în alte limbaje de programare, în limbajul PHP putem defini variabile. Există câteva tipuri de variabile în PHP, una dintre acestea fiind variabila șir de caractere (string).

Toate variabilele în PHP sunt Case Sensitive, adică $a și $A sunt două variabile diferite.

Precum și în alte limbaje de programare, în PHP există o gamă largă de tipuri de operatori. Printre cei mai întâlniți operatori, întâlnim:

operatori aritmetici:

operatori de atribuire, semnul =, atribuie o valoare unei variabile;

operatori de incrementare:

operatori logici

operatorul folosit pentru concatenarea șirului este punctul " . ";

operatori folosiți pentru operațiile cu array-uri:

Cele mai folosite funcții folosite sunt:

Instrucțiunea condițională IF, care este folosită pentru a compara două valori și a realiza acțiuni diferite în baza rezultatelor testului. Această instrucțiune are forma IF – ELSE. Partea IF testează o condiție, iar dacă aceasta este adevărată, atunci este executată. În caz contrar se merge pe ramura ELSE. Exista și ELSE IF care pot fi combinate cu instrucțiunea IF.

Structura instrucțiunii IF :

Una dintre comenzile cele mai utile din PHP este WHILE. Un ciclu WHILE nu este complicat și execută o anumită parte de cod (un set de instrucțiuni), cât timp este îndeplinită o anumită condiție.

Trebuie să fim atenți să nu creăm un ciclu infinit sau unu mult prea mare, pentru a nu duce la blocarea scriptului și la blocarea paginii.

Ciclurile FOR sunt cele mai complexe cicluri. Un astfel de cicul evaluează două condiții, iat dacă după evaluare se dovedesc a fi adevărate, se execută o instrucțiune. Sintaxa acestuia este:

Se verifică condiția1, iar dacă este adevărată, se trece la condiția 2, urmând ca dacă este adevărată și aceasta să se treacă la execuția instrucțiunii și apoi se execută instrucțiunile; o instrucțiune este o incrementare sau o decrementare

Comentariile pe o singură linie se introduc sub forma:

Comentariile pe mai multe linii se vor scrie sub forma:

3.7 HTML5

Tehnologia evolueaza într-un ritm alert, în toate domeniile, din ce în ce mai rapid și, cum era de asteptat, web development-ul nu este mai prejos. HTML-ul este limbajul markup cel mai folosit pentru paginile web, în zile noastre, însă acesta a "suferit" un upgrade considerabil prin intermediul HTML5.

Istoria și pasii evolutivi ai acestui limbaj de programare nu trebuie neapărat să fie amintiți, întrucât cunoașterea acestora nu reprezintă scopul principal al unui web developer, însă aceste informații nu trebuie ignorate total.

Bazându-se pe principiile după care a fost dezvoltat HTML-ul, ultima versiune a acestuia (HTML5) se bazează pe structură, sens și continut, precum CSS (respectiv CSS3) trebuie să fie folosit doar pentru modificarea modului în care conținutul este afișat. Altfel spus, HTML5 trebuie să descrie ce este un element în pagină, iar CSS3 să descrie cum trebuie să arate acel element.

Așadar, având aceste linii bine definite, au fost făcute schimbări pentru a veni în sprijinul dezvoltatorilor și a designerilor. O parte din tagurile deja cunoscute au fost eliminate, iar altele noi au fost introduse. Schimbările ce fac din HTML5 un "limbaj cu o mai mare putere de exprimare" sunt multiple.

Doctype-ul sau Document Type Declaration nu mai este atât de complicat și greu de reținut, precum a fost în versiunile anterioare de HTML sau XHTML:

Aceasta trebuie să fie prima linie de cod din fișierul html. Teoretic, ea poate lipsi, dar un validator html trebuie apoi să "ghiceasca", să ăresupună ce versiune de html a fost utilizată.

Titlului paginii îi este specifică secțiunea <head>, însă această secțiune este rezervată și informatiilor meta, javascripturilor și css-urilor. Totodată, această secțiune reprezintă o bună practică în includerea charset-ului pentru a indica browserului ce tip de caractere să afișeze la încărcarea paginii.

Sectiunea <body> rămane în continuare principala secțiune a paginii html.

3.7.1 Noile elemente in HTML5

HTML5 aduce noutăți multiple, iar cele mai cunoscute sunt elementele de conținut header, article și footer, care constituie tagurile cu aceleași nume. Omoloagele lor media, audio, canvas, figure și video facilitează, în sfârșit, scripturile de embed (în cazul fișierelor video/audio) și aduc funcționalități noi, precum "desenarea" direct în pagina, precum în cazul canvas-ului.

O listă detaliată a acestor elemente este următorarea:

Majoritatea elementelor enunțate mai sus au proprietatea că se pot folosi alături de CSS3 și Javascript și doar împreună cu acestea pot duce la rezultate uimitoare.

Elementele care au fost scoase, în mare parte cele care țineau de aspect și nu de conținut, sunt următoarele:

În linii mari, HTML5 oferă înțeles semantic superior paginii web, o pagină ce este compusă din div-uri imbricate în div-uri imbricate în div-uri, nu acordă nicio informație despre structura conținutului acelei pagini, div-urile având, cel mai probabil, un id="header", id="footer" etc.

HTML5 vine și "face lumină" cu nou <nav>, <footer> sau <header>. Când începem și conectăm părți și bucăti diferite, înțelesul semantic capătă proporții și rezultatul este așteptat. Astfel, un standard HTML este o modalitate mult mai bună de a determina sensul decât niște texte arbitrare folosite pe post de valori pentru atributele de id.

3.7.2 Dispozitive mobile

Din punct de vedere al acestui aspect, prin simpla menționare a noțiunilor de mai sus, aducerea unui conținut mai îmbogățit (cel putin din punct de vedere media) pe dispozitivele mobile, devine extrem de ușoară și aduce mari avantaje.

Și în acest caz, HTML5 are ce să prezinte. Hainele de defilare sunt compuse din suport de geolocație, local storage și aplicații offline. Așadar, vom putea dezvolta aplicații web care vor avea în spate un mecanism similar bazelor de date, pentru a stoca datele offline și a le livra serverelor doar în momentul în care acestea sunt disponibile. Se va putea crea o pagină web în care să îi fie precizat utilizatorului locația folosind latitudinea și longitudinea, iar apoi să fie afișate pe o hartă folosind Google Maps.

3.8 CSS

CSS este acronimul pentru Cascading Style Sheets.

CSS este un limbaj (style language) ce definește "layout-ul" pentru documentele HTML. CSS acoperă margini (borders), linii, culori, font-uri, înălțime, lățime, imagini de fundal, poziții avansate și alte opțiuni multiple.

HTML este adesea folosit necorespunzător pentru a crea layoutul site-urilor de internet, pe când CSS oferă o gamă mai largă de opțiuni, deci este mai exact și mai sofisticat. Mai mult de atât, CSS este acceptat de toate browserele actuale.

HTML este folosit pentru a structura conținutul, iar CSS este utilizat pentru a formata conținutul.

În perioada inițială a web-ului, HTML era utilizat doar pentru structura textului: textul se putea marca cu taguri precum <hl> și <p> pentru a marca titlul sau un paragraf. Creșterea popularității web-ului a adus cu sine designerii care au început să caute diferite posibilități de a adăuga layout documentelor online. Pentru a corespunde acestor cerințe, producătorii de browsere (în acea vreme Microsoft și Netscape) au inventat noi taguri HTML, precum <font>, care se diferențiază de tagurile originale HTML prin faptul că definesc layoutul, nu structura.

Acest fapt a dus la un caz în care tagurile originale de structur, precum ca <table> să fie folosite necorespunzator pe pagini de layout (to layout pages). Numeroase noi taguri de layout, cum ar fi <blink>, erau recunoscute doar de anumite browsere. O formulă comună care apărea pe siteuri era "Aveți nevoie de browserul X pentru a vedea această pagină". Pentru a remedia această situație, CSS a fost inventat, furnizandu designerilor facilitați sofisticate pentru editarea layoutului, suportate de toate browserele.

Totodată, despărțirea site-urilor de prezentare pentru documente de conținutul documentelor facilitează considerabil întreținerea lor.

CSS este un element revoluționar în lumea web-designului.

Beneficiile concrete ale acestuia includ:

controlarea layoutului documentelor dintr-o singură pagină de stiluri,

tehnici numeroase și sofisticate.

aplicarea de layouturi diferite pentru tipuri media diferite (ecran, printare, etc),

control mai exact al layoutului

3.8.1 Sintaxa de baza CSS

Pentru a avea o pagină web cu un fundal de culoare roșie, avem sintaxele:

Folosind HTML:

Folosind CSS:

Sintaxele CSS și HTML sunt asemănătoare, într-o oarecare măsură. Exemplul de mai sus arată și modelul fundamental CSS:

3.8.2 Aplicarea codului CSS unui document HTML

Se poate aplica CSS prin trei metode: adăugarea formatării în interiorul unui element, definirea claselor CSS în secțiunea head a documentului HTML și includerea unui fișier CSS. Marea majoritate a programatorilor recomanda cea de-a treia metodă, și anume includerea unui fișier extern cu toate clasele css.

Metoda 1: Adăugarea formatării în interiorul unui element (In-line)

Exemplul de mai sus cu fundalul roșu poate fi aplicat astfel:

Metoda 2: Definirea claselor css în secțiunea head a documentului html

Metoda 3: Includerea unui fișier .css

Dintre toate cele trei metode, aceasta este cea mai eficientă, întrucât permite definirea unui singur fișier cu stiluri (.css) care poate fi cuprins în toate paginile unui site.

La fel ca în cazul oricărui fișier, un fișier text cu extensia .css (style sheet) poate fi salvat pe server sau pe hard disk. De exemplu, dacă style sheet-ul se numește "style.css" și este plasat în folderul "style":

poate fi încărcat în documentul html prin utilizarea tag-ului link, în felul următor:

Altfel spus, cel mai important este să creezi un link (o legătură) de la documentul HTML ("default.htm") la style sheet ("style.css").

Linia de cod trebuie inserată în secțiunea head a documentului HTML, între tag-urile <head> și </head>:

Prin această legătură îi este transmis browserului faptul că trebuie să utilizeze clasele dintr-un fișier CSS în momentul în care afișează fișierul HTML. Lucrul cel mai interesant este acela că la același style sheetpot fi legate mai multe documente HTML. Astfel, pentru a controla layout-ul mai multor documente HTML poate fi utilizat un singur fișier CSS.

Metoda aceasta economisește și reduce mult timp. De exemplu, dacă un utilizator vrea să schimbe culoarea de fundal a unui site cu 100 de pagini, un style sheet îl va ajuta să nu introducă manual modificarea de 100 de ori. Utilizând limbajul CSS, această modificare poate fi facută în doar câteva secunde prin schimbarea unui cod din fișierul css.

Punerea în practică a teoriei se face astfel: în Notepad sau în oricare alt editor de text se creeaza două fișiere – unul CSS și unul HTML – având conținutul umător:

Cele două fișiere vor fi puse în același director, după ce au fost salvate cu extensiile corespunzătoare (.css și .html). Când se va deschide "default.htm" într-un browser, se va observa pagina cu fundalul roșu, aftfel facându-se un style sheet!

3.9 Bootstrap

Framework-urile de tip Bootstrap sunt folosite de către dezvoltatorii front-end și web designerii care sunt familiarizați cu limbajele de programare CSS și HTML și au trebuință de o bază solidă în crearea de site-uri web responsive.

Așadar, putem afirma că Boostrap este o ustensilă utilizată pentru a gestiona cât mai eficient faza inițială a unui proiect, întrucât putem conta pe o serie de componente ce pot fi utilizate din nou și personalizate, oferind o fundație solidă de pornire a proiectelor, astfel încât să nu fie nevoie să se reînceapă de la zero.

Calitatea aceasta este sugerată și de numele framework-ului, termenul “bootstrap” reprezentând suma proceselor obligatorii pentru a porni computerele, în același mod în care framework-ul Bootstrap pune la dispoziție instrumentele pentru începerea proiectului web.

3.9.1 Cum funcționează Bootstrap

Prin Bootstrap a fost dezvoltat un sistem de coloane, acesta putând găzdui 12 coloane într-un rând. Coloanele se pot folosi în diverse combinații, în funcție de layout-ul variilor zone din pagina web. Fiecare element preconfecționat în Bootstrap poate fi folosit prin clasele CSS corespondente, care sunt denumite într-um mod foarte intuitiv.

La fel ca în cazul altor platforme responsive, afișarea distinctă a elementelor pentru variile puncte de întrerupere (Breakpoints) este posibilă prin CSS Media Queries (Interogări Media CSS).

Bootstrap are patru astfel de vizualizări pentru dispozitive de varii lărgimi predefinite: extra-small – xs | small – sm | medium – md | large – lg). Absolut tot începe prin logica MOBILE FIRST, vizualizarea default fiind cea pentru mobile (xs).

3.9.2 Structura de fișiere

Versiunea precompilată

După descărcarea versiunii prcompilate și dezarhivarea fișierul, fișierele vor fi aranjate după următoarea structură:

Se remarcă faptul că sunt prezente atât versiunile normale cât și acele verisuni min ale fișierelor împreună cu fonturile.

Versiunea Source Code

În folderele less, js, fonts se pot găsi fișierele, iar în folderul dist se află versiunea precompilată.

Primul Template

Proiectarea site-ului

4.1 Panoul de administrare al serverului și structura fișierelor

În cele două imagini de mai sus, se poate vedea structura folderelor si fisierelor site-ului cat si informatii referitoare la respectivele fisiere. Serverul de hosting pe care sunt fișierele site-ului ruleaza o versiune de Linux numită CentOS, sistem de operare pe care instalat un software de administrare al serverelor, numit CPanel. Având o interfață grafică, CPanel este ușor de utilizat. Parte din funcțiile acestui panou de administrare sunt:

Administrarea email-urilor

Administrarea bazelor de date

Administrare backup-uri și restore

Administrare domenii

Administrare fișiere

Statistici cont

Administrare pachete

Administrare alte conturi cPanel

Administare DNS

Unul dintre avantajele acestui panou de administrare, care se poate observa și în imaginea anterioară este sistemul de management al permisiunilor fișierelor. În mediul online, permisiunile fisierelor trebuie stabilite cu grija, pentru a preveni atacurile nedorite asupra site-ului.

4.2 Baza de date și tabele

4.2.1 Tabelele existente

În tabelele de mai sus se află toate informațiile necesare pentru buna funcționare a site-ului.

wp_commentmeta – comentarii care apar pe site pentru fiecare ofertă, sau in backend, pentru a ajuta angajații agenției la buna comunicare

wp_links – tabelă în care se găsesc toate link-urile existente pe site, cu informatiile specifice (adresă URL, text, informații meta)

wp_options – opțiunile site-ului (setări)

wp_posts – toate postările disponibile. În această categorie intră pagini, oferte, postări, testimoniale, review-uri, etc.

wp_users – utilizatoirii disponibili pe site cu informațiile aferente fiecaruia.

În imaginea următoare se pot vedea tabelele cu coloanele disponibile în fiecare dintre acestea

4.3 Fișiere PHP

Din cauza numrului ridicat de fițiere pe care de deține site-ul, mai jos prezentăm doar un singur fișier: header.php, fișier care încarcă header-ul site-ului după care conținutul fiecărei pagini este afișat

4.4 Fișiere CSS

Precum am prezentat anterior, fișierele CSS determina design-ul fiecărei componente prezente pe acesta. Mai jos putem vedea o mică porșiune din fișierul principal CSS

4.5 WordPress Backend

Panoul de configurare WordPress conține toate informațiile necesare pentru crearea unui site de marime medie și link-uri cu informatii și tutoriale de unde se poate învăța cum se crează un site mai avansat, dacă este cazul.

Din meniul din partea stângă, se pot alege optiunile de creare a noilor pagini, se pot crea noi postări, articole în portofoliu, se pot încărca ți edita imagini ți fițiere media, putem adauga testamoniale și comentarii, etc. Tot din acest meniu se pot modifica setările site-ului, setările temei, de unde se poate modofoca coplet designul paginilor, se pot încărca noi plugin-uri prin intermediul carora noi funcționalități pot fi adăugate.

4.6 Design-ul paginii web

4.6.1 Pagina principală

4.6.2 Pagina oferte grid

4.6.3 Pagina oferte list

Concluzie

În concluzie, sistemul informatic prezentat, poate îmbunătăți cu sigutanță serviciile oferite de o agenție de turism atât prin prezentarea ofertelor pe un site pe care potențialii clienți il pot vizualiza, cât si prin managementul utilizatorilor si a resurselor folosite de către această agenție.

Prin folosirea unei baze de date bine formata si structurată, aplicația poate beneficia de un numar mai ridicat de clienti care vizualizează oferte, sau fac cereri de oferte. Pe langa acestea, site-ul gestionează cu ușurință utilizatorii, grupurile din care aceștia fac parte și acțiunile care pot fi realizate de fiecare în parte. Toate informatiile salvate in tabelele bazei de date sunt interpretate de limbajul de programare PHP, după care sunt afisate pe un site, holosind limbaje specifice, precum HTML5, CSS si Bootstrap.

Bibliografie

http://www.qreferat.com/referate/informatica/DEFINIREA-UNEI-BAZE-DE-DATE927.php

„Changes in MySQL 5.6.19”. MySQL 5.6 Reference Manual. Oracle. 30 mai 2014.

„Changes in Release 5.7.4 (Development)”. MySQL 5.7 Reference Manual. Oracle Corporation. 31 martie 2014

Tudoroiu, N., Informatică de gestiune – baze de date, tutorial, Ovidius University Press, ConstanŃa, 2002.

Tudoroiu, N., Jeflea, V., Informatică de gestiune – Tutorial 1, Editura Europolis, ConstanŃa, 2003.

Tudoroiu, N., Informatică de gestiune – programarea bazelor de date în Visual Basic pentru Aplicatii (VBA), Tutorial 2”, Editura Europolis, ConstanŃa, 2003

Koller, E., RoșculeŃ, Monica, Programare în Access 97, Editura Teora, 2002.

Jennings, R, Totul despre Microsoft Access 2000, Editura Teora, București, 2001.

Adamski, J., Joseph, H.C., Finnegan, Khatleen, Microsoft ACCESS 2000- Comprehensive Enhanced, Course Technology, Thomson Learning, 2000.

Despi, I., Petrov, Gh., Reisz R., Stephan A., Teoria generală a bazelor de date”, Editura Mirton, Timișoara, 1999.

Schneider, I., David., P., Essentials of Visual Basic 6.0 Programming, Prentice Hall, New Jersey, 1999.

http://www.katsueydesignworks.com/tutorials-database.htm: Database tutorials for web developers.

http://www.stfx.ca/people/dcampbel/VisualBasic/Vb_5_Tutorial/intro.htm: Visual Basic 5.0 Tutorial DataBase.

http://databases.about.com/cs/tutorials/: Microsoft Access Tutorials

Rahmel, D., Programarea bazelor de date cu Visual Basic 6 în 24 de ore, Ed. Teora, 1999.

Popescu, Elena, Popescu, Gh., Proiectarea sistemelor informatice, Editura OvidiusUniversity Press, 2004.

Chiru, C., Constantinescu, E., Jeflea, V., Informatică de gestiune, Editura Sigma, 2003.

Similar Posts