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

Cuprins

CAPITOLUL 1- INTRODUCERE

Odată cu dezvoltarea tehnologiilor de comunicare prin intermediul internetului domeniul web 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 ca crearea automată a [anonimizat], [anonimizat] a paginilor web cu specificațiile clientului.

[anonimizat]timiză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ă introduce î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țiunii. Î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 asiguă 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 clienții nu sunt niște pasionați ai design-ului web și este posibil ca aceștia să se descurce relativ greu cu un site hard-codat fără CMS.

De asemenea, CMS-urile oferă un control editorial excelent peste conținut, precum și control asupra design-ului paginilor Web.

În final, CMS-urile asigură servicii SEO deja implementate. Bineînțeles, și în cazul unui site creat de la zero se pot implementa standarde SEO mult mai eficiente decât cele puse la dispoziție de un CMS specializate pe căutare.

CMS-urile însă prezintă un avantaj evident în ceea ce privește serviciile SEO: ocupă mai puțin timp obținerea lor decât în cazul în care ar fi create de la zero. Instalarea și configurarea inițială presupune cel mai mult timp acordat serviciilor SEO în cazul CMS-urilor.

Dintre CMS-urile cele mai cunoscute amintim:

•Drupal – un CMS open source care poate sustine o varietate de site-uri Web, de la bloguri, brosuri colective, pana la site-uri ale unor comunitati largi (http://drupal.org)

• eZ Publish – un CMS si un mediu de dezvoltare, avand ca functionalitate dezvoltarea siturilor de comert electronic.

Poate fi utilizat sub licenta profesionala (eZ Publish Pro sau Enterprise sau in regim open source GPL (http://ez.no//expublish)

• Joomla – folosind acest cadru de lcuru open source, pot fi dezvoltate solutii integrale de comert electronic, sisteme de control al inventarului, instrumente de raportare a datelor, cataloage personalizate cu produse, sisteme de rezervari, etc. (http://www/joomla.org)

• Mambo – este un CMS open source foarte popular, bazat pe PHP si MySQL, folosit pentru a crea si administra stiluri printr-o interfata grafica simpla, oferind o multime de facilitati dintre care amintim:

• salvarea paginilor in cache (pentru a imbunatati performantele site-urilor cu trafic ridicat)

• tehnici avansate de realizare a sabloanelor (templates)

• versiuni pentru tiparire ale paginilor

• forumuri

• stiri

• calendare

• feed-uri RSS (http://www.mamboserver.com/)

• osCommerce – este cea mai des utilizata solutie open source pentru dezvoltarea siturilor de comert electronic, fiind bazata pe PHP si MySQL si avand versiuni pentru un numar mare de platforme: Windows, Linux, Solaris, BSD, Mac OS (http://www.oscommerce.com/).

Dintre solutiile CMS open source pentru comertul electronic, bazate pe PHP si MySQL, mai amintim

• Zend Cart (http://zen-cart.com/)

• phpShop (http://www.phpshop.org/)

• OpenCart (http://www.opencart.com/)

• PHP – Fusion – este un CMS open source de “categorie usoara”. Foloseste o singura baza de date pentru stocarea intregului continut al sitului (http://phpfusion.co.uk/news.php)

• PHP – Nuke – este un CMS si un portal open source. Este flexibil in exploatare, dispune de instrumente de actualizare a continutului, fiind una dintre cele mai accesibile solutii de tip portal gasite pe Internet (http://phpnuke.org/ )

• PostNuke – este un CMS open source, reprezentand un sistem de administrare colaborativ, pentru comunitati si continuturi (http://www.postnuke.com/)

• Plone – este unul dintre cele mai avansate CMS-uri, identificat de CMSReport si eWeek drept una dintre cele trei variante open source din gama sistemelor CMS enterprise (http://plone.org)

Una dintre platformele actuale de gestionare a conținutului este WORDPRESS, care este o variantă simplă a acestui tip de produs software oferind diverse șabloane pentru crearea site-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 de marcare utilizat pentru crearea paginilor web ce pot fi afișate într-un browser (sau navigator). Scopul HTML este mai degrabă prezentarea informațiilor – paragrafe, fonturi, tabele ș.a.m.d. – decât descrierea semanticii documentului.

TML este o formă de marcare orientată către prezentarea documentelor text pe o singura pagină, utilizând un software de redare specializat, numit agent utilizator HTML, cel mai bun exemplu de astfel de software fiind browser-ul web. HTML furnizează mijloacele prin care conținutul unui document poate fi adnotat cu diverse tipuri de metadate și indicații de redare. Indicațiile de redare pot varia de la decorațiuni minore ale textului, cum ar fi specificarea faptului că un anumit cuvânt trebuie subliniat sau că o imagine trebuie introdusă, până la scripturi sofisticate, hărți de imagini și formulare. Metadatele pot include informații despre titlul și autorul documentului, informații structurale despre cum este împărțit documentul în diferite segmente, paragrafe, liste, titluri etc. și informații cruciale care permit ca documentul să poată fi legat de alte documente pentru a forma astfel hiperlink-uri (sau web-ul).

HTML este un format text proiectat pentru a putea fi citit și editat de oameni utilizând un editor de text simplu. Totuși scrierea și modificarea paginilor în acest fel solicită cunoștințe solide de HTML și este consumatoare de timp. Editoarele grafice (de tip WYSIWYG) cum ar fi Macromedia Dreamweaver, Adobe GoLive sau Microsoft FrontPage permit ca paginile web sa fie tratate asemănător cu documentele Word, dar cu observația că aceste programe generează un cod HTML care este de multe ori de proastă calitate.

HTML se poate genera direct utilizând tehnologii de codare din partea serverului cum ar fi PHP, JSP sau ASP. Multe aplicații ca sistemele de gestionare a conținutului, wiki-uri și forumuri web generează pagini HTML.

HTML este de asemenea utilizat în e-mail. Majoritatea aplicațiilor de e-mail folosesc un editor HTML încorporat pentru compunerea e-mail-urilor și un motor de prezentare a e-mail-urilor de acest tip. Folosirea e-mail-urilor HTML este un subiect controversat și multe liste de mail le blochează intenționat.

HTML este prescurtarea de la Hyper Text Mark-up Language si este codul care sta la baza paginilor web.

Paginile HTML sunt formate din etichete sau tag-uri și au extensia „.html” sau „.htm”.

În marea lor majoritate aceste etichete sunt pereche, una de deschidere <eticheta> și alta de închidere </eticheta>, mai există și cazuri în care nu se închid, atunci se folosește <eticheta />. Navigatorul web interpretează aceste etichete afișând rezultatul pe ecran. HTML-ul este un limbaj care nu face deosebire între litere majuscule și minuscule.

Pagina principala a unui domeniu este fișierul „index.html” respectiv „index.htm”. Această pagină este setată a fi afișată automat la vizitarea unui domeniu.

De exemplu la vizitarea domeniului www.nume.ro este afișată pagina www.nume.ro/index.html.

Unele etichete permit utilizarea de atribute care pot avea anumite valori: <eticheta atribut="valoare"> … </eticheta>.

Componența unui document HTML este compusă din versiunea HTML a documentului, zona head cu etichetele <head> </head>, zona body cu etichetele <body> </body> sau <frameset> </frameset>.

Toate paginile HTML încep și se termină cu etichetele <html> și </html>.

În interiorul acestor etichete găsim perechile <head>, </head> și <body>, </body>.

Head conține titlul paginii între etichetele <title> și </title>, descrieri de tip <meta>, stiluri pentru formatarea textului, script-uri și legături către fișiere externe (de exemplu script-uri, fișiere de tip CSS sau favicon).

Etichetele de tip meta conțin cuvinte cheie, descrierea paginii, date despre autor, informații utile motoarelor de căutare și au următorul format: <META NAME="nume" CONTENT="conținut">.

3.2 LIMBAJUL JAVASCRIPT

JavaScript (JS) este un limbaj de programare orientat obiect bazat pe conceptul prototipurilor. Este folosit mai ales pentru introducerea unor funcționalități în paginile web, codul Javascript din aceste pagini fiind rulat de către browser. Limbajul este binecunoscut pentru folosirea sa în construirea siturilor web, dar este folosit și pentru acesul la obiecte încastrate (embedded objects) în alte aplicații. A fost dezvoltat inițial de către Brendan Eich de la Netscape Communications Corporation sub numele de Mocha, apoi LiveScript, și denumit în final JavaScript.

În ciuda numelui și a unor similarități în sintaxă, între JavaScript și limbajul Java nu există nicio legătură. Ca și Java, JavaScript are o sintaxă apropiată de cea a limbajului C, dar are mai multe în comun cu limbajul Self decât cu Java.

Până la începutul lui 2005, ultima versiune existentă a fost JavaScript 1.5, care corespunde cu Ediția a 3-a a ECMA-262, ECMAScript, cu alte cuvinte, o ediție standardizată de JavaScript. Versiunile de Mozilla începând cu 1.8 Beta 1 au avut suport pentru E4X, care este o extensie a limbajului care are de a face cu XML, definit în standardul ECMA-357. Versiunea curentă de Mozilla, 1.8.1 (pe care sunt construite Firefox și Thunderbird versiunile 2.0) suportă JavaScript versiunea 1.7.

Schimbarea numelui din LiveScript în JavaScript s-a făcut cam în același timp în care Netscape încorpora suport pentru tehnologia Java în browserul web Netscape Navigator.

Microsoft a implementat limbajul JavaScript sub numele de JScript, cu o serie de modificări și extensii față de implementarea Netscape. Pe platforma Windows, JScript este unul din limbajele executabile de către Windows Script și, deci, poate fi folosit pentru scriptarea aplicațiilor ce suportă Windows Script, de exemplu Internet Explorer, sau chiar sistemul de operare Windows.

Asociația ECMA a standardizat limbajul JavaScript/JScript sub numele ECMAScript (standardul ECMA-262).

Cea mai des întâlnită utilizare a JavaScript este în scriptarea paginilor web. Programatorii web pot îngloba în paginile HTML script-uri pentru diverse activități cum ar fi verificarea datelor introduse de utilizatori sau crearea de meniuri și alte efecte animate.

Browser-ele rețin în memorie o reprezentare a unei pagini web sub forma unui arbore de obiecte și pun la dispoziție aceste obiecte script-urilor JavaScript, care le pot citi și manipula. Arborele de obiecte poartă numele de Document Object Model sau DOM.

Există un standard W3C pentru DOM-ul pe care trebuie să îl pună la dispoziție un browser, ceea ce oferă premiza scrierii de script-uri portabile, care să funcționeze pe toate browserele. În practică, însă, standardul W3C pentru DOM este incomplet implementat. Deși tendința browserelor este de a se alinia standardului W3C, unele din acestea încă prezintă incompatibilități majore, cum este cazul Internet Explorer.

O tehnică de construire a paginilor web tot mai întâlnită în ultimul timp este AJAX, abreviere de la „Asynchronous JavaScript and XML”. Această tehnică constă în executarea de cereri HTTP în fundal, fără a reîncărca toată pagina web, și actualizarea numai anumitor porțiuni ale paginii prin manipularea DOM-ului paginii. Tehnica AJAX permite construirea unor interfețe web cu timp de răspuns mic, întrucît operația (costisitoare ca timp) de încărcare a unei pagini HTML complete este în mare parte eliminată.

JavaScript oferă un tip de date Boolean cu valorile true și false. Operatorul returnează șirul "boolean" pentru aceste tipuri de primitive.

Atunci când este utilizat într-un context logic, 0 , -0 , null , NaN , undefined , iar șir vid ( "" ) evaluează în false din cauza constrângerii automate.

Când conversia de tip este necesară, JavaScript convertește String, Number, Boolean, sau operanzilor obiect, după cum urmează:

Șir de caractere este convertit la o valoare număr. JavaScript încearcă să transforme literal șir de caractere numeric, la o valoare tip de număr. În primul rând, o valoare de matematică este derivat din literal șir de caractere numeric. Apoi, această valoare este rotunjită la cea mai apropiată valoare tip de număr.

Dacă unul dintre operanzi este un Boolean, operand Boolean este convertit la 1 dacă este true sau la 0, dacă este false .

Dacă un obiect este comparat cu un număr sau un șir de caractere, JavaScript încearcă să se întoarcă valoarea implicită pentru obiect. Un obiect este convertit la un șir de caractere sau o valoare numerică, folosind .valueOf() sau .toString() metode de obiect. Dacă acest lucru nu reușește, o eroare de execuție este generată.

Unii experți folosesc termenii "true" și "false" pentru a descrie modul în care valorile de diferite tipuri, se comportă atunci când a evaluat într-un context logic, în special în ceea ce privește cazurile de margine. Operatorii logici binare a returnat o valoare booleană în primele versiuni de JavaScript, dar acum se vor întoarce unul dintre operanzi loc.

Operandul stâng este returnat în cazul în care acesta poate fi evaluat ca: false , în cazul de asociere ( a && b ) , sau true , în cazul de disjuncției ( a || b ) , în caz contrar dreptul de-operand este returnat.

O expresie poate fi în mod explicit exprimate la un primitiv de booleană: dublarea logic operatorul negație ( !! ) , folosind Boolean() funcția, sau folosind operatorul condițional ( c ? t : f ) .

Variabilele în standard, JavaScript nu au tip atașat, și orice valoare poate fi stocată în orice variabilă.

Variabilele sunt declarate cu un var declarație, mai multe variabile pot fi declarate la o dată.

Un identificator trebuie să înceapă cu o literă, de subliniere (_), sau semnul dolar ($); caractere ulterioare pot fi, de asemenea, cifre (0-9).Deoarece JavaScript este case-sensitive, scrisori include caracterele "A" la "Z" (cu majuscule) și caracterele "A" la "Z" (cu litere mici).

Variabilele declarate în afara oricărei funcții sunt globale. În cazul în care o variabilă este declarată într-un domeniu de aplicare mai mare, ea poate fi accesată de către funcțiile apelate de domeniu.

Funcțiile sunt obiecte de prima clasa si pot fi alocate altor variabile.

Numărul de argumente al unei funcții nu este necesar să corespundă cu numărul de argumente din definiția funcției, un argument numit în definiția careia ii lipseste un argument din definitia apelului va avea valoarea undefined (care poate fi în mod implicit fals).

În cadrul funcției, argumentele pot fi accesate, de asemenea, prin obiectul arguments; aceasta asigură acces la toate argumentele care utilizează indici (de exemplu, arguments[0], arguments[1], … arguments[n] ), inclusiv celor dincolo de numărul de argumente.

Pentru convenienta, tipurile sunt subdivizate în mod normal in tipuri primitive și obiecte.

Obiectele sunt entități care au o identitate (ele sunt doar egale cu ele însele) și care mapeaza proprietatile valorilor ("sloturi", în prototip terminologia de bază a programarii).

Obiectele pot fi gandit ca tablouri asociative sau hashes, și sunt adesea puse în aplicare cu ajutorul acestor structuri de date.

JavaScript are cateva tipuri de obiecte built-in, și anume Array, Boolean, Date, Function, Math, Number, Object, RegExp and String.

Alte obiecte sunt obiecte "gazdă", definite nu prin limbă, ci de mediul de rulare.

De exemplu, într-un browser, obiecte tipice gazdă aparțin unui DOM (fereastră, formular, link-uri, etc).

3.3 LIMBAJUL CSS

CSS (Cascading Style Sheets) este un standard pentru formatarea elementelor unui document HTML. Stilurile se pot atașa elementelor HTML prin intermediul unor fișiere externe sau în cadrul documentului, prin elementul <style> și/sau atributul style. CSS se poate utiliza și pentru formatarea elementelor XHTML, XML și SVGL.

Stilurile pentru o pagina pot fi definite in partea de Head a documentului html, pot fi definite intr-un fisier css extern, pe care putem chema tot din partea de head a paginii, sau putem aplica un stil diferit in partea Body a fisierului html, la fiecare tag html in parte.

<head>

<title>Stil definit in head</title>

<style type=”text/css”>

p {

font-family:Arial;

font-size:14px;

color:#003300;

}

</style>

</head>

<body>

Paragraf la care se va aplica stilul definit mai sus!

</body>

In acest exemplu am definit cu css un stil pentru toate paragrafele din pagina respectiva, 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) ale cărui baze au fost puse de Rasmus Lerdorf în 1994.

PHP reprezintă un limbaj de programare ce permite modificarea paginilor web înainte ca acestea să fie transmise de server către browser-ele 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. În cadrul acestui proces, PHP poate consulta baze de date, fișiere externe sau alte resurse, poate trimite email-uri sau executa comenzi ale sistemului de operare. Întrucât procesarea se realizează la nivelul serverului web, înainte ca paginile web să ajungă în browser, PHP este considerat un limbaj de programare server-side.

Modul în care PHP generează conținut pentru o pagină ce va fi afișată de browser este prin instrucțiunile delimitate de etichetele <?php si ?>. Astfel, orice se afla între aceste tag-uri va fi considerat cod-sursă și va fi executat de interpretorul PHP și înlocuit cu rezultatul execuției. Ce este în afara tag-urilor rămâne neschimbat și este transmis către browser. Spre exemplu, avem o pagina ca mai jos.

Rezultatul va fi o pagina HTML ce va conține cuvintele "Azi e" și rezultatul codului PHP (în cazul acesta – data curenta). Codul HTML final, transmis de server în urma procesării PHP este următorul:

PHP este un limbaj de programare de tip interpretat. Asta înseamnă ca fișierele ce conțin cod-sursa PHP sunt interpretate ca atare in momentul execuției, de catre PHP. Așadar, pentru execuția unei porțiuni de cod PHP este folosit codul-sursa așa cum a fost scris el, si nu este transformat într-o forma intermediara (binara sau cod-mașina) cum se întâmpla la Java sau C/C++. Acest lucru oferă flexibilitate, întrucât orice modificare a fișierelor sursa va fi aplicata imediat la următoarea execuție, fără alți pași intermediari. Exista si dezavantaje la acest mod de lucru, cum ar fi timp mai mare de execuție a codului, dar in anumite situații avantajele pot cântări mai mult decat dezavantajele. Datorita faptului ca limbajul este unul interpretat, PHP mai este numit si limbaj de scripting.

In sens mai larg, PHP este un limbaj de programare universal (sau general-purpose), oferind toate facilitățile oricărui limbaj avansat. Codul scris in PHP poate face aproape aceleași lucruri ca un cod de C/C++ sau Java. Cu toate astea, PHP s-a impus in zona web, ca limbaj server-side, ce extinde funcționalitatea serverelor web. Din acest motiv programarea in PHP mai este denumita si programare web sau programare web server-side.

In acest ghid ne vom axa pe programarea in PHP ca limbaj server-side. Deși noțiunile prezentate nu sunt legate de un mod de lucru anume si majoritatea exemplelor pot fi executate si din linie de comanda, vom presupune ca PHP va fi folosit doar pentru programarea web, ca modul al unui server web.

In cele de urmează va fi explicat mecanismul de funcționare a interpretorului PHP si cum intervine el in procesul de furnizare a paginilor web.

Interpretorul PHP acționează ca o componenta adiționala, o extensie a serverului web care este invocata de ori cate ori o pagina PHP este accesata. Aceasta componenta procesează codul-sursa din pagina si apoi transmite rezultatul înapoi la web-server, ajungând in final in browser-ele utilizatorilor. Acest proces este prezentat in imaginea din dreapta de mai jos.

Din imaginile de mai sus, se observa ca atunci când nu exista un interpretor PHP, paginile sunt transmise direct catre utilizatori așa cum sunt salvate pe disc, fără modificări. Pentru a actualiza conținutul acestora, este nevoie de intervenție directa asupra lor si salvarea modificărilor pe server. Aceste pagini sunt denumite "pagini statice".

Spre exemplu, presupunând ca avem o pagina statica ce afișează membrii unei comunități, la fiecare înscriere a unei noi persoane, pagina ar trebui modificata manual de catre cineva cu acces la serverul web. Lucrurile se complica daca acea lista este personalizata, cu trimiteri catre alte informații (cum ar fi detalii de contact pentru fiecare, etc) sau cu un design întortocheat. Toate aceste probleme pot fi rezolvate cu ajutorul PHP.

Folosind o secvența de cod PHP am putea prelua lista de membri dintr-o baza de date, eliminând problema actualizării – nu va mai fi nevoie sa se modifice pagina odată cu fiecare membru nou, scriptul PHP va afișa in mod automat noile persoane adăugate in baza de date. Este rezolvata si problema linkurilor personalizate, sau a designului – toate elementele specifice unei persoane pot fi generate in mod automat.

Aceste pagini sunt, așadar, modificate de catre PHP la momentul accesării lor de catre utilizatori. In funcție de parametrii primiți si de secvența de cod definita de programator, aceeași pagina poate avea conținut diferit. Aceasta proprietate este denumita dinamism, iar o astfel de pagina este considerata pagina dinamica.

În PHP o sesiune reprezinta perioada de timp in care mai multe scripturi PHP, accesate la momente diferite de timp, pot stoca si folosi informații comune. O sesiune începe atunci când un script apelează funcția session_start si se termina atunci când utilizatorul închide browser-ul (exista si alte modalități de a porni o sesiune, dar nu sunt prea uzuale – folosirea comenzii session_start este metoda recomandata).

O sesiune se întinde pe mai multe request-uri (pe parcursul a mai multor accesări ale diferitelor pagini), iar pentru a identifica existenta unei sesiuni PHP poate folosi cookie-uri sau parametrii GET un URL-ul paginii.

In momentul in care un script apelează funcția session_start pentru prima data într-o sesiune de lucru, se transmite un cookie catre browser-ul clientului (un header de tipul 'Set-Cookie', vezi lecția Cookie-uri). Fiind vorba de un cookie, este necesar ca funcția session_start sa fie apelata înaintea oricărei instrucțiuni ce afișează ceva (print, echo, etc) si înaintea oricărui cod HTML. Cookie-ul transmis conține un identificator ce poarta numele de Session ID, pe baza căruia se poate face distincție intre sesiunea curenta si alte sesiuni ale altor utilizatori ce accesează site-ul in acel moment.

3.5 LIMBAJUL SQL

SQL (de la numele englez Structured Query Language – limbaj de interogare structurat) este un limbaj de programare specific pentru manipularea datelor în sistemele de manipulare a bazelor de date relaționale (RDBMS), iar la origine este un limbaj bazat pe algebra relațională. Acesta are ca scop inserarea datelor, interogații, actualizare și ștergere, modificarea și crearea schemelor, precum și controlul accesului la date. A devenit un standard în domeniu (standardizat ANSI-ISO), fiind cel mai popular limbaj utilizat pentru crearea, modificarea, regăsirea și manipularea datelor de către SGBD-urile (Sistemele de Gestiune a Bazelor de Date) relaționale. Pe lângă versiunile standardizate ale limbajului, există o mulțime de dialecte și variante, unele proprietare, fiind specifice anumitor SGBD-uri și de asemenea conținând extensii pentru a suporta SBD-urile (Sistemele de Baze de Date) obiectuale (obiectual-relaționale).

SQL permite atât accesul la conținutul bazelor de date, cât și la structura acestora.

SQL a fost inițial dezvoltat la compania IBM de către Donald D. Chamberlin și Raymond F. Boyce în anul 1974. Inițial numele era SEQUEL (tot de la Structured Query Language) și avea ca scop manipularea și regăsirea datelor stocate în bazele de date relaționale IBM.

La sfârșitul anilor '70, compania Relational Software, Inc. (în prezent Oracle Corporation) a văzut potențialul acestor concepte descrise de Codd, Chamberlin și Boyce, și a dezvoltat propriul SQL RDBMS cu aplicații la U.S. Navy, Central Intelligence Agency și U.S. government. În iunie 1979, Relational Software a introdus prima implementare comercială disponibilă de SQL, Oracle. După testarea SQL, au apărut implementări ale acestui limbaj și din partea firmei IBM: SQL/DS și DB2.

Limbajul SQL este divizat în mai multe elemente, mai exact clauze, care sunt componente ale instrucțiunilor și interogărilor, expresii, al căror efect este producerea de valori scalare sau tabele, predicate, pot specifica condiții care sunt evaluate de SQL conform logicii ternare sau logicii booleene, în scopul limitării efectelor instrucțiunilor, sau pentru a influența cursul programului, interogările, au ca scop regăsirea datelor după criterii specifice, instrucțiunile, pot avea un efect persistent asupra datelor sau structurii datelor, sau pot controla tranzacțiile, conexiunile sau cursul programului. În general, instrucțiunile SQL se termină cu caracterul punct-virgulă (";"), deși acest lucru nu este obligatoriu în toate platformele SQL. Spațiile albe suplimentare sunt ignorate, dar ele pot fi folosite pentru lizibilitatea codului SQL.

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 unul dintre cele mai apreciate framework-uri PHP deoarece iti permite sa construiesti orice fel de aplicatie web cu PHP.

De asemenea, Laravel vine cu multe resurse, o comunitate, tutoriale video si documentatie pentru a-i facilita utilizarea si pentru o intelegere mai buna a functionarii framework-ului. Pe langa usurinta utilizarii, Laravel prezinta eleganta si atractivitate, putand fi folosit chiar si de cei cu cunostinte de baza in programarea web.

Laravel prezinta mai multe avantaje precum optiunea “bundled modularity” care iti permite sa refolosesti codul fara prea multe complicatii, foloseste Blade ca si sablon al motorului pentru a mari viteza in crearea task-urilor; astfel iti vei usura munca, vei putea salva timp si te vei putea focusa pe task-urile urmatoare.

Utilizatorii pot adauga noile caracteristici pe masura ce apar, este usor de inteles si utilizat fiind cel mai bun din clasa ORM, in acest fel crearea bazelor de date pare chiar simpla.

De asemenea, ofera caracteristica de reverse routing si o intelegere a Artisan CLI cuprinzand si uneltele avansate si migratiile in realizarea task-urilor.

Laravel este un framework care sprijina principiul DRY (Don’t Repeat Yourself) insemnand ca o functionalitate este scrisa fara erori si pentru o singura data.

Deoarece perfectiunea nu exista, pe langa avantaje, Laravel are si anumite dezavantaje precum metodele complexe care sunt incluse in reverse routing.

Desi este usor de folosit chiar si pentru programatorii web amatori, problemele intervin cand acestia incearca sa extinda clasele si codurile. De asemenea, comunitatea de suport nu este atat de extinsa in comparatie cu alte framework-uri, iar viteza cu care functioneaza este destul de redusa.

Desi a intrat pe piata web acum patru ani, Laravel a captat atentia programatorilor web si continua sa o faca prin rafinament si functionalitatile pe care le ofera.

Definit ca un limbaj de programare Open Source, asemănător PHP, Laravel a câștigat prin simplitatea și facilitatea interfaței prezentate un număr mare de programatori. Considerat nu doar simplu de instalat și folosit, ci și elegant, Laravel prezintă acea doză de atractivitate care poate încânta ochiul tehnic al dezvoltatorului web, care își dorește să creeze layout-uri aspectuoase, fără cunoștințe avansate de web design sau design de produs. Este vorba despre o revoluționare a tot ceea ce înseamnă, de ani buni, PHP și WordPress (în ceea ce privește blogurile specializate).

Laravel rezolvă una dintre cele mai întâlnite probleme ale dezvoltatorilor: aceea a livrării rapide a unui produs validat și bine cotat la nivelul pieței. Extrem de importantă este și dezvoltarea unui produs care să exprime profesionalism, seriozitate sau care să convingă consumatorii să treacă la următoarea etapă, aceea a achiziției.

Toate aceste probleme par a fi facil rezolvate de o soluție Open Source, cunoscută în rândul programatorilor sub numele de Laravel. Ușurința în folosirea Laravel este consolidată și de manualul de utilizare, complet și extrem de bine documentat.

De asemenea, în jurul acestui framework s-a construit o comunitate puternică de dezvoltatori și testeri, pregătită prin experiența proprie, să ofere soluții reale problemelor pe care le punctează dezvoltatorii.

În momentul lansării, Laravel a creat rumoare prin asumarea promisiunilor referitoare la minimalizarea efortului și a transformării acțiunilor de programare în ceea ce programatorii numesc fun mood. De asemenea, Laravel scoate la iveală un alt set de algoritmi, departe de a fi plictisitori, lăsând o mai mare libertate programatorului în vederea concentrării asupra arhitecturii unei aplicații, nu scrierea propriu-zisă a liniilor de cod. De asemenea, modificarea ulterioară pe care un programator Laravel o face pe un segment de cod sau într-o funcție nu afectează alte module ale aplicației, fapt ce oferă un plus de siguranță și de relaxare.

Laravel a introdus proceduri logice și intuitive, ce vizează denumirea dată fișierelor salvate, claselor sau bazelor de date apelate. Prin alegerea funcționalității Smart Defaults, Laravel permite focusarea programatorului asupra bunei funcționări a aplicației, precum și pe dezvoltarea rapidă și corectă (fără erori) a structurii de cod.

Laravel promovează DRY (Don’t-Repeat-Yourself), un principiu prin care o funcționalitate este scrisă pentru o singură dată și fără eventuale erori. De asemenea, Laravel oferă un mediu tehnic prielnic împărtășirii facile a liniilor de cod între modulele unui program.

Toate aceste avantaje ale folosirii Laravel sunt susținute de unul dintre cele mai recente trenduri din domeniul IT, ce recunosc viitorul industriei online prin tot ceea ce înseamnă FIA (Future Internet Architecture program).

3.8 PHP-EDITOR PLATFORMĂ IDE JETBRAINS

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

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

  • SPECIALIZAREA: STUDII DE SECURITATE CULTURA DE SECURITATE – NECESITATE DE BAZĂ ÎN ORGANIZAȚII Coordonator științific Lect. Dr. Ioan Manci Absolvent… [627066]

    UNIVERSITATEA “BABE Ș-BOLYAI” FACULTATEA DE ISTORIE Ș I FILOSOFIE DEPARTAMENTUL DE STUDII INTERNAȚIONALE ȘI ISTORIE CONTEMPORANĂ SPECIALIZAREA: STUDII DE SECURITATE CULTURA DE SECURITATE – NECESITATE DE BAZĂ ÎN ORGANIZAȚII Coordonator științific Lect. Dr. Ioan Manci Absolvent: [anonimizat] 2019 Declara ție Prin prezenta declar că Lucrarea de licen ță cu titlul CULTURA DE SECURITATE – NECESITATE…

  • Babeș-BolyaiUniversityofCluj-Napoca [609471]

    "Babeș-Bolyai"UniversityofCluj-Napoca FacultyofHistoryandPhilosophy MasterofInformationSciencesandDocumentation ThescientistandthelibraryoftheXXIcentury MAyearI Coordinator, CătălinBîrlogeanu Dr.ArlettePiguet 2016-2017 2Beforewetalkaboutscientistandscientificlibrary,Ithinkit'simportanttoclarify somebasicconcepts. Firstofall,it'simportanttosearchforadefinitionofscience. "Scienceis,inonesense,ourknowledgeofallthat—allthestuffthatisinthe universe:fromthetiniestsubatomicparticlesinasingleatomofthemetalinyour computer'scircuits,tothenuclearreactionsthatformedtheimmenseballofgasthatisour sun,tothecomplexchemicalinteractionsandelectricalfluctuationswithinyourownbody thatallowyoutoreadandunderstandthesewords.Butjustasimportantly,scienceisalsoa reliableprocessbywhichwelearnaboutallthatstuffintheuniverse.However,scienceis differentfrommanyotherwaysoflearningbecauseofthewayitisdone.Sciencerelieson testingideaswithevidencegatheredfromthenaturalworld"1. Anotherdefinitioncanbe:"Theintellectualandpracticalactivityencompassingthe systematicstudyofthestructureandbehaviourofthephysicalandnaturalworldthrough observationandexperiment:‘theworldofscienceandtechnology’"2 Secondofall,wemustfindadefinitionofscientist.AfterasearchonInternet,Ifind someinterestindefinitions: Scientists(inAustriaandSwitzerland,alsoscientists)arepeoplewhoaremainly engagedinscienceandtheirfurtherdevelopment.Theprofessionalaspect,however,isnot arequirement-seeprivatelecturer,privatelecturerorresearchinareassuchasamateur astronomyorspeleology.Asarule,scientistshaveacompleteduniversityeducationand areactiveasresearchers,oftenalsoasuniversitylecturers3. "Scientistsarepeoplewhouseresearchandexperimentstolearnmoreaboutthe naturalworld.Scientistsusescientificmethodstoderiveknowledgesystematically, performingrepeatableexperimentstoensurethattheirconclusionsarevalidandaccurate. Scientistsmustnotonlybehighlyeducatedwithregardtomathandscience,buttheyalso mustpossessimpeccableresearchskills.Additionally,scientistsmustbeeffective communicatorsandcreativeproblemsolvers"4. Thirdofall,it'simportanttodefinewhatisanscientificlibrary. Ingermanacceptance:"Scientificlibrariesarecommonlyreferredtoasthegroupof libraries,whichfocusonscientificstudiesandresearch.Inadditiontotheprovisionof publications,especiallyscientificpublications,fordirectuse,scientificlibrariesthemselves 1http://undsci.berkeley.edu/article/%200_0_0/intro_01-access5.02.2007 2https://en.oxforddictionaries.com/definition/science-access5.02.2007 3https://de.wikipedia.org/wiki/Wissenschaftler-access5.02.2017 4https://www.reference.com/business-finance/scientist-35628ddf4cdf744d-access5.02.2017 3canconductresearchandarchivingtasks.Alsopublishingservicessuchasdocument serversoftenbelongtothetaskspectrum.[1]Apartfromthelargeuniversallibraries,most scientificlibrariesspecializeinoneorseveralscientificfields,suchasaspecializedlibrary ortosupporttheresearchandteachingofarelatedorhigher-rankinginstitution.[2]5" ScientificlibrariesinFranceareassociatedwithuniversity(academic)libraries, sofrenchsaysthat: "Auniversitylibraryisalibraryattachedtoauniversity.Thedocumentsandservicesin theuniversitylibrarycanthusservethedualmissionofuniversities,teachingandresearch. However,auniversitymayhave,inadditiontoauniversitylibrary,otherlibrariesattached toafaculty,alaboratory,aresearchcenteroraninstitute.Ontheotherhand,alibrarycan haveadualfunction,nationalanduniversity,orpublicanduniversity(LausanneCantonal…

  • Ioana Alexandra Costea , Impactul depopulării localităților din Ținutul Pădurenilor asupra mediului natural. [615560]

    Ioana – Alexandra Costea , Impactul depopulării localităților din Ținutul Pădurenilor asupra mediului natural. Studiu de caz: comuna Bătrâna și satele aparținătoare ________________________________________________ _____________________________________________ _____________________________________________________________________________________________________________________________ ______________________________________________________________________________________ _______ 15 PARTEA A II – A: CERCETĂRI / CONTRIBUȚII PROPRII CAPITOLUL AL II – LEA: MATERIAL ȘI METODĂ 2.1. LOCALIZARE Ținutul Pădurenilor este situat în județul Hunedoara, p…

  • Introducere……1 [617579]

    CUPRINS Introducere…………………………………………………………………………………….1 Capitolul 1. Noțiuni generale privind evoluția contabilității………………………………..3 • Evidențierea perioadelor de evoluție a contabilității în România……………….3 • Evoluția contabilității în România……………………………………………….3 Capitolul 2. Caracterizarea și definirea activelor imobilizate……………………………..5 2.1. Definirea și structura imobilizărilor……………………………………….……5 2.2. Caracteristici generale pr ivind imobilizările……………………………………6 2.3. Sistemul de documente utilizate în evidența contabilă a activelor imobilizate..11 Capitolul 3. Amortizarea…

  • Url classification through Hidden Markov Models propus ˘a de Alexandru Martiniuc Sesiunea: iulie, 2019 Coordonator s ,tiint ,ific Conf. Dr. Gavrilut… [604500]

    MR UNIVERSITATEA ”ALEXANDRU-IOAN CUZA” DIN IAS ,I FACULTATEA DE INFORMATIC ˘A logoFii.png LUCRARE DE LICENT ,˘A Url classification through Hidden Markov Models propus ˘a de Alexandru Martiniuc Sesiunea: iulie, 2019 Coordonator s ,tiint ,ific Conf. Dr. Gavrilut Dragos UNIVERSITATEA ”ALEXANDRU-IOAN CUZA” DIN IAS ,I FACULTATEA DE INFORMATIC ˘A Url classification through Hidden Markov Models Alexandru…