# Erstelltes Programm über Internet Browser ausführen



## MrBobologo (15. Nov 2017)

Hallo Leute und einen schönen Abend euch! 

Ich versuche einfach mal die Situation zu schildern und damit auf mein Problem hinzuarbeiten! 

Auf der Arbeit sind wir verpflichtet, für verschiedene Fälle eine Dokumentation der Leistungen, die wir getätigt haben, der Informationen, die wir haben und der Dinge, die als nächstes anstehen, anzufertigen. 
Da wir ungefähr 6-8 Fälle die Stunde bearbeiten, die ziemlich ähnlich aussehen, jedoch immer gewisse Unterschiede haben, ist diese Dokumentation sehr eintönig mit einigen Abweichungen. 

Meine Idee war nun, zu Hause ein Programm zu implementieren, mit dem ich diese Dokumentation per Häkchen setzen und gewisse Textfelder mit Zahlen ausfüllen, erstellen kann. 
Bis hier schön und gut. Ist ja möglich und liegt auch in meinem KompetenzBereich 

Das Problem ist nur, dass ich dieses Programm nicht einfach per USB-Stick auf den Computer der Firma ziehen kann und dies dann über eine Internetseite oder ähnliches machen müsste. 
Internetzugang ist also auf der Arbeit gegeben, sowie eine Linux und Windows Ebene. 

Hat jemand eine Idee, wie ich das ganze umsetzen kann? Beziehungsweise gibt es überhaupt eine Möglichkeit diese Idee umzusetzen?

Vielen Dank schon mal an die Leute, die sich mit dem Text auseinander gesetzt haben und mein Problem gemeinsam mit mir lösen möchten! 

Liebe Grüße 
MrBobologo


----------



## Dompteur (15. Nov 2017)

In welchem Format brauchst du das Ergebnis ?


----------



## MrBobologo (15. Nov 2017)

Es reicht völlig, wenn ich das Ergebnis im Anschluss per Copy und Paste übertragen kann.


----------



## Dompteur (15. Nov 2017)

Wenn ich das richtig verstehe, dann stehen die Textblöcke schon fest.
Du könntest also eine Webseite mit HTML und Javascript erstellen, die ein paar Eingabefelder zur Verfügung stellt und damit den Text zusammenbaut.
Das hätte den Vorteil, dass du keine server-seitige Software brauchst und das bei jedem beliebigen Free-Webspace-Provider hochladen kannst.
Natürlich kann jeder, der die Seite findet, sehen, was du da programmiert hast. Firmengeheimnisse sollte da also keine drin stehen ;-)


----------



## MrBobologo (15. Nov 2017)

Genau, die Textbausteine sind soweit vorgegeben. Naja, ich denke schon, dass nicht jeder Zugriff auf die Website, bzw den Quellcode haben sollte. Man könnte der Website ja so etwas wie ein Login Fenster einbauen oder? 
Vielleicht wird es ja doch komplexer als von vorne an gedacht.


----------



## MrBobologo (15. Nov 2017)

Danke vor allem für deine schnellen und netten antworten!


----------



## Dompteur (15. Nov 2017)

MrBobologo hat gesagt.:


> Naja, ich denke schon, dass nicht jeder Zugriff auf die Website, bzw den Quellcode haben sollte. Man könnte der Website ja so etwas wie ein Login Fenster einbauen oder?


Dann brauchst du allerdings Logik am Server. Oder einen Server, der dir die Bearbeitung der .htaccess Datei erlaubt.

Andererseits kannst du ja eine HTML-Seite auf deinem Firmencomputer ja auch von einem lokalen Festplattenverzeichnis mit dem Browser öffnen.


----------



## MrBobologo (15. Nov 2017)

Wenn ich das richtigen verstanden habe, müsste ich das Programm dann theoretisch auf dem Firmencomputer haben, oder? Tut mir leid, mit Netzwerken und HTML Programmierung habe ich mich noch nicht so intensiv beschäftigt :/


----------



## Dompteur (15. Nov 2017)

HTML brauchst du hier eigentlich nur soweit zu kennen, dass du ein Formular mit Checkboxes und Eingabefeldern erstellen kannst. 
Dann musst du Javascript soweit lernen, dass du diese Controls auslesen kannst, um deinen Text zusammenbauen.
Wenn du schon irgendeine Programmiersprache kennst, dann sollte das kein Problem sein. 
Netzwerkwissen brauchst du da gar nicht ;-)


----------



## MrBobologo (16. Nov 2017)

Ja habe schon mit Java programmiert und meine eigenen kleinen Programme geschrieben, auch mit Textfeldern und Datenbanken etc.. 
Nur verstehe ich noch nicht ganz, wie ich das Programm von meinem Firmencomputer aus öffnen soll, ohne das jede beliebige Person Zugriff auf den Quellcode oder Daten hat, die das Programm ausgibt. 

Falls du das noch mal für Dullis erläutern könntest


----------



## Thallius (16. Nov 2017)

Weil Du nicht Java benutzen sollst sondenr Javascript. Das ist was komplett anderes


----------



## MrBobologo (16. Nov 2017)

Ja das weiss ich, ich werde mich mal da rein lesen und dann noch mal melden! 
Danke dir erst mal


----------



## MrBobologo (16. Nov 2017)

Okay, ich habe mir das jetzt mal angeschaut. Theoretisch müsste ich ja das Programm in einem Editor programmiert und als HTML abgespeichert haben. Die Datei müsste ich über den Browser ausführen. Richtig?


----------



## truesoul (16. Nov 2017)

Es geht auch in etlichen IDE's Netbeans, Intellij, Visual Studio usw.
Wenn du die Anwendung über das Internet erreichen willst musst du es schon hosten.

Über https://www.openshift.com/ kannst du es auch bereitstellen und musst nichts bezahlen.

Du kannst es als HTML abspeichern und JavaScript auch drin einbetten aber Sinnvoller ist es getrennt voneinander zu entwickeln.

Und siehe Dompteur's post.


----------



## Dompteur (16. Nov 2017)

Fangen wir mit der einfachsten Variante an: Du speicherst die Seite als HTML File auf deinem Arbeitsplatzcomputer und öffnest sie mit dem Browser.
Damit du das ausprobieren kannst, hier ein Beispiel, das ich von einer Vorlage im Internet übernommen und vereinfacht habe.

```
<!DOCTYPE html>
  <html>
    <head>
      <title>BMI Calculator</title>

      <script type="text/javascript">

        function computeBMI() {
            // Lesen der Benutzereingabe
            var height = Number(document.getElementById("height").value);
            var heightunits = document.getElementById("heightunits").value;
            var weight = Number(document.getElementById("weight").value);
            var weightunits = document.getElementById("weightunits").value;


            // Wandle alles ins metrische System um
            if (heightunits == "Inch") height /= 39.3700787;
            if (weightunits == "lb") weight /= 2.20462;

            // BMI Berechnung
            var BMI = weight / Math.pow(height, 2) * 10000;

            // Berechnung der Ausgabe-Werte

            var outputBMI = Math.round(BMI * 100) / 100;    // runden auf 2 Nachkommastellen
            var resulttext = "";                            // BMI status als Text
            var resultArea = "";                            // Zusammengesetzter Text.


            if (BMI < 18.5)
                resulttext = "Untergewicht";
            else if (BMI >= 18.5 && output <= 25)
                resulttext = "Normal";
            else if (BMI >= 25 && output <= 30)
                resulttext = "Übergewicht";
            else if (BMI > 30)
                resulttext = "Adipositas";

            // Hier wird nun ein Text aufbereitet : 
            resultArea = "Dein BMI ist " + outputBMI + ". Das bedeutet, dass den Status " + resulttext + " hast.\nNun beginnt ein neuer Absatz";
            // Schreiben der Ausgabewerte in die Controls

            document.getElementById("output").innerText = outputBMI;
            document.getElementById("comment").innerText = resulttext;
            document.getElementById("result").value = resultArea;
        }
        </script>
      </head>

      <body>
        <h1>Body Mass Index Rechner</h1>
        <p>Bitte die Größe eingeben: <input type="text" id="height"/>
          <select type="multiple" id="heightunits">
            <option value="Meter" selected="selected">metres</option>
            <option value="Inch">inches</option>
          </select>
        </p>
        <p>Bitte das Gewicht eingeben: <input type="text" id="weight"/>
          <select type="multiple" id="weightunits">
            <option value="kg" selected="selected">kilograms</option>
            <option value="lb">pounds</option>
          </select>
        </p>

        <input type="submit" value="computeBMI" onclick="computeBMI();">

        <h1>Dein BMI ist: <span id="output">?</span></h1>
        <h2>Daher lautet dein Status : <span id="comment"> ?</span> </h2>
        <textarea rows="5" cols="80" id="result">?</textarea>
     </body>
    </html>
```
Du öffnest einen Editor (Nodepad reicht), speicherst den Text hier unter test.html.
Dann Doppelklick auf die Datei. Möglicherweise wirst du gefragt, ob du die Ausführung von aktiven Elemente erlaubst. Da zustimmen.
Es öffnet sich eine Seite im Browser. Gib Größe und Gewicht ein und klicke auf den Push-Button. Nun siehst du unten in der Textarea den generierten Text.

Für dein Problem musst du natürlich eigene Eingabefelder (Text, Checkbox, Radiobutton, ...) definieren. Und auch den Zusammenbau des Inhalts der Textarea musst du selbst programmieren. Das hier soll dir nur das Prinzip zeigen ;-)


----------



## MrBobologo (16. Nov 2017)

@Dompteur
Danke für das Beispiel! Nur kann ich das Programm nicht auf meinem Arbeitscomputer abspeichern.. Wenn ich das über die Internetseite hoste, die @truesoul hier gepostet hat, können dann andere Personen auch darauf zugreifen oder wie genau funktioniert das dann?


----------



## truesoul (16. Nov 2017)

Hallo. 

Du könntest es mit .htaccess absichern. Das ist der geringste Aufwand. 

https://wiki.selfhtml.org/wiki/Webserver/htaccess

Grüße


----------



## Dompteur (16. Nov 2017)

MrBobologo hat gesagt.:


> @DompteurDanke für das Beispiel! Nur kann ich das Programm nicht auf meinem Arbeitscomputer abspeichern..


Heißt das, dass du auf deinem Firmen-PC überhaupt keine Schreibrechte auf der Festplatte hast ? Oder liegt es an der Dateierweiterung ?

Auch wenn ich mich wiederhole, fasse ich noch einmal die Möglichkeiten, die du hast zusammen.

Html-Datei lokal am Firmen-PC speichern
Html-Datei bei einem (Gratis-) Webspace Provider ablegen und über .htaccess absichern. Problem: Nicht alle Gratis-Anbieter erlauben dir Zugriff auf die htaccess Datei.
Server-seitige Lösung mit PHP: Hier muss der Provider PHP unterstützen.
Zu Fall 3:
Du erstellst also dein Formular in HTML. Dein Text wird aber nicht mit Javascript am lokalen PC zusammengebaut, sondern das passiert am Server.
Da das Programm nur am Server benötigt wird, ist es von außen nicht lesbar.
Wenn du verhindern willst, dass jemand anderer deinen Textgenerator benutzt, dann kannst du eine User/Passwort Abfrage einbauen.

Eine Variante von Fall 1 wäre, den Text in Excel zusammenzubauen. Hast du Excel zur Verfügung und kannst du Excel-Sheets bei dir speichern ?


----------



## MrBobologo (16. Nov 2017)

Okay, also würde das ganze dann so funktionieren, dass ich das Programm über die Website hoste, von dort auf das Programm zugreifen kann und über .htaccess absichern würde. 
Damit brauche ich keine Programme oder Dateien auf dem Arbeitscomputer und muss auch nicht die ganze Zeit einen Server laufen lassen, damit das Programm läuft. 

Habe ich das richtig verstanden?


----------



## Dompteur (16. Nov 2017)

MrBobologo hat gesagt.:


> Habe ich das richtig verstanden?


Ja


----------



## MrBobologo (16. Nov 2017)

Vielen Dank euch! Ich werde das ganze mal ausprobieren und mich dann eventuell bei Rückfragen erneut melden.
Schönen Tag euch noch!


----------



## mrBrown (16. Nov 2017)

MrBobologo hat gesagt.:


> Okay, also würde das ganze dann so funktionieren, dass ich das Programm über die Website hoste, von dort auf das Programm zugreifen kann und über .htaccess absichern würde.
> Damit brauche ich keine Programme oder Dateien auf dem Arbeitscomputer und muss auch nicht die ganze Zeit einen Server laufen lassen, damit das Programm läuft.
> 
> Habe ich das richtig verstanden?



Der Server muss schon laufen, während du drauf zugreifst.


----------



## MrBobologo (16. Nov 2017)

Ja natürlich, aber das übernimmt ja in dem Fall die kostenfreie Website. Ich meinte nur, dass ich persönlich keine Server betreiben muss.


----------



## MrBobologo (21. Nov 2017)

Hallo nochmal Leute! Ich habe mir jetzt mal ein kleines Matheprogramm erstellt, um zu testen, wie das ganze mit Openshift funktioniert. Das gnaze läuft mit Java-Script und HTML. 
Die Frage ist jetzt, wie genau kann ich das ganze über Openshift hosten? 

MFG MrBobologo!


----------



## truesoul (21. Nov 2017)

Openshift hat eine hervorragende Doku.
Siehe https://docs.openshift.org/latest/getting_started/index.html

Wie bei allen Sachen muss man sich da auch rein lesen, aber meine Erfahrung nach ist es leicht umzusetzen.

Punkte die evtl. Wichtig sind: 
Remote Connection und SFTP (FileZilla). Einfach danach Googlen

Grüße


----------



## MrBobologo (21. Nov 2017)

Danke erneut für die schnelle Antwort!


----------



## MrBobologo (24. Nov 2017)

Hi Leute, ich bin es noch mal... 
Bin der Doku So weit gefolgt, wenn ich jedoch das "build" erstellen möchte, kommt die ganze Zeit die Fehlermeldung "timeout".
Kann mir jemand dabei helfen?


----------

