Overblog
Editer l'article Suivre ce blog Administration + Créer mon blog

Recycler des vieux PC en bornes d'affichage dynamique

Dans notre lycée, il n'y a pas moins de 7 pc/13 écrans dédiés à l'affichage dynamique, répartis à chaque étage de chaque extrémité des bâtiments, ainsi qu'à l'accueil.

Le but de ces écrans étant de valoriser le travail et les actions des élèves, ainsi que de passer des informations administratives / utiles.

Disposant d'un serveur pédagogique SambaEdu3 (déjà expérimenté dans un autre lycée), je me suis inspiré directement de cette documentation (LibreOffice Impress sur des PI dans un réseau SE3) (merci Nicolas), mais n'importe quelle machine linux peut servir de serveur de partage de fichier SAMBA, de serveur "Wake On Lan" / ainsi que de serveur "d'arrêt des machines à distance" (y compris sur raspberry pi d'ailleurs).

 

J'ai donc suivi la doc en remplaçant les clients les Raspberry Pi par de vieux pc équipés de la dernière lubuntu 17.10. Pourquoi ? Nous avons un certain nombre de vieux pc encore fonctionnels, cela permet de les recycler, notamment ceux dont les ports USB sont HS

 

Le principe est simple, un fichier LibreOffice Impress (présentation) est situé sur un partage sécurisé, cela en facilite largement la gestion. Les bornes vont vérifier automatiquement toutes les 20 secondes si ce fichier a été modifié en se basant sur la date de celui-ci. Dans le cas positif, le script sur la borne va télécharger la nouvelle version et ré-ouvrir LibreOffice.  

S'il y a une panne réseau, le script gère même ce cas, la borne affichera dans les secondes qui suivent qu'elle ne peut pas télécharger le fichier normalement.

LibreOffice traite évidemment les textes, les images, les gifs animés, la date + un titre + numéro de page et même les vidéos pour peu que l'on installe au préalable un certain nombres de paquets prérequis.

Pour les installer : sudo apt-get install libreoffice libreoffice-avmedia-backend-gstreamer gstreamer1.0-libav gstreamer1.0-plugins-bad gstreamer1.0-plugins-good gstreamer1.0-plugins-ugly

 

Enfin, grand avantage par rapport aux Raspberry Pi qui sont toujours alimentés électriquement (même si ça consomme que dalle), les PC peuvent être facilement démarrés / éteints à distance, et donc automatiquement en fonction de la date (jour férié?, vacances?), du jour de la semaine, et de l'heure. De même les écrans vont automatiquement s'allumer ou se mettre en veille en fonction de l'état du PC, merci la bonne vieille prise VGA.

 

Voici les scripts que j'ai écrits :

Pour éteindre les bornes, j'utilise la commande sshpass (eteindre-borne.sh) :

#!/bin/bash
for k in `seq 1 7`;
do
sshpass -p lycee ssh lycee@10.207.219.15$k "sudo shutdown -h now"
done

 

J'ai généré un fichier vacances-scolaires.csv à l'aide de calc, en me basant sur ce site internet

 

Si c'est les vacances / férié, on ne démarre pas les bornes (test-vacances.sh)
#!/bin/bash
i=/root/vacances-scolaires.csv
j=$(date | awk '{print $1" "$2" "$3}')
if cat "$i" |grep "$j" >/dev/null 2>&1
then
echo "L'établissement est fermé aujourd'hui, on n'allume pas les bornes"
else
/usr/bin/start-borne.sh
fi

 

Au préalable, j'ai rajouté les pc bornes dans l'interface réservations de sambaedu3

Cela permet d'éteindre ou d'allumer les bornes ponctuellement depuis l'interface d'administration, mais aussi de récupérer facilement les adresses mac des machines (si on utilise pas SambaEdu, pas grave, il faut juste renseigner les adresses mac directement dans le script)

Pour démarrer les bornes, je récupère les adresses mac dans le ldap (start-borne.sh) :
#!/bin/bash
for k in `seq 1 7`;
do
a=$(ldapsearch -xLLL cn=borne0$k |grep 'macAddress' | cut -f 1 | awk '{print $2}')
wakeonlan $a
done


 

Contenu de la crontab sur le serveur (crontab -e pour l'éditer)
45 17 * * * /usr/bin/eteindre-borne.sh
45 12 * * wed /usr/bin/eteindre-borne.sh
10 7 * * mon,tue,wed,thu,fri /usr/bin/test-vacances.sh

 

Explications :
On éteint les bornes tous les jours à 17h45 (pour être sûr)
De même on éteint les bornes tous les mercredi à 12h45 (demie-journée)
On allume les bornes les lundi, mardi, mercredi, jeudi et vendredi à 7h10, à condition que ce ne soit pas un jour férié ou de vacances

 

De même, il est bon de rajouter cette ligne au cron directement sur les bornes :

0 20 * * * /sbin/shutdown -h now

En effet, cela permet aux bornes de s'éteindre à 20h dans le cas où il y aurait une panne réseau

__________________________________________________________________

Installation du diaporama sur un client Windows

côté serveur SE3 :
# ln -s /var/se3/affichage_dynamique/Diapo-affichage-dynamique.odp /var/www/intranet/

côté client windows :
télécharger wget : https://eternallybored.org/misc/wget/
J'en ai mis un sur le bureau (que j'ai caché) et un directement sur c:\


Idem pour le fichier Script-diaporama.cmd :
@echo off
@C:\wget.exe http://10.207.218.33/intranet/Diapo-affichage-dynamique.odp -O %temp%\Diapo-affichage-dynamique.odp >nul
@cls
@echo Normalement le diaporama s'affiche sur le deuxieme ecran
@echo Vous pouvez fermer cette fenetre, merci. Mike
@"C:\Program Files (x86)\LibreOffice\program\soffice.exe" -nodefault -show -norestore %temp%\Diapo-affichage-dynamique.odp >nul
@exit >nul


J'ai pris soin de basculer la fenêtre principale de libreoffice sur l'écran secondaire et de quitter le logiciel, ainsi il n’apparaîtra plus jamais sur l'écran principal

De plus dans les options d'impress, décocher "activer la console de présentation"

L'affichage du diaporama se fait automatiquement sur le deuxième écran, les agents travaillent tout à fait normalement sur le premier !

__________________________________________________________________

Avantages de cette solution :

Ce système est vraiment très simple d'utilisation, c'est aussi son défaut

Pas besoin de passer par un logiciel de type VNC, ou par une interface web compliquée, c'est vous qui concevez le diapo directement depuis votre pc avec vos documents annexes et votre connexion internet.

Les logiciels utilisés sont 100% gratuits, pas d'abonnement, pas de borne onéreuse

Au niveau maintenance, les bornes peuvent être facilement remplacées en cas de panne. Il suffit que l'informaticien restaure un clone de l'image sur un nouveau disque dur ou si c'est une panne carte mère, qu'il mette le disque dur dans une autre tour PC. 

Il y a zéro paramétrage sur les bornes, le peu à paramétrer se fait à distance sur le serveur.

Les gens ne vous voient jamais manipuler sur les écrans des bornes, ils ne voient d'ailleurs jamais le bureau linux.

 

Inconvénients de cette solution :

Le fichier ne peut être ouvert / modifié que par une seule personne à la fois, il ne peut donc pas être ouvert simultanément par plusieurs personnes.

Cela signifie qu'il ne faut pas laisser ce fichier ouvert afin de ne pas pénaliser les collègues qui voudraient aussi mettre à jour le Diapo! Merci de QUITTER le logiciel au plus vite !

Ce système ne gère pas d'autre format que celui de LibreOffice Impress, logiciel assez simpliste. Par exemple LibreOffice Impress ne gère pas facilement les liens RSS, mais j'ai trouvé une astuce !

Quelques solutions alternatives :

https://www.xibo.org.uk/manual/fr/

https://www.screenly.io/ose/

http://lyc-perrin-soa.ac-versailles.fr/DS/

http://www.dooh.ovh/wiki/doku.php?id=presentation

Pour être informé des derniers articles, inscrivez vous :
G
Bonjour,<br /> en solution alternative, vous avez aussi la société wepub, qui propose une solution d'affichage dynamique sur tout OS.<br /> Simple et facile, avec un prix 2 fois inférieur u marché.<br /> N'hésitez pas de nous contacter
Répondre