Activitate studenti (ultima actualizare: 16.05.2012)
Tehnologii Web
Activitate studenti (ultima actualizare: 16.05.2012)
Activitati practice:
1. Folosind Simple XML, copiati stirile dintr-un feed RSS in alt feed RSS si afisati continutul noului feed creat. SOLUTIE
2. Folosind SAX, procesati un feed RSS si afisati lista stirilor (implementati un mecanism care sa afiseze numai titlul stirilor).
Activitati practice:
1. Folosind DOM, construiti un document XML precum contacts2.xml.
2. Folosind DOM, agregati stirile de la doua feed-uri RSS.
Resurse utile: W3C DOM Technical Reports | MDN DOM Levels | PHP DOM Manual | PHP5 DOM examples | DOM JavaScript Tutorial
Activitati practice:
Fie urmatoarele constrangeri:
- elementul "contacts" trebuie sa contina atributul obligatoriu "updated"
- elementul "contacts" trebuie sa contina un singur element copil "details"
- elementul "contacts" trebuie sa contina minim un element copil "contact"
- elementul "contact" trebuie sa contina atributul optional "category"
- atributul "category" sa fie restrictionat la valorile "family", "business" sau "friends"
- elementul "contact" trebuie sa contina elementele "name" si "notes"
- elementul "name" sa poata contine maxim 50 de caractere
- elementul "notes" trebuie sa cotina pe langa textul propriu-zis si elementele "number" si "email"
1. Pentru fisierul contacts.xml definiti un DTD ce respecta constrangerile de mai sus.
2. Pentru acelasi fisier definiti o schema XML ce respecta constrangerile de mai sus.
Activitati practice:
1. Pe baza fisierului sales.xml, scrieti o expresie XPath 2.0 care sa genereze o lista cu agentii de vanzari si produsele pe care le-a vandut fiecare.
2. Pe baza aceluiasi fisier XML, prin intermediul XSLT 2.0 generati o pagina HTML care sa contina lista cu produsele vandute grupate in functie de agentul de vanzari; in dreptul fiecarui produs calculati si totalul valoric pe baza urmatorului criteriu: daca s-a vandut mai mult de o bucata, sa se aplice un discount de 10% (acest total va fi calculat de o functie proprie definita). De asemenea, calculati totalul valoric al produselor vandute de fiecare agent de vanzari.
Lucru individual
Activitati practice:
1. Realizati transformarile XSLT la nivel de server pentru unul din exemplele din aceasta ARHIVA folosind ACEST script.
2. Folosind ACEST fisier XML, prin intermediul XSLT generati o pagina HTML care sa contina lista proiectelor ordonate invers alfabetic (daca pentru un anumit proiect nu exista un element, sa nu fie afisat pe pagina). Aceasta pagina HTML trebuie sa aiba atasata o foaie de stiluri CSS.
3. Folosind ACEST fisier XML, prin intermediul XSLT generati o pagina HTML care sa afiseze doar proiectele care au link-uri catre minim 2 resurse suplimentare si la care pot lucra minim 3 studenti. Aceasta pagina HTML trebuie sa aiba atasata o foaie de stiluri CSS.
Activitati practice:
1. Modelarea datelor prin XML.
2. (BONUS) Creati un feed RSS (datele le introduceti manual).
3. (BONUS) Creati un feed RSS (datele le extrageti dintr-o baza de date relationala).
Resurse utile: XML Design: Elements vs. Attributes (1) | XML Design: Elements vs. Attributes (2) (sectiunea 7.2.5)
Activitati practice:
1. Simulati functionalitatea de inserare a comentariilor pe o pagina de tip blog. Pentru a se putea insera un comentariu, utilizatorul trebuie sa fie autentificat (utilizati codul scris in cadrul laboratorului 4 sau cel de AICI). Comentariile vor aparea pe pagina in ordinea descrescatoare a momentului crearii (ultimul comentariu va fi primul pe pagina). In cazul in care autentificarea nu s-a efectuat cu succes, utilizatorul nu are dreptul de a trimite comentarii. Obs.: pagina trebuie sa respecte standardul HTML5.
Activitati practice:
1. Realizati un modul de autentificare; formularul de login (stilizat prin CSS) va trebui sa verifice datele introduse cu cele existente intr-o baza de date relationala (informatiile se pot introduce in baza de date manual folosind comenzi SQL). In cazul unei autentificari reusite, utilizatorului sa i se furnizeze o pagina de intampinare; in caz contrar, sa fie afisat un mesaj corespunzator.
2. Extindeti modulul de autentificare astfel incat sa oferiti utilizatorului optiunea (check box) de a salva datele de autentificare astfel incat acestea sa fie transmise automat serverului la accesarea ulterioara a paginii.
3. Pentru modulul de autentificare, implementati o functionalitate prin care parola sa fie stocata si transferata prin retea in mod sigur.
Resurse utile: PHP 101: PHP For the Absolute Beginner | BuitWith
Activitati practice:
1. Rulati urmatoarele exemple de script-uri CGI.
2. Creati o pagina web care sa afiseze data ultimei modificari a ei in doua moduri: utilizand o directiva SSI si prin intermediul unui script CGI.
3. Creati o pagina web care afiseaza IP-ul clientului care acceseaza pagina (in 2 moduri: utilizand o directiva SSI si prin intermediul unui script CGI) si care ofera urmatoarea functionalitate: permite introducerea unui cont de utilizator de pe fenrir si afiseaza detalii despre ultimile 5 autentificari ale acestuia pe server.
Activitati practice:
1. Creati un layout HTML utilizand minim 5 elemente din specificatia HTML5 si minim 20 proprietati CSS.
2. Pentru layout-ul creat dezvoltati inca o foaie de stiluri ce contine minim 15 proprietati CSS3 si implementati posibilitatea de a schimba stilul utilizat direct din pagina.
Resurse utile: Dave Raggett's intro to CSS | W3C CSS Articles and Tutorials | CSS Zen Garden | CSS3 Please | 100+ Massive CSS Toolbox
Resurse utile: HTML - MDN | HTML5 differences from HTML4 | Activating Browser Modes with Doctype | DIVE INTO HTML5 | AlteredQualia | HTML, CSS, and other Web design delights