Une solution libre pour un affichage déporté

TICE 0 commentaire »

J’ai eu à réfléchir à un problème d’affichage déporté dans mon lycée. Voici la solution que j’ai trouvé. Je la note ici, aussi bien pour moi, que je puisse m’en rappeler que pour ceux qui souhaiteraient faire la même chose.

Le problème : faire un affichage déporté sur plusieurs écrans : faire afficher des informations sur plusieurs écrans, pilotés par un seul ordinateur. Il faut que la solution soit économique au niveau matériel et au niveau énergétique. Qu’elle soit facile à utiliser pour l’usager et qu’on puisse ajouter autant d’affichage que l’on veut. Il était hors de question de récupérer de vieux postes qui tourneraient en permanence (energivore et nécessité de trouver un local à portée d’écran… pas facile dans un établissement scolaire), ni de tirer des cables VGA à travers l’établissement (perte de qualité, coût prohibitif des cables VGA).

La solution : un serveur partageant une présentation LibreOffice en ubuntu et des clients sur Raspberry Pi qui gère l’affichage sur les écrans. Le tout communiquant par réseau  éthernet.

Le matériel nécessaire :

  • côté serveur : un vieil ordinateur tournant sous ubuntu. Cet ordinateur n’est allumé que lors des mises à jour du fichier, il ne tourne pas en permanence. Je l’appellerai serveur par la suite, par commodité.
  • côté affichage : un écran avec une entrée HDMI, un raspberry pi avec son cable d’alimentation, son cable hdmi, son RJ45. Le tout dupliqué en autant d’écran que l’on veut. Le Raspi est configuré selon les préconisations de la fondation Raspberry Pi. Yaka suivre les instructions – en anglais.

1ère étape : paramétrage du serveur

J’ai paramétré le serveur en suivant la procédure ubuntu pour partager un disque . Lors de l’installation de ubuntu, j’ai créé une petite partition qui se monte en /media/diff-ecran. C’est elle qui sera partagée avec les Raspis.

1) installation des paquets nécessaire pour transformer la machine en serveur

sudo apt-get install nfs-kernel-server nfs-common ssh openssh-server openssh-client

2) modification du fichier /etc/hosts.allow

sudo nano /etc/hosts.allow

ajout de :

portmap: num.ip.ras.pi1, num.ip.ras.pi2, num.ip.ras.pi3, num.ip.ras.pi4, num.ip.ras.pi5
lockd: num.ip.ras.pi1, num.ip.ras.pi2, num.ip.ras.pi3, num.ip.ras.pi4, num.ip.ras.pi5
mountd: num.ip.ras.pi1, num.ip.ras.pi2, num.ip.ras.pi3, num.ip.ras.pi4, num.ip.ras.pi5
rquotad: num.ip.ras.pi1, num.ip.ras.pi2, num.ip.ras.pi3, num.ip.ras.pi4, num.ip.ras.pi5
statd: num.ip.ras.pi1, num.ip.ras.pi2, num.ip.ras.pi3, num.ip.ras.pi4, num.ip.ras.pi5

où, vous l’aurez compris num.ip.ras.pi1 est l’adresse IP du Raspi N°1, etc.

3) modification de /etc/exports

sudo nano /etc/exports

ajout de :
/media/diff-ecran num.ip.ras.pi1(rw,sync) num.ip.ras.pi1(rw,sync) num.ip.ras.pi1(rw,sync) num.ip.ras.pi1(rw,sync) num.ip.ras.pi1(rw,sync)
4) et on fait démarrer le serveur :

sudo invoke-rc.d nfs-kernel-server restart

2nde étape : paramétrage du Raspberry Pi

Cette partie est plus délicate, j’ai du pioché différentes solutions pour arriver à mes fins. Prêt ? C’est parti

1) Faire démarrer le raspi en mode Xwindows par défaut
sudo raspi-config
choisir la bonne option pour faire un démarrage de session automatique sans demander le mot de passe
sudo reboot
tester pour voir si tout fonctionne comme attendu.

2) mettre à jour le raspi et installer libreoffice
sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade

Installer libreOffice pour RasPi en utilisant la boutique de la fondation.

3) mettre le Raspi en IP fixe
Cette étape n’est pas nécessaire, selon le réseau. On peut demander au serveur DHCP d’affecter l’adresse IP voulue au Raspi.
modification du fichier /etc/network/interfaces
sudo nano /etc/network/interfaces
qui doit ressembler à ça au final :

auto lo

iface lo inet loopback
iface eth0 inet static
address num.ip.ras.pi1 #Mettre ici l’adresse
netmask 255.255.xxx.xx #la suite est à renseigner selon le réseau
gateway xxx.xxx.xxx.xxx
broadcast xxx.xxx.xxx.255

allow-hotplug wlan0
iface wlan0 inet manual
wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
iface default inet dhcp

On reboot
sudo reboot
et on vérifie que l’IP est la bonne :
ifconfig

4) Paramétrer le raspi pour qu’il puisse accéder au serveur

On suit la procédure ubuntu pour partager un disque du côté client ce coup-ci :

création du répertoire d’échange
sudo mkdir /media/partage
puis installation des outils nécessaire à la communication avec le serveur :
sudo apt-get install ssh openssh-server openssh-client nfs-common
On essaie pour voir si ça marche :
sudo mount -t nfs num.ip.du.serveur:/media/diff-ecran /media/partage/
Normalement dans /media/partage, on devrait trouver ce qu’on a déposé sur le serveur dans /media/diff-ecran.

Si c’est le cas, on peut modifier le fichier fstab pour que soit monté automatiquement la partition du serveur au démarrage :
sudo nano /etc/fstab
On ajoute à fstab :

# Montage disque reseau
num.ip.du.serveur:/media/diff-ecran /media/partage/ nfs rw 0 0

Après quoi, on peut rebooter le Raspi pour voir si tout se passe comme prévu au démarrage, c’est à dire que /media/diff-ecran soi du serveur soit vu dans /media/partage du Raspi.

5) Préparer les répertoires du home
Dans le /home/pi on crée un répertoire Presentations et un répertoire Scripts

6) Création des scripts à mettre dans le dossier Scripts
6.a) Script lancement de la présentation StartPrez.sh :
Ce script lance la présentation adiffuser.odp qui sera dans /home/pi/Presentations

#/!/bin/bash
soffice –norestore -show /home/pi/Presentations/adiffuser.odp –display :0.0 &

Ne pas oublier de rendre ce script éxecutable
sudo chmod +x /home/pi/Scripts/StartPrez.sh

6.b) Script lancé au démarrage du RasPi StartUpPrez.sh :

Ce script vérifie que le disque partagé est monté puis compare les 2 fichiers, local et distant. Si le distant est plus récent, il est copié en local
Puis le script lance le show

#/!/bin/bash
if [ -d /media/partage/ -a /media/partage/adiffuser.odp -nt /home/pi/Presentations/adiffuser.odp ];
then
cp /media/partage/adiffuser.odp /home/pi/Presentations/.
fi
/home/pi/Scripts/StartPrez.sh

sudo chmod +x /home/pi/Scripts/StartUpPrez.sh

6.c) Script de mise à jour de la présentation MAJPrez.sh
Ce script vérifie l’existence du disque partagé. S’il n’y est pas, il tente de le monter (au cas où le serveur ait été lancé après que le Pi ait été allumé) puis vérifie s’il y a une mise à jour sur le serveur.
S’il y en a, la mise à jour est copiée, la présentation en cours est arrêtée puis la nouvelle présentation est relancée

#/!/bin/bash
if [ ! -f /media/partage/adiffuser.odp ];
then
sudo mount -a
fi
if [ -f /media/partage/adiffuser.odp -a /media/partage/adiffuser.odp -nt /home/pi/Presentations/adiffuser.odp ];
then
cp /media/partage/adiffuser.odp /home/pi/Presentations/.
pkill -f « oosplash »
pkill -f « soffice.bin »
/home/pi/Scripts/StartPrez.sh
fi

sudo chmod +x /home/pi/Scripts/MAJPrez.sh

7) Paramétrage de lancement des scripts

7.a) lancement au démarrage

On met en place un script qui est lancé au démarrage :
sudo nano /etc/profile.d/StartUpPrez.sh
Dans lequel on met :

#/!/bin/bash
xset s off #ces commandes empêchent le Raspberry Pi de se mettre en veille
xset -dpms
xset s noblank
/home/pi/Scripts/StartUpPrez.sh #lance la présentation

Ne pas oublier
sudo chmod +x /etc/profile.d/StartUpPrez.sh

7.b) lancement automatique du script de mise à jour de la présentation

Il faut éditer la table crontab :
crontab -e
et on ajoute

*/5 * * * * /home/pi/Scripts/MAJPrez.sh

qui permet le lancement du script MAJPrez.sh toutes les 5 minutes – peut être modifié pour que la programmation soit toutes les heures, quotidienne, etc.

Ainsi, au démarrage, le Raspi lance StartUpPrez.sh qui vérifie s’il y a quelque chose de neuf sur le serveur et lance la présentation. Puis toutes les 5 minutes, le Raspi lance MAJPrez.sh qui monte le serveur s’il le faut (cas où le serveur a été allumé après le Raspi), vérifie s’il y a une mise à jour plus récente sur le serveur et la lance le cas échéant.

Normalement à ce niveau tout est fonctionnel et une mise à jour sur le serveur de la présentation implique une mise à jour de la présentation en cours dans les 5 minutes.

3) Dernière étape : on duplique la configuration du Raspi

Sur un ubuntu qui lit les cartes SD, on suit la procédure dd de ubuntu pour copier la carte sd. On fait d’abord une copie de la carte SD bien configurée :

sudo dd if=/dev/mmcblk0 of=path/where/to/save/SaveSDFinal.img bs=1M

où /dec/mmcblk0 est la carte SD, déterminée avec un

sudo fdisk -l

Puis on copie cette image sur une carte SD neuve :
sudo dd if=path/where/to/save/SaveSDFinal.img of=/dev/mmcblk0 bs=1M

Ouf ! Ilne reste plus qu’à faire quelques branchements et vous avez votre solution d’affichage déportée pour le prix d’un écran avec entrée hdmi + une quarantaine d’euros pour les Raspberry Pi.

Il est possible de faire en sorte que chaque Raspi éteigne son écran. Affaire à suivre…

Le futur de la technologie des écrans…

humeur 0 commentaire »

…l’enfer !

On ne peut même plus se brosser les dents tranquille : la fin annoncée des 3 dernières minutes de tranquillité.

Image de prévisualisation YouTube

box.net est désormais en français

être nomade, web 2.0 1 commentaire »

J’ai déjà présenté l’utilité de box.net pour se passer de clés USB (toujours d’actualité sur les réseaux pédagogique où les virus prolifèrent).

Avis au anglophobe, désormais, box.net est également décliné en Français : il suffit de choisir « français » dans les paramètres de votre compte box.net.

Un film d’animation entièrement libre !

Liens, TICE 3 commentaires »

Entre la préparation du bac et les virus informatiques sur les PC windaudes de mon lycée j’ai peu de temps pour faire de la veille et publier des articles Tice…

Mais on m’a signalé un projet que je me dois de relayer ici : le film big buck bunny a été réalisé par une équipe internationale d’infographistes (voir l’équipe) sous la licence « creative commons ». Cela veut dire que le film et tout les matériaux nécessaires à sa création sont libre de droit.

C’est un joli pied de nez à tous les frileux qui pensent que « linux c’est bien mais on peut pas tout faire avec ». Ce film n’a été réalisé qu’avec des logiciels distribués gratuitement sur internet (blender, gimp, inkscape le tout tournant sous ubuntu).

 

Sur la page de téléchargement du film sur le site officiel on trouve toute sorte de format (mp4, ogg), de toute taille.

Hooseek un moteur de recherche solidaire

Liens 0 commentaire »

Hooseek est un moteur de recherche qui permet de faire des dons à des associations tout en faisant ses recherches sur internet. Les recherches sont menées en utilisant les données de google, yahoo, msn ou ask.com.

Son utilisation est assez simple : après avoir fait les choix des associations à soutenir dans le moteur de recherche des associations, chaque recherche génère 0,2 centime qui sont divisés entre les associations soutenues.

En plus de proposer une façon citoyenne de surfer, hooseek dipose d’un certain nombre d’innovations originales. Les recherches se font simplement sur la page d’accueil et il est possible de choisir les réponses des différents moteurs en 1 clic sur la page de résultat.

Mais hooseek c’est aussi une façon originale de présenter les résultats sur 1 seule page : les résultats s’affichent au fur et à mesure que l’on descend l’ascenceur. Le service offre également la possibilité de conserver des recherches pour y accéder rapidement ultérieurement.

Et enfin, comme tout bon moteur de recherche moderne, hooseek dispose également d’un moteur de recherche d’images et d’emploi. La fonction dictionnaire permet en un clic de faire une recherche de définition d’un terme, de synonymes et même de conjugaison de verbe.

Visible body : un site pour visualiser le corps humain en 3D !

Liens, outils pour les cours 5 commentaires »

Avec visible body un simple navigateur internet explorer suffit pour entrer véritablement dans les méandres du corps humain. Après inscription auprès du site, on accède à une palette qui permet de visualiser les différentes composantes d’un corps humain (système digestif, respiratoire, vasculaire, lymphatique, etc.) d’un simple clic de souris !

la valse des 2.0

education 2.0, web 2.0 1 commentaire »

Web 2.0, éducation 2.0, entreprise 2.0, management 2.0… les 2.0 fleurissent sans que l’on sache toujours véritablement de quoi il s’agit.

Il semblerait que tout ait commencé en 2005 lors d’une conférence de geek (obsédé d’informatique) dans laquelle Tim O’Reily, commentant l’éclatement de la bulle internet des marchés financiers, aurait pronostiqué l’émergence d’un nouveau web conceptuellement différent du web initial (voir « what is Web 2.0 » par Tim O’Reilly – en français). Dans ce contexte, le 2.0 signifie qu’il s’agit d’une nouvelle version en rupture par rapport au web précédent comme pour un logiciel (voir la note le système de notation des logiciels).

Ce schéma est-il transférable à l’éducation ? Parler d’éducation 2.0 a-t-il du sens (voir par exemple la discussion du forum apprendre 2.0) ? Cela veut-il dire que l’éducation est en train de se réformer pour passer (enfin) à la version 2 ? Dans quelle version étions-nous avant ? La version 1.512 ? Car, après tout, l’éducation est aussi vieille que la volonté humaine de partager du savoir, processus qui a dû émerger environ en même temps que l’humanité, non ? (Oui je sais, je fais partie de ces dinosaures qui pensent que la transmission du savoir est ce qui donne toute sa noblesse aux hommes, loin devant l’acquisition d’un iphone). Est-il raisonnable de penser que nous n’en sommes qu’à la première version ? Alors pourquoi ne pas parler de l’éducation 1024.0 ? Le raisonnement s’applique aussi, évidemment, à l’entreprise et au management.

Bien entendu, ce 2.0 a pris progressivement un autre sens. Pour le comprendre, il faut revenir à ce qui caractérise le web 2.0 (voir le billet du web 2.0 à l’éducation 2.0 ?). Pour résumer, le web 2.0 est un web ouvert, centré sur l’utilisateur. Dans le modèle de web initial, le contenu et la navigation étaient pensés par le créateur du site. Dans le web 2.0, le contenu et la navigation sont modelés par l’interaction entre les utilisateurs. Schématiquement, les sites 2.0 sont des coquilles vides que les internautes remplissent à leur guise en ajoutant du contenu (flickr, youtube, etc.) où en mixant plusieurs contenus (netvibes, wikio etc.). Un site 2.0 est donc un site ouvert, vivant tant qu’il y a du trafic. C’est son usage qui lui donne de la valeur, contrairement aux sites 1.0 qui contiennent de l’information en eux-même. Le contenu diffusé par un site 2.0 dépendra de son utilisation : il émerge des interactions entre les utilisateurs.

Il me semble que quand on rajoute un 2.0 à un système (l’éducation, l’entreprise, le management, etc.) on souligne cette caractéristique des objets 2.0 : ils se renouvèlent continuellement et leurs propriétés sont émergentes. Elles ne sont pas « pensées » à priori. Elles émergent des interactions entre les acteurs.

Cette approche de la réalité n’est pas complètement nouvelle et « inventée » à travers le web 2.0. Elle prend ses racines dans les courants de pensées systémiques et émergentistes. Cette propriété des systèmes à se renouveler en permanence n’est pas sans rappeler les systèmes vivants : un organisme vivant ne le reste que tant qu’il interagit avec son environnement (nous ne survivons pas plus de quelques minutes si nous cessons de respirer) et ces interactions lui permettent de se renouveler constamment (nos cellules sont régulièrement renouvelée s comme nous le rappelle un vendeur d’eau minérale). Les propriétés d’un organisme vivant émergent de la dynamique d’interaction entre sa dynamique interne (son matériel génétique) et son environnement. Il me semble qu’un site du web 2.0 répond parfaitement à ce schéma : son code (en l’occurence informatique et non génétique) ne prend sens qu’à travers les interactions qu’il entretient avec son environnement (les autres sites, les internautes). Pour moi, ce 2.0 signifie que l’on cesse de penser l’objet indépendamment de son environnement : il s’agit d’adopter une approche écosystémique dans laquelle l’accent est mis sur les interactions de l’objet plus que sur ses propriétés intrinsèques.

En ce sens, parler d’éducation 2.0 n’est pas absurde. Il s’agit de penser l’écosystème favorable au transfert intergénérationnel. L’éducation 1.0 correspond au modèle du prof qui détient un savoir face à une classe qui a tout à apprendre de lui. Dans l’éducation 2.0, le prof est un écologiste du savoir (l’écologie c’est l’étude des relations) qui s’attache à créer l’environnement favorable à sa floraison. Il favorise les interactions fertiles qui permettent l’émergence du savoir. Il ne s’agit plus de penser en terme de transmission (dans laquelle le savoir se répliquerait à l’identique) mais en terme d’émergence (dans laquelle le savoir se renouvelle à travers l’interaction entre les individus).

Nation master : des statistiques mondiales pour l’histoire-géo

Liens, outils pour les cours, TICE 1 commentaire »

NationMaster.com est un site regroupant les données statistiques des nations unies, de l’OMS, de l’UNESCO, l’UNICEF, l’OCDE, la CIA etc.

De nombreuses entrées dans le site sont possibles. On peut faire des recherches sur les données statistiques : 30 catégories sont proposées (de Agriculture à Transport) et chacune d’elle regroupe plusieurs dizaines de données. Il est possible d’afficher les données sous forme de graphiques (barres ou camemberts) ou de carte. Certaines corrélations sont également possibles.

On peut aussi entrer sur le site par pays (voir par exemple la page de la France) avec toutes les données disponibles ainsi qu’un jeu de cartes scannées (il y a par exemple 113 cartes pour la France : historique et géographique comme la carte ci-dessous représentant la l’évolution des fraontières Françaises de 1555 à 1971).

Et il est possible également d’entrer sur le site par des faits intéressants (voir par exemple la page sur l’éducation où l’on y apprend que les enseignants représentent 7,8 % des travailleurs en islande).

Je ne suis pas prof d’histoire-géo, mais il me sembe que ce site est une véritable mine aussi bien pour les profs que pour les élèves.

Une pause sharkbreak

Liens 3 commentaires »

Pour un aquarium plus grand : http://www.sharkbreak.com

D’autres widgets de sharkbreak.com.

Le système de numérotation des logiciels

Non classé 1 commentaire »

Dans la phase de test, les logiciels sont affublés d’un 0.xx qui signifie « voilà le logiciel qu’on développe, on sait qu’il y a plein d’erreurs mais essayez-le et dîtes-nous les erreurs qu’on puisse les corriger » (comme par exemple freemind qui en est à la version 0.9.0). Lorsque les développeurs pensent que le logiciel est diffusable en l’état, ils l’affublent d’un 1.0 qui signifie « voilà, c’est fait, on est content de ce qu’on a fait, on vous propose de l’utiliser ». Généralement, cette version est vite suivie d’un numéro au fil des différents correctifs (1.1, 1.2, etc.). Puis vient un moment où le logiciel a fait son temps et les développeurs décident de modifier leur logiciel plus en profondeur. C’est le moment où va sortir une version 2.0 vite suivie par une version 2.1 pour corriger les erreurs de jeunesse de la version 2.0. Cela peut continuer assez longtemps (voir par exemple Mac OS 10.5, le système d’exploitation de mac).