Webserver & Website
Slides: Slides EFIF Websites
Übersicht
Auftrag in Kürze
Erstelle mit HTML, CSS und JavaScript eine eigene Website. Setze einen Raspberry Pi als Server auf und hoste auf diesem deine Website.
Nur TALITS: Die Website muss ein Backend (z.B. Flask) beinhalten. Für Nicht-TALITs ist dies rein optional (und nur Empfohlen für Personen mit viel Vorwissen in diesem Bereich).
Diese wird abgegeben und mittels mündlicher Prüfung benotet. Sämtlicher Code, den die Website beinhaltet, muss man zu 100% verstanden haben (wird an mündl. Prüfung überprüft).
Hauptlernziele
- Verstehen, was ein (Web)Server ist …
- … und wie man mit einem solchen eine Website betreiben kann.
- Mit Linux auf einem Raspberry Pi arbeiten.
- Mit der Kommandozeile arbeiten.
- Die Programmiersprache JavaScript lernen.
- Eine Website mit HTML, CSS und JavaScript erstellen.
- TALITs: Backend programmieren
- Mündliche Prüfung absolvieren.
Benotung/Bewertung
Gesamtprojekt: 1 Note
davon je 50%:
- Abgegebene Website
- mündliche Prüfung
Kriterien Website
- Funktionalität
- Schwierigkeitsgrad (abhängig von Anz. Lektionen, die zur Verfügung stehen, z.B. falls 4M weniger Zeit als 3M)
- Code
- Design & Layout
- (Inhalt/Sprache)
Bonuspunkte:
- Mobile Layout
mündliche Prüfung
Zeit: Ca. 15' pro Person
Themen:
- Grundlagen Webseite (HTML, CSS, JavaScript, Backend (TALITs))
- Fragen zu deiner Seite
- Grundlagen Netzwerke (Big Picture, keine Details)
Abgabebedingungen
- Deadline: (folgt noch)
- Schritte Abgabe:
- 1. (Falls noch nicht gemacht.) Erstelle GitHub-Repo für Projekt und lade alle relevanten Dateien dort hoch.
- 2. Kontrolliere auf GitHub, dass auch alles korrekt hochgeladen wird. Typischer Fehler: Vergessen, File(s) zu adden.
- 3. Teile Repo mit beiden Lehrpersonen: anschae und mspeissegger
- 4. Sende Teams-Nachricht in 3er-Chat (du und beide Lehrpersonen)
- Verspätete Abgabe: -0.25 Note pro angebrochene 24h Verspätung, fehlende Files zählen auch als verspätete Abgabe
Nützliche Links
- Netzwerke & Internet:
- GF IF: Netzwerke & Internet (siehe Slides)
- HTML & CSS:
- GF IF: Websites
- JavaScript:
Lektionen & Termine
Plan FS 2025
- Lektion 1: 4.3.25
- Ziele:
- Raspi selbst aufsetzen
- Linux kennenlernen
- Raspi mit Terminalbefehlen steuern
- Raspberry Pi aufsetzen (Betriebssystem mit GUI)
- Programme installieren (z.B. LibreOffice)
- Input Terminalbefehle
- Auftrag zu Terminalbefehlen
- Lektion 2: 11.3.25
- Raspi wieder platt machen und neu aufsetzen mit Betriebssystem ohne GUI
- Input DHCP
- Feste IP pro Raspi festlegen
- SSH Verbindung auf Raspberry Pi einrichten
- Raspberry Pi per Kommandozeile steuern
- Lektion 3: 18.3.25
- Erinnerung: HTML & CSS
- Lektion 4: 25.3.25
- Slides JavaScript
- Auftrag I: Schnaps-Bier-Sirup
- Auftrag II: Auftrag Dies und das (inkl. Tipps)
- Ideen für Projekt finden & mit LP besprechen
- Lektion 5: 1.4.25
- Projektstart
Lektion | 3M | 4M |
---|---|---|
Di. 29.04.2025 | an Website arbeiten | an Website arbeiten |
Di. 06.05.2025 | Arduino Boxen zurück, sortieren | |
an Website arbeiten | ||
Vorstellung 8-Bit-CPU | ||
an Website arbeiten | Abgabe 4M TALITs: Fr. 09.05.2025 @23.59 | |
Di. 13.05.2025 | an Website arbeiten | mündl. Prüfung 4M TALITs |
Abgabe 4M RegEFs: Fr. 16.05.2025 @23.59 | ||
Di. 20.05.2025 | an Website arbeiten | mündl. Prüfung 4M RegEFs |
Notenabgabe 4M: Mo. 26.05.2025 | ||
Di. 27.05.2025 | TBD (nicht an Website arbeiten) | TBD |
PFINGSFERIEN | ||
Abgabe 3M: Di. 03.06.2025 @23.59 | ||
Di. 10.06.2025 | mündl. Prüfungen | abwesend |
Di. 17.06.2025 | mündl. Prüfungen falls nötig / TBD | abwesend |
Notenabgabe 3M: Fr. 20.06.2025 | abwesend | |
Di. 24.06.2025 | Unterrichtsfrei am NM | abwesend |
Di. 01.07.2025 | Semesterschlusswoche | abwesend |
Auftrag 4M RegEF 20. Mai 2025
Teil I: Arduino Boxen kontrollieren
Gehe die Komponentenlisten beider Boxen sorgfälltig durch und stelle sicher, dass die richtige Anzahl der richtigen Komponenten vorhanden ist. Falls etwas fehlt (z.B. LED), rüste die Box wenn möglich nach.
- Beschrifte deine Komponentenliste mit deinem Name und Nummer.
- Fülle die Spalten der Komponentenlisten entsprechend aus: Gib von jeder Komponente an, wie viele Elemente vorhanden sind resp. fehlen.
- Unterzeichne das Dokument am Schluss.
Nummer | Name | Klasse |
---|---|---|
1 | Bajramoska Rejda | 4Mdz |
2 | Capizzi Mirea | 3Ma |
3 | Copellini William | 3Mc |
4 | Keskin Zeynep | 4Ma |
5 | Oberthaler Rian | 4Ma |
6 | Osti Luca | 4Ma |
7 | Skenderi Hamza | 4Ma |
8 | Subramaniam Darvin | 3Mdz |
9 | Testolin Davide | 4Mc |
10 | Wirth Aaron | 4Ma |
11 | Zendeli Luan-Nebi | 4Mb |
Teil II: Server für Website
Hoste deine Website auf deinem Raspi. Die Seite soll über die (lokale) IP-Adresse deines Arduinos zugänglich sein, wenn man sich im gleichen WLAN befindet.
Bei Problemen und Unklarheiten nicht verzagen, einfach Andrii, Dimitri, Jona oder Laurin fragen!
Teil III: Homeserver
Richte auf deinem Raspi einen weiteren Serverdienst ein, der auf einem Homeserver nützlich sein könnte. Wähle selbst einen solchen aus, hier einige Ideen:
- Media-Server (Plex, Kodi,…)
- File-Share/File-Sync (Samba, Nextcloud, Syncthing, …)
- Wiki (DokuWiki,…)
- VPN
- …
Bei Problemen und Unklarheiten nicht verzagen, einfach Andrii, Dimitri, Jona oder Laurin fragen!
Auftrag 4M TALITs 20. Mai 2025
- Adventure Game Online stellen
- weiter am Auftrag von letzter Woche (Server, DNS)
Auftrag 4M TALITs 13.05.2025
In Kürze: Zusammen einen Raspi als Server mit DNS-Server und diversen weitere Diensten aufsetzen und am Schluss kurz präsentieren. Der DNS-Server wird dann später benötigt für Websites alles EF-SuS.
Im Detail:
- Plan festlegen: Recherchiert kurz und entscheidet euch, welche Dienste ihr auf eurem Raspi haben wollt und wer welche aufsetzt. Hier eine mögliche Auswahl:
- DNS-Server (Dieser muss umgesetzt werden!) mit Beispielzonen ksr.ch und google.com.
- Media-Server (Plex, Kodi,…)
- File-Share/File-Sync (Samba, Nextcloud, Syncthing, …)
- Wiki (DokuWiki,…)
- VPN
- …
- Raspi aufsetzen falls nötig, SSH-Zugang für alle.
- Jedes Gruppenmitglied richtet mind. einen der gewählten Dienste ein. Falls Zeit, weitere installieren.
- Präsentation: Jedes Gruppenmitglied präsentiert der Klasse kurz einen Dienst, ca. 3' pro Person.
Termine:
- Abgabe 4M:
- Fr 9.5.25 4M TALITs
- Fr 16.5.25 4M RegEFs
- Mündl. Prüfungen 4M:
- Di 13.5.25 4M TALITs
- Di 20.5.25 4M RefEFs
- Notenabgabe 4M Mo 26.5.25
- Notenabgabe 3M Fr 20.6.25