Ceci est une ancienne révision du document !
Les Paslarbres numériques
Ceci n'est pas un arbre à palabre…
L'idée est de poser une sorte de tableau de post-it sous la forme d'un arbre virtuel partagé et accessible par le réseau WiFi uniquement local.
Une représentation d'arbre s'affiche dans le navigateur si on se connecte au SSID Paslarbre
Tous le monde peut écrire un post-it et le placer ou il veut sur le dessin, ils sont de couleur et leur édition est minimaliste.
Je pose simplement un Scrumblr qui est un logiciel libre distribué sous licence GPLv3 ayant pour objectif de fournir un tableau de post-it collaboratif en temps réel. Il s’agit de la solution logicielle qui propulse le service en ligne Framemo de Framasoft. Du point de vue utilisateur, seul un navigateur Web est nécessaire.
Dans un premier temps , le paslarbre sera laissé à lui même, chacun pourra réorganiser les postit comme il le veut, je vais voir à empêcher la suppression et garder l'historique pour l'animé plus tard.
Semis
Matière
- une OrangePi Zero, pour commencer, le WiFi n'est pas terrible mais déjà là. Je passerais sans doute sur une NanoPi NEO avec un dongle WiFi b/g/n plus tard.
- La partie alimentation dépendra de l'endroit, intérieur : un transfo, extérieur : une pile zinc/air avec une petit régultateur/booster?
Semis
- Armbian comme base
- hostapd en fait deja partie
- apt-get install dnsmasq # qui re marche …
- apt-get install npm # en premier
- faire ses modifications pour rendre jolie
À la main
après un sudo su
apt-get install dnsmasq iptables apt-get install npm apt-get install redis-server
sudo adduser --no-create-home --home /var/www/scrumblr --disabled-login --gecos "Scrumblr" scrumblr mkdir -p /var/www cd /var/www sudo git clone https://github.com/aliasaria/scrumblr.git sudo chown scrumblr -R /var/www/scrumblr cd /var/www/scrumblr npm install sudo su scrumblr -s /bin/bash git remote add fork https://github.com/ldidry/scrumblr/ git fetch fork git pull fork master exit
cat <<EOF [Unit] Description=Scrumblr service Documentation=https://github.com/aliasaria/scrumblr/ Requires=network.target Requires=redis-server.service After=network.target After=redis-server.service [Service] Type=simple User=scrumblr WorkingDirectory=/var/www/scrumblr ExecStart=/usr/bin/nodejs server.js --port 4242 ? [Install] WantedBy=multi-user.target EOF
On fabrique des règles pour rediriger les entrées des navigateurs sur le service 4242, plutot que d'utiliser un proxy genre ngninx, plus sophistiqué mais plus lourd
Nous gérerons donc tous les services derrière nodejs/scrumblr
cat <<EOF > /usr/local/bin/redirige_port.sh #!/bin/bash echo "1" > /proc/sys/net/ipv4/ip_forward /sbin/iptables -A PREROUTING -t nat -i eth0 -p tcp -m multiport --dport 80:443 -j REDIRECT --to-ports 4242 /sbin/iptables -A FORWARD -p tcp -d 192.168.4.1 --dport 4242 -j ACCEPT /sbin/iptables -A POSTROUTING -t nat -j MASQUERADE EOF chmod 755 /usr/local/bin/redirige_port.sh
On demarre le tout
/usr/local/bin/redirige_port.sh iptables-save -c > /etc/iptables-save # a rappeler par iptables-restore systemctl enable hostapd systemctl start hostapd systemctl enable dnsmasq systemctl start dnsmasq systemctl enable scrumblr systemctl start scrumblr
Paslarbre
Apres:
- relocalisation de toutes fonts en locale
- coup de peinture dans les css et pages
- ..?
Voici le paslarbre à décompresser en place /www/ :scrumblr.tgz
j'ai aussi un crontab -e avec
0 * * * * /var/www/scrumblr/bin/extrait_base.sh # sauvegade scrumblr paslarbre
pour sauvegarder les paslarbres en cours de croissance