Informacje dotyczące przedmiotu.
| Zawartość strony | |
| Laboratorium | |
| Projekt | |
| Zaliczenie | |
| Terminy | |
| Serwer Pascal | |
Ocena końcowa z przedmiotu będzie wystawiona w oparciu o liczbę punktów, które Państwo zgromadzą w czasie zajęć laboratoryjnych oraz za zrealizowany projekt. Poniżej przedstawione zostały dokładne reguły przydzielania punktów za wykonanie określonych zadań. Podane liczby są wartościami maksymalnymi. W zależności od staranności i poprawności wykonanego zadania liczba punktów zawierać się będzie w przedziale od 0 do wartości maksymalnej. Uzyskane punkty w sposób jednoznaczny określają oceny cząstkowe oraz ocenę końcową. Warunkiem koniecznym do uzyskania zaliczenia końcowego jest uzyskanie oceny pozytywnej zarówno z części laboratoryjnej i projektowej. Ocena końcowa jest liczona z sumy punktów uzyskanych w ramach laboratorium i projektu.
Aktywność na zajęciach laboratoryjnych
W trakcie zajęć laboratoryjnych oceniana będzie Państwa aktywność na zajęciach oraz realizacja samodzielnego projektu w trakcie laboratorium.
Za obecność na laboratorium otrzymają Państwo jeden punkt (maksymalnie - 15 punktów) oraz dodatkowe punkty za poprawną realizację zadań. Za realizację zadania na laboratorium drugim będzie to 1 punkt a od laboratorium trzeciego do trzynastego - do 3 punktów. Za realizację projektu na laboratorium czternastym otrzymają Państwo do 10 punktów.
Maksymalna liczba punktów za aktywność w trakcie zajęć laboratoryjnych - 15 (za obecność) + 35 (za realizację zadań na zajęciach) + 10 (za realizację projektu) = maksymalnie 60 punktów.
W ramach zajęć laboratoryjnych będą oceniane tylko rozwiązania zrealizowane na serwerze Pascal (serwisy na serwerze WWW lub odpowiednie aplikacje) w odpowiedniej strukturze plików.
Realizacja projektu w ramach zajęć projektowych
W ramach przedmiotu należy wykonać jeden projekt poza zajęciami na laboratorium. Do realizacji tej części zadań mamy do zagospodarowania 10 godzin zajęć projektowych. Dwa ostatnie zajęcia przeznaczone są na prezentacje zrealizowanych projektów, trzy terminy wcześniejsze na konsultacje związane z realizowanym projektem.
Wykonany przez Państwa projekt powinien być tematycznie spójny i graficznie poprawny. Strony WWW powinny się też poprawnie wyświetlać w przeglądarkach: Firefox, Chrome lub Edge oraz przechodzić walidację W3C - HTML5. Standard kodowania stron to UTF-8. Oceniana będzie zarówno zawartość merytoryczna jak i elegancja wykonania.
Projekt należy uruchomić na serwerze "Pascal", dodatkowym serwerze, który zostanie udostępniony do realizacji projektów lub w dowolnej chmurze obliczeniowej. Ostateczny termin oddania projektu jest jednakowy dla wszystkich grup studenckich.
Punktacja za realizację projektu jest następująca - poprawnie opracowany projekt do 35 punktów, terminowe oddanie projektu ( do dnia 29.01.2026, 23:59 ) - 5 punktów. Umieszczenie projektu w dowolnej chmurze obliczeniowej skutkuje dodatkowymi 5 punktami (możliwość opcjonalna).
Poniżej przedstawiono podstawowe założenia dotyczące realizowanego projektu.
Projekt. Serwis WWW w technologii klient - serwer
Temat i funkcjonalność projektu uzgodniona z prowadzącym zajęcia.
Wymagania technologiczne dotyczące realizowanego projektu:
- Zawartość merytoryczna projektu
- Zgodna z uzgodnieniami funkcjonalnymi ustalonymi z osobą prowadzącą zajęcia.
- Zawartość funkcjonalna projektu
- W ramach uruchomianego projektu należy zrealizować część serwerową z dostępem do wybranej bazy danych oraz część klienta.
- Możliwe rozwiązania technologiczne
-
- Aplikacja MPA z wykorzystaniem szablonów i funkcji fetch().
- Aplikacja typu SPA z wykorzystaniem stylu REST.
- Aplikacja typu SPA z wykorzystaniem biblioteki GraphQL.
- Bazy danych
- W ramach projektu można wykorzystać dowolną relacyjną bazę danych, bazę klucz-wartość lub bazę dokumentową.
- Część serwerowa serwisu
- W ramach projektu można wykorzystać technologie, które wykorzystują następujące języki programowania: python, php czy JavaScript (TypeScript).
- Cześć klienta serwisu
- Część klienta można zrealizować z wykorzystaniem szablonów w rozwiązaniu MPA (wzorzec MVC), skryptów HTML5 z odpowiednimi skryptami w JavaScript lub biblioteki do realizacji aplikacji SPA (np. Vue czy React).
- Uwierzytelnie i autoryzacja.
- W ramach projektu należy zrealizować uwierzytelnienie i minimum dwie role autoryzowane. Aplikacja w zależności od wybranej technologii realizuje funkcjonalność stanu lub sesji poprzez zmienne sesyjne lub tokeny.
- Walidacja projektu
- Strony WWW generowane po stronie klienta poprawnie walidują się na stronie W3C zgodnie z standardem HTML5. Jeżeli projekt jest zrealizowany pod konkretną przeglądarkę to należy wtedy podać jej nazwę.
Ocena za projekt (maximum 40 pkt, możliwe 45 przy spełnieniu warunku poniżej [*]):
- poprawnie zrealizowany projekt zgodnie z powyższymi uwagami - maksymalnie 35 punktów,
- oddanie projektu w terminie do dnia 29.01.2026, 23:59 - 5 punktów,
- [*] uruchomienie projektu w chmurze obliczeniowej - extra 5 punktów.
Punkty i zaliczenie z przedmiotu
| Lp. | Opis | Liczba punktów |
| 1. | Maksymalna liczba punktów za aktywność na zajęciach | Lab_1 = 50 pkt |
| 2. | Maksymalna liczba punktów za realizację projektu na zajęciach | Lab_2 = 10 pkt |
| 3. | Maksymalna liczba punktów za projekt | Proj = 40 pkt |
Ocena z laboratorium (USOS) (minimum punktów) - dst (30), pdst (37), db (43), pdb (49) i bdb (55).
Ocena z projektu (USOS) (minimum punktów) - dst (20), pdst (24), db (28), pdb (32) i bdb (36).
Ocena końcowa z przedmiotu przy pozytywnych ocenach cząstkowych (laboratorium, projekt)
Maksymalna liczba punktów : 100 pkt.
| 50-59 | dst | 3.0 |
| 60-69 | pdst | 3.5 |
| 70-79 | db | 4.0 |
| 80-89 | pdb | 4.5 |
| 90-100 | bdb | 5.0 |
Terminy wykładów, ćwiczeń i oddania projektów
| Lp. | Wykład / projekt | Ćwiczenia | Projekt-termin |
| 1 | Serwis WWW | Wprowadzenie, HTML5 i CSS | |
| 2 | Języki hipertekstowe | HTML5 i CSS | |
| 3 | ECMAScript | XML, CSS | |
| 4 | Asynchroniczność | XSLT | |
| 5 | Wzorzec MVC | WSGI, baza klucz-wartość | |
| 6 | Technologie serwerów | JavaScript | |
| 7 | RESTful i GraphQL | Fetch() | |
| 8 | Sesje, tokeny | Język PHP + RBD | |
| 9 | Bazy danych | Wzorzec MVC - MPA | |
| 10 | Bezpieczeństwo | Baza dokumentowa MongoDB | |
| 11 | Zajęcia projektowe - konsultacje | Serwer node.js | |
| 12 | Zajęcia projektowe - konsultacje | Styl REST (python, node.js) | |
| 13 | Zajęcia projektowe - konsultacje | Styl REST + MongoDB | |
| 14 | Zajęcia projektowe - prezentacja | Realizacja projektu na zajęciach | |
| 15 | Zajęcia projektowe - prezentacja | Prezentacja technologii SPA | 29.01.2026 |
Serwer pascal.ftj.agh.edu.pl (149.156.109.180)
Specjalnie dla potrzeb ćwiczeń z przedmiotu "Techniki internetowe" został uruchomiony serwer z system Linux. Na serwerze zostały zaistalowane następujące technologie internetowe: PHP 8, możliwość realizacji aplikacji w opaciu o WSGI w języku python, wsparcie dla serwera node.js.
Na serwerze "pascal" jest możliwa praca tylko tych studentów, którzy uczestniczą w zajęciach z przedmiotu techniki internetowe i bazy danych I. Nazwy kont i hasła są zgodne z kontami na serwerze "taurus". Katalogi domowe są tworzone indywidualnie na serwerze "pascal".
Serwer 149.156.109.180 dostępny jest tylko w sieci wydziałowej. Dostęp do serwera z sieci zewnętrznej możliwy jest poprzez port ssh (22). Kopiowanie danych na serwer możliwe jest przy wykorzystaniu nastepujących aplikacji: z systemu Windows - np. program WinSCP, natomiast z systemu Linux - scp.
Użytkownicy serwera mają możliwość założenia swoich stron WWW w katalogu public_html. Katalog powinien mieć ustawione nastepujące prawa dostępu drwx---r-x. Strony będą widoczne pod następującym URL'em: http://pascal.fis.agh.edu.pl/~user.
Aplikacje wykorzystujące interfejs CGI umieszczamy w swoich katalogach public_html w katalogu cgi-bin. Katalog i pliki w tym katalogu powinny posiadać następujące uprawnienia rwx--x--x.
Aplikacje wykorzystujące interfejs WSGI (ASGI) umieszczamy w swoich katalogach, uruchamiamy na portach powyżej 1024 i na porcie uzgodnienym z prowadzącym zajęcia.