Diferència entre revisions de la pàgina «Programació web entorn servidor»
(Hi ha 5 revisions intermèdies del mateix usuari que no es mostren) | |||
Línia 1: | Línia 1: | ||
+ | <nowiki>#FpInfor #DawMp07 | ||
+ | #DawMp07Uf01 #DawMp07Uf02 #DawMp07Uf03 #DawMp07Uf04 | ||
+ | </nowiki> | ||
+ | |||
+ | |||
En aquesta assignatura treballarem bàsicament amb PHP, que actualment és el llenguatge més estès per a la programació web. | En aquesta assignatura treballarem bàsicament amb PHP, que actualment és el llenguatge més estès per a la programació web. | ||
Recursos: | Recursos: | ||
− | * | + | * Al cacauet.org disposeu del [[Curs de PHP]] |
− | + | * Al repositori Github del que va ser el [https://github.com/ctrl-alt-d/FpUf/tree/main/DAW/DAW-MP07 quadern d'exercicis del Daniel Herrera]. | |
<br> | <br> | ||
Línia 40: | Línia 45: | ||
Índex UF3 al quadern d'exercicis: | Índex UF3 al quadern d'exercicis: | ||
− | https:// | + | https://github.com/ctrl-alt-d/FpUf/tree/main/DAW/DAW-MP07/DAW-MP07-UF3/tecniques-dacces-a-dades-metacontingut |
Començarem, però, per alguns exemples clàssics: [[Imatge:Filtre-continent.png|thumb|Llistat de països filtrats per continents.]] | Començarem, però, per alguns exemples clàssics: [[Imatge:Filtre-continent.png|thumb|Llistat de països filtrats per continents.]] | ||
# [[PHP MySQL select]]: accedirem a una base de dades de la manera més clàssica i menys eficient, amb instruccions específiques per a un SGBD concret (MySQL). Òbviament, això no és gaire òptim però està bé conèixer els mecanismes bàsics. | # [[PHP MySQL select]]: accedirem a una base de dades de la manera més clàssica i menys eficient, amb instruccions específiques per a un SGBD concret (MySQL). Òbviament, això no és gaire òptim però està bé conèixer els mecanismes bàsics. | ||
# '''PDO''' o PHP Data Objects | # '''PDO''' o PHP Data Objects | ||
− | #* Llegeix-te aquest [https:// | + | #* Llegeix-te aquest [https://github.com/ctrl-alt-d/FpUf/tree/main/DAW/DAW-MP07/DAW-MP07-UF3/php-acces-a-dades-amb-pdo exercici d'accés a dades amb PDO]. |
#*:Para atenció en com es fa el ''foreach'' enlloc del ''for'' habitual. | #*:Para atenció en com es fa el ''foreach'' enlloc del ''for'' habitual. | ||
#* Exercici: Utilitza la base de dades WORLD vista al primer tutorial. | #* Exercici: Utilitza la base de dades WORLD vista al primer tutorial. | ||
Línia 61: | Línia 66: | ||
== UF2 Programació de webs dinàmiques == | == UF2 Programació de webs dinàmiques == | ||
− | Prèviament hem après a programar ja en PHP i amb bases de dades, però hem aprés | + | Prèviament hem après a programar ja en PHP i amb bases de dades, però hem aprés de forma un tant anàrquica, i hem vist en el transcurs dels projectes que tendim a fer "codi espagueti" i acabem repetint moltes parts del mateix de forma recorrent. En aquesta UF aprendrem a programar de forma més ordenada i aprendrem una sèrie d'eines imprescindibles per desenvolupar de forma segura i metòdica: els '''''frameworks'''''. En particular utilitzarem [[Laravel]] que és el ''framework'' per a PHP més famós actualment (a principis de 2018). |
+ | |||
+ | Un framework es sol definir com: | ||
+ | - un conjunt d'eines i llibreries | ||
+ | - un conjunt de bones pràctiques per treballar amb aquestes eines | ||
Introducció i referències: | Introducció i referències: | ||
Línia 79: | Línia 88: | ||
I les seves diverses parts son: | I les seves diverses parts son: | ||
− | # Instal·lació | + | # Instal·lació i eines Composer: [[Laravel#Instal.C2.B7lació_i_setup]] |
− | # ... | + | # Vistes i Controladors |
+ | # Model i base de dades | ||
+ | # Autenticació i autorització (middleware) | ||
+ | |||
+ | Realitzarem totes aquestes passes primer amb el propi tutorial, i amb el projecte de la UF anterior (Vota2) de forma individual, per consolidar la comprensió de la mecànica del ''framework''. | ||
+ | |||
+ | Al final de la UF realitzarem un projecte en grups. Aquest any serà el [https://wiket.esteveterradas.cat/index.php/Projecte_Xat_-_Especificacions projecte Xat per a un Ajuntament]. | ||
+ | |||
+ | Els lliuraments finalment seran: | ||
+ | * Repositori del Github del tutorial (individual) | ||
+ | * Repositori del Github del projecte Vota2 (individual) | ||
+ | * Repositori del Github del projecte Xat (en grup) | ||
<br> | <br> |
Revisió de 09:10, 9 set 2022
#FpInfor #DawMp07 #DawMp07Uf01 #DawMp07Uf02 #DawMp07Uf03 #DawMp07Uf04
En aquesta assignatura treballarem bàsicament amb PHP, que actualment és el llenguatge més estès per a la programació web.
Recursos:
- Al cacauet.org disposeu del Curs de PHP
- Al repositori Github del que va ser el quadern d'exercicis del Daniel Herrera.
Contingut
UF1 Programació web entorn servidor[modifica]
Per configurar adequadament el Apache, reviseu Php.ini
Índex d'exercicis
Temes a tractar amb PHP:
- Execució servidor vs client
- Servidor web
- Tipus primitius de dades
- Arrays i arrays associatius (aka "diccionaris")
- Control de flux
- Funcions
- Objectes
- Arxius
- Formularis
- GET vs POST
- Cookies i PHP sessions
Exemples:
- Batalla naval en PHP (versions amb i sense sessions)
Exercicis entregables:
UF3 Accés a dades[modifica]
En aquesta UF estudiarem diversos mètodes d'accés a bases de dades, imprescindibles per poder realitzar pàgines web dinàmiques.
Índex UF3 al quadern d'exercicis:
https://github.com/ctrl-alt-d/FpUf/tree/main/DAW/DAW-MP07/DAW-MP07-UF3/tecniques-dacces-a-dades-metacontingut
Començarem, però, per alguns exemples clàssics:
- PHP MySQL select: accedirem a una base de dades de la manera més clàssica i menys eficient, amb instruccions específiques per a un SGBD concret (MySQL). Òbviament, això no és gaire òptim però està bé conèixer els mecanismes bàsics.
- PDO o PHP Data Objects
- Llegeix-te aquest exercici d'accés a dades amb PDO.
- Para atenció en com es fa el foreach enlloc del for habitual.
- Exercici: Utilitza la base de dades WORLD vista al primer tutorial.
- Fes un formulari amb un desplegable dels CONTINENTS.
- Llista els països amb un filtre per continent.
- Mostra la població de cada país i un total de tot el continent.
- Llegeix-te aquest exercici d'accés a dades amb PDO.
El projecte d'aquest any: Projecte VOTA!
UF2 Programació de webs dinàmiques[modifica]
Prèviament hem après a programar ja en PHP i amb bases de dades, però hem aprés de forma un tant anàrquica, i hem vist en el transcurs dels projectes que tendim a fer "codi espagueti" i acabem repetint moltes parts del mateix de forma recorrent. En aquesta UF aprendrem a programar de forma més ordenada i aprendrem una sèrie d'eines imprescindibles per desenvolupar de forma segura i metòdica: els frameworks. En particular utilitzarem Laravel que és el framework per a PHP més famós actualment (a principis de 2018).
Un framework es sol definir com: - un conjunt d'eines i llibreries - un conjunt de bones pràctiques per treballar amb aquestes eines
Introducció i referències:
- Desenvolupament d'aplicacions web amb frameworks una mica de teoria.
- Laravel: instal·lació i primeres passes
- Apunts del Sergi Coll: https://seicoll.github.io/DAW-M07-UF2-Apunts/
- Tutorial de referència: https://ajgallego.gitbooks.io/laravel-5/content/index.html
- Xuleta de referència ràpida per a projectes amb Laravel
Una de les característiques més incòmodes dels frameworks és que tenen una certa "corba d'aprenentatge", és a dir, que al principi costa una mica ficar-se. Un cop superat el segon projecte, tot resulta més fàcil i comprensible, i ajuda a programar amb ordre i de forma estandarditzada.
Farem servir el tutorial de AJ Gallego per a endinsar-nos en el món de Laravel. Com que té la seva complicació i costa retenir cada pas que fem, dividirem el tutorial en diverses parts i repetirem el procediment realitzat en un altre projecte. Per senzillesa repetirem el projecte de la UF anterior però implementat ara amb el framework, cosa que ens permetrà comparar el codi resultant dels dos projectes.
El tutorial és aquest:
https://ajgallego.gitbooks.io/laravel-5/content/index.html
Com que algunes parts han quedat obsoletes, utilitza la documentació de cacauet.org sobre Laravel per solventar els problemes.
I les seves diverses parts son:
- Instal·lació i eines Composer: Laravel#Instal.C2.B7lació_i_setup
- Vistes i Controladors
- Model i base de dades
- Autenticació i autorització (middleware)
Realitzarem totes aquestes passes primer amb el propi tutorial, i amb el projecte de la UF anterior (Vota2) de forma individual, per consolidar la comprensió de la mecànica del framework.
Al final de la UF realitzarem un projecte en grups. Aquest any serà el projecte Xat per a un Ajuntament.
Els lliuraments finalment seran:
- Repositori del Github del tutorial (individual)
- Repositori del Github del projecte Vota2 (individual)
- Repositori del Github del projecte Xat (en grup)
UF4 Serveis web[modifica]
Els serveis web, simplificant, és una manera de realitzar crides a funcions remotes mitjançant el protocol HTTP. És la forma més còmoda per al programador web d'anar a buscar dades a un servidor, ja sigui des d'un altre servidor o des d'un client.
Al tractar-se, com hem dit, de "crides a funcions remotes", solem anomenar-los API : Application Programming Interface.
Articles de referència:
- Serveis Web
- Serveis web amb Laravel
- Pràctica entregable: Serveis Web amb Opendata
- Material addicional en Python: Web Services: exemple Escacs
- REST i CURL del tutorial de Laravel de AJ Gallego