====== Freifach Programmieren für Fortgeschrittene ====== Der [[lehrkraefte:blc:informatik:ffprg1-2023:start|Einsteiger-Kurs]] wird vorausgesetzt. Wir machen weiter mit JavaScript, beschäftigen uns aber auch mit der Server-Seite. Es gibt auf dem ofi-Server neu ein Programm ''www-data-dir-maker''. Das legt ein Verzeichnis ''www-data-dir'' an (wenn es noch existiert) und setzt dann die Berechtigungen so, dass Sie als Benutzer und der Webserver auf Dateien in diesem Verzeichnis lesend und schreibend zugreifen können. Das funktoniert natürlich auch, damit Sie Berechtigungen auf Dateien erlangen, die der Webserver angelegt hat. * [[.:localstorage|localStorage: Dinge lokal im Browser speichern.]]. **Neu** [[lehrkraefte:blc:informatik:ffprg2-2023:localstorage#todo-liste|Aufgabe zu einer Todo-Liste]] * [[.:localdownloadupload|Daten lokal in eine Seite laden, bzw. davon speichern.]] * [[.:serverfileio|Daten auf dem Server in eine Datei speichern mit PHP.]] * [[.:sqlite|Datenbanken mit sqlite]] * [[.:authentifizierung|Benutzerauthentifizierung]] * [[.:pwa|Progressive Web Apps]] * [[.:backup|Backup aller Dateien auf dem OFI-Server]] * [[.:celltower|Cell tower clone]] * [[:.jumpin|JumpIN' Knobelspiel]] * [[:.einmaleins|Einmaleins Rechentrainer als Beispiel für eine Progressive Web App]] * [[lehrkraefte:blc:informatik:efi-2023:git:primes-example|Kleine git-Übung]] ==== Mögliche Programmpunkte === * git * localStorage (Daten lokal im Browser speichern). * Lokal generierte Daten als Download zum Speichern anbieten. * Lokal gespeicherte Daten lokal in eine Seite laden. * canvas: Pixelgrafik im Browser * Daten auf dem Webserver speichern und wieder ausgeben * Via php und speichern in einer Datei * Via php in eine sqlite Datenbank * Clientseitig Daten anfordern, bzw. übermitteln (XMLHttpRequest), Serverantwort via php. * Netzwerkprogrammierung * WebSockets * WebSocket Server in NodeJS * Einfacher Datenserver in NodeJS * Notifications ====== Ideen ====== * LLM mit Schulklasse illustrieren. * Eine Art Kahoot programmieren.