Webs al punt 2019. Participants de Ins Baix Camp

Aquest any desde els cicles de DAM i DAW hem presentat webs i aplicacions mobils vinculades als moduls que estavem realitzant al centre. Tot i que l’elecció de la temàtica a set lliure com a tutors hem marcat uns requeriments relacionats amb les activitats que realitzem al centre.

Categoria CFGS

Dins de la categoria de CFGS de DAW hem presentat dos projectes. Els projectes que hem desenvolupat son aplicacions web que utilitzen APIs de tercers per generar un contingut de valor pel que poguem oferir un servei. El front-end està desenvolupat amb PHP + MySQL + Laravel i els agents o robots que s’encarregen de llegir de les APIs o crawlejar les fonts d’informació estan fets en PHP o Python segons els gustos dels alumnes.

Instatop

Aquesta web http://www.instatop.cat oferreix un servei per ponderar la rellevancia dels perfils de la xarxa social d’Instagram. L’aplicació afaga com inspiració a les webs Socialblade, Phlanx i l’app GamGage.

AppScout

Categoria Apps

En la categoria d’aplicacions mòbils hem presentat cinc propostes amb un requeriments ficsats per l’assignatura M7 Desenvolupament d’interfícies. Totes les apps han de consumir les dades d’una API externa, seran desenvolupades amb Android i utilitzaran Firebase per gestinar Analytics de l’aplicació.

Cats and Chests

Aquest joc casual és un col·leccionable de cromos de gats. Seguint la tendencia actual de programadors indi que desenvolupent jocs en directe a travers de Twitch. S’han inspirat amb el youtuber Guinxu i la seva proposta de “1 cat a day”.

Aposta per una mecanica simple i elegant pels aficionats als col·leccionables.

Find the word

asdf

My anime center

asdf

Apptivitats

asdf

Pokedata

asdf

Picus

Aquesta aplicació de fons de pantalla per a Android amb els personatges del teu videojoc preferit, Brawl Stars!

Aquesta aplicació a aconseguit ser viral, arribant a les 10,000 instalacions en un mes i actualment supera les 4000 instalacions al dia

Brawl Stars Wallpaper

Webs al punt: Premis 2017

Dos projectes de l’Institut Baix Camp de Reus han resultat guanyadors de les diverses categories del concurs Websalpunt.cat, que es basa en l’elaboració de llocs web per alumnes d’ESO, Batxillerat i Cicles Formatius. El nostre centre a aconseguit: el Premi de Batxillerat ha estat per l’Enric Masdeu i el Pau Miró, com a col·laborador, per la web delsbitsalsatoms.cat. En aquesta pàgina web és desenvolupa el treball de recerca de Batxillerat amb la fabricació d’una mà passiva i un braç robotitzat a partir de la impressió en 3D i Arduino.

L’altre premi, en la categoria Cicles Formatius de Grau Superior, ha estat pel projectehelix.cat, realitzat pel Sergio Aragón, amb col·laboració de l’Andrés Viñas i el Josep Lluís Figueras. Projecte Helix és un mini-joc de plataformes 3D amb HTML5, i ha estat programat amb Unity3D i C#. He tingut la sort de tutoritzar aquests projectes i tots els alumnes de CFGS, i el lliurament de premis serà el proper 26 de maig a Barcelona.

He tingut la sort de tutoritzar els 15 grups i 47 alumnes de Cicles Formatius de Grau Superior que s’han presentat projectes interesants.

Com treballar amb PHP i PDO

PHP i PDO

L’ús de PDO és la millor forma de treballar amb les nostres bases de dades PHP, és a dir, fer consultes per recuperar dades, inserir dades, esborrar-les…

PDO significa exactament “PHP Data Objects”, com veurem més endavant, es fa ús de la programació orientada a objectes per a PHP. El requeriment que tenim és que necesitem una versió superior o igual a la 5.1, però com crec lògic nosaltres utilitzarem una versió 7.0 o superior.

Historicament PHP ha tingut tres llibreries per connectar-se a MySQL: Mysql, Mysqli i PDO. Afortunadament a la nova versió 7.0 desapareix el connector mysql, un canvi que ens farà millorar la qualitat del nostre codi, ja que fa més de 10 anys que existeix el connector PDO. Si voleu veure les modificacions de PHP de la versió 5.6 a 7.0 http://php.net/manual/en/migration70.php

Per què PDO?

Aquesta és una pregunta comuna i crec que de senzilla resposta: TOT. M’explico, a través d’PDO pots gestionar 12 tipus diferents de bases de dades (Oracle, MySQL, SQLite, etc …), pots utilitzar consultes preparades amb etiquetes (ja veurem el final de l’article) i pots usar “Prepared statements”. Però el més important és la SEGURETAT que guanyes fent servir aquest “mètode”, en usar aquestes sentències preparades, que no són molt diferents al que s’aconsegueix a través de MySQL, usant mysql_real_escape_string ();.

No obstant això, com se sol dir, no tot són flors i violes, el rendiment és un 2,5% inferior a l’aconseguit a través d’MySQL, una cosa realment insignificant, però provem de ser objectiu i tot ha de ser dit.

 

Connectar-se a la base de dades

Per això, el primer serà crear la base de dades MySQL al servidor, jo he creat una base de dades anomenada “tutorialPDO” i he creat una taula que es digui “Usuaris”  amb dues columnes, un “Id” de tipus Int, 10 de longitud, clau primària i auto-va incrementar; la segona columna “Nom”, un VARCHAR de longitud 10:
Insertarem dos registres, amb els noms de Juan i Jordi.

Ara passem al que de veritat és objecte d’aquest tutorial, programar amb PHP:
Anem a veure com es fa una connexió a una base de dades amb MySQL normal (pre-historia):

Això és molt senzill de recordar, però amb PDO es fa d’una altra manera, que potser sembli una mica més complicat al principi però al cap ia la fi igual d’intuïtiva i igual que ho fem amb JAVA i JDBC:

Encara que sembli estrany realment és molt senzill: hem creat amb el “new” una instància de classe PDO (el que ens permetrà utilitzar diverses alhora), definim el tipus de base de dades amb “mysql:”, el servidor “localhost” ( en aquest cas), el nom de la base de dades “dbname = tutorialPDO”, i després usant variables (es pot fer sense), l’usuari i la contrasenya del servidor de base de dades.

Com pot haver-hi errors i hem de controlar-mitjançant l’ús de try … catch (…) {} de la següent manera:

D’aquesta manera es connecta a la base de dades i en cas que no pugui treu l’error amb una excepció., també podem fer la funció OR DIE de la sintaxi habitual de PHP i MySQL.

 

Consultes

D’aquesta és la forma en la qual no tindrem interacció amb la base de dades, només s’executarà la query i els possibles valors de retorn seran CERT o FALS, per identificar l’estat de l’execució de la query:

 

Ara realitzarem una consulta sobre la base de dades per retornar el Id de l’usuari Juan.

Aquest codi és un compendi de la majoria de funcionalitats de PDO.

Tenim un Prepared Statment amb etiquetes, que millora la llegivilitat respecte als interrogants.

El procés de bindParam el podem fer a traves d’un array indicant les parelles clau valor amb etiquetes i variables. També el podem fer etiqueta per etiqueta o amb ?.

Bolquem tot el resultat de la consulta en una variable amb el fetchAll(). També podem recuperar fila a fila amb l’instrucció fetch()