je met rapidement ce tuto issu d'un texte de korben
j'en ai sorti un script qui crée le fichier html, le count.sh et un lanceur pour tester tant qu'on veut.
testé sous mon Ubuntu 14.04... ce tuto est juste pour mémo
NB : Bien penser à télécharger l'exécutable et le mettre dans un dossier accessible au path..., l'installeur le met dans ~/bin
Pour simplifier (j'espère)... juste à suivre ces lignes :
créer un dossier
mkdir ~/bin
mkdir ~/bin/test
cd ~/bin/test
Télécharger l'archive
wget "https://github.com/joewalnes/websocketd/releases/download/v0.2.12/websocketd-0.2.12_amd64.deb"
extraire tout (on peut aussi lancer l'installation)
dpkg-deb -x websocketd-0.2.12_amd64.deb "$PWD/"
mettre ce script dedans.
mv usr/bin/websocketd "$PWD"
on peut supprimer le dossier créé lors de la décompression
rm -f usr/
gedit "installeur.sh"
et copier ce texte : installeur.sh
#!/bin/bash# ----------------------------------------------nomlogiciel="$(basename "$0")"# FONCTION=""VERSION="alpha"# NOTES DE VERSIONS# ----------------------------------------------# à mettre au début d'un fichier bash#PID=$$#FIFO=/tmp/FIFO${PID}#mkfifo ${FIFO}# ----------------------------------------------echo "lancement $nomlogiciel..."
# Création du lanceurecho """#!/bin/bash# Lancez websocketd comme ceci en précisant le port et le programme à exécuter :websocketd --port=8080 --staticdir=. ./count.sh &firefox "decompte.html"exit 0""" | tee lanceur.shchmod +x lanceur.sh
exit
touch count.sh
echo """#!/bin/bashecho bonjoursleep 1echo mondesleep 1echo bonjour mondesleep 1
for COUNT in $(seq 1 10); do echo $COUNT sleep 1done""" | tee count.sh
chmod +x count.sh# ./count.sh
# page en javascriptecho """<!DOCTYPE html> <html> <head> <title>websocketd count exemple</title> <style> #count { font: bold 150px arial; margin: auto; padding:10px; text-align: center; } </style> </head> <body>
<div id="count"></div>
<script> var ws = new WebSocket('ws://localhost:8080/'); ws.onopen = function() { document.body.style.backgroundColor = '#cfc'; }; ws.onclose = function() { document.body.style.backgroundColor = null; }; ws.onmessage = function(event) { document.getElementById('count').textContent = event.data; }; </script>
</body></html>""" | tee "decompte.html"
# Création du lanceurecho """#!/bin/bash# Lancez websocketd comme ceci en précisant le port et le programme à exécuter :firefox "decompte.html" &websocketd --port=8080 --staticdir=. ./count.shexit 0""" | tee lanceur.shchmod +x lanceur.sh
mkdir ~/bincp websocketd ~/bin./lanceur.sh
exit 0
Rendre le fichier exécutable :
chmod +x installeur.sh
lancez !
./installeur.sh
... Ce dossier, dont l'installeur, est réutilisable !
et pour tester :
./lanceur.sh