Odată cu dezvoltarea tehnologiilor de comunicare prin intermediul internetului, domeniul web a devenit o piață de deschidere pentru comercianți. [302835]

Cuprins

CAPITOLUL 1- [anonimizat] a devenit o piață de deschidere pentru comercianți.

Dezvoltarea tehnologiei și a [anonimizat] a [anonimizat] a produselor sau serviciilor oferite.

Sistemele de administrare a conținutului reprezintă sistemele software de automatizare a [anonimizat] a site-urilor web.

Scopul este de a [anonimizat], [anonimizat].

O [anonimizat]-uri.

[anonimizat], sistemele software de gestiune a conținutului sunt diversificate și pot fi regăsite sub denumiri diverse ca sistem de administrare a documentelor, sistem de comerț electronic.

Sistemele de administrare a [anonimizat], ghiduri de vânzări și broșuri de marketing.

[anonimizat] a [anonimizat], [anonimizat].

[anonimizat] a [anonimizat], [anonimizat], revizuire, publicare, cereri.

Această împărțire a utilizatorilor pe grupuri se face prin deținerea anumitor drepturi de site. Utilizatorii fără cunoștințe web pot face schimbări în site cu ușurință.

Scopul este de a adăuga, actualiza conținut prin intervenția cât mai puțin a unui personal de specialitate.

[anonimizat]-o bază de date pe server. Se folosește un model de prezentare pentru vizitatori folosind șabloane.

[anonimizat].

MOTIVAREA ALEGERII TEMEI

Unul dintre motivele principale care a adus la conceperea acestui proiect a fost determinat de dorința de a deține propriul produs software care să mă ajute în activitatea desfășurată la firmă.

Astfel, am creat o aplicație de gestionare a conținutului înglobând mai multe funcționalități precum crearea automată a [anonimizat], [anonimizat] a paginilor web cu specificațiile clientului.

[anonimizat]in optimizări și înglobări de noi tehnici și funcționalități utile în domeniul web.

Pasiunea și ambiția de a deține propriile produse software au contribuit la determinarea de a dezvolta o astfel de platformă care să mă ajute în activitatea de zi cu zi la firma de software.

Un alt motiv care ma determinat să aleg drept proiect de diplomă acest proiect, au fost rezultatele obținute utilizând platforma pentru diferiți clienți. Am constatat că economisesc timp și productivitatea a crescut.

OBIECTIVELE PROPUSE ÎN CADRUL LUCRĂRII

Una dintre cele mai importante etape parcurse în realizarea acestui proiect a fost etapa de proiectare. În cadrul acestei etape s-au stabilit pașii care trebuie urmați în vederea obținerii aplicației finale dar și principalele obiective care trebuie atinse.

Încă de la început principalul obiectiv a fost acela de a crea o aplicație web care să satisfacă în mare măsură toate cerințele pe care un client le are de la un site web.

Principalele obiective propuse în dezvoltarea aplicației au fost determinate de necesitatea creării în mod automat a specificațiilor și funcționalităților generale ale unei pagini web, gestionarea și evidența clienților într-un mod mai rapid și eficient, emiterea facturilor pentru clienți în mod automat.

Primul obiectiv a fost obținerea unei platforme care să îmi ușureze producția și să crească productivitatea firmei prin crearea unei aplicații care să automatizeze conținutul unor pagini web standard.

După atingerea acestui obiectiv, am decis că ar fi util să adaug funcționalități acestei aplicații, astfel am înglobat modulul de clienți și mai târziu cel de facturare.

STRUCTURA DOCUMENTULUI

Lucrarea de față este structurată în șase capitole, fiecare dintre acestea tratând într-o anumită măsură diverse noțiuni referitoare la modul de funcționare a acestui sistem informatic.

Primul capitol face o scurtă introducere a modului în care aplicația este structurată, a pașilor parcurși pentru conceperea acestui produs informatic și a motivelor ce au determinat alegerea făcută.

În capitolul al doilea am facut referire la noțiunile teoretice ale aplicațiilor de management al conținutului existente pe piață.

Al treilea capitol este structurat la rândul său pe opt subcapitole, fiecare dintre aceste subcapitole făcând o scurtă descriere a tehnologiilor software utilizate pentru dezvoltarea aplicației. Primul subcapitol realizează o scurtă introducere a ceea ce înseamnă limbajul HTML și cum este utilizat la crearea de aplicații web. Cel de-al doilea subcapitol face referire la noțiunile teoretice ale limbajului JAVASCRIPT și cum se implementează într-o aplicație web. Cel de-al treilea subcapitol descrie limbajul CSS pentru modulul de vizualizare al produsului software. Cel de-al patrulea subcapitol explică eficiența dată de utilizarea limbajului PHP. Cel de-al cincilea subcapitol se referă la noțiunile de SQL în cadrul căruia sunt descrise facilitățile oferite de utilizarea bazelor de date. Cel de-al șaselea subcapitol conține aspectele teoretice ale folosirii tehnicii model-view-controller. Cel de-al șaptelea subcapitol descrie mediul de lucru PHP-LARAVEL . Cel de-al optulea subcapitol cuprinde o scurtă descriere a editorului multifuncțional și beneficiile utilizării acestuia.

Capitolul al patrulea face o scurtă introducere în modul de proiectare, realizare și implementare a sistemului informatic conceput în cadrul acestei teme fiind structurat pe patru subcapitole. Primul subcapitol face referire la posibilitățile de dezvoltare ale prototipului prezentat. Al doilea subcapitol cuprinde descrierea etapelor de proiectare urmate în dezvoltarea produsului informatic. Al treilea subcapitol se referă la principalele obiective specificate în etapă de proiectare, în timp ce ultimul subcapitol face o prezentare a structurii sistemului informatic.

În cadrul celui de-al cincilea capitol este descris modul de funcționare al aplicației, prezentarea acestuia realizându-se pe parcursul a șapte secțiuni. În prima secțiune se face o introducere a produsului software creat. În cea de-a doua secțiune sunt descriși pașii parcurși pentru dezvoltarea sistemului de administrare a conținutului. Cea de-a treia secțiune vine cu o scurtă prezentare a modulelor aplicației web. În cadrul celei de-a patra secțiune este prezentat modulul de gestionare a clienților. A cincea secțiune conține modul de funcționare a tehnicii de facturare. În secțiunea a șasea este detaliat modul de administrare a paginilor web și în ultima secțiune se face referire la construirea site-urilor web cu ajutorul platformei create.

În capitolul șase sunt trase concluziile cu privire la aplicația realizată, iar în bibliografie este făcută o enumerare a surselor de informații folosite la realizarea aplicației dar și a lucrării scrise.

CAPITOLUL 2- NOȚIUNI INTRODUCTIVE DESPRE PLATFORMELE DE MANAGEMNET AL CONȚINUTULUI EXISTENTE PE PIAȚĂ

Sistem de management al conținutului (din engleză Content Management System), adică pe scurt este o întreagă platformă de publicare online, a informațiilor dorite să apară pe internet generând dinamic website-ul.

Este asemănător portalurilor și blog-urilor, dar mult mai complex și scalabil, creat de obicei în php și având în spate o bază de date MySQL.

Integrează o sumedenie de facilități cum ar fi editare intuitivă WYSIWYG direct din browser, media manager, management drepturi user și grup, sistem de șabloane, sistem multi-lingvistic, organizare pe secțiuni și categorii, management complet publicare element, căutare avansată, sistem intuitiv și oricând modificabil din meniuri și conținutul este independent de șablon.

De departe însă, dincolo de acestea, cea mai importantă calitate a unui sistem de management al conținutului, pe lângă un grad mare de control și automatizare, este că oricine îndreptățit să acceseze administrarea lui (cu un utilizator și o parolă) poate modifica foarte simplu și fără cunoștințe în domeniul IT, direct din browser aproape orice în el.

Spre deosebire de un site static în HTML, poate fi administrat ușor de orice utilizator: la editarea unei pagini sau articol apare în oricare browser, o fereastră asemănătoare unui editor de text ca Word, unde se introduc și se formatează orice text sau imagini și se pot seta o mulțime de parametri.

În momentul în care se salvează, conținutul este publicat direct pe website. Peste această platformă (deși intuitivă este foarte complexă, numărând standard peste 5200 de fișiere) se pot instala sau lega cu ea extensii ce pot oferi funcționalități suplimentare: shop-uri online, forumuri, galerii, slideshow-uri, portofolii, repositoare de download, formularistică online, newsletter-e, etc.

Accesul se face fie direct în site prin câmpul de autentificare (zona publică, accesibilă vizitatorilor), fie din consola de administrare la care are acces doar administratorul.

Folosirea unui sistem de management al conținutului asigură faptul că administratorul nu pierde timp și eventual nu depune nici un efort prea mare.

După instalare utilizatorului îi este oferită o platformă de administrare care ajută la modificarea și posibilitatea de update a site-ului după bunul lui plac. Mai mult, datorită disponibilității unei game variate de teme, șabloane, precum și extensii, un astfel de sistem poate realiza practic orice task în ceea ce privește Web Design-ul.

Folosirea unui sistem de management al conținutului, prescurtat și CMS, pentru clienți de asemenea reprezintă un avantaj. Uneori aceștia nu au cunoștințe de design web și este posibil să se descurce greu cu un site fără administrare simplă.

De asemenea, sistemul de management al conținutului prezintă un control editorial excelent peste conținut, precum și control asupra design-ului paginilor Web.

Unele sisteme de management a conținutului prezintă servicii de SEO (în engleză, Search Engine Optimization) deja implementate.

Sistemele de management a conținutului prezintă un beneficiu evident în ceea ce privește optimizarea pentru motoarele de căutare (SEO) pentru că ocupă mai puțin timp comparativ cu paginile create manual.

Cele mai cunoscute sisteme de management a conținutului sunt:

•Drupal – este un sistem de management a conținutului open source care este utilizat de foarte multe websiteuri, de la bloguri, website-uri de prezentare, pana la site-uri ale unor comunitati largi (http://drupal.org)

• eZ Publish – un sistem de gestionare a conținutului (CMS) open source dezvoltat in Symfony.Acesta poate fi utilizat in mod gratuit (open source) sau sub o licență profesională (eZ Publish Pro sau eZ Publish Enterprise) – (https://ez.no)

• Joomla – un sistem de management al conținutului, scris in PHP prin care se poate dezvolta website-uri de prezentare, aplicații web și magazine online. Acesta este o soluție open source, fiind valabil pentru oricine – (https://joomla.org)

• Concrete5 este o soluție gratuită (open source) de sistem de management al conținutului cu șabloane predefinite și diferite pachete ce oferă flexibilitate în crearea de website-uri. Acest CMS permite alegerea unei teme pentru început și oferă posibilitatea de a rescrie CSS-urile acesteia pentru modificarea designului. Concrete5 folosește WYSIWYG editor pentru scrierea cu ușurință a articolelor și textelor din website. Acesta crează website-uri adaptabile pentru orice tip de dispozitiv (calculator, tableta, mobil etc.).

• OpenCart – unul dintre cele mai populare sisteme de management al conținutului open source pentru magazine online. Acesta oferă gestionarea produselor, a clienților sau a comenzilor din magazinul online.

Dintre solutiile sistemelor de management al conținutului pentru comerțul electronic, open source, mai amintim

• PrestaShop (prestashop.com)

• Spree Commerce (spreecommerce.com)

• WooCommerce (WordPress) (woocommerce.com)

• Moodle – este un sistem de management al conținutului open source folosit pentru managementul cursurilor și pentru platforma e-learning. Acesta este scris in limbajul PHP și este folosit în multe unități de învățământ. (moodle.org)

• Fuel CMS – este un sistem de management al conținutului bine documentat și open source, bazat pe PHP-Code Igniter. Acesta are o interfață simplă și un design intuitiv simplitate pentru editiorii de conținut dar si pentru dezvoltatorii web.(getfuelcms.com)

• SilverStripe – este un CMS flexibil și open source, reprezentand un sistem de administrare intuitiv. (silverstripe.org)

• Frog CMS – este unul dintre cele mai simple sisteme de management al conținutului, simplu de utilizat pentru utilizatori, oferind și management al utilizatorilor cu permisiuni. (https://github.com/philippe/FrogCMS)

• Radiant CMS – este un sistem de management al conținutului simplificat destinat website-urilor de marime mică sau medie. Acesta are un design elegant si intuitiv și poate fi folosit și de cei care nu au cunoștințe de programare sau design web. Radiant CMS conține un sistem de șabloane flexibil și un management al utilizatorilor foarte simplu. (http://radiantcms.org/)

• Contao CMS – sistem de management al conținutului care folosește tehnologii precum Ajax (Asynchronous JavaScript and XML) ceea ce reprezintă creșterea vitezei de navigare a platformei CMS. Platforma CMS Contao este dezvoltata pentru a suporta mai multe website-uri într-o singura instanță.

Cea mai folosita platformă de gestiune a conținutului (CMS) este WordPress datorită simplității acestuia cât și o documentație foarte bogată.

WordPress este recunoscut pentru simplitatea oferită și pentru securitatea mare a website-urilor.

JOOMLA spre deosebire de celelalte produse este mai tehnică, mai dificil de utilizat și necesită cunoștințe de programare web pentru a putea folosi șabloanele standard oferite.

DRUPAL, CMSMS, DJANGO aceste platforme sunt orientate către creatorul profesionist de site-uri fiind utilizate preponderent pentru site-uri de prezentări, blog-uri.

Diferențele dintre aceste platforme sunt legate de limbajele de programare, mediul de lucru și tehnicile utilizate pentru crearea lor.

CAPITOLUL 3 – TEHNOLOGII INFORMATICE UTILIZATE ÎN REALIZAREA APLICAȚIEI

În realizarea sistemului software integrat pentru crearea și gestionarea paginilor web am utilizat tehnologii informatice și tehnici de programare web.

Tehnicile de programare le-am înglobat pentru buna funcționare a produsului software creat, astfel platforma de administrare a conținutului paginilor web este utilizabilă în prezent de o firmă de software pentru actualii și viitorii clienți.

Un sistem de management al conținutului web, prescurtat Web CMS, este folosit pentru stocarea, modificarea si publicarea unor documente specifice, articolele noi, manualele tehnice, ofertele de munca, informatiile despre angajati, imaginile cu produse, etc și reprezinta un sistem software folosit pentru asistența utilizatorilor în administrarea conținutului unui site Web.

3.1 LIMBAJUL HTML

Hypertext Markup Language (HTML) este un limbaj standard de marcare folosit pentru crearea paginilor web și afișarea acestora într-un navigator web (browser) în World Wide Web (WWW). În general, HTML este ușor de utilizat, fiind bazat pe elemente numite tag-uri. Scopul limbajului de marcare HTML este de a prezenta diferite informații, paragrafe, tabele, fonturi. Acesta conține tag-uri sau elemente și atribute.

Tag-urile sau elementele sunt utilizate pentru a specifica regiuni ale unui document HTML, pe care navigatorul web(browser-ul) le va interpreta. Elementele au această înfățișare <element> .. </element>. HTML nu face deosebire între litere mari sau mici.

Structura standard a unui document HTML începe și se termină cu elementul <html> și respectiv </html>. Închiderea unui tag se face cu “/” și se pune înaintea numelui etichetei. Ordinea deschiderii și a închiderii tag-urilor este importanta. Elementul <head> și respectiv </head> este antetul documentului HTML. În head se poate introduce titlul documentului, fisiere externe sau elemente de javascript, fisiere externe sau elemente de CSS (Cascading Style Sheets). Elementul body definește corpul documentului HTML sau începerea conținutului paginii propriu-zise.

Structura unei pagini HTML:

<h1> … <h1> – reprezinta un titlu (heading) de marime mare recunoscut și de motoarele de căutare în SEO, h1 – este cel mai mare, h6 – este cel mai mic

<p> … </p> – reprezinta un simplu paragraf in documentul html

Pagina va arăta așa:

HTML5 este ultima versiune a limbajului HTML și din anul 2011 este în curs de dezvoltare. Pentru a defini un document HTML ca fiind HTML 5, se folosește la începutul documentului eticheta <!DOCTYPE html>.

Un simplu document HTML5 este:

Documentele sau paginile HTML au extensia “.html” sau “.htm”. Pagina principală a unui domeniu sau website este “index.html” sau “index.htm”. Această pagină este setată de către server a fi deschisă automat la vizitarea unui domeniu din World Wide Web.

De exemplu, la vizitarea domeniului www.website.ro este afișată pagina www.website.ro/index.html sau www.website.ro/index.htm.

Atributele în limbajul HTML sunt definite ca însușiri ale tag-urilor sau elementelor. Toate elementele din limbajul HTML au atribute. De exemplu, elementul <html> poate avea atributul lang prin care se declară limba folosită in documentul html propriu-zis.

Exemplu de declarare a limbii unui document HTML:

3.2 LIMBAJUL JAVASCRIPT

Numit inițial Mocha, apoi LiveScript, limbajul JavaScript sau JS este un limbaj de progrmare orientat obiect și este bazat pe conceptul prototipurilor. Javascript face parte din categoria “Scripting Language” și face posibil ca paginile web sa fie mai interactive. Acest limbaj este recunoscut pentru folosirea sa în construirea website-urilor.

Javascript poate fi introdus în documentele html. Pentru a fi corect interpretat de catre navigatorul web se folosește următoarea sintaxă:

O altă metodă de a folosi script-uri javascript în documentele HTML este cea cu fișier JS extern, acesta este codul HTML de introducere a fișierului HTML:

Această metodă este recomandată atunci când este foarte mult cod de javascript, fiind eficientă din punct de vedere al organizării codului.

Reguli de sintaxă ale JavaScript:

Declarațile în JavaScript sunt compuse din: Valori (Values), Operatori (Operators), Expresii (Expressions), Cuvinte cheie (Keywords) și Comentarii (Comments).

Valori în javascript:

Valori literale (literals): Numere fixe: 167, 19.50 sau Siruri de caractere (Strings) : “Andrei” sau ‘Andrei’.

Variabile: var x; sau x=7;

Operatori (operators) JavaScript: ( + – * / = )

Expresii (expressions) JavaScript: este o combinație între valori, variabile si operatori.

Cuvinte cheie (keywords) Javascript: sunt folosite pentru a identifica acțiunea care urmează, de exemplu: var x,y ; var reprezintă un cuvânt cheie de creare a unei variabile.

Comentarii (comments) Javascript: sunt acele expresii care nu sunt executate. Un comentariu în javascript se face cu ajutorul // sau între /* și */.

Case-sensitive – face diferența între literele mari si mici, astfel cuvinte precum “Nume” sau “nume” vor fi tratate diferit.

Punct și virgulă (;) – în javascript toate declarațile trebuie sa se finalizeze cu punct și virgula (;).

În JavaScript variabilele se identifica cu un nume unic. Numele unice se numesc identificatori.

Numele pot sa conțina litere, cifre, underscore(_) sau semnul dolar ($).

Numele variabilelor trebuie sa înceapă întotdeauna cu o literă, semnul $ sau underscore (_)

Variabilele nu pot începe cu o cifră în fața lor.

O funcție se poate defini prin cuvântul cheie “function”.

Exemplu de sintaxa pentru a crea o funcție:

3.3 LIMBAJUL CSS

CSS (Cascading Style Sheets) este un standard pentru stilizarea sau formatarea elementelor sau a tag-urilor de tip HTML. Stilizarea CSS se poate atașa documentelor HTML prin elementrul <style> … </style> sau printr-un fișier extern cu extensia “.css”.

Exemplu de utilizare a unui CSS în cadrul unui document HTML cu ajutorul elementului <style> .. </style>

În acest exemplu am definit cu CSS un stil pentru toate paragrafele dintr-un document HTML, adaugand un stil la tagul <p>.

3.4 LIMBAJUL PHP

PHP (inițial, acronimul pentru Personal Home Page, ulterior pentru PHP: Hypertext Preprocessor) – este un limbaj (combinație de C, Perl și Java) cu cod sursă deschis (open source) ale cărui baze au fost puse de Rasmus Lerdorf în 1994. Acesta este utilizat pe scară largă, fiind potrivit pentru dezoltarea website-urilor si a aplicațiilor web.

PHP este un limbaj de programare server-side, ce permite modificarea paginilor web înainte ca acestea să fie transmise de server către navigatoarele web ale utilizatorilor.

PHP poate genera conținut HTML pe baza unor fișiere existente sau pornind de la zero, poate să afișeze o imagine sau orice alt conținut accesibil prin web, sau să redirecționeze utilizatorul către alte pagini.

Ultima versiune a limbajului PHP este 7.1.6 lansată in data de 8 Iunie 2017. Php poate rula pe o varietate largă de sisteme de operare: Windows, Linux, Unix, Max OS X etc. și este compatibil cu majoritatea tipurilor de servere folosite astăzi (Apache, IIS etc.).

In general, PHP este folosit pentru urmatoarele:

Generează pagini și conținut în mod dinamic

Creează. deschide, citește, scrie, șterge și închide fișiere din server

Colectarea datelor din formular

Trimite și primește Cookies

Adaugă, modifică sau șterge date din baza de date

Pentru criptarea datelor

Pentru controlul accesului utilizatorilor

Instalarea limbajului PHP este simplă și poate fi posibilă fie pe un server de gazduire care are instalat PHP și o bază de date, de exemplu MySQL. Pentru că este gratuit majoritatea serviciilor de gazduire sau servere au acces la PHP și MySQL pentru baza de date. PHP mai poate fi instalat local pe propriul calculator, instalându-se un server web, PHP si apoi o bază de date, cel mai simplu de folosit fiind MySQL.

Un script PHP rulează pe server apoi este trimis catre client prin intermediul navigatorului web(browser). Acesta poate fi introdus oriunde în interiorul documentului.

Un script de PHP începe cu <?php și se termină cu ?>:

Extensia implicită pentru fișierele PHP este “.php”. Declarațiile PHP se termină cu punct și virgulă (;).

Funcția PHP “echo” afișează text pe pagină.

Acesta este un exemplu de început:

Comentariile în limbajul PHP sunt linii care nu sunt citite sau executate ca parte a programului. Comentariile pe o singură linie se fac cu “//” sau “#” și pe mai multe linii se fac cu “/*” și “*/”.

În limbajul PHP, toate cuvintele cheie (if, else, while, echo etc.), clasele, funcțiile nu sunt de tip case-sensitive, adică se pot scrie și cu litere mari și cu litere mici.

Variabilele sunt de tip case-sensitive, adică $variabila este diferită de $Variabila.

Crearea și declararea variabilelor se face cu semnul dolar ($) urmat de numele variabilei:

PHP suporta următoarele tipuri de date:

String

Integer

Float

Boolean

Array

Object

NULL

Resource

Tipul de date String este o secvență de caractere precum “Limbajul PHP”:

Tipul de date Integer este un număr între -2,147,483,648 și 2,147,483,647:

Tipul de date Float reprezintă un număr real, de exemplu 10.532.

Tipul de date Boolean reprezintă două posiblități de valori: TRUE sau FALSE (1 sau 0).

PHP Array poate stoca multiple valori într-o singură variabilă:

Tipurile de date Object sunt elementele dintr-un script create cu o clasă și prin care se pot utiliza metodele și proprietățile din acea clasă.

Tipul de date NULL este un tip de date special care poate avea doar valoarea NULL. O variabilă cu tipul de date NULL este o variabilă care nu are o valoare alocată. Dacă o variabilă este creată fară o valoare atribuită aceasta primește automat valoarea NULL.

Tipul de date Resource este un tip de date special și este utilizat pentru a memora informații externe aplicației (referința catre un fișier deschis, pentru rezultatul interogării unui tabel din baza de date etc.)

3.5 SISTEMUL DE GESTIUNE A BAZELOR DE DATE RELAȚIONALE MYSQL

MySQL este un sistem de gestionare a bazelor de date relaționale produs în anul 1995 de către compania suedeză MySQL AB. MySQL este scris in C și C++ și este distribuit sub Licența Publică Generală GNU. Acesta este cel mai popular SGBD cu codul sursă deschis (open source) la ora actuală, fiind o componentă cheie a stivei LAMP (Linux, Apache, MySQL și PHP) sau WAMP (Linux/Windows, Apache, MySQL, PHP/Perl/Python).

Sistemele de operare pe care poate fi instalat MySQL sunt: Windows, GNU/Linux, Solaris, OS X, FreeBSD, AIX, Mac OS X, NetBSD, SunOS.

Cu MySQL se pot construi aplicații în orice limbaj de programare major, deși acesta este foarte des folosit cu limbajul PHP.

Pentru administrarea bazelor de date MySQL se poate folosi terminalul ca și linie de comandă, o interfața grafică: MySQL Administrator și MySQL Query Browser. Cel mai popular instrument de gestionare al bazei de date MySQL este aplicația gratuită, scrisă în PHP, phpMyAdmin.

În prezent, MySQL este dezvoltat, distribuit și întreținut de către Oracle Corporation.

MySQL este un sistem de baze de date folosit pe partea de Web, acesta rulează pe server și este rapid și ușor de folosit.

Datele în MySQL sunt stocate în tabele. Un tabel este o colecție de date corelate și constă în coloane și rânduri.

MySQL este des utilizat împreună cu limbajul PHP.

Versiunile mai noi de PHP, mai mari de versiunea 5, lucrează cu MySQL folosind:

MySQLi extension

PDO (PHP Data Objects)

Extensia MySQLi poate fi folosită în mod procedural sau orientat obiect.

Conectarea la baza de date MySQL, metoda MySQLi Orientat Obiect:

Conectarea la baza de date MySQL, metoda MySQLi procedural:

Conectarea la baza de date MySQL, metoda PDO:

3.6 TEHNICA MODEL-VIEW-CONTROLLER

Un cadru de lucru software (software framework) este un proiect reutilizabil pentru dezvoltarea aplicatiilor si poate include programe, biblioteci, un limbaj de scripting, precum si un alt software menit sa ajute la dezvoltarea si conectarea diverselor componente ale unui proiect software.

Diversele parti ale unui cadru de lucru pot fi expuse (si accesate) prin intermediul unor API-uri (Application Programming Interface).

Majoritatea cadrelor de lucru utilizeaza arhitectura MVC (Model-View-Controller), scopul acesteia fiind de a separa modulul de date de interfata cu utilizatorul (view), astfel incat schimbarile de interfata sa nu afecteze datele, iar acestea sa poata fii reorganizate fara schimbari de interfata.

Arhitectura MVC rezolva aceasta problema prin decuplarea accesului la date si a logicii aplicatiei de prezentarea datelor si interactiunea cu utilizatorul, introducand o componenta intermediara, numita Controller.

Astfel, arhitectura MVC este constituita din trei componente principale:

• componenta Model – constituie o reprezentare specifica (sub forma de date) a informatiilor cu care opereaza aplicatia

Mai multe aplicatii utilizeaza stocarea permanenta a datelor (baze de date)

• componenta View (vedere) – interpreteaza modelul intr-o forma potrivita pentru interactiune (in mod obisnuit intr-un element de interfata). Pentru un singur model, pot fi dezvoltate mai multe vederi, in diverse scopuri

• componenta Controller (controlor) – reprezinta clasele care realizeaza comunicarea intre cele doua componente anterioare:

• proceseaza evenimentele din interfata (in mod obisnuit, actiunile utilizatorilor) si raspunde la acestea

• poate invoca schimbari in model

Dintre numeroasele cadre de lucru open source avand PHP ca limbaj de scripting, se remarca urmatoarele:

• Smarty – este unul dintre primele cadre de lucru (din punct de vedere cronologic) care au implementat modelul MVC, fiind preferat de un numar mare de programatori (http://smarty.php.net/)

• Symfony – este un cadru de lucru pentru proiectele PHP 5. Invatarea acestuia este relativ simpla pentru programatorii PHP care cunosc sabloanele de proiectare ale aplicatiilor Web (http://www.symfony-project.org/)

3.7 MEDIUL DE LUCRU PHP-LARAVEL

Laravel este un framework PHP gratuit și open source creat de Taylor Otwell în anul 2011. Este unul dintre cele mai utilizate framework-uri PHP pentru că permite construcția oricărui tip de aplicatie web.

De asemenea, Laravel este creat cu arhitectura Model-View-Controller (MVC). Unul dintre caracteristicile Laravel este sistemul modular de pachete cu un manager de dependență dedicat.

Deși a intrat pe piață acum câțiva ani, Laravel a devenit foarte popular, astfel încât, din Martie 2015, Laravel este considerat cel mai popular framework PHP. Laravel are o comunitate mare, cu multe resurse, tutoriale video și documentație bogată pentru o înțelegere mai bună a funcționării platformei.

Laravel este un framework ce sprijină principiul de a nu te repeta numit DRY (Don’t Repeat Yourself) reprezenând că o funcționalitate este scrisă o singură dată și fară erori.

Structura directoarelor în Laravel este următoarea:

directorul app – conține codul aplicației dezvoltate

directorul bootstrap – conține fișiere bootstrap și configurația autoload

directorul config – conține fișierele de configurare ale aplicației

directorul database – conține fisierele pentru conectare la baza de date

directorul public – conține fișierul index.php și gazduieste resursele de imagini, css sau javascript.

directorul resources – conține fișierele de vizualizare pentru front-end

directorul routes – conține fișierele pentru adresele URL

directorul storrage – conține fișierele de tip șablon .blade compilate, sesiunile și fișierele de tip cache

tests – conține fișiere pentru teste automate

vendor – conține dependențele fiecărei aplicații

Configurarea Laravel: Toate fișierele framework-ului Laravel pentru configurarea aplicației sunt stocate în directorul config. Pentru configurarea adresei de email sau a bazei de date se utilizeaza fisierul .env.

Pentru pornirea server-ului în Laravel se utilizează comanda Php artisan serve din consola dumneavostră.

3.8 PHP-EDITOR PLATFORMĂ IDE JETBRAINS

Jetbrains PhpStorm faciliteaza fluxul de lucru al dezvoltatorului cu o intelegere mai completa a codului, incluzand editare mixta (ex. MySQL in PHP), analiza codului static, si suport complet pentru toate versiunile de PHP inclusiv PHP 7. Dezvoltatorii pot sta mai mult 'in flux' datorita multiplelor paranteze/editari de sectiuni, completarii rafinate a codului, si a performantei imbunatatite din PhpStorm.

La un nivel mai inalt, utilizatorii PhpStorm pot acum beneficia de avantajele editarii sabloanelor Laravel Blade, si pot utiliza complet dezvoltarea bazata pe comportament pentru PHP datorita integrarii Behat. PhpStorm simplifica si lucrul cu WordPress, oferind intelegere a codului WordPress si functii de productivitate marca JetBrains. Arsenalul fronted a fost extins cu tehnologii web performante incluzand spy-js, Grunt, gulp.js, Bower, si multe altele. Pentru DevOps, PhpStorm 8 include capabilitati de interpretare PHP de la distanta, asigurand o interactiune IDE fluida atat cu mediile clasice cat si cu cele moderne de virtualizare (precum Vagrant sau Docker).

PHP Storm este aplicația de editare a codului preferată de majoritatea programatorilor, ce suportă versiunile toate versiunile de PHP. Aplicația include un instrument de autocompletare a structurii de cod, permite asocieri de mai multe limbaje, notifică și previne eventuale erori.

PHP Storm8 este compatibil cu tehnologii de tip front-end ce includ: THML5, CSS, Sass SCSS, Less, Stylus, Compass, Coffee Script, Type Script, ECMA Script Harmony, Jade, Emmet și Java Script.

Ca principala unealta a dezvoltatorilor PHP, PhpStorm evolueaza constant si isi imbunatateste setul de functii pentru a permite utilizatorilor sai sa urmeze – si chiar sa formeze – cele mai noi tendinte in dezvoltarea web. Aceasta lansare simplifica utilizarea tehnologiilor web emergente, cuprinzand atat dezvoltare backend cat si frontend, de la prototipare la implementare si mentenanta.

CAPITOLUL 4- PROIECTAREA, REALIZAREA ȘI TESTAREA SISTEMULUI INFORMATIC

Cele mai importante etape de parcurs pentru atingerea țelului propus sunt proiectarea și structurarea ideilor, realizarea prototipului final lucrând pas cu pas și testarea produsului software creat pentru comercializare.

În cazul de față, proiectarea unui sistem de management al conținutului unei pagini web include analiza sistemelor existente pe piață și stabilirea funcționalităților dorite în funcție de necesități. Astfel platforma creată înglobează mai multe funcționalități, nu doar cea de gestiune a conținutului.

După o analiză de piață, am decis să includ printre funcționalități un sistem de facturare și gestionare a clienților pentru o acuratețe a datelor deținute.

În realizarea platformei am urmărit structura sistemului informatic propus, dezvoltând prototipul continuu în decurs de un an și obținând un produs software ce oferă în prezent unei societăți comerciale servicii precum SEO, creare automată a paginilor web de tip blog, noutăți, crearea mai rapid și eficient a paginilor web cu diferite module cerute de clienți, securitate sporită, etc.

Procedeul de testare aplicat pentru platforma de management al conținutului a constat în crearea automată prin platformă a pagini web pentru promovarea serviciilor software ale societății comerciale Global Code.

4.1 POSIBILITĂȚI DE DEZVOLTARE

Sistemele de management al conținutului existente la ora actuală pe piață oferă puține funcționalități, acestea oferind în general un pachet standard pentru generarea facilă a site-urilor de orice tip.

În afară de crearea automată a site-urilor, platforma poate îngloba diferite funcționalități particulare. Spre exemplu, consider că în ajutorul societăților comerciale este sistemul de facturare care ar putea fi integrat în platforma CMS.

De asemenea, un sistem detaliat al permisiunilor utilizatorilor este necesar pentru o bună gestionare a paginilor create prin platformă pentru clienți, oferindu-le posibilitatea să-și administreze singuri paginile cerute.

4.2 ACTIVITĂȚI ÎN ETAPA DE PROIECTARE

Una dintre cele mai importante etape parcurse în realizarea acestui proiect a fost etapa de proiectare.

În cadrul acestei etape s-au stabilit pașii care trebuie urmați în vederea obținerii aplicației finale, dar și principalele obiective care trebuie atinse.

Încă de la început principalul obiectiv a fost acela de a crea un produs software care să creeze automat pagini web și să ușureze munca programatorului la crearea de bloguri, știri, noutăți, etc.

În proiectare oricărui sistem software se stabiliște mediului de lucru, editorul și limbajele de programare web, ce stau la baza creări unui produs software.

În cadrul acestui proiect am ales mediul de lucru PHP-LARAVEL, editorul JET BRAINS PHPSTORM 2016.3.3, am utilizat preponderent limbajul php și tehnologii precum Blade, model-view-controller, mysql, javascript, jquery, HTML 5, CSS 3, bootstrap 3.

După instalarea produselor software și acomodarea cu mediul de lucru, am creat o bază de date cu stocare locală utilizând limbajul mysql.

Următorul pas parcurs în procesul de proiectare a constat în crearea unui proiect nou utilizând tehnica model-view-controller, mai exact am creat secțiuni pentru fiecare componentă a aplicației.

Astfel, primele module pe care le-am creat sunt cele necesare funcționării platformei, mai exact modulul de pagini, modulul de setări și modulul de administrare în diferite limbi.

Am finalizat etapa de proiectare prin crearea modulelor opționale propuse, astfel platforma creată conține modulul de blog, modulul de noutăți, modulul de categorii, modulul de comentarii, modulul de clienți și modulul de facturare.

4.3 STRUCTURA SISTEMULUI INFORMATIC

Lucrarea de față reprezintă o platforma web compusă din module necesare pentru funcționare și module opționale fiind conectată o bază de date mysql cu stocare locală.

Modul de pagini reprezintă unul din modulele necesare funcționării platformei deoarece prin acesta se pot adăuga pagini noi, se pot vizualiza și gestiona cele existente.

Modul de setări, de asemenea un modul necesar funcționării, conține setări generale ale site-ului creat automat prin platforma de administrare a conținutului, mai exact regăsim informații precum titlul site-ului, adresa de mail pentru contact și opționale ca moneda folosită, codul de antet al site-ului, codul de subsol al site-ului.

Setările globale sunt pentru a crea module noi dintre cele regăsite pe platformă, existând posibilitatea integrării altor module la cererea clientului.

Un alt modul necesar funcționării platformei web este cel de administrare în diferite limbi, acesta oferă utilizatorilor posibilitatea de a-și alege limba preferată și administratorului de a adăuga cu ușurință alte limbi străine.

Modul de blog este unul dintre modulele opționale pe care le regăsim pe platforma web. Acesta conține toate funcționalitățile necesare unui blog și se poate adăuga pe site din setări.

Un alt modul opțional este modulul de noutăți care oferă posibilitatea integrării funcționalităților necesare secțiunii de noutăți și știri. Acest modul este disponibil pentru orice tip de site la cererea utilizatorului și se creează automat din platformă.

Modulul de categorii este de asemenea opțional și este disponibil pentru modulele blog și noutăți. Acest modul nu poate fi implementat fără unul din modulele specificate, dar este la alegerea utilizatorului dacă dorește implementarea suplimentară a acestuia la modulul blog sau noutăți.

Modulul de comentarii este disponibil doar împreună cu modulele de blog și noutăți. Acest modulul oferă posibilitatea de restricționare în orice moment.

Modul de facturare permite adăugarea facturilor și chitanțelor pentru serviciile prestate de firmă pentru clienții săi. Acest modul generează fișierele în format static PDF, adaugă în baza de date și le poate trimite pe adresa de mail a clientului direct din platformă.

În cadrul acestei aplicații întregul volum de date este stocat local în cadrul a 14 tabele, fiecare dintre acestea având dimensiunii proprii în funcție de cantitatea de date.

Reprezentarea grafică a bazei de date utilizată în cadrul sistemului informatic este următoarea:

4.4 ETAPELE TESTĂRII SISTEMULUI INFORMATIC

În cadrul acestui subcapitol se va face o scurtă prezentare a testării funcționalităților platformei web de administrare a conținutului.

Prima etapă în cadrul procesului de testare a constat în verificarea modului de administrare în diferite limbi.

Am structurat platforma pe limba română și limba engleză, dar există posibilitatea de adăugare și a altor limbi străine.

Am creat un site cu toate funcționalitățile pentru testarea platformei, astfel am obținut site-ul firmei de software, Global Codde, în cadrul căreia platforma se află deja în producție.

CAPITOLUL 5- SCENARIU DE FUNCȚIONARE

În acest capitol se va face prezentarea platformei web și a modului de funcționare a acesteia.

Aplicația de față funcționează la nivel local utilizând serverul localhost, stocare într-o baza de date locală mysql și gestionare funcționalități opționale raportate la cerințele clientului.

Sistemul informatic este multilingvism având în acest moment disponibile limba română și respectiv, limba engleză. Am integrat în cadrul acestui stadiu posibilitatea adăugării și altor limbi, în afară de cele specificate.

Sistemul software integrat pentru crearea și gestionarea paginilor web este un produs informatic dedicat promovării serviciilor și produselor comerciale și administrării facile a clienților.

Gestionarea conținutului automat pentru crearea site-urilor conține obligatoriu modulul de setări generale.

La cererea clientului se poate adăuga automat modulul blog ce oferă creare, modificare și ștergere articole postate pe website-ul solicitat.

Modulul noutăți constă în crearea și actualizarea ultimelor apariții în domeniul de activitate specific solicitat. Acest modul este opțional fiind creat automat la cerere.

Prototipul creat conține o gamă variată de module opționale integrate automat pe site-ul clientului după solicitarea acestora.

5.1 INTRODUCERE

Platforma Web propusă este un prototip cu scopul de a crea și a gestiona conținutul paginilor web, de a adăuga și a gestiona clienții dintr-o firmă și de emitere a facturilor și pro formelor.

Produsul software este găzduit pe server și interacționează cu baza de date locală.

Pornirea serverului se face utilizând pachetul software XAMPP.

Astfel se poate porni platforma din editorul JET BRAINS PHPSTORM prin comanda de deschidere a serverului.

Baza de date utilizată se poate accesa local prin phpmyadmin. Acest instrument software permite gestionarea facilă a datelor stocate.

Funcționalitățile sistemului informatic propus se împart în două mari categorii, mai exact avem funcționalități obligatorii și opționale.

5.2 SISTEM DE ADMINISTRARE A CONȚINUTULUI

Sistemul de administrare a conținutului reprezintă platforma principală prin care se pot crea automat aplicații web diverse raportate la necesitățile clientului.

Codul reprezintă afișarea modului lingvistic al sistemului de administrare a conținutului.

În blocul select se pot adăuga și alte limbi la cerere.

Schimbarea lingvistică este posibilă datorită codului afișat mai sus.

Acest fragment de cod reprezintă afișarea în mediul principal a secțiunii Panou de administrare și, respectiv Pagini.

Afișarea secțiuni de blog în mediul principal.

Acesta este meniul principal al sistemului informatic.

Executarea blocurilor de cod prezentate permit afișarea numărului de pagini și de postări din cadrul platformei.

Aceste secțiuni permit afișarea numărului de clienți și al facturilor întocmite.

Panoul de administrare al platformei web efectuează statistici din panoul principal.

Implementarea și afișarea graficului de statistici ale panoului principal.

De asemenea, acest produs software oferă facilități complexe pentru gestiunea aplicațiilor întreprinse, a utilizatorilor și a modulelor implementate.

5.3 MODULE

Funcționalitățile produsului software conceput sunt organizate în module specifice tipului de site solicitat de client.

Modulul de vizualizare și gestionare a paginilor

Secțiunea de cod afișează următorul tabel.

Adăugarea unei pagini constă într-un formular.

Aceasta este metoda de adăugare a paginii în baza de date.

Adăugarea imaginilor într-o pagină

Modulul de blog este opțional și se creează în mod automat din setările platformei.

Vizualizarea și gestionarea postărilor din blog.

Adăugarea postărilor în blog

Modulul de categorii și, respectiv noutăți poate fi creat automat din setările produsului informatic.

Vizualizarea și gestionarea categoriilor

Adăugarea unei categorii noi

Modulul de comentarii

Modulul noutăți permite gestionarea și adăugarea unor noi articole.

Modulul de setări

Atât modulele obligatorii, cât și cele opționale sunt înglobate în platforma de administrare a conținutului și permit gestionarea facilă a activităților întreprinse de utilizatori.

5.4 MODULUL GESTIONARE CLIENȚI

Acest modul permite gestionarea clienților direct din aplicația produsă și salvarea datelor în baza de date mysql.

Modulul clienți este un modul opțional.

Formular pentru adăugarea unui client nou .

Adăugarea unui client nou în baza de date.

Modul de vizualizare pentru modulul de adăugare client nou.

Astfel eficiența administrări informațiilor despre clienți îmbogățește sistemul software cu o funcționalitate utilă societăților prestatoare de servicii.

5.5 MODULUL FACTURARE

Modulul de facturare este unul opțional și se poate utiliza doar dacă se alege un client din baza de date.

Vizualizarea și gestionarea facturilor

Adăugare factură

Secvența de cod pentru adăugarea facturilor

Stornarea facturilor

În cadrul acestui modul se pot genera facturi cu serie unică și facilitează găsirea clienților prin funcția de căutare.

5.6 MODUL ADMINISTRARE UTILIZATORI

Acest modul permite adăugarea, editarea și ștergerea utilizatorilor din baza de date direct din platformă.

Vizualizare și gestionare utilizatori

Secvența de cod

Utilizatorii sunt împărțiți pe mai multe grupuri.

Administratorul global are acces complet la platformă.

Administratorul are acces complet la modulele existente fără a putea crea module noi.

Moderatorul are acces la modulele de scris în site, mai exact pagini, blog, noutăți, categorii și comentarii.

Utilizatorul cu rol financiar are acces la modulele de clienți și de facturare

Adăugarea de utilizatori noi:

Formularul de adăugare noi utilizatori este în doi pași.

Codul sursă:

Astfel gestionarea utilizatorilor este facilă.

5.7 WEBSITE-URILE CONSTRUITE CU AJUTORUL PLATFORMEI

În acest subcapitol se vor prezenta câteva dintre website-urile create prin intermediul platformei.

Global Code este o firmă de programare și promovare online.

Crown Cișmigiu este un salon de evenimente.

Zumbaala Wake Park

Firmă de curățenie:

Mobilă pe comandă

Casă de avocatură

Aceste exemple sunt deja utilizate de clienții societății comerciale de software Global Code.

CAPITOLUL 6- CONCLUZII ȘI CONTRIBUȚII

Lucrarea propusă reprezintă o platformă web cu scopul de a crea cu ușurința conținut pentru website-uri, de a adăuga pagini dinamice și de a gestiona clienții și activitățile dintr-o societate comercială.

Platforma web poate fii accesată de pe orice dispozitiv, mai exact telefon mobil, tabletă, laptop, etc.

Acest sistem software l-am dezvoltat în întregime utilizând tehnologi precum PHP, Blade, Laravel, MVC(Model-View-Controller), mySQL, Javascript, jQuery, HTML 5, CSS 3, Bootstrap 3.

Toate funcțiile PHP si JavaScript folosite pentru realizarea acestui proiect sunt realizate de mine, exceptând librăriile scrise în JavaScript pentru tabele și librăria jquery.

Dezvoltarea platformei a început în anul 2016, luna August.

În acest moment, platforma se află în producție pentru o firmă de programare existentă și este în continuă dezvoltare.

BIBLIOGRAFIE

Similar Posts