UF1844: Desenvolupament d'aplicacions web a l'entorn servidor
UF1845: Accés a dades en aplicacions web de l'entorn servidor
Tornar
UF1844 i UF1845: Desenvolupament i Accés a dades en aplicacions web de l'entorn servidor (90h + 90h):
Docent: David Alcolea / Coordinador: Dr. Javier López

Descripció del producte/projecte de la unitat UF1842:

Les activitats avaluatives d'aquestes dues unitats formatives es realitzen de manera integrada, ja que habitualment es desenvolupen, s'integren i es relacionen de manera bidireccional, i és en aquesta interrelació on es troba la potencialitat d'aquestes dues tecnologies. Si bé PHP sense connexió a bases de dades té una àrea de desenvolupament significativa i és totalment operatiu, dintre del curs de Certificació de Professionalitat el pes d'aquest llenguatge de servidor recau en gran mesura en la seva possibilitat de connexió a bases de dades, accés a taules, realització de cerques complexes i recuperació de la informació.

Per la seva part, un tipus de base de dades tan utilitzada com MySQL, sense un codi que permeti l'accés, que gestioni les cerques, que vehiculi les habituals accions de SQL (insert, update i delete) i mostri la informació requerida a l'usuari en el format necessari, no té la rellevància e importància que es presenta quan aquests dos elements es presenten de manera combinada.

Així com en les dues anteriors fases de desenvolupament, el projecte s'aplicava sobre els materials de la fase anterior, afegint codi o bé complementant i millorant funcions a través de les noves característiques tractades, en aquest cas no existeixen materials base, sinó que s'ha de construir tota l'estructura de manera íntegra.

Client:

En aquesta fase de desenvolupament el client requereix una secció privada de la web, a la qual únicament podrà accedir el personal amb els suficients privilegis d'accés i de modificació de la informació, i que permetrà afegir, modificar o eliminar informació en la base de dades. No cal dir que tota la informació que es modifiqui a través d'aquesta eina es veurà reflectida de manera immediata a la web que ha sigut desenvolupada durant les dues primeres fases de producció.

A través d'aquesta aplicació o eina de gestió (realitzada íntegrament amb PHP) existiran una sèrie d'usuaris amb diferents tipus de privilegis que podran realitzar diferents funcions:

La importància d'aquesta eina web, que es troba aïllada i diferenciada de la resta de la web, encara que relacionada a través de la mateixa base de dades, resideix en el fet que els editors podran modificar el contingut que es mostrarà immediatament a la web realitzada en les fases de desenvolupament anteriors.

Al mateix temps que contindrà i tindrà la possibilitat d'administrar tots els detalls i dades de clients que han llogat els apartaments, els proveïdors que presten els seus apartaments, l'estat d'aquests últims, així com totes les transaccions econòmiques (pagaments i cobraments) de la seva activitat professional.

Així, en les activitats d'aquestes dues unitats formatives es tractaran les següents funcionalitats:

Característiques bàsiques incloses a les activitats: Contingut relacionat:
Unitat formativa UF1844
35- Instal·lació de l'entorn de desenvolupament XAMPP d'Apache per php i MySQL. XAMPP
36- Sintaxis del llenguatge php i interactivitat amb pàgines web. echo
37- Operadors aritmètics, operadors lògics i variables. Booleans, sencers, strings, arrays..
38- Tractament de peticions al servidor per enviament de formularis. $_GET, $_POST, $_REQUEST
39- Tractament de formularis fora i dintre de la pàgina. action
40- Estructures de control. IF, ELSE, SWITCH
41- Estructures d'iteració. FOR, WHILE
42- Funcions sense/amb paràmetres. FUNCTION, RETURN
43- Treballar amb cadenes de text. String, substr...
44- Treballar amb números. floor, rand,...
45- Ús de fitxers. fwrite, fopen, fclose,...
46- Càrrega de continguts dintre de la pàgina. Include, require
47- Generació d'informes pdf. fpdf, dompdf
48- Multiidioma a la nostra pàgina web i guardat d'informació de l'usuari durant (i després de) la sessió. $_SESSION, $_COOKIE,...
49- Enviament de mails amb php fent servir la llibreria phpmailer. mail, phpmailer,...
50- Enviament de formularis amb AJAX i tractament de les respostes del servidor (interactivitat amb javascript). $.GET, $.POST, $.AJAX,...
51- Pujar imatges i arxius al servidor emulant-hi AJAX. $_FILES, move uploadedfile,...
52- Treballar de forma avançada amb arrays. join, explode, foreach,...
53- Ús d'AJAX per paginació a la pantalla. AJAX
54- Intercanvi d'informació entre client i servidor fent servir el protocol JSON. mysqli_connect
55- Peticions crossdomain fent servir el protocol JSON. JSON
56- Incorporar plataforma de pagament Paypal a la nostra pàgina web. paypal
57- Eines avançades d'edició de continguts. ckeditor
58- Planificació de processos php per execució diferida i programada. php.exe
Unitat formativa: UF1845
59- Instal·lació de MySQL Workbench i accés a PhpMyAdmin. MySQL Workbench i phpMyAdmin
60- Connexió a una base de dades. mysqli_connect
61- Introducció al model relacional de dades i al model entitat-relació.
62- Tipus d'index d'una taula (primari, múltiple, únic, clúster i foràni).
63- Instruccions DDL per alta/baixa/modificació de base de dades, entitats i index. CREATE, ALTER, DROP
64- Instruccions DML per accedir a entitats. SELECT, WHERE, FROM, ORDER BY, GROUP BY, HAVING, mysqli_fetch_row()
65- Instruccions DML d'accés a múltiples entitats. SELECT JOIN
66- Accés a entitats per recuperar n registres. mysqli_fetch_assoc()
67- Instruccions DML d'alta de registres. INSERT
68- Instruccions DML de modificació de registres. UPDATE
69- Instruccions DML de baixa de registres. DELETE
70- Introducció a la integritat referencial a l'esborrat de registres. CONSTRAINT, CASCADE, NULL
71- Paginació: contar i buscar registres d'una consulta SQL. mysqli_data_seek(), SELECT COUNT
72- Xifrat d'informació sensible dins d'una entitat. Md5(), sha1(),...
73- Instruccions DCL de control de base de dades: alta d'usuaris i privilegis. REVOKE, GRANT, CREATE
74- Importar i exportar bases de dades a fitxers.
Arbre de navegació:
L'arbre de navegació, en el que es defineixen els apartats dels que constarà aquesta fase de desenvolupament és el següent:



Apartats:
Login


Aquest és l'apartat d'inici (index.php) i té com a objectiu principal filtrar l'accés a aquesta eina de gestió únicament a les persones autoritzades. Al mateix temps permetrà conèixer el tipus d'usuari que accedeix per conèixer de quins privilegis gaudeix.

Aquest serà l'únic apartat d'accés lliure, encara que si no es posseeix un nom d'usuari ni una contrasenya vàlida i autoritzada no serà possible accedir a la resta d'apartats. Per això en aquesta pantalla es demana a l'usuari el seu "Nom d'usuari" i la seva "contrasenya".

Si l'usuari ha oblidat la seva contrasenya, pot sol•licitar-la usant l'opció "He oblidat la meva contrasenya". En aquest caso, l'usuari haurà d'introduir el seu correu electrònic i si coincideix amb l'especificat a la base de dades, la informació d'accés li serà enviada a aquesta mateixa adreça de correu.

Continguts relacionats:



Usuaris

Els "usuaris" són aquelles persones que estan autoritzades per accedir a aquesta eina de gestió. No obstant això, existeixen diferents tipus d'usuaris amb diferents privilegis, i d'aquesta manera no tots ells tindran accés a totes les àrees, ni podran realitzar les mateixes accions. Així, l'administrador podrà realitzar totes les accions, mentre que els "editors" únicament podran gestionar les dades de totes (o d'alguna) dels apartats d'aquesta eina.

En aquest apartat, al que únicament podran accedir aquells usuaris amb el màxim nivell de privilegis.


En aquest apartat es podrà:


Continguts relacionats:


Apartaments

En aquest apartat és possible gestionar totes les dades referents als apartaments que formen part del stock. Ja siguin aquells que estan per llogar, els ja llogats o els pendents de verificació per entrar a formar part del stock de l'empresa.

Aquest apartat estarà lligat a la taula d'apartaments de la base de dades MySQL, contindrà referència a les imatges de cadascun dels apartaments i permetrà la pujada d'imatges al servidor.



En aquest apartat serà possible:

Entre les dades de cada apartament es pot destacar informació com l'estat actual, la localització, així com el propietari (proveïdor) que aporta l'apartament, cobraments/pagaments realitzats i els clients que l'han ocupat. Totes aquestes taules estan relacionades entre si i és possible desplaçar-se d'una a una altra informació en seleccionar la dada desitjada. Contingut relacionat:



Clients

Sota la denominació de "client" es descriu a aquella persona que ha llogat un apartament en alguna ocasió.

Aquesta taula està estretament relacionada, tant amb la taula d'apartaments (que aquests clients han llogat en alguna ocasió), com amb la taula de cobraments (que se han produït per aquest lloguers).




Des d'aquest apartat és possible:
Continguts relacionats:

Proveïdors

Els "proveïdors" són aquelles persones (propietaris) que disposen d'un apartament propi i desitgen posar-lo a disposició de l'empresa perquè aquesta ho llogui i així aconseguir un percentatge dels beneficis del servei.

Aquesta taula de proveïdors estarà estretament relacionada amb la taula del stock d'apartaments i amb la taula de pagaments realitzats.




En aquest apartat serà possible:


Continguts relacionats:


Transaccions econòmiques

En aquest apartat constaran tots els pagaments a proveïdors i cobraments dels clients. Com es tracta de dades sensibles molt importants, aquesta informació ha d'estar ben protegida i xifrada amb algun algoritme de xifrat solvent.

Com passa amb els anteriors apartats, aquesta taula està estretament relacionada amb els apartaments (que impliquen cobraments de clients i pagament a proveïdors).



A través d'aquest apartat es podrà:

Continguts relacionats:


Altres funcionalitats a tenir en compte:

Al mateix temps existeixen una sèrie de punts d'informació que són transversals i per tant estan presents en tots els apartats:

De la mateixa manera que existeixen característiques o funcionalitats que s'avaluen en activitats concretes, també es contemplen una sèrie de funcionalitats que no es troben en apartats concrets. Per exemple els següents ítems s'avaluaran en controls parcials:


Aquest continguts no seran avaluables de manera directa, però són imprescindibles per la creació de una gran part de les funcionalitats.
Els següents continguts són exclusivament teòrics i en part s'avaluaran a partir de les pràctiques inicials i de les preguntes del test d'avaluació final.

Criteris d'avaluació:
Producte final: Eina creada amb PHP i connexió amb bases de dades per la consulta, manipulació i cerca de dades.
Durada: Del 30/juliol/2015 al 16/setembre/2015.
Objectius:
  • Comprendre el funcionament intern i les peculiaritats del llenguatge de programació php.
  • Conèixer la sintaxi i els resultats dels principals mètodes, funcions i comandaments del llenguatge.
  • Dominar la connexió de php amb les diferents ordres de SQL per obtenir un major aprofitament de les possibilitats d'aquest llenguatge.
  • Conèixer les característiques de les diferents funcionalitats pròpies de PHP (xifrat de dades, seguretat, funcions automàtiques, manipulació de fitxers...)
Contingut relacionat: Presentat a la Taula d'aquest document.
Presentació: Aquest producte final té com a punt central la connexió amb una base de dades per tal de poder accedir a un conjunt d'informació (consulta, modificació, inserció i eliminació de dades) incorporant totes les funcionalitats requerides pel docent al principi del mòdul formatiu.

Encara que la frontera entre els continguts d'aquesta unitat formativa i la següent és difusa, podem dir que la funció principal d'aquesta primera fase centrada en el llenguatge de servidor php, és la construcció de l'estructura i de totes les funcions bàsiques de navegació i d'interacció de la pàgina web, mentre que la següent unitat formativa se centra amb més intensitat en la creació, connexió i manipulació de tota l'estructura de dades a través de la seva focalització amb el motor de la base de dades de tipus MySQL.

Encara que el contingut dedicat a la programació en l'entorn del servidor està dividit en tres unitats formatives, les dues primeres estan lligades i estretament unides. Per això el producte final es començarà a treballar dintre d'aquesta unitat formativa i s'acabarà al final de la següent unitat, sense tenir una diferenciació clara a nivell d'estructuració física del resultat final.

Així, a l'inici del mòdul formatiu s'especifiquen les característiques i funcionalitats que s'avaluaran (Taula) dintre d'aquestes dues unitats formatives. No obstant, al tractar-se de requeriments concrets i molt orientats a ítems importants els indicadors estan estructurats i es poden identificar de manera clara en cadascuna de les unitats formatives.

Per informació més detallada es possible accedir a l'apartat "Descripció del producte/projecte".

Material necessari: Tot el programari proposat és de llicència oberta i per tant gratuït.
  • Entorn de desenvolupament (Apache+MySQL+PHP), paquet d'instal•lació XAMPP.
  • Editor web senzill (notePad++ o Sublime Text2).
  • Navegadors actualitzats (Chrome, Firefox, Explorer).
  • Qualsevol programa de FTP per pujar fitxers a un servidor web (Filezilla o similars).
  • Un ordinador per alumne amb connexió a Internet.
Organització: El treball és de caràcter individual i encara que es comença a classe, depenent del ritme d'aprenentatge i dels coneixements inicials de cada alumne la duració i la possibilitat de dedicació personal fora de l'horari lectiu pot variar de manera individual.

De la mateixa manera que passa a la resta d'unitats formatives, totes les activitats avaluatives vénen precedides d'exercicis fets a classe que tracten de manera senzilla els continguts que després s'hauran d'utilitzar per fer les activitats avaluatives, aquestes una mica més complicades per la combinació en el mateix document amb altres funcionalitats i els seus codis de programació.

Avaluació: Els indicadors d'avaluació són acumulatius. És a dir, cada enunciat conté una sèrie d'ítems relacionats amb les seves pròpies escales de valoració. Si l'alumne compleix cadascun d'aquests ítems tindrà la puntuació màxima d'aquest enunciat. Això vol dir que aquests ítems no són oposats ni contradictoris, sinó totalment complementaris.