Welche Programme/Programmiersprachen für diese Aufgaben?

3 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Diese Aufgabe kann durch den Bau einer dynamischen Webseite gelöst werden. Du brauchst einen Webserver sowie eine Programmiersprache mitsamt Template-Engine. Ein paar mögliche Kandidaten wären:

  • Apache HTTP Server / PHP / Mustache (optional)
  • Express (node.js) / JavaScript / EJS
  • Gunicorn / Python mit dem Flask-Framework

Für die PHP-Entwicklung auf dem eigenen Computer könntest du dir das XAMPP-Softwarepaket installieren. Es beinhaltet bereits einen vorkonfigurierten Apache-Server mit PHP-Installation sowie eine MariaDB. Wenn du mit Python arbeiten möchtest, brauchst du in der Entwicklungsphase keinen extra Webserver, da das Flask-Framework bereits einen Entwicklungsserver integriert hat.

Die Anwendung, die die gestellte Logik umsetzt, würdest du mit der jeweiligen Programmiersprache schreiben. Sie kann auf dem jeweiligen Webserver laufen. Die HTML-Vorlage formulierst du als Template. Deine Anwendung holt die konkreten Daten und setzt sie dann in das Template ein.

Sofern du mit einer Datenbank arbeiten möchtest, eignen sich für dein Vorhaben MariaDB, MySQL oder SQLite.

Noch ein paar Tipps zu den einzelnen Punkten:

Erstelle aus diesem Ordner mit Fotos die erste Spalte der Tabelle (oder Datenbank o.ä.)

Am besten werden die Bildpfade nur einmal gesammelt und dann in einer Datenbank oder Datei zwischengespeichert. So braucht die Webseite nicht bei jedem Aufruf den Ordner neu einlesen.

Um ein erneutes Sammeln aller Bildpfade zu erzwingen, könnte man diesen Datenimport als separaten Job implementieren, der sich entweder manuell vom Seitenbetreiber anstoßen lässt oder man führt den Job in bestimmten Zeitintervallen (z.B. als Cronjob) aus.

Erstelle aus diesem gut strukturierten txt-Dokument die zweite Spalte mit Bildunterschriften.

Es wäre praktisch, diesen Datenimport mit den vorherigen Import zu verbinden, sodass alle Daten (Text + Bildpfad) letzten Endes in einer Datenquelle (Datei/Datenbank) stehen.

Wenn du die Daten in einer Datei speichern möchtest, könntest du das einfache CSV-Format zur Trennung der Informationen nutzen:

Bildpfad1,Bildunterschrift1,Link1
Bildpfad2,Bildunterschrift2,Link2
usw. ...

Bei einer Datenbank würde eine Tabelle ausreichen, die drei Spalten kennt (path, caption, targetUrl).

scribbler639 
Fragesteller
 02.04.2023, 19:18

Ich glaub ich bin mit meiner Frage echt in der falschen Kategorie gelandet (s.u.)

Vergesst alles mit Webserven, beziehungsweise meine Bastelei soll über die Entwicklungsphase nie hinausgehen. Wenn ich mit Python eine CSV-Datei und ein paar HTML-Dateien auf meine lokalen Rechner erzeugen kann, ist das genau das, was ich will. Vielen Dank für Deine Tipps!

0

Geht mit jeder Sprache und ist - mit dem nötigen KnowHow - auch nicht sehr schwierig. Mach die Wahl also nicht von deinem Projekt abhängig.

Für Schritt 3 könnte man in JavaScript Strings konkatenieren

Das klingt nämlich nach einem blutigen Anfänger - mehr als nur ein blutiger Anfänger.

Am besten wäre, Du fängst erst einmal mit der "normalen" Softwareentwicklung an und lässt die Webentwicklung links liegen, die ist nicht ganz einfach und kann schnell überfordern.

Heißt: Konsolenanwendung, nach ein paar Monaten Übung Desktopanwendungen und nach ein paar weiteren Monaten Übung Webanwendungen. Oder Du bringst genug Ausdauer und Frustresistenz mit und bist bereit, in den ersten Projekten nur Müll zu produzieren, dann fang mit der Webentwicklung an.

ich weiß z.B. nichtmal, ob JavaScript Dateien speichern kann

Man kann Dateien zum Download anbieten, oder Daten z.B. in Cookies speichern.
Was Du brauchst, ist ein geeignetes Backend auf einem Webserver und eine Datenbank oder Du kannst auf dem Webserver Dateien ablegen (geht z.B. bei Cloud-Systemen nicht ohne Weiteres).

Oder Du verwendest nur JavaScript, aber dann brauchst Du immer noch ein Backend und eine geeignete Backend-Technologie, die dann nur auf JavaScript aufbaut und keiner anderen Sprache.

HTML/CSS ist aber überall gleich, hat nichts mit der verwendeten Backend-Technologie zu tun.

Welche Programme/Programmiersprachen für diese Aufgaben?

Ich würde als Backend ASP.NET Core Blazor verwenden.
Nicht, weil das aus irgendeinem Grund besser ist, als alles andere da draußen auf dem Markt (kann ich nicht beurteilen), sondern weil ich Blazor genial und sehr angenehm zu nutzen finde und weil ich mich im .NET-Umfeld am besten auskenne - und weil man so gut wie gar kein JavaScript braucht, ich finde JavaScript furchtbar und für mehr als ein paar einfache Skripte nicht zu gebrauchen.

scribbler639 
Fragesteller
 02.04.2023, 15:29
Das klingt nämlich nach einem blutigen Anfänger - mehr als nur ein blutiger Anfänger.

Ich bin selbst beim Benutzen von gutefrage.net blutiger Anfänger. Eure Antworten schießen meilenweit über mein Winz-Ding hinaus, mittlerweile frage ich mich, ob ich die Frage in der falchen Kategorie gestellt oder die falschen Tags gesetzt habe. (Kann man da im Nachhinein noch was ändern?)

Ich will a) etwas lernen und b) mir das händische Erstellen des HTML-Codes automatisieren.

Wenn ich am Ende ein paar HTML-Seiten auf meinem lokalen Rechner liegen habe, reicht mir das völlig aus.

Geht mit jeder Sprache und ist - mit dem nötigen KnowHow - auch nicht sehr schwierig. Mach die Wahl also nicht von deinem Projekt abhängig.

Also eigentlich läuft meine Frage darauf hinaus: Welches Know-How muss ich mir als blutiger Anfänger aneignen, um meine kleinen Ziele zu erreichen? Wenn ich rausfinde, wie ich die Serienbrief-Funktion für meine Zwecke einspannen kann, reicht mir das schon aus.

0
Palladin007  02.04.2023, 18:00
@scribbler639
Ich will a) etwas lernen und b) mir das händische Erstellen des HTML-Codes automatisieren.

Nur hat deine Frage nichts mit HTML oder CSS zu tun.

Wenn ich am Ende ein paar HTML-Seiten auf meinem lokalen Rechner liegen habe, reicht mir das völlig aus.

Dann mach das, nur wirst Du so deine Anforderungen nicht erfüllen können.

Welches Know-How muss ich mir als blutiger Anfänger aneignen, um meine kleinen Ziele zu erreichen?

Das habe ich geschrieben. Nur hat das - wie gesagt - nichts mit HTML/CSS zu tun, der mit Abstand größte Teil deiner Anforderungen findet im Backend statt.

Und was konkret Du verwendest, ist ziemlich egal, Du solltest damit anfangen, womit Du dich am besten auskennst, daher der Rat: Vorne mit Konsole und später Desktopanwendungen anfangen, dann ist der Einstieg in die Webentwicklung einfacher.

0

Ich hab solche Sachen schon in Python geschrieben. Recht einfach, da Python Multi-Zeilen-Strings erlaubt. Da kannst Du dann das HTML Fragment für ein Foto vorformulieren und die Werte für die Attribute einsetzen.

W00dp3ckr  02.04.2023, 01:15

JavaScript im Server kann Dateien speichern, im Browser normalerweise nicht.

0