Web-Slides: Präsentationstool mit PHP und JavaScript

Published by Philipp Schuster on

Web-Slides Vorschaubild

Ich habe Lust gehabt mal wieder was auf die Beine zu stellen und ein kleines Projekt mit PHP, JavaScript, MySQL, HTML und CSS realisiert. Dabei geht es um eine Webseite, die mir Inhalte im 16:9-Format darstellt, um Zuschauern eine Breitbild-Präsentation anzeigen zu können. Das besondere ist, dass beliebig viele Leute auf die Webseite gehen, doch alle exakt das Gleiche zu sehen bekommen. Welche Folie der Präsentation angezeigt wird, stelle ich über eine Administrationsoberfläche ein.

Die Präsentation skaliert auf allen Bildschirmen korrekt im 16:9-Format und ist somit auch mobilfreundlich. Zum technischen Aspekt: Im Hintergrund steht eine MySQL-Datenbank, in der die aktuelle Aktion (weiter schalten, zur Seite x springen, pausieren, …) zusammen mit einem Zeitstempel der letzten Änderung hinterlegt ist. Die Browser der Zuschauer rufen in regelmäßigen 500ms-Abständen eine JSON-Datei mit den entsprechenden Informationen vom Server ab und lesen aus dieser dann ab, was sie tun sollen. Das Projekt habe ich auf GitHub bereitgestellt.

Ein denkbares Szenario ist folgendes: Ich möchte mehreren Menschen eine Präsentation zeigen, doch der Beamer hat eine schlechte Qualität. Dann gebe ich einfach jedem den Link zur Webseite, durch die Folien durchschalten kann aber nur ich (von zum Beispiel meinem Smartphone). Ja genau, das ist die Idee und das klappt. Die Aktualisierung dauert nicht mal eine Sekunde. Also ich finde das voll cool 😀 Allerdings ist die derzeitige Lösung, dass die Browser den Server mit GET-Anfragen überhäufen nicht ganz so ideal. Ich schau mal wenn ich Zeit und Lust habe, wie ich die Änderungen an den Client vom Server aus pushen kann.

Ein Beispielvideo gibt es bei YouTube.

Web-Slides Screenshot

Links: Präsentation, Rechts: Steuerung (getrennte Fenster)


Philipp Schuster

Hi, I'm Philipp and interested in Computer Science. I especially like low level development, making ugly things nice, and de-mystify "low level magic".

0 Comments

Leave a Reply

Your email address will not be published.