Professional Documents
Culture Documents
Aplicacions web
CFGM.SMX.M08/0.15
Generalitat de Catalunya
Departament d’Ensenyament
Aquesta col·lecció ha estat dissenyada i coordinada des de l’Institut Obert de Catalunya.
Coordinació de continguts
Redacció de continguts
Llicenciat Creative Commons BY-NC-SA. (Reconeixement-No comercial-Compartir amb la mateixa llicència 3.0 Espanya).
http://creativecommons.org/licenses/by-nc-sa/3.0/es/legalcode.ca
CFGM - Sistemes microinformàtics i xarxes 5 Aplicacions web
Introducció
Resultats d’aprenentatge
Gestors de continguts
2. Utilitza les etiquetes amb els seus atributs seguint la sintaxi correcta definida
per l’estàndard.
6. Utilitza i coneix els estils amb els seus atributs seguint la sintaxi correcta
definida per l’estàndard.
Continguts
Unitat 1
Ofimàtica i eines web
2. Ofimàtica web
Unitat 2
Fonaments d’(X)HTML
2. Etiquetes i atributs
Unitat 3
Fulls d’estil
2. Regles CSS
Unitat 4
Gestors d’arxius web
Unitat 5
Gestors de continguts
Unitat 6
Portals web d’aprenentatge
Aplicacions Web
Aplicacions Web Ofimàtica i eines web
Índex
Presentació 5
Resultats d’aprenentatge 7
1 Aplicacions web 9
1.1 La web 2.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.1.1 Tecnologia de les aplicacions web . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.1.2 Impacte social de les aplicacions web . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.1.3 Treball col·laboratiu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.1.4 Wiki: exemple d’aplicació web col·laborativa . . . . . . . . . . . . . . . . . . . . . . 20
1.2 Correu web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
1.2.1 Característiques del correu web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
1.2.2 Els clients de correu electrònic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
1.3 Calendaris en línia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
1.3.1 Característiques del Google Calendar . . . . . . . . . . . . . . . . . . . . . . . . . . 48
1.3.2 Altres calendaris en línia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
2 Ofimàtica web 61
2.1 Introducció a les aplicacions d’ofimàtica web . . . . . . . . . . . . . . . . . . . . . . . . . . 61
2.1.1 Característiques dels paquets ofimàtics web . . . . . . . . . . . . . . . . . . . . . . . 62
2.2 Aplicació ofimàtica web: Google Drive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
2.2.1 Accés a Google Drive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
2.3 Ús de Documents de Google Drive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
2.3.1 Creació i gestió de documents de text . . . . . . . . . . . . . . . . . . . . . . . . . . 69
2.3.2 Creació i gestió de fulls de càlcul . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
2.3.3 Creació i gestió de presentacions multimèdia . . . . . . . . . . . . . . . . . . . . . . 72
2.3.4 Creació i gestió de formularis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
2.3.5 Connectar noves aplicacions al Google Drive . . . . . . . . . . . . . . . . . . . . . . 78
2.3.6 Treball col·laboratiu amb Google Drive . . . . . . . . . . . . . . . . . . . . . . . . . 80
Aplicacions Web 5 Ofimàtica i eines web
Presentació
Es coneix per aplicacions web aquelles aplicacions que es poden utilitzar accedint
a un servidor web mitjançant un navegador. El servidor web normalment està
allotjat a Internet, però també podem trobar aplicacions web instal·lades a la
intranet d’una organització.
Aquesta unitat formativa se centrarà a conèixer i estudiar el món de la Web 2.0, ple
de noves sigles i termes i en l’ús i configuració d’aplicacions web com el correu
electrònic, els calendaris en línia i els paquets ofimàtics.
Per treballar els continguts d’aquesta unitat formativa cal fer les activitats i els
exercicis d’autoavaluació. És convenient que repasseu assíduament les introduc-
cions de cada apartat per anar assimilant una gran quantitat nova de vocabulari i
aplicacions relacionades amb la Web 2.0.
Aplicacions Web 7 Ofimàtica i eines web
Resultats d’aprenentatge
1. Aplicacions web
Els progressos tecnològics han influït en gran mesura en l’estil de vida, de treball
i d’oci comportant que l’ús de dispositius informàtics intel·ligents vagi camí
d’esdevenir una constant ja que ens permeten connectar-nos a Internet en qualsevol
moment i lloc i accedir a un ampli ventall d’aplicacions web que ens faciliten
accions que podem realitzar en la nostra vida diària, des de consultar el trànsit en
directe, passant per reservar taula en un restaurant fins a buscar un pis turístic on
passar-hi un cap de setmana de vacances.
Sens dubte, un dels avantatges d’aquesta tecnologització del nostre dia a dia
ha estat la immediatesa de la informació. Els portals de noticies recullen
esdeveniments que succeeixen al llarg del dia, modificant els continguts a mesura
que aquests esdeveniments es desenvolupen i donant l’oportunitat als usuaris
que hi accedeixen d’interactuar-hi, ja sigui valorant positivament o negativament
l’interès de la notícia o plasmant-hi un comentari al respecte des del seu ordinador
Les apps (aplicacions
o dispositiu mòbil. mòbils) són programes que
s’instal·len en un dispositiu
mòbil i que es poden
Arribats a aquest punt, és important destacar que, si bé temps enrere les con- integrar a les
característiques tècniques
nexions des de dispositius mòbils a pàgines o aplicacions web no eren gaire del dispositiu. Proporcionen
rellevants, l’eclosió dels smartphones i tablets ha comportat que les connexions accés instantani a un
contingut específic sense
des d’aquests dispositius creixessin notablement respecte de les realitzades a través haver de buscar-lo a
Internet. A més, es poden
de l’ordinador. Val a dir, a més, que la utilització d’aquests dispositius mòbils actualitzar per afegir noves
característiques amb el pas
també es caracteritza perquè l’accés a pàgines i aplicacions web no es realitza del temps.
popularitat. En tenim prou amb escriure l’adreça URL de la pàgina web a la barra
de navegació sense necessitat de descarregar cap paquet de programari. Les xarxes
socials i les aplicacions de missatgeria instantània i de correu electrònic s’han
consolidat com les aplicacions web més sol·licitades pels usuaris d’smartphones
i tablets. A tot això, les aplicacions dedicades a la salut, així com aquelles de
temàtica esportiva o les educatives, presenten una gran penetració en determinats
col·lectius.
• Són fàcils d’utilitzar, ja que solament es necessita saber navegar per Internet
i disposar d’un correu electrònic per utilitzar-lo com a usuari i rebre les
notificacions.
• Es produeixen menys errors ja que les aplicacions web tenen menys pos-
sibilitats de penjar-se i crear problemes tècnics en no haver-hi cap mena
d’implicació en relació amb el maquinari o al sistema operatiu que utilitzi
el client.
Les aplicacions web són, en definitiva, un dels pilars del que s’anomena web
2.0, això és, aquells llocs web que faciliten la compartició d’informació, la
interoperabilitat, el disseny centrat en l’usuari i la col·laboració. En resum,
l’evolució de les aplicacions estàtiques a dinàmiques on la col·laboració de l’usuari
és essencial.
Mentre que l’anomenat Web 1.0 era un conjunt de pàgines escrites en llenguatge
HTML que oferien informació estàtica als seus visitants, el salt al web 2.0 buscava
potenciar el dinamisme i la interoperabilitat, centrant el disseny en l’usuari i
Aplicacions Web 11 Ofimàtica i eines web
El concepte web 2.0 està basat en la concepció de la xarxa d’Internet com una
plataforma que fomenta i potencia la comunicació entre persones i comunitats
(many to many, ‘de molts a molts’, enfront del one to one, ‘d’un a un’, del Web
1.0). La web 2.0 és un beta continu, i això queda demostrat pel seu principal
representant, les aplicacions web, ja que els continguts i les necessitats dels usuaris
obliguen a adaptar-les constantment.
Per exemple, el que inicialment havia de ser un portal per compartir fotos, va
passar a ser en un segon moment un portal de fotos amb un ventall de filtres per
aplicar a les imatges, per derivar posteriorment en un portal de fotos que es podien
comentar i classificar mitjançant hashtags i que permetia també penjar vídeos de
curta durada; finalment va ser adquirit per una altra xarxa social com és Facebook.
Aquesta xarxa social de fotos que va anar evolucionant a partir de la interacció i
les necessitats que manifestaven els seus usuaris és Instagram.
Val a dir que el cas d’Instagram és molt adequat per exposar les diferències que
hi ha entre les aplicacions web i les aplicacions natives per dispositius mòbils
(apps) ja que, inicialment, Instagram es va plantejar i va sortir com una app i,
posteriorment se’n va llençar l’aplicació web. De fet, qualsevol que s’hi vulgui
registrar per pujar les seves fotos i veure les de la resta de usuaris, s’ha de
descarregar i instal·lar prèviament la seva app. Una aplicació per a
dispositius mòbils es manté
en el telèfon i en la tauleta
Arribats a aquest punt cal remarcar la diferència entre els llocs web per dispositius de l’usuari i és, per tant,
idònia per la seva utilització
mòbils (aplicacions web) i les aplicacions per dispositius mòbils (apps). En cap freqüent i repetida. En
conseqüència, respon a una
dels dos casos no influeix quin sigui el sistema operatiu amb el qual funcionen necessitat específica.
F igu r a 1. 1 . Accés a Twitter mitjançant un navegador web (esquerra) i a través de la seva app nativa
Android
Tot i que se l’acostuma a reconèixer com a tal, Android no és un producte creat per Google.
Originàriament el desenvolupava una empresa de Palo Alto (Califòrnia) creada l’any 2003,
que realitzava programari per telèfons mòbils i que fou adquirida per Google l’any 2005.
L’any 2007, Google va anunciar el llançament oficial del sistema operatiu Android i va
aprofitar per arribar a acords amb fabricants de telèfons mòbils per crear el primer dispositiu
Android de la història, que va sortir al mercat a finals de 2008. Era el G1 de T-Mobile, un
model del fabricant HTC que funcionava amb la versió 1.6 (Donut).
Si bé tant per accedir als llocs web per dispositius mòbils (aplicacions web) com
a les aplicacions per dispositius mòbils (apps) es requereix d’accés a Internet per
poder-hi accedir, en el cas de les aplicacions natives per a dispositius mòbils s’ha
de disposar d’accés a Internet per descarregar-les de les botigues d’aplicacions
i instal·lar-les en el dispositiu mòbil. De fet, les aplicacions natives han d’estar
instal·lades al dispositiu, i per les actualitzacions que se’n publiquin sovint l’usuari
ha d’autoritzar la descàrrega des de la botiga corresponent (Apple Store, Google
Play, Windows Store...). En canvi, qualsevol actualització en una aplicació web
s’acostuma a dur a terme sense que els usuaris en siguin conscients. Això és a
causa que, en les aplicacions web, les actualitzacions es realitzen directament en
el servidor, de manera que l’usuari no ha de descarregar-se cap actualització més
enllà de les pròpies del navegador web que acostumi a utilitzar.
Val a dir que, malgrat que tots els dispositius mòbils acostumen a incloure un
navegador web de sèrie (o de fàbrica) preparat per navegar per Internet, comptem
amb una àmplia gamma de navegadors web que podem descarregar i instal·lar,
amb millors complements, dissenyats per potenciar la rapidesa de cerca, millorar
l’experiència d’ús de l’usuari mòbil i adaptar de la millor manera possible l’ús a
les pantalles tàctils.
Aplicacions Web 13 Ofimàtica i eines web
L’arquitectura bàsica d’una aplicació web està formada pels següents elements:
El disseny web responsive reestructura els elements de la web en la pantalla del dispositiu
per optimitzar tot l’espai disponible i oferir la millor experiència d’usuari. Per aconseguir-ho
s’estableixen unes mesures d’amplada i marges de disseny en grandàries proporcionals,
en lloc d’establir valors fixes en els píxels.
Un disseny web adaptatiu no és tan flexible com el responsive ja que utilitza grandàries
preestablertes per l’ordinador i pels dispositius mòbils.
Cal destacar, per últim, que l’augment de l’accés a Internet mitjançant els
dispositius mòbils ve donat, en gran part, perquè són moltes les persones que
utilitzen aquests dispositius per connectar-se a les xarxes socials, unes aplicacions
web que els permeten estar en contacte amb els seus amics, fer-ne de nous,
compartir continguts i crear comunitats sobre interessos similars (treball, lectures,
jocs, amistat, relacions amoroses...).
Aplicacions Web 14 Ofimàtica i eines web
De fet, l’ampli volum d’aplicacions web que han sorgit en els últims anys ha
motivat el disseny i publicació d’una infografia anomenada “El prisma de les
converses” (The Conversation Prism) (vegeu la figura 1.2).
Aquesta infografia reuneix totes les xarxes socials classificades segons la seva
orientació i la seva utilitat. Creat originalment el 2008, el Conversation Prism
divideix les eines online en categories per presentar d’una forma senzilla i intuïtiva
el mapa d’un món cada cop més complex. Segons el seu autor, l’antropòleg i
analista digital Brian Solis, aquest prisma vol ser una ajuda a professionals de tots
els sectors per prendre consciència de la vastitud de la xarxa i planificar estratègies
de social media més eficaces.
Tot i la varietat de formes i continguts, podem dir que allò que tenen en comú les
xarxes socials és que es tracta d’aplicacions en línia que permeten als usuaris, de
forma descentralitzada, crear un perfil públic, compartir i intercanviar informació
Aplicacions Web 15 Ofimàtica i eines web
o característiques específiques.
Les xarxes de tipus generalista van dirigides a la població en general, que busca
relacionar-se, intercanviar informació i estar en contacte amb d’altres usuaris
registrats. Dins d’aquesta tipologia de xarxa social podríem citar xarxes socials
com, per exemple, Facebook, Twitter, Instagram o LinkedIn.
Per un altre costat trobaríem les xarxes específiques, que són aquelles que estan
definides en funció d’uns determinats objectius (per exemple, professionals o
acadèmics) condicionant, en conseqüència, les relacions entre els usuaris. Per
exemple, podríem trobar des de xarxes per a usuaris als qui agradi viatjar fins a
xarxes socials de pares i mares que vulguin parlar sobre els seus fills.
Motors de cerca
El funcionament d’un motor de cerca es pot resumir en dos passos, rastreig i indexació.
Des del punt de vista del rastreig, un motor de cerca recorre les webs recollint dades sobre
aquestes pàgines web, sobre els enllaços a altres pàgines de continguts i sobre aquestes
pàgines enllaçades. Des del punt de vista de la indexació, un cop que una pàgina web ha
estat rastrejada i se n’ha recopilat la informació necessària, aquestes pàgines s’inclouen
en un índex on s’endrecen segons el seu contingut, la seva autoritat i la seva rellevància.
En conseqüència, quan fem una consulta al motor de cerca li resultarà molt més senzill
mostrar-nos els resultats més relacionats amb la nostra consulta.
Apostar pel màrqueting de continguts suposa obrir una porta a un nou tipus de
relació amb l’usuari. Tota empresa que vol créixer té per objectiu atraure el
màxim trànsit al seu web. Per aconseguir-ho, disposa de les xarxes socials per
proporcionar proximitat i detectar quins perfils de consumidors adquireixen els
seus productes i quins perfils hi podrien estar interessats.
Val a dir que una bona estratègia de màrqueting sol aportar beneficis a mitjà
i llarg termini” però requereix un important volum de feina diària i paciència.
Ara bé, per tal que una empresa aconsegueixi arribar a transmetre una imatge
de proximitat als seus clients potencials haurà d’oferir-los, lògicament, un major
volum d’informació de qualitat sobre els seus productes i serveis. En aquests casos,
el mitjà bàsic per aconseguir-ho serà el blog.
Un blog vindria ser un diari o una bitàcola que té per voluntat i objectiu atraure
l’atenció de lectors de tot arreu. Dins l’àmbit de l’empresa, el blog actua com
aparador per comunicar i donar a conèixer a una audiència general novetats de tot
tipus, des de notícies fins a missatges institucionals (vegeu la figura 1.3).
Aplicacions Web 17 Ofimàtica i eines web
Per tant, els continguts del blogs s’han d’adaptar i difondre en les diferents
xarxes socials de més impacte. És per aquest motiu que han sorgit aplicacions
que permeten gestionar diferents xarxes socials alhora des d’un mateix tauler
de control com, per exemple, Hootsuite (figura 1.5) o Tweetdeck. Aquestes
Aplicacions Web 18 Ofimàtica i eines web
Des d’un únic tauler de control, l’usuari pot afegir perfils de xarxes socials; així,
és possible gestionar simultàniament Twitter, Google+, Facebook, LinkedIn o
Wordpress, ubicant-les dins del tauler en forma de columnes amb els continguts
que es vulgui controlar de cadascun dels perfils (retuits, mencions, llistes, el
mur...).
Moltes de les eines que formen part del que s’anomena cloud computing (eines al
núvol) faciliten tant la compartició com la sincronització de la informació que ges-
tionem en diferents dispositius per tal de permetre’ns treballar col·laborativament.
Aplicacions Web 19 Ofimàtica i eines web
El núvol és una metàfora utilitzada per fer referència a serveis que s’utilitzen a través
de Internet. El concepte de núvol ve de l’anglès cloud computing, el nom que s’atorga
al processament i a l’emmagatzematge massiu de dades en servidors que allotgen la
informació de l’usuari. Aquest paradigma es fonamenta en l’accés instantani i en tot
moment a les dades, independentment de la nostra situació geogràfica i dels dispositius
utilitzats.
Office, és a dir que podrem editar qualsevol arxiu que ens enviïn al correu
electrònic de Google.
Per tant, per aquelles persones que necessitin una eina de treball col·laboratiu per
elaborar documentació amb un format senzill de crear i editar, que puguin ser
revisats i actualitzats amb freqüència i facilitat i, alhora, entre diversos usuaris
simultàniament (o no), l’eina més adient són les wikis.
Si volguéssim implementar Les wikis tant poden ser des de pàgines personals fins a comunitats en creixement.
una wiki per a ús personal,
que no hagués de contenir Per exemple, una wiki es pot plantejar per documentar els nostres objectius a curt
un gran nombre de pàgines
i/o usuaris, podríem optar i llarg termini, per ajudar en el disseny d’un producte, per realitzar un treball en
pel programari DokuWiki.
grup o per crear un espai de discussió relacionat amb una afició de diversos (o
molts) usuaris.
Aplicacions Web 21 Ofimàtica i eines web
Quan un usuari edita una pàgina per afegir-hi, per exemple, nous continguts
o imatges, MediaWiki ho escriu en la seva base de dades però sense esborrar
les versions anteriors de la pàgina permetent, en conseqüència, que es puguin
revertir els canvis fàcilment. Això garanteix que sempre es pugui controlar que la
informació afegida sigui correcta o d’acord amb els continguts, i corregir-la amb
rapidesa sense perjudicar els continguts de la pàgina.
Tot seguit, introduirem l’adreça web del nostre directori en la barra de navegació
del nostre navegador web. Com que treballem a nivell local (sobre la pròpia
màquina), haurem de posar “localhost”, sent l’adreça resultant http://localhost/
wiki-ioc.
Per tant, davant d’aquest error amb la base de dades del qual ens informa
MediaWiki, haurem de corregir-lo treballant directament dins del gestor de bases
de dades del servidor XAMPP. Per fer-ho, tant podem accedir des del tauler de
control del servidor XAMPP (vegeu la figura 1.11) com mitjançant el navegador
web, adreçant-nos a http://localhost/phpmyadmin.
F igu r a 1. 1 1 . Accés a l’administració del gestor de bases de dades del servidor XAMPP
Un cop dins del gestor de bases de dades del servidor XAMPP, ens trobarem que
la base de dades amb la qual treballarà el programari MediaWiki s’ha de crear
(vegeu la figura 1.12).
Un cop creada la base de dades, haurem de clicar sobre l’enllaç Comprova els
permisos de la base de dades que acabem de crear ja que és recomanable modificar
la contrasenya de l’usuari “root” amb el qual es realitzaran tasques d’administració
dins del programari MediaWiki (vegeu la figura 1.13).
Quan haguem realitzat els canvis en la base de dades amb la qual treballarà el
programari MediWiki, ja podrem reprendre el procés de configuració de la nostra
wiki i actualitzar els valors que en l’anterior ocasió ens havien donat problemes
(nom de la base de dades i contrasenya de l’usuari “root”). Si tot està ben escrit, el
missatge d’error ja no apareixerà i podrem continuar amb el procés de configuració
de la wiki.
Arribats a aquest punt haurem de definir el nostre usuari per a MediaWiki amb el
qual podrem fer el log in i accedir a crear noves pàgines, o bé a moderar-les (vegeu
la figura 1.14).
Aplicacions Web 26 Ofimàtica i eines web
Un cop dins, ja podrem començar a treballar amb la wiki creant una nova pàgina.
Si introduïm una paraula en el cercador, aquest ens retornarà que no l’ha trobat i
ens oferirà que la creem (vegeu la figura 1.16).
Com en tota wiki, un cop creada la pàgina, aquesta podrà ser modificada de forma
col·lectiva (per tots aquells usuaris registrats a la wiki que ho desitgin).
Inicialment, els programes que permetien utilitzar correu electrònic s’havien d’ins-
tal·lar localment a cada màquina dels diferents usuaris. És el cas dels programes
Microsoft Outlook o Mozilla ThunderBird. Aquests aplicatius necessiten una
instal·lació i una configuració especial per baixar el correu electrònic des del
servidor de correu a l’ordinador local. Aquesta és la gran diferència entre el correu
electrònic tradicional i el correu web.
Es coneix per correu web els serveis de correu electrònic que tenen com a
plataforma principal un espai web.
L’ús massiu d’Internet i la tendència general a utilitzar, cada vegada més, aplica-
cions web, fa que els serveis de correu electrònic web estiguin en auge. A més de
l’inherent avantatge de poder consultar el correu en qualsevol lloc on tinguem una
connexió a Internet i un dispositiu amb un navegador, els serveis actuals de correu
web acostumen a tenir les característiques següents:
• Són gratuïts. Per això en alguns casos tenen publicitat o enllaços a pàgines
patrocinades.
Existeixen nombroses companyies que ofereixen serveis de correu web gratuït per
als seus usuaris. Algunes de les més conegudes són:
Aplicacions Web 29 Ofimàtica i eines web
• Yahoo, que ofereix Yahoo Mail. Per accedir als seus serveis cal anar a
http://es.mail.yahoo.com. Logo de Yahoo Mail
Arribats a aquest punt, cal destacar que, tot i haver-hi diversos proveïdors de correu
web, ens centrarem en Gmail que és el més utilitzat en l’actualitat i que permet
compatibilitzar l’usuari amb altres serveis web que proporciona Google que poden
resultar d’interès i utilitat als usuaris.
Des del punt de vista de les principals característiques que diferencien el correu
electrònic de Google, Gmail, de la resta de serveis de correu electrònic podem
destacar, per exemple, l’espai d’emmagatzematge que ofereix. Actualment, Gmail
ofereix un mínim de 25 GB d’espai d’emmagatzematge. Per altra banda, amb la
intenció d’agilitzar la cerca dins de la safata d’entrada, integra una barra de cerca
per paraules clau tant en l’assumpte com en el contingut del correus electrònics.
Gmail és, a més, la porta d’accés a un conjunt d’eines desenvolupades per Google
com són, per exemple, un xat que està integrat i accessible des de la safata com un
servei de videotrucades (Hangouts). A més, també ofereix la possibilitat d’accedir
al Drive o al servei Google Docs que permet crear documents i treballar-hi de
forma col·lectiva amb altres usuaris de Google.
Per últim, és important destacar que la integració amb els dispositius mòbils va
marcar una important innovació a Gmail ja que les apps específiques que es van
llançar per a telèfons intel·ligents (smartphones) i tauletes (tablets) es van convertir
en una important extensió del correu electrònic en la seva versió per escriptori.
Aplicacions Web 30 Ofimàtica i eines web
Per començar a utilitzar el correu web de Gmail hem d’anar a la pàgina d’inici
http://www.gmail.com, escriure un identificador de compte a la casella Nom
d’usuari i la Contrasenya corresponent, i clicar el botó Inicieu la sessió (vegeu
figura 1.17).
Abans de passar a definir cadascuna de les zones de la interfície web del correu
electrònic de Google, és important destacar la possibilitat que ens ofereix de
gestionar i classificar els correus electrònics que anem rebent en base a cinc
categories predefinides (Principal, Social, Promocions, Notificacions i Fòrums)
entre les quals, tal com es mostra a la figura 1.19, podem seleccionar quines
volem que es mostrin en la nostra safata d’entrada de correu electrònic (quan es
crea un correu electrònic de Gmail apareixen definides, inicialment, les categories
Principal, Social i Promocions). Per exemple, si arrosseguem un correu electrònic
de promoció d’una cadena de menjar congelat a la categoria Promocions, els futurs
correus electrònics que rebem d’aquest mateix remitent entrarà automàticament
dins d’aquesta categoria.
tindrem una safata d’entrada ben organitzada perquè les cerques siguin ràpides i
senzilles.
Les etiquetes a Gmail s’utilitzen per classificar els missatges i, per tant, agrupar els
que tenen una temàtica, un destinatari o un remitent comú. Afegir una etiqueta,
tant des d’un dispositiu mòbil com des del client web, és quelcom molt senzill,
principalment, pels missatges que hi ha en la nostra safata d’entrada.
Per començar a definir quines etiquetes predefinides volem tenir disponibles per
assignar, o bé, definir-ne de noves, haurem d’adreçar-nos a l’apartat Configuració
en la nostra safata d’entrada i, un cop dins, ens adreçarem a la pestanya Etiquetes.
En el nostre cas, crearem l’etiqueta IOC per assignar-la a tots aquells correus
electrònics que hi estiguin relacionats (vegeu la figura 1.21).
Un cop creada la nova etiqueta IOC, ja podem assignar als correus electrònics
aquesta etiqueta que acabem de crear (se’n pot assignar més d’una). A més, tal
com mostra la figura 1.22, totes les etiquetes que anem creant, apareixeran en la
banda lateral esquerra de la safata d’entrada perquè, en el cas que hi cliquem, ens
apareguin tots els missatges que tinguin assignada aquesta etiqueta.
A més, també podem assignar colors a les diferents etiquetes (vegeu la figura
1.23) per, així, poder gestionar els nostres correus electrònics fàcilment disposant
Aplicacions Web 34 Ofimàtica i eines web
d’una safata d’entrada estructurada per etiquetes amb una cerca fàcil i senzilla per
l’organització dels correus electrònics.
També podem crear un ventall de filtres perquè els diferents correus electrònics
que ens arribin s’organitzin i etiquetin automàticament en funció de l’origen del
missatge, per a qui és, l’assumpte, les paraules que conté, etc. Per crear aquests
filtres haurem d’adreçar-nos a la Configuració del correu electrònic de Google i,
un cop dins, ens adreçarem a l’apartat Filtres. A l’hora de crear un filtre (vegeu
la figura 1.25), triarem una o diverses opcions segons el que vulguem filtrar. Un
exemple de filtre útil és fer-ne un per als correus electrònics que vinguin de xarxes
socials com ara Facebook o Twitter.
Aplicacions Web 35 Ofimàtica i eines web
Un cop definit els filtres, quan arribi un correu electrònic que compleixi amb
algun dels paràmetres que hi haguem definit, quedarà marcat seguint les premisses
indicades (vegeu la figura 1.26).
Un cop haguem definit de quin compte volem rebre els correus electrònics, haurem
de clicar a Afegir compte i es completarà el desviament del correu electrònic al
nostre compte de correu electrònic de Google.
Cal destacar, per últim, que aquesta funció també es pot utilitzar amb qualsevol
altra adreça de correu electrònic, ja sigui de Gmail o no. Si disposem de diverses
adreces de correu electrònic, aquesta és l’opció més ràpida i còmode per consultar-
les totes des d’una única safata d’entrada.
Els contactes són les adreces de correu electrònic dels nostres coneguts. Última-
ment, les funcionalitats dels contactes són tan completes (no només a Gmail, sinó
també a Yahoo! o Hotmail, per exemple), que funcionen com la millor de les
agendes.
F ig ur a 1. 29 . Accés a contactes
L’agenda de contactes de Google és utilitzada per molta gent, des dels usuaris
del correu electrònic de Gmail fins aquells que tenen un dispositiu mòbil amb
el sistema operatiu Android, ja que la gran majoria dels dispositius mòbils que
funcionen amb aquest sistema operatiu porten instal·lades, per defecte, aplicacions
Aplicacions Web 38 Ofimàtica i eines web
creades per Google que ens ofereixen diversos tipus de serveis. En conseqüència,
tots els contactes que tinguem emmagatzemats dins del nostre compte de correu
electrònic de Google s’emmagatzemen i actualitzen en el nostre dispositiu mòbil
amb sistema operatiu Android, i a l’inrevés (vegeu la figura 1.30).
Tot i que els Contactes eren inicialment una funcionalitat del servei de Gmail,
l’augment en l’abast de les seves característiques i l’extensió del seu ús van portar
a Google a permetre’n la gestió independentment del servei de correu, mitjançant
l’adreça web http://contacts.google.com havent iniciat sessió a Google prèvia-
ment.
Per la seva part, els Cercles de Google són una potent eina de segmentació de
contactes vinculada a la xarxa social pròpia de Google, Google+. És a dir, els
diferents contactes amb els quals estiguem connectats els podem agrupar en petits
Els cercles de Google+ grups i/o segments. Aquesta segmentació en petits grups facilita que, per exemple,
puguem compartir amb un grup de contactes (o cercle) en concret uns continguts
perquè, per exemple, considerem que podem resultar de l’interès dels contactes
membres. Per exemple, podem definir un cercle amb els contactes de la feina, un
altre cercle amb els contactes amb qui tenim un lligam familiar o un cercle amb
contactes amb qui ens comuniquem en anglès.
En aquest cas, els missatges que tinguin activada la xinxeta sempre es mantindran
en la part superior de la safata d’entrada —tot i que es rebin més correus
electrònics—. En el cas que cliquem la icona de la xinxeta de la safata d’entrada
situada prop del cercador, es visualitzaran tot els correus electrònics marcats amb
aquesta xinxeta. Amb aquesta acció es desplegarà una nova secció d’elements
fixats. Per tornar a la safata d’entrada, s’haurà de clicar de nou sobre la icona de
la xinxeta.
L’ús massiu d’Internet i la tendència general a utilitzar, cada vegada més, aplica-
cions web, fa que els serveis de correu electrònic web hagin esdevingut una eina
d’ús quotidià.
El protocol POP (Post Office Protocol) s’utilitza per obtenir els missatges guardats
en el servidor i passar-los a l’usuari. Per altra banda, tot i que el protocol IMAP
és similar al POP, el funcionament i les funcionalitats que ofereix són diferents.
Quan s’utilitza un servidor de correu IMAP, els missatges de correu electrònic es
mantenen en el servidor on els usuaris poden llegir-los i esborrar-los.
Aplicacions Web 42 Ofimàtica i eines web
Un cop desats els canvis relacionats amb la configuració del correu electrò-
nic web de Gmail per sincronitzar-lo amb el client de correu electrònic, hau-
rem de realitzar un últim pas. Es tracta de rebaixar el nivell de segure-
tat que estableix Google per accés o vinculacions amb les aplicacions exter-
nes. En aquest cas, haurem d’adreçar-nos a l’apartat de seguretat de Google
(https://www.google.com/settings/security/lesssecureapps) i activar l’accés per a
aplicacions menys segures, tal com mostra la figura 1.36.
Aplicacions Web 44 Ofimàtica i eines web
Un cop ja hem definit els paràmetres essencials del compte de correu electrònic de
Gmail perquè treballi amb una aplicació externa com és Thunderbird, ja podem
instal·lar i configurar el client de correu electrònic Thunderbird en el nostre
ordinador.
Val a dir que, més que un correu electrònic, el que farem serà definir un client
de correu electrònic vinculat a un compte ja existent (ja sigui web o definit en
un servidor de correu electrònic). En el nostre cas, clicarem sobre el botó Salta
aquest pas i utilitza l’adreça electrònica que ja tinc.
Se’ns obrirà una finestra on podrem definir el compte de correu electrònic que
vulguem vincular amb el nostre client de correu electrònic i, alhora, amb quin
protocol de correu treballarem. En aquest cas, introduirem el correu electrònic
de Gmail i la contrasenya i POP3 com a protocol. A més, haurem de definir les
adreces web del servidor de correu electrònic des d’on descarregarem els correus
al programari Thunderbird i el servidor al qual es connectarà el client de correu
per enviar els correus electrònics (SMTP), tal com mostra la figura 1.37.
Aplicacions Web 45 Ofimàtica i eines web
Documentació tècnica
La documentació tècnica busca deixar cobertes totes les possibles qüestions que
poden sorgir al llarg d’un procés de configuració i, alhora, proporcionar el major
ventall de pautes i informació amb el llenguatge més senzill i comprensible
possible.
Aplicacions Web 48 Ofimàtica i eines web
Els calendaris en línia són aplicacions web que s’utilitzen per gestionar
agendes d’activitats. És a dir, són programes que permeten emmagatzemar
i organitzar informació sobre cites, reunions i esdeveniments en un entorn
web.
Els calendaris en línia també reben el nom de calendaris web. Els més coneguts a
l’actualitat són 30Boxes (http://www.30boxes.com) i Google Calendar, que forma
part del conjunt d’aplicacions web oferides gratuïtament per Google, juntament
amb el correu web Gmail, els àlbums web Picasa, Google Maps, etc.
Google Calendar també disposa d’una aplicació per a dispositius mòbils amb la
qual rebre notificacions d’esdeveniments i/o crear-ne de nous. Aquests quedaran
sincronitzats automàticament amb la resta d’usuaris i dispositius que tinguin accés
al calendari.
Cada usuari que inicia sessió al Google Calendar té associat, per defecte, un
calendari amb el nom de l’identificador del seu compte de Google (vegeu la figura
1.43).
Per defecte, la vista del calendari mostra el dia i l’hora actual (segons el fus horari)
i en columna els dies de la setmana en curs.
Més enllà del calendari que hi ha per defecte a Google Calendar, és possible crear
tants calendaris personalitzats com desitgem. La manera més senzilla de fer-ho
és clicar al botó que hi ha en la zona lateral esquerra a sota del calendari del mes
en curs (vegeu la figura 1.44). Automàticament, l’espai de treball canvia a una
finestra nova on podem crear i definir els principals paràmetres del nou calendari.
Aplicacions Web 50 Ofimàtica i eines web
Un cop dins de la nova finestra, podrem escriure un nom pel nou calendari (per
exemple, “Vacunes Blai”), definir una descripció més àmplia per aquest calendari
(per exemple, “Calendari de vacunes pel Blai (gat) d’acord amb les indicacions
del veterinari Andreu”. A més, també podem especificar una ubicació i escollir
un país i un fus horari.
Crear esdeveniments és tan fàcil com clicar a qualsevol casella del calendari.
Ens apareixerà una finestra on podrem posar títol a aquest esdeveniment, indicar
en quin dels nostres calendaris volem que es guardi i clicar el botó Crea un
esdeveniment (vegeu la figura 1.46).
Aplicacions Web 51 Ofimàtica i eines web
Dins de l’edició, també podem definir canvis en la data, com ara que hi hagi una
periodicitat en l’esdeveniment (per exemple, que un esdeveniment aparegui un cop
per setmana). Si marquem l’apartat Repeteix se’ns obrirà una finestra on podrem
definir la periodicitat de repetició que desitgem per l’esdeveniment (vegeu la figura
1.48).
Aplicacions Web 52 Ofimàtica i eines web
Compartició de calendaris
Un cop haguem creat un calendari, podem fer que la seva informació (o els
esdeveniments continguts) pugui ser compartida amb d’altres usuaris. Per fer-
ho, haurem de clicar sobre la icona del nom del calendari escollit, i clicar
sobre Comparteix aquest calendari. Dins de la finestra que se’ns obrirà per
la compartició del calendari podem comprovar que es distingeixen quatre tipus
d’usuaris dels calendaris de Google que són:
En el cas que alguns dels usuaris amb els quals volem compartir el calendari no
tinguin un compte de Google, després d’afegir-los dins de l’apartat d’usuaris amb
els quals compartim el calendari, ens apareixerà una finestra emergent demanant-
nos si volem enviar una invitació a aquest usuari (vegeu la figura 1.52).
Tal com mostra la figura 1.53, el receptor de la invitació rebrà un missatge a la seva
bústia de correu electrònic informant-lo que ha estat convidat a compartir aquest
calendari i, a més, aconsellant-li que es creï un compte de correu electrònic.
F igu r a 1. 53 . Correu electrònic amb la invitació a un usuari amb un compte de correu electrònic web
aliè a Google
Per últim, des del punt de vista de les notificacions dels esdeveniments, podem
definir un avís per aquells usuaris que creiem que poden estar-hi interessats. En
aquests casos, Google Calendar permet notificar l’esdeveniment a molta gent
d’una manera fàcil. Si ja tenim creat l’esdeveniment, podem afegir-hi convidats
accedint a l’edició de l’esdeveniment. Un cop dins, ens haurem d’adreçar a
Aplicacions Web 55 Ofimàtica i eines web
Google Calendar també porta control dels contactes que han confirmat la seva
assistència a l’esdeveniment i dels que no. També podem afegir missatges de
notificació als contactes (vegeu la figura 1.55) informant-los del motiu de la
notificació o compartint més informació en relació amb l’esdeveniment.
Tal com mostra la figura 1.57, en el dia i hora definits dins de l’esdeveniment del
calendari, se’ns obrirà una notificació (i un recordatori, en el cas que ho haguem
seleccionat) en el nostre telèfon intel·ligent mitjançant l’aplicació de calendari que
vingui instal·lada per defecte, o bé, amb l’aplicació Google Calendar.
Aplicacions Web 57 Ofimàtica i eines web
Altres exemples de calendaris en línia que no siguin el propi de Google serien, per
exemple, Doodle http://www.doodle.com/es que és un calendari en línia que ens
permet crear enquestes i enviar-les als nostres contactes perquè votin el dia que els
va millor per la trobada/reunió (vegeu figura 1.58). També ofereix la possibilitat de
connectar amb el calendari en línia de Google, Google Calendar. A més, a Doodle
s’hi accedeix des d’Internet, és a dir, que és possible organitzar/canviar/acceptar/-
votar el dia d’una reunió des d’on sigui i des de múltiples plataformes (ordinadors
de sobretaula, smartphones, tauletes...).
Aplicacions Web 58 Ofimàtica i eines web
Per últim, una altra opció de calendari en línia és la que ofereix Coolendar
(http://www.coolendar.com/), que canvia el concepte de calendari i el redueix per
mostrar únicament el que importa: allò que s’ha de fer i quan (vegeu la figura
1.61).
2. Ofimàtica web
També és molt útil utilitzar aquest tipus d’aplicacions quan es tracta de crear
documents i revisar-los entre més d’una persona. La compartició de documents
i la gestió de l’accés a la informació permet estalviar molt de temps i maldecaps
per detectar les últimes modificacions d’un document. Resulta molt més àgil que
el procés d’adjuntar arxius i enviar-los per correu electrònic a tota una llista de
contactes, esperant el retorn per veure’n les modificacions, per exemple.
Els paquets d’ofimàtica web més coneguts actualment són el Google Drive, el
Zoho Documents, el Feng Office i el ThinkFree. Aquests quatre productes (vegeu
la taula 2.1) estan disponibles en la seva versió estable definitiva i, per tant, són
plenament funcionals pels nostres objectius d’aprenentatge.
Taul a 2. 1. Adreces web dels principals paquets ofimàtics web
Zoho http://www.zoho.com
ThinkFree http://www.thinkfree.com
Hi ha productes de codi obert, com ara Feng Office, que faciliten la migració de
les dades i afavoreixen la creació d’una comunitat de programadors i usuaris que
milloren el producte dia rere dia. Zoho i ThinkFree estan més orientats a donar
serveis d’empresa i, juntament amb Feng Office, es poden instal·lar als servidors
locals.
Aplicacions Web 63 Ofimàtica i eines web
Més enllà d’emmagatzemar arxius, dins d’aquest servei de Google també trobem
una suite ofimàtica en línia que ens permet crear documents de text, fulls de
càlcul, presentacions i formularis, entre d’altres, que quedaran emmagatzemats
directament en el Google Drive.
Google Drive, un dels serveis estrella
de Google, es va anomenar en un
primer moment Google Docs
Característiques de Zoho Docs
Zoho Docs és una suite ofimàtica en línia que permet als usuaris la creació i
edició de documents en línia sense haver d’instal·lar programari o aplicacions en
l’ordinador (com en el cas de Microsoft Office).
El servei també inclou una funció per arrossegar i deixar anar arxius, a més de
que totes les operacions es realitzen en una mateixa pestanya, pel que l’usuari pot
treballar còmodament sense caure en possibles errors o confusions. Zoho Writer
és l’element que correspon al processament de textos.
Aquesta aplicació web inclou fonts, grandària de lletra, colors de text, així com
imatges de fons, revisions d’ortografia, alineació de textos, a més d’opcions de
sangria. A més, els usuaris poden afegir-hi emoticones, símbols, imatges, taules,
enllaços, així com peus de pàgina i, fins i tot, es poden incloure cançons i vídeos
en els documents.
Si bé també es pot treballar amb fulls de càlcul, no s’hi ofereixen gaires caracte-
rístiques més enllà de les pròpies que ofereix el Zoho Writer. En el cas del Zoho
Show, equival a la presentació de diapositives; en aquest cas, presenta un bon Zoho Suite, una bona alternativa a
grapat de característiques com, per exemple, una àmplia selecció de temes de fons l’àrea de l’ofimàtica en el núvol
Característiques de ThinkFree
Feng Office està dissenyat per oferir tot el necessari perquè un usuari pugui
gestionar la seva empresa, des de l’espai necessari per emmagatzemar diferents
arxius o la gestió de projectes fins a la creació de tasques i subtasques i metes
o objectius dels projectes. De fet, es pot accedir a les tasques en funció de
l’estat, prioritat o per aquell a qui estiguin assignades. Respecte als documents (de
text i presentacions), es poden compartir, emmagatzemar o crear directament. A
més, aquests documents es poden complimentar amb notes, calendaris i registres
d’hores realitzades. El Feng Office també permet gestionar comptes de correu
electrònic gestionant, a més, els documents adjunts.
Des del punt de vista de l’administració, Feng Office ens permet crear usuaris,
grups de treball i assignar-los permisos per definir quins usuaris tenen accés a la
informació que necessiten, entre d’altres coses.
Arribats a aquest punt, cal destacar que, tot i haver-hi diverses aplicacions ofimàti-
ques web, ens centrarem en Google Drive ja que és el més utilitzat en l’actualitat
Feng Office és una solució comercial
web de codi obert
i permet compatibilitzar l’usuari amb altres serveis web que proporciona Google
i que poden resultar d’interès i utilitat.
Google Drive és una eina que ens proporciona un repositori en línia en el qual
ubicar qualsevol tipus d’arxiu i disposar-ne sempre a través d’Internet.
Respecte als seus principals competidors, Google Drive se’n diferencia perquè dis-
posa d’una suite d’aplicacions d’oficina incorporada on podrem editar documents,
fulls de càlcul i presentacions, tot i que el document hagi estat creat en un altre
programa. El servei disposa a més d’accés a un ampli ventall d’extres com són les
aplicacions de tercers per crear mapes mentals o firmar documents, entre d’altres
opcions.
Per tant, dels paquets
ofimàtics que hem comentat Val a dir, a més, que la seva configuració és senzilla si ja disposem d’un compte
en general, ens centrarem a
partir d’ara en el Google de Google. A més, si utilitzem Gmail és senzill guardar documents adjuntats des
Drive.
del nostre compte de correu electrònic directament al Drive amb tan sols un parell
de clics. A més també podem llegir, sense obrir-los, aquells documents que ens
hagin enviat adjunts mitjançant Gmail.
Val a dir que l’altra via per accedir al Google Drive és mitjançant el correu
electrònic web de Google. En la cantonada dreta superior de la safata d’entrada
de Google podem accedir als diferents serveis vinculats als comptes de Google on,
entre ells, trobem el Google Drive (veure la figura 2.2).
Per facilitar el treball amb Google Drive és recomanable definir-ne els principals
paràmetres de configuració. Per fer-ho, estant dins de la finestra principal, haurem
Aplicacions Web 66 Ofimàtica i eines web
Un cop dins de l’opció Configuració (vegeu figura 2.4) ja podrem triar, per
exemple, en quin idioma volem que apareguin les diferents opcions del tauler de
control del Google Drive. També se’ns ofereix la possibilitat de Convertir les
càrregues, és a dir, si marquem aquesta opció, quan es pugi un document amb un
format compatible amb els documents que es poden crear amb Google Drive, els
documents passaran a ser editables. Si no la marquem, els documents es pujaran
al Google Drive però, quan els obrim, serà mitjançant un visor de documents, això
és, únicament podríem veure o llegir els continguts però no podríem modificar-los
perquè no tindríem els permisos corresponents.
Per últim, un dels punts forts de tota aplicació ofimàtica web és la sincronització
de les actualitzacions en els documents treballant fora de línia. Si marquem
aquesta opció estem acceptant que les modificacions realitzades en els documents
s’actualitzin en el document emmagatzemat en el Google Drive un cop tornem
a disposar d’accés a Internet, ja sigui des d’un ordinador, un smartphone o una
Google Chrome és un tauleta. Val a dir que, tal com mostra la figura 2.5, l’edició dels documents
navegador web
desenvolupat per Google i guardats al Google Drive i la posterior sincronització s’ha de realitzar mitjançant
compilat a partir de diversos
components i el navegador Google Chrome amb la corresponent instal·lació prèvia de l’aplicació
infraestructures de
desenvolupament
que permetrà aquestes accions.
d’aplicacions de codi obert.
Aplicacions Web 67 Ofimàtica i eines web
Per últim, hi ha la possibilitat que totes les imatges que s’incrustin en els
documents residents a Google Drive hi quedin emmagatzemades però, en aquest
cas, en una carpeta a part.
Un cop hem entrat a l’entorn de Google Drive, clicant en el botó vermell Nou de
la zona superior esquerra de la finestra principal, tant podem pujar un document
des del nostre ordinador o dispositiu mòbil com crear un nou document. També,
mitjançant el botó Nou tenim la possibilitat de crear una carpeta (seleccionant
Carpeta) per organitzar els documents que tinguem emmagatzemats al Drive,
pujar arxius i carpetes senceres (seleccionant Càrrega de fitxers i Càrrega de
carpetes, respectivament) i presentacions multimèdia (seleccionant Presentació).
Tal com mostra la figura 2.6, l’apartat Més ens dóna accés a altres tipus de
documents per crear com, per exemple, formularis (Formularis de Google),
dibuixos (Dibuixos de Google) o mapes (Google My Maps). Per últim, tenim
l’opció d’accedir a un ampli ventall d’aplicacions de Google que ens permeten
crear documents de formats diferents als que s’ofereixen per defecte al Google
Drive.
Aplicacions Web 68 Ofimàtica i eines web
F igu r a 2. 6
F igu r a 2. 7
Val a dir que també tenim la possibilitat de pujar carpetes senceres de la mateixa
manera que fem amb els documents, ja sigui mitjançant l’explorador d’arxius o
arrossegant-les fins l’explorador web. Un cop pujats els documents, ja podem
començar a editar-los en línia afegint-hi continguts o modificant-ne els que ja hi
hagi. Tota modificació realitzada quedarà emmagatzemada automàticament en el
document a mesura que hi anem treballant.
Aplicacions Web 69 Ofimàtica i eines web
Estant dins del Google Drive podem pujar documents que ja tenim emmagatze-
mats en el nostre ordinador per editar-los en línia i que, alhora, hi quedin guardats,
com també podem crear-ne de nous mitjançant el botó vermell Nou. Haurem de
sol·licitar, doncs, la creació d’un document de Google (document, full de càlcul,
presentació...). El Writely era un
processador de text
individual en xarxa creat per
El processador de textos que integra Google Drive està basat en Writely, un antic la companyia de programari
Upstartle que fou llançat al
processador de textos amb una interfície gràfica molt similar a la dels diferents mercat l’any 2005. Les
seves característiques
processadors de textos que podem comprar, o bé descarregar en el cas de les originals incloïen un lloc per
l’edició col·laborativa de
aplicacions ofimàtiques lliures. La principal diferència amb els processadors de textos, a més de controls en
el seu accés.
textos instal·lables és que disposen d’una oferta d’eines major que la que pot oferir
un processador de textos en línia (vegeu figura 2.8).
L’opció Baixa com a s’utilitza quan volem desar una versió del document web
en un format accessible localment. Per altra banda, quan volem compartir un
document amb algú que no té compte Google o que encara no està habituat
a treballar en format web, podem descarregar el document en el format que
aquella persona utilitza normalment i enviar-li adjunt en un correu electrònic, o
bé aprofitar que ja hi ha aquesta opció i clicar sobre Envia per correu electrònic
com a fitxer adjunt... (vegeu figura 2.10).
Tal com mostra la figura 2.11, amb Google Drive es poden crear els fulls de càlcul
a més d’importar i exportar dades amb diferents formats (XLS de MS Excel, ODS
d’Openoffice Calc i formats genèrics com CSV i TXT). Per crear un full de càlcul
amb Documents de Google heu de clicar a Nou i després escollir Fulls de càlcul
de Google.
Per crear una presentació, és a dir, un conjunt de diapositives que integri imatges,
textos, música de fons, etc., heu de clicar a Nou i després escollir Presentació de
Google (vegeu la figura 2.12).
1. Fitxer: conté les operacions bàsiques de crear una presentació nova, obrir-ne
una de preexistent, anomenar i desar, canviar el nom i imprimir (en PDF). També
estan integrades les operacions de carregar i descarregar presentacions. És a dir,
l’exportació de presentacions la trobeu en aquesta opció del menú amb el nom
Baixa la presentació com a.
6. Format: permet definir els diferents formats tipogràfics pels quadres de text
que s’introdueixin dins de la presentació.
8. Eines: dóna accés a una cerca vinculada a Google d’elements per inserir dins
de la presentació. A més, també dóna accés a un diccionari i a la possibilitat de
crear un diccionari personalitzat.
6. Taula: permet inserir una taula, moure-la, inserir files i columnes així com
eliminar-les.
Per visualitzar la presentació hem de clicar el botó blau que posa Inicia la
presentació que es troba per sota del nom d’usuari, tal com mostra la figura 2.13.
Per crear un formulari heu d’anar a l’opció del menú Nou i després seleccionar
Formularis de Google. Apareix un entorn de treball com el de la figura 2.14 i la
figura 2.15.
• Un títol.
• Un text d’ajuda: és opcional, surt en un color una mica més suau, a sota del
títol de la pregunta, a mode d’explicació o anotacions sobre la pregunta.
• Paràgraf: un requadre de text per omplir una resposta llarga, de més d’una
línia.
• Múltiples respostes: apareix un botó d’opció (radio button) per cada opció
(pot ser múltiple) que especifiquem. Les opcions són incompatibles.
Podem afegir altres elements dins del formulari com una capçalera de secció o un
salt de pàgina (en el cas que vulgueu fer un formulari amb més d’una pàgina, per
qüestions d’organització). Aquests dos elements els podeu afegir clicant el botó
que hi ha a dalt de la pàgina, dins del requadre blau, Afegeix un element (vegeu
la figura 2.19).
Aplicacions Web 76 Ofimàtica i eines web
Un cop ja teniu configurats tots els elements que voleu integrar dins del formulari
heu de clicar el botó Fet i, a continuació, desar-lo, fent clic al botó Desa.
Els formularis actius sempre acaben amb un botó Envia (com el de la figura 2.22).
Quan l’usuari ha omplert les caselles i opcions i clica el botó Envia, es crea
automàticament un full de càlcul amb el mateix nom que el formulari i cada fila
emmagatzema dades introduïdes per usuaris diferents.
Totes les respostes que s’introdueixen i són enviades a través del formulari queden
emmagatzemades en un full de càlcul de Google associat a aquest formulari. Val a
dir que, tot i que ja s’hi hagin introduït respostes, sempre podem tornar a editar-lo
o visualitzar-lo accedint a l’opció del menú Formulari, Edita el formulari o Vés
al formulari actiu (vegeu la figura 2.23).
Aplicacions Web 78 Ofimàtica i eines web
Quan accedim a l’opció Connectar més aplicacions se’ns obrirà una finestra
(vegeu la figura 2.24) on podrem veure totes les aplicacions que podem triar i
instal·lar.
F igu r a 2. 2 4 . Administració dels permisos de compartició del document compartit
Aplicacions Web 79 Ofimàtica i eines web
Ara bé, és tan gran el volum d’aplicacions que hi ha disponibles que per trobar una
aplicació que s’ajusti a les nostres necessitats disposem d’un desplegable que ens
permet buscar les aplicacions organitzades per categories (vegeu la figura 2.25).
Si cliquem sobre l’aplicació obtindrem una descripció més detallada sobre el seu
funcionament, els comentaris dels usuaris i tota la informació necessària. També
podem clicar per instal·lar l’aplicació. En aquest últim cas, ens apareixerà una
confirmació de la correcta instal·lació de l’aplicació.
Aplicacions Web 80 Ofimàtica i eines web
Google Docs és una suite ofimàtica en línia dins de Google Drive que ens permet
la creació i el treball col·laboratiu en l’edició d’un mateix document per part de
diferents usuaris.
Val a dir que, al costat del quadre de text on introduïm el nom o el correu electrònic
de l’usuari a qui volem convidar perquè pugui tenir accés al document, podem
definir quin grau d’accés volem donar-li al document. És a dir, podem donar-
li drets d’edició perquè pugui escriure i/o esborrar el contingut del document
compartit i introduir-hi comentaris.
En el cas que no volguéssim donar permisos d’edició a d’altres usuaris però sí que
ens interessés que puguin llegir el document i comentar-ne els continguts, podem
atorgar-los permisos per comentar, o bé, senzillament per llegir el document i prou
(vegeu la figura 2.29).
• Tots els usuaris amb un enllaç: no és necessari tenir un compte Google per
accedir-hi.
A tot això, dins del quadre per executar la compartició del document, tenim un
enllaç anomenat Opcions avançades que ens dóna accés a facilitar la compartició
i ampliar-ne les vies de compartició. En aquest cas, tant podem compartir l’enllaç
d’accés al document compartit mitjançant les principals xarxes socials com afegir
un missatge juntament amb l’enllaç d’accés al document compartit (vegeu la figura
2.30).
Aplicacions Web 82 Ofimàtica i eines web
Per últim, un cop els usuaris ja tenen accés al document compartit, com a
propietaris del document (aquest rol és el que ens permet enviar les invitacions
per editar conjuntament el document) també podem modificar els drets d’accés al
document. És a dir, podem canviar els drets d’accés d’un usuari perquè passi de
poder editar el document a, per exemple, únicament llegir el contingut i introduir-
hi comentaris, tal com mostra la figura 2.31.
Aplicacions Web 83 Ofimàtica i eines web
Aplicacions Web
Aplicacions Web Fonaments d'(X)HTML
Índex
Introducció 7
Resultats d’aprenentatge 9
2 Etiquetes i atributs 39
2.1 Etiquetes del cos del document . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
2.1.1 Tipus d’elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
2.1.2 Atributs genèrics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
2.2 Etiquetes de text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
2.2.1 Paràgrafs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
2.2.2 Els encapçalaments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Aplicacions Web Fonaments d'(X)HTML
2.2.3 Èmfasi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
2.2.4 Citacions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
2.2.5 Salts de línia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
2.2.6 Separadors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
2.2.7 Abreviatures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
2.2.8 Text preformatat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
2.2.9 Codi de programació . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
2.2.10 Etiquetes sense atributs semàntics . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
2.3 Etiquetes estructurals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
2.4 Enllaços . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
2.4.1 Enllaços a pàgines externes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
2.4.2 Enllaços a pàgines locals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
2.4.3 Àncores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
2.5 Imatges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
2.6 Panell de dibuix o llenç . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
2.7 Àudio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
2.8 Vídeo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
2.9 Llistes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
2.9.1 Llistes ordenades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
2.9.2 Llistes desordenades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
2.9.3 Llistes de definició . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
2.9.4 Enniuament de llistes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
2.10 Taules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
2.10.1 Expansió de files i columnes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
2.11 Formularis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
2.11.1 Propietats d’un formulari . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
2.11.2 Associació de text i controls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
2.11.3 Atributs comuns dels controls d’un formulari . . . . . . . . . . . . . . . . . . . . . . 76
2.11.4 Camps de text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
2.11.5 Camps de contrasenya . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
2.11.6 Camp de correu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
2.11.7 Camp d’URL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
2.11.8 Camp numèric . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
2.11.9 Camp de rang . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
2.11.10 Camps de data o horaris . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
2.11.11 Camps de colors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
2.11.12 Camp de cerca . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
2.11.13 Botons d’opció . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
2.11.14 Caselles de verificació . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
2.11.15 Llistes de selecció . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
2.11.16 Llista de dades: <datalist> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
2.11.17 Generador de claus: <keygen> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
2.11.18 Sortida de resultats: <output> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
2.11.19 Àrees de text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
2.11.20 Botons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
2.11.21 Controls ocults . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
2.12 Marcs flotans . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
2.13 Mapes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
Aplicacions Web Fonaments d'(X)HTML
Introducció
El concepte d’aplicació web ha anat evolucionant molt des dels seus orígens, i
podríem dir que actualment ens trobem en un punt clau d’aquesta evolució. Això
ens porta a fer una diferenciació; fins no fa gaire les aplicacions web es definien
com aquelles aplicacions informàtiques que usualment estan instal·lades en un
servidor web i hi accedim mitjançant un navegador. Aquesta característica feia
que aquestes aplicacions es poguessin consultar des de qualsevol ordinador o
dispositiu amb accés a la xarxa connectant-se al servidor, sense haver d’instal·lar
cap mes programari que un navegador. Igualment son aplicacions adients per
fer servir des de qualsevol sistema operatiu que tingués instal·lat un navegador.
Posteriorment, a causa de la popularització en l’ús d’Internet, la tecnologia i
tècniques han evolucionat forçades per aquest èxit, fins a arribar un punt que
la versatilitat, flexibilitat i recursos disponibles han fet que en molts casos la
comunicació amb el servidor fos puntual i que aquestes aplicacions funcionessin
amb independència, i exclusivament al client o navegador.
El que sí que és cert és que tant si són purament aplicacions web orientades a
comunicar-se amb un servidor com si són aplicacions més orientades al client,
l’ús del navegador (o intèrpret dels llenguatges implicats) és essencial, així com
el coneixement dels llenguatges implicats.
Sigui com sigui, tant si creem una aplicació nova com si n’adaptem una feta, és
molt important tenir coneixements de les tecnologies bàsiques amb què estan fetes
les aplicacions web. En aquesta unitat, anomenada Fonaments d’(X)HTML, ens
centrarem en la tecnologia més bàsica: el llenguatge de marques (X)HTML, i
dividirem el seu estudi en tres apartats:
Per treballar els continguts de la unitat, heu de llegir amb deteniment el material
proporcionat i realitzar els exercicis i les activitats del material web. A més, en els
annexos del material web podeu trobar el codi dels exemples. És molt convenient
estudiar amb detall aquests exemples observant el codi i el resultat que genera en
un navegador. Els annexos també contenen altra documentació que us pot ajudar
a aprofundir els coneixements de la unitat.
Aplicacions Web 9 Fonaments d'(X)HTML
Resultats d’aprenentatge
2. Utilitza les etiquetes amb els seus atributs seguint la sintaxi correcta definida
per l’estàndard.
• Identifica els diferents documents i objectes del lloc web seguint les normes
establertes.
Les pàgines web contenen informació de tipus divers com ara imatges, vídeo,
àudio o text, distribuïda i estructurada d’una manera molt concreta, i disponible
per ser visualitzada en diferents dispositius com ara tauletes, ordinadors de sobre-
taula, smartphones... Aquesta informació la reben els navegadors, normalment
procedent del servidor, en format text. Aquest text no solament incorpora els
continguts sinó que inclou també marques que indiquen com presentar o distribuir
aquesta informació dins les finestres del navegador. Per aquest motiu fem servir
els anomenats llenguatges de marques per a la web.
Els documents o pàgines web estan formats per l’estructura realitzada amb
(X)HTML + presentació o estètica realitzada amb CSS, i molt relacionats
entre ells.
L’any 1993, el físic Tim Berners-Lee, treballador del CERN (European Organiza-
tion for Nuclear Research), va descriure el llenguatge HTML. El primer esborrany
no va prosperar i, un temps més tard, Dave Raggett en va proposar un altre, el de
l’HTML+, que tampoc no va prosperar com a estàndard.
Aplicacions Web 12 Fonaments d'(X)HTML
Però a partir del 1996, l’IETF tancà el seu grup de treball i el desenvolupament
de l’estàndard HTML va ser adoptat pel W3C. La versió que més temps s’ha
mantingut ha estat l’HTML 4.X, i encara podem trobar que gran part de les pàgines
creades la fan servir, tot i que la darrera versió acceptada és l’actual HTML5, que
com ja veurem aporta moltes millores.
El W3C és l’organització
S’ha de tenir en compte que l’HTML es va crear com un llenguatge SGML.
internacional que desenvolupa i
promociona els estàndards web.
HTML 1991
XHTML 2000
HTML5 2012
Trobareu enllaços amb
més informació sobre la
història i orígens de
L’estàndard actual, que ja trobem en fase de recomanació, és l’HTML5. Aquest l’(X)HTML a la secció
“Adreces d’interès” del
ha substituït l’HTML 4.01 i l’XHTML 1.0, tot i que trobarem moltes aplicacions material web d’aquesta
unitat.
web i portals que encara en fan ús. Val a dir que aquesta darrera versió d’HTML
(HTML5) ja no deriva directament d’SGML.
Quan la W3C confecciona un estàndard, aquest passa pels diferents estats que s’enumeren
a continuació:
Per tant, quan una versió d’un estàndard es considera aprovada s’anomena Recomanació
(recommendation). En canvi, quan s’hi comença a treballar amb l’objectiu de desenvolupar
l’estàndard, s’anomena esborrany de treball (working draft), i pot partir molts canvis.
Hem de tenir present que la seva funció és principalment etiquetar elements per
crear estructures, deixant l’estètica per un altre llenguatge com és el CSS, i part de
la interacció i el dinamisme per al Javascript. Així doncs, si mirem la codificació
d’una determinada pàgina web, hi trobarem principalment tres llenguatges:
• CSS
• JavaScript
Aplicacions Web 14 Fonaments d'(X)HTML
El llenguatge HTML ens permet marcar la nostra informació de manera que po-
dem incorporar-hi encapçalaments, paràgrafs, llistes, enllaços, taules, formularis,
imatges, articles, peus de pàgina, àrees de navegació, etc. Però hem de rebutjar
determinar el seu aspecte, tot i que el propi llenguatge ho permeti en alguns
elements.
La diferència entre els tres sabors esmentats és que cadascun admet diferents
etiquetes, alhora que poden suggerir l’orientació del tipus de document al qual
han sigut inserits:
• Strict: no permet usar gairebé cap marca o atribut que faci referència a
l’estètica del web, de manera que podem separar la semàntica del contingut
de l’estètica final de l’aplicació web.
Per tant, si observem aplicacions basades en el sabor strict hem de pensar que
probablement van ser fetes per obligar a separar l’estructura de la presentació. Ara
bé, trobarem moltes webs antigues que usen el sabor transitional, ja que aquest
compta amb moltes etiquetes que no són acceptades en el sabor strict.
El CSS s’utilitza per donar estil a documents (X)HTML i així poder separar el
contingut de la presentació.
Imagineu un formulari de registre d’usuaris per un portal on figuren dos camps, un per
posar clau d’usuari i un altre per repetir-la. Si volem verificar que aquesta clau sigui la
mateixa abans de ser enviada amb el botó d’enviament de formulari, ho podem fer amb l’ús
d’aquest llenguatge. Fins i tot podríem mostrar dinàmicament un missatge d’advertiment o
modificar el color de fons d’aquest camp del formulari en cas d’error, per exemple en color
vermell.
Aplicacions Web 17 Fonaments d'(X)HTML
1.3 L’XML
L’XML no ens defineix quines etiquetes podem usar (podem crear-ne de noves),
sinó com s’han d’usar. És a dir, ens diu quina sintaxi hem de fer servir, siguin
quines siguin les etiquetes que usem.
Per exemple, si fem un símil amb les llengües usades normalment, podríem definir
el metallenguatge de les llengües romàniques com un conjunt de normes com ara:
No direm, però, quines són les paraules que podem usar, ja que això ho definirien
cadascuna de les llengües.
1 Truita a la francesa
2 2 ous, oli i sal
3 Batre els ous, escalfar l’oli en una paella, tirar els ous batuts a la paella i
embolicar la truita.
19 <preparacio>
20 Batre els ous, escalfar l'oli en
21 una paella, tirar els ous batuts a la
22 paella i embolicar la truita.
23 </preparacio>
24 </recepta>
La primera línia ens indica que és un document XML versió 1.0 i que usa la
codificació de caràcters UTF-8.
1 <element></element>
1 <element />
1 <element atribut="valor"></element>
• Nodes de text: són els fragments de text del document, la informació que
volem estructurar. La seva sintaxi és:
1 <element>text</element>
1 &entitat;
Aplicacions Web 19 Fonaments d'(X)HTML
Els nodes d’un document XML estan relacionats entre si. Podem establir els
diferents tipus de relacions com ara:
• Pares i fills: un node és fill d’un altre quan està dins seu en un primer
nivell. En l’exemple de la figura 1.3 l’element <nom> és fill de l’element
<ingredient> i, per tant, l’element <ingredient> és el pare de l’element
<nom>.
• Germans: dos nodes són germans quan tenen el mateix pare. En l’exemple
Aplicacions Web 20 Fonaments d'(X)HTML
Finalment, els documents XML han de complir les normes de sintaxi següents:
– És correcte: <ingredient><nom>Oli</nom></ingredient>
– És incorrecte: <ingredient><nom>Oli</ingredient></nom>
– És correcte:
• És incorrecte:
Diem que un document està ben format si respecta totes les regles de sintaxi
de l’XML.
Aplicacions Web 21 Fonaments d'(X)HTML
1.4 La DTD
Mentre que l’XML ens defineix la sintaxi d’un document, la DTD (Document Type
Definition) ens defineix quins són els elements i atributs permesos en el document,
l’ordre en què poden disposar-se aquests elements i quins nodes poden anar dins
de quins altres. XML Schema
Tot i que l’ús de les DTD està
molt estès, hi ha una altra manera
de definir els nodes permesos i
La DTD defineix els elements, atributs i entitats permesos en el document i, les seves característiques.
Aquesta alternativa és l’XML
a més, indica com podem combinar aquests nodes. Schema, que ens proporciona
més opcions i més flexibilitat.
La DTD és un fitxer, amb extensió .dtd, que ens descriu tot el vocabulari de les
etiquetes, els atributs i el seu ordre. No són objecte d’estudi en aquest bloc totes
les possibilitats que la DTD ens permet, però sí preguntar-nos com podem dir a
un document XML o (X)HTML quina DTD ha d’usar. Ens podem trobar diversos
casos, tal com es mostra a continuació.
Per enllaçar el document XML amb la DTD que vulgui adoptar es poden usar les
següents formes:
Per exemple:
1 <!DOCTYPE recepta [
2 <!ELEMENT recepta (titol,plat,ingredients,preparacio)>
3 ...
4 <!ELEMENT preparacio (#PCDATA)>
5 ]>
6 <recepta>
7 ...
8 </recepta>
Per exemple:
Per exemple:
Per tant, en l’exemple anterior, si volguéssim usar una DTD que està descrita en
un fitxer de nom recepta.dtd, hauríem d’incloure una línia amb la definició de
la DTD, després de la declaració de la versió XML i codificació del document:
Diem que un document valida si està ben format i respecta totes les regles
que especifica la DTD que té associada.
• XHTML 1.1
1.5 Validació
Per poder-ho fer, el W3C ens ofereix un servei de validació de pàgines, on se’ns
diu si la nostra pàgina compleix amb la DTD escollida i si no és així, quins errors
Podeu aprendre més de hem comès.
les eines de validació a
l’Annex “Validació de
documents (X)HTML” del Hem d’anar amb cura en el cas de l’HTML5 ja que no valida amb cap DTD i
material web d’aquesta
unitat. per aquest motiu la W3C especifica que la validació que disposa al seu web és
experimental. Això és perquè la gramàtica que es podia definir amb la DTD
no tenia prou flexibilitat i es va optar per desenvolupar l’HTML5 sense aquestes
restriccions. Hi ha altres gramàtiques a part de la DTD, que ens permeten major
flexibilitat si volem desenvolupar un validador amb una gramàtica concreta, com
és l’XML Schema, també coneguda com a XSD (XML Schema Definition).
• Tancament d’etiquetes
• Etiquetes buides
Si usem l’XHTML, hem de tancar totes les etiquetes que obrim. En canvi, en
l’HTML no és obligatori.
1 <p>Això és un paràgraf</p>
1 <p>Això és un paràgraf
En l’XHTML les etiquetes buides s’han de tancar “en elles mateixes”. En canvi,
en l’HTML no cal tancar-les.
En canvi, en l’HTML no cal que tanquem l’etiqueta (és a dir, no cal posar la /
final):
En l’XHTML els valors dels atributs han d’anar sempre entre cometes, en canvi
en el cas de l’HTML no cal (excepte quan el valor de l’atribut conté espais en
blanc):
En l’XHTML els atributs sempre han de tenir un valor, i cal usar la sintaxi
atribut=“valor”. En canvi, en l’HTML hi ha atributs que no tenen valor.
Així, per indicar com a marcada una casella de verificació, en l’XHTML es faria
el següent:
L’XHTML és sensible a les majúscules. Això vol dir, per exemple, que el caràcter
‘H’ és diferent del caràcter ‘h’. En canvi, l’HTML no és sensible a les majúscules.
1 <h1>Títol principal</h1>
Aplicacions Web 27 Fonaments d'(X)HTML
1 <H1>Títol principal</H1>
En l’exemple que mostrem a continuació s’ha escollit la DTD (X)HTML 1.0 Strict.
La plantilla base que ha de tenir qualsevol document XHTML amb aquesta DTD
és la següent:
En qualsevol pàgina web anterior a HTML5 s’hauria d’especificar la DTD per tal
de saber amb quin llenguatge de la família (X)HTML estem treballant. Aquesta
especificació ens permet validar la pàgina. És habitual que trobem moltes pàgines
web que no especifiquen quina DTD usen; podem entendre que, o bé no n’usen
cap, o s’han oblidat d’especificar-la, o bé són HTML5. En els dos primers casos,
Podeu consultar un llistat
de les DTD de la família
aquestes pàgines estarien incomplint els estàndards proclamats per la W3C.
(X)HTML a la secció
“Adreces d’interès” del
web d’aquesta unitat. Si usem la DTD XHTML Strict 1.0, la segona línia del nostre fitxer .html haurà
de ser la següent:
1 <head>
2 <meta http−equiv="Content−Type" content="text/html; charset=utf−8" />
3 <title>La meva pàgina web</title>
4 </head>
En l’apartat “Estructura
del document amb
La marca <meta> serveix per establir metainformació del document i té diferents HTML5” podreu veure
com la marca <meta> ha
funcions, en aquest cas diem que el nostre document s’enviarà amb el tipus estat simplificada en
l’HTML5.
MIME (Multipurpose Internet Mail Extensions) text/html i que el document
està codificat amb UTF-8.
Per què està permès enviar documents XHTML 1.0 com a texthtml?
L’XHTML és un format XML; això vol dir que parlant de manera estricta s’hauria d’enviar
amb un tipus MIME relacionat amb l’XML (application/xhtml+xml, application/xml, o
text/xml). Malgrat tot, l’XHTML 1.0 es va dissenyar amb molta cura, de manera que si el
document està fet amb compte hauria de funcionar també en agents d’usuari pensats per
a l’HTML llegat. Si se segueixen algunes pautes senzilles es pot fer que molts documents
XHTML 1.0 funcionin en navegadors antics. Malgrat tot, els navegadors antics només
interpreten el tipus MIME text/html, de manera que s’ha d’emprar aquest tipus si se’ls
envia documents XHTML 1.0. S’ha de tenir present que enviar documents XHTML als
navegadors com a text/html vol dir que aquests veuran el document com a HTML i no
com a XHTML.
La marca <title> ens serveix per posar el títol de la nostra web. El navegador
mostra el contingut d’aquesta marca com a títol de la finestra o de la pestanya on
es mostra el document, com podem veure en la figura 1.4.
1 <body>
2 <!−− Contingut de la web −−>
3 </body>
Vegem a continuació un resum de les etiquetes que utilitzem per crear l’estructura
mínima d’un document (X)HTML:
Les tècniques i tecnologies web són en constant evolució, és per aquest motiu que
ara ens volem centrar als estàndard actuals, i les variacions que aquestes suposen
en termes genèrics.
1.8.1 HTML5
1.8.2 XHTML5
Semblaria normal que, si fins HTML 4.0 disposàvem d’una sintaxi basada amb
XML com és la XHTML 1.0, hagués d’existir un equivalent anomenat XHTML5
o XHTML 2.0, però no és així; la flexibilitat va guanyar vers l’etiquetatge estricte.
Per aquest motiu la W3C va decidir centrar-se exclusivament a millorar l’HTML
en la seva darrera versió, HTML5.
1 <!DOCTYPE html>
2 <html>
3 <head>
4 <meta charset="utf−8">
5 <title>Títol de la web</title>
6 </head>
7 <body>
8 <!−− Aquí hi va el contingut de la web −−>
9 </body>
10 </html>
La novetat d’aquest nou estàndard, com veieu, és que s’ha substituït la versió
complicada dels doctypes anteriors a HTML5, com per exemple:
1 <!DOCTYPE html>
1 <meta charset="utf−8">
1 <!DOCTYPE html>
2 <html xmlns="http://www.w3.org/1999/xhtml">
3 <head>
4 <meta charset="utf−8">
5 <title>Títol de la web</title>
6 </head>
7 <body>
8 <!−− Aquí hi va el contingut de la web −−>
9 <svg xmlns="http://www.w3.org/2000/svg">
10 <!−− Aquí hi aniria la codificació SVG, que no és objecte d’estudi en
aquest mòdul−−>
11 </svg>
12 <!−− Aquí hi va el contingut de la web −−>
13 </body>
14 </html>
És fonamental que el codi font (X)HTML que generem sigui fàcilment compren-
sible. Hem de pensar que normalment no treballarem sols i fer que allò que
hem desenvolupat sigui llegible, pot ajudar a aquells que treballin amb el nostre
document a entendre què hem fet i per què. Fins i tot, suposant que el document
creat només serà modificat per nosaltres, la llegibilitat també és fonamental per
recordar tot allò que hem fet.
Hi ha diverses tècniques per tal que el codi sigui llegible i estigui ben organitzat.
Les més rellevants són els comentaris, el sagnat del codi, l’ús de noms clarificadors
relacionats amb la funció que realitza una part de codi i l’organització dels fitxers.
Comentaris
En un document (X)HTML podem posar anotacions que no són visibles als usuaris
que mirin la web amb el navegador (excepte si examinen el codi font), però que
són útils per al desenvolupador web.
És molt important comentar el codi font, sobretot si es tracta d’un document molt
llarg.
Imaginem que tenim una pàgina web amb una capçalera, un menú per navegar,
seccions centrals amb 3 articles i un peu de pàgina. Podríem posar els següents
comentaris per denotar on comencen cadascuna d’aquestes seccions del nostre
document:
1 <!doctype html>
2 <html>
3 <head>
4 <meta http−equiv="Content−Type" content="text/html; charset=utf−8">
5 <title>Títol de la pàgina web</title>
6 </head>
7 <body>
8 <!−− Capçalera −−>
Aplicacions Web 34 Fonaments d'(X)HTML
9 ...
10 <!−− Menú de navegació −−>
11 ...
12 <!−− Secció d’articles −−>
13 ...
14 <!−− Article 1 −−>
15 ...
16 <!−− Article 2 −−>
17 ...
18 <!−− Article 3 −−>
19 ...
20 <!−− Peu de pàgina −−>
21 ...
22 </body>
23 </html>
El codi HTML està farcit d’etiquetes que s’obren i es tanquen. Al navegador web
que interpretarà aquest codi no li cal que hi hagi ni salts de pàgina ni tabuladors
per poder interpretar-lo, però els éssers humans necessitem que el codi estigui
organitzat amb salts de línia i sagnats per tal de llegir-lo d’una manera còmoda.
Una tècnica per tal de sagnar el codi és que tot el contingut que hi ha entre una
etiqueta d’inici i la seva etiqueta de tancament corresponent estigui sagnat. Aquest
sagnat es fa sempre, excepte si el contingut és text, ja que això provocaria massa
sagnats. Posem un exemple on es veu com l’etiqueta <p> queda sagnada respecte
l’etiqueta <div> i, en canvi, el text contingut en el paràgraf no el sagnem:
1 <div>
Existeixen principalment 2 <p>Això és el contingut d’un paràgraf</p>
dos “Tipus d’elements”; 3 </div>
els elements de línia (que
ocupen exclusivament
espai a la línia on són
inserits) i els elements de
bloc, que per defecte
ocupen tot l’ample del Si els elements són de línia, tampoc s’acostuma a sagnar el codi. Posem un altre
document visualitzat.
exemple:
1 <div>
2 <p>Això és el contingut d’un paràgraf, ara fem un <a href="http://
elquesigui.org"> enllaç extern</a> i continuem escrivint...</p>
3 </div>
Una altra ajuda per fer més fàcil la nostra tasca de diferenciar codi ve donada
pels editors HTML, que acoloreixen el codi segons els elements que formen
els documents. El que fan és reconèixer el codi i fins i tot el poden arribar a
tabular automàticament si està ben etiquetat, o fer-nos suggeriments a mesura
que l’escrivim.
Aplicacions Web 35 Fonaments d'(X)HTML
1 |−−web
2 | |−−imatges
3 | | |−−img1.png
4 | | |−−img2.jpg
5 | | |−−img3.gif
6 | | |...
7 | |−−videos
8 | | |−−video1.mpg
9 | | |−−video2.mpg
10 | | |...
11 | |−−audios
12 | | |−−audio1.ogg
13 | | |−−audio2.mp3
14 | | |...
15 | |−−javascript
16 | | |−−llibreria1.js
17 | | |−−codificacio.js
18 | |−−css
19 | | |−−estil1.css
20 | | |−−estil2.css
21 | | |...
22 | |−−pagines
23 | | |−−quisom.html
24 | | |−−seccio1.html
25 | | |−−seccio2.html
26 | | |−−contacte.html
27 | | |...
28 | |−−index.html
29 | |...
30 |
Com podeu observar, és molt recomanable que cada cop que creem una aplicació
web creem també un directori principal o arrel, on desarem tots els nostres fitxers
o arbre de directoris. En el cas de l’exemple l’hem anomenat web. En aquest
directori podem posar el fitxer principal .html (a l’exemple index.html) i crear
els directoris que ens calguin per posar els fitxers multimèdia (imatges, àudios i
vídeos), els estils de l’aplicació, la carpeta pels fitxers de JavaScript o la carpeta
que conté la resta de pàgines HTML que no siguin l’índex principal.
Per tal d’anomenar els fitxers del nostre portal, hem de seguir igualment algunes
regles d’obligat compliment o opcionals però que unifiquin criteris comuns a tot
el portal.
• No feu servir espais en blanc per anomenar els fitxers. Per exemple: “la
Aplicacions Web 36 Fonaments d'(X)HTML
• Penseu que els fitxers segons els sistemes operatius són case sensitive, és a
dir, distingeixen entre majúscules i minúscules. És molt millor posar tots
els noms en minúscula, per unificar criteris.
• Feu servir noms breus pels noms dels fitxers de com a màxim 12 caràcters
com a regla general.
• Feu servir noms que donin una idea de la informació que conté la pàgina
o document. Per exemple: contacte.html, home.html, serveis.html són un
bon exemple, però no pagina1.html o lamevaplana.html.
Es pot configurar el servidor
web per tal que en lloc d’
index.html el fitxer d’inici
tingui un altre nom.
És recomanable que el fitxer d’inici de les aplicacions tingui el nom index.html.
Això fa que l’usuari no hagi d’escriure el nom del fitxer per accedir-hi.
L’objectiu d’aquest apartat ha estat veure una organització per planes anomenades
estàtiques que podem obrir directament sense que intervingui una consulta a cap
servidor web, però les aplicacions webs requereixen de fitxers que “s’executen” al
servidor i que retornen planes (X)HTML amb CSS i JavaScript. Aquests fitxers
fan servir altres llenguatges, dels quals el més comú és PHP. Per aquest motiu
veureu que moltes planes de les aplicacions web tenen extensió .php.
Una vegada vist com s’estructura una pàgina web i com s’organitzen els fitxers
dins d’un portal o aplicació, és important saber com treballen els desenvolupadors
d’interfícies web, quines són les eines habituals de treball al marge dels editors
HTML, per tal de manegar el nostre codi.
Cada navegador té les seves pròpies eines de desenvolupament, a les quals podem
accedir bé pel menú o bé per abreviació de teclat. Tenint en compte els principals
navegadors, podeu consultar la taula de resum (taula 1.3):
Tau l a 1 .3 . Abreviacions de teclat per accés a eines de desenvolupament
Abreviació teclat
A continuació (figura 1.5) veiem un exemple amb una plana senzilla amb molt poc
codi, amb l’eina de desenvolupament de Firefox:
• Si volem fer una instal·lació d’aquesta eina per Firefox hem de fer: Eines >
Aplicacions Web 38 Fonaments d'(X)HTML
2. Etiquetes i atributs
Per confeccionar una pàgina web estàtica és necessari saber com es pot estructurar
tota la informació que ha de contenir l’aplicació; actualment amb HTML5. Hem
de saber, doncs, quins elements podem usar, quina sintaxi utilitzen i en quins casos
s’han de fer servir.
A més a més de les etiquetes que conformen l’estructura d’un document, tenim
disponibles una col·lecció d’etiquetes que ens permetran ordenar la informació
que tenim al cos de la web, la qual cosa donarà un significat semàntic a cada
porció d’informació.
Des que es va introduir HTML5 s’han incorporat noves etiquetes i atributs molt
variats, alhora que han quedat en desús unes altres, ja que es va entendre que
hi havia moltes etiquetes que ja donaven la mateixa funcionalitat i no calia ser
redundants, o simplement per diferenciar millor el que és estructura i semàntica
(HTML) del que és estètica (CSS).
Com a regla general podríem dir que les etiquetes tenen atributs i que segueixen
una nomenclatura com la de la figura 2.1.
A partir d’ara ens centrarem en les etiquetes disponibles a HTML5 i els seus
atributs, tenint en compte que hi ha atributs comuns a totes les etiquetes i d’altres
que poden ser exclusius per a algunes en concret.
Per dissenyar la part visible d’un document o plana web, partirem del concepte cos
del document (marcat amb l’etiqueta <body>) on hem d’incloure tot el contingut
de la web, és a dir, la informació que volem que vegi l’usuari final de l’aplicació
web, tot i que poden existir minoritàriament elements ocults a l’usuari dins del cos.
A l’interior del <body> o cos, disposarem de diferents elements que, amb els seus
atributs, ens permetran aconseguir aquest objectiu.
Aplicacions Web 40 Fonaments d'(X)HTML
1 <!doctype html>
2 <html>
3 <head>
4 <meta charset="UTF−8">
5 <title>.:: Exemple de document web ::.</title>
6 </head>
7 <body>
8
9 <!−− Aquí disposarem de les etiquetes i atributs visibles a la web −−>
10
11
12 </body>
13 </html>
Els elements de bloc, com per exemple els títols, els paràgrafs, les llistes
o les taules, els articles, les seccions, etc. són grans estructures que poden
contenir altres elements de bloc, elements de línia, o text.
Els elements de línia, com per exemple els enllaços, les citacions o les
imatges, són petites estructures que representen o descriuen petits trossos
de text o dades. Poden contenir només text o altres elements de línia.
Les etiquetes poden tenir atributs que acaben de definir l’element. Hi ha una sèrie
d’atributs comuns a la majoria d’elements:
• Atributs globals
• Atributs de llenguatge
Atributs globals
Els atributs globals són atributs genèrics. Són principalment els següents:
• class: serveix per associar un element a una classe. Més d’un element pot
ser anomenat amb la mateixa classe. Ens és molt útil a l’hora de definir
els estils d’una pàgina, ja que podem especificar característiques comunes
a tots els elements que pertanyin a la mateixa classe.
• title: s’usa per posar un text amb una informació breu de l’element. Molts
navegadors mostren aquest text quan es passa per damunt de l’element.
Tot i no ser objecte d’estudi en aquesta unitat, existeixen altres atributs globals com
ara: acceskey, tabindex en totes les versions d’HTML i també contenteditable,
contextmenu, data-*, draggable, dropzone, hidden, spellcheck i translate a la
versió HTML5 que fem servir actualment.
Posem un exemple: imaginem que tenim un paràgraf que volem identificar amb
la cadena descripcio, que pertany a la classe important i que volem que en
Aplicacions Web 42 Fonaments d'(X)HTML
passar-hi per sobre ens aparegui un text amb la frase Aquest paràgraf és molt
important. El codi seria el següent:
Atributs de llenguatge
Per establir l’idioma en el qual està escrit tot el document, s’acostuma a posar en
l’atribut lang de l’etiqueta <html>:
Si al document HTML volem indicar que està escrit en català farem el següent:
1 <html lang="ca">
2 ...
3 </html>
Igualment amb l’atribut dir, podem assignar-li tres possibles valors: <ltr>,
<rtl> i <auto>, indicant si l’escriptura és d’esquerra a dreta, de dreta a esquerra
o si deixem que el propi navegador detecti de quin tipus és respectivament.
1 <html dir="ltr">
2 ...
3 </html>
Els atributs d’esdeveniment són atributs que associen una acció que es realitzarà
quan es produeixi una determinada interacció de l’usuari cap a l’element que té
aquest atribut. Aquests atributs són molt útils quan s’usen en combinació amb el
llenguatge de programació JavaScript.
• Finestra (window events): relacionats amb tot allò que té a veure amb
la finestra. Per exemple quan carreguem un document a la finestra del
navegador o quan redimensionem la finestra, entre d’altres.
Aplicacions Web 43 Fonaments d'(X)HTML
• Formulari (form events): relacionats amb tots els camps que formin part
d’un formulari. Per exemple quan entrem a un camp d’un formulari per
començar a escriure o seleccionar/modificar un camp.
• Mèdia (media events): relacionats amb tot el que té a veure amb imatges,
vídeo o àudio.
• Tàctils (touch events): tenen a veure amb la interacció d’un usuari amb
pantalles tàctils, ja siguin per mòbil, tauleta o qualsevol tipus de pantalles
tàctils.
• etc.
Tot i que l’estudi del llenguatge de programació JavaScript està fora de l’abast
d’aquesta unitat, és interessant saber què volen dir aquests atributs. Per exemple,
Per veure un llistat ordenat si tenim el següent fragment de codi:
segons els tipus i quantitat
d’esdeveniments
disponibles podeu visitar 1 <p onclick="obreFinestra()">Aquest és un paràgraf que ens permet obrir una
w3schools finestra</p>
Hem d’interpretar que quan es faci un clic damunt d’aquest paràgraf, s’executarà
una funció que, segons el seu nom, provocarà l’obertura d’una finestra.
Marcar el text del document vol dir diferenciar les parts d’aquest text per tal de
denotar-ne la major o menor importància, aclarir si una part de text és una citació,
si hi volem fer més o menys èmfasi...
2.2.1 Paràgrafs
Entenem per paràgraf un conjunt de frases que estan relacionades entre si. Els
paràgrafs són elements de tipus bloc i l’etiqueta que s’usa és l’etiqueta <p>.
Si, per exemple, tenim un paràgraf que ens explica què és el llenguatge HTML5,
el marquem de la manera següent:
Els llenguatges d’etiquetes (X)HTML ens permeten crear sis nivells d’encapça-
lament amb les etiquetes <h1>, <h2>, <h3>, <h4>, <h5> i <h6>. Tots aquests
elements són de tipus bloc. L’objectiu del seus ús és la classificació dels continguts
en títol o subtítols, o simplement la creació de diferents nivells de titulars.
A continuació veiem un fragment d’un document HTML5 en què ens expliquen di-
verses característiques d’aquest llenguatge d’etiquetes. Fixem-nos en les etiquetes
d’encapçalament:
1 <h1>HTML5</h1>
2
3 <p>HTML5 és el llenguatge de marques més estès en l’actualitat, per l’elaboraci
ó de pàgines web mitjançant l’ús d’etiquetes i atributs que hi estan
associats.
Aplicacions Web 46 Fonaments d'(X)HTML
4 </p>
5
6 <h2>Història</h2>
7
8 <p>El primer llenguatge HTML va ser escrit l’any 1993 pel físic Tim Berners−Lee
i millorat posteriorment per Dave Raggett que el va anomenar HTML+. No va
ser fins a 1995 que va sortir els primers treballs per l’elaboració d’un
estàndard, anomenat HTML 2.0. Anys després gràcies a W3C van arribar a
popularitzar durant molts anys la versió HTML4 per l’elaboració de pàgines
web, i posteriorment es van incorporar millores gràcies a l’estàndard
HTML5, que és la versió que fem servir en l’actualitat.</p>
9
10 <h2>Parts d’un document HTML</h2>
11 <p> Podem dir que tot document HTML5 conté bàsicament dues parts: el head i el
body, que tenen les seves respectives etiquetes associades.
12 </p>
13
14 <h3>Head</h3>
15
16 <p>En aquesta part del document, fem les definicions i crides a altres fitxers,
que no són visibles pels usuaris, a excepció del títol del document.</p>
17
18 <h3>Body</h3>
19
20 <p>En aquesta part, disposem de totes les etiquetes que volem que siguin
visibles pels usuaris, i que determinen principalment l’estructura dels
documents HTML vers els navegadors.</p>
2.2.3 Èmfasi
Quan volem posar èmfasi a una part de text perquè volem destacar-ne la importàn-
cia, tenim a la nostra disposició dues etiquetes. L’etiqueta <em> serveix per donar
èmfasi i l’etiqueta <strong> per donar molt d’èmfasi.
Imaginem que tenim un paràgraf del qual volem destacar algunes paraules:
Per defecte, la majoria de navegadors mostren el text marcat amb <em> en lletra
cursiva i el text marcat amb <strong> amb lletra negreta, com es veu en la figura
2.4.
Fig ur a 2 . 4. Exemple d’etiquetes d’èmfasi
Dues etiquetes més que podem confondre fàcilment amb <strong> i <em>
Les etiquetes <b> (negreta) i <i> (cursiva) porten a vegades a confusió. Aquestes etiquetes
defineixen directament l’estil del text que contenen, no el significat semàntic.
Per posar alguns exemples pràctics podríem dir que moltes vegades, per qüestió
exclusivament estètica fem servir la negreta, per exemple a titulars o un logo o perquè
volem que a un dispositiu mòbil es vegi millor el text. Això no té associat una finalitat
semàntica d’èmfasi i per aquest motiu hauríem de fer servir l’etiqueta <b> en comptes de
<strong>.
Passa el mateix amb les etiquetes <em>, que denoten que volem marcar un text amb èmfasi
i <i>, que especifica que el text estigui en cursiva.
Heu de pensar també, que hi ha lectors de pantalla (screen readers) per a persones amb
manca de visió, que no tenen en compte l’estètica però sí totes les qüestions relacionades
amb l’èmfasi que l’autor d’un document vol destacar.
2.2.4 Citacions
Quan volem fer referència a un text que no hem escrit nosaltres hem de fer servir
les citacions. Tenim tres etiquetes diferents per descriure-les: <blockquote>,
<q> i <cite>. El seu ús el podeu veure a la següent llista:
• <q>, si la citació és enmig d’un element de bloc (per exemple, dins d’un
paràgraf).
Posem un exemple d’ús d’aquestes etiquetes. Imaginem que estem fent un lloc
web on volem posar una citació de l’escriptor Manuel de Pedrolo:
1 <p>
2 La frase <q>En cap moment no es pot dir <em>per
3 sempre</em></q> de l’escriptor <cite>Manuel de Pedrolo</cite>
4 apareix en el seu llibre <cite>Diari 1986</cite>. Aquí tenim
5 la cita sencera:
6 </p>
7 <blockquote>
8 <p>
9 En cap moment no es pot dir <em>per sempre</em>. En canvi,
10 sempre hi ha un moment en què cal dir <em>mai més</em>.
11 Però: no és el mai més un per sempre? Tanmateix, el per
12 sempre se situa en el temps, mentre el mai més és
13 intemporal.
14 </p>
15 </blockquote>
Cal destacar que dins l’etiqueta <blockquote> no podem escriure text directa-
ment sinó que hem d’afegir una altra etiqueta de bloc (<p>, <div>...).
Si volem forçar un salt de línia podem usar l’etiqueta <br>. No hem d’abusar
d’aquesta etiqueta i només l’hem d’utilitzar en els casos necessaris. Per exemple,
s’ha de forçar un salt de línia en cada vers d’un poema o bé en les línies d’una
cançó. En canvi, no s’ha d’usar per simular paràgrafs ni per deixar més espai
entre paràgrafs (això es podrà fer amb CSS).
1 <p>
2 Col · locades les peces a cada banda<br>
3 del tauler, a les caselles negres,<br>
4 moc una peça endavant.<br>
5 El contrari en juga una de seva.<br>
6 </p>
El navegador ens fa un salt de línia cada cop que troba l’etiqueta <br /> tal com
podem veure en la figura 2.6.
2.2.6 Separadors
Si volem posar un separador horitzontal podem usar l’etiqueta <hr />, que ens
crea una barra horitzontal. Tot i això, com que ens és molt fàcil posar línies
separadores amb CSS, aquesta etiqueta està caient en desús.
2.2.7 Abreviatures
Si volem posar un fragment de text tal com està escrit en el fitxer de text HTML,
hem d’usar l’etiqueta <pre> que ens indica que aquell fragment de text està
preformatat. Aquesta etiqueta fa que tot allò que hi estigui contingut aparegui
exactament igual en el navegador. És a dir, es respecten els espais, els salts de
línia, etc.
1 <pre>
2 |−−web
3 | |−−imatges
4 | | |−−img1.png
5 | | |−−img2.jpg
6 | | |−−img3.gif
7 | | |...
Aplicacions Web 51 Fonaments d'(X)HTML
8 | |−−videos
9 | | |−−video1.mpg
10 | | |−−video2.mpg
11 | | |...
12 | |−−audios
13 | | |−−audio1.ogg
14 | | |−−audio2.mp3
15 | | |...
16 | |−−javascript
17 | | |−−llibreria1.js
18 | | |−−codificacio.js
19 | |−−css
20 | | |−−estil1.css
21 | | |−−estil2.css
22 | | |...
23 | |−−pagines
24 | | |−−quisom.html
25 | | |−−seccio1.html
26 | | |−−seccio2.html
27 | | |−−contacte.html
28 | | |...
29 | |−−index.html
30 | |...
31 </pre>
En les línies de codi següents, que són un exemple de codificació amb JavaScript,
podem veure com es poden usar les etiquetes descrites:
Aquest codi el podem veure en un navegador tal com es mostra en la figura 2.9.
Hi ha dues etiquetes que no tenen un significat semàntic concret. Això ens serveix
per delimitar un tros de text o dades que no s’adeqüen a cap de les etiquetes
existents. Divitis
Amb el pas del temps, cada cop
Per crear un element de bloc genèric usem l’etiqueta <div> i per crear un element s’ha fet més ús de l’etiqueta
<div> per tal de maquetar
de línia genèric usem l’etiqueta <span>. pàgines web. Aquest fenomen
s’anomena a vegades divitis, i fa
referència a l’abús d’aquesta
L’etiqueta <div> ha estat, i és, especialment útil a vegades per maquetar o fer el etiqueta. La nova versió
d’HTML, l’HTML5, incorpora
layout d’un document, és a dir, crear àrees d’agrupacions de contingut per donar- noves etiquetes per establir la
capçalera i peus de pàgina de la
li estructura a un document o bé una estètica concreta amb l’ajuda de CSS a tota web, el menú, les seccions...
Això ens permetrà no haver
l’agrupació. d’usar tantes etiquetes <div>.
També heu de pensar que pels cercadors de contingut (Google, Yahoo, etc.)
aquesta informació semàntica és molt útil per filtrar contingut.
Heu de pensar que gràcies a aquesta estructura, un cop haguem incorporat l’ús
de CSS, podrem maquetar la pàgina web al nostre gust, però és molt aconsellable
no assignar noms als id’s que indiquin una posició exacta, ja que actualment les
pàgines modifiquen les posicions dels blocs en funció de la pantalla amb la qual
les consultem, és a dir, no és el mateix un disseny per veure amb mòbil, o amb una
tauleta, o amb un ordinador; és el que s’anomena disseny adaptatiu o responsive
web design (RWD) en anglès.
Aplicacions Web 54 Fonaments d'(X)HTML
HTML5 inclou diverses etiquetes que solucionen aquest problema. Les veiem
Logotip típic per a la sindicació
Sindicació webweb
llistades a continuació:
La sindicació web és una tècnica
que permet que els articles d’un
lloc web estiguin disponibles des • <section>: secció genèrica del document que agrupa contingut similar.
d’un altre lloc web.
• <aside>: relacionat amb una àrea que envolta altre contingut d’un mateix
element contenidor.
1 <!DOCTYPE html>
2 <head>
3 <title>Títol de la web</title>
4 <meta charset=utf−8">
5 </head>
6 <body>
7 <div id="cap">
8 ...
9 </div>
10 <div id="menu">
11 ...
12 </div>
13 <div id="lateral">
14 ...
15 </div>
16 <div id="cos">
Aplicacions Web 55 Fonaments d'(X)HTML
17 <div id="article1">
18 ...
19 </div>
20 <div id="article2">
21 ...
22 </div>
23 </div>
24 <div id="peu">
25 ...
26 </div>
27 </body>
28 </html>
Vegem ara com podríem codificar aquest mateix document usant algunes les
etiquetes estructurals d’HTML5:
1 <!DOCTYPE html>
2 <head>
3 <meta charset=utf−8">
4 <title>Títol de la web</title>
5 </head>
6 <body>
7 <header>
8 ...
9 </header>
10 <nav>
11 ...
12 </nav>
13 <aside>
14 ...
15 </aside>
16 <section>
17 <article>
18 ...
19 </article>
20 <article>
21 ...
22 </article>
23 </section>
24 <footer>
25 ...
26 </footer>
27 </body>
28 </html>
2.4 Enllaços
L’hipertext
L’etiqueta que té HTML per crear hiperenllaços és l’etiqueta <a>. Els elements
<a> són elements de línia, ja que podem posar enllaços envoltats de text.
Per indicar quin és el destí del nostre enllaç usem l’atribut href. També és
convenient usar l’atribut genèric de tipus global title per posar una breu
descripció de l’enllaç.
Si volem fer un enllaç a una pàgina externa a la nostra aplicació web hem de saber
l’URL complet del document al qual volem fer l’enllaç.
Imaginem que volem fer un enllaç a un article que es pot trobar a l’URL http://
www.creativebloq.com/web-design/10-top-html5-resources-413919, però
que el text que volem que aparegui en el navegador és simplement “Recursos
HTML5”. El codi que hem d’introduir és el següent:
1 <p><a href="http://www.creativebloq.com/web−design/10−top−html5−resources
−413919" title="Article HTML 5">Recursos HTML5
2 5</a></p>
Si l’enllaç que volem fer està dirigit a un document HTML local, és a dir, a un
document que pertany a la mateixa aplicació web, posem, com a valor de l’atribut
href, el camí relatiu al fitxer al qual volem fer l’enllaç.
1 <nav>
2 <a href="index.html" title="Tornar a la pàgina d’inici">Inici</a>
3 <a href="seccions/fotos.html" title="Fotos de la web">Veure les fotos</a>
4 <a href="seccions/activitats.html" title="Activitats actuals">Activitats</a>
5 <a href="seccions/projectes.html" title="Projectes actuals">Projectes</a>
6 <a href="contacte.html" title="Formulari de contacte">Contacte</a>
7 </nav>
En aquest exemple estem suposant que els fitxers de l’aplicació estan organitzats
amb la següent estructura de directoris:
Aplicacions Web 57 Fonaments d'(X)HTML
1 |−−web
2 |−−seccions
3 | |−−fotos.html
4 | |−−activitats.html
5 | |−−projectes.html
6 |
7 |−−index.html
8 |−−contacte.html
2.4.3 Àncores
Alguns documents HTML són molt extensos i ens pot interessar navegar dins la
mateixa pàgina. Per poder fer això hem de fer servir l’atribut global id de les
etiquetes per forçar els punts on volem anar, i posteriorment crear enllaços que hi
apuntin, que posicionaran la pàgina en el lloc concret quan hi cliquem.
Els punts on volem anar s’anomenen àncores. Si, per exemple, volem fer una
àncora a un element <h2> hem d’escriure el codi següent:
Un cop tenim feta l’àncora, hi podem enllaçar des de qualsevol punt del text fent
un enllaç a l’àncora. Els enllaços a àncores es caracteritzen perquè el destí es
denota amb el valor de l’atribut id de l’element al qual volem enllaçar precedit
del caràcter #. Si volem enllaçar a l’àncora creada en l’exemple anterior, escriurem
el codi següent:
Imaginem ara un text molt llarg amb diferents seccions. Per tenir una bona
navegabilitat podem crear un petit índex a l’inici del document que tingui enllaços
cap a les diferents parts del document. A més, també podem fer enllaços que ens
condueixin a l’inici del document:
Aplicacions Web 58 Fonaments d'(X)HTML
1 <h1 id="dalt">Seccions</h1>
2
3 <div id="menu">
4 <a href="#seccio1" title="Secció 1">Anar a la secció 1</a>
5 <a href="#seccio2" title="Secció 2">Anar a la secció 2</a>
6 <a href="#seccio3" title="Secció 3">Anar a la secció 3</a>
7 </div>
8
9 <h2 id="seccio1">Secció 1</h2>
10 <p>...</p>
11 <p><a href="#dalt" title="A dalt">Anar a dalt</a></p>
12
13 <h2 id="seccio2">Secció 2</h2>
14 <p>...</p>
15 <p><a href="#dalt" title="A dalt">Anar a dalt</a></p>
16
17 <h2 id="seccio3">Secció 3</h2>
18 <p>...</p>
19 <p><a href="#dalt" title="A dalt">Anar a dalt</a></p>
Si el que volem és enllaçar a una àncora des d’un altre document podem fer el
següent:
1 <a href="seccions.html#seccio1" title="Secció 1">Anar a la secció 1</a>
2.5 Imatges
Tot i això, hem de vigilar de no abusar de posar massa imatges: hem d’anar amb
cura tant amb el nombre d’imatges, com amb el pes i mida d’aquestes imatges.
El pes d’aquestes imatges pot fer que la navegació per la nostra aplicació sigui
massa lenta, ja que s’ha de descarregar al navegador per tal que sigui visible. Per
aquest motiu es recomana:
• Fer servir imatges comprimides amb JPEG, PNG, GIF, etc. per tal de reduir
els temps de descàrrega.
• Ajustar la grandària de les imatges per tal que s’ajusti a la pàgina prèviament
a introduir-les a la maquetació, i evitar fer servir els seus atributs (width o
height) per reduir-ne la grandària.
L’etiqueta que ens serveix per inserir una imatge és l’etiqueta <img>. Es tracta
d’un element de línia que no té etiqueta de tancament: es tanca en ella mateixa.
L’atribut src ens servirà per dir on està ubicada la imatge: podem posar un URL
extern o el camí del fitxer, si disposem de la imatge localment. També usarem
l’atribut alt, que ens servirà per posar un text alternatiu, en el cas que el navegador
no pogués mostrar o accedir a la nostra imatge. Aquest atribut també és útil pels
Aplicacions Web 59 Fonaments d'(X)HTML
screen readers, és a dir, software llegeix les planes web i les textualitza per tal de
ser escoltades per persones amb dèficit visual.
Si, per exemple, volem inserir una imatge que tenim al directori de nom imatges
que es diu logo.png i, si no es pot visualitzar aquesta imatge, volem que surti el
text “Logo de la web”, hem d’escriure el codi següent:
En el cas que vulguem que una imatge sigui un enllaç, haurem d’enviar correc-
tament les etiquetes <a> i <img>. Per exemple, si volem incorporar el logotip
del W3C per destacar que la nostra pàgina ha passat el nivell de conformitat
d’accessibilitat AA i, a més, volem enllaçar aquesta imatge cap al validador en
línia que ens ofereix el W3C (i així mostrar que realment el nostre document és
vàlid), posarem el codi següent: Els nivells de conformitat
d’Accessibilitat es
fonamenten en la valoració
1 <a href="http://www.w3.org/WAI/WCAG2AA−Conformance" title="Explanation of WCAG d’uns indicadors regulats
2.0 Level Double−A Conformance"> pel W3C, que determinen
2 <img height="32" width="88" quin nivell d’assoliment de
conformitat compleix una
3 src="http://www.w3.org/WAI/wcag2AA" pàgina web dels tres que
4 alt="Level Double−A conformance, existeixen A, AA i AAA. Un
5 W3C WAI Web Content Accessibility Guidelines 2.0"> nivell superior (AAA) indica
que és una pàgina molt més
6 </a> accessible per a tothom.
1 <!doctype html>
2 <html>
3 <head>
4 <meta charset="UTF−8">
5 <title>.:: Càmera amb Canvas</title>
6 </head>
7 <body>
8 <canvas id="canvas">
9 El teu navegador no suporta l’etiqueta <canvas>.
10 </canvas>
11 <script>
12 var canvas = document.getElementById(’canvas’);
13 var ctx = canvas.getContext(’2d’);
14
15 canvas.width = 700;
16 canvas.height = 500;
17
18 // fons
19 ctx.fillRect(0, 0, canvas.width, canvas.height);
20
21 // Quadrat central
22 ctx.fillStyle = ’rgba(255, 255, 0, 1.0)’;
23 ctx.fillRect(200, 200, 250, 150);
24
25 //Triangle
26 ctx.beginPath();
27 ctx.moveTo(450,270);
28 ctx.lineTo(540,320);
29 ctx.lineTo(540,220);
30 ctx.fillStyle = ’rgb(255, 255, 0)’;
31 ctx.fill();
32
33 // cercle gran
34 ctx.beginPath();
35 ctx.arc(240, 140, 60, 0, (Math.PI/180)*360, false);
36 ctx.fillStyle = ’rgb(255, 255, 0)’;
37 ctx.fill();
38
39 // cercle petit
40 ctx.beginPath();
41 ctx.arc(370, 160, 40, 0, (Math.PI/180)*360, false);
42 ctx.fillStyle = ’rgb(255, 255, 0)’;
43 ctx.fill();
44
45 </script>
46 </body>
47 </html>
Veiem en la figura 2.12 el resultat del nostre codi tal com es veuria en el navegador.
Aplicacions Web 61 Fonaments d'(X)HTML
Fi gura 2.1 2 . Una imatge iconogràfica d’una càmera feta amb el llenç d’HTML5 i
JavaScript
2.7 Àudio
L’etiqueta <source> s’insereix dins l’etiqueta <audio> i ens serveix per donar
diverses alternatives de format de fitxer al navegador, ja que no tots els navegadors
suporten tots els formats. Així, si el navegador no suporta un format d’àudio, en
podrà escollir un altre. A la taula 2.1 es mostren les compatibilitats per diversos
navegadors i formats d’àudio.
Aplicacions Web 62 Fonaments d'(X)HTML
El resultat de l’ús d’aquesta etiqueta, és el que mostra la figura 2.13, tot i que
depenent del navegador l’estètica del reproductor pot variar.
Igualment l’etiqueta <audio> es pot combinar amb codi JavaScript per tenir un
millor control i donar-li molts més usos, per exemple a l’hora de fer llistes de
reproducció o jocs.
Aplicacions Web 63 Fonaments d'(X)HTML
2.8 Vídeo
De la mateixa manera que amb l’àudio, tenim l’etiqueta <video>, per reproduir
vídeo en HTML5. Els atributs més rellevants són:
2.9 Llistes
Les llistes són el recurs que ens serveix per fer una enumeració. Hi ha tres tipus
de llista: les llistes ordenades, les llistes desordenades i les llistes de definició.
Tot i que inicialment, les llistes ordenades <ol> i desordenades <ul> són molt
diferenciades, des de CSS podem modificar l’estètica i arribar a obtenir el mateix
aspecte.
Les llistes ordenades són les llistes en què necessitem que els elements estiguin
numerats. Per marcar l’inici i el final de la llista usem l’etiqueta <ol> (ordered
list) i per marcar cada element de la llista usem l’etiqueta <li> (list item).
Imaginem que estem fent una recepta de cuina i volem enumerar els passos que
hem de seguir. El codi seria el següent:
1 <h2>Preparació</h2>
2 <ol>
3 <li>Batre els ous</li>
4 <li>Escalfar l’oli en una paella</li>
5 <li>Tirar els ous batuts a la paella</li>
6 <li>Embolicar la truita</li>
7 </ol>
Les llistes desordenades són les llistes en què no necessitem que els elements
estiguin numerats, és a dir, no cal tenir en compte l’ordre de l’enumeració. Per
marcar l’inici i el final de la llista usem l’etiqueta <ul> (unordered list) i per
marcar cada element de la llista usem l’etiqueta<li> (list item).
Si, per exemple, volem llistar tots els ingredients necessaris per fer una truita a la
francesa, ho codifiquem de la manera següent:
1 <h2>Ingredients</h2>
2 <ul>
3 <li>Ous</li>
4 <li>Sal</li>
5 <li>Oli</li>
6 </ul>
Si per exemple volguéssim definir els termes HTML, CSS i JavaScript, podem
usar aquest tipus de llistes, que es visualitzen com mostra la figura 2.16.
1 <dl>
2 <dt>HTML</dt>
3 <dd>Llenguatge de marques dissenyat per estructurar textos i relacionar−los
en forma
Aplicacions Web 66 Fonaments d'(X)HTML
4 d’hipertext.</dd>
5
6 <dt>CSS</dt>
7 <dd>Llenguatge creat per definir l’aspecte de documents estructurats amb HTML
principalment.</dd>
8
9 <dt>JavaScript</dt>
10 <dd>Llenguatge de programació interpretat, que fem servir principalment al
navegador, per donar més dinamisme als documents HTML.</dd>
11 </dl>
Si volem fer llistes complexes, és a dir, inserir llistes dins d’altres llistes, també
podem fer-ho. Només hem de vigilar d’obrir i tancar les etiquetes correctament:
si volem encapsular una llista, ja sigui numerada o no numerada. Aquesta llista
ha de ser dins d’un ítem (<li>) de la llista mare.
Com a exemple, podem pensar els passos per la realització d’un disseny web de
l’entorn client:
2.10 Taules
Les taules són un recurs que ens permet mostrar informació tabulada en files i
columnes.
Antigament molts llocs web feien servir les taules per maquetar la seva estructura,
és a dir, si per exemple, la web té un menú lateral i un cos, es codifica una taula
de dues columnes i es posa el contingut de la web en les cel·les d’aquesta taula.
Actualment no és treballa així, i hem d’evitar aquesta pràctica, ja que complica el
codi innecessàriament, i dóna poca flexibilitat a l’hora de redistribuir columnes en
dissenys per mòbils o tauletes, és a dir, no es pot fer una web adaptativa.
Per maquetar actualment hem de fer ús dels elements <div> conjuntament amb
fulls d’estils CSS, o elements estructurals i semàntics com ja hem vist a apartats
anteriors. Podem usar etiquetes com ara, <header>, <footer>, <section>,
<aside>, etc.
Aplicacions Web 68 Fonaments d'(X)HTML
L’ús de taules té molta utilitat quan és per presentar informació tal com ho
faríem amb full de càlcul; taules que acompanyen informació estadística,
llistes de resultats, llistats comparatius, enumeració tabulada, etc.
• <table>: estableix on comença i on acaba una taula. Els seus atributs són:
• <thead>: ens permet agrupar les diferents files de la taula que formen la
capçalera d’aquesta taula. Els seus atributs són:
• <tfoot>: ens permet agrupar les diferents files de la taula que en formen
el peu. Té els mateixos atributs que l’etiqueta <thead>.
De vegades voldrem agrupar les files en grups, per denotar quines files formen
la capçalera de la taula, quines el peu i si hi ha diferents agrupacions en les files
que conformen el cos de la taula. Per tal de fer això, usem les etiquetes <thead>,
<tfoot> i <tbody>, respectivament.
Imaginem que volem fer una taula de 7 files i 2 columnes. La primera fila és la
capçalera de la taula; les cinc següents conformen el cos de la taula, i l’última és
el peu. Tindrem el codi següent, el resultat del qual es pot veure en la figura 2.18:
1 <table border="1">
2 <thead>
3 <tr>
4 <th>Alumne</th>
5 <th>Nota</th>
6 </tr>
7 </thead>
8 <tfoot>
9 <tr>
10 <th>Mitjana</th>
11 <th>5</th>
12 </tr>
13 </tfoot>
14 <tbody>
15 <tr>
16 <td>Albert Pàmies</td>
17 <td>3</td>
18 </tr>
19 <tr>
20 <td>Sara Ortega</td>
21 <td>10</td>
22 </tr>
23 <tr>
24 <td>José González</td>
25 <td>6,5</td>
26 </tr>
27 <tr>
28 <td>Laia Nieto</td>
29 <td>4,5</td>
30 </tr>
31 <tr>
32 <td>Raúl Valverde</td>
33 <td>6</td>
34 </tr>
35 </tbody>
36 </table>
Observem que, en el codi, la fila que fa de peu de taula es pot escriure abans que
les que fan de cos, ja que el navegador ja sap que és el peu, atès que està marcat
amb l’etiqueta <tfoot>.
Les taules simples ens permeten fer una quadrícula de x files i y columnes, però
ens podem trobar amb la necessitat de voler fusionar cel·les tan horitzontalment
com verticalment. Per aconseguir aquest objectiu l’etiqueta <td> disposa de dos
atributs: colspan i rowspan.
L’atribut colspan serveix per fusionar dues o més cel·les horitzontalment. L’atri-
but es posa a la cel·la que ha d’ocupar més d’una columna i se li dóna com a valor
el nombre de columnes que ha d’ocupar.
L’atribut rowspan serveix per fusionar dues o més cel·les verticalment. L’atribut
es posa a la cel·la que ha d’ocupar més d’una fila i se li dóna com a valor el nombre
de files que ha d’ocupar.
Imaginem que volem posar l’horari escolar que es veu en la figura 2.19. Per
aconseguir-ho hem d’escriure el codi següent:
1 <table border="1">
2 <caption>Horari</caption>
3 <thead>
4 <tr>
5 <th> </th>
6 <th>Dilluns</th>
7 <th>Dimarts</th>
8 <th>Dimecres</th>
9 <th>Dijous</th>
10 <th>Divendres</th>
11 </tr>
12 </thead>
13 <tbody>
14 <tr>
15 <td>16.00−16.55</td>
16 <td rowspan="2">Bases de dades</td>
17 <td rowspan="2">Xarxes</td>
18 <td rowspan="2">Programació Estructurada</td>
19 <td>Xarxes</td>
20 <td>Bases de dades</td>
21 </tr>
22 <tr>
23 <td>16.55−17.50</td>
24 <td rowspan="2">Sistemes Operatius</td>
25 <td rowspan="2">Xarxes</td>
26 </tr>
27 <tr>
28 <td>17.50−18.45</td>
29 <td>Programació Estructurada</td>
30 <td>Programació Estructurada</td>
31 <td>Bases de dades</td>
32 </tr>
33 </tbody>
34 <tbody>
35 <tr>
36 <td>18.45−19.15</td>
37 <td colspan="5">Pati</td>
Aplicacions Web 71 Fonaments d'(X)HTML
38 </tr>
39 </tbody>
40 <tbody>
41 <tr>
42 <td>19.15−20.10</td>
43 <td>Programació Estructurada</td>
44 <td>Programació Estructurada</td>
45 <td rowspan="2">FOL</td>
46 <td rowspan="2">Programació Estructurada</td>
47 <td rowspan="2">RAT</td>
48 </tr>
49 <tr>
50 <td>20.10−21.05</td>
51 <td rowspan="2">Sistemes Operatius</td>
52 <td>Sistemes Operatius</td>
53 </tr>
54 <tr>
55 <td>21.05−21.45</td>
56 <td> </td>
57 <td> </td>
58 <td>Tutoria</td>
59 <td> </td>
60 </tr>
61 </tbody>
62 </table>
2.11 Formularis
Els formularis web ens serveixen per interactuar amb l’usuari i perquè aquest
usuari ens pugui transmetre informació. Aquesta informació es pot processar de
diferents maneres, segons les necessitats de l’aplicació web.
4. Llista de selecció
5. Botons d’opcions
7. Caselles de verificació
8. Àrea de text
Cadascun dels controls d’un formulari ha de tenir l’atribut name, amb el qual
s’identifica la dada que es vol enviar.
Posem un exemple: tenim un camp de text l’objectiu del qual és que l’usuari
introdueixi el seu nom i suposem que l’usuari introdueix “Pau”. Si el valor de
l’atribut name del camp de text és nom (name=“nom”), la informació que s’enviarà
és nom=Pau. Fixem-nos en el codi d’aquest formulari:
4 <legend>Dades personals</legend>
5 <input type="hidden" name="oculto" value="0">
6 <div>
7 <label for="inom">Nom:</label>
8 <input type="text" name="nom" id="inom" placeholder="Nom">
9 <label for="icognoms">Cognoms:</label>
10 <input type="text" name="cognoms" id="icognoms" placeholder="Cognoms">
11 </div>
12 <div>
13 <label for="idni">DNI:</label>
14 <input type="text" name="idni" placeholder="P.ex: 45987989X">
15 </div>
16 <div>
17 <label for="iusername">Username:</label>
18 <input type="text" id="iusername" name="username">
19 <label for="iclau">Clau:</label>
20 <input type="password" id="iclau" name="clau">
21 <label for="ireclau">Repetir Clau:</label>
22 <input type="password" id="ireclau" name="reclau">
23 </div>
24 <div>
25 <label for="iemail">E−Correu:</label>
26 <input type="text" name="email" id="iemail" placeholder="usuari@domini.org"
>
27 <label for="ifranjaedat">Franja d’edat: </label>
28 <select name="edat" id="ifranjaedat">
29 <option value="menor16">Menor que 16 anys</option>
30 <option value="menor21">Entre 16 i 21 anys</option>
31 <option value="major21">Major de 21 anys</option>
32 </select>
33
34 </div>
35 <div>
36 Sexe:
37 <input type="radio" name="sex" id="ihome" value="home">
38 <label for="ihome">Home</label>
39 <input type="radio" name="sex" id="idona" value="dona">
40 <label for="ihome">Dona</label>
41 </div>
42 <div>
43 </div>
44 <div>
45 <label for="ipais_code">Codi País:</label>
46 <input type="text" id="ipais_code" name="pais_code" pattern="[A−Za−z]{2}"
placeholder="Codi del pais dos caracters">
47 <label for="izip_code">Codi ZIP:</label>
48 <input type="text" id="izip_code" name="zip_code" pattern="[0−9]{5}"
placeholder="El codi postal">
49 </div>
50 <div>
51 <label >Imatge Personal:</label>
52 <input type="file" name="imatge" id="iimatgepersonal">
53 </div>
54 </fieldset>
55 <fieldset>
56 <legend>Altres dades d’interès</legend>
57 <div>Interessos:<br>
58 <input type="checkbox" name="interessos" value="css">
59 CSS
60 <input type="checkbox" name="interessos" value="html5">
61 HTML5
62 <input type="checkbox" name="interessos" value="javascript">
63 Javascript
64 </div>
65 <div><label>Coneixements:</label><br>
66 <input type="checkbox" name="coneixaments" value="xarxessociales">
67 Xarxes Socials
68 <input type="checkbox" name="coneixaments" value="programaciohtml">
69 Programació HTML
70 <input type="checkbox" name="coneixaments" value="programacioCSS">
Aplicacions Web 74 Fonaments d'(X)HTML
71 Programació CSS
72 <input type="checkbox" name="coneixaments" value="Disseny">
73 Disseny
74 </div>
75 <div>
76 <label>Comentaris:</label><br>
77 <textarea rows="10" cols="50" name="coment">Aquí disposeu d’espai per
escriure</textarea>
78 </div>
79 </fieldset>
80 <div>
81 <input type="submit" value="Enviar"><input type="reset" value="Esborrar">
82 </div>
83 </form>
• htmltest.com
• caniuse.com
• method: ens permet dir de quina manera enviem la informació. Tenim dues
possibilitats: si el valor de l’atribut és get enviem la informació juntament
amb l’URL de destí, i d’aquesta manera és visible a la barra de navegació.
Si el valor de l’atribut method és post, la informació s’envia dins de la
capçalera HTTP que fa la petició.
qui rep les dades i les gestiona. Suposem primer que el mètode d’enviament és de
tipus get:
Suposem que canviem el mètode d’enviar les dades pel mètode de tipus post:
Capçalera HTTP
Per tal de veure les capçaleres HTTP quan s’usa el mètode POST, podríem usar un
analitzador de xarxes, com pot ser el programa Wireshark. Un exemple de capçalera HTTP
amb POST fent la captura amb aquest programa ens retornaria el següent:
• enctype: aquest atribut ens indica el tipus de contingut que enviem amb
el formulari (quan el mètode és de tipus post). Per defecte, el valor
és application/x-www-form-urlencoded. Si el formulari ens permet
enviar un fitxer hem de canviar aquest valor per multipart/form-data.
Aplicacions Web 76 Fonaments d'(X)HTML
El resultat és el següent:
En un formulari, podem
Hi ha uns quants atributs, a part del globals, que podem assignar a cadascun dels
saltar de control en control controls d’un formulari. Els més destacables són els següents:
sense necessitat d’usar el
ratolí o pulsació tàctil,
prement la tecla del
tabulador.
• tabindex: indica la posició en l’ordre de tabulació.
• pattern: permet posar una expressió regular que haurà de complir el text
introduït per l’usuari.
Els camps de text són els camps en què l’usuari pot introduir un text relativament
curt, en cas que sigui llarg es recomana fer servir una altra etiqueta i tipus
anomenat <textarea>, que veurem en un altre apartat. Per crear un camp de text
usem l’etiqueta <input type=“text” />. A més, tenim els atributs següents:
Seguint l’exemple de l’associació de text i controls, que hem vist amb anterioritat,
hem afegit al camp que mesuri l’espai que ocuparien 30 caràcters però que hi
permetem que se n’escriguin fins a 100. Això seria:
Els camps de contrasenya són els camps en què l’usuari pot introduir una contra-
senya, ja que el text que s’introdueix queda “camuflat” amb asteriscos o punts. Per
crear un camp de contrasenya usem l’etiqueta <input type=“password” /> i
els mateixos atributs que utilitzem per als camps de text. Un exemple de camp de
contrasenya seria el següent:
Abans d’HTML5 no existia aquest tipus d’entrada i fèiem servir el tipus text
controlant amb JavaScript el valor introduït. L’etiqueta email serveix per escriure
una adreça de correu electrònic. Si el navegador detecta que el que ha escrit
l’usuari és invàlid, mostrarà un error. Vegem el codi en un exemple:
1 <label for="mail">E−mail:</label>
2 <input type="email" id="email" name="email" />
Les expressions regulars
són patrons que ens
indiquen condicions que
han de complir determinats Com hem dit abans, fent servir l’atribut pattern a una etiqueta de tipus text,
textos. Per exemple al
correu, ha d’existir un podríem arribar a fer el mateix fent ús d’una expressió regular.
domini TLD, ha de contenir
el caràcter @, no es pot fer
servir caràcters no
alfanumèrics per començar,
etc.
number: serveix per escriure un nombre. A més, podrem fer restriccions del
nombre introduït a partir dels següents atributs:
range: és una barra de desplaçament que simula un nombre en un rang. Per tal
d’establir el rang disposem dels mateixos atributs que el tipus number: min, max
i step.
1 <label for="rang">Rang:</label>
2 <input name="rang" id="rang" type="range" value="0" min="0" max="100"/>
Vegem un exemple:
1 <label for="data">Data:</label>
2 <input type="date" id="data" name="data" />
Si volguéssim fer servir altres tipus com ara month, time, etc, hauríem de
substituir l’atribut type de l’etiqueta input pel valor corresponent.
El camp de tipus color serveix per a camps que han de contenir un color. El codi
seria:
1 <label for="color">Color:</label>
2 <input type="color" id="color" name="color" />
Serveix per a camps de cerca i cal fer servir el valor search per l’atribut type de
la etiqueta input. El seu comportament és molt semblant a un camp de tipus text.
El codi seria:
1 <label for="cerca">Cerca:</label>
2 <input type="search" id="cerca" name="cerca" />
Els botons d’opció ens permeten triar una i només una de les opcions que se’ns
ofereixen. Per crear un botó d’opció usem l’etiqueta <input type=“radio” />.
A més, tenim els atributs següents:
• name: nom del control. És molt important fer servir el mateix nom per
agrupar botons d’opcions que pertanyen a la mateixa selecció, de forma que
exclusivament un sigui seleccionable alhora.
Fixem-nos que per tal que el formulari sàpiga que aquests botons d’opció estan
relacionats, donem el mateix valor a l’atribut name.
Vegem un altre exemple, en què apareixen tres botons d’opció i com es mostra en
el navegador (figura 2.27):
Observem que els tres controls tenen el mateix valor en el camp name (edat).
Així, quan trametem el formulari, ens arriba una de les tres possibilitats següents:
edat=menor o bé edat=major o bé edat=jubilat. També observem que hi
ha una selecció marcada per defecte amb l’atribut checked assignat al valor
checked.
Les caselles de verificació ens permeten triar una opció o més de diverses
possibilitats. Per crear una casella de verificació usem l’etiqueta <input
type=“checkbox” />. A més, tenim els mateixos atributs que amb els botons
d’opció.
En aquest cas l’atribut name no ha de ser el mateix ja que es pot prémer una o més
d’una de les caselles de verificació. Fixem-nos en l’exemple i com es mostra en
el navegador (figura 2.28):
Les llistes de selecció tenen dos formats: les llistes de selecció simple, que ens
deixen escollir una única opció d’un llistat de possibilitats i les llistes de selecció
múltiple, que ens deixen escollir més d’una opció (prement la tecla Ctrl mentre
seleccionem les diverses opcions).
La funció de la llista de selecció simple és similar als botons d’opció (només es pot
triar una opció), mentre que la funció de la llista de selecció múltiple és similar a
les caselles de verificació (podem triar més d’una opció). Malgrat això, el format
de presentació i el funcionament del control és diferent.
està continguda dins de l’etiqueta <select> que al seu torn conté el text de
l’opció que s’ha de seleccionar. Té els atributs següents:
En aquest cas, es permet que l’usuari marqui diverses opcions. Si per exemple,
marca que ha visitat les poblacions Sant Salvador i Segur de Calafell, s’envia
municipi=Sant+Salvador&municipi=Segur+de+Calafell. La figura 2.29
recull com es mostra en un navegador.
L’etiqueta <datalist> és una llista de dades que podem associar a diferents tipus
de camp <input>, i que pot funcionar igualment a tall de suggeriment. Quan
l’usuari vol introduir un valor en un camp, l’ajudarem a completar-ho amb valors
llistats dins del <datalist>, tot i que pot escollir de propis. A més a més, podem
canviar/ajudar allò que introdueix l’usuari pel valor correcte. Això pot ser molt
útil per a codis en els quals l’usuari en sap la descripció, però no el codi.
Dins de l’element <datalist> tindrem diversos elements <option> amb els se-
güents atributs:
Aplicacions Web 86 Fonaments d'(X)HTML
Vegem un exemple: suposem que volem que l’usuari de la nostra aplicació web
hagi d’escriure el codi d’un aeroport. Normalment els usuaris saben les ciutats o
la zona on hi ha l’aeroport, però no saben el codi. Podríem ajudar-lo mitjançant
un <datalist>:
1 <form action="accio.php">
2 <label for="aeroport">Aeroport: </label>
3 <input type="text" id="aeroport" name="aeroport" list="codis_aeroports" />
4 <datalist id="codis_aeroports">
5 <option label="Barcelona" value="BCN"></option>
6 <option label="El Prat" value="BCN"></option>
7 <option label="Bilbao" value="BIO"></option>
8 <option label="Girona" value="GRO"></option>
9 <option label="Menorca" value="MAH"></option>
10 <option label="Mahó" value="MAH"></option>
11 </datalist>
12 <input type="submit" value="Envia dades" />
13 </form>
En la figura 2.31 podem veure com el control ajuda l’usuari, i en la figura 2.32
podem veure què passa quan l’usuari selecciona l’ajuda que se li ofereix.
Com hem apuntat abans, la llista de dades pot fer-se servir amb altres tipus
d’inputs, com ara range, color, time, datatime-local, date, week o moth,
tot i que això depèn del navegador on les visualitzem, ja que no tots tenen
aquests tipus d’inputs i cal consultar-ho amb anterioritat a algun portal com ara
www.html5test.com o www.caniuse.com.
La seguretat a la xarxa és un factor que cada cop ha esdevingut més important atesa
la immensa quantitat de traspàs de dades sensibles a través de la xarxa. És per això
que HTML5 incorpora una etiqueta que fa que l’enviament de dades sigui més
segur. L’etiqueta s’anomena <keygen> i si l’usem es generen un parell de claus
per tal de comunicar-se amb el servidor web a qui se li vol enviar la informació.
L’etiqueta <output> serveix per mostar els resultats d’alguna operació feta
generalment amb Javascript.
Tot i que haurem d’usar una mica de JavaScript per tal de veure’n la utilitat. Com
a exemple, suposem que l’usuari entra un preu sense IVA i l’IVA a aplicar i volem
que es vagi recalculant el preu amb IVA si canviem els valors. El codi seria el
següent:
Les àrees de text permeten que l’usuari de l’aplicació web enviï una porció de
text més gran que amb els camps de text. L’etiqueta que ens permet inserir una
àrea de text és <textarea>. Els atributs que podem usar amb aquesta etiqueta
són els següents:
Vegem un exemple de control d’àrea de text en què deixem a l’usuari cinc files i
trenta columnes visibles per escriure. El text que està entre les etiquetes d’inici i
fi és el text que surt per defecte a l’àrea de text:
2.11.20 Botons
Els botons d’un formulari ens serveixen per fer accions quan els premem. Tenim
tres tipus de botons:
• Botó genèric: podem inserir botons en els quals podem afegir noves
funcions mitjançat codi de programació. Per poder fer això usem l’etiqueta
<button>. El valor que ens apareix al botó és allò que posem entre l’inici i
el final de l’etiqueta. Podem posar tant text com imatges. Aquest control té
els atributs següents:
– type: defineix quin tipus de botó és. Pot prendre els valors següents:
submit (amb la mateixa funció que els botons d’enviament de formu-
lari), reset (amb la mateixa funció que els botons de restabliment de
formulari) o button (botó genèric).
– name: nom del control
– value: valor que es tramet quan premem el botó.
Fixem-nos que l’etiqueta <button> no es tanca en ella mateix i per tant podem
inserir qualsevol cosa dins del botó com, per exemple, una imatge o el text que ha
d’aparèixer:
En alguns casos ens pot interessar tenir en un formulari un control amb un valor
concret, però que no sigui ni visible ni directament modificable per l’usuari final.
Per inserir un control d’aquest tipus s’usa l’etiqueta <input type=“hidden” />.
Els atributs que s’usen amb aquest control són els següents:
En ocasions ens interessa introduir contingut dins d’una pàgina d’una altra pàgina.
En aquests casos el que fem servir són els marcs flotants amb l’ús de l’etiqueta
<iframe>, indicant amb l’atribut src l’origen del contingut a mostrar dins del
marc creat.
Un exemple de codificació per mostrar el contingut dins d’una pàgina del portal
de l’IOC per defecte, seria el següent:
A l’etiqueta <iframe> hem afegit l’atribut width i height per donar-li una
amplada i alçada respectivament al marc flotant, i també hem fet ús de l’atribut
name per posar-li un nom i posteriorment fer-ho servir a l’etiqueta <a>. Això ens
permet indicar-li amb l’atribut target de l’enllaç, quin marc flotant serà el destí
de l’enllaç quan cliquem, és a dir, posarà el contingut que marca l’enllaç a dins
del marc flotant. A la figura 2.36 veiem el resultat del codi anterior.
Aplicacions Web 91 Fonaments d'(X)HTML
2.13 Mapes
La combinació de l’etiqueta <a> amb l’etiqueta <img> ens permet fer que una
imatge sigui alhora un enllaç. Però si el que volem és que segons el punt d’una
imatge on premem ens porti a un enllaç o a un altre, haurem de recórrer a un altre
recurs: els mapes sensibles.
Els mapes sensibles són imatges que presenten múltiples enllaços segons la
zona on se situï el cursor.
Hi ha dos tipus de mapes, els mapes gestionats des del client i els mapes gestionats
des del servidor.
La primera tasca que cal fer quan confeccionem un mapa sensible gestionat des
del client és dividir la imatge en zones. Per tal de fer això hem de delimitar Eines de confecció de
mapes
aquestes zones establint-ne les coordenades.
Confeccionar un mapa “a mà” i
obtenir les coordenades
Hi ha diversos programes de dibuix que ens permeten veure les coordenades de necessàries pot arribar a ser molt
laboriós. Existeixen diversos
cada punt de la imatge. També tenim eines específiques per a la creació de mapes programes que ens poden ajudar
en aquesta tasca. Podem posar
d’imatges que ofereixen aquesta possibilitat. com a exemples el programa
kimagemapeditor o el connector
imagemap del programa de
Si volem utilitzar mapes sensibles, hem de fer dues actuacions: declarar el mapa tractament d’imatges GIMP.
i assignar-lo a una imatge. Vegem com podem fer aquests dos passos:
Aplicacions Web 92 Fonaments d'(X)HTML
1 <map name="nom_mapa">
2 <area shape="..." coords="..." href="..." alt="..." />
3 ...
4 </map>
A l’etiqueta <map> hi establim el nom del mapa i a les etiquetes <area> hi definim
cadascuna de les zones del mapa. Els atributs per fer-ho són els següents:
• shape: defineix la forma de la zona, que pot ser rectangular (rect), circular
(circ) o poligonal (poly).
El nom del mapa sempre ha d’anar precedit del símbol # i ha de coincidir amb
l’atribut name de l’etiqueta <map>.
Imaginem que tenim la imatge que es veu en la figura 2.37 i volem que en prémer
sobre qualsevol de les quatre figures es faci una consulta a la Viquipèdia que
correspongui a cadascuna d’elles. El codi complet seria el següent:
L’objectiu dels mapes gestionats des del servidor és enviar al servidor les coorde-
nades del punt on s’ha premut. En el servidor hi haurà un programa que sap com
s’han de gestionar aquestes coordenades (per exemple, enviar a una altra pàgina
segons on s’hagi premut). Per tal de fer això hem d’usar l’atribut ismap=“ismap”
de l’etiqueta <img>. Per exemple:
2.14 Objectes
Altres etiquetes HTML5 per
a objectes concrets
HTML5 incorpora etiquetes
L’etiqueta <object> neix per oferir una solució universal a la inclusió de qualsevol
pròpies per inserir objectes de
diversos tipus. Per exemple
tipus de fitxers en els documents HTML, de manera que els navegadors rebin la
tenim l’etiqueta <audio> per a informació necessària per tractar l’objecte (fitxer incrustat en el document).
inserir so o l’etiqueta <video>
per a inserir vídeos. Tot i això,
HTML5 continua conservant Com a regla general, l’etiqueta <object> serveix per definir un objecte o
l’etiqueta genèrica <object>
que ja existia a HTML4, amb component extern al navegador que s’encarrega de reproduir l’objecte (so, anima-
l’objectiu d’englobar qualsevol
tipus d’objecte. ció, vídeo, connectors, documents...). Per aconseguir una reproducció correcta,
l’etiqueta <object> ha de permetre declarar l’objecte, la seva ubicació i el seu
tipus, i unes etiquetes optatives especials, <params>, permeten acabar de definir
els valors o paràmetres que aquest necessiti.
De tot això es dedueix que hi ha dos punts importants perquè un objecte es pugui
reproduir correctament:
En la utilització diària d’Internet, ens beneficiem dels tipus MIME. Cada vegada
que sol·licitem una pàgina d’Internet, s’obre un diàleg entre el nostre navegador
i el servidor que proporciona la pàgina. El nostre navegador demana la pàgina i
el servidor, abans d’enviar-la, confirma que existeix i comprova el tipus de dades
que conté. Això darrer es fa mitjançant el tipus MIME que correspongui.
La gestió del tipus MIME en el web té lloc en tres punts ben diferenciats:
2. En la pàgina web, en què l’autor pot fer referència a tipus MIME, tot i que
és merament consultiu. Els enllaços a arxius externs (fulls d’estils, scripts de
JavaScript, objectes incrustats...) es feien servir en versions anteriors a HTML5
indicant el tipus de l’arxiu enllaçat amb l’atribut type. A continuació posem
alguns exemples, tot i que si no l’indiquem als dos primers casos, el navegador ja
dóna per defecte un comportament adequat:
• Definició d’objectes:
3. En el navegador del client, que ha d’estar capacitat per interpretar els tipus
MIME que el servidor li envia i, fins i tot, ha de poder informar el servidor dels
tipus MIME que pot acceptar.
La taula 2.3 recull alguns dels tipus MIME amb les extensions de fitxers més
habituals.
Taul a 2. 3. Recull de tipus MIME i extensions de fitxers associades
2.14.2 Connectors
Per reproduir fitxers encastats dins les pàgines web com a objectes genèrics, els
navegadors necessiten tenir instal·lat el connector adequat.
El fet que el sistema operatiu disposi d’una aplicació que pugui reproduir un de-
terminat arxiu (corresponent a un tipus MIME) no és garantia que els navegadors
instal·lats en aquell sistema tinguin instal·lat el connector corresponent.
Els navegadors, en rebre pàgines web que contenen tipus MIME no suportats,
haurien d’oferir a l’usuari, tal com recomana el W3C, la possibilitat d’instal·lar-los
d’una manera senzilla.
Si es vol saber els connectors que es tenen instal·lats al navegador Firefox s’ha
d’escriure about:plugins a la barra de navegació. El navegador ens mostra un
document HTML amb la informació corresponent de tots els connectors instal·lats,
com es veu en la figura 2.38. La informació que dóna és molt interessant:
connectors instal·lats (versió i nom del fitxer corresponent) i, per a cada connector,
la relació de tipus MIME als quals pot donar servei.
Aplicacions Web 98 Fonaments d'(X)HTML
1 <div class="canco">
2 <h2>01 − Requiem for a fish</h2>
3 <object data="media/01−TheFreakFandangoOrchestra−Requiemforafish.mp3" type="
audio/mpeg" width="250" height="250">
4 <param name="autoplay" value="false" />
5 <param name="autoStart" value="0" />
6 No es pot accedir a l’àudio. Baixa−te’l d’<a href="media/01−
TheFreakFandangoOrchestra−Requiemforafish.mp3">aquí</a>
7 </object>
8 </div>
Per tal d’editar documents (X)HTML, en tenim prou amb qualsevol editor de text
pla. Tot i així, existeixen eines més elaborades que ens faciliten la feina. Són els
anomenats editors HTML o gestors HTML.
Tot i que podem fer múltiples classificacions d’aquests editors i gestors, una
diferència important és com es generen els documents (X)HTML, depenent de
si els creem visualment o mitjançant l’edició del codi font:
• Els editors de text amb facilitats per a l’edició d’(X)HTML són editors
de text que tenen diverses funcionalitats que ens fa més còmoda l’edició
dels fitxers (X)HTML.
• Els editors WYSIWYG (What you see is what you get, ‘Allò que veus és
allò que obtens’) ens permeten generar els documents (X)HTML a partir
d’una interfície gràfica amb la qual podem dibuixar la pàgina resultant. Tot
i que aquests editors són molt fàcils d’usar, ja que en molts casos no cal ni
saber (X)HTML per fer-ho, hem d’anar amb compte perquè poden generar
molt codi no desitjat (etiquetes buides, salts de línia...).
• Gestió de projectes.
• Editor amb interfície WYWIWYG (What You Write Is What You Get, ‘Allò
que escrius és allò que obtens’).
• Validadors de sintaxi.
• Formatador de codi.
• Autocompleció de codi.
• Suport per treballar amb fitxers remots usant FTP, SFTP, ...
• Documentació en línia.
• ...
Veiem, doncs, que Brackets ens ofereix un munt d’eines que un editor de text pla
no ofereix.
Quan escollim l’entorn de treball amb el qual volem confeccionar un lloc web i
seleccionem un gestor d’(X)HTML, és important analitzar les funcions que aquest
ofereix per tal que s’adapti a tots els requisits del nostre lloc web.
Com que nosaltres ens centrarem en Brackets, hem de fer la instal·lació baixant
aquest programari de la pàgina oficial que és brackets.io.
Brackets funciona com qualsevol editor de text i podem crear un fitxer (X)HTML
de zero. Una bona pràctica és crear abans una carpeta per cada portal que vulguem
desenvolupar. D’aquesta manera dins crearem l’arbre de directoris amb totes
aquelles carpetes que siguin necessàries, com per exemple imatges, CSS, vídeo,
àudio, JavaScript, documents, etc.
Per crear aquest document nou hem d’accedir al menú File > New. Com veurem
a la part esquerra (Working files) ens ha creat un nou fitxer, però no li ha assignat
cap nom. Per tal d’assignar-n’hi hem d’accedir de nou al menú File i clicar a Save.
Si el que volem és guardar un document de tipus HTML, no ens hem d’oblidar
d’escriure’n l’extensió quan ens demani el nom del fitxer. A l’exemple de la figura
3.1 hem escollit index.html.
Fig u ra 3 . 1 . Creació d’un nou document HTML a Brackets
1. Menu File > Extension Manager, tal com podeu veure a la figura figura 3.2.
2. Mitjançant l’accés a la icona de la dreta en forma de peça de Lego. Es pot accedir a l’administrador
d’extensions de Brackets mitjançant
la icona d’extensions.
Una vegada entrem a l’administrador veurem tres icones a la part superior, tal com
podeu veure a la figura figura 3.3. Si volem saber les
extensions enregistrades
per Brackets, ho podem fer
visitant el següent enllaç:
• Available (Disponibles): ens dóna un llistat de totes les extensions que tenim https:
disponibles per Brackets, de les quals podem escollir-ne qualsevol i clicar //brackets-registry.
aboutweb.com/
al botó Install.
Brackets també disposa d’altres formes d’afegir noves extensions. La que hem fet
servir és la que porta el propi administrador d’extensions, que ens dóna un llistat
(indicador 1 de la figura), i ens permet clicar directament a Install.
També ho podem fer indicant directament l’URL que conté l’extensió (indicador 2
de la figura 3.4) o bé baixar prèviament l’extensió (és un fitxer ZIP) i arrossegant-
la a l’àrea marcada amb Drag .zip here (o en català ‘Arrossega aquí l’extensió’),
marcada amb l’indicador 3 de la figura 3.4.
3.2.3 Plantilles
Si ens centrem en Brackets, com que els documents HTML habituals tenen una
estructura molt coneguda, i com que podem fer servir diferents versions d’HTML
(algunes d’elles disposen de referències al DTD que les valida), existeix una
extensió que ens facilita crear documents a partir de plantilles HTML comuns.
A partir d’aquestes plantilles escriurem el codi propi. Per tal d’instal·lar aquesta
funcionalitat hem d’anar a l’administrador d’extensions (Extension manager) i
cercar l’extensió HTML Templates. Una vegada instal·lada veurem que dins del
menú edit tenim un altre ítem, anomenat HTML Templates..., tal com es veu a
la figura 3.5.
Si premem a l’enllaç HTML Templates..., s’obrirà una nova finestra, tal com
mostra la figura 3.6, que ens deixa escollir entre dos tipus de plantilles:
1 <!DOCTYPE html>
2 <html>
3 <head>
4 <meta charset="utf−8" />
5 <title></title>
6 </head>
7 <body>
8 </body>
9 </html>
colors les etiquetes, els atributs, el text... A més, habitualment permeten que
l’usuari pugui canviar aquests colors segons el seu gust.
Tot i que existeixen validadors en línia, és molt còmode que l’editor que utilitzem
ens ofereixi la possibilitat de validar el nostre codi des del mateix editor. És
per això que la majoria de gestors d’(X)HTML ens ofereixen alguna manera de
validar-lo. Alguns gestors ho fan a mesura que escrivim, mentre que d’altres ho
fan mitjançant la crida d’una ordre des d’un menú.
Brackets disposa d’una extensió per validació del codi (X)HTML per validar
respecte als suggeriments del W3C, és l’anomenat Brackets W3Validation.
Aplicacions Web 111 Fonaments d'(X)HTML
Quan es treballa amb molts fitxers i/o amb documents de moltes línies de codi,
és molt útil usar marcadors (en anglès, bookmarks) per tal d’accedir a una línia
de codi de manera ràpida. La majoria de gestors d’(X)HTML ens ofereixen una
manera de navegar fàcilment pels nostres documents per tal de poder accedir
ràpidament a aquells llocs dels documents on anem sovint.
En el cas del Brackets hem d’instal·lar prèviament una de les dues extensions
disponibles actualment. En el nostre cas escollirem la desenvolupada per Jeffry
Booher i que podem cercar posant Bookmarks al gestor d’extensions de Brackets,
tal com es mostra a la figura 3.10 :
Aplicacions Web 112 Fonaments d'(X)HTML
Posteriorment a la instal·lació veurem que dins del menú Navigation tenim tres
nous ítems (veure figura 3.11):
És força important fer servir les abreviacions de teclat, ja que ens permetrà anar
molt més ràpid per posar o treure un marcador o bé navegar d’un marcador a un
altre amb agilitat.
Segurament heu vist que al marge inferior de la figura també hi ha un panell que
indica on són posicionats el marcadors i el fitxer els afecta. Aquest panell ens
facilita també navegar pels diferents marcadors, i per activar-lo hem d’anar al menú
View, tal com es mostra a la figura 3.13.
Per tal que un document sigui llegible és molt important que el codi estigui ben
sagnat. Si usem un editor de text pla hem de sagnar el codi a mà, o bé amb espais
o bé amb tabuladors.
Aplicacions Web 114 Fonaments d'(X)HTML
Els editors avançats ens ofereixen ajuda per tal de sagnar el codi automàticament.
La majoria d’aquests editors fan que a mesura que escrivim el codi es vagi sagnant
sense que nosaltres ens haguem de preocupar de les tabulacions. Alguns fins i tot
també permeten fer un sagnat automàtic un cop el document ja està editat.
Brackets ens ofereix diversos mecanismes per tal de sagnar el codi. Principalment
en tenim dos, que podem observar a la figura 3.14 i a la figura 3.15 respectivament.
Postedició: per tal de fer servir aquesta opció, hem d’instal·lar amb anterioritat
una extensió anomenada HTML Beauty.
Una vegada instal·lat veurem amb facilitat com podem formatar el codi, de forma
que ens en faciliti la lectura i comprensió. Això ho podem fer des del propi menú
accedint a Edit > Beauty o bé per abreviació de teclat, Cmd-Shift-L(Mac) /
Ctrl-Shift-L(Win i Linux).
En el cas de Brackets, quan obrim una etiqueta amb < ens ofereix un desplegable
amb totes les etiquetes disponibles. A més, a mesura que escrivim els caràcters
de l’etiqueta, l’autocompleció de codi s’hi adapta i ens mostra només les etiquetes
que comencen pels caràcters que ja hem escrit. Això mateix passa quan estem
escrivint els atributs de les etiquetes i, fins i tot, quan escrivim els valors dels
atributs, tal com es mostra en la figura 3.16.
Aplicacions Web 115 Fonaments d'(X)HTML
Sovint hi ha fragments de codi que usem molt i que, o bé els hem de reescriure de
nou o bé els copiem i enganxem des d’altres documents.
Una vegada instal·lada, hem d’activar els snippets que desitgem fer servir des de
l’administrador d’snippets. Això es fa des del marge dret de la finestra de Brackets,
on veurem la icona d’una bombeta. Una vegada cliquem a la icona, veurem que
a la part inferior de Brackets apareix l’administrador de fragments de codi, tal
com podem veure a la figura 3.18, o en anglès Snippets Manager.
Per tal d’afegir qualsevol fragment de codi, simplement hem d’escriure la paraula
que fa referència al llistat. Si volem afegir el fragment que ens crea un enllaç com
el marcat a la figura, dins del document HTML que estem editant a la posició
desitjada, clicarem a la lletra a i posteriorment clicarem a l’ENTER.
Imaginem que en els nostres llocs web acostumem a posar una nota al peu de
pàgina on s’informa de l’autoria del lloc:
1 <div id="peu">
2 <p>Aquesta pàgina web ha estat dissenyada per l’Institut Obert de Catalunya.
Per a més informació dirigiu−vos a l’<a href="htp://ioc.xtec.cat"
title="Pàgina web de l’IOC">IOC</a></p>
3 </div>
Per tal de fer-ho hem de clicar a New. S’obrirà un formulari, en el qual hem
d’omplir els diferents camps, tal com mostra la figura 3.19.
4. Text: és la codificació que volem afegir quan cridem aquest snippet, amb
l’abreviació de teclat corresponent. Al nostre cas PEUIOC.
Imaginem que volem crear un fragment que ens generi un petit formulari que
demani usuari i contrasenya. El tros de codi seria el següent:
Els passos a seguir són els mateixos que per crear un fragment senzill, excepte
en l’últim pas, on haurem de marcar dins del camp Text, és a dir, on inseríem el
codi dels textos variables (paràmetres de substitució) amb la sintaxi que indica al
requadre groc de la figura. La sintaxi definitiva quedarà de la següent manera:
Figur a 3. 20. Creació d’un fragment de codi amb text variable a Brackets
Aplicacions Web 120 Fonaments d'(X)HTML
3.2.10 Projectes
Les aplicacions web acostumen a estar compostes per més d’un fitxer. A més,
sovint voldrem tenir un seguit de preferències associades a tots els fitxers que
conformen la nostra aplicació o crear tot una estructura per defecte, és a dir, si
tenim plantilles per creació de documents, per què no també tota una estructura
d’arbre de directoris on figurin fins i tot referències a llibreries molt conegudes
dins del desenvolupament web? És per aquests motius que molts editors i gestors
usen els anomenats projectes.
Les extensions existents fins a la data actual no disposen d’un fitxer específic on
es guarden les preferències d’un projecte. Brackets prioritza el seu funcionament
a la creació d’una carpeta que contingui el projecte com a tal, i mitjançant alguna
extensió facilita la creació d’estructures predeterminades. Aquest és el cas de
l’extensió Brackets New Project (figura 3.21).
Com a qualsevol altra extensió de Brackets , el que fem és fer servir l’administrador
d’extensions i cercar per la paraula Project, i posteriorment instal·lar-la.
Una vegada instal·lada dins del menú File, ens apareix una nova opció anomenada
New Project. Si cliquem, s’ens obrirà una nova finestra on ens dóna la possibilitat
de crear un nou projecte, a partir d’unes estructures comunes molt conegudes dins
del món de desenvolupament web. Aquestes estructures ja creen automàticament
els directoris principals del projecte i també afegeixen referències a altres llibreries
comunes. Per exemple llibreries que ens faciliten la interacció amb l’usuari, que
aporten dinamisme al projecte (com ara animacions o efectes) o bé ens aporten
compatibilitat amb navegadors antics. No és objecte d’estudi en aquesta unitat
saber quin és l’objectiu de cadascuna d’aquestes estructures, però sí la possibilitat
Aplicacions Web 121 Fonaments d'(X)HTML
que Brackets aporta en la generació de nou projectes, tal com es pot veure a la
figura 3.22.
Tots els gestors d’(X)HTML ofereixen algun mètode per poder visualitzar el lloc
web que s’està editant. S’acostuma a usar una o ambdues de les tàctiques següents:
Brackets no disposa del primer d’aquest mecanismes, ja que està molt orientat a
adaptar-se al que els navegadors existents requereixen. En contraposició ofereix
una eina innovadora dins del món del desenvolupament, anomenada Live Preview.
Live Preview (o vista prèvia en viu, en català), ens permet estar modificant el codi
i visualitzant-ne el resultat al navegador, sense la necessitat de desar cada vegada
que fem una prova. Aquest mecanisme és especialment útil perquè redueix molt el
temps empleat a fer proves, que moltes vegades són mínimes. És molt semblant al
que les eines de desenvolupament dels navegadors ofereixen, que treballen d’una
forma similar, o bé connectors per navegadors com ara firebug. L’avantatge de
Live Preview per Brackets és que disposem de tota la potència d’un editor web,
combinat amb la modificació de codi en viu, que fa tot el procés d’edició molt mes
dinàmic.
Per tal d’activar el Live preview podem fer servir dos mètodes, o bé accedim a File
> Live Preview (o al seu defecte l’abreviació de teclat que ens proporciona), o
bé la icona d’un llamp, que tenim a mà dreta de la finestra. Això farà que Chrome
s’obri, ja que és el navegador per defecte que Brackets fa servir, tal com observem
a la figura 3.23.
Aplicacions Web 122 Fonaments d'(X)HTML
F igu r a 3. 2 3 . Live Preview a Brackets: finestra de Brackets i la seva previsualització en viu a Chrome
A la figura podem veure un petit requadre de color blau a la finestra del navegador.
Això indica quina part estem editant dins del nostre codi font. El petit punt
blanc al costat del nom del fitxer, indica que aquest fitxer, no ha estat desat; això
no impedeix que puguem veure els resultats i modificacions que introduïm a la
finestra del navegador, i desar el fitxer quan ho creiem convenient.
En cas de que vulguem provar les nostres pàgines a altres navegadors, tenim la
possibilitat d’obrir directament el fitxer o accedir a l’URL corresponent on es troba,
des de qualsevol altre navegador.
Aquest prototip el fem servir com a plantilla, on disposem els elements dibuixats
en capes independents. Brackets ha aportat una extensió innovadora que ens
permet extreure directament informació de les plantilles realitzades amb Photos-
hop i importar els seus continguts a l’editor d’una manera molt simple. Aquesta
extensió s’anomena Extract i ve preinstal·lada a Brackets per defecte.
Per tal de fer ús d’aquesta extensió la primera vegada hem d’acceptar la llicència
d’ús, que no suposa cap pagament. Posteriorment farem un ús normal d’aquesta
potent eina.
Per posar un exemple, volem afegir la imatge d’una rodona de color negre al
document web. Si prenem com a referència la figura, haurem de:
• Escriure l’etiqueta <img dins del document que estem editant, i clicar a espai
(vegeu el punt 3 de la figura 3.24). Veurem que s’obrirà un menú contextual
amb els suggeriments, alguns d’ells relatius a la imatge seleccionada.
• Escollir quina propietat d’aquesta imatge volem incloure (width, height, etc)
o bé la imatge directament per l’atribut src (vegeu punt 4 de la figura 3.24).
Brackets disposa d’una altra eina molt útil i diferenciadora de la majoria d’editors
(X)HTML, és l’anomenada Edició ràpida, o Quick Edit en anglès. Aquest eina ens
permet que a mesura que escrivim el codi HTML, podem consultar directament les
propietats CSS associades a les etiquetes i atributs que estem editant, sense haver
d’obrir els fitxers corresponents en una altra finestra o pestanya, sinó directament
al document, i desar els canvis. Fins i tot podem crear noves regles (New rules en
anglès) a mesura que editem, i que afecten a altres fitxers, que tenen a veure amb
l’estètica com ara els fitxers CSS.
Per accedir a aquesta eina hem d’anar al menú Navigate > Quick Edit o
mitjançant l’abreviació de teclat proposada (Ctrl + E per Windows i Linux). Si
l’etiqueta seleccionada ja té regles estètiques marcades (CSS), veurem que s’obre
just a sota una àrea per editar-la, o crear-ne de noves. Si l’etiqueta seleccionada
no té cap regla, ens permetrà crear-ne una de nova, mitjançant el botó New Rule
(Nova regla). En qualsevol dels dos casos ens mostra el fitxer on es guarda aquesta
nova regla.
Com a exemple, a la figura 3.25 podem veure que estem posicionats sobre
l’etiqueta <h1> (vegeu el punt 1 de la figura 3.25), que estem fent una edició ràpida
(Quick edit), que disposem d’una àrea per editar la regla marcada (vegeu el punt
2 de la figura 3.25) i que aquesta regla afecta al fitxer main.css, que és codificació
CSS.
F igu r a 3. 2 5 . L’eina d’edició ràpida de Brackets
Aplicacions Web 125 Fonaments d'(X)HTML
• Unused Files: aquesta extensió ens permet trobar dins del nostre codi
referències a fitxers que no es fan servir, és a dir, que tenim dins de la nostra
carpeta de projecte, però que no són referenciades dins de cap dels fitxers
que formen el projecte (figura 3.26).
• Barckets CSS Color: quan codifiquem amb CSS, podem trobar amb facilitat
els colors dins del codi, ja que posa un petit requadre al costat de cada línia
que fa referència a colors (figura 3.28). Per tal d’activar-ho, hem d’anar al
menú View > Enable Css Color Preview.
Aplicacions Web 126 Fonaments d'(X)HTML
F igu r a 3. 2 8 . Extensió per afegir indicadors de colors als CSS oberts amb Brackets
• Emmet: aquesta extensió ens permet editar de manera molt ràpida codi
(X)HTML. La idea principal és usar una sintaxi molt similar als selectors
CSS per tal de generar codi (X)HTML.
1 div#pagina>div.logo+ul#nav>li*5>a
1 <div id="pagina">
2 <div class="logo"></div>
3 <ul id="navigation">
4 <li><a href=""></a></li>
5 <li><a href=""></a></li>
6 <li><a href=""></a></li>
7 <li><a href=""></a></li>
8 <li><a href=""></a></li>
9 </ul>
10 </div>
Fulls d'estil
Mònica Ramírez Arceda, Raúl Broceño
Aplicacions Web
Aplicacions Web Fulls d'estil
Índex
Introducció 5
Resultats d’aprenentatge 7
2 Regles CSS 21
2.1 Selectors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.1.1 Selectors de tipus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.1.2 Selectors de classe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.1.3 Selectors d’identificador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.1.4 Selectors d’atribut . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.1.5 Selector universal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.1.6 Selectors de descendents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.1.7 Selectors de fills . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.1.8 Selectors de germans adjacents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.1.9 Selector general de germans . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.1.10 Agrupament de selectors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.2 Pseudoclasses i pseudoelements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.2.1 Pseudoclasses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.2.2 Pseudoelements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
2.3 Propietats bàsiques de format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
2.3.1 Mesures i colors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
2.3.2 Fonts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
2.3.3 Aspecte del text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
2.3.4 Color i fons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
2.4 El model de caixa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
2.4.1 Marges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
2.4.2 Farciment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
2.4.3 Vores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
2.5 El format visual dels elements d’un document . . . . . . . . . . . . . . . . . . . . . . . . . . 67
2.6 Més efectes amb CSS3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
2.6.1 Transformacions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
2.6.2 Transicions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
Aplicacions Web Fulls d'estil
2.6.3 Animacions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
2.6.4 Gradients . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
2.6.5 Columnes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
2.6.6 Media Queries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
2.7 Exemples pràctics amb CSS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
2.7.1 Fer menús amb llistes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
2.7.2 Maquetació de webs sense ús de taules . . . . . . . . . . . . . . . . . . . . . . . . . 90
2.7.3 Simulació de marcs amb CSS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
2.8 Editors i gestors de CSS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
2.8.1 Autocompleció de codi CSS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
2.8.2 Creació de regles CSS amb Edició Ràpida . . . . . . . . . . . . . . . . . . . . . . . . 97
2.8.3 Color picker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
2.8.4 Creació gradients linears . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
Aplicacions Web 5 Fulls d'estil
Introducció
Les aplicacions web, a més d’oferir informació, han d’oferir una estètica atractiva
i usable a l’usuari. Un bon desenvolupador web ha d’intentar trobar l’equilibri
entre l’estètica i la usabilitat de l’aplicació.
L’apartat “El llenguatge de fulls d’estils CSS” pretén donar els conceptes bàsics
del llenguatge CSS. Es dóna una perspectiva històrica de l’evolució del llenguatge
i s’introdueix tant la sintaxi bàsica com els conceptes que donen força a aquest
llenguatge: la cascada i l’herència.
L’apartat “Regles CSS” detalla més profundament com es confeccionen les regles
CSS, és a dir, de quins selectors i de quines propietats, amb els seus valors,
disposem. És a dir, es veurà com podem fer que els nostres documents (X)HTML
tinguin colors, elements decoratius, diferents tipus de font... A més veurem
com aquest llenguatge també ens permet maquetar el nostre document, és a dir,
posicionar cadascun dels elements (X)HTML al lloc on desitgem. També es
detallen les novetats que ens aporta l’última versió de CSS, el CSS3, amb la qual
podrem crear efectes visuals molt sofisticats com ara transformacions, transicions
o animacions. Finalment, s’estudiarà com els editors i gestors de CSS ens poden
ajudar a ser més productius en la nostra tasca d’edició de fitxers CSS.
Per treballar els continguts de la unitat heu de llegir amb deteniment el material
proporcionat i realitzar els exercicis i les activitats del material web. A més, en els
annexos del material web podeu trobar el codi dels exemples. És molt convenient
estudiar amb detall aquests exemples observant el codi i el resultat que genera en
un navegador. Els annexos també contenen d’altra documentació que us pot ajudar
a aprofundir en la unitat.
Aplicacions Web 7 Fulls d'estil
Resultats d’aprenentatge
2. Utilitza i coneix els estils amb els seus atributs seguint la sintaxi correcta
definida per l’estàndard.
• Identifica els diferents documents i objectes del lloc web seguint les normes
establertes.
En els orígens del web i en les seves primeres versions, el llenguatge de marques
HTML era un llenguatge fàcil d’aprendre i molt reduït quant a les marques i
l’estructura. Tot va canviar quan van aparèixer els primers navegadors que eren
capaços de representar recursos gràfics per afegir a la informació textual.
Exemples de marques
D’aquesta manera, el nombre de llocs web va començar a créixer i, amb ell, el visuals del llenguatge
HTML
nombre de marques que l’especificació HTML preveia. L’objectiu era construir
L’HTML clàssic ofereix marques
llocs web cada vegada més atractius i, per a això, l’HTML havia d’incloure noves com <b>, <u>, <i> o <font>,
que són marques de visualització
marques destinades a aconseguir efectes visuals. i no aporten res a l’estructura del
document representat.
Per tal d’evitar que l’(X)HTML fos el responsable de la part estètica i visual de
la web, es van idear els fulls d’estil, és a dir, es va dissenyar el llenguatge CSS
(Cascading Style Sheets).
El que ara coneixem com a CSS va aparèixer quan l’W3C va rebre 9 propostes
diferents per a fulls d’estil, de les quals en va seleccionar dues: Cascading HTML
Style Sheets (CHSS), proposta per Håkon Wium Lie el 1994 i Stream-based Style
Sheet Proposal (SSP). D’aquí van néixer les Cascading Style Sheets (CSS), la
primera versió de les quals, anomenada CSS level 1, va ser proposada com a
estàndard a finals de l’any 1996.
El maig de l’any 1998 es va publicar l’estàndard CSS Level 2. Deu anys més tard,
el 2008, se’n va fer una revisió i es va publicar el CSS Level 2 Revision 1, conegut
com a CSS2.1.
Procés d’estandardització
segons l’W3C: http://
Actualment s’ està treballant amb el CSS3. En aquest cas l’especificació està www.w3.org/Style/
dividida en mòduls, alguns dels quals ja han esdevingut estàndards i en d’altres 2011/CSS-process
encara s’hi està treballant, és a dir, per una part tenim estàndards i per una altra
una tecnologia en continu desenvolupament.
Finalment hem de tenir en compte que una vegada tenim un nou estàndard, aquest
no és immediatament assolit per tots els navegadors alhora, i és molt útil recórrer a
pàgines com caniuse.com per veure si determinades característiques ja han sigut
implementades, per quins navegadors i en quina versió d’aquests navegadors.
Es pot veure un gràfic amb l’evolució històrica del CSS en la figura 1.1.
Aplicacions Web 10 Fulls d'estil
Com podeu observar a partir de la versió CSS3, els estàndards es tracten en mòduls
per separat, com ara els colors, selectors o namespaces, tal com mostra la figura
1.1.
1.2 El CSS
Fins fa poc, és a dir abans d’HTML5, per tal de forçar que l’estètica del document
recaigués en el CSS i no en l’(X)HTML, es disposava de les versions Strict
d’(X)HTML, on les etiquetes permeses tenien com a objectiu només marcar
l’estructura i semàntica del document i no la presentació. La versió Transitional
d’(X)HTML tenia més marques relacionades amb la visualització i la presentació
de la web, però s’aconsellava no usar aquest tipus de marques, ja que barregen
estructura i presentació del document. A més, tot i tenir marques per a la visua-
lització, molts cops es necessita oferir efectes visuals que cap sabor d’(X)HTML
era capaç de proporcionar. En l’actualitat, com que HTML5 és més flexible en
l’ús d’etiquetes i atributs, alhora que HTML5 ha eliminat algunes etiquetes que
tenien a veure amb el format i no amb l’estructura dels documents, es deixa al
programador un marge per treballar, tot i que s’aconsella de donar un format estètic
a la web amb l’ús dels fulls d’estil, i deixar exclusivament l’estructura per HTML.
El gran inconvenient dels fulls d’estil és que no tots els navegadors es comporten
de la mateixa manera davant del mateix full d’estil. Això es deu al fet que
alguns navegadors no compleixen els estàndards establerts i, amb això, obliguen el
programador a codificar diferents fulls d’estil (un per a cada navegador). Tot i això,
en els últims anys els navegadors cada cop s’acosten més a complir els estàndards
proposats.
Especificacions CSS
“Els fulls d’estil estan formalment descrits en dues especificacions de l’W3C: CSS1 i
CSS2. CSS1 es va emetre el desembre de 1996 i descriu un model de formatació
simple, principalment per a presentacions basades en la pantalla. CSS1 té al voltant de
50 propietats (per exemple color i mida de font). CSS2 s’enllestia el maig de 1998 i està
basada en CSS1. CSS2 inclou totes les propietats del CSS1 i n’afegeix al voltant de 70
més com, per exemple, propietats per descriure presentacions auditives i salts de pàgina
[...]. Si voleu llegir les especificacions de CSS, les podeu trobar a:
• http://www.w3.org/TR/REC-CSS1
• http://www.w3.org/TR/REC-CSS2”
Håkon Wium Lie; Bert Bos (1999). Cascading Style Sheets: Designing for the Web (capítol
2).
Disponible a: http://www.w3.org/Style/LieBos2e/enter
A la versió CSS3, es publiquen els anomenats snapshots, que són instantànies del procés
on es troba el desenvolupament dels diferents mòduls, ja que es va passar a treballar de
forma modular. http://www.w3.org/Style/CSS/
El CSS ens defineix quin aspecte han de tenir els elements (X)HTML. És per això
que hem d’associar d’alguna manera aquestes propietats als elements.
El codi és el següent:
1 <p style="text−align:center; color:red">Paràgraf centrat vermell</p>
1 <!doctype html>
2 <html>
3 <head>
4 <meta charset="UTF−8" lang="ca">
5 <title>Document HTML</title>
6 <style>
7 p {
8 text−align:center;
9 color:red
10 }
11 </style>
12 </head>
13 <body>
14 <p>Paràgraf centrat vermell</p>
15 <p>Paràgraf centrat vermell</p>
16 <p>Paràgraf centrat vermell</p>
17 </body>
18 </html>
1 <!doctype html>
2 <head>
3 <meta charset="UTF−8" lang="ca">
4 <link rel="stylesheet" href="estils.css" />
5 </head>
6 <body>
7 <p>Paràgraf centrat vermell</p>
8 </body>
9 </html>
1 p {
2 text−align:center;
3 color:red;
4 }
L’avantatge d’usar documents externs per establir les propietats CSS és que podem
reutilitzar un mateix full d’estil per a diferents documents (X)HTML.
Aplicacions Web 13 Fulls d'estil
El selector ens serveix per definir a quin o a quins elements volem aplicar les
declaracions de la regla. Les declaracions són les diverses característiques que
han de complir els elements que concorden amb el selector. A cada propietat de
cada declaració hi posem el valor que s’escaigui.
Per exemple, si volem que tots els paràgrafs tinguin lletra de mida 10pt i un fons
de color gris hem de definir la regla següent:
1 p {
2 font−size: 10pt;
3 background−color: gray;
4 }
• Regla @import: la regla @import ens serveix per incloure, en el nostre full
d’estil, fulls d’estil externs. Si, per exemple, volem incloure en el nostre full
Aplicacions Web 14 Fulls d'estil
1 @import "mesestils.css";
• Regla @media: la regla @media serveix per diferenciar per quin mitjà
s’ofereixen les propietats que conté aquesta regla. La sintaxi genèrica és
la següent:
1 @media mitjà{
2 propietats
3 }
on mitjà pot ser print (per imprimir) o screen (per mostrar per pantalla), entre
d’altres.
Imaginem, per exemple, que volem que, quan imprimim el document (X)HTML,
la lletra tingui una mida de 10pt, però que, quan es miri per pantalla, tingui una
mida de 12pt. També volem que en ambdós casos l’alçada de la línia sigui d’1.2.
En el nostre full d’estil hem d’introduir el codi següent:
1 @media print {
2 body{ font−size: 10pt }
3 }
4 @media screen {
5 body { font−size: 12pt }
6 }
7 @media screen, print {
8 body { line−height: 1.2 }
9 }
Avui en dia amb l’augment dels diferents tipus de dispositius representa que
tenim moltes mides de pantalles diferents (smartsphones, tablets, ordinadors,
etc.), aquesta regla ha estat molt útil per aplicar diferents regles CSS de forma
condicional, és a dir, aplicar regles diferents CSS, segons el tipus de pantalla
o la seva orientació. Aquest tipus de programació se l’ha anomenat Disseny
Adaptatiu (en anglès Responsive Web Design o RWD), i a la combinació de la
regla @media amb les condicions que podem afegir, se l’ha anomenat media-
queries.
Vegem un exemple:
1 @font−face {
2 font−family: DeliciousRoman;
3 src: url("Delicious−Roman.otf");
4 }
5
6 p {
7 font−family: DeliciousRoman, Helvetica, Arial, sans−serif;
8 }
Aplicacions Web 15 Fulls d'estil
En aquest exemple, en la regla @font-face estem definit una font. Per tal de
definir-la li posem un nom: això es fa amb la propietat font-family i en aquest
cas hem triat el nom DeliciousRoman. A més, és imprescindible especificar
on es troba aquesta font, per tal que el navegador la pugui descarregar i usar,
i això es fa amb la propietat src. Veiem que en aquest exemple la font és
Delicious-Roman.otf.
Un cop definida la font, podem usar-la en qualsevol regla. Veiem com a l’exemple
una regla que ens defineix que tots els paràgrafs (selector p) usaran com a
font DeliciousRoman. Si aquesta font no estigués disponible, s’usaria la font
Helvètica, si aquesta tampoc la tingués l’usuari, s’usaria la font Arial. Finalment,
si no es disposés de cap d’aquestes fonts, s’usaria sans-serif.
1 @supports <condició_a_complir> {
2 /* regles CSS que apliquem en cas de que la condició anterior es compleixi
*/
3 }
Al codi anterior ens diu que si existeix per la propietat display el valor flex,
apliqui a tots els elements HTML de tipus section d’aquesta propietat.
• Regla @page: la fem servir per modificar propietats CSS, a l’hora d’im-
primir un document, però hem de tenir en compte que pot actuar sobre un
nombre de propietats CSS limitat.
1.4.2 Comentaris
Si en un full d’estil volem posar comentaris destinats a l’aclariment del codi CSS,
hem de fer servir la sintaxi següent:
1 /* comentaris */
Posem un exemple:
Dues de les característiques que fan que els fulls d’estil tinguin una gran potència
és la cascada i l’herència.
1.5.1 Cascada
Les sigles CSS volen dir Cascading Style Sheets (‘Fulls d’estil en cascada’). Però,
què vol dir cascada en aquest àmbit? Doncs vol dir que podem combinar diferents
fulls d’estil i que les propietats de tots ells es van acumulant. Això ens és molt
útil quan pensem en llocs web grans, on podem tenir un full d’estil bàsic i anar
incorporant-hi altres fulls d’estil, segons les nostres necessitats.
Ara caldria preguntar-nos: si podem combinar diferents fulls d’estil, pot donar-
se el cas que hi hagi propietats que es contradiguin? Si es dóna aquest cas, com
se soluciona? Quina propietat té prioritat? Per solucionar aquest problema hi ha
establerta la jerarquia següent, en ordre de prevalença:
D’aquesta manera podem dir que l’ordre de prioritat ve marcat per la proximitat
amb l’element que l’afecta, sent la més prioritària Inline Style i la menys External
Style Sheet.
Posem un exemple que mostri la jerarquia d’estils dins de les propietats que
defineix l’autor del web. Imaginem que tenim els següents fitxers:
• El fitxer index.html:
• El fitxer estils.css:
1 p {
2 color: green;
3 }
4 h1 {
5 color: violet;
6 }
En l’exemple anterior, podríem pensar que les tres declaracions que apareixen
estan en contradicció: el full d’estil estils.css té una regla que ens diu que
tots els paràgrafs tindran la lletra de color verd; l’element <style> del document
index.html ens diu que tots els paràgrafs d’aquest document seran de color
vermell, i l’etiqueta style del primer paràgraf del document index.html ens
diu que aquest paràgraf serà de color blau. La pregunta és: de quin color seran
aquests paràgrafs i per què?
La resposta correcta és que el primer paràgraf serà de color blau perquè l’atribut
style és la ubicació amb més alta jerarquia mentre que el segon paràgraf serà
de color vermell ja que no té cap atribut style, però la regla que apareix
dins l’element <style> preval damunt la regla que apareix en el document
estils.css.
Aplicacions Web 18 Fulls d'estil
Per últim, s’ha de fer notar que el color de lletra de l’encapçalament <h1> serà
violeta, tal com està establert al fitxer estils.css, ja que és l’única regla que
tenim que faci referència a l’etiqueta <h1>.
Posem un altre exemple per mostrar la poca prevalença de les propietats establertes
pel navegador. Imaginem el següent fitxer (X)HTML:
1 <!doctype html >
2 <html lang="ca">
3 <head>
4 ...
5 </head>
6 <body>
7 <p>Un paràgraf amb una <strong>paraula molt emfatitzada</strong></p>
8 </body>
9 </html>
Si mirem aquest fitxer amb la majoria de navegadors, ens adonarem que la cadena
paraula molt emfatitzada apareix en negreta. Això es deu al fet que, en
absència de la definició de cap estil per part de l’autor de la web, el navegador
decideix que per emfatitzar molt una cadena la posarà en lletra negreta.
Aquest fet ens pot servir perquè la pàgina sigui més accessible, ja que si, per
exemple, un usuari té problemes de visió, li permetem que pugui fer la lletra més
gran, tot i que l’aplicació estigui pensada per ser visualitzada amb una lletra més
petita.
Imaginem doncs que dissenyem una web on volem que la font sigui petita, però que
volem permetre que l’usuari la canviï, si així ho desitja, mitjançant la configuració
apropiada del seu navegador. Per fer-ho, codificarem la següent regla CSS:
Aplicacions Web 19 Fulls d'estil
1 body{
2 font−size: small !important;
3 }
Finalment, es podria donar el cas que ens trobem dues regles en el mateix nivell
de jerarquia. Com se soluciona aquest “empat”? Doncs bé, si ens trobem en el cas
que les propietats “empaten”, l’última propietat escrita és la que “guanya”. Per
exemple, fixeu-vos en el codi següent en un full d’estil extern (i suposant que no
hi ha més regles que se superposin en el fitxer HTML des d’on es cridi aquest full
d’estil):
1 p{
2 color:red;
3 }
4 ...
5 p{
6 color:green;
7 }
8 ...
En aquest cas la lletra dels paràgrafs serà sempre de color verd, ja que és l’última
regla escrita en el document CSS. La regla on diu que el color de lletra dels
paràgrafs serà de color vermell queda completament invalidada.
Moltes vegades, com que no marquem cap propietat per CSS sobre elements, i
atès que el navegador porta per defecte algunes propietats ja establertes, aquestes
s’apliquen per defecte. Si no volem que això sigui així, és molt habitual que
els desenvolupadors facin servir un full d’estil extern on “inicialitzen” totes les
propietats preestablertes pel navegador. Un exemple d’això el podem trobar a
l’anomenat reset css de meyerweb.com.
A l’annex trobareu el fitxer
reset.css agafat de la web
El codi que faríem servir per afegir aquest reset css, l’afegiríem com un document meyerweb.com
extern abans (a l’exemple reset.css) que la resta de fitxers CSS externs que féssim
servir (a l’exemple estilspropis.css). Tal com indica l’exemple següent:
1 <!doctype html>
2 <html>
3 <head>
4 <meta charset="UTF−8">
5 <title>Exemple de document amb reset CSS </title>
6 <link rel="stylesheet" href="css/reset.css" />
7 <link rel="stylesheet" href="css/estilspropis.css" />
8 <!−− En podem afegir d’altres −−>
9 </head>
10 <body>
11
12 Cos del document
13
14 </body>
15 </html>
Aplicacions Web 20 Fulls d'estil
1.5.2 Herència
Tots els elements d’una pàgina (X)HTML, amb l’excepció de l’element arrel
<html>, estan continguts en un altre element.
Quan parlem d’herència ens referim al fet que tot element hereta les propietats
dels seus elements antecessors. Malgrat tot, hem de tenir en compte el següent:
• Si posem un valor a una propietat, aquest valor preval sobre el valor heretat.
Fixem-nos que l’element <strong> és a dins de l’element <p>, que està contingut
a l’element <body>. Això vol dir que la cadena text molt emfatitzat tindrà
les següents propietats: evidentment estarà en cursiva perquè així ho especifica
la propietat font-style: italic de tots els elements <strong>, però a més,
com que aquest element <strong> és a dins de l’element <p> i el color de lletra
de tots els paràgrafs és el gris, tal com diu la propietat color: gray, la cadena
també serà de color gris. És més, com que l’element <p> és a dins de l’element
<body>, <strong> també hereta la declaració font-size: small. En resum,
la cadena text molt emfatitzat tindrà lletra petita, serà de color gris i estarà
en cursiva.
Aplicacions Web 21 Fulls d'estil
2. Regles CSS
Per tal de donar forma estètica a una web, necessitem moltes funcionalitats
diferents: colors, fonts, posicionament dels elements... A partir de la codificació
de regles CSS, amb els seus selectors i propietats, podem aconseguir els nostres
objectius.
L’especificació CSS
Com que en l’actualitat l’estàndard que fem servir és CSS3, i aquest està en estableix més selectors i
propietats que les que es
contínua transformació, ens trobem que no tots els navegadors han adoptat algunes presenten en aquests
materials. Trobareu un
de les propietats, o si ho han fet, moltes vegades necessiten un prefix abans de la llistat complet a l’Annex
“Referències ràpides” del
propietat, per tal que funcionin correctament. Aquests prefixos el farem servir, material web d’aquesta
unitat.
quan així sigui necessari, als codis exemples d’aquesta unitat i són:
2.1 Selectors
Hi ha diferents tipus de selectors: des dels més simples, on només és posa la marca
(X)HTML a la qual volem modificar l’estètica, fins a combinacions complexes
d’aquests selectors.
Els selectors de tipus són els selectors més simples: es tracta únicament d’espe-
cificar l’etiqueta (X)HTML. Afecten a tots els elements (X)HTML amb aquella
etiqueta.
1 etiqueta {
2 declaracions
3 }
Aplicacions Web 22 Fulls d'estil
Imaginem que volem que tots els encapçalaments de primer ordre, amb marca
<h1>, siguin de color blau. El codi és el següent:
1 h1 {
2 color: blue;
3 }
Però, i si no volem modificar l’aparença de tots els elements d’un mateix tipus?
Per aconseguir això hem d’usar altres tipus de selectors, com ara els selectors de
classes o els selectors d’identificadors.
Els selectors de classe serveixen per associar propietats a tots els elements que
tinguin l’atribut class d’igual valor. Si en el document (X)HTML tenim:
1 <etiqueta class="nomclasse">...</etiqueta>
1 etiqueta.nomclasse {
2 declaracions
3 }
Això fa que a tots els elements etiqueta que tinguin l’atribut class amb valor
nomclasse se’ls apliquin les propietats especificades.
1 .nomclasse {
2 declaracions
3 }
Aquesta regla fa que qualsevol element amb l’atribut class amb valor nomclasse
compleixi les declaracions especificades.
Posem un exemple: volem que tots els paràgrafs siguin de color verd, excepte els
de classe destacat, que són de color vermell. El codi CSS és el següent:
1 p {
2 color: green;
3 }
4
5 p.destacat {
6 color: red;
7 }
Qualsevol paràgraf amb etiqueta <p> tindrà el color de lletra verd, però si
introduïm un paràgraf amb classe destacat, <p class=“destacat”>, la lletra
d’aquest paràgraf serà de color vermell.
Aplicacions Web 23 Fulls d'estil
1 .destacat {
2 color: red;
3 }
Això implica que més d’un element, o fins i tot elements de diferent tipus, poden
compartir el mateix nom de classe.
1 <etiqueta id="nomidentificador">...</etiqueta>
1 etiqueta#nomidentificador {
2 declaracions
3 }
1 #nomidentificador {
2 declaracions
3 }
Si, per exemple, volem que el paràgraf amb identificador principal, <p
id=“principal”>, estiguin centrats haurem d’escriure:
1 p#principal {
2 text−align: center;
3 }
1 #principal {
2 text−align: center;
3 }
Aplicacions Web 24 Fulls d'estil
Els selectors d’atribut serveixen per aplicar les propietats de la regla als elements
que tenen un atribut concret. El selector següent:
1 tag[atribut] {
2 declaracions
3 }
Els selectors d’atribut permeten diverses variants. Una d’aquestes variants és que
podem jugar amb el valor de l’atribut. Per exemple, si volem establir un marge
dret de 4em en totes les imatges que tenen establert l’atribut title i que, a més,
aquest atribut té per valor river, la regla CSS hauria de ser la següent:
1 img[title="river"] {
2 margin−right: 4em;
3 }
no tindria el marge dret a 4em ja que no compliria allò que diu el selector: el valor
de title és riv, no river.
També podem filtrar per més d’un atribut. Per exemple, imaginem que ara volem
seleccionar tots els elements <img> que tenen l’atribut title i que són de classe
preferent, com el següent element:
Aplicacions Web 25 Fulls d'estil
1 img[title][class="preferent"] {
2 margin−right: 6em;
3 }
Finalment, podem filtrar segons una part del valor de l’atribut. Disposem de dues
fórmules per fer-ho:
1 img[alt~="Riu"] {
2 border: solid;
3 }
4
5 p[lang|="en"] {
6 font−family: "Times New Roman", serif;
7 }
La primera regla selecciona les imatges en les quals l’atribut alt té per valor una
cadena que conté la paraula Riu, com per exemple alt=“Riu Muntanyes”. La
segona regla selecciona els paràgrafs que tenen com a valor de l’atribut lang,
paraules que comencen amb en, com en-US o en-cockney.
El selector * s’anomena selector universal i afecta tots els elements del document.
La sintaxi és la següent:
1 * {
2 declaracions
3 }
1 * {
2 font−size: 12px;
3 }
faria que tot el text del document tingués una mida de 12px, independentment de
l’etiqueta que l’envolti.
Diem que un element és descendent d’un altre quan aquest element està contingut
en l’altre, no importa a quin nivell. Per tant, un selector de descendents ens permet
seleccionar tots els elements que estan continguts en un altre. La sintaxi genèrica
és la següent:
1 etiqueta etiqueta_descendent {
2 declaracions
3 }
Per exemple, si volem posar en blau tots els elements <em> continguts en un
paràgraf hem d’escriure:
1 p em {
2 color: blue;
3 }
Aquesta regla afectaria tant al text èmfasi com al text paraula del següent codi
(X)HTML, ja que els dos elements <em> són descendents d’un element <p>:
Aplicacions Web 28 Fulls d'estil
Els selectors de fills ens permeten seleccionar els fills d’un determinat element.
El símbol que hem d’usar és >:
1 etiqueta > etiqueta_filla {
2 declaracions
3 }
Per exemple, suposem que tenim les regles següents en el nostre document CSS:
1 body > p {
2 font−weight: bold;
3 }
4
5 div ol > li p {
6 text−decoration: underline;
7 }
La primera línia de l’exemple fa que tots els paràgrafs que són fills de <body>
estiguin en lletra negreta.
Aplicacions Web 29 Fulls d'estil
La segona regla és una mica més complexa: el selector afecta tots els elements
<p> que són descendents d’un element <li>, on l’element <li> ha de ser fill d’un
element <ol> que, alhora, ha de ser descendent d’un element <div>.
Aquests dos exemples combinats amb el codi (X)HTML següent fan que observem
el resultat que es mostra en la figura 2.2 en el nostre navegador:
1 <body>
2 <p>paràgraf en negreta</p>
3 <div>
4 <p>paràgraf normal</p>
5 <div>
6 <ol>
7 <li>
8 <p>paràgraf subratllat</p>
9 <p>paràgraf subratllat</p>
10 </li>
11 <li>
12 <div>
13 <p>paràgraf subratllat</p>
14 </div>
15 </li>
16 <li>
17 <div>
18 text no subratllat
19 </div>
20 </li>
21 </ol>
22 <ul>
23 <li>
24 <p>paràgraf normal</p>
25 <p>paràgraf normal</p>
26 </li>
27 <li>
28 <div>
29 <p>paràgraf normal</p>
30 </div>
31 </li>
32 </ul>
33 </div>
34 </div>
35 </body>
En aquest exemple, veiem com el primer paràgraf està en negreta perquè es fill de
<body>. En canvi, el segon paràgraf no està en negreta ja que, tot i ser descendent
de <body>, no n’és fill directe.
En el cas de les llistes veiem que només apareixen subratllats aquells paràgrafs
descendents dels elements <li> que són fills directes d’un <ol>. Veiem també
que el text que no està en un paràgraf no està subratllat ja que la regla només
afecta els paràgrafs descendents de <li>. Finalment, podem observar que tots
aquells paràgrafs descendents de la llista no numerada tampoc estan subratllats, ja
que tot i ser descendents d’un element <li>, aquest no és fill d’un element <ol>,
sinó que és fill d’un element <ul>.
1 etiqueta + etiqueta_adjacent {
2 declaracions
3 }
1 <h1>Encapçalament <h1></h1>
2 <h2>Encapçalament <h2> (germà adjacent)</h2>
3 <h2>Encapçalament <h2> (germà no adjacent)</h2>
Si volguéssim reduir l’espai vertical que hi ha entre l’<h1> i l’<h2> que el segueix
immediatament, hem de definir la regla següent:
1 h1 + h2 {
2 margin−top: −5mm;
3 }
Complicant una mica la regla anterior, podem fer que la regla només s’apliqui si
l’element <h1> és de la classe obert (class=“obert”):
1 h1.obert + h2 {
2 margin−top: −5mm;
3 }
Vegem un exemple:
(X)HTML
1 <h1>...</h1>
2 <p>...</p>
3 <div>
4 <p>...</p>
5 </div>
6 <p>...</p>
CSS
1 h1 ~ p {
2 color: gray;
3 }
En aquest cas, el text del primer i del tercer paràgrafs que apareixen en el codi
(X)HTML serien de color gris. El segon paràgraf no ho seria perquè no és germà
d’un element <h1>.
Si diversos selectors tenen les mateixes propietats, podem agrupar-los separant els
selectors per una coma. La sintaxi és la següent:
1 h1 {
2 font−family: sans−serif;
3 color: orange;
4 }
5
Aplicacions Web 32 Fulls d'estil
6 h2 {
7 font−family: sans−serif;
8 color: orange;
9 }
10
11 h3 {
12 font−family: sans−serif;
13 color: orange;
14 }
1 h1, h2, h3 {
2 font−family: sans−serif;
3 color: orange;
4 }
1 h1 {
2 font−size: 20px;
3 font−family: sans−serif;
4 color: orange;
5 }
6
7 h2 {
8 font−size: 18px;
9 font−family: sans−serif;
10 color: orange;
11 }
12
13 h3 {
14 font−size: 16px;
15 font−family: sans−serif;
16 color: orange;
17 }
Podem observar que la primera declaració és diferent per a cadascuna de les regles,
però la resta de declaracions són iguals. Podríem obtenir els mateixos resultats
codificant el següent:
1 h1 {
2 font−size: 20px;
3 }
4
5 h2 {
6 font−size: 18px;
7 }
8
9 h3 {
10 font−size: 16px;
11 }
12
13 h1, h2, h3 {
14 font−family: sans−serif;
15 color: orange;
16 }
Aplicacions Web 33 Fulls d'estil
1 selector:pseudo_classe_o_pseudoelement {
2 declaracions
3 }
2.2.1 Pseudoclasses
CSS
(X)HTML
• :link: permet definir l’estil dels enllaços de la nostra pàgina, quan encara
no s’han visitat.
F ig ur a 2. 5 . Com-
portament per defec-
te dels enllaços no vi-
sitats i visitats
CSS
1 /* Quan l’enllaç no està visitat tindrem lletres negres i fons blanc */
2 a:link {
3 color: black;
4 background−color: white;
5 }
6
7 /* Quan l’enllaç s’hagi visitat tindrem lletres blanques i fons negre */
8 a:visited {
9 color: white;
10 background−color: black;
11 }
(X)HTML
1 <p><a href="http://fsf.org">Enllaç normal</a></p>
2 <p><a href="http://gnu.org">Enllaç visitat</a></p>
Fi g ura 2 .6 . Exemple de
pseudoclasses :link i :visited
• :active: permet definir l’estil dels elements quan s’activen (quan premem
el ratolí damunt seu).
• :hover: permet definir l’estil dels elements quan passem per damunt seu.
Aplicacions Web 35 Fulls d'estil
És molt comú fer servir aquestes dues pseudoclasses, en combinació amb link i
visited, per donar major dinamisme als enllaços, tot i que active i hover es fan
servir també per altres tipus d’elements.
CSS
1 /* Els enllaços (visitats i no visitats) són de lletra blanca damunt de fons
negre */
2 a:link, a:visited {
3 color:white;
4 background−color:black;
5 }
6
7 /* Quan hi passem per damunt tindran una vora negra, la lletra serà negra i el
fons blanc */
8 a:hover {
9 border: solid thin black;
10 color: black;
11 background−color:white;
12 }
13
14 /* Quan els premem, la lletra serà blanca i el fons vermell */
15 a:active {
16 color:white;
17 background−color:red;
18 }
19
20 /* Quan ens situem en un control de formulari <input> tindrà
21 una vora vermella puntejada, i un farciment de 2px */
22 input:focus {
23 border: red 2px dotted;
24 padding: 2px;
25 }
(X)HTML
1 <p><a href="http://fsf.org">Enllaç</a></p>
2 <p><a href="http://gnu.org">Enllaç pel qual passo per sobre</a></p>
3 <p>Camp de text no actiu: <input type="text" name="input" /></p>
4 <p>Camp de text actiu: <input type="text" name="input" /></p>
Per exemple, si volem establir que els paràgrafs que tenen l’atribut lang amb
valor ca (<p lang=“ca”>...</p>) estiguin amb lletra vermella, hem de definir-
ho amb la regla següent:
1 p:lang(ca) {
2 color: red;
3 }
2.2.2 Pseudoelements
Pseudoelements en CSS3
A continuació enumerem els pseudoelements que tenim disponibles, juntament
La sintaxi dels pseudoelements
en CSS3 canvia lleugerament: en amb la seva descripció i alguns exemples:
lloc de posar : es posarà ::.
Així doncs, per exemple, el
pseudoelement :first-element
ara serà ::first-element. • :first-line: permet definir l’estil de la primera línia de l’element.
CSS
1 /* Els paràgrafs de classe ll tindran una amplada de 20em */
2 p.ll {
3 width: 20em;
4 }
5
6 /* La primera línia dels paràgrafs de classe ll estan en negreta */
7 p.ll:first−line {
8 font−weight:bold;
9 }
10
11 /* La primera lletra dels paràgrafs de classe ll està flotant a
12 l’esquerra amb lletra de tipus monospace tres cops més gran */
13 p.ll:first−letter {
14 float: left;
15 font−size: 300%;
16 font−family: monospace;
17 }
18
19 /* Davant de cada paràgraf de classe pf hi haurà el text
20 ’Paràgraf: ’, després hi haurà un logotip del navegador
21 Firefox */
22 p.pf:before {
23 content: "Paràgraf: ";
24 }
25
26 p.pf:after {
27 content: url("imatges/firefox.png");
28 }
(X)HTML
1 <p class="pf">Això és un paràgraf </p>
2 <p class="pf">Això també és un paràgraf </p>
3 <p class="ll">Això és un paràgraf d’amplada 20em on la primera lletra és molt
gran i la
4 primera línia està en negreta...</p>
Mesures
Algunes de les propietats que podem establir en el full d’estil tenen com a valor una
unitat de mesura que ens indica la mida de la propietat (mides de lletra, amplades,
marges...). Aquestes unitats de mesura poden ser unitats relatives o absolutes:
La unitat de mesura ”em”
Una de les unitats de mesura més
usades, és la mesura em. 1em és
• Les unitats relatives les podem mesurar de molt diverses maneres:
equivalent a la mida de la font
actual. Per tant, 2em és dues
vegades la mida de la font actual.
– em: relativa a la mida del tipus de lletra usat. Hem de tenir en compte
que aquesta unitat té com a referència el seu contenidor.
Per exemple, si un element es
mostra amb una mida de 10pt,
llavors 2em equival a una mida
– rem: relativa a la mida del tipus de lletra general, és a dir, té com a
de 24pt. referència la unitat que fa servir l’element arrel (root), i no l’element
contenidor.
– px (Pixels): possiblement és la mesura més popular i té a veure amb
la resolució que ofereixen les pantalles que mostren l’HTML.
– %: unitat percentual.
– ex: relativa a l’alçada de la lletra x. Canvia si es canvia la font que
fem servir.
– ch: similar a l’anterior, però és relativa al caràcter numèric 0.
• vmax: idèntic a l’anterior, però agafant com a referent l’eix que sigui més
gran dels dos.
Aplicacions Web 39 Fulls d'estil
– cm: centímetres.
– mm: mil·límetres.
– in: polzades (inches)
– pt (punts): és una mesura física, i equival a 1/72 part d’una polzada.
– pc (piques): és molt semblant a l’anterior 1pc equival a 12pt.
Un altre factor a tenir en
Quant a les unitats relatives, hem de destacar que una distància definida en px compte és que els
navegadors per defecte
no canvia si l’usuari canvia la mida del text en el seu navegador o si l’usuari tenen un valor habitual de
font de 16px, per aquest
canvia la mida de la finestra del navegador, però sí que canvia si l’usuari canvia la motiu 1em = 16px = 0.17in
= 12pt = 1pc = 4.2mm =
resolució de la pantalla. En canvi, una distància definida en em o en percentatge 0.42cm
Colors
En canvi, amb RGB podem obtenir tota la gamma de colors, és a dir, fem ús dels
tres components de color bàsics (Red Green Blue). RGB ens permet especificar
quina tonalitat volem de cadascun dels colors bàsics: el vermell, el verd i el blau.
Per a cada color bàsic podem donar un valor comprès entre 0 i 255. Aquest valor
el podem especificar en base decimal o en base hexadecimal. Per exemple, el color
vermell tindrà el valor màxim de vermell i 0 per al verd i el blau.
1 rgb(255,0,0)
Amb aquesta expressió diem que volem 255 de vermell, 0 de verd i 0 de blau.
1 #FF0000
Amb aquesta expressió estem dient, que volem FF de vermell (el nombre FF en
hexadecimal és el nombre 255 en decimal), 00 de verd i 00 de blau. Així doncs, si
expressem el color en hexadecimal, els dos primers dígits corresponen al vermell,
els dos següents al verd i els dos últims al blau.
Aplicacions Web 40 Fulls d'estil
CSS ens dóna la possibilitat de simplificar l’escriptura si els dos caràcters d’un
component de color són iguals, i deixar exclusivament 1 per cada parell, és a dir,
el color #FF0000 es pot simplificar per #F00, o en altre exemple és que el color
#AACC66 es pot simplificar per #AC6
Dos colors molt comuns són el blanc i el negre. El blanc (white), és la suma
dels tres colors bàsics, per tant el podem expressar com #ffffff o bé com
rgb(255, 255, 255). En canvi, el negre és l’absència dels colors bàsics, per
tant és #000000 o bé rgb(0, 0, 0).
Un petit resum orientatiu amb els colors bàsics, el trobeu a la figura 2.9.
Els navegadors més importants suporten una altra manera d’establir el color,
l‘rgba, que accepta un quart paràmetre a més més dels tres colors bàsics. Aquest
quart paràmetre és l’anomenat canal alfa, que determina la transparència del color
i pot agafar valors compresos entre el 0.0 (transparència total) i l’1.0 (opacitat
total). Per exemple, per posar un vermell mitjanament transparent escriuríem:
1 rgba(255,0,0,0.5)
2.3.2 Fonts
El llenguatge CSS ens permet descriure les fonts del text contingut a cadascun
dels elements (X)HTML.
Les propietats de què disposem per descriure les fonts del nostre document són
les següents:
Hem de tenir en compte que podem establir com a valor una de les famílies
genèriques existents. Si usem una família genèrica, ens assegurem que el
navegador posi almenys una font similar a la que nosaltres volem. Les famílies
genèriques són:
Podeu veure la diferència entre aquestes grans famílies a la figura 2.10, la figura
2.11 i la figura 2.12.
Public domain
(http://commons.wikimedia.org/wiki/File:Monospace_font.svg)
Vegem un exemple:
1 body{
2 font−family: Gill, Helvetica, sans−serif;
3 }
En aquest cas tots els elements descendents de <body> heretaran aquesta propietat.
El navegador intentarà usar la font Gill. Si no la té, intentarà usar l‘Helvetica.
Finalment, si tampoc la té, usarà una font de la família genèrica sans-serif.
Aplicacions Web 42 Fulls d'estil
1 h1, h2, h3 {
2 font−style: italic;
3 }
4
5 h1 em {
6 font−style: normal;
7 }
Amb aquestes regles estem aconseguint que tot el text inclòs en les etiquetes
<h1>, <h2> i <h3> estigui en lletra cursiva, excepte els elements <em> descendents
d’<h1>, que no ho estaran.
1 h3 {
2 font−variant: small−caps;
3 }
1 p {
2 font−weight: normal
3 }
4
5 h1 {
6 font−weight: bold
7 }
Existeixen altres valors relatius anomenats bolder o lighter, aquests el que fan
és enfosquir o aclarir la font en funció del seu element pare, respectivament.
Al subapartat “Mesures i
colors” d’aquesta unitat
podeu trobar més
informació respecte les
• font-size: aquesta propietat ens permet definir la mida de la lletra. La
unitats de mesura. podrem establir tant en unitats relatives com en unitats absolutes, tot i que,
normalment, és més recomanable usar unitats relatives. Vegem un exemple:
1 p {
2 font−size: 16px;
3 }
4
5 @media print {
6 p {
7 font−size: 12pt;
8 }
9 }
Aplicacions Web 43 Fulls d'estil
En aquest exemple estem distingint la mida dels paràgrafs: quan es mostrin per
pantalla tindran una mida de 16px, quan s’imprimeixin tindran una mida de 12pt.
1 p#par1 {
2 font: bold x−large monospace;
3 }
4
5 p#par2 {
6 font: normal small−caps small fantasy;
7 }
8
9 p#par3 {
10 font: oblique bold 120% cursive;
11 }
12
13 p#par4 {
14 font: x−large/110% ’New Century Schoolbook’, serif;
15 }
F ig ur a 2. 13 . Propietats de font
CSS disposa de diverses propietats per definir com es mostrarà el text del nostre
document. Vegem-les:
El sagnat és la introducció
• text-indent: aquesta propietat ens permet establir el sagnat en alguna d’espai en blanc al
començament d’una línia de
de les unitats de mesura existents. Aquesta unitat pot ser tant positiva com text.
Aplicacions Web 44 Fulls d'estil
negativa. Per exemple, vegem diferents regles per tal de comparar text sense
sagnat, amb sagnat positiu i amb sagnat negatiu, respectivament:
1 p#par1 {
2 text−indent: 0em;
3 }
4
5 p#par2 {
6 text−indent: 1em;
7 }
8
9 p#par3 {
10 text−indent: −1em;
11 }
1 p{
2 background−color: #11ffa1;
3 }
4 p#esquerra{
5 text−align: left;
6 }
7 p#dreta{
8 text−align: right;
9 }
10 p#centrat{
11 text−align: center;
12 }
13 p#justificat{
14 text−align: justify;
15 }
1 p#par1 {
2 text−decoration: none;
3 }
4
5 p#par2 {
6 text−decoration: underline;
7 }
8
9 p#par3 {
10 text−decoration: overline;
11 }
12
13 p#par4 {
14 text−decoration: line−through;
15 }
16
17 p#par5 {
18 text−decoration: blink;
19 }
1 blockquote {
2 letter−spacing: 0.1em;
3 }
1 p {
2 line−height: 2em;
3 }
1 h1 {
2 word−spacing: 1em;
3 }
1 h1 {
2 text−transform: uppercase;
3 }
4
5 .titol {
6 text−transform: capitalize;
7 }
Taul a 2. 1.
Linies noves Espais i tabulacions Text embolicat (Text
wrapping)
Veiem un exemple amb una plana sencera amb HTML, on hem afegit salts de línia
i tabulacions, per veure les diferències:
1 <!doctype html>
2 <html>
3 <head>
4 <meta charset="UTF−8">
5 <title>Exemples white−space</title>
6 <style>
7 p{
8 border: 1px solid red;
9 width: 150px;
10 }
11 p#par1{
12 white−space: normal;
13 }
14 p#par2{
15 white−space: pre;
16 }
17 p#par3{
18 white−space: nowrap;
19 }
20 p#par4{
21 white−space: pre−wrap;
22 }
23 p#par5{
24 white−space: pre−line;
25 }
26 </style>
27 </head>
28 <body>
29 <p id="par1"> Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
30 Aenean commodo ligula eget dolor.</p>
31 <p id="par2"> Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
32 Aenean commodo ligula eget dolor.</p>
33 <p id="par3"> Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
34 Aenean commodo ligula eget dolor.</p>
35 <p id="par4"> Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
36 Aenean commodo ligula eget dolor.</p>
37 <p id="par5"> Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
38 Aenean commodo ligula eget dolor.</p>
39 </body>
40 </html>
CSS
1 p.ombra {
2 font−size: 1.5em;
3 }
4
5 p.ombra1 {
6 text−shadow: 5px 10px;
7 }
8
9 p.ombra2 {
10 text−shadow: 5px 10px 1px gray;
11 }
Aplicacions Web 49 Fulls d'estil
HTML
CSS
1 p.tall {
2 word−wrap: break−word;
3 }
HTML
HTML
CSS
1 p.desbordament {
2 overflow: hidden;
3 }
4
5 p.desbordament1 {
6 text−overflow: clip;
7 }
8
9 p.desbordament2 {
10 text−overflow: ellipsis;
11 }
El CSS ens permet posar colors i imatges a la nostra web, tant pel que fa a la lletra
com pel que fa al color o imatge de fons de cada element. Vegem quines propietats
ens permeten fer-ho:
En el subapartat “Mesures
i colors” d’aquesta unitat
podeu trobar més • color: permet canviar el color de lletra. Vegem, per exemple, dues maneres
informació respecte els
valors dels colors. per establir que el text inclòs en els elements <em> serà de color vermell:
1 em {
2 color: red;
3 }
4
Aplicacions Web 51 Fulls d'estil
5 em {
6 color: rgb(255,0,0);
7 }
1 h1 {
2 background−color: #FF0000;
3 }
Per a posar una imatge de fons de tot el document, per exemple, el selector hauria
de ser l’element <body>:
1 body {
2 background−image: url("fons.png");
3 }
1 body {
2 background−image: url("fons.png");
3 background−attachment: fixed;
4 }
1 body {
2 background: white url("fons.png");
3 background−repeat: repeat−y;
4 }
Aplicacions Web 52 Fulls d'estil
Suposem que volem tenir una imatge a l’extrem superior dret com a fons d’un
document. Vegem com establiríem la propietat background-position usant
paraules clau o percentatges:
1 body {
2 background−image: url("fons.png");
3 background−repeat: no−repeat;
4 background−position: right top; /* usant paraules clau */
5 }
6
7 body {
8 background−image: url("fons.png");
9 background−repeat: no−repeat;
10 background−position: 100% 0%; /* usant percentatges */
11 }
1 body {
2 background: red;
3 }
4
5 p {
6 background: gray url("fons.png") no−repeat fixed left top;
7 }
Aquest exemple ens diu el següent: el color de fons del document serà vermell.
A més, el color de fons dels paràgrafs serà gris amb una única imatge de fons de
nom fons.png que estarà situada a l’extrem superior esquerre del paràgraf i que
estarà fixada.
1 p {
2 background: #AFABFF url(imatges/firefox.png) no−repeat center 5%;
3 }
CSS3 ens permet jugar a posar múltiples imatges de fons. Imagineu que voleu
posar una imatge de tipus patró (pattern) a un document, de forma que es repeteixi
com a fons, i alhora voleu posar una altra imatge única de fons a la part superior
dreta amb un logotip, com si fons una marca d’aigua. El codi podria ser aquest:
1 <!DOCTYPE html>
2 <html>
3 <head>
4 <style>
5 #fons {
6 background−image: url(’imgs/logocss3p.png’), url(’imgs/honeycomb.png’);
7 background−position: right top, left top;
8 background−repeat: no−repeat, repeat;
9 padding: 15px;
10 }
11 </style>
12 </head>
13 <body>
14
15 <div id="fons">
16 <h1>Lorem Ipsum</h1>
17 <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo
ligula eget dolor.Lorem ipsum dolor sit amet, consectetuer adipiscing
elit. Aenean commodo ligula eget dolor.Lorem ipsum dolor sit amet,
consectetuer adipiscing elit. Aenean commodo ligula eget dolor.</p>
18 <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo
ligula eget dolor.Lorem ipsum dolor sit amet, consectetuer adipiscing
elit. Aenean commodo ligula eget dolor.Lorem ipsum dolor sit amet,
consectetuer adipiscing elit. Aenean commodo ligula eget dolor.</p>
19 <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo
ligula eget dolor.Lorem ipsum dolor sit amet, consectetuer adipiscing
elit. Aenean commodo ligula eget dolor.Lorem ipsum dolor sit amet,
consectetuer adipiscing elit. Aenean commodo ligula eget dolor.</p>
20 <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo
ligula eget dolor.Lorem ipsum dolor sit amet, consectetuer adipiscing
elit. Aenean commodo ligula eget dolor.Lorem ipsum dolor sit amet,
consectetuer adipiscing elit. Aenean commodo ligula eget dolor.</p>
21 </div>
22
23 </body>
24 </html>
Aplicacions Web 54 Fulls d'estil
El resultat és:
F igu r a 2. 2 0 . Múltiples imatges de fons
Amb CSS3 també podem tenir més control respecte la imatge de fons a partir de
les següents propietats:
CSS
1 p {
2 border: 2px #8246D2 solid;
3 padding: 25px;
4 width: 25%;
5 margin−right: 50px;
6 float: left;
7 background−image: url(imatges/linux.png);
8 background−repeat: no−repeat;
9 }
10
11 p.fons1 {
12 background−size: 25px 50px;
13 }
14
15 p.fons2 {
16 background−size: 50px 50px;
17 }
18
19 p.fons3 {
20 background−size: cover;
21 }
22
23 p.fons4 {
24 background−size: contain;
25 }
Aplicacions Web 55 Fulls d'estil
HTML
CSS
1 p.orig{
2 background−image: url(imatges/firefox.png);
3 border−width: 10px;
4 background−size: 50px 50px;
5 }
6
7 p.orig1 {
8 background−origin: border−box;
9 }
10
11 p.orig2 {
12 background−origin: padding−box;
13 }
14
15 p.orig3 {
16 background−origin: content−box;
17 }
HTML
Hi ha diverses propietats, com els marges o les vores de cada element, que hem
d’establir a partir de l’anomenat model de caixa. Per entendre aquest model
hem de pensar cada element del document (X)HTML com si fos una caixa. De
cadascuna d’aquestes caixes podem distingir els components següents:
Per tal d’establir i configurar cadascun dels components d’una caixa, el llenguatge
CSS ens ofereix les propietats pertinents.
A banda d’aquest model de caixa, que és l’estàndard que fan servir la majoria de
navegadors, Internet Explorer disposa del seu propi, en el qual l’amplada (width)
no coincideix amb el contingut (content), sinó que és la suma del contingut +
farciment + la vora.
Com a resum podríem establir que, per tal de saber l’amplada total d’una caixa,
tenim el model estàndard del W3C i el model de IE, i el càlcul queda de la següent
manera:
Model W3C
És per aquest motiu que hem d’anar amb compte amb quin navegador visualitzem
les pàgines que desenvolupem.
Per altra banda, CSS3 ens permet modificar el model de caixa respecte al seu
comportament per defecte. Això ho podem fer amb la propietat box-sizing.
A aquesta propietat li podem assignar tres valors diferents: content-box,
padding-box i border-box, per tal que la propietat width computi tenint
en compte únicament el contingut (context-box), el contingut + el farciment
(padding-box) o la totalitat dels tres (border-box). El valor més habitual és
aquest darrer, que per altra banda se sembla al de IE<6.
Aplicacions Web 58 Fulls d'estil
1 <!DOCTYPE html>
2 <html>
3 <head>
4 <style>
5 h3{
6 background−color: #00ffcc;
7
8 }
9 #clasica{
10 width: 200px;
11 padding: 15px;
12 border: 5px solid red;
13 }
14 #incloufinsvora{
15 width: 200px;
16 padding: 15px;
17 border: 5px solid red;
18 box−sizing: border−box;
19 }
20 </style>
21 </head>
22 <body>
23 <h3>200px de contingut + 30px de padding (15px per costat) + 10px de vora (5
px per costat) = 240px</h3>
24 <p id="clasica">
25 Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo
ligula eget dolor.Lorem ipsum dolor sit amet, consectetuer adipiscing
elit. Aenean commodo ligula eget dolor.Lorem ipsum dolor sit amet,
consectetuer adipiscing elit. Aenean commodo ligula eget dolor.
26 </p>
27 <h3>200px d’amplada que inclou 30px de padding (15px per costat) + 10px de
vora (5px per costat).</h3>
28 <p id="incloufinsvora">
29 Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo
ligula eget dolor.Lorem ipsum dolor sit amet, consectetuer adipiscing
elit. Aenean commodo ligula eget dolor.Lorem ipsum dolor sit amet,
consectetuer adipiscing elit. Aenean commodo ligula eget dolor.
30 </p>
31 </body>
32 </html>
Aplicacions Web 59 Fulls d'estil
Les vores del model de caixa s’han ampliat amb les següents propietats en CSS3:
• border-top-left-radius, border-top-right-radius,
border-bottom-left-radius, border-bottom-right-radius:
aquestes propietats ens permeten fer vores arrodonides. Com a valor es
posa un nombre que correspon al radi de la vora corresponent.
Vegem-ne un exemple:
HTML
1 <h2>Vores arrodonides</h2>
2 <p class="arrodonit1">Paràgraf amb vora arrodonida de radi 25px.</p>
3 <p class="arrodonit2">Paràgraf amb les vores superior esquerra i inferior dreta
arrodonides amb un radi de 30px.</p>
CSS
1 p {
2 border: 2px #CD1C7E solid;
3 padding: 10px;
4 width: 25%;
5 margin−right: 50px;
6 float: left;
7 }
Aplicacions Web 60 Fulls d'estil
8
9 p.arrodonit1 {
10 border−radius: 30px;
11 }
12
13 p.arrodonit2 {
14 border−top−left−radius: 30px;
15 border−bottom−right−radius: 30px;
16 }
HTML
1 <p class="ombres ombres1">Paràgraf amb ombra gris posicionada a 20px cap a baix
i cap a la dreta.</p>
2 <p class="ombres ombres2">Paràgraf amb ombra gris posicionada a 20px cap a baix
i cap a la dreta i amb una borrositat de 5px a la vora.</p>
3 <p class="ombres ombres3">Paràgraf amb ombra gris posicionada a 20px cap a baix
i cap a la dreta, amb una borrositat de 5px a la vora i una mida de 15px.
</p>
4 <p class="ombres ombres4">Paràgraf amb una vora <em>inset</em></p>
CSS
1 p {
2 border: 2px #CD1C7E solid;
3 padding: 10px;
4 width: 25%;
Aplicacions Web 61 Fulls d'estil
5 margin−right: 50px;
6 float: left;
7 }
8
9 p.ombres {
10 margin−bottom: 50px;
11 }
12
13 p.ombres1 {
14 box−shadow: 20px 20px gray;
15 }
16
17 p.ombres2 {
18 box−shadow: 20px 20px 5px gray;
19 }
20
21 p.ombres3 {
22 box−shadow: 20px 20px 5px 15px gray;
23 }
24
25 p.ombres4 {
26 box−shadow: 20px 20px 5px 5px gray inset;
27 }
Una altra propietat molt interessant ens serveix perquè l’usuari pugui redimensio-
nar una caixa:
Per exemple,
1 p {
2 resize: both;
3 }
2.4.1 Marges
Per establir els marges d’un element tenim les següents propietats:
1 p {
2 margin−top: 1em;
3 margin−right: 2em;
4 margin−bottom: 3em;
5 margin−left: 4em;
6 }
1 body {
2 margin: 1em 2em 3em 4em;
3 }
4
5 p.tipus1 {
6 margin:2em;
7 }
8
9 p.tipus2 {
10 margin:5em 2em;
11 }
Aplicacions Web 63 Fulls d'estil
En la figura 2.27 podem veure quin aspecte tindrien els paràgrafs de tipus 1 i de
tipus 2. S’hi han afegit vores per tal que les distàncies dels marges es visualitzin
millor.
F ig ur a 2. 27 . Propietats de margin
Hem de tenir en compte que l’àrea que ocupa el margin no se li pot associar cap
color de fons amb cap propietat de la mateixa caixa. Per tal de crear l’efecte que el
fons és d’un color, o fins i tot una imatge, hem de posar aquesta caixa dins d’una
altra, i posar-li a aquesta última color.
2.4.2 Farciment
Per establir els marges d’un element tenim les següents propietats:
1 body {
2 padding−top: 1em;
3 padding−right: 2em;
4 padding−bottom: 1em;
5 padding−left: 2em;
6 }
1 p#par1 {
2 padding:2em;
3 }
4
5 p#par2 {
6 padding:5em 2em;
7 }
En aquest cas, el paràgraf amb identificador par1 tindrà un farciment de 2em pels
quatre costats. El paràgraf amb identificador par2 tindrà un farciment superior i
inferior de 5em i un farciment tant a la dreta com a l’esquerra de 2em.
En la figura 2.28 podem veure quin aspecte tindrien aquests paràgrafs. S’hi han
afegit vores per tal que les distàncies dels marges es visualitzin millor.
2.4.3 Vores
Per establir les vores d’un element tenim les següents propietats:
mitjana o thick si volem una vora gruixuda. Si volem tenir un major control
del gruix de les vores, podem usar també una unitat de mesura com a valor
de la propietat. Vegem-ne un exemple:
1 h1 {
2 border−top−width: thin;
3 border−right−width: thick;
4 border−bottom−width: medium;
5 border−left−width: thick;
6 }
1 h1 {
2 border−width: thin thick medium;
3 }
1 p {
2 border−top−color: black;
3 border−right−color: red;
4 border−bottom−color: green;
5 border−left−color: blue;
6 }
1 p {
2 border−color: gray;
3 }
En aquest cas estem fent que tots els paràgrafs tinguin una vora de color gris.
Vegem un exemple:
1 #caixa {
2 border−top−style: solid;
3 border−right−style: dotted;
4 border−bottom−style: solid;
5 border−left−style: dotted;
6 }
1 #caixa {
2 border−style: solid dotted
3 }
4
5 span.boto{
6 border−style: outset;
7 background−color: gray;
8 }
9
10 span.boto:hover {
11 border−style: inset;
12 }
En aquest exemple veiem que l’element amb identificador caixa tindrà una vora
superior i inferior amb una línia contínua. A dreta i esquerra de l’element tindrà
una línia puntejada. Les dues regles següents volen simular que els elements
<span> de classe boto semblin botons: en el seu estat normal semblaran un botó
sense prémer, però quan hi passem per sobre semblaran un botó premut.
1 h1 {
2 border−top: thick solid red;
3 border−right: thick dotted green;
Aplicacions Web 67 Fulls d'estil
1 p.tipus1{
2 border: black medium solid;
3 }
4
5 p.tipus2{
6 border: red 10px dashed;
7 }
8
9 p.tipus3{
10 border: gray 1px dotted;
11 }
F ig ur a 2. 29 . Propietats de border
El format visual dels elements d’un document ens defineix com són les caixes
(és a dir, els elements (X)HTML vistos com a caixes) en el document i el
comportament d’aquestes caixes envers la resta de caixes de la pàgina.
• display: aquesta propietat ens ajuda a establir el tipus de caixa que defineix
l’element. Pot tenir els següents valors:
Tenint presents aquests valors podem deduir que en els navegadors, els paràgrafs,
és a dir els elements <p>, tenen per defecte el valor block; el text emfatitzat, és a
dir els elements <em>, tenen per defecte el valor inline, i els ítems d’una llista,
és a dir els elements <li>, tenen per defecte el valor list-item.
1 img {
2 display: none;
3 }
Vegem un altre exemple: imaginem que volem mostrar un text amb 3 columnes.
Podríem fer-ho de la següent manera:
(X)HTML
1 <div id="contingut">
2 <div id="principal">
3 <div id="esquerra">
4 Lorem ipsum dolor sit amet...
5 </div>
6 <div id="centre">
7 Vivamus fermentum semper porta...
8 </div>
9 <div id="dreta">
10 Suspendisse lectus leo...
11 </div>
12 </div>
13 </div>
CSS
1 #contingut {
Aplicacions Web 69 Fulls d'estil
2 display: table;
3 border−spacing: 5px;
4 }
5
6 #principal {
7 display: table−row;
8 }
9
10 #esquerra, #centre, #dreta {
11 display: table−cell;
12 }
HTML
1 <div class="bloc">
2 <h2>position, top, left, right, bottom</h2>
3 <p>1er paràgraf normal</p>
4 <p id="elem2">2n paràgraf amb posicionament relatiu. L’espai que ocuparia
aquest paràgraf es manté.</p>
5 <p id="elem3">3r paràgraf amb posicionament absolut. No es manté cap espai
en el seu lloc original.</p>
6 <p>4t paràgraf normal</p>
7 </div>
8 <div class="bloc" id="elem4">
9 Aquest text té posició fixa.
10 </div>
11 <div class="bloc">
12 <h2>height, width</h2>
13 <p id="elem5">Paràgraf amb amplada 15em i alçada 3em. Si el text és llarg,
surt de la seva caixa...</p>
14 </div>
CSS
1 div.bloc {
2 border−color: #DAA520;
3 }
4
5 #elem2 {
6 position:relative;
7 top: 4em;
8 left: 15em;
9 }
10
11 #elem3 {
12 position:absolute;
13 top: 20em;
14 left: 25em;
15 }
16
17 #elem4 {
18 position:fixed;
19 top:90%;
20 left:88%;
21 width:8em;
22 height:3em;
23 font−size:xx−small;
24 padding:0.5em;
25 }
26
27 #elem5 {
28 width:15em;
29 height:3em;
30 background−color:#DAA520;
31 }
1 img {
2 float: right;
3 }
HTML
1 <h2>float</h2>
2 <p><img src="imatges/firefox.png" alt="logo firefox" class="esq" />La imatge
que hi ha al principi del paràgraf està flotant a l’esquerra del parà
graf.</p>
3 <p><img src="imatges/firefox.png" alt="logo firefox" class="dre" />La imatge
que hi ha al principi del paràgraf està flotant a la dreta del paràgraf.
</p>
4 <p>Diversos elements <div> flotants a l’esquerra, l’un al costat de l’
altre:</p>
5 <div>
6 <div class="quadradet"></div>
7 <div class="quadradet"></div>
8 <div class="quadradet"></div>
9 ...
10 </div>
Aplicacions Web 72 Fulls d'estil
CSS
1 .esq {
2 float:left;
3 }
4
5 .dre {
6 float:right;
7 }
8
9 div.quadradet {
10 background−color:#4682B4;
11 float:left;
12 width:2em;
13 height:2em;
14 margin:0.5em;
15 }
Vegem un exemple: imagineu que en un document volem que les imatges quedin
flotant a l’esquerra. Ara bé imaginem que en un paràgraf concret no volem que la
imatge quedi flotant. Ho podríem codificar de la següent manera:
HTML
1 <h2>clear</h2>
2 <p><img src="imatges/linux.png" alt="tux" />La imatge que està al principi del
paràgraf està flotant a l’esquerra.</p>
3 <p class="noflotis">A aquest paràgraf li hem eliminat els objectes flotants.</p
>
Aplicacions Web 73 Fulls d'estil
CSS
1 img {
2 float: left;
3 }
4
5 .noflotis {
6 clear:both;
7 }
Vegem un exemple:
HTML
1 <h2>z−index</h2>
2 <p id="par1">El paràgraf groc queda per sota.</p>
3 <p id="par2">El paràgraf de fons vermell queda per sobre.</p>
4 <p id="par3">El paràgraf groc queda per sobre. Hem posat un z−index amb valor
superior.</p>
5 <p id="par4">El paràgraf de fons vermell queda per sobre.</p>
CSS
10
11 #par2, #par4 {
12 background−color: #DA4B17; /* vermell */
13 }
14
15 #par2 {
16 top:−6em;
17 left:4em;
18 }
19
20 #par3 {
21 top:−5em;
22 left:0em;
23 z−index:2;
24 }
25
26 #par4 {
27 top:−11em;
28 left:4em;
29 z−index:1;
30 }
• overflow: indica què fer quan el contingut mesura més que la caixa. Els
possibles valors són:
HTML
1 <h2>overflow</h2>
2 <p id="par1">Paràgraf on és visible (visible) el text que no cap en la caixa
corresponent, establerta amb width i height. </p>
3 <p id="par2">Paràgraf on queda ocult (hidden) el text que no cap en la caixa
corresponent, establerta amb width i height. </p>
4 <p id="par3">Paràgraf amb barres de desplaçament (scroll).</p>
5 <p id="par4">Paràgraf amb barres de desplaçament (auto) només si el text és
massa llarg per a la caixa corresponent.</p>
CSS
2.6.1 Transformacions
Les transformacions ens permeten canviar la posició i la mida d’un element. Tot
i que la majoria dels navegadors tenen implementades les transformacions 2D,
encara hem de posar un prefix a la propietat tal com veureu als exemples (consulteu
l’apartat “Regles CSS” per tenir més detalls dels prefixos).
Transformacions 3D
La propietat transform() també
Les transformacions 2D es fan a partir de la propietat transform. Els diferents
ens permet fer transformacions valors d’aquesta propietat permeten que s’apliquin diversos efectes sobre els
3D a partir dels valors
rotateX(graus) i elements afectats:
rotateY(graus).
CSS
1 p {
2 border: 2px #44D084 solid;
3 padding: 10px;
4 width: 25%;
5 margin−right: 30px;
6 float: left;
7 }
8
9 p.translate{
10 −moz−transform: translate(30px,10px);
11 −ms−transform: translate(30px,10px);
12 −webkit−transform: translate(30px,10px);
13 −o−transform: translate(30px,10px);
14 transform: translate(30px,10px);
15 }
Aplicacions Web 77 Fulls d'estil
16
17 p.rotate{
18 −moz−transform: rotate(20deg);
19 −ms−transform: rotate(20deg);
20 −webkit−transform: rotate(20deg);
21 −o−transform: rotate(20deg);
22 transform: rotate(20deg);
23 }
24
25 p.scale{
26 −moz−transform: scale(0.75,1.25);
27 −ms−transform: scale(0.75,1.25);
28 −webkit−transform: scale(0.75,1.25);
29 −o−transform: scale(0.75,1.25);
30 transform: scale(0.75,1.25);
31 }
32
33 p.skew{
34 −moz−transform: skew(10deg, 30deg);
35 −ms−transform: skew(10deg, 30deg);
36 −webkit−transform: skew(10deg, 30deg);
37 −o−transform: skew(10deg, 30deg);
38 transform: skew(10deg, 30deg);
39 }
40
41 p.matrix{
42 −moz−transform: matrix(0.9, −0.05, −0.375, 1.375, 0, 0);
43 −ms−transform: matrix(0.9, −0.05, −0.375, 1.375, 0, 0);
44 −webkit−transform: matrix(0.9, −0.05, −0.375, 1.375, 0, 0);
45 −o−transform: matrix(0.9, −0.05, −0.375, 1.375, 0, 0);
46 transform: matrix(0.9, −0.05, −0.375, 1.375, 0, 0);
47 }
HTML
1 <div class="bloc">
2 <p>Paràgraf sense transformació</p>
3 <p class="translate">Paràgraf traslladat 30px a la dreta i 10px cap avall.</p
>
4 </div>
5 <div class="bloc">
6 <p class="rotate">Paràgraf amb 20 graus de rotació.</p>
7 <p class="scale">Paràgraf escalat en un factor 0.75x1.25</p>
8 </div>
9 <div class="bloc">
10 <p class="skew">Paràgraf girat amb angles de 10 graus i 30 graus.</p>
11 <p class="matrix">Paràgraf amb una transformació matrix.</p>
12 </div>
2.6.2 Transicions
Les transicions són efectes que permeten que un element passi de tenir un estil a
tenir-ne un altre. Per aconseguir aquests efectes tenim les següents propietats:
Una transició s’executa quan una propietat canvia. Una manera de provocar aquest
canvi es pot fer usant la pseudoclasse :hover. Vegem-ne alguns exemples:
Aquests exemples tenen
Imaginem que volem emular unes pestanyes a partir de les quals es va desplegant animació. A l’Annex “Codi
font dels exemples” del
una caixa amb text. Podríem tenir el següent codi CSS: material web d’aquesta
unitat podeu trobar el codi
font i provar-lo amb el
1 .canvimida{ navegador.
2 border: 2px #44D084 solid;
3 width: 25%; Els navegadors encara
necessiten que posem el
4 float: left; seu prefix a la propietat
5 overflow: hidden; transition.
6 /* L’element tindrà inicialment 1em d’alçada */
7 height: 1em;
8 /* Transició de l’element a una altra alçada */
9 −moz−transition: height linear 2s;
10 −webkit−transition: height linear 2s;
11 −o−transition: height linear 2s;
12 transition: height linear 2s;
13 }
14
15 .canvimida:hover {
16 /* Quan passem pel damunt l’element tindrà 10em */
17 height: 10em;
18 }
19
20 .canvimida p, .canvimida h2{
21 margin: 0;
22 padding: 0;
23 }
24
25 .canvimida h2{
26 font−size: 1em;
27 background−color: #44D084;
28 color: black;
29 font−weight: bold;
30 text−align: center;
31 }
1 <div class="bloc">
2 <div class="canvimida">
3 <h2>Ítem 1</h2>
4 <p>Explicació de l’ítem 1 amb text i tot allò que vulguem</p>
5 </div>
6 <div class="canvimida">
7 <h2>Ítem 2</h2>
8 <p>Explicació de l’ítem 2 amb text i tot allò que vulguem</p>
9 </div>
10 <div class="canvimida">
11 <h2>Ítem 3</h2>
12 <p>Explicació de l’ítem 3 amb text i tot allò que vulguem</p>
13 </div>
14 </div>
Cada cop que passem per cadascun dels ítems, el paràgraf inferior es desplegarà
lentament (durant 2 segons).
Aplicacions Web 80 Fulls d'estil
Posem un altre exemple: com que podem aplicar tantes transicions com vulguem,
imaginem que volem que quan passem per damunt d’un títol canviïn els colors de
fons i de lletra gradualment. Ho podríem fer de la següent manera:
1 .canvicolor {
2 border: 2px #44D084 solid;
3 width: 25%;
4 height: 3em;
5 text−align: center;
6 margin−bottom: 2em;
7 /* Inicialment els colors són blanc pel color */
8 /* de lletra i verd pel color de fons */
9 color: white;
10 background−color: #44D084;
11 /* Definició de la transició del color de lletra */
12 −moz−transition: color ease−out 1s;
13 −webkit−transition: color ease−out 1s;
14 −o−transition: height ease−out 1s;
15 transition: height ease−out 1s;
16 /* Definició de la transició del color de fons */
17 −moz−transition: background−color ease−out 1s;
18 −webkit−transition: color ease−out 1s;
19 −o−transition: height ease−out 1s;
20 transition: height ease−out 1s;
21 }
22
23 .canvicolor:hover{
24 /* Quan passem per sobre els colors de lletra */
25 /* i de fons s’intercanviaran */
26 color: #44D084;
27 background−color: white;
28 }
1 <div class="canvicolor">
2 <h3>Títol</h3>
3 </div>
2.6.3 Animacions
Un keyframe és un punt
clau, al que li podem afegir CSS3 incorpora animacions amb les quals podrem fer que els nostres elements
una acció concreta, per
aquest motiu la regla canviïn les seves propietats en un espai de temps. Vegem com fer-ho.
@keyframes, marca
diferents punts claus, dins
dels que podem associar El primer que hem de fer es declarar una regla @ anomenada @keyframes.Amb
diferents accions o canvis
de propietats CSS. aquesta regla direm des de quina propietat partim i fins a quina propietat volem
Fixem-nos que hem anar. Vegem alguns exemples:
d’establir la regla CSS
genèrica que en algun
moment adoptaran tots els Volem que el fons d’un element vagi canviant de color. Podríem establir la següent
navegadors i una regla per
a cada navegador que ja la regla:
suporta, però amb el seu
prefix. 1 @keyframes canvicolorfons{
2 0% {background−color: red;}
Aquests exemples tenen 3 25% {background−color: yellow;}
animació. A l’Annex “Codi
4 50% {background−color: blue;}
font dels exemples” del
material web d’aquesta 5 100% {background−color: green;}
unitat podeu trobar el codi 6 }
font i provar-lo amb el 7 @−moz−keyframes canvicolorfons{
navegador.
8 0% {background−color: red;}
Aplicacions Web 81 Fulls d'estil
Amb aquesta regla aconseguim que inicialment el color de fons estigui en vermell,
després del 25% del temps que dura un cicle de l’animació, el fons haurà
transicionat fins al color groc, quan estiguem a la meitat del temps el fons serà
de color blau i finalment el color de fons transicionarà fins al color verd.
1 @keyframes mou{
2 0% {margin−left: 0}
3 25% {margin−left: 25%}
4 50% {margin−left: 50%}
5 100% {margin−left: 75%}
6 }
7 @−moz−keyframes mou{
8 0% {margin−left: 0; }
9 25% {margin−left: 25%; −moz−transform: rotate(120deg);}
10 50% {margin−left: 50%; −moz−transform: rotate(240deg);}
11 100% {margin−left: 75%; −moz−transform: rotate(360deg);}
12 }
13 @−webkit−keyframes mou{
14 0% {margin−left: 0; }
15 25% {margin−left: 25%; −webkit−transform: rotate(120deg);}
16 50% {margin−left: 50%; −webkit−transform: rotate(240deg);}
17 100% {margin−left: 75%; −webkit−transform: rotate(360deg);}
18 }
Amb aquesta regla aconseguim que a mida que passa el temps l’element vagi
augmentant el seu marge esquerre i, per tant, es vagi movent cap a la dreta i que
vagi rotant fins tornar a la seva posició inicial ja que dóna una volta completa de
360 graus.
Un cop tenim l’animació definida l’hem d’aplicar. Per tal d’aplicar-la i especificar
alguna configuració de l’animació, podem usar les següents propietats:
Per veure el significat dels
valors de la propietat
• animation-name: el nom de l’aplicació que volem aplicar. Ha de coincidir animation-timing-function
vés a l’apartat
amb el nom d’alguna regla @keyframes definida. “Transicions” d’aquesta
unitat.
A partir de les animacions que s’han definit en els exemples anteriors, vegem com
aplicar-les. Farem ús de la propietat resum animation:
HTML
1 <div class="bloc">
2 <div class="canvicolor">
3 <h3>Títol</h3>
4 </div>
5 </div>
6
7 <div class="bloc">
8 <div class="canviposicio">
9 <h3>Títol</h3>
10 </div>
11 </div>
CSS
1 .canvicolor {
Els navegadors encara 2 −moz−animation: canvicolorfons 5s linear 0s infinite alternate;
necessiten que posem el 3 −webkit−animation: canvicolorfons 5s linear 0s infinite alternate;
seu prefix a la propietat 4 animation: canvicolorfons 5s linear 0s infinite alternate;
animation.
5 }
6
7 .canviposicio {
8 width: 25px;
9 −moz−animation: mou 5s linear 0s infinite alternate;
10 −webkit−animation: mou 5s linear 0s infinite alternate;
11 animation: mou 5s linear 0s infinite alternate;
12 }
En cadascuna de les regles anteriors hem establert quina animació hem d’usar,
canvicolorfons i mou, respectivament. En tots dos casos fem que un cicle
d’animació duri 5 segons, que la velocitat de l’animació sigui constant durant tot
el cicle, que es facin infinits cicles i que l’animació vagi anant cap endavant i cap
endarrere alternativament.
Aplicacions Web 83 Fulls d'estil
2.6.4 Gradients
En moltes ocasions volem afegir transicions entre 2 o més colors, per posar un
estil concret a diferents àrees de les pàgines web. Antigament això es resolia amb
imatges, però aquesta és una tècnica poc eficient; bé perquè en canviar l’amplada
o alçada de la finestra del navegador, les imatges no s’ajustaven bé, o simplement
per l’augment de temps de descàrrega que suposen aquestes imatges afegides.
CSS3 ens permet mitjançant codificació fer transicions entre diferents colors,
siguin lineals o radials.
Gradient Lineal
En aquest cas hem d’indicar en quina direcció volem que es faci la transició
de colors, i igualment indicar-li un origen i un final, mitjançant l’elecció de les
paraules top/right/bottom/left o bé un angle.
Si volem fer un gradient aplicat a un fons, i que aquest passi per tres colors diferents
(#FF0000, #00FF00, #0000FF), distribuïts d’esquerra a dreta, haurem de fer servir
el següent codi:
1 #gradient {
2 background: −webkit−linear−gradient(left, #FF0000 , #00FF00, #0000FF);
3 background: −o−linear−gradient(right, #FF0000 , #00FF00, #0000FF);
4 background: −moz−linear−gradient(right, #FF0000 , #00FF00, #0000FF);
5 background: linear−gradient(to right, #FF0000 , #00FF00, #0000FF);
6 }
F igur a 2. 37
Aplicacions Web 84 Fulls d'estil
Gradient Radial
L’ús d’aquest gradient parteix del centre de l’àrea afectada, per iniciar els canvis
de colors marcats. El seu funcionament és molt similar al del gradient lineal,
on també l’indiquem els colors per on ha de passar mitjançant paràmetres que
segueixen la següent sintaxi:
Fig u ra 2 . 3 8
2.6.5 Columnes
El text d’un element es distribueix en una única columna. CSS3 incorpora una
propietat per fer que el text d’un element es pugui distribuir en més d’una columna.
Aquesta característica es pot aconseguir a partir de les següents propietats:
• columns: propietat resum per a les dues propietats anteriors. L’ordre dels
valors és el següent: column-width column-count.
Aplicacions Web 85 Fulls d'estil
Entre les columnes hi ha una línia de la qual podem establir els atributs:
Imaginem que volem maquetar el text dels paràgrafs en tres columnes, amb una
separació de 50px entre elles i una línia puntejada que les separi. Establiríem la
següent regla:
Els navegadors encara
1 p { necessiten que posem el
seu prefix a les propietats
2 column−count: 3; que generen columnes en
3 column−rule: 5px dotted #458FD1; els elements.
4 −moz−column−count: 3;
5 −moz−column−gap: 50px;
6 −moz−column−rule: 5px dotted #458FD1;
7 −webkit−column−count: 3;
8 −webkit−column−gap: 50px;
9 −webkit−column−rule: 5px dotted #458FD1;
10 }
diferents regles quan variem aquesta mida. Una de les eines que fem servir per tal
de fer-ho són les media queries.
Les media queries es fan servir conjuntament amb altres tècniques per realitzar el
que s’anomena disseny adaptatiu per a la web o RWD (Resposive Web Design),
és a dir, variar diferents aspectes de disseny i regles CSS perquè s’adaptin a
diferents dispositius, ja siguin smartphones, tablets, pantalles d’escriptori, etc.
La declaració de les media queries la podem fer o bé dins del mateix document
HTML o en diferents documents associats al document HTML.
1 <style>
2 @media screen and (min−width: 1200px){
3 }
4 </style>
Media types
El tipus de mitjans poden ser molt variats, i ens descriuen per quin mitjà volem
aplicar les regles CSS que escollim. El llistat de mitjans és el següent:
• tty: per dispositius amb un joc de caràcters limitat, com ara terminals.
Media features
Les media features, es referencien a característiques del mitjà com ara la resolució,
l’orientació o l’amplada del dispositiu o del navegador entre d’altres, i la seva
utilitat fer-les servir com a condicions per aplicar unes regles CSS o unes altres.
HTML:
1 <div id="contenidor">
2 <div id="quadre1"></div>
3 <div id="quadre2"></div>
4 </div>
CSS:
1 #quadre1 {
2 width: 100px;
3 height: 100px;
4 background−color: coral;
5 margin: 10px;
6 float: left;
7 }
Aplicacions Web 88 Fulls d'estil
8 #quadre2 {
9 width: 100px;
10 height: 100px;
11 background−color: coral;
12 margin: 10px;
13 float: right;
14 }
15 @media all and (min−width:600px){
16 #contenidor{
17 width:600px; /*Forcem que el div contenidor no superi mai una amplada de 600
px quan el navegador la supera*/
18 }
19 }
Per sobre de 600px d’amplada del navegador el quadre contenidor no supera els
600px, tal com es mostra a la figura 2.40:
L’art del CSS no és saber-se totes les propietats que hi ha de memòria sinó saber-
les combinar adequadament per aconseguir els efectes desitjats. Hi ha centenars
de tècniques per a problemes comuns.
Casos típics on és necessari dominar les propietats CSS són fer menús a partir de
llistes o maquetar webs sense usar taules.
Vegem com podem fer un menú “bonic” a partir d’una llista. Es tracta d’un menú
vertical que té l’aspecte que mostra la figura 2.41.
Aplicacions Web 89 Fulls d'estil
A continuació combinarem diverses de les regles CSS existents per tal d’acon-
seguir que aquesta simple llista desordenada acabi essent un menú atractiu i
accessible per a l’usuari.
Primer de tot, hem de dir a la llista que no volem pics a cada ítem, i això
ho podem aconseguir aplicant una propietat específica de llistes que es diu
list-style-type. A més, traiem marges i farciments i hi posem una vora:
1 #menu ul {
2 list−style−type: none ;
3 margin: 0;
4 padding: 0;
5 border: thick solid #D68EFF;
6 }
1 #menu ul li {
2 background−color: #B20298;
3 }
Ara definim l’estil dels enllaços: canviem el color de la lletra, traiem el subratllat,
fem que les lletres siguin sempre majúscules i hi posem una mica de farciment.
Hem de destacar que la declaració display: block serveix perquè l’enllaç
passi a ser un element de bloc (per defecte, és un element de línia) i així poder
prémer l’enllaç en tot el bloc, no només on hi ha les lletres de l’enllaç:
1 #menu ul li a {
2 color: white;
3 text−decoration: none;
4 text−transform: uppercase;
5 display: block;
6 padding: 0.2em 0.2em 0.2em 0.4em;
7 }
Finalment, definim quina estètica han de tenir els enllaços quan hi passem per
damunt. En aquest cas, els canviem el color de lletra i de fons, i hi fem aparèixer
una vora a l’esquerra:
Aplicacions Web 90 Fulls d'estil
1 #menu ul li a:hover {
2 background: #CC4ABD;
3 border−left: 0.3em solid #58014B;
4 color: #58014B;
5 }
Podem trobar molts llocs web on la maquetació està feta a partir de taules. L’ús de
taules per maquetar és feixuc i hem d’evitar-lo. En aquest exemple mostrem com
podem fer una maquetació sense taules (tableless) fent ús únicament de la marca
<div> i de CSS.
La maquetació que ens proposem fer és la d’un lloc web típic, amb una capçalera,
una barra lateral per al menú, el cos de la pàgina amb el contingut del lloc i un
peu de pàgina. El resultat desitjat el podeu observar en la figura 2.42.
Ara definim les regles pertinents per aconseguir els nostres objectius.
En la marca <body> definim totes les propietats genèriques: color de fons, color
de lletra i tipus de lletra. A més, posem el text centrat (perquè Internet Explorer
entengui que volem el contingut centrat) i traiem qualsevol tipus de marge.
1 body {
2 text−align: center ;
3 background−color:#FFC7FC;
4 color: #58014B;
5 font: small sans−serif;
6 margin: 0;
7 }
Al <div> amb identificador contenidor hem de dir-li que no ocupi tota la pàgina
(li diem que n’ocupi només un 80%), que quedi centrat (això s’aconsegueix posant
els marges esquerre i dret amb valor auto) i que el fons sigui blanc. A més, fem
que tot el text del web estigui alineat a l’esquerra.
1 #contenidor{
2 width: 80%;
3 margin: 0px auto;
4 text−align: left;
5 background−color:white;
6 }
1 #cap, #peu{
2 background−image: url("imatges/banner−web.png");
Aplicacions Web 92 Fulls d'estil
3 text−align:center;
4 font−weight: bold;
5 color:white;
6 }
Especifiquem també les propietats que només afecten la capçalera: volem que els
títols que contingui no tinguin marges:
Posem, a més, les mides per defecte que han de tenir tots els encapçalaments <h1>
i <h2> de la pàgina:
1 h1 {
2 font−size: 5em;
3 }
4
5 h2 {
6 font−size: 4em;
7 }
Per al peu de pàgina també tenim propietats específiques: la lletra ha de ser petita i
fem que no pugui tenir cap element flotant. Així, la barra lateral, que és un element
flotant, mai no es posarà per damunt del peu de pàgina.
1 #peu {
2 font−size: small;
3 clear: both;
4 }
1 #lateral {
2 width: 15%;
3 float: left;
4 }
Per maquetar el cos del web diem que el marge esquerre és d’un 15%, que és
just l’espai que ocupa la barra lateral. A més, posem una mica de farciment a
l’esquerra, perquè el text del cos no quedi enganxat al menú.
1 #cos {
2 margin−left: 15% ;
3 padding−left: 1em ;
4 }
Amb totes aquestes regles hem aconseguit el nostre objectiu: tenim una web
bonica, ben estructurada, amb un codi (X)HTML senzill i sense fer ús de taules.
Aplicacions Web 93 Fulls d'estil
L’exemple mostrarà una web amb una capçalera i un peu de pàgina, un menú
lateral esquerre i una part central de la web amb el contingut de cada secció.
Suposarem que el contingut de cada secció no és molt llarg, de manera que
posarem el contingut de totes les seccions en el mateix document (X)HTML. Si
ho preferíssim, podríem crear diverses pàgines repetint la mateixa estructura que
aquí es presenta.
1 <body>
2 <div id="contenidor">
3 <div id="cap">
4 <h1>Títol de la web</h1>
5 <h2>Subtítol de la web</h2>
6 </div>
7 <div id="lateral">
8 <div id="menu">
9 <ul>
10 <li><a href="#inici">Inici</a></li>
11 <li><a href="#seccio1">Secció 1</a></li>
12 <li><a href="#seccio2">Secció 2</a></li>
13 </ul>
14 </div>
15 </div>
16 <div id="cos">
17 <div id="inici">
18 <h3>Inici</h3>
19 <p>...</p>
20 <p>...</p>
21 <p>...</p>
22 </div>
23 <div id="seccio1">
24 <h3>Secció 1</h3>
25 <p>...</p>
26 <p>...</p>
27 <p>...</p>
28 </div>
29 <div id="seccio2">
30 <h3>Secció 2</h3>
31 <p>...</p>
32 <p>...</p>
33 <p>...</p>
34 </div>
35 </div>
36 <div id="peu">
37 <p>Peu de pàgina </p>
38 </div>
39 </div>
40 </body>
Per tal de simular els marcs hem de fer que les capes cap, lateral, cos i peu
estiguin fixades i que si el contingut de cada secció, que s’anirà mostrant a la
capa cos, no hi cap, ens aparegui una barra de desplaçament. Aquests objectius
els aconseguirem amb una combinació de les propietats position: fixed i
overflow:auto.
Aplicacions Web 94 Fulls d'estil
50 width: 67%;
51 height: 65%;
52 /* Si el text sobrepassa l’alçada del cos de la web quedarà ocult */
53 overflow:hidden;
54 /* Color de fons */
55 background−color:white;
56 }
Finalment, hem de fer que els <div> que siguin fills de la capa cos ocupin
tota l’alçada de la capa cos i si el text és molt llarg ens aparegui una barra de
desplaçament. Això ho aconseguirem amb la següent regla:
1 #cos>div{
2 /* Els <div> de dins el cos ocuparan tota l’alçada possible */
3 height: 100%;
4 /* Si el text sobrepassa l’alçada del <div> apareixerà una barra de desplaç
ament */
5 overflow: auto;
6 }
Si a les regles anteriors li afegim més regles que estilitzin tots els elements
aconseguim el resultat que es veu en la figura 2.43.
Així doncs, tot i que l’edició de regles CSS es pot fer amb qualsevol editor de text,
tindrem facilitats per a l’edició de les regles i dels estils.
Com a exemple, veurem algunes de les facilitats ens ofereix Brackets, relatives a
CSS. Alguns gestors ofereixen característiques similars.
Per tal de saber com
instal·lar una extensió a
Brackets, consulteu la Unitat Aquestes facilitats són:
2, l’apartat “Editors i gestors
d’(X)HTML”.
És molt recomanable
• Autocompleció de codi CSS
instal·lar l’extensió CSS
Color Preview, tal com
vàrem veure a la Unitat 2, al
• Creació de regles CSS amb Edició Ràpida
parlar dels editors i gestors
(X)HTML. • Color picker
El CSS és un dels diversos llenguatges suportats pel Brackets. Per tant, disposem
de l’autocompleció de codi a mesura que anem escrivint. En la figura 2.44 podeu
veure com se’ns mostren totes les possibilitats que tenen a veure amb propietats
de text, i a la figura 2.45 els valor que pot acceptar la propietat text-align.
Aquestes ajudes es mostren a mesura que escrivim el codi, però si volem forçar que
apareguin, també ho podem fer mitjançant el menú Edit > Show code Hits o
l’abreviació de teclat Ctrl + Space.
Moltes vegades a mesura que escrivim HTML volem afegir una nova regla. Per
tal de fer-ho hem d’obrir el fitxer on la volem ficar (External Style Sheet), o
simplement anar a la capçalera del document HTML per editar l’estil dins de
l’etiqueta <style> (Internal Style Sheet). Això pot ser una feina prou pesada,
de localització de l’element que volem modificar, dins del codi CSS. Brackets
disposa d’una eina molt potent per tal de facilitar aquesta tasca, és l’anomenada
Edició Ràpida (Quick Edit). Per tal d’activar-la solament ens hem de posar dins
l’etiqueta a la qual volem afegir/modificar una regla i pitjar Cmd + E, o mitjançant
el menú Navigate > Quick Edit. S’obrirà l’edició ràpida (vegeufigura 2.46),
on podem afegir/modificar la regla, bé en un determinat fitxer o be escollint-ne un
altre, en el cas que aquesta etiqueta disposi d’una distribució de regles a diferents
fitxers.
Fi g ura 2 .46 . Edició ràpida amb Brackets
Aplicacions Web 98 Fulls d'estil
Una ajuda a l’hora d’escollir colors, és l’extensió Brackets Color Picker, que
afegeix la possibilitat d’afegir colors amb un selector visual, tal com mostra la
figura 2.47.
Per tal d’afegir aquesta possibilitat, hem d’instal·lar l’extensió amb el gestor
d’extensions de Brackets. L’adreça on figura aquesta extensió és Backets Color
Picker (vegeu figura 2.48)
Una vegada instal·lat i actiu podem accedir amb aquesta extensió, quan escrivim
una propietat dins de CSS, del tipus colors, ja sigui color o background-color,
i cliquem CMD/CTRL + ALT + K.
Aplicacions Web 99 Fulls d'estil
Podem afegir a l’edició ràpida noves característiques que ens facilitin certes
tasques. Aquest és el cas de Brackets Gradient Editor, disponible a través del
gestor d’extensions de Brackets o a l’adreça Brackets Gradient Editor.
Una vegada instal·lat, si estem editant un gradient amb CSS, com per exemple:
1 #gradient {
2 background: linear−gradient(rgb(137, 157, 52) 11%, blue 77.3%); /* Estàndard
*/
3 }
Aplicacions Web
Aplicacions Web Gestors d'arxius web
Índex
Presentació 5
Resultats d’aprenentatge 7
Presentació
Des de l’aparició dels primers sistemes de fitxers, els sistemes operatius han
necessitat una eina que permetés als usuaris treballar amb el sistema de fitxers
i que mostrés el contingut del disc dur d’una manera amigable i fàcil de gestionar.
Aquesta eina és el gestor d’arxius, que s’encarrega de fer d’intermediari entre les
dades del sistema i nosaltres.
convé que aneu fent les activitats proposades, i els exercicis d’autoavaluació, així
com tenir coneixement de la documentació tècnica, per poder arribar a instal·lar i
configurar l’aplicació sense problemes i amb el màxim de garanties. El fet que les
aplicacions web que s’expliquen tinguin llicència GPL permetrà que les pugueu
utilitzar sense problemes, fins i tot per a un ús comercial.
Aplicacions Web 7 Gestors d'arxius web
Resultats d’aprenentatge
F igur a 1. 1. Interfície web del File Thingie File transfer protocol (FTP)
L’FTP és un protocol de xarxa
amb arquitectura client-servidor
que es remunta a l’any 1973 i
que va ser dissenyat per
intercanviar i manipular arxius a
través d’una xarxa d’ordinadors
que utilitzi el protocol IP, com
ara Internet. Inicialment, l’FTP
es cridava a través d’una consola
o terminal i tota la interfície era
en mode text, però més endavant
es van desenvolupar interfícies
de tipus gràfic que el suporten.
Interfície web d’un gestor d’arxius web basats en PHP, el File Thingie
Avui en dia existeixen diferents aplicacions per gestionar els arxius web. Cal
estudiar les diferents possibilitats que hi ha al mercat i utilitzar aquell gestor que
més s’adapti als requisits sol·licitats pels usuaris.
Aplicacions Web 10 Gestors d'arxius web
Un altre exemple és Flist (1981) (figura 1.2), que permetia visualitzar una llista
de tots els fitxers i mostrar-los de manera ordenada en funció d’algun dels seus
atributs. Aquest gestor estava format per tres àrees clarament visibles: en la part
superior es mostrava informació genèrica de la llista; en la part central una llista
indicava per columnes els tipus de fitxers i els seus atributs; i, finalment, en la part
inferior hi havia un petit menú que permetia fer certes operacions sobre la llista o
sobre els fitxers seleccionats amb una X de la llista.
F igu r a 1. 2 . Vista de la interfície de Flist
Després van aparèixer altres programes que van fer servir Flist com a font d’inspi-
Ranger
(http://nongnu.org/ranger/) ració, com el Filelist o el Fulist, que funcionaven en altres sistemes operatius.
és un exemple actual de
programes Orthodox.
Un dels OFM més famosos és Norton Commander. Al voltant de l’any 1986
aparegué aquest programa (figura 1.3), que ja incloïa una interfície gràfica
molt primitiva, encara en mode text. Aquesta categoria de gestors d’arxius es
caracteritzava per dividir la pantalla en dos menús (superior i inferior), i tres
finestres, dues de les quals mostraven una llista dels fitxers continguts en una
carpeta, mentre que l’última incloïa l’intèrpret d’ordres (shell) del sistema. A
més, també es permetia l’ús del ratolí per interaccionar amb la interfície, i es
Aplicacions Web 11 Gestors d'arxius web
podia amagar i modificar la mida dels dos taulers en cas que fos necessari obtenir
una vista més àmplia de l’intèrpret d’ordres.
Així, doncs, s’aconseguia imitar la manera com una persona treballaria amb
carpetes de documents a l’oficina: obrir l’arxivador, consultar les carpetes
disponibles, obrir-ne una i disposar el contingut damunt una taula. De la mateixa
manera, es podia aplicar la metodologia de manera “virtual”: obrir el gestor
d’arxius (l’arxivador), consultar les carpetes disponibles (de manera jeràrquica),
seleccionar-ne una i obrir-la virtualment en una finestra que distribuís de manera
espacial les icones que representen cada fitxer (equivaldria a disposar-ne el
contingut damunt la taula). GNOME
GNOME és un dels molts
Contemporàniament, i amb l’expansió d’Internet a mitjan anys noranta, va aparèi- entorns d’escriptori per a
sistemes operatius semblants a
xer la categoria dels gestors d’arxius que es fan servir avui dia, els gestors d’arxius Unix (com Linux, Solaris, Irix...)
que incorporen gestors d’arxius
de navegació, o també anomenats exploradors. El més famós és l’explorador de entre d’altres components amb la
filosofia de fons d’imitar un
Windows (figura 1.5), però també hi trobem el Mac OS X Finder, entre molts escriptori d’oficina. D’altres
entorns d’escriptori que també
d’altres. incorporen els seus propis
gestors d’arxius són KDE o
Xfce.
En aquest cas, els gestors de fitxers intenten imitar el funcionament dels navega-
dors d’Internet. Entre les característiques més destacades hi ha la barra d’ubicació
(o barra d’adreces) que indica en cada moment el camí del fitxer o carpeta que
s’està consultant; la presència de dos botons, el d’avançar i el de retrocés, que
permeten tenir un control sobre les ubicacions visitades; i un tauler que ofereix
una vista en arbre del sistema de fitxers.
F igur a 1. 5. Finestra de l’explorador de Windows XP
Els gestors d’arxius locals de tipus explorador són els predominants en els sistemes
operatius actuals, i han esdevingut un model a imitar pels gestors d’arxius basats
en web. L’ús d’Internet com a mitjà de comunicació comporta nous desafiaments
com són la sincronització d’arxius entre clients i servidor, o la fiabilitat de la
transmissió.
Des de l’aparició del programari lliure ha sorgit una àmplia gamma de gestors
d’arxius basats en webs gratuïts, escrits majoritàriament en el llenguatge, del
Aplicacions Web 14 Gestors d'arxius web
costat del servidor, PHP i, del costat del client, Javascript, o d’altres que permetin
més interacció amb l’usuari. N’és un exemple l’AjaXplorer que, a més dels
llenguatges esmentats, empra la tècnica de desenvolupament Ajax (figura 1.6) per
proporcionar una interacció encara més dinàmica.
Com hem pogut veure, els gestors d’arxius han sofert una gran evolució des dels
primers exponents com el Flist, on es mostraven els fitxers en forma de llista,
fins als actuals exploradors, com el de Windows, que tenen un entorn gràfic
amb múltiples eines i operacions per treballar amb els fitxers. A la taula 1.1 es
mostra un quadre resum de l’evolució dels gestors d’arxius web en relació amb
Podeu veure un exemples els programes que s’han pres com a referència didàctica.
de clon basat en web de
Norton Commander per a
diverses plataformes al Taul a 1. 1. Resum de l’evolució dels gestors d’arxius web
següent enllaç:
http://www.rmonet.com/ Gestor d’arxiu de Creadors del Any Categoria Característiques
commander/. referència programari
Tau la 1 . 1 (continuació)
Pel que fa al futur dels gestors d’arxius web, és possible que passi per desenvolupar
interfícies gràfiques més riques en l’experiència interactiva, com és el cas de nous
gestors d’arxius en 3D que ja estan en fase de desenvolupament; malgrat tot, pot
ser que aquest tipus de tecnologia encara trigui molts anys a arribar.
Els gestors d’arxius són una eina que us ha de permetre explorar i consultar els
fitxers que hi hagi emmagatzemats en el vostre disc dur. Sense ells, la gestió dels
vostres fitxers podria esdevenir una tasca massa feixuga i difícil de dur a terme.
Si mirem d’establir una comparació amb el món real, ho podem comparar amb un
arxivador de documents dels que acostuma a haver-hi a les oficines. Un arxivador
s’organitza en carpetes etiquetades que contenen un o diversos documents. Quan
ha passat un cert temps i s’han acumulat molts documents i decidim fer una
ullada a tot el que hem anat recopilant, què fem? Obrim el calaix i fem un
primer cop d’ull a les etiquetes de les carpetes per tenir una noció d’allò que
contenen i en seleccionem una del nostre interès per consultar els documents que
hi ha guardats en el seu interior. D’igual manera, amb el gestor d’arxius podem
consultar els noms de les carpetes del nostre disc dur; en un costat de la interfície
Recordeu que un fitxer és
una entitat lògica composta (normalment una finestra) es mostra l’índex, i en l’altre costat, el contingut de la
per una seqüència de bytes
(1 byte = 8 bits), guardada carpeta que s’està consultant (els nostres fitxers). En la figura 1.7 en podeu veure
per un sistema de fitxers.
la comparació.
Aplicacions Web 17 Gestors d'arxius web
Tot i que potser no en som conscients, els gestors d’arxius els trobem simplificats
sovint dins d’altres aplicacions, com per exemple en els casos en què volem
guardar algun document que hem editat i l’aplicació ens mostra una finestra on ens
demana on volem desar l’arxiu. En la figura 1.8 podeu veure el desplegable que
apareix amb les unitats de disc del sistema, algunes carpetes i la carpeta activa, i
dins el requadre gran el contingut de la carpeta que s’està consultant, de la mateixa
manera com ho fan els gestors d’arxius natius.
Aquest conjunt de característiques que hem vist relatives als gestors d’arxius són
aplicables també als gestors d’arxius web. Tots els gestors d’arxius web permeten
fer d’una manera o una altra càrregues de fitxers al servidor (si no, es perdria el
sentit de gestió remota), i per fer-ho, en última instància del procés, acaben cridant
al gestor local (acostuma a haver-hi sempre un botó que diu navegar) perquè
l’usuari pugui explorar el sistema de fitxers i seleccionar els que vol carregar al
servidor.
Els gestors d’arxius web imiten els gestors d’arxius locals en el sentit que ofereixen
funcionalitats molt similars accessibles a través d’Internet per poder gestionar
remotament els nostres fitxers. El fet de permetre l’accés remot suposa l’ús d’una
sèrie de tecnologies que estan involucrades directament o indirectament en la
creació d’aquest tipus d’aplicacions a través de la xarxa, com per exemple els
Aplicacions Web 18 Gestors d'arxius web
llenguatges XML, PHP i ASP, les tècniques de desenvolupament web Ajax, els
servidors de pàgines web, les bases de dades, etc. que permeten aprofitar al màxim
el canal d’Internet per tenir una comunicació rica amb l’usuari.
Un dels grans avantatges de treballar amb una interfície web és que no cal
instal·lar cap aplicació de la banda del client. Altres protocols com l’FTP o
el WebDAV requereixen instal·lar algun tipus de programari o fer cert tipus
de configuracions que poden resultar incòmodes per a usuaris no familiaritzats
amb les xarxes. En canvi, per fer funcionar els gestors d’arxius web només
cal tenir un navegador (normalment amb l’opció de Javascript activada, ja que
sovint s’utilitzen llenguatges del costat del client per dinamitzar la interacció amb
Quan parlem d’aplicacions l’usuari).
de la banda del client ens
referim a programes que cal
que l’usuari instal·li al seu
dispositiu per tal de poder
L’ús compartit de la informació és una característica molt important dels gestors
accedir a un determinat d’arxius. Compartir informació entre diversos usuaris és una funcionalitat bàsica
servei o aplicació.
en molts dels entorns de treball actuals, i com a tal ha de ser suportada pels gestors
Dins el protocol HTTP hi ha
les extensions WebDAV. d’arxius. L’absència d’aquesta característica resta punts per a qualsevol gestor
Gràcies a aquestes
extensions es poden d’arxius.
manipular i editar fitxers de
forma concurrent o
multiusuari. La majoria de gestors d’arxius web incorporen funcionalitats que en part són he-
rència dels gestors d’arxius locals i en part provenen de les necessitats imposades
per la transmissió a través de la xarxa. Les característiques més importants són:
• Manipulació d’arxius:
• Administració i seguretat:
• Característiques addicionals:
– Preferències d’usuari.
– Paperera de reciclatge.
– Compressió de fitxers abans de la descàrrega.
– Canviar l’idioma de la interfície.
– Sistema d’autenticació d’usuaris (Serial, LDAP, Basic HTTP auth...).
• Arrossegar i deixar anar (drag and drop en anglès) és una acció típica que
implementen moltes aplicacions informàtiques i consisteix en la possibilitat
d’arrossegar (o transferir) objectes de la finestra d’una aplicació a una
altra aplicació o objecte receptor. Se selecciona l’objecte d’origen clicant
damunt seu i, sense deixar de prémer el botó del ratolí, s’arrossega fins a la
destinació, moment en el qual s’ha de deixar de prémer el botó.
• Barra de navegació que indica en tot moment el camí del fitxer o directori
que s’està consultant fins a l’arrel. Aquesta característica és de gran ajuda
per situar el context del contingut.
Una vegada conegudes les característiques dels gestors d’arxius web ja es pot
donar el següent pas: avaluar la idoneïtat d’utilitzar-lo en un entorn concret. De
cara a prendre la decisió correcta, convé alinear les necessitats del client, les
possibilitats del sistema i les característiques de l’aplicació web.
Les primeres aplicacions gestores d’arxius web daten de l’any 2005. En aquest
moment van començar a sorgir aquests tipus d’aplicacions tant de tipus privatiu o
de pagament com oberts o amb llicències de tipus GPL.
Com a clients de l’aplicació web, només cal saber com funciona la interfície i
tenir instal·lat un navegador que suporti Javascript, o VBScript. El Javascript és
L’accés des de dispositius mòbils ja
és un requeriment
Aplicacions Web 21 Gestors d'arxius web
Avui dia, en el mercat podeu trobar una gran gamma de gestors d’arxius basats en
web, però tots ells tenen en comú que implementen les funcionalitats bàsiques de
manipulació d’arxius. A més, cadascun d’ells, en funció de la tecnologia amb què
s’hagi desenvolupat, ofereix una sèrie de funcionalitats addicionals o avançades
que en conformen la diferència amb la resta.
Podem classificar les aplicacions gestores d’arxius web en dos grans grups:
• Openkm-6.4.14-windows-installer.exe (Windows)
• Openkm-6.4.14-linux-installer.run (Linux)
F igu r a 1. 9 . Podeu seleccionar rebre més informació abans de realitzar la descàrrega del programa
Si és la primera vegada que treballeu amb aquest programa i voleu veure què tal és,
us recomanem utilitzar el wizard. La instal·lació amb el wizard simplifica molt
el procés d’instal·lació, i anirà parant aquest procés cada vegada que requereixi
Per saber quina versió de
Java teniu instal·lada cal alguna dada per la vostra part.
que escrigueu java
-version a l’intèrpret de
comandes. En el cas de que treballeu sobre la plataforma Microsoft Windows heu de seguir
els següents passos:
Si esteu treballant sobre plataformes Linux, els passos seran els següents:
Aplicacions Web 23 Gestors d'arxius web
Podeu utilitzar la taula 1.2 per comparar algunes de les característiques que
presenten les diferents versions d’OpenKM. L’expressió anglesa nightly
build fa referència a aquells
projectes que cada nit són
Tau l a 1 .2 . Comparació entre les versions d’OpenKM compilats automàticament
de nou a partir del sistema
Community Cloud Professional de control de canvis;
equivaldria a parlar d’un
sistema de build
Recomanat per a Entorns on la informació Empreses que tenen la Entorns empresarials automatitzat.
emmagatzemada no necessitat de gestionar que necessiten màxima
sigui crítica, ja que no eficientment la disponibilitat i fiabilitat
s’inclou assistència informació a cost reduït. on el capital intel·lectual
professional. Permet un estalvi de sigui crític.
Imprescindible disposar cost en infraestructura,
de personal tècnic personal IT
qualificat. especialitzat.
Suport telefònic No Sí Sí
Revisions trimestrals No Sí Sí
Hem fet servir l’assistent per instal·lar el programa en un sistema amb Windows.
El fitxer emprat és el que es mostra en la figura 1.10.
Per iniciar la instal·lació, cal navegar fins a la carpeta que conté aquest fitxer i
executar-lo. Tot seguit apareixerà la finestra que es mostra en la figura 1.11.
Aquesta finestra ens dóna la benvinguda i espera que es premi Next per continuar.
La següent finestra que apareixerà ens demana que acceptem la llicència per anar
al següent pas de la instal·lació (figura 1.12).
Aplicacions Web 25 Gestors d'arxius web
F ig ur a 1 . 13 . Directori objectiu
Tot seguit, l’assistent de la instal·lació ens informa que ha finalitzat amb èxit
(figura 1.14).
Aplicacions Web 26 Gestors d'arxius web
L’última finestra que apareix ens pregunta si es desitja veure el fitxer Readme. Es
recomana fer-ho per revisar quins són els passos a seguir per posar en marxa el
programa (figura 1.15).
Tot seguit s’obrirà una finestra de benvinguda. Cliqueu a Forward per prosseguir
(figura 1.18).
Fig u ra 1 . 1 8 . Benvinguda
Fig u ra 1 . 1 9 . Llicència
Aplicacions Web 29 Gestors d'arxius web
Abans de seguir cal que decidiu quina serà la ubicació del programa i indiqueu-la
dins del quadre de text (figura 1.20).
Una vegada s’hagin pres aquestes poques decisions, només caldrà prémer Forward
(figura 1.21).
Fig u ra 1 . 2 3 . Fi de la instal·lació
És interessant que obriu el fitxer Readme. Aquest fitxer us indicarà les comandes
necessàries per gestionar el servei (figura 1.24).
Aplicacions Web 31 Gestors d'arxius web
Ara ja és accessible el servidor web des de qualsevol navegador, tan sols escrivint
l’adreça:
1 http://localhost:8080/OpenKM
1 usuari: okmAdmin
2 contrasenya: admin
Recordeu que el servei es pot aturar des del terminal amb la comanda:
1 $ sudo /opt/openkm−6.3.0−community/tomcat/bin/shutdown.sh
OpenKM permet treballar utilitzant qualsevol dels navegadors web més usuals.
Això és un gran avantatge, ja que no caldrà instal·lar cap programa addicional a
l’equip de l’usuari final.
Si ho preferiu podeu utilitzar la consola del vostre equip per realitzar l’administra-
ció del programa, no només és possible des de l’entorn web. La configuració de
l’entorn de treball de l’administrador, en la seva versió gràfica, és molt intuïtiu i
permet un aprenentatge molt ràpid i clar de l’eina.
L’escriptori de treball permet arrossegar i deixar anar els documents, una caracte-
rística que s’agraeix molt ja que facilita la tasca de moure blocs d’informació.
• MS PowerPoint Add In: Web Video Player, VisualBee o Tick Tock Clock
són utilitats que permetran millorar la potència del vostre gestor.
Si treballeu amb Google Contacts us permet sincronitzar amb aquest servei, per
tant si teniu els usuaris vinculats a Google Contacts no caldrà que en torneu a
introduir totes les dades a l’OpenKM. També és capaç de realitzar importacions
des de fitxers amb formats EML i MSG.
Una dada curiosa és que OpenKM pot treballar amb codis de barres lineals. Els
formats suportats són els següents (és extensible a altres formats):
• Codabar
• Code 39
• Code 93
• Code 128
• EAN-8 i EAN-13
• ITF
• UPC-A i UPC-E
• RSS-14.
• RSS Expanded
• Data Matrix
• PDF 417
Aplicacions Web 35 Gestors d'arxius web
• QR Code
• Aztec
Una de les eines més potents d’OpenKM és la relacionada amb l’antivirus; per
tal de garantir la seguretat de la informació realitza l’escanejat del documents que
s’hi afegeixen.
• Bloqueig/desbloqueig de documents
• Gestió de favorits
• Missatgeria
• Servei de comunicació
• Etiquetes d’usuari
• Núvol d’etiquetes
• Fòrums
• Expiració de documents
No tots els formats es poden previsualitzar; la versió actual del programa permet
fitxers dels tipus següents:
Aplicacions Web 37 Gestors d'arxius web
• AutoCAD
• MS Office
• Open Office
• Vídeo i so
• Imatges
• DICOM
• Vista d’usuari
• Vista general
• Novetats d’usuaris
• Vista de workflow
• Servei RSS
Aplicacions Web 38 Gestors d'arxius web
Un workflow és un mecanisme que permet tenir control sobre el procés que segueix
un document.
Cal destacar les possibilitats que ofereix OpenKM per treballar amb fluxos de
treball:
• Crear tasques
Una altra eina d’ús habitual en les organitzacions és el calendari. OpenKM inclou
un calendari que organitza la gestió del temps vinculada a les tasques que es
programen (vegeu la figura 1.26). Des del calendari es pot:
• Crear tasques
Una vegada estudiat el perfil col·laboratiu d’OpenKM cal avaluar les seves
capacitats i comprovar que encaixin amb les necessitats de l’usuari.
Una de les situacions que tot administrador de sistemes defuig és la de tenir molts
programes diferents per realitzar la seva tasca.
• Emmagatzemar consultes.
• Novetats d’usuari.
OpenKM inclou l’ús de tesaurus, que és una llista de paraules que representen
conceptes. Cada vegada més és habitual afegir aquesta eina en els gestors, ja que
facilita la vinculació de les dades.
• Mòdul d’entrenament
Aplicacions Web 41 Gestors d'arxius web
• Granular ACLs
• Signatura electrònica
El següent llistat mostra algunes de les tasques que pot realitzar un administrador:
• Recerques avançades
• Diari d’activitat
• Gestió d’informes
• Importació de tesaurus
• Quotes d’usuari
• Perfils d’usuari
• Programador de tasques
• Tasques intel·ligents
• Macros
• Kofax
• Abby Flexicapture
• Flexibar
• 2D barcode reader
• Active Directory
• LDAP
• CAS
• Canon IW DS
• WebServices
• CMIS
• Rest
L’arquitectura client-servidor
és aquella on hi ha un OpenKM es basa en una arquitectura client-servidor. El client utilitza qualsevol
extrem (client) que demana
un recurs o un servei a un dels navegadors més habituals. La part de servidor requereix:
proveïdor (servidor).
• Apache Tomcat
OpenKM permet que l’administrador realitzi una configuració avançada per tal
d’acabar de proveir al gestor d’arxius característiques extra. Per exemple, una de
les configuracions avançades més utilitzades és la instància addicional d’OpenKM
configurada com a mirror server.
Típicament, les aplicacions web es creen sobre arquitectures de només tres nivells,
en les quals es defineixen les responsabilitats següents:
• Motor de recerca: el gestor utilitza Lucene. Tots els objectes amb els quals
treballa OpenKM són indexats per aquest motor, exceptuant els objectes
binaris, que seran afegits a una cua d’indexació.
• GNU/Linux
• Unix
• Windows 2000
• Windows XP
• Windows 2003
• Windows Vista
• Windows 7
• MacOS
• MySQL
• PostgreSQL
• Oracle
• MS SQL Server
És molt important saber quina versió d’OpenKM necessiteu i quin serà el volum
d’informació que s’haurà de gestionar. Depenent d’aquestes dues variables els
requisits mínims de maquinari seran els que es mostren a la taula 1.3.
Tau l a 1 .3 . Requeriments segons instal·lació
Elecció del SO
El fet d’emprar el gestor d’arxius web OpenKM no serà decisori de cara a escollir
un sistema operatiu, ja que aquest paquet funciona perfectament en els sistemes
operatius més comuns.
La part servidor del programa presenta diferents paquets en funció del sistema
operatiu ja instal·lat, sigui aquest de Microsoft, UNIX, GNU/Linux o MacOS.
Serà l’estructura de sistemes ja implantada pel client la que decideixi quin sistema
gestor de base de dades relacional cal utilitzar, ja que OpenKM s’adaptarà al
sistema establert.
Si es dóna el cas que en el vostre sistema teniu OpenKM i una altra aplicació amb
Tomcat, necessitareu editar el fitxer C:\openkm-6.4.14\tomcat\conf.xml i
Aplicacions Web 47 Gestors d'arxius web
modificar els ports 8005, 8080 i 8009. Recordeu-vos de documentar tots els
canvis!
• Instal·ladors
• Entorn de desenvolupament
• Utilitats
• Instal·lacions
• Openkm-6.4.14-windows-installer.exe (Windows)
• Openkm-6.4.14-linux-installer.run (Linux)
• Openkm-6.3.0-community-windows-installer.exe (Windows)
• Openkm-6.3.0-community-linux-installer.run (Linux)
• OpenKMAddIn-6.1.1 (Windows)
• OpenKM Desktop Sync 1.1.1 for OpenKM 6.2.zip (totes les plataformes)
• Bonita-OpenKM-connector
Aplicacions Web 48 Gestors d'arxius web
Pel que fa a les instal·lacions amb assistent, tant la versió Professional Trial com
la versió Community disposen d’un assistent d’instal·lació.
OpenKM disposa d’un paquet d’instal·lació guiada. Per utilitzar-lo cal descarregar
el paquet (versió Windows):
1 openkm−6.4.14−windows−installer.exe
Si es requereix fer una instal·lació no atesa heu de tenir en compte dos requisits:
En aquest mòdul hem optat per utilitzar dues piles de programari de la versió
Professional Trial:
• Openkm-6.4.14-windows-installer.exe (Windows)
Una vegada instal·lada l’aplicació de gestió d’arxius web, cal configurar l’entorn
per tal d’adaptar-lo a les necessitats de l’usuari final i segons les característiques
de l’estructura informàtica de l’entitat.
Per realitzar una correcta configuració caldrà realitzar un treball previ identificant
les necessitats de l’usuari, així com decidir la millor disposició de la informació,
el seu accés i el seu manteniment. La gestió dels usuaris i rols també és una part
important a treballar.
Per poder accedir al programa primer cal iniciar Tomcat. Si esteu treballant amb
un sistema Microsoft ho podeu fer de dues maneres: %CATALINA_HOME% és la ruta
on s’ha instal·lat Tomcat.
Per iniciar Tomcat en una distribució Linux ho podeu fer de dues maneres:
Un cop iniciat el servei, podeu obrir un navegador web i escriure la següent URL: Únicament els usuaris amb
rol administrador
(ROLE_ADMIN) poden
1 http://localhost:8080/OpenKM/ accedir a configurar el
programa.
1 usuari: okmAdmin
2 contrasenya: admin
• Barra de Menú
• Barra d’eines
• Taxonomia
• Gestor de documents
Cada bloc és important, ja que representa tasques concretes per treballar amb
els continguts. Cal realitzar un estudi de cadascun d’aquests blocs per acabar de
comprendre el funcionament d’aquest gestor.
Aplicacions Web 51 Gestors d'arxius web
Quan s’instal·la un gestor d’arxius web s’estructuren totes les dades en directoris.
És necessari conèixer la disposició i continguts d’aquests directoris si s’han
Aplicacions Web 52 Gestors d'arxius web
Generalment, les dues maneres que tenim de rebre una aplicació web són:
– /classes: que conté les classes necessàries per fer funcionar l’aplicació
en el servidor.
– /lib: conté llibreries de Java per poder executar l’aplicació.
D’aquesta informació es pot extreure que els arxius que ens permetran “jugar” amb
els paràmetres de l’aplicació estaran ubicats a la carpeta /WEB-INF/classes.
Figur a 2. 3. WEB-INF
El servidor Tomcat situa tots els seus fitxers dins de la carpeta \tomcat que el
programa d’instal·lació ha creat a:
1 C:\openkm−6.4.14\tomcat
• /bin: aquí podem trobar els arxius necessaris per iniciar / aturar el servidor
d’aplicació, scripts que permeten automatitzar els processos d’inicialització
i aturada del servei, i altres arxius executables.
Qualsevol recurs (imatge, document de text, etc.) que utilitzi una pàgina web
allotjada en el servidor, es podrà referenciar sempre indicant el camí de tres
maneres diferents:
• Absoluta: s’indica el camí des de l’arrel del disc del servidor. Per exemple:
file:///C:/carpetaA/carpetaB/carpeta1/carpeta2/nom_arxiu.extensio, on C
és la unitat de disc del servidor i /carpetaA/carpetaB és on està instal·lat
el servidor.
Si, per exemple, hem instal·lat una aplicació web en el servidor, i des d’una de les
pàgines web volem accedir a un recurs amb una etiqueta HTML que sol·licita una
imatge per mitjà de l’etiqueta <img>, ho podem fer de la manera següent:
A partir d’ara, per referir-nos a la carpeta d’instal·lació del Tomcat, també podrem
fer servir l’etiqueta següent: <TOMCAT_HOME> (C:\openkm-6.4.14\tomcat en
el nostre cas).
Java és una part bàsica per al funcionament d’OpenKM. Cal saber que el paquet
JDK s’instal·la en el directori C:\Archivos de Programa\java\jdkXXX, en el qual
XXX representa la versió del JDK (que en aquest cas és la v1.6.0_07). Les carpetes
principals són:
1 Openkm.cfg
Aplicacions Web 56 Gestors d'arxius web
• Canviar la mida màxima dels fitxers que es pugen al repositori, que per
defecte és de 64MB. Si per exemple voleu canviar aquest valor per 120 MB
heu de variar la línia:
1 max.file.size=120
• Canviar el nom del repositori i la ruta per arribar-hi: en el cas que necessiteu
realitzar una instal·lació a mida i sigui imprescindible indicar una ruta i un
fitxer diferents haureu d’editar la línia:
1 repository.config=[ruta]/repository.xml
• Canviar el rol per defecte: el rol per defecte que es crida quan s’obre el
programa és ROLE_USER. Si voleu especificar un rol creat per vosaltres:
1 default.user.role=ROL_PARTICULAR
ROL_PARTICULAR és un
rol que vosaltres heu creat
anteriorment. • Canviar el rol d’administrador per defecte: per temes de seguretat és
recomanable crear un perfil administrador lligat a un usuari i no utilitzar
el perfil ROLE_ADMIN:
1 default.admin.role=EL_VOSTRE_ROL_ADMINISTRADOR
EL_VOSTRE_ROL_
ADMINISTRADOR és un rol
que vosaltres heu creat • Número màxim d’elements mostrats a les llistes de la interfície gràfica: cada
anteriorment i que té els
permisos d’administrador. vegada que realitzeu una consulta apareixeran en pantalla els resultats. Des
d’aquí podeu escollir la quantitat de dades que apareixen per la finestra:
1 max.search.results=35
1 application.url=http://el_vostre_domini.com/OpenKM/index.jsp
Veureu que OpenKM utilitza bastants fitxers amb extensió XML per al tractament
de dades. És recomanable que estudieu les bases d’aquest tipus de fitxers, ja que
us permetrà anar un pas més enllà en la configuració del programa. XML
L’XML és un llenguatge de
L’XML es proposa com un estàndard d’intercanvi d’informació estructurada entre marques (semblant a l’HTML),
que permet definir nous
diverses plataformes, segur, fiable i fàcil. llenguatges per a diferents
necessitats. Per entendre el
concepte, així com l’HTML
Hi ha una sèrie de fitxers molt importants, són els arxius amb l’extensió properties defineix una estructura sobre
quins camps han de tenir les
(com per exemple: catalina. properties, logging.properties, etc.). Aquests pàgines web, amb l’XML ens
podríem inventar una estructura
fitxers s’encarreguen d’aspectes de configuració de l’aplicació. Si obriu un de com s’han d’enviar
documents d’una empresa a
d’aquests fitxers qualsevol, veureu que indiquen una llista de variables amb el través d’Internet. L’estructura
del document, en aquest cas,
seu corresponent valor; permeten, alhora, definir aspectes de comportament i només seria interpretada per
l’emissor i el destinatari.
configurar paràmetres, per exemple:
1 package.access=sun.,org.apache.catalina.,org.apache.coyote.,org.apache.tomcat.,
org.apache.jasper.
Configurar un gestor d’arxius web és una tasca que és molt senzilla si es disposa
d’un entorn de treball basat en finestres. Un entorn intuïtiu i la simplificació de les
tasques es fa possible gràcies a un bon back-office. I aquest és el cas del programa
OpenKM.
1 http://localhost:8080/OpenKM/
1 usuari: okmAdmin
2 contrasenya: admin
Aplicacions Web 58 Gestors d'arxius web
Per realitzar accions sobre les variables heu d’utilitzar les icones situades a la
dreta:
• Si cliqueu la icona del llapis, que està situada a la dreta de la pantalla, podreu
editar aquests valors.
Totes les claus que apareixen en aquesta finestra de configuració són importants
i no es descriuran una a una aquí, però cal destacar-ne algunes que demostren la
usabilitat d’aquest programa. Per exemple es destaca:
Si cliqueu a la icona de Mime types (figura 2.5) podreu consultar i editar el tipus
de contingut de les dades dels arxius.
Des de la finestra Mime types podreu editar les correspondències amb les extensions.
Si per exemple necessiteu editar la configuració referent a Argo UML heu de clicar
al llapis que hi ha a la dreta del nom de l’aplicació i configurar la finestra (figura
2.6):
Aplicacions Web 60 Gestors d'arxius web
Com podeu observar, també es pot canviar la imatge que representa el tipus de
fitxer.
Clicant a la icona Statistics (figura 2.7) accedireu a informació rellevant del pro-
grama. L’administrador consultarà aquesta finestra per veure l’estat de l’aplicació,
obtenint molt clarament dades sobre el perfil d’informació emmagatzemada i estat
del sistema.
F igu r a 2. 7 . Presentació de dades
Figur a 2. 8. Metadades
L’ús de les metadades és molt interessant en els perfils de treball relacionats amb
la gestió de documentació. Les metadades permeten arribar a documents gràcies
a descripcions, a relacions amb paraules, amb usuaris... Força sovint un usuari
necessita documentació vinculada a un projecte en concret, però desconeix el nom
del document; l’ús de les metadades li permetrà accedir a la informació buscant
documentació relacionada amb el projecte.
Clicant a la icona d’Users (figura 2.9) accedireu a un dels apartats més útils
d’aquest tipus de programes. Des d’aquí podreu crear nous usuaris, activar-los,
assignar perfils, configurar el correu de contacte, veure l’activitat, etcètera.
Per exemple, en qualsevol moment podeu veure quins usuaris estan connectats
al sistema. OpenKM assigna un únic identificador de sessió que es vincula amb
el moment en què un usuari es valida en el sistema fins que es desconnecta. Un
paràmetre que obteniu i que pot resultar interessant és la IP remota utilitzada per
accedir al sistema.
La icona Crontab (figura 2.11) us durà a un entorn que farà possible programar
tasques en el temps. Resulta de gran utilitat enviar, per exemple, correus que
informin de la realització de tasques automàtiques.
Aplicacions Web 63 Gestors d'arxius web
La icona OCR Templates permet crear plantilles que tenen la capacitat d’identificar //www.cse.iitd.
ernet.in/~aseth/
camps en documents i adquirir el valor d’aquests camps. Un cas típic és escanejar udai/OMRProj/
una factura i obtenir automàticament el nom del titular, l’identificador de la factura README.html
i la quantitat total que cal abonar. Si en l’entorn real de treball on s’ha instal·lat
OpenKM encara existeix el paper, caldrà digitalitzar documentació i extreure’n
dades. Ray Kurzweil és un dels
referents en el
reconeixement òptic de
La icona Folder Style permet ajustar l’aspecte de les icones que es vinculen amb caràcters.
les carpetes. Els possibles valors que es poden modificar són:
• Read-write icon
La icona Language dóna accés al tractament de les llengües. Des d’aquí es poden
afegir nous idiomes, crear un idioma propi o fins i tot modificar un idioma ja
Aplicacions Web 64 Gestors d'arxius web
La icona Utilities mostra en pantalla tota una sèrie d’opcions molt profitoses per a
l’administrador. Disposar d’aquestes opcions farà possible no sortir de l’entorn de
treball d’OpenKM per realitzar tasques d’administració lligades amb el sistema.
1 $TOMCAT_HOME/repository
1 repository.*
1 <!DOCTYPE Repository
2 PUBLIC "−//The Apache Software Foundation//DTD Jackrabbit 1.4//EN"
Aplicacions Web 65 Gestors d'arxius web
3 "http://jackrabbit.apache.org/dtd/repository−1.4.dtd">
4 <Repository>
5 <FileSystem .../>
6 <Security .../>
7 <Workspaces .../>
8 <Workspace .../>
9 <Versioning .../>
10 <SearchIndex .../> <!−− optional −−>
11 <DataStore .../> <!−− optional −−>
12 </Repository>
Com es pot observar és possible una configuració total del repositori si es coneixen
els camps editables. Es recomana fer una còpia de seguretat abans de realitzar cap
canvi. També és necessari que, una vegada s’ha realitzat qualsevol canvi, es facin
totes les proves necessàries sobre el sistema per comprovar que no s’ha generat
cap incidència.
OpenKm permet canviar la configuració del client web utilitzant WebDAV. Per
activar WebDAV en el vostre cas heu de fer un petit canvi a la configuració:
Milton WebDAV és una API
per a Java.
1 system.webdav.server=on
WebDAV és compatible amb gairebé tots els sistemes operatius. Per utilitzar-lo
cal instal·lar eines, per exemple, en el cas de Windows:
1 default.lang=es−ES
1 system.pdf2swf=/usr/bin/pdf2swf
1 system.imagemagick.convert=/usr/bin/convert
• Integrar OpenOffice.org:
1 system.openoffice.path=/usr/lib/openoffice
2 system.openoffice.tasks=5
3 system.openoffice.port=2222
• Configurar el correu:
1 logo.login
2 logo.mobile
3 logo.report
4 logo.tiny
1 C:\openkm−6.4.14\tomcat\conf\server.xml
1 system.pdf2swf=c:/program files/swftools/pdf2swf.exe
1 system.swftools.pdf2swf=/usr/bin/pdf2swf
Per instal·lar SWFTools
podeu consultar la web
* Canviar de port: és fàcil que el port 8080 ja l’estigueu utilitzant. Si és així podeu http://wiki.swftools.
canviar aquest valor editant el fitxer: org/wiki/Installation
1 C:\openkm−6.4.14\tomcat\conf\server.xml
Si per exemple voleu que el port d’accés sigui el 8090 en comptes del 8080 canvieu
la línia:
Aplicacions Web 68 Gestors d'arxius web
per:
OpenKM disposa d’un entorn anomenat Utilities que permet utilitzar un ventall
d’eines d’administració del programa.
F igu r a 2. 1 2 . Terminal
Opcions de Terminal.
Aplicacions Web 69 Gestors d'arxius web
Com podeu observar OpenKm intenta arribar a poder realitzar totes les configu-
racions possibles des de l’entorn gràfic. Aquest aspecte es valora molt, sobretot
tenint en compte l’eficàcia del mateix i la senzillesa de l’ús. Està clar que no hi
són totes les opcions possibles en aquest entorn gràfic, i no es pot deixar de revisar
el sistema des de la interfície de comandes.
Molt probablement l’administració d’usuaris sigui la tasca que més temps d’in-
versió requereix. La persona encarregada de gestionar les altes, baixes i modifi-
cacions del usuaris requerirà d’una sèrie de dades com ara el perfil, rol, correu
electrònic, i un determinat temps per dedicar-se a administrar usuaris.
El programa OpenKM disposa de les tècniques més efectives per facilitar l’ad-
ministració d’usuaris, però és necessari que la persona encarregada d’aquesta
responsabilitat realitzi un estudi previ de les necessitats del client. OpenKM és
una eina potent, però cal administrar-la correctament.
Si és la primera vegada que accediu a aquesta part del programa es veurà un entorn
de treball amb el següent aspecte:
F ig ur a 2. 13. Usuaris
Per crear un usuari heu de clicar sobre de la icona que és un cercle de color verd i
conté el símbol ”+”.
• Roles: cada usuari pot desenvolupar diferents rols dins del programa.
Quan valideu les dades l’usuari ja estarà actiu al sistema. Si alguna de les dades
no és correcta s’avortarà l’acció. Per a llengües com la nostra haureu d’excloure
caràcters com la “ç”, accents o espais.
Una dada curiosa és que OpenKM permet vincular a un usuari adreces de correu
i comptes de Twitter. Aquest detall permet entendre la necessitat d’actualització
no només davant dels canvis tecnològics, també en referència a l’ús social de la
tecnologia.
Per modificar les dades d’un usuari ja creat cal que cliqueu a la icona llapis que
referencia al compte d’usuari objectiu. Utilitzant aquesta icona es pot modificar
qualsevol camp dels que defineixen els usuaris. A l’instant següent de validar
qualsevol canvi es pot comprovar que tinguin efecte immediatament.
El perfil es relaciona amb les propietats del grup i amb la configuració de l’entorn
de treball de l’OpenKM. Així, al perfil es decidirà quines parts del programa seran
visibles, a quin grup es pertany o fins i tot si es té accés al xat intern.
L’administració del programa utilitzant rols simplifica molt totes les tasques. Per
exemple, si hem de compartir una carpeta amb molts usuaris ho podem fer de dues
maneres: la primera seria donar permisos usuari a usuari, i la segona opció seria
vincular els permisos de la carpeta a un determinat rol (rol al qual pertanyen tots
els usuaris que hagin de tenir accés a la carpeta). Els dos rols més habituals són
el de l’administrador i el de l’usuari base.
Per exemple podria interessar crear un rol de visitant. Aquest nou rol donaria
accés a certs continguts i tindria permís de lectura. No podria modificar res ni
crear cap contingut nou. Podríem assignar un usuari amb identificador “visitant”
i contrasenya “visitant” que permetria l’accés restringit.
Aplicacions Web 72 Gestors d'arxius web
Per crear un nou rol heu de clicar a sobre de la icona de crear un nou rol i introduir
el nom que identificarà el rol.
El programa OpenKM treu profit a la gestió de perfils en funció del rol i dels grups
de propietat. Per afegir un o diversos rols a un usuari cal utilitzar el procés d’edició
de l’usuari i afegir el rol escaient. Si no existeix un rol a mida del que necessiteu
podeu crear nous rols.
L’espai Taxonomia (figura 2.15) permet accedir a l’entorn de cada usuari amb les
característiques i continguts que li són assignats.
Aplicacions Web 73 Gestors d'arxius web
Fig ur a 2 . 1 5. Taxonomia
Per mostrar com crear espais personalitzats es pot provar de crear una carpeta des
de la Taxonomia (figura 2.16). Per realitzar aquesta acció bastarà amb clicar amb
el botó dret a sobre d’una carpeta i clicar a l’opció Crear carpeta.
F igu r a 2 . 1 6 . Carpeta
Les propietats d’aquesta carpeta marcaran qui pot accedir-hi i amb quins permisos.
Aplicacions Web 74 Gestors d'arxius web
Per afegir un document cal clicar a sobre de la icona full amb un símbol ”+” verd:
F igu r a 2. 1 7 . Document
Afegir un document.
Si es dóna el cas que es requereix moure el document a un altre destí, s’ha de clicar
amb el botó dret a sobre del document i pitjar l’opció Mover:
Aplicacions Web 75 Gestors d'arxius web
Figu ra 2. 1 9. Afegir
Afegir un document.
Els permisos dels continguts (figura 2.21) aquí també juguen un paper protago-
nista. Dependrà dels permisos que es pugui accedir per consultar, modificar o
eliminar el contingut.
Aplicacions Web 76 Gestors d'arxius web
F igu r a 2. 2 1 . Permisos
Podem escriure la cadena de cerca que ens interessi en el camp situat al costat
de la lupa i després clicar a sobre la lupa per buscar la cadena introduïda dins
del repositori de dades. Cal saber, però, que les cadenes de cerca han de tenir un
mínim de 3 caràcters, i es poden utilitzar comodins com: * (comodí per a múltiples
caràcters), ? (comodí per a un sol caràcter); però mai poden posar-se en la primera
posició de la cadena de cerca. Per exemple, cadenes com: *abc, o ?abc no són
vàlides.
També es podrà treballar amb el botó dret del ratolí per accedir a les possibles
accions que pot rebre el contingut.
1 http://193.168.1.33:8080/OpenKM/
És interessant gestionar dominis a la intranet corporativa per tal d’evitar que els
usuaris hagin d’escriure una adreça IP al navegador. Per exemple, seria més fàcil Una intranet és una LAN
(Xarxa d’Àrea Local) que
escriure: permet utilitzar eines
d’Internet. Augmenta la
usabilitat de la xarxa
1 http://NomEmpresa.com/Documents informàtica de qualsevol
corporació.
Aplicacions Web 78 Gestors d'arxius web
1 Usuari: okmAdmin
2 Contrasenya: admin
Si preferiu accedir des d’un ordinador els passos són els mateixos:
2. Indiqueu l’adreça:
1 http://localhost:8080/OpenKM/
F igu r a 2. 2 3 . Administrador
Necessiteu qualsevol dels navegadors més comuns per accedir al programa (figura
2.24).
Aplicacions Web 79 Gestors d'arxius web
Recordeu que per accedir a l’entorn usuari és imprescindible que primer l’hagi iniciat el
servei. Si és la primera vegada que instal·leu OpenKM i no l’heu utilitzat mai heu d’executar
al servidor:
• En sistemes Windows:
1 C:\openkm−6.4.14\tomcat\bin\catalina.bat start
• En distribucions Linux:
1 /opt/openkm−6.4.14/tomcat/bin/catalina.sh start
• Opcions de menú
• Barra d’eines
• Arbre de carpetes
• Gestor de documents
Opcions de Menú
Les opcions de menú que conté ofereixen totes les opcions possibles dels elements
del programa. Podeu utilitzar qualsevol opció que no estigui ombrejada. Les
possibles opcions estan agrupades en:
Fi gu ra 2 . 2 6 . Menú
Opcions de Menú.
Existeixen dreceres de teclat que estalvien força temps. Tot i així és recomanable
una primera fase de descobriment de les moltes possibilitats que contenen les
opcions de Menú.
Aplicacions Web 81 Gestors d'arxius web
Barra d’eines
La barra d’eines (figura 2.27) conté els botons amb les funcions bàsiques que
qualsevol administrador utilitzarà més freqüentment. Podeu utilitzar qualsevol
botó mentre no estigui ombrejat.
Per defecte aquí teniu la gran majoria d’utilitats que més es necessiten. Disposar
d’aquests elements a la barra d’eines agilitza les tasques. Aquesta barra és
editable.
Arbre de carpetes
Gestor de documents
F ig ura 2 .2 9 . Gestor
OpenKM permet arrossegar continguts fins a aquest espai, facilitant molt la feina
de l’usuari. També l’accés és possible des de dispositius mòbils, tot i que en
aquests casos la manipulació de la informació es torna més feixuga.
Aquí veureu característiques dels fitxers i de les carpetes com ara quan es va crear,
les subscripcions o el control de versions (figura 2.30).
F igu r a 2. 3 0 . Propietats
Propietats de la carpeta.
Cal parar atenció a les propietats, ja que gran part de les incidències que es puguin
gestar tindran el seu origen, i també la solució, en aquest lloc. Els procediments
estipulats per l’organització en referència al tractament de la informació seran
cabdals per a la correcta gestió de les propietats de documents i carpetes.
Aplicacions Web 83 Gestors d'arxius web
F ig ur a 2. 31. Categories
L’àrea de treball d’OpenKM canvia en funció de les necessitats del client. La part
més variable és la zona central de l’àrea de treball.
• Recerca de continguts
• WorkFlow
• Administració
OpenKm utilitza per defecte un indexat molt flexible mogut per Apache Lucene.
Part del seu potencial es basa en l’ús adaptable a l’idioma. Amb versions
anteriors a la 5.1 editant el fitxer OpenKM.cf g podeu configurar a mida la
propietat hibernate.search.analyzer. Amb versions posteriors accedint amb rol
administrador ho podreu configurar a la finestra d’administració. Per exemple, per tractar
xinès simplificat es
requereix el paquet
Per defecte OpenKM utilitza org.apache.lucene.analysis.standard.StandardAnalyzer, org.apache.lucene.analysis.cn.smart
que funciona sobre l’idioma anglès. Si voleu realitzar canvis disposeu de les
opcions:
La gestió dels accessos, ja sigui a nivell del control d’usuari o bé amb l’administra-
ció de la seguretat de les connexions, és també un punt important a tenir en compte.
Per exemple, OpenKM incorpora ClearOS LDAP, que és una de les opcions més
utilitzades com a millores de seguretat.
OpenKM treballa amb un entorn de rols i, per tant, quan assigneu o traieu
permisos, en realitat, sempre s’estaran aplicant les configuracions de seguretat
OpenKm utilitza per defecte sobre els rols.
l’autenticació sobre
HSQLDB (HyperSQL
DataBase). Els paràmetres que es poden gestionar són:
F ig ur a 3. 1. Carpetes
És molt important ajustar el rol dels usuaris. Un usuari ha de tenir els privilegis
imprescindibles per realitzar amb garanties la seva tasca, però no n’ha de tenir mai
excés de permisos.
Els gestors d’arxius web han d’estar correctament organitzats per esdevenir útils en
tot el seu potencial. L’elecció de les característiques que han de tenir els diferents
usuaris i grups és un dels punts més importants a tenir en compte per tenir èxit.
És important que identifiqueu els rols, grups i usuaris en funció dels continguts
als quals no han de tenir accés. El més habitual no és compartir un document amb
un usuari en concret, sinó que gairebé sempre compartireu un document amb un
grup que reuneix les mateixes característiques. També serà molt important deixar
ben clar quins són els permisos vinculats a cada rol.
Aplicacions Web 88 Gestors d'arxius web
Si per exemple el vostre sistema operatiu és Ubuntu i voleu treballar amb SSL heu
de seguir els següents passos:
Seguretat.
Amb la versió gratuïta la documentació a la qual es té accés està escrita en gran part
en anglès. Trobareu algunes traduccions en castellà, però es recomana consultar
la versió original. El nivell d’anglès necessari és bàsic, es traca de documentació
tècnica.
• http://wiki.openkm.com/index.php/Curso_Workflow: a l’apartat
de desenvolupadors disposeu d’aquest curs. Conté vídeos explicatius dels
conceptes més importants dels Workflow.
• http://wiki.openkm.com/index.php/Repository_backup: aquesta
secció us indicarà com realitzar una còpia del repositori.
• http://wiki.openkm.com/index.php/Repository_import: aquesta
secció us indicarà com importar un repositori ja existent.
• http://wiki.openkm.com/index.php/Repository_view: l’adminis-
tració del repositori és una tasca molt delicada. Abans de fer res seria
recomanable que miréssiu aquesta web.
• http://wiki.openkm.com/index.php/Scripting_-_OpenKM_6.2: la
realització d’scripts vinculats a l’OpenKM esdevé molt important si arribeu
a un determinat punt de desenvolupament a mida.
Aprendre a fer cerques avançades a Google tampoc no està mai de més: heu
d’accedir a la secció Query Input i, dins l’apartat Part I: Query Input, clicar
a l’enllaç Special Characters: Summary. És un resum dels paràmetres que es
poden fer servir per refinar les cerques que fem a Google, en el qual s’explica
detalladament l’ús dels operadors.
També pot resultar molt eficaç consultar llibres o parts de llibres gratuïtament per
cercar documentació tècnica. Wikilibros és una pàgina web especialitzada en la
difusió de llibres gratuïts, a l’estil Wikipèdia però enfocada als llibres.
La consulta de fitxers de log ajuden molt a documentar, ja que són una font enorme
de dades i accions, algunes de les quals poden passar desapercebudes.
Tot i així és una bona oportunitat utilitzar una versió reduïda o d’anàlisi (testing)
per fer una documentació base. És molt important identificar totes les decisions
que s’han pres durant el procés d’instal·lació per l’anàlisi de situacions posteriors.
Al llarg del temps de vida de l’aplicació web, poden sorgir moltes situacions
imprevistes que poden provocar diversos tipus d’incidències en el funcionament
de l’aplicació, i per extensió en el funcionament de l’empresa o l’organització que
l’estigui fent servir.
Per mirar de fer front a totes aquestes circumstàncies adverses, cal fer un esforç
i imaginar-se totes les situacions que són potencialment probables de succeir.
Després cal mirar de trobar-ne la solució i fer-ne una documentació. Un fòrum arreplegarà molta
informació i pot ser una molt
bona opció per ajudar-vos a
Tant les situacions que són probables que arribin a passar, com les que succeiran, documentar.
l’aplicació web. Documentar una incidència pot consistir senzillament a fer una
breu descripció del problema i una descripció de la solució que s’ha trobat, si és
que se n’ha trobat alguna, o indicar que encara està pendent de resoldre’s.
A banda de mirar de preveure les situacions de risc també convé disposar d’eines i
documentació tècnica que ens puguin ajudar a afrontar les situacions inesperades.
Com més coneixement tinguem del funcionament i implementació de l’aplicació
web, més fàcil serà que hi puguem trobar una solució.
Resulta de gran utilitat conèixer els codis d’error d’una aplicació. Gràcies a la
pràctica de documentar els errors apareguts en diferents entorns es pot generar
una llista. OpenKM codifica els errors utilitzant un codi amb la plantilla: OKM-
XXX-YYY.
Arxius de registre
1 C:\openkm−6.4.14\tomcat\logs
o bé al directori:
1 var/lib/tomcat/logs
1. Pareu Tomcat.
2. Feu una còpia de seguretat de tots els logs i esborreu-ne els antics.
4. Indiqueu la classe que voleu depurar (heu de tenir alguna dada de l’error
que s’està produint)
Tomcat registra les accions que es
realitzen sobre la plataforma.
5. Inicieu Tomcat.
Per desinstal·lar OpenKM s’ha de parar primer el servei d’OpenKM. Amb Win-
dows:
1 C:\openkm−6.4.14\tomcat\bin\shutdown.bat
i amb Linux:
1 $ /RUTA/openkm−6.4.14−community/tomcat/bin/shutdown.sh
1 C:\openkm−6.4.14\uninstall
i en distribucions Linux:
1 $ /RUTA/openkm−6.2.4−community/uninstall
Aplicacions Web
Aplicacions Web Gestors de continguts
Índex
Introducció 5
Resultats d’aprenentatge 7
Introducció
Per obtenir resultats dinàmics i interactius, com ara la gestió d’usuaris o l’en-
viament de missatges a un fòrum, el creador de la web havia d’estudiar un
llenguatge de programació, com PHP. Això feia que la creació de webs dinàmiques
quedés restringida a professionals del camp o s’hagués de contractar una empresa
especialitzada per fer-ho.
En aquest mòdul d’aplicacions web podeu veure diferents eines relacionades amb
el treball amb connexió a Internet: programari que s’instal·la al vostre ordinador
i que necessita Internet per poder oferir les seves funcions i aplicacions que
directament es trobaven en servidors web remots. En aquesta unitat veureu com
crear continguts web d’una manera semiautomàtica amb un gestor de continguts.
Això ens servirà per introduir una unitat que està centrada en la creació de portals
web amb finalitats educatives.
per treballar a l’administrador. També veureu com crear contingut en el lloc web
i menús per estructurar la navegació dins del lloc.
Per aprofitar millor el contingut d’aquesta unitat és important que aneu fent les
activitats de cada apartat. Penseu en quina web voleu obtenir al final com a
resultat i aneu utilitzant les activitats per anar afegint contingut a la vostra web.
És important que aneu creant la documentació dins de la wiki a mesura que aneu
configurant el portal web i no fer-la tota al final.
Aplicacions Web 7 Gestors de continguts
Resultats d’aprenentatge
Les pàgines web són el mirall emprat per mostrar la informació que es té la
necessitat de comunicar. I amb el pas del temps creix el volum d’informació a
gestionar i mantenir i també augmenta el número d’actors implicats en aquestes
tasques. Aquesta situació provoca la necessitat d’utilitzar una eina de treball
específica: un gestor de continguts.
No es recomana instal·lar el primer gestor que trobeu. Investigueu una mica les
característiques dels diferents productes que existeixen i analitzeu les necessitats
del client final. Comprovareu que una mateixa solució no es pot aplicar a tots els
casos.
Les tasques pròpies del professional responsable del sistema de gestió de contin-
guts són:
• Instal·lar-lo
• Administrar-lo
• Identificar diferents tipus d’usuari i els seus rols (allò que podran veure i fer
aquests usuaris).
Els gestors de continguts ja s’utilitzaven a la dècada dels anys 70 del passat segle,
però ha estat tan gran l’evolució en l’àmbit del tractament de la informació, que
hi ha poques semblances entre una aplicació d’aquell temps amb una aplicació
El llenguatge de
programació C++ va ser
actual.
creat l’any 1983 per Bjarne
Stroustrup. És un dels L’any 1984 ja era una realitat fer públiques dades emmagatzemades en un ordi-
llenguatges més populars
que han existit. nador personal, però va caldre esperar a l’any 1995 perquè l’arribada d’Internet
possibilités l’existència dels embrions dels gestors de continguts actuals. Abans
que això succeís, utilitats independents com ara bases de dades, editors d’imatges
Aplicacions Web 11 Gestors de continguts
Un dels exemples a destacar és RedDot CMS, aparegut l’any 1993 i que va acabar
treballant sobre les plataformes ASP.NET i Java. A l’any 1995 va aparèixer el
primer gestor de continguts de codi obert: Portland Pattern Repository. L’any
2000 l’eina PHPNuke popularitza els gestors de continguts i, poc després, a l’any La seguretat al núvol condiciona els
CMS.
2001 irromp a l’escenari el CMS Drupal, un gestor de codi obert que va fer-se amb Font:FutUndBeidl(www.flickr.com)
una part important del mercat. Quatre anys més tard, el 2005, aparegueren els
CMS Alfresco i Joomla!, que es convertiren en la competència directa de Drupal. WAI
La Web Accessibility Initiative
Els actuals CMS apliquen estàndards CSS, XML, XHTML, WAI, etc. i estan (WAI) és una branca del World
Wide Web Consortium que vetlla
dissenyats per treballar amb un ventall molt ampli d’aplicacions, llenguatges de per l’accessibilitat de la Web.
programació i bases de dades.
3. Publicació
4. Presentació
Els CMS poden incloure altres eines d’edició, però en funció dels coneixements
dels usuaris creadors de continguts potser no en trauran tot el rèdit. No s’ha de
confondre l’ús de les eines de creació de continguts amb les eines que permeten
donar als continguts una estructura, l’aspecte visual o el format de les pàgines.
El contingut està relacionat amb els usuaris, i aquests es poden relacionar i agrupar
entre ells.
Tots els continguts creats es dipositaran en una base de dades i, a més a més,
es registraran amb tota la informació que això suposa (data de creació i de
modificació, usuari que crea el document i qui l’edita, etcètera).
Publicació
Quan es finalitza l’edició d’un contingut aquest es pot publicar. Publicar vol
dir que la informació sigui visible a la web. Es poden crear continguts i
emmagatzemar-los al gestor perquè s’ha decidit retardar la seva data de publicació;
igualment es pot decidir despublicar un contingut visible a la pàgina web.
Presentació
Escollirem Joomla! com a gestor de continguts per a aquest curs, ja que és molt
fàcil d’utilitzar, proveeix moltes extensions i és un dels gestors de continguts més El logotip del CMS Joomla! ajuda a
il·lustrar el significat de "Tots junts"
populars i, per tant, dels que tenen una comunitat de desenvolupadors més activa.
Una gran quantitat de llocs web actuals estan dissenyats utilitzant Joomla!, com
ara:
Cal que us assegureu que teniu les funcionalitats del MySQL, XML i Zlib
activades dins de la vostra instal·lació del PHP. Això ho podeu comprovar en el
fitxer de configuració php.ini a la carpeta d’instal·lació del PHP (depèn del sistema
El nom Ubuntu prové de la on ho heu instal·lat, consulteu la documentació de la vostra instal·lació).
paraula zulú ubuntu, que vol
dir ‘humanitat vers els
altres’. De la mateixa manera, el Joomla! ha estat testat en moltes variants dels sistemes
operatius GNU/Linux, Apple Mac OSX i Microsoft Windows. Pot funcionar
en altres plataformes, però no està tan documentat. El present material ha
estat elaborat sobre una instal·lació en un ordinador amb el GNU/Linux amb la
distribució Ubuntu. Per tant, les captures de pantalla i els directoris que es veuran
corresponen a aquest sistema. Hi poden haver petites diferències respecte d’altres
sistemes, que els alumnes haureu de resoldre, ja que no es poden cobrir totes les
possibles combinacions de sistemes operatius i distribucions. A l’enllaç podeu
trobar gratuïtament la darrera versió de l’Ubuntu.
En el moment de generar
una contrasenya s’ha de
contemplar que: contingui 1.3.2 Dades necessàries per a la instal·lació
més de sis caràcters dels
quals dos siguin numèrics,
no ha de contenir dades
refernts a l’usuari i una Abans de realitzar la instal·lació de Joomla! és necessari que decidiu una sèrie de
mateixa contrasenya no
s’ha d’utilitzar per a més dades molt importants que haureu d’indicar a la primera etapa de la instal·lació:
d’un ús.
Tots aquests valors es poden canviar una vegada estigui la instal·lació realitzada,
però es recomana no fer-ho i indicar en aquesta finestra les dades definitives.
Quan finalitza el procés d’instal·lació es mostra una pantalla amb informació molt
important. Primer de tot cal esborrar la carpeta emprada per a la instal·lació.
Aquest pas el podeu realitzar des d’aquesta mateixa finestra clicant al botó
Esborrar de la carpeta d’instal·lació. També des d’aquí podreu accedir al lloc
amb el botó Lloc (és el front-end) o bé accedir a l’administració amb el botó
administrador (fack-End).
Un dels grans avantatges de l’ús de Joomla! és que les úniques diferències que hi
ha treballant amb aquests tipus d’instal·lacions es troben a l’inici de la instal·lació.
Instal·lació en local
Instal·lació en remot
Quant a una instal·lació en un host remot, aquesta es fa en una màquina que està
accessible a través d’Internet. Aquesta màquina pot ser pròpia, o pot estar llogada
a una companyia d’hostatge (hosting). No teniu accés directe a la màquina on
s’està executant el servidor web, i per fer modificacions dels fitxers s’ha de fer
remotament o s’han de fer les modificacions en fitxers locals i carregar els canvis
al servidor mitjançant un programa de transferència de fitxers, com un client de
l’FTP.
Els repositoris són servidors
que tenen les darreres
versions dels paquets d’una
Joomla! permet accedir a una demo en línia on testejar el producte: https://demo.
distribució del GNU/Linux joomla.org/. Aquesta opció permet explorar el programari abans de realitzar cap
en particular. És molt fàcil
baixar i instal·lar els paquets actuació sobre el vostre sistema.
amb el gestor de paquets
que sol venir inclòs en la
mateixa distribució. Quan es decideix implantar per primera vegada Joomla! una de les opcions més
Podeu trobar en la secció aconsellables és utilitzar el paquet XAMPP.
“Annexos” d’aquesta unitat
una guia d’instal·lació dels
serveis necessaris, tant Moltes distribucions del GNU/Linux vénen amb tot allò necessari directament en
per un sistema GNU/Linux
com per Microsoft la distribució mateixa o en els repositoris per baixar. Segons el tipus de distribució,
Windows. la instal·lació s’ha de fer d’una manera o d’una altra.
Aplicacions Web 17 Gestors de continguts
Per la facilitat del procés d’instal·lació i del manteniment que suposa, s’instal·larà
el paquet XAMPP.
F igu r a 1. 2 . XAMPP
La següent finestra és molt important (figura 1.3), ja que permet seleccionar els
components a instal·lar. Cal destacar que estan preseleccionats Apache i PHP.
Una vegada seleccionats els components i escollida la ubicació destí només cal
iniciar la instal·lació del XAMPP (figura 1.5).
Això vol dir que el client (en aquest cas el navegador web) fa una petició d’un
fitxer PHP al servidor. Aquest fitxer serà processat pel servidor, qui tornarà al
client la resposta al fitxer PHP en forma d’un resultat web codificat amb l’HTML.
Per comprovar això, podeu veure el codi resultant del fitxer amb l’opció Vegeu
codi font de la pàgina del vostre navegador.
A més a més, el fitxer que demanareu no serà una pàgina web estàtica confecciona-
da amb l’HTML, sinó una de dinàmica amb el PHP. Per tant, estareu comprovant el
funcionament del servidor, ja que aquests fitxers no són interpretables directament
per part del navegador web.
Si esteu treballant amb Windows i heu realitzat la instal·lació per defecte aneu al
directori:
Un editor de text pla...
1 C:\xampp\htdocs
... és el que no afegeix
informació extra, com ara
informació de format, al text que
s’escriu. Podeu fer servir
Creeu un fitxer anomenat info.php i utilitzant un editor de text pla escriviu a programes com el Gedit al
l’interior: GNU/Linux o el Bloc de Notes
al sistema Windows.
Aplicacions Web 22 Gestors de continguts
1 <?php
2 // La informació actual de PHP és:
3 phpinfo();
4 ?>
1 /var/www
1 http://localhost/xampp/
Cliqueu l’enllaç que trobareu a l’esquerra i que està etiquetat com a phpinfo() i
apareixerà tota la informació del PHP (figura 1.9).
Farem una breu explicació del contingut del fitxer per comprendre què estem fent.
En el codi es marquen el començament i el final de codi PHP amb <?php i ?>
perquè el servidor sàpiga on comença el codi PHP que ha d’interpretar (la majoria
de les vegades, el codi PHP està barrejat amb codi HTML).
La línia que comença amb // serveix per indicar que tot el contingut de la línia
són comentaris adreçats al programador. L’intèrpret del servidor no farà cas
d’aquesta línia. Finalment es fa una crida a la funció phpinfo(), que ens retornarà
informació relativa a la instal·lació del PHP. El servidor, quan interpreta aquest
fitxer, substitueix tot aquest codi amb un codi HTML, que forma la pàgina web.
Aplicacions Web 23 Gestors de continguts
A partir d’ara assumirem que teniu un sistema funcionant com a servidor web amb
l’Apache, MySQL i PHP.
1 http://www.joomla.org/
Necessitareu disposar al
vostre equip d’un programa
descompressor que permeti
Es descarregarà un fitxer en format ZIP al vostre equip dins de la carpeta de extreure el contingut del
fitxer ZIP.
descàrregues configurada al vostre navegador web.
Heu de moure el fitxer ZIP a la carpeta que utilitzareu per a la instal·lació. Si esteu realitzant la
instal·lació en un servidor
necessitareu utilitzar un
Descomprimiu el contingut del fitxer mitjançant el menú contextual del programa servidor FTP per transferir
els fitxers des de la màquina
o bé des de la línia de comandes, que en el cas d’una distribució Linux serà: local al servidor.
Ara ja teniu tot allò necessari per iniciar la instal·lació del programa Joomla! al
vostre equip local o al servidor remot. Cal recordar la importància de realitzar
una bona documentació de tot el procés, deixant constància dels passos seguits i
registrant les incidències trobades, així com les solucions aplicades.
Per poder instal·lar Joomla! és imprescindible tenir funcionant a l’equip destí una
sèrie de paquets. La instal·lació la podeu realitzar amb la línia que es pot veure a
la figura 1.13.
Aplicacions Web 25 Gestors de continguts
La instal·lació del paquet demana una contrasenya vàlida per a l’usuari root de
MySQL (figura 1.15):
Aplicacions Web 26 Gestors de continguts
Una vegada finalitzada la instal·lació del MySQL i per assegurar-vos que tot
funciona correctament podeu intentar accedir utilitzant una finestra del terminal
(figura 1.17):
Aplicacions Web 27 Gestors de continguts
1 http://localhost/joomla/installation/index.php
Una vegada preparat tot l’entorn d’instal·lació de Joomla! cal configurar uns
paràmetres bàsics d’instal·lació. Per començar podeu escollir l’idioma que
s’utilitzarà, tal com es mostra a la figura 1.19.
Aplicacions Web 28 Gestors de continguts
F igu r a 1. 1 9 . Idioma
• Descripció: aquí heu d’escriure una descripció acurada del lloc web. El
que estigui escrit en aquesta capsa és utilitzat pels motors de cerca.
• Lloc fora de línia: podeu deixar la web fora de línia mentre hi treballeu.
• Nom del servidor: identificador del servidor que allotja la base de dades.
• Prefix de taula: les taules de Joomla! les identificareu amb aquest prefix.
Per exemple, a la figura 1.22 es mostra com podria quedar la configuració final:
Ara només cal clicar al botó Instal·lar situat al marge superior dret i s’iniciarà la
instal·lació de Joomla! (figura 1.23):
1 localhost/joomla
En aquests moment l’únic usuari que existeix és el superusuari (Super user), que
podeu utilitzar per validar l’accés i es podrà carregar la pàgina web amb un usuari
registrat (figura 1.26):
1 localhost/joomla/administrator
Utilitzeu les dades del superusuari (Super user) per comprovar que s’accedix sense
problemes al back-end (figura 1.28):
El primer pas per a la creació d’un lloc web és la preparació i instal·lació del
programari necessari per fer-lo funcionar en la màquina que finalment allotjarà el
lloc web. Aquesta preparació inclou la instal·lació d’un servidor web, un servidor
de bases de dades, un llenguatge de creació de pàgines web dinàmiques i un
programari de gestor de continguts (vegeu figura 2.1).
F ig ur a 2. 1. Gestió de continguts
Una vegada fet això, podeu començar a treballar sobre el lloc web. El primer
pas que heu de fer en aquest apartat és una petita visita a l’aparença del lloc
web (el front-end) i a la interfície de configuració reservada als administradors
(l’anomenat back-end).
Aplicacions Web 36 Gestors de continguts
A continuació veureu els diferents menús de configuració global del lloc. Les
opcions d’aquests menús controlen com es comportarà el lloc web quan sigui
visitat pels usuaris. També veureu algunes eines útils per als administradors, com
ara els serveis de missatgeria i el gestor de continguts multimèdia del lloc.
En un lloc web complex és normal tenir diferents tipus d’usuaris amb permisos
diferents dins del lloc. El Joomla! permet una gestió dels usuaris del lloc web i un
control de les accions que podran fer. Al mateix temps defineix una sèrie d’usuaris
d’administració per a la gestió del lloc web.
El vostre lloc web serà un espai on compartir informació que es podrà visitar
des de qualsevol lloc del món a través d’Internet. La informació en el Joomla!
està organitzada en forma d’articles. Quan el vostre lloc creixi en continguts, la
quantitat d’articles es pot multiplicar i fer-ne molt difícil la gestió. El Joomla!
permet una organització jeràrquica dels articles definint categories i seccions.
Els programes informàtics que interactuen amb les persones necessiten utilitzar
eines visuals per mostrar la informació.
El front-end d’una pàgina web és la part visible per a qualsevol usuari quan
es carrega al navegador l’adreça web.
1 http://localhost/joomla
S’ha de tenir molta cura amb els accessos al back-end. És imprescindible controlar
quins usuaris hi tenen accés i quins són els permisos de què disposen. Una
incorrecta administració d’accessos pot tenir efectes desastrosos en la web.
1 http://localhost/joomla/administrator
No heu de confondre aquestes vies d’accés al gestor de continguts amb els modes
d’accés. Els dos modes d’accés a un gestor documental són:
1. Mode Usuari
2. Mode Administrador
Aquests dos perfils tenen característiques molt diferenciades que cal treballar amb
més profunditat.
1 http://localhost/joomla/
1 http://localhost/joomla/administrator/
Què ha passat? Doncs que amb Joomla! teniu la possibilitat de gestionar permisos
d’usuaris i, per seguretat, en aquest cas l’usuari jcasadejust no pot accedir al back-
end de la pàgina web.
Aplicacions Web 39 Gestors de continguts
1 http://localhost/joomla
i ara utilitzant un compte de superusuari per validar l’accés. La figura 2.4 mostra
el resultat:
Figur a 2. 4. Accés al front-end per a un usuari administrador
1 localhost/joomla/administrator
Per finalitzar la sessió amb aquest usuari podeu desplegar el botó situat al marge
superior dret de la pantalla i clicar a Desconnecta.
La gestió i estructura dels continguts a Joomla! es realitza amb els topics o temes.
Aquests temes són la base del funcionament del gestor de continguts i és necessari
conèixer la utilitat de cadascun d’ells. Els temes són:
• Articles: els articles són els continguts bàsics que Joomla! mostra a la web.
2.2.1 Plantilles
Quan accediu a una pàgina web i navegueu pels diferents apartats podeu compro-
var que l’aspecte és sempre igual. El fons de la pantalla, la forma i color dels
Aplicacions Web 41 Gestors de continguts
botons, l’estil del text... aquesta homogeneïtat es valora molt positivament per
part de l’usuari que visita la pàgina web.
Un estil agrupa una sèrie de característiques del text, com ara la font o el
color, o de les imatges.
És recomanable tenir relacionats els estils amb les plantilles abans de començar
a configurar el front-end o el back-end, d’una altra manera augmentarà el temps
invertit a aplicar canvis en l’aspecte de la pàgina web.
Gestionar plantilles
Podeu canviar l’estil per defecte seleccionant el que desitgeu i clicant a sobre de
l’estrella de la seva columna Per defecte. A la figura 2.6 s’ha marcat Isis com
l’estil per defecte per al back-end i Qualify com l’estil per defecte per al lloc web.
Aplicacions Web 42 Gestors de continguts
Instal·lar plantilles
Per instal·lar qualsevol extensió podeu utilitzar una de les quatre possibilitats que
Joomla! ofereix:
• Instal·lar des de la web: navegant per les diferents categories escolliu què
necessiteu instal·lar i el programa us porta a la pàgina web del desenvolupa-
dor del producte. Des d’allà s’inicia i es guia la instal·lació.
Aplicacions Web 43 Gestors de continguts
• Pujar l’arxiu del paquet: prèviament necessiteu obtenir l’arxiu que conté
el complement a instal·lar. Una vegada adquiriu el fitxer caldrà seleccionar-
lo i pujar-lo.
Per practicar la instal·lació d’una plantilla s’utilitzarà una de les pàgines web més
comunes:
1 http://www.freshjoomlatemplates.com/
1 Qualify.zip
Aquest fitxer l’heu de carregar des de la fitxa Puja l’arxiu de paquet que trobeu a
Gestor d’extensions: Instal·la (vegeu figura 2.9).
Aplicacions Web 44 Gestors de continguts
Aquest estil s’aplicarà només al front-end, per tant si voleu veure l’aspecte que té
només cal carregar la pàgina web:
1 http://localhost/joomla
Com es pot comprovar l’aspecte canvia. A més a més si ara hi voleu accedir
veureu que no apareix la possibilitat d’introduir el nom d’usuari i la contrasenya.
Això succeeix perquè heu activat la plantilla sense vincular-li el mòdul Dades
d’accés. Per realitzar aquesta operació heu d’anar a Gestor de mòduls/ Mòdul
Dades d’accés i indicar la posició on voleu que apareguin les capses per introduir
usuari i contrasenya (vegeu figura 2.12). Us heu d’assegurar de seleccionar la
posició del grup Qualify.
Editar estils
Els estils instal·lats es poden editar per aconseguir un aspecte de les pàgines web el
més proper possible als requeriments del client. Habitualment l’estil el varia una
persona especialment dedicada als aspectes visuals i estètics de la pàgina web.
A la fitxa Assignació als menús s’assigna la plantilla als diferents menús que pugui
tenir el portal web, tal com mostra la figura 2.17.
2.2.2 Categories
Els gestors de continguts treballen amb una gran quantitat de dades de diferents
formats. Administrar tota aquesta informació és complex i requereix de mètodes
eficients de treball. La majoria de CMS utilitza categories per realitzar aquesta
tasca.
Aplicacions Web 49 Gestors de continguts
• Notícies
• Local
• Internacional
• Política
• Economia
• Borsa
• Tecnologia
• Art
• Esports
– Futbol
– Bàsquet
• Tenis
• Motor
• El temps
• Publicitat
Com es pot veure hi ha subcategories que permeten gestionar millor els continguts.
La quantitat de categories i subcategories anirà en funció de les necessitats reals
del seu ús. Un excés de categories alentirà la gestió dels continguts i una manca
de categories acumularà massa informació sota la mateixa categoria.
Exemple de categoria
Per exemple, us demanen crear una categoria anomenada Esports que tindrà una
subcategoria anomenada Bàsquet. Inicialment teniu les següents dades:
Aplicacions Web 50 Gestors de continguts
• Títol: Esports
• Estat: publicat
• Accés: públic
• Idioma: tots
• Etiquetes: Esports
• Imatge: cap
Totes aquestes dades s’han d’aplicar ara a la configuració de la categoria. Per fer-
ho cal accedir al Gestor de categories/Articles i allà clicar a sobre del botó Nou
(vegeu figura 2.18).
Aplicacions Web 51 Gestors de continguts
• Pare: aquesta categoria pot pertànyer a una altra categoria, o bé pot tractar-
se d’una categoria Principal
A la figura 2.19 es mostren tots els camps a tenir en compte de la fitxa Categoria:
F ig ur a 2 . 19 . Fitxa Categoria
Aplicacions Web 52 Gestors de continguts
• Robots: aquest camp s’utilitza per donar instruccions als robots que
gestionen aquesta pàgina
La següent fitxa a observar és Permisos. Des d’aquí s’ajustarà el perfil d’usuari que
hi té accés. A la figura 2.21 es poden veure totes les possibilitats de configuració:
S’hi pot veure l’estat actiu, l’accés públic, l’idioma i l’identificador assignat.
Per crear la subcategoria Bàsquet s’han de seguir els mateixos passos descrits
anteriorment excepte en la selecció de la categoria pare, ja que en aquest cas s’ha
d’escollir Esports, tal i com es pot veure a la figura 23.
2.2.3 Articles
Una pàgina web gestionada per un CMS ha de disposar d’una jerarquia per ordenar
els continguts i d’un objecte que pugui contenir la informació que es desitgi
publicar.
Crear un article
Quan creeu un article heu d’indicar un títol i omplir 6 fitxes amb dades relatives
al contingut i a la configuració. Les fitxes són:
• Contingut
• Publicant
• Imatges i enllaços
• Opcions
Aplicacions Web 55 Gestors de continguts
• Permisos
Contingut
La pestanya de Contingut permet editar la informació que es mostrarà a l’article.
Segueix la línia clàssica d’un editor de text força senzill, on les possibilitats de
canvi d’estil són força limitades. Si es desitja es pot caviar l’editor emprat utilitzant
el botó Canviar d’editor.
• Accés: l’accés a aquest article estarà permès per al perfil Public, Guest,
Registered, Special o Super users
Publicació d’informació
Amb la pestanya Publicant es configuren totes les variables lligades a aspectes de
publicació:
• Creat per àlies: com a creador de l’article apareixerà l’àlies aquí introduït
i no l’identificador d’usuari
• Robots: aquest camp s’utilitza per donar instruccions als robots que
gestionen aquesta pàgina. Per exemple es pot indicar que no s’indexi aquest
article
• Drets de contingut: especifica els drets d’ús de l’article i els seus contin-
guts
Imatges i enllaços
• Imatge per l’article sencer: imatge per a la visualització d’un únic article
Opcions
• Mostra icones: activat mostra les icones d’imprimir i enviar per correu
• Mostra la quantitat de vegades que s’ha fet clic cobre l’enllaç: activat
mostra el número de vegades que s’ha clicat a sobre de l’article
Aplicacions Web 58 Gestors de continguts
• Imatges de lloc web i Enllaços: mostra els camps utilitzats per inserir
imatges i enllaços al front-end
Permisos
Aquesta pestanya permet gestionar què pot fer cada perfil d’usuari als continguts.
Quan es desin els canvis quedarà reflectit l’estat dels permisos finals a la columna
Configuració calculada.
Per crear un article s’ha d’utilitzar la finestra Gestor d’articles/ Afegeix un nou
article. En aquest entorn cal introduir una sèrie de dades bàsiques que s’extrauran
majoritàriament del mateix article que s’ha de publicar. Si per exemple us arriba
un article amb les següents dades:
Aplicacions Web 59 Gestors de continguts
• Estat: publicat
• Categoria: Bàsquet
• Destacat: sí
• Accés: públic
• Idioma: tots
Seguint les indicacions de l’article no cal tractar les variables de les fitxes Opcions,
Configura la pantalla d’edició i Permisos.
Una vegada introduïdes totes les dades cal desar l’article utilitzant el botó Desar
i si tot ha anat bé apareixerà el missatge de la figura 2.29.
Editar un article
N’hi ha prou a clicar a sobre per accedir a la pantalla d’edició, que és la mateixa
que s’utilitza quan es crea un article nou (figura 2.31):
L’article Notícies està publicat perquè apareix el símbol de selecció de color verd,
en canvi Presentació de la nova equipació té assignada una creu vermella, cosa
que significa que no està publicat. Per publicar aquest article només cal clicar a
sobre de la icona i canviarà pel símbol de selecció de color verd.
Aplicacions Web 62 Gestors de continguts
Destacar un article
L’article A on ens pot trobar està publicat i destacat, mentre que l’article Les
nostres notícies està publicat però no està destacat.
Arxivar un article
Els articles que s’arxiven no
són localitzats pel filtre de
text.
Quan la quantitat d’articles creix molt és habitual que alguns quedin desfasats. És
llavors el moment d’arxivar aquests articles.
Per arxivar un article cal seleccionar-lo i clicar al botó Arxiva (figura 2.34).
Fi gu ra 2 .3 4 . Botó Ar-
xiva que cal seleccionar
Per desarxivar un article és necessari accedir al Gestor d’articles/ Articles i fer una
recerca on l’estat sigui Classificat. Apareixeran tots els articles arxivats (figura
2.35).
Desplegant les opcions d’acció es pot desarxivar l’article i tornarà al seu estat
anterior.
Aplicacions Web 63 Gestors de continguts
Bloquejar un article
Quan un usuari des del back-end o el front-end obre un article per editar-lo, el
programa Joomla! bloqueja aquest article. Això evita que un altre usuari pugui
accedir a l’article i generi conflictes a la base de dades.
Un article que formi part de Joomla! pot ser editat al llarg del temps. Aquest CMS
permet explorar els canvis realitzats en un arxiu i mostrar les diferents versions.
Fi gu ra 2 . 37 . Botó de
versions d’un article
Clicant a sobre d’aquest botó apareix una finestra emergent (figura 2.38).
Aplicacions Web 64 Gestors de continguts
Aquest historial permet comparar les versions seleccionades. Per aquest cas el
resultat és el de la figura 2.39.
En aquesta vista es poden identificar els canvis realitzats amb molt de detall.
2.2.4 Menús
Joomla! té de forma predeterminada un menú amb un únic ítem (Inici) que està
associat a la pàgina principal.
Aquest ítem de menú predeterminat permet que en ser cridat aparegui com a
pàgina d’inici.
Afegir un menú
A Joomla! els menús s’administren des del Gestor de menús/Menús (figura 2.40).
Clicant al botó Nou s’obrirà una pantalla que permet afegir els camps necessaris
per al nou menú (figura 2.41):
2.2.5 Mòduls
La visualització de les pàgines que formen part de l’entorn que es gestiona amb
Joomla! requereix una extensió que permeti el manteniment i control centralitzat.
Aplicacions Web 66 Gestors de continguts
• Accés: qui té accés a aquest ítem. L’accés pot ser Public, Guest, Registered,
Special o Super Users.
La barra d’eines que ofereix el gestor de mòduls permet realitzar les següents
opcions:
• Adreça URL inclosa: permet mostrar un marc inclòs en una lloc específic.
• Articles arxivats: mostra una llista dels mesos del calendari que continguin
articles arxivats.
• Els més populars: mostra una llista dels articles amb el major nombre de
visites.
• Imatge aleatòria: mostra una imatge aleatòria des del directori que selec-
cionis.
• Usuaris recents: mostra els últims usuaris que s’han registrat al teu lloc.
• Últimes novetats: mostra una llista dels articles més actuals que s’hagin
publicat.
apareixerà al front-end la informació que es mostra a la figura 2.43, que són dades
del servidor, del lloc i de les visites.
Aplicacions Web 69 Gestors de continguts
Fig u ra 2. 4 3 . Informació
estadística al front-end
• Registered: té els mateixos privilegis que el grup Guest, i a més a més pot
veure els articles registrats.
Aplicacions Web 70 Gestors de continguts
• Author: té els privilegis del grup Registered, i a més a més pot crear
articles, editar articles de la seva propietat i veure continguts etiquetats com
a especials.
• Editor: té els privilegis del grup Author, i a més a més pot editar tots els
articles, fins i tot els que no estan publicats.
• Publisher: té els privilegis del grup Editor, i a més a més pot publicar tots
els articles.
Per la creació d’un usuari disposeu de tres fitxes de dades que s’han d’omplir. La
primera fitxa inclou els detalls del compte d’usuari:
La tercera fitxa s’utilitza per configurar l’estil de plantilla i inclou els camps:
Aplicacions Web 71 Gestors de continguts
Per crear un usuari heu d’utilitzar el Gestor d’usuaris/es / Usuaris i clicar al botó
Nou.
• Usuari: jcasadejust
• Contrasenya: J2dJMo3!
Validant les dades amb el botó Desa apareix el missatge de la figura 2.45.
La millor prova per revisar que aquest usuari pot accedir al portal és utilitzar les
dades (vegeu figura 2.46).
Aplicacions Web 73 Gestors de continguts
El primer que apareix en pantalla és una finestra que permet editar el perfil.
Recordeu que s’ha marcat l’opció de forçar la reintroducció de la contrasenya
d’accés, per tant el primer que s’ha de fer és establir una nova paraula de pas.
També es poden canviar altres paràmetres com ara l’editor de text a utilitzar, el
fus horari o l’idioma del lloc (vegeu figura 2.47).
Des del punt de vista de l’administrador hi ha dades que poden ajudar molt quan
hi ha problemes amb l’ús del programa. Per exemple aquí es pot veure quan va
accedir per última vegada l’usuari (2015-06-18 15:47:18) i l’identificador que té
assignat (727).
Les variables que defineixen els grups han de correspondre al màxim amb la
realitat. Així, en aquest cas es crearà un grup anomenat Autor_esports que pertany
al grup principal Author (vegeu figura 2.50).
Aplicacions Web 75 Gestors de continguts
Si es vol afegir un usuari a aquest grup cal anar a Gestor d’usuaris/es / Usuaris,
seleccionar un usuari i editar-lo a la fitxa Grup d’usuaris/es assignats. Per exem-
ple, si seleccioneu l’usuari jcasadejust podeu marcar Autor_esports i Registered
(tal com mostra la figura 2.52).
Aplicacions Web 76 Gestors de continguts
També es poden carregar els continguts en vista de detall, tal com es mostra a la
figura 2.55.
Des de totes dues pestanyes podeu crear carpetes escrivint el nom a la caixa i
fent clic al botó Crea una carpeta. Per penjar un fitxer podeu trobar a baix la
caixa per penjar fitxers: de primer seleccioneu el fitxer fent clic al botó Navega, i
posteriorment al botó Comença a penjar.
Per esborrar fitxers i carpetes ho podeu fer de dues maneres. Podeu fer clic
directament a la icona blava amb forma d’aspa que hi ha al costat de cada fitxer
i carpeta, o seleccionant una sèrie de fitxers i carpetes (fent clic als quadres de
selecció que hi ha al costat de cada fitxer i carpeta) i posteriorment fent clic al
botó Esborra a la part superior de la pantalla. Assegureu-vos que les carpetes són
buides abans d’esborrar-les, ja que el Joomla! no permet esborrar carpetes que
contenen a l’interior fitxers o subcarpetes.
Heu de recordar que les imatges que carregueu al vostre lloc tardaran molt més a
baixar per part dels usuaris que visiten el vostre lloc web. Els temps de càrrega
i descàrrega que experimenteu vosaltres són molt curts perquè esteu treballant
directament sobre la mateixa màquina que alberga el lloc web, i per tant no feu
servir la infraestructura de la xarxa. Els usuaris que visiten el lloc web faran servir
una connexió a Internet que no necessàriament ha de ser molt ràpida. Per això es
recomana no fer servir imatges de mida excessivament gran.
Per crear un nou missatge s’ha de clicar al botó Nou (figura 2.57).
En aquests moments apareix una pantalla on s’han d’omplir els diferents camps
del missatge. Per seleccionar el destinatari és necessari clicar al botó de contacte
que hi ha a la dreta del destinatari (vegeu figura 2.58).
S’obre una finestra amb els usuaris amb permís s’accés al back-end i podeu
seleccionar el destinatari tal com mostra la figura 2.59.
Ara només queda escriure l’assumpte i el cos del missatge (figura 2.60).
Joomla! avisarà si el missatge s’ha enviat correctament amb el que podem veure
a la figura 2.62.
Una vegada instal·lat un gestor de continguts i havent estudiat les seves caracterís-
tiques principals cal establir els processos de manteniment i administració.
Els complements, mòduls i connectors que podeu trobar per Internet creats per
desenvolupadors independents us proporcionen centenars d’afegits que poden
donar més qualitat i funcionalitat al lloc. Les plantilles proporcionen una forma
de canviar fàcilment l’aspecte extern del lloc web sense haver de modificar el
contingut. Una de les extensions més útils per al vostre lloc web és la inclusió
d’un sistema de fòrums de discussió. Els fòrums de discussió permeten als usuaris
interactuar entre ells i amb els gestors del lloc.
La tasca de l’administrador d’un lloc web no acaba quan aquesta està en funciona-
ment. És molt important treballar els aspectes de seguretat del lloc per assegurar-
vos que el vostre lloc no patirà atacs que provenen d’Internet. Fer còpies de
seguretat freqüentment i actualitzar el sistema a les darreres versions dels paquets
són alguns dels aspectes de seguretat fonamentals dels llocs web.
Un dels ítems més utilitzats per mantenir i administrar un gestor de continguts són
els components.
Els components són petites porcions de codi que s’executen i serveixen per
mostrar informació al front-end.
La publicitat, ja sigui interna del lloc web o provinent d’una font externa, és un
recurs molt utilitzat també a les pàgines d’Internet. Aquesta publicitat cal que
sigui àgil, fàcil de gestionar i efectiva.
La pantalla Gestor d’anuncis/Anuncis conté les accions necessàries per tractar els
bàners. Com podeu comprovar apareixen els mateixos botons que podeu trobar
per exemple a la gestió dels articles:
• Nou: obre una finestra que dóna accés a la introducció de les dades del nou
bàner.
Per crear un anunci nou s’ha d’accedir a Gestor d’anuncis/Anuncis i clicar al botó
Nou. Apareix una pantalla identificada Gestor d’anuncis/Nou anunci on es pot
indicar el títol del bàner i introduir tota la informació necessària per mitjà de tres
fitxes:
• Tipus: tipologia de l’anunci, que pot ser una imatge o un cas personalitzat
A la figura 3.2 es pot veure una fitxa Detalls amb dades per a un nou anunci:
• Clics totals: número de clics que s’han aplicat a sobre de l’anunci. Aquest
valor es pot resetejar.
A la figura 3.3 es pot veure una fitxa Detalls de la pancarta amb dades:
F ig ur a 3. 4. Fitxa Publicant
F ig ur a 3 . 5. Missatge d’èxit
Aplicacions Web 88 Gestors de continguts
No s’han de confondre les categories del anuncis amb altres categories de Joomla!.
Els anuncis han d’estar vinculats a un client. Per gestionar els clients cal anar
a la pantalla Gestor d’anuncis/Clients. Clicant al botó Nou s’accedeix a Gestor
d’anuncis/Nou client on és necessari introduir les dades:
A la fitxa Metadates es poden aportar les paraules clau per ser identificades pels
motors de recerca. També es pot treballar amb el prefix corresponent.
3.1.2 Contactes
És molt probable que vulgueu que els usuaris que visitin el vostre lloc web es posin
en contacte amb vosaltres. Per fer això podríeu publicar un article amb les vostres
dades de contacte. Però és possible que el vostre lloc web necessiti mostrar les
dades de contacte de molts usuaris, per exemple si és un lloc web d’una empresa
gran o un institut. Per a aquests casos us podria ser útil fer una classificació dels
contactes per departaments.
Podeu crear diferents categories on es classificaran els vostres contactes. Per acce-
dir al gestor de categories, feu clic en el menú Components/Contactes/Categories.
Veureu una llista de les categories que teniu definides en el lloc web. La primera
vegada que entreu, aquesta llista estarà buida. Les columnes de la llista us donen
diferent informació sobre les categories. Teniu un filtre de selecció per poder fer un
filtratge entre totes les categories si en teniu més de les que es poden veure en una
pantalla. A les pestanyes de dalt podeu triar que la llista mostri les categories o bé
els contactes. Feu clic al botó Nou de la barra d’eines per crear una nova categoria.
Veureu el formulari de creació de categories, aquest formulari és el mateix que es
fa servir per crear les categories d’articles, encara que aquí molts dels paràmetres
no es fan servir. L’únic paràmetre necessari per introduir és el títol i l’àlies (aquest
últim, de la mateixa manera com passa en altres formularis de creació del Joomla!,
si el deixeu en blanc el mateix Joomla! l’omplirà per vosaltres).
Gestió de contactes
Per crear un contacte heu d’haver creat prèviament almenys una categoria de
contactes. Feu clic en el botó Nou de la barra d’eines per crear un nou contacte.
Apareixerà el formulari de creació de contacte (vegeu figura 3.9).
En aquesta pantalla s’ha d’introduir el nom del contacte i a la fitxa Nou contacte:
Aplicacions Web 91 Gestors de continguts
• Estat: país
• Primer camp d’ordenació: part del nom a utilitzar com a primera ordena-
ció
• Segon camp d’ordenació: part del nom a utilitzar com a segona ordenació
• Tercer camp d’ordenació: part del nom a utilitzar com a tercera ordenació
A la fitxa Altres informacions es pot indicar text extra relacionat al contacte (vegeu
figura 3.10).
A la fitxa Publicant (figura 3.11) s’accedeix a les dades de publicació del contacte:
• Robots: aquest camp s’utilitza per donar instruccions als robots que
gestionen aquesta pàgina
A la fitxa Mostra (figura 3.12) es poden configurar diferents paràmetres que poden
aparèixer relacionats amb el contacte.
Aplicacions Web 93 Gestors de continguts
I a la fitxa Formulari (figura 3.13) apareixen els camps que tindrà el formulari
d’alta dels contactes:
F ig ur a 3 . 13 . Fitxa Formulari
Aplicacions Web 94 Gestors de continguts
Cada dia és possible que consulteu una gran quantitat de llocs web a Internet, fins
i tot més d’una vegada al dia. Si la quantitat de llocs web que visiteu és molt gran,
la tasca de consultar totes les pàgines per veure si hi ha hagut cap novetat és molt
llarga. A més a més, moltes vegades una pàgina no haurà canviat des de la darrera
vegada que l’heu visitada, i això fa que l’esforç de visitar-la sigui inútil.
Els canals d’informació us permeten resumir en una llista unificada les novetats
d’altres llocs web; d’aquesta manera no heu d’anar individualment comprovant
les novetats d’aquestes pàgines.
Els canals d’informació, en anglès RSS (Really Simple Syndication), són uns
formats de sindicació que serveixen per recollir contingut que es publica freqüent-
ment (com ara notícies, blogs, etc.) en un format estàndard. Després, es pot afegir
a una altra pàgina un lector d’RSS on es mostraran les novetats de sindicació
perquè es puguin llegir fàcilment.
Podeu accedir al gestor de categories dels canals d’informació des del menú
Components/Sindicacions d’articles/Categories. En el gestor de categories podeu
veure una llista de les categories dels canals d’informació creades en el lloc web.
La primera vegada que hi entreu aquesta llista estarà buida. Les columnes de la
llista us donen una informació diferent sobre les categories.
Teniu un filtre de selecció per poder fer un filtratge entre totes les categories si
teniu més de les que es poden veure en una pantalla. En les pestanyes de dalt podeu
canviar que la llista mostri, o bé les categories, o bé els canals d’informació. Feu
clic en el botó Nou de la barra d’eines per crear una nova categoria (figura 3.14).
Aplicacions Web 95 Gestors de continguts
• Pare: aquesta categoria pot pertànyer a una altra categoria, o bé pot tractar-
se d’una categoria Uncategorised
• Robots: aquest camp s’utilitza per donar instruccions als robots que
gestionen aquesta pàgina
A la fitxa Permisos (figura 3.16) es gestionen els permisos que han de tenir els
usuaris i visitants que vulguin tenir accés a la pàgina web:
A la fitxa Opcions (figura 3.17) es pot configurar una presentació alternativa, una
imatge i/o un text alternatiu.
En la barra d’eines es troben els botons per treballar amb els canals d’informació.
Feu clic al botó Nou de la barra d’eines per crear un nou canal d’informació i
accedireu a una pantalla on heu d’indicar un títol, l’enllaç a l’RSS i una descripció,
tal com mostra la figura 3.18.
Aplicacions Web 98 Gestors de continguts
Com en el cas del articles i categories els camps a configurar són gairebé els
mateixos:
Es poden afegir dues imatges des de la fitxa Imatges i cal revisar les dades de la
fitxa Publicant.
• Vida de la memòria cau: els minuts que triga la memòria cau a actualitzar-
se
Un portal web pot necessitar noves funcionalitats. El CMS utilitzat per gestionar-
lo pot quedar limitat, i donada aquesta situació és necessari trobar una solució.
Aplicacions Web 100 Gestors de continguts
El CMS Joomla! està contínuament complementat amb noves extensions pel fet de
ser un programa molt utilitzat i tenir una comunitat molt àmplia de programadors.
• Instal·lar
• Actualitzar
• Gestionar
• Descobrir
• Rebre avisos
• Instal·lar idiomes
• Actualitzar llocs
Utilitzar una via o una altra dependrà sobretot de les característiques del sistema
informàtic. Si no hi ha cap impediment la instal·lació des de la web és la via més
còmoda.
Instal·lar des de la web és una de les formes més còmodes d’instal·lar noves
extensions al Joomla!. Aquest tipus d’instal·lació consisteix a navegar per un arbre
de categories buscant l’extensió desitjada, o bé utilitzar un cercador, tal com es
pot veure a la figura 3.22.
Pujar l’arxiu del paquet d’instal·lació és un mètode molt interessant quan s’ha
pogut descarregar el fitxer amb anterioritat. L’únic que cal és utilitzar l’entorn
de la figura 3.23 per navegar per l’arbre de directoris de la màquina fins arribar a
l’arxiu del paquet i pujar-lo.
Aplicacions Web 102 Gestors de continguts
Utilitzant aquesta opció no cal descarregar cap arxiu, només s’ha d’especificar
l’adreça web on està ubicat el paquet de l’extensió (vegeu figura 3.25).
Abans de desinstal·lar una extensió heu d’estar totalment segurs que la voleu
desinstal·lar. Una vegada desinstal·lada, es perd per complet l’extensió i en alguns
casos totes les dades que hi tingui associades.
Si n’esteu segurs, seleccioneu les extensions que voleu desinstal·lar i feu clic al
botó Desinstal·la de la barra d’eines.
Les pàgines web gestionades amb Joomla! necessiten com a mínim 1 mòdul
menú.
Exemples de mòduls són les notícies o els anuncis. Alguns mòduls estan enllaçats
a determinats components, sent el cas més clar el mòdul menú (mod_mainmenu)
que està enllaçat amb el component Menú.
La instal·lació per defecte de Joomla! ja inclou una sèrie de mòduls, i l’usuari pot
decidir instal·lar-ne de nous. A la figura 3.27 es poden veure mòduls d’una pàgina
ja editada:
Aplicacions Web 104 Gestors de continguts
Si per exemple cliqueu a sobre del mòdul Dades d’accés accedireu a configurar el
nou mòdul (figura 3.29).
Aplicacions Web 105 Gestors de continguts
A part del títol, els camps que cal emplenar a la fitxa Mòdul són:
• Mostra etiquetes: es poden seleccionar el text o les icones que mostren els
camps
• Accés: permisos que han de tenir els usuaris que vulguin accedir al mòdul
Com es pot veure a la figura 3.30, els complements poden ser de diferents tipus
i tenir diferents elements. Per defecte la instal·lació de Joomla! ja inclou tots els
complements bàsics.
En aquest cas veieu que es tracta d’un mòdul que té per objectiu gestionar
l’autenticació dels usuaris. Podeu observar que està habilitat i és públic.
Aplicacions Web 107 Gestors de continguts
Un fòrum (també conegut com a fòrum de discussió) és una pàgina web que dóna
suport a discussions i opinions en línia d’una sèrie d’usuaris. Els fòrums solen
tenir diferents temes de discussió ordenats en diferents categories, on els usuaris
poden opinar.
Com es veu a la figura 3.39 cada estil pot ser marcat per defecte al front-end i
al back-end. També s’indica l’assignació, la localització, la plantilla vinculada i
l’identificador que li correspon.
Edició de l’estil
Per editar un estil cal estar a Gestor de plantilles/Estils i clicar a sobre de qualsevol
estil. Si per exemple es clica a sobre de l’estil Beez3 - Default es mostra la
informació de la figura 3.40 a la fitxa Avançat:
Aquests són els camps més importants pel que fa a l’estil i són modificables per
tal d’adequar-se a les necessitats de la pàgina web.
A la figura 3.41 es veu un exemple on els idiomes disponibles per al front-end són
el català i l’anglès:
Aplicacions Web 111 Gestors de continguts
Per instal·lar un nou idioma cal clicar al botó Instal·la idioma (figura 3.42).
Després cliqueu al botó Instal·lar. Quan finalitzi la instal·lació i tot hagi anat
correctament apareixerà el missatge de la figura 3.46.
Aplicacions Web 112 Gestors de continguts
No s’ha d’oblidar que podeu instal·lar tots els idiomes que necessiteu, però només
un serà per defecte.
3.3 Seguretat
Instal·lar un gestor de continguts és una tasca senzilla. Però una vegada acabada
la feina de tenir el lloc web actiu s’ha de continuar treballant per assegurar-ne el
funcionament, especialment en qüestions de seguretat.
El vostre lloc web fa servir quatre tecnologies diferents: Apache, PHP, MySQL
i Joomla!, a part del sistema operatiu. La seguretat s’ha de revisar en totes, ja
que els possibles atacants poden aprofitar vulnerabilitats en qualsevol d’aquestes
tecnologies.
Joomla! està dissenyat per ser un sistema segur, per tant la instal·lació per defecte
ja us dóna un lloc web amb una seguretat elevada. Així i tot hi ha certes accions
que podeu fer per assegurar encara més el funcionament del vostre lloc web.
La millor manera d’estar informat sobre els problemes de seguretat del Joomla!
és subscriure’s a un fòrum de seguretat per veure alertes sobre nous problemes.
Podeu accedir a un d’aquests fòrums a **Seguretat Informàtica**.
Aquests són alguns dels consells de seguretat que podeu seguir per obtenir un lloc
web més segur:
• Si els usuaris poden penjar contingut al lloc, poden introduir codi PHP al
text enviat per fer accions no permeses al lloc. Editeu la configuració dels
editors de text que poden fer servir els usuaris en el gestor de connectors per
netejar el text que hi poden incloure.
1 public $root_user=’myname’;
En la qual myname és l’identificador d’un usuari que tenia accés i ara tindrà accés
d’administrador. Ara heu d’accedir al back-end de Joomla! amb aquest usuari
que ara té permisos d’administrador i restaurar el compte d’administrador que ha
extraviat la contrasenya.
A la figura 3.49 es demostra com la línia que es mostra tot seguit, afegida al fitxer
configuration.php, possibilita l’accés com a superusuari a un usuari que abans no
tenia aquest privilegi.
1 public $root_user=’jcasadejust’;
Hi ha diverses maneres de fer una còpia de seguretat del vostre lloc web. Bàsica-
ment heu de fer còpia del següent:
• El contingut dels fitxers del Joomla!: això inclou les imatges i les
extensions instal·lades. Tots els fitxers del Joomla! es troben a la carpeta
d’instal·lació del Joomla!.
Podeu fer una còpia de tota aquesta informació manualment. Per fer-ho així
hauríeu de comprimir la carpeta del Joomla! i fer un buidatge del contingut de
la base de dades. Aquestes tasques es poden fer periòdicament si es configura el
sistema operatiu perquè les executi automàticament cada cert temps.
Aplicacions Web 115 Gestors de continguts
El Joomla! també té extensions que permeten fer tota aquesta tasca de manera
automàtica. Farem servir un popular component anomenat JoomlaPack que
serveix per fer i restaurar còpies de seguretat.
El backup Akeeba
El component de backup Akeeba disposa d’un panell de control (vegeu figura 3.51)
que permet:
• Gestionar perfils
• Configurar-lo
Una vegada realitzada la configuració bàsica es pot procedir a realitzar una còpia
de seguretat (figura 3.52):
3.4 Rendiment
Diversos són els factors que poden condicionar el rendiment d’una pàgina web,
però treballant amb Joomla! es posa a l’abast de l’administrador la possibilitat de
treballar de forma senzilla amb una variable important: la memòria cau.
També resulta interessant accedir a Configuració global (figura 3.57) i variar els
paràmetres de la configuració de la memòria cau:
També es pot escollir el gestor de memòria cau i el temps màxim (en minuts) que
estaran arxivats el fitxers a la memòria cau.
Aplicacions Web 119 Gestors de continguts
És perillós actualitzar el sistema directament en el lloc web que esteu fent servir. Si
quelcom va malament perdríeu tot el lloc. Cloneu el vostre lloc amb el JoomlaPack
per fer una prova prèvia d’actualització sobre el vostre lloc web clonat. Quan
comproveu que el procés d’actualització ha estat correcte, podeu fer l’actualització
sobre el vostre servidor final (fent una darrera còpia de seguretat, per si de cas).
Una vegada comprovat que el lloc web està funcionant correctament sobre el
servidor clonat, podeu fer l’actualització en el servidor final.
Des del back-end es pot actualitzar Joomla! amb les últimes versions. Si accediu
a Actualitza Joomla! us apareixerà la pantalla que teniu a la figura 3.58 on
s’indicaran les últimes actualitzacions disponibles. En el cas d’aquest exemple
la versió actual és la 3.4.1 que coincideix amb la instal·lada i, per tant, no es pot
actualitzar.
Aplicacions Web 120 Gestors de continguts
3.6 Migració
Per fer una migració cal seguir (sense saltar-se’n cap) diversos passos:
3. Crear una nova base de dades i un nou usuari per restaurar la versió antiga
6. Testejar el sistema
Una tasca que no s’ha d’oblidar mai és la de documentar tots els processos que
s’apliquin.
Portals web d'aprenentatge
Montserrat Madridejos Mora, Nuria Montolio Catalán
Aplicacions Web
Aplicacions Web Portals web d'aprenentatge
Índex
Introducció 5
Resultats d’aprenentatge 7
Introducció
L’educació a distància ha fet un salt qualitatiu i quantitatiu els darrers anys arran
de l’espectacular creixement en l’ús d’Internet i la consolidació dels portals web
d’aprenentatge. Actualment pot competir en igualtat de condicions amb els
sistemes tradicionals d’aprenentatge presencial, ofereix més flexibilitat i permet
arribar a gent que d’altra manera no hi tindria accés.
No solament Internet, sinó una nova dimensió web on els usuaris col·laboren,
comparteixen, participen i creen contingut. Així doncs, aquí és on s’emmarquen
aquests portals d’aprenentatge, on professors, alumnes i usuaris comparteixen un
espai comú amb gran diversitat de recursos per aprendre, comunicar-se, opinar o
treballar en grup.
Resultats d’aprenentatge
• ATutor: és una aplicació web i de codi obert per a la gestió de cursos i per
treballar col·laborativament amb els estudiants.
• Lectrio: treballa d’una manera integrada amb serveis de Google i altres com
Dropbox, Facebook i Instagram. S’adapta molt bé a dispositius mòbils.
Tot i que seria interessant poder presentar cadascun d’aquests entorns virtuals, ens
centrarem en la plataforma Moodle versió 2.8.
Aplicacions Web 10 Portals web d'aprenentatge
En el cas dels entorns web, tot i ser heterogenis, generalment utilitzen tecnologies
similars: el servidor web, la base de dades i els llenguatges dinàmics. Aquests són
elements comuns que treballen per fer-los funcionar, i cal entendre quin rol hi té
cadascun d’ells.
Seguint un dels principis del constructivisme social, se sap que els éssers humans
elaboren coneixement a partir de la relació social. Aplicant aquest concepte al
món de l’educació, ens trobem que l’alumne passa a participar de forma activa i
conscient en el procés d’aprenentatge. En aquest sentit, les plataformes virtuals
d’aprenentatge afavoreixen que es pugui potenciar aquest aspecte.
La facilitat d’ús d’aquests entorns és una de les claus del seu èxit; uns recursos
mínims (un ordinador i una connexió a Internet) i unes habilitats elementals en la
utilització d’aquestes eines informàtiques, garanteixen que tothom hi pugui tenir
accés.
codi lliure i gratuït, amb una comunitat molt àmplia d’usuaris arreu del món.
Es basa en el constructivisme social per a l’adquisició del coneixement.
La paraula ’Moodle’...
Per entendre una mica millor què és Moodle i en general els ... és un acrònim de modular
object-oriented dynamic
entorns virtuals d’aprenentatge podeu veure la presentació següent: learning environment (entorn
d’aprenentatge dinàmic orientat
http://download.Moodle.org/docs/es/presentation_es.swf. a objectes i modular). També és
un verb anglès que descriu el
procés de vagar amb peresa per
algun lloc i fer les coses quan
se’ns acut fer-les.
Els recursos dels entorns virtuals d’aprenentatge són totes aquelles eines
que permeten al formador aportar materials didàctics o bé crear-los per tal
de comunicar i complementar el coneixement als seus alumnes. El mode edició és
imprescindible per modificar
el contingut dels cursos. En
Aquests són els recursos que proporciona Moodle i que els professors, en mode activar-lo apareixen un
conjunt d’icones associades
edició, poden afegir als seus cursos: a cada ítem del curs i als
blocs, que ens permetran
modificar la seva col·locació
i editar els continguts
• Fitxer: és un document en qualsevol format (PDF, ODT, DOCX ...): una didàctics. També ens
permet afegir nous
imatge, un full de càlcul, un fitxer d’àudio o vídeo... continguts al curs. Per
activar-lo o desactivar-lo cal
prémer al botó Activa edició
• Carpeta: ajuda a organitzar els fitxers i pot contenir altres carpetes. Ens o Desactiva edició.
Aplicacions Web 12 Portals web d'aprenentatge
• Pàgina: es tracta d’una pàgina web, per tant navegable, que el professor
edita mitjançant un editor HTML.
• Paquet de contingut IMS: es tracta d’un llibre però navegable com una
pàgina web. Resulta complex de configurar i crear.
Llenguatge HTML En la figura 1.2 podeu observar el submenú per afegir un nou recurs.
HTML és l’acrònim d’Hyper
Text Markup Language, un dels F i g ura 1 . 2 . Submenú per afegir un nou recurs
llenguatges més populars per a la
creació de pàgines web.
Els formadors creen activitats dirigides als alumnes i en poden rebre el resultat
per tal d’avaluar-los i fer-ne el seguiment.
Hi ha una gran varietat d’activitats diferents. Poden ser de dos tipus: individuals
i col·laboratives.
Wiki wiki significa En la figura 1.3 podeu observar el submenú que permet afegir una nova activitat.
‘superràpid’ en l’idioma
hawaià.
F i g ura 1 . 3 . Submenú per afegir una nova activitat
Aplicacions Web 15 Portals web d'aprenentatge
Un rol és una col·lecció de permisos definida per a tot el sistema que podeu
assignar als usuaris en contextos específics. La combinació de rol i context
defineix les accions que l’usuari pot fer a les pàgines. Tractant-se d’un entorn
d’aprenentatge, els rols més comuns que ofereix Moodle és el de professor i
estudiant a més del d’administrador per gestionar el portal.
Les eines de comunicació als portals web d’aprenentatge són un element bàsic
en el procés d’aprenentatge; la comunicació amb el professor, els dubtes que
aclareixen els companys o les discussions i el debat són necessaris i ajuden
l’alumne.
Les eines de comunicació dels portals web d’aprenentatge són totes aquelles
que permeten als agents que hi intervenen comunicar-se entre ells. La
comunicació pot ser en directe o en diferit.
Aquestes són algunes de les eines existents per a la comunicació dels portals web
d’aprenentatge:
A part, hi ha algunes activitats que es poden fer servir com a eines de comunicació,
com ara les enquestes o les qüestions.
Abans d’instal·lar qualsevol programari cal fer una tasca prèvia de comprovació;
s’ha de determinar si el sistema compleix tots els requisits i té tot allò necessari.
D’aquí se’n desprèn per una banda la necessitat d’una base de dades on s’enregistra
i interrelaciona tota aquesta informació que aporten els usuaris, i per una altra
la necessitat d’un llenguatge que permeti mostrar aquest contingut dinàmic.
Imagineu un àlbum de fotografies a la web: un dia pot tenir una fotografia, al
dia següent en pot tenir 10, i l’altre en pot tenir 30; amb un llenguatge estàtic
caldria modificar la pàgina cada vegada, caldria un programador web i els canvis
no serien immediats.
A més, és necessari un tercer element, el servidor web, que podeu entendre des de
dos punts de vista diferents: per una banda és l’ordinador que accepta les peticions
dels navegadors web dels clients i els retorna els documents que mostren, i per una
altra és el programari que gestiona aquesta funcionalitat.
Taul a 1. 1. Alguns paquets de servei i les plataformes per a les quals estan disponibles
WampServer X http://www.wampserver.com/
Xampp X X X http://www.apachefriends.org
EasyPHP X http://www.easyphp.org/
Mamp X http://www.mamp.info
Finalment també hem d’assegurar-nos que els futurs usuaris del portal web hi
tinguin accés. Per exemple, si només són usuaris d’una xarxa local es pot instal·lar
en un dels ordinadors de la xarxa, però si voleu que els usuaris tinguin accés
a l’aplicació des d’Internet cal que ens assegurem que l’ordinador on s’instal·la
és accessible des de la web o bé utilitzar un servidor preparat d’algun proveïdor
d’hostatge de webs.
Per fer la instal·lació d’un portal web d’aprenentatge cal que seguiu els passos que
s’exposen a l’esquema de la figura 1.4. Us pot ser útil el següent tutorial:
https://www.youtube.com/embed/6Ystx8o9pYU?controls=1
Aplicacions Web 18 Portals web d'aprenentatge
3. Descomprimir i copiar els fitxers a l’arrel del servidor web. Una vegada
baixat el paquet amb els fitxers, cal que localitzeu la carpeta arrel del servidor
web, aquella que gestiona el servidor. En el sistemes operatius Linux la carpeta
DocumentRoot
arrel per defecte és /var/www.
L’arrel dels documents
(DocumentRoot) en el servidor Seguidament hi col·locareu els arxius descomprimits. En la figura 1.5 en podeu
web Apache2 la trobareu en el
fitxer /etc/apache2/apache2.conf observar el resultat.
fent una cerca del text
“DocumentRoot”.
Aplicacions Web 19 Portals web d'aprenentatge
4. Crear una base de dades buida anomenada moodle. Abans de continuar amb
la instal·lació cal crear una nova base de dades anomenada moodle i un usuari que
hi tingui accés amb uns determinats privilegis.
Hi ha diverses maneres de fer-ho: es pot fer servir la consola del MySQL (figura
1.6) o l’eina phpMyAdmin, que és una aplicació web per administrar la base de
dades i que s’instal·la amb la majoria de paquets (figura 1.7).
Per crear un nou usuari amb els permisos necessaris podeu executar l’ordre SQL
Per defecte el MySQL crea següent (figura 1.8):
el superusuari root amb tots
els permisos; està totalment
desaconsellat fer-lo servir, i F igu r a 1. 8 . Instrucció SQL per crear un nou usuari des de l’entorn phpMyAdmin
cal crear-ne un de nou.
També es pot fer servir el MySQL Workbench. Es tracta d’una eina gràfica molt
utilitzada en l’administració de bases de dades. Podeu trobar-ne més informació
a la pàgina oficial de MySQL Workbench:
http://www.mysql.com/products/workbench/
La instal·lació de Moodle també valida algunes extensions del PHP necessàries per
al funcionament correcte de l’aplicació. No són imprescindibles però és un bon
exercici activar o habilitar les extensions que solucionen algun problema (figura
1.13).
F ig ur a 1 .1 3 . Avisos d’extensions no presents en la configuració del PHP que són necessàries per a
alguna funcionalitat de Moodle
13 $CFG−>prefix = ’mdl_’;
14 $CFG−>dboptions = array (
15 ’dbpersist’ => 0,
16 ’dbport’ => 3306,
17 ’dbsocket’ => ’’,
18 );
19
20 $CFG−>wwwroot = ’http://localhost/moodle’;
21 $CFG−>dataroot = ’/var/www/moodledata’;
22 $CFG−>admin = ’admin’;
23
24 $CFG−>directorypermissions = 0777;
25
26 require_once(dirname(__FILE__) . ’/lib/setup.php’);
27
28 // There is no php closing tag in this file,
29 // it is intentional because it prevents trailing whitespace problems!
Es generen una gran quantitat de taules durant la instal·lació, però no cal que us
preocupeu gaire, ja que en general no cal fer cap acció directament sobre la base
de dades.
F ig ur a 1. 15. Pàgina d’inici del portal Moodle en finalitzar el procés d’instal·lació
Tot i que la majoria dels portals web d’aprenentatge tenen característiques comu-
nes i, en particular, el Moodle té una interfície estàndard que el caracteritza, és
molt important conèixer a quin tipus d’organització va dirigit per tal de realitzar
la configuració ‘a mida’ de l’entorn (idioma, tipus d’activitats, recursos, etc.).
L’aspecte d’una aplicació marcarà la primera impressió dels futurs usuaris; per
tant, cal cuidar-lo i personalitzar-lo, i és important que sigui agradable i que tingui
els elements necessaris que el relacionin amb l’organització que representa. Per
exemple, el logotip ha d’estar ben visible a la capçalera.
Tot i que la gestió d’usuaris és una acció típica d’administració del portal, es
presenta i s’explica en aquest apartat de configuració, ja que calen determinats
conceptes per entendre millor la configuració dels cursos.
Aplicacions Web 28 Portals web d'aprenentatge
Els visitants tenen privilegis limitats i només tenen accés a la informació que
l’administrador i els creadors dels cursos decideixen. En alguns casos, per
exemple, pot interessar restringir l’accés als cursos als usuaris registrats i evitar
que visitants i curiosos accedeixin a la informació del portal.
El contingut de la primera plana es pot modificar. Podeu afegir una breu descripció
del portal, mostrar notícies, mostrar les categories dels cursos limitant-ne la
El contingut de la primera
plana es configura a l’ítem quantitat que es visualitza.
Administració del
lloc/Primera
plana/Paràmetres de la Per posar la pàgina de registre com a pàgina d’inici, cal activar l’opció que obliga els usuaris
primera plana del bloc de a entrar (forcelogin). Es configura a l’ítem Administració del lloc/Seguretat/Normativa del
Configuració.
lloc del bloc de Configuració.
Habitualment conté el bloc central amb els cursos als quals està inscrit o bé la
jerarquia de categories; el bloc de Navegació amb l’accés als diferents cursos; i
el bloc d’Administració on pot editar el seu perfil i altres accions segons el rol de
l’usuari. Altres blocs poden aparèixer en funció de la configuració realitzada per
l’administrador.
L’administrador pot configurar aquesta pàgina per a tots els usuaris. Habitualment
apareixen els cursos als quals estan inscrits en el bloc central, el bloc de navegació,
el bloc de configuració i altres elements com ara avisos dels missatges al fòrum
no llegits o tasques pendents de lliurar.
Aquesta pàgina també pot ser configurable per cada usuari mitjançant el botó
Personalitza aquesta pàgina. En cas que ho necessiti, també pot tornar a la pàgina
per defecte imposada per l’administrador del portal.
Aplicacions Web 29 Portals web d'aprenentatge
2.1.3 Perfils
És una col·lecció de camps agrupats per categories, com ara dades generals,
L’administrador pot afegir
imatge, interessos i altres dades. Alguns camps són obligatoris i per tant l’usuari nous camps al perfil anant a
els ha d’introduir en el moment d’autenticar-se. L’administrador pot decidir Administració del
lloc/Usuaris/Comptes/Camps
l’obligatorietat o opcionalitat dels camps i a més indicar quins seran visibles per del perfil d’usuari. També
pot bloquejar determinades
la resta d’usuaris. dades del perfil per imposar
un valor i que l’usuari no
pugui modificar-lo. Cal anar
Tot usuari pot configurar el seu perfil anant a Configuració del meu perfil/Edita el a Administració del
lloc/Connectors/Autenticació/
perfil del bloc de Configuració (figura 2.1). Autenticació basada en el
correu electrònic.
És molt important que l’administrador revisi la Normativa del lloc per establir
l’obligatorietat a autenticar-se per visualitzar els cursos, els perfils dels usuaris i
les seves imatges, a més d’altres paràmetres relacionats amb la protecció de dades
com quins rols seran visibles. Cal anar a Administració del lloc/Seguretat/Norma-
tiva del lloc.
Aplicacions Web 30 Portals web d'aprenentatge
2.1.4 Blocs
Qualsevol pàgina del Moodle està organitzada per blocs. Un bloc no és més que
un conjunt d’informacions i enllaços a accions agrupades en un requadre.
Moodle disposa d’altres blocs addicionals que ens permeten accedir a altres
informacions. L’administrador configura quins blocs veurà cada usuari i en quina
disposició apareixeran a les pàgines indicant també sota quin context.
L’administrador de curs o
Com a professors podem gestionar l’estructura de blocs dels cursos que adminis-
professor gestiona trem, tant per afegir o treure com fer una nova disposició. La capacitat que tenim
l’estructura de blocs activant
l’edició i anant al bloc com a professors depèn del tema utilitzat en el portal i de la configuració feta per
Afegeix un bloc.
l’administrador que pot fixar la presència de determinats blocs. Els estudiants en
canvi no poden afegir-ne ni esborrar-ne però poden amagar-los.
Els blocs ens proporcionen informació addicional al contingut del curs que poden
ser de gran utilitat en el procés d’aprenentatge. Més endavant s’explora més a fons
els continguts dels diferents blocs.
2.1.5 Temes
Dins el paquet estàndard del Moodle s’inclouen alguns temes per defecte.
Un tema defineix l’aparença de tot el portal, però cada curs o usuari també
pot tenir el seu tema propi.
Els temes estan disponibles
a l’ítem Administració del
lloc/Aparença/Temes del
És possible previsualitzar un tema abans d’activar-lo i veure quin aspecte tindrà el bloc de Configuració.
portal si finalment el seleccioneu.
Des del menú d’administrador es pot configurar l’aparença del portal i, per
exemple, escollir un tema que li doni un aspecte personalitzat.
A més de canviar l’aspecte del portal es poden establir els paràmetres del tema per
gestionar fins a quin punt els usuaris poden modificar i personalitzar l’aspecte del
portal, per exemple:
• Permetre que cada usuari seleccioni el seu tema propi, que s’aplicarà una
vegada entri al sistema.
• Gestionar els blocs del lloc; per exemple, ocultar-ne o afegir-ne als cursos.
Cal adonar-se que si com a administradors permeteu la selecció de temes per usuari
i curs, el sistema ha de decidir en cada moment quin tema ha de mostrar. Els temes
s’apliquen segons el seu àmbit: de lloc, que tria l’administrador i s’aplica a tot el
portal; d’usuari, escollit per l’usuari; i de curs, que defineix l’administrador del
curs. Les prioritats de més a menys prioritari són curs, usuari i lloc. En cas de
conflicte s’aplica el tema de l’àmbit més prioritari.
A part dels temes predefinits en el paquet estàndard del Moodle, n’hi ha molts
altres que desenvolupa la sempre activa comunitat Moodle. Aquests s’ofereixen
gratuïtament sota llicència http://ca.wikipedia.org/wiki/GPL.
En general els temes estan comprimits en format ZIP. Per instal·lar un nou tema
cal descomprimir el fitxer i pujar el contingut al servidor web, a la carpeta theme
de Moodle, dins una nova carpeta amb el nom del tema.
1 cd /var/www/html/moodle/theme
2 sudo unzip /<directory>/<nom_del_fitxer>.zip
Aplicacions Web 32 Portals web d'aprenentatge
Per crear temes propis, són necessaris coneixements d’algunes tecnologies com
ara els fulls d’estil en cascada (CSS) o els llenguatges de marques (XHTML), a
Per treballar amb fulls d’estil més d’estar familiaritzat amb el desenvolupament de pàgines web.
i disseny web hi ha una eina
molt útil per al navegador
Firefox anomenada Firebug.
Permet veure mentre es
navega el codi de les
pàgines, els atributs i els
estils que s’apliquen a cada
element; a més els estils es 2.1.6 Idioma
poden editar, modificar i
veure’n el resultat
directament al navegador
El portal web Moodle permet afegir nous idiomes i per tant configurar l’entorn
amb el que ens interessi. Aquesta tasca es realitza com a administrador. A més,
cada usuari pot escollir el seu idioma preferit editant el seu perfil.
Per gestionar els paquets d’idioma cal entrar com a administrador. Des
d’Administració del lloc/Idioma/Paquets d’idioma del bloc de Configuració,
teniu accés a la instal·lació, actualització i desinstal·lació de tots els idiomes
disponibles (figura 2.4).
Aplicacions Web 33 Portals web d'aprenentatge
També es pot instal·lar manualment. Des del menú de descàrregues del web
del Moodle (https://download.moodle.org/langpack/2.8/) us podeu baixar els di-
ferents idiomes (format ZIP). Observareu que està traduït a molts idiomes, la qual
cosa us pot donar una idea de la difusió que té.
Només cal que descomprimiu el contingut del fitxer al directori moodledata, dins
una carpeta anomenada lang, que caldrà crear en cas que no existeixi.
Per configurar l’idioma de l’entorn podeu accedir als paràmetres d’idioma dins del
d’Administració del lloc/Idioma/Paràmetres d’idioma del bloc de Configuració.
Segons el tema que tenim activat podem gestionar la capçalera i el peu de les
pàgines anant al seu menú de configuració o bé a la seva pàgina de configuració.
Allà podeu afegir el logo de l’organització, cosa que és recomanable ja que es tracta
d’una informació imprescindible que identifica la institució o empresa (figura 2.5).
F ig ur a 2 . 5. Afegir un logotip
Aplicacions Web 34 Portals web d'aprenentatge
Una altra manera per afegir una capçalera i un peu de pàgina és modificant directa-
ment el codi HTML. L’administrador del portal pot afegir codi HTML addicional
a cada pàgina anant a Administració del lloc/Aparença/HTML Complementari del
bloc de Configuració.
Els usuaris i els cursos són els pilars del portal. Són, en definitiva, els qui
treballaran amb el portal, tant si són professors com alumnes, visitants o bé
administradors. Es poden integrar uns usuaris existents a una organització, crear-
ne de nous manualment o bé obrir el sistema per tal que ells mateixos introdueixin
les seves dades.
2.2.1 Autenticació
Una de les primeres tasques que heu de fer com a administradors és habilitar
el registre dels usuaris, tant professors com alumnes, al vostre portal. Haureu
de valorar quins són els mètodes d’autenticació que us permeten fer una gestió
més efectiva del vostre col·lectiu. És possible que per a diferents perfils d’usuaris
habiliteu mètodes d’autenticació diferents. No cal establir per tant un mètode únic
d’autenticació.
dades, o bé encara no existeixen i cal introduir-hi les dades. A la figura 2.6 es pot
veure el menú de configuració.
Hi ha connectors que permeten validar els usuaris directament contra una base
de dades externa en format Access, Oracle o MySQL. També hi ha disponi-
bles connectors amb servidors externs de tipus LDAP (Active Directory, de la
família Windows Server), POP3 (servei de correu), RADIUS (servei específic
d’autenticació en xarxa), IMAP (Internet Message Access Protocol), FirstClass,
NNTP (Network News Transport Protocol) i altres. També es poden utilitzar els
comptes ja creats en el sistema operatiu que alberga el Moodle mitjançant el PAM
(Pluggable Authentication Modules).
Un paràmetre interessant que cal tenir en compte per evitar la intrusió de robots o
programes automàtics de registre és activar el CAPTCHA. Es tracta d’un element
visual que s’afegeix al registre, i mostra unes lletres normalment distorsionades,
que l’usuari pot identificar però els sistemes de reconeixement de text automàtic
no. En la figura 2.7 es pot veure un exemple de CAPTCHA.
La configuració de
l’autenticació es fa des
d’Administració del
lloc/Connectors/Autenticació/
Gestió de l’Autenticació del
Pot habilitar-se més d’un connector per a l’autenticació. En aquest cas, el primer
bloc de Configuració. connector que resolgui positivament el login i contrasenya introduïts per l’usuari
en validarà l’entrada al portal.
• Activar el CAPTCHA.
Això esdevé normatiu i, per tant, obligatori, si el sistema tracta amb dades
personals i privades dels usuaris. És molt important conèixer la llei de protecció
de dades del teu país. En el cas de l’estat espanyol la norma jurídica s’anomena
Ley Orgánica de Protección de Datos (LOPD).
La seguretat del lloc permet definir alguns paràmetres per protegir el portal de
l’exterior; els valors per defecte ofereixen prou seguretat. Alguns dels apartats
són:
• Normativa del lloc: permet modificar alguns paràmetres com ara obligar a
entrar els usuaris per visualitzar els cursos i els perfils, les dades dels usuaris
que poden ser visibles, la mida màxima dels fitxers que es poden pujar, la
quota d’usuari, si es permet que Google entri com a visitant, i molts altres
paràmetres referents a la seguretat del lloc.
• Obligar l’entrada dels usuaris per veure els cursos i els perfils.
A més, també es pot fer funcionar el Moodle sota el protocol HTTPS, més segur,
encara que cal preparar el servidor web per treballar amb aquest protocol. Cal
Aplicacions Web 38 Portals web d'aprenentatge
tenir en compte, però, que tot i que proporciona més seguretat també alenteix el
HTTPS
servei i, per tant, cal que n’estigui justificat l’ús.
HTTPS és un protocol dels
anomenats segurs; en aquest cas
significa que treballa amb dades
encriptades, o sigui, que tota la
informació que viatja per la
xarxa utilitzant aquest protocol
està codificada i només l’origen 2.3.2 Rols
(el client, com per exemple un
navegador web) i la destinació
(el servidor, com per exemple
l’Apache) tenen accés al
contingut sense encriptar.
Per rol s’entén un conjunt de permisos i prohibicions agrupats sota un nom.
Els rols s’assignen als usuaris, i un usuari pot tenir més d’un rol, depenent
del context que determinarà què podrà fer en el context corresponent
Per exemple, un usuari pot ser alumne d’un curs mentre que alhora pot ser
professor d’un altre curs. Amb els rols predefinits és suficient per gestionar la
La gestió dels rols està majoria de situacions. Aquests es mostren a la taula 2.1 i a la figura 2.8.
disponible a
Administració/Administració
del lloc/Usuaris/Permisos Taul a 2. 1. Rols predefinits del Moodle
del bloc de Configuració.
Rol Definició
Usuari autenticat a la primera plana Qualsevol usuari del sistema que entra al curs de la
primera plana.
Aplicacions Web 39 Portals web d'aprenentatge
Si s’observen les descripcions dels rols predefinits de la taula 2.1, es veu una altra
de les característiques del sistema de rols comú també a altres àmbits informàtics
en què hi ha el concepte de rol, com les bases de dades o els sistemes operatius.
Un mateix usuari en un mateix context pot tenir dos rols o més; per exemple, un
alumne que entra al portal serà estudiant i alhora usuari autenticat. En aquest cas
hi pot haver permisos contradictoris entre els diferents rols, que el sistema ha de
solucionar.
Primerament s’estableix una jerarquia de contextos dins el portal, que cal conèixer
per entendre com s’apliquen els permisos dels rols i es resolen les contradiccions.
En ordre descendent els contextos són:
El sistema defineix totes les funcionalitats (capacitats) disponibles per als usuaris;
per exemple, crear cursos o veure els perfils dels altres usuaris. Cada rol ha de
definir els permisos per a totes aquestes funcionalitats.
• Denegat. No permet la funcionalitat fins i tot per als usuaris del rol que
tenen permís en un context superior.
A la figura 2.9 s’observa la definició del rol de professor amb els tipus de context
on s’aplica i algunes de les capacitats amb el permís assignat i els riscos que
comporta.
Els cursos, juntament amb els usuaris, són els pilars del portal. Un curs es pot
assimilar a una aula virtual. Els cursos s’organitzen en categories, per temàtica o
nivell similar, i es poden crear subcategories per estructurar el portal i facilitar la
cerca de cursos.
cadascuna, una subcategoria amb cada cicle formatiu. Els cursos serien els mòduls
i aquests s’assignarien a la seva subcategoria.
L’administrador pot definir una estructura general del curs, indicant uns parà-
metres per defecte i definint els blocs laterals que es visualitzaran. Després els
responsables del curs, els professors, poden modificar aquesta configuració per
adaptar el curs a les seves necessitats.
• Descripció: inclou una breu descripció i s’hi pot adjuntar un fitxer que
contingui un resum del curs.
• Format del curs: permet indicar el format del curs (setmanal, per temes,
social i activitat única), el nombre de temes o setmanes, què fer amb els
temes ocults i la disposició del curs.
• Grups: permet agrupar els participants del curs en grups; aquests poden
coexistir o estar totalment separats, de manera que els membres d’un grup
no veuen els altres ni la seva activitat, com per exemple les aportacions a
fòrums. En qualsevol dels casos els grups comparteixen recursos i activitats.
• Canvi de nom del rol: per indicar un nou nom per a cada rol.
El format dels cursos fa referència a la manera com s’organitza el bloc central del
curs:
• El format social s’organitza entorn d’un fòrum principal en què els partici-
pants poden debatre.
Aplicacions Web 42 Portals web d'aprenentatge
• Últimes notícies
• Esdeveniments propers
• Activitat recent
• Calendari
• Categories de cursos
• Missatges
• Usuaris en línia
Aplicacions Web 43 Portals web d'aprenentatge
A la figura 2.11 es pot observar com es veu la pàgina inicial d’un curs amb el mode
d’edició actiu.
Figur a 2 . 11 . Pàgina inicial del curs amb el mode d’edició activat
Una vegada el curs s’ha creat, cal afegir-hi els alumnes. Hi ha tres modes
d’inscripció en els cursos: el professor selecciona els alumnes, els alumnes
s’inscriuen al curs ells mateixos o es fa una inscripció massiva a partir d’algun
sistema de dades extern.
El professor pot donar d’alta els participants als cursos que administra des
de l’ítem Usuaris/Usuaris inscrits del menú Administració del curs del bloc
Configuració (figura 2.12).
es mostra a la pàgina d’inici la llista de cursos als usuaris del portal per tal que els
puguin seleccionar.
Aquesta inscripció permet crear una instància per a cada rol que vulguem gestionar.
Per exemple, ens pot interessa crear una instància d’autoinscripció amb el rol
d’estudiant i una altra amb el rol de professors no-editors. A més, si el curs té
configurat els grups, permet la inscripció automàtica dels estudiants a grups posant
diferents claus d’inscripció.
Una funcionalitat interessant que també es pot gestionar des de les inscripcions
és el pagament dels cursos; aquests es fan per mitjà d’entitats externes que
garanteixen la seguretat de les transaccions. Moodle permet el pagament via
PayPal. Cal que el pluging corresponent estigui instal·lat i que l’administrador
configuri el curs per tal que permeti aquest tipus d’inscripció. El professor pot
decidir-ne el preu.
A part de les inscripcions vistes, el professor pot habilitar l’accés al curs als
visitants sense clau.
F igu r a 2. 1 2 . Menú mètodes d’inscripció
2.4.3 El contingut
Amb els següents recursos que ofereix el paquet estàndard, el professor presenta
els seus continguts:
• Fitxer: pot ser de qualsevol format incloent no només text sinó també
imatges, multimèdia i fulls de càlcul.
• Pàgina: ens ajuda a presentar els continguts en format pàgina web que el
professor crea utilitzant un editor HTML que ofereix la pròpia plataforma.
• Llibre: es tracta d’un llibre multimèdia que pot incloure àudio i vídeo.
Permet, per tant, presentar els continguts d’una manera més atractiva
respecte als fitxers tradicionals.
Moodle també disposa d’altres recursos que ens ajuden a organitzar els continguts
del curs. Els que ofereix el paquet estàndard són:
• Carpetes: en cas que el nombre de fitxers creixi molt, els podem organitzar
en carpetes i per tant a través d’aquest recurs accedir a un grup de fitxers.
En la figura 2.13 podeu observar una part del contingut d’un curs amb els diferents
recursos.
F ig ur a 2. 13. Exemples de recursos
la seva tasca que pot ser un fitxer o conjunt de fitxers, una resposta en línia o bé
un enllaç.
Per crear continguts col·laborativament entre els companys i amb la intervenció del
professor, Moodle ofereix diverses eines com ara Base de Dades (recull de dades
de diversos tipus com ara revistes, adreces web, textos, imatges, etc.), Glossari
(recull de termes) i Wiki. Són activitats que poden servir com a continguts del
curs. La Wiki pot ser útil perquè els estudiants creïn els seus propis apunts.
En la figura 2.14 podeu observar una part del contingut d’un curs amb una proposta
de diferents activitats a realitzar pels estudiants.
Aplicacions Web 47 Portals web d'aprenentatge
Tot curs, quan es crea, només disposa en el bloc central d’un únic element, el
Fòrum d’avisos i notícies. Es tracta d’una eina de comunicació unidireccional
on només els professors poden escriure i els estudiants llegeixen.
A més, podem afegir altres elements de comunicació com el Fòrum on tant els
professors com els estudiants poden escriure i el Xat on s’estableix una comuni-
cació directa. Ambdós elements de comunicació serveixen per resoldre dubtes
entre els companys i apropar-los en el seu procés d’aprenentatge. És important
que el professor estimuli l’ús d’aquestes eines per compensar la llunyania física
dels estudiants.
L’organització dels estudiants en grups permet que aquests realitzin tasques com
a grup. Algunes de les activitats i eines de comunicació que hem vist faciliten
el treball grupal, indicant-ho a la seva configuració. Per exemple, es pot crear un
fòrum on les converses només siguin visibles pels membres d’un mateix grup o
Per afegir qualsevol recurs, bé l’activitat Tasca que permet el lliurament per grup.
activitat o element de
comunicació, cal activar
l’edició del curs, clicar a
Afegir una activitat o recurs,
Tot recurs o activitat del curs es pot editar de nou per modificar algun paràmetre,
seleccionar l’element del recol·locar-lo en el bloc central tant movent-lo horitzontalment com verticalment,
menú i llavors configurar els
diferents paràmetres alguns assignar-li rols i si s’escau ocultar-lo a l’estudiant (figura 2.16).
d’ells opcionals i altres
obligatoris.
F igu r a 2. 1 6 . Icones amb l’edició activada
Tant els recursos com les activitats i els elements de comunicació disposen d’uns
paràmetres propis. L’estudi d’aquestes configuracions es realitzarà a través de les
activitats proposades.
Aplicacions Web 49 Portals web d'aprenentatge
En l’ús diari de l’entorn virtual d’aprenentatge sorgeixen unes necessitats que cal
que siguin resoltes mitjançant diverses tasques a realitzar per l’administrador. És
imprescindible portar a terme tot un seguit de tasques que mantindran el lloc web
operatiu i actualitzat.
En certs moments serà necessari afegir una nova funcionalitat, que els usuaris
demanin o que l’administrador consideri interessant, a vegades caldrà generar un
informe per veure quins són els usuaris més actius d’un curs, quines funcionalitats
usen més o quins són els darrers accessos registrats.
Els diferents elements que l’administrador pot gestionar respecte al portal Moodle
es veuen a la figura 3.1.
• Adaptative Quiz: permet crear tests on les preguntes s’extreuen d’un banc
de preguntes etiquetades amb un grau de dificultat. Es crea un itinerari de
preguntes organitzades per dificultat segons l’estudiant hagi encertat o fallat
cada pregunta. La seqüència de preguntes s’adapta millor a la capacitat de
l’estudiant.
• Checklist: mòdul d’activitat que permet crear una llista de tasques per al
seguiment dels estudiants.
• Live-School: mòdul de bloc que permet accedir a serveis en línia que pro-
porciona Live-School: chats d’àudio, compartició de documents, calendari
interactiu, pissarra compartida i altres.
• Wiris: mòdul de filtre que permet utilitzar aquest editor per crear expressi-
ons matemàtiques com ara fórmules i equacions.
• Grid Format: mòdul de format de curs que permet presentar els cursos
ocultant els noms dels temes i creant una graella amb les icones per accedir
als diferents temes.
L’administrador pot gestionar els mòduls des de l’ítem Administració del lloc/Con-
nectors, del bloc de Configuració (figura 3.2).
Aplicacions Web 52 Portals web d'aprenentatge
Dins de la gestió dels diferents connectors es mostra una llista on es pot veure el
nombre de cursos que fan servir el connector, la versió i si està actiu o no. A més,
es disposa d’accions per suprimir els connectors i que no apareguin a la llista, i
per configurar-ne els paràmetres individuals.
Des del web del Moodle es poden veure i baixar les noves versions dels mòduls
disponibles; tots són gratuïts i en molts casos els desenvolupen terceres persones
alienes a l’equip de desenvolupament del portal però que decideixen compartir
el seus mòduls i utilitats amb la comunitat. Per a això, accediu a descàrregues i
seleccioneu ”https://moodle.org/plugins/” (figura 3.4).
Per afegir un nou connector, cal comprovar que és compatible amb la versió
del Moodle que teniu instal·lada, i després llegir atentament la documentació
d’instal·lació.
Per conèixer la versió instal·lada del portal, cal anar a Administració del lloc/Ser-
vidor/Entorn del bloc de Configuració (figura 3.5).
Aplicacions Web 54 Portals web d'aprenentatge
• /directorymoodle/theme/ - temes
• /directorymoodle/blocks/ - blocs
Actualitzar tot el portal per poder gaudir de les prestacions de les noves versions
de Moodle és una tasca que en algun moment caldrà fer, i és indispensable si es
vol mantenir un portal actualitzat i dinàmic. Tot i això, aquesta actuació no està
exempta de risc; es pot dir que és crítica, i no s’ha de fer sense prendre precaucions.
A continuació es detallen els passos que cal seguir per actualitzar el portal:
• Cal moure el directori moodle a una altra ubicació, per exemple mood-
le.backup. Observeu que no s’esborra el contingut, només es canvia de lloc
per poder recuperar-lo si hi ha algun problema.
1 mv moodle moodle.backup
2 tar xvzf moodle−2.8.tgz
3 cp moodle.backup/config.php moodle
4 cp −pr moodle.backup/theme/mitema moodle/theme/mitema
5 cp −pr moodle.backup/mod/mimod moodle/mod/mimod
Els cursos disposen d’una eina de còpia de seguretat que permet als administradors
o professors empaquetar la informació del curs en un fitxer comprimit extensió
MBZ per distingir-los de l’extensió ZIP). D’aquesta manera poden desar les dades
amb la periodicitat que els convingui o exportar el curs a un altre lloc Moodle.
Aplicacions Web 59 Portals web d'aprenentatge
La informació que es pot incloure en una còpia de seguretat d’un curs és:
l’estructura completa o parcial (activitats i recursos), les dades d’usuari
associades a les activitats, els usuaris del curs i els seus rols, els registres
d’activitat, els fitxers d’usuari i del curs, els esdeveniments, els blocs i les
qualificacions (figura 3.10).
L’opció per fer còpies de
seguretat d’un curs està
disponible a l’ítem
Figur a 3. 10. Còpies de seguretat Administració del
curs/Còpia de seguretat del
bloc de Configuració.
L’administrador pot planificar còpies de seguretat de tots els cursos des de l’ítem
Administració del lloc/Cursos/Còpies, del bloc de Configuració. Aquí hi ha
disponibles tres blocs de paràmetres per configurar:
Per veure l’informe de les còpies realitzades podeu anar a Administració del
lloc/Informes/Còpies del bloc de Configuració.
Aplicacions Web 61 Portals web d'aprenentatge
A la figura figura 3.12 veieu una imatge parcial dels paràmetres disponibles per a
l’administrador per activar la planificació de les còpies i establir-ne la periodicitat.
Les eines de còpies de seguretat de cursos, tant si les fa un professor del seu curs,
com si les programa automàticament l’administrador per a tots els cursos alhora,
generen un fitxer en format comprimit (MBZ). El fitxer amb la còpia té un nom
que inclou el nom del curs i la data i hora en què s’ha creat.
Per restaurar un fitxer de còpia de seguretat generat pel Moodle només cal pujar-
lo als fitxers del curs en què es vol restaurar, i automàticament es mostra l’acció
corresponent (figura 3.13). Els professors poden restaurar cursos només amb la
informació de la còpia o afegint aquesta informació al contingut del curs; els
administradors disposen de més opcions, com per exemple crear un nou curs a
partir de la còpia.
Aplicacions Web 62 Portals web d'aprenentatge
Encara que els professors facin còpies de seguretat dels seus cursos, cal tenir en
compte que aquestes només contenen la informació relacionada amb els cursos
però no del lloc. Per tant és molt recomanable realitzar periòdicament còpies de
seguretat i comprovar que aquestes poden ser restaurades correctament. És l’únic
camí per evitar la pèrdua d’informació davant d’incidències ocasionades en els
sistemes, bé per errades humanes com ara fallides dels dispositius electrònics o
bé per desastres naturals, i així garantir la integritat dels nostres sistemes.
Per fer les còpies dels directoris moodle i moodledata podeu fer servir les
diferents eines oferides pel sistema, concretament qualsevol dels següents pro-
grames que permeten la transferència de fitxers: FTP, WinSP, wget, rsync i
altres. A més podeu utilitzar qualsevol eina per compactar els fitxers en un
paquet: TAR, ZIP, 7z, XZ, BZIP2, GZIP i WIM entre d’altres. Al següent en-
llaç https://docs.moodle.org/29/en/Tools_for_backing_up_server_files podeu tro-
bar més informació sobre realitzar còpies de servidors de fitxers. Al phpMyAdmin cal
seleccionar l’opció Exportar
per fer una còpia de
La manera de fer les còpies de seguretat de la base de dades dependrà del sistema seguretat de la base de
dades moodle i Importar
gestor que es faci servir; cadascun té les seves eines específiques. Per exemple, el per restaurar una còpia ja
realitzada. Es poden
MySQL disposa de la instrucció mysqldump per bolcar el contingut de la base de seleccionar diferents
formats de sortida i decidir
dades, que s’executa en terminal; per tant, es pot afegir a un arxiu d’instruccions. diferents opcions del fitxer
de la còpia.
També es disposa de http://www.mysqldumper.net/. També des de la interfície
d’administració web http://www.phpmyadmin.net/home_page/index.php es po-
den exportar les dades a un fitxer en diferents formats (figura 3.14).
Aplicacions Web 64 Portals web d'aprenentatge
F igu r a 3. 1 4 . Part del menú d’exportació d’una base de dades des de phpMyAdmin
Tenint en compte que a la plataforma Moodle els usuaris es poden donar d’alta
per si mateixos i a més es poden inscriure als cursos o bé aquesta tasca pot ser
realitzada pels mateixos professors, la gestió d’usuaris per part de l’administrador
queda més reduïda. Algunes de les tasques són (figura 3.15):
• Fer gestions massives amb els usuaris: confirmació d’altes per correu
electrònic que els usuaris no hagin confirmat, forçar els usuaris a canviar
contrasenyes, generar llistat d’usuaris de diferents formats.
• Assignar valors per defecte als perfils d’usuari i crear nous camps als perfils.
Cada usuari del sistema té el que s’anomena un perfil, que consisteix en una sèrie
de dades personals, algunes de les quals són obligatòries, que són: nom d’usuari,
contrasenya, nom i cognoms, adreça de correu electrònic, població i país.
Tot i que les dades del perfil en general són suficients per a la majoria de situacions,
es pot ampliar afegint-hi nous blocs de camps; penseu, per exemple, en un
portal d’aprenentatge orientat a cursos de formació ocupacional, en què podria
ser interessant conèixer el nivell d’estudis dels usuaris o les seves perspectives
professionals.
Només l’administrador pot veure la llista dels usuaris del sistema, editar-los,
esborrar-los o fer cerques avançades. També pot afegir nous usuaris individual-
ment o massivament a partir d’un fitxer en format CSV o bé gestionant les cohorts.
Les cohorts són grups d’usuaris que permeten entre altres accions la matriculació
massiva d’usuaris als cursos. Aquestes poden assignar-se a les categories de
cursos o bé a tot el sistema. Es poden configurar com a visibles per tal que els
professors les tinguin disponibles per als seus cursos. A més Moodle incorpora la
càrrega massiva d’usuaris a les cohorts a través de fitxers CSV. La gestió d’usuaris es
realitza des de l’ítem
Administració del
L’administrador pot gestionar les cohorts des de l’ítem Administració del lloc/U- lloc/Usuaris/Comptes, del
bloc de Configuració.
suaris/Comptes/Cohorts, del bloc de Configuració (figura 3.16).
El format CSV consisteix a
representar les dades en
F ig ur a 3. 16. Gestió de les cohorts una taula, en la qual cada
fila representa una element
amb els atributs o valors
separats per una coma.
Aplicacions Web 66 Portals web d'aprenentatge
Altres tasques que pot realitzar l’administrador respecte a la gestió dels permisos
són les següents:
• Gestionar els rols: redefinir rols, afegir nous rols i altres operacions.
La feina diària amb un sistema informàtic complex com els portals web, on
accedeixen una gran quantitat d’usuaris diferents amb necessitats particulars i
on els continguts es generen de manera autònoma amb una supervisió mínima,
requereix eines que recullin, sintetitzin i mostrin què està succeint.
Per facilitar el seguiment i control del portal i dels cursos, el sistema proporciona
eines de tractament de dades que gestionen la informació i la presenten de manera
entenedora: els informes i els registres d’activitat.
Part d’aquestes eines estan disponibles també per als professors per obtenir
Per facilitar la comprensió informació sobre la participació dels estudiants als seus cursos.
de la documentació en
anglès, tingueu en compte
que informe i registre fan
referència a les paraules
angleses report i log,
respectivament
• Comentaris: per gestionar els comentaris afegits pels usuaris del lloc.
• Netejador de brossa: per eliminar usuaris no previstos. Eina molt útil quan
no s’utilitza entrada CAPTCHA a les altes d’usuari.
Són informes als qual s’han aplicat uns filtres que ens mostren informació de
determinades activitats o determinats estudiants (figura 3.18).
L’administrador té accés als registres dels diferents cursos i a més disposa d’un
registre específic de tot el portal; s’hi pot consultar, per exemple, els errors que es
produeixen, com ara intents d’accés erronis.
Per als docents és interessant poder obtenir informació sobre la participació dels
estudiants als seu cursos. Aquests poden ser:
Per activar la compleció • Compleció d’activitat: genera un llistat de tots els participants visualitzant
d’activitat cal accedir a
l’ítem Administració del si han completat les activitats. Aquest opció està disponible si està activat
curs/Edita paràmetres, del
bloc de Configuració i anar el mòdul de compleció d’activitat en el curs. (figura 3.19)
a l’apartat Seguiment de
Compleció.
Aplicacions Web 69 Portals web d'aprenentatge
Els informes de participació (figura 3.20) als cursos permeten d’una manera
senzilla monitoritzar la participació en els cursos. Habitualment els generem per
visualitzar la participació als fòrums tant a nivell de lectura com d’escriptura i les
activitats realitzades. Podem escollir els següents ítems:
• Mostra accions: per indicar si a l’informe han de sortir les accions realitza-
des.
El professor pot enviar missatges selectivament per comunicar-se amb els estudi-
ants que no han lliurat determinada tasca.
Aplicacions Web 70 Portals web d'aprenentatge