<genew@rom.on.ca>
Les bornes d'affichage d'informations rendent service dans les biblioth�ques, les expositions, les mus�es, les �tablissements d'enseignement, les bureaux d'accueil municipaux, les points d'informations, les conf�rences, les galeries marchandes, les a�roports, bref, tout endroit o� l'on d�sire un acc�s facile � l'information. Les bornes sont g�n�ralement munies d'�crans tactiles ou de dispositifs de pointage de type boule pour que les gens puissent acc�der � un contenu attractif et tenu � jour.
Les bornes peuvent �tre cr��es de diff�rentes fa�ons, depuis des solutions on�reuses � base de logiciel propri�taire jusqu'aux syst�mes open source reposant sur le format HTML. Une approche de type butineur est particuli�rement int�ressante en raison de son caract�re multim�dia intrins�que. Le format HTML marie le texte, le graphisme, le son et tous les m�dias en flux dans un format portable.
Linux fournit une plate-forme souple pour le d�ploiement de bornes. L'installation de Linux est �conomique et offre de nombreuses possibilit�s, qu'il s'agisse de stations sans disque ou de serveurs www coupl�s � des bases de donn�es. L'adaptabilit� du syst�me d'exploitation sous-jacent permet de g�rer � distance, que ce soit par le t�l�phone ou par un autre lien r�seau, une borne Linux correctement configur�e.
Ce HOWTO pr�sente une m�thode d'installation de Linux en tant que borne interactive autonome qui utilise Netscape Navigator 4.X et Fvwm2 sur un syst�me Red Hat 6.x. Il est issu de l'exp�rience de cr�ation d'un syst�me de ce type que j'ai mis en place dans la galerie sur la biodiversit� au Royal Ontario Museum ( http://www.rom.on.ca) � Toronto au Canada. La borne � laquelle ce document fait r�f�rence inclut une boule de pointage plut�t qu'un �cran tactile plus on�reux. Il existe bien d'autres fa�ons de cr�er une borne Linux mais celle-ci s'est av�r�e fiable pour nous et peut servir de point de d�part � vos propres projets.
Copyright (c) 1999 par Gene Wilburn.
La distribution de ce document doit se conformer aux termes de la licence LDP tels que d�finis � l'adresse : sunsite.unc.edu/LDP/COPYRIGHT.html.
Notre borne Linux s'inspire fortement des travaux effectu�s par la ville de Charlotte en Caroline du Nord pour son site www municipal Charlotte's Web (cf http://www.charweb.org/webinfo/kiosk/). Le projet de borne de Charlotte qui repose sur un �cran tactile a �t� mis en place en 1996 � partir d'une distribution Slackware, de Fvwm et de Netscape Navigator 2.X. Les webmestres de Charlotte ont r�alis� une borne tr�s pratique et ont publi� le d�tail de leur installation sur le site. Ce HOWTO constitue d'une certaine fa�on une mise � jour de leur travail, modifiant certains points pour travailler avec une Red Hat 6.X, Fvwm2, Netscape Navigator 4.X et un dispositif de pointage sur mesure.
J'ai collabor� avec Debra Luneau (debral@rom.on.ca), administrateur web du Royal Ontario Museum, � la mise au point des canevas sous Netscape. Les exemples fournis sur notre site sont le fruit de son travail. Nous les utilisons tels quels dans la galerie sur la biodiversit�.
La section sur la biodiversit� de l'Ontario de la version ROM du site a �t� cr��e par Hopscotch Interactive (www.hopscotch.ca). L'application originelle sous forme de fichiers de base de donn�es � plat a �t� convertie en un syst�me utilisant MySQL par Gord Howells (gordonh@rom.on.ca), concepteur et d�veloppeur de la base de donn�e ROM. Une version hors-borne de ce mod�le r�duit de site est consultable � l'adresse http://www.rom.on.ca/ontario/.
L'installation de Linux en tant que borne est semblable � celle d'une station de travail graphique � quelques d�tails pr�s. S'il s'agit d'un poste autonome, il doit d�marrer directement en mode borne. De plus, l'environnement de navigation doit �tre modifi� pour d�sactiver les �crans de dialogue standard et supprimer les parties du butineur qui conduiraient � des interactions inopportunes (cf. la barre de navigation de Netscape).
En principe, un site web sur borne interactive doit se suffire � lui-m�me. Les utilisateurs se d�placent au sein du site au moyen d'un dispositif de pointage. Il peut s'agir d'un �cran tactile, d'une boule ou d'une souris. La robustesse des souris mises � disposition du public est probl�matique.
Une borne Linux peut �tre directement connect�e � un site-m�re via un r�seau local ou une liaison PPP et r�cup�rer les pages � la demande. Elle peut �galement contenir l'int�gralit� du site web et ex�cuter elle-m�me Apache et les scripts CGI associ�s.
FVWM2 (FVWM, version 2 -- www.fvwm.org) fournit un gestionnaire de fen�tres pour X souple, fiable et l�ger qui s'av�re tr�s pratique � configurer pour un environnement de borne. On modifiera certaines options par d�faut dans le system.fvwm2rc tels les �crans virtuels, les barres de menu, les menus de sortie, etc. pour ne conserver qu'un cadre FVWM minimal. La borne �tant autonome, la modification des pr�f�rences globales ne g�nera en rien.
On profite �galement des propri�t�s d'objets positionnables pour mettre en place des bitmaps X Window (fichiers xpm) qui vont recouvrir les parties de Netscape auxquelles vous souhaitez interdire l'acc�s.
Le fichier � modifier se trouve en /etc/X11/fvwm2/system.fvwm2rc (du moins si vous avez install� une distribution Red Hat). Vous devrez partir � la recherche des sections d�crites ci-dessous dans ce fichier.
Dans le fichier /etc/X11/fvwm2/system.fvwm2rc
changez :
DeskTopSize 2X2
en
DeskTopSize 1X1
Les bureaux virtuels disparaissent.
Dans la section Default Styles, changez ensuite :
Style "*" BorderWidth 7, HandleWidth 7
en
Style "*" BorderWidth 0, HandleWidth 0, notitle, nohandles
La plupart des contr�les usuels des fen�tres sont d�sactiv�s.
Ajoutez les deux lignes suivantes � la section Default Styles :
Style "xdaliclock" StaysOnTop
Style "sxpm" StaysOnTop
La section Default Styles devrait prendre l'allure suivante :
# default Styles:
#Style "*" BorderWidth 7, HandleWidth 7
Style "*" BorderWidth 0, HandleWidth 0, notitle, nohandles
Style "*" Icon unknown1.xpm, Color lightgrey/dimgrey
Style "*" MWMFunctions, MWMDecor, HintOverride
Style "*" DecorateTransient, NoPPosition
Style "*" IconBox 0 -10 -280 -1
Style "*" FocusFollowsMouse
Style "*" RandomPlacement, SmartPlacement
Style "xdaliclock" StaysOnTop
Style "sxpm" StaysOnTop
Vous pouvez recouvrir certaines parties de Netscape Navigator avec les programmes xdaliclock et sxpm. La formule magique r�side dans l'attribut ``StaysOnTop''.
Cherchez ensuite les quatre lignes suivantes et commentez-les :
#AddToFunc InitFunction "I" Module FvwmButtons
#+ "I" exec xsetroot -mod 2 2 -fg \#554055 -bg \#705070
#AddToFunc RestartFunction "I" Module FvwmButtons
#+ "I" exec xsetroot -mod 2 2 -fg \#554055 -bg \#705070
La mise en commentaire �limine l'ex�cuteur de t�ches de Fvwm2, en accord avec le souhait d'un environnement aussi simple que possible.
Netscape Navigator est un meilleur choix pour une borne interactive que Netscape Communicator. Il est plus simple, il y a moins d'objets � cacher.
Sous Windows(R) de Microsoft(TM), Netscape Navigator offre un mode de fonctionnement de type borne qui �limine la plupart des options de contr�le mais il n'existe � notre connaissance aucune possibilit� de ce genre pour la version Unix � l'instant o� nous �crivons ces lignes.
La version Unix peut cependant �tre invoqu�e avec un argument
-geometry
qui nous permet de toujours l'afficher en plein
�cran. Cela fait partie de notre strat�gie pour une borne reposant
sur Netscape.
� vous de d�cider de la r�solution de la borne. Pour des moniteurs de 19 � 20 pouces, 640x480 nous para�t trop gros, 1024x768 trop petit et 800x600 correct pour le public (vous en jugerez peut-�tre diff�remment). Une fois la r�solution fix�e, vous �tes pr�t � configurer Navigator. Par la suite, nous travaillerons en 800 par 600. � vous de proc�der aux ajustements n�cessaires si votre r�solution diff�re.
Note: Navigator sera ex�cut� par root pendant le d�marrage.
Il faut donc proc�der � toutes les op�rations depuis le compte root
dans le r�pertoire /root/.netscape
.
Ex�cutez Netscape et cliquez sur le menu Edit, Preferences
.
Dans la rubrique Appearance
, activez ``Show Toolbar as Text Only''.
Dans Appearance, Fonts
, r�glez la taille des polices fixed- et
variable-width � au moins 14pt sans quoi la zone d'affichage sera trop
petite pour une lecture agr�able.
Entrez dans Preferences, Navigator
l'URL de la page d'accueil de
votre borne. Si vous utilisez Apache ou un autre serveur web en local,
http://localhost/
donne acc�s au sommet de l'arborescence. Vous
pouvez compl�ter afin de d�marrer plus profond�ment.
Sauvegardez ces choix puis cliquez sur View
dans la barre de
menu de Navigator. D�sactivez Personal Toolbar
et
Location Bar
.
L'interface ressemble nettement plus � celle d'une borne, non ? Vos choix seront sauvegard�s � la sortie de Navigator.
Examinez de pr�s votre �cran Navigator et vous remarquerez quatre zones qui doivent �tre recouvertes et prot�g�es des s�lection � la souris ou � la boule :
Voici un sch�ma des zones � masquer :
+---------------------------------------+
| # 1 Toolbar |
+--+------------+-----------------------+
|#2| | #3 Navbar |
+--+ +-----------------------+
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
+--------+ |
|#4 Key | |
+---------------------------------------+
Pour les zones sup�rieures (#1-3), on aura recours � trois images. Pour le contr�le de s�curit� (#4), on emploiera xdaliclock.
L'approche la plus facile pour les zones #1-3 consiste � r�cup�rer une copie d'�cran de Navigator en 800 par 600 et � d�couper les parties ad�quates. Je me suis servi de GIMP.
Vous pouvez reprendre le graphisme d'origine, changer les couleurs ou mettre votre propre logo. Sauvegardez les images en tant que :
Le syst�me X Window utilise xpm comme format natif. Servez-vous du programme sxpm pour les placer sur l'�cran.
La mise au point des masques avec le nombre exact de pixels au bon endroit n�cessitera plusieurs essais. Afin de vous aider, les fichiers xpm que nous avons cr��s et nos fichiers de configuration sont disponibles sur le site suivant : http://www.rom.on.ca/kiosk/HOWTO/. T�l�charger nos fichiers et vous en servir comme point de d�part sera s�rement le plus simple.
De m�me que vous cr�eriez normalement un fichier .xinitrc pour votre usage personnel, vous devez mettre en place un fichier d'initialisation de session X pour votre application. Le script suivant offre diff�rentes fonctionnalit�s :
Il s'agit du fichier principal de fonctionnement de la borne.
#!/bin/sh # kiosk.xinitrc -- Script d'initialisation de session X (borne interactive) # Demarrage de l'economiseur d'ecran /usr/X11R6/bin/xscreensaver-command -exit /usr/X11R6/bin/xscreensaver & # Recouvrement de Navigator (#1) sxpm /root/navtop.xpm & # Recouvrement des petites zones dans le selecteur de la barre d'outils (#2) sxpm -g +0+23 /root/navleft.xpm & # Recouvrement de la zone a gauche du bouton Home (#3) ####### ce n'est pas a _droite_ du bouton Home ? ##### sxpm -g +275+23 /root/navright.xpm & # xdaliclock sur le cadenas de securite (#4) /usr/X11R6/bin/xdaliclock -g 38x20+0+578 -font fixed -noseconds \ -bg gray -fg black & sleep 2 # Demarrage de fvwm2 fvwm2 & # Redemarrage de Netscape s'il s'arrete while true ; do if [ -f /.netscape/lock] ; then rm /.netscape/lock fi /usr/bin/netscape -geometry 800x600 done # On ne passera jamais ici
Vous pouvez � pr�sent tester la configuration de votre borne. Puisque vous allez le faire � r�p�tition, ainsi que depuis un script d'initialisation, cr�ez le script /root/xkiosk suivant :
/usr/X11R6/bin/xinit /root/kiosk.xinitrc -- /usr/X11R6/bin/X \ -xf86config /root/kiosk.XF86Config bc
N'oubliez pas le chmod ug+x
.
Dans des conditions normales (en tant que borne donc), Linux devrait d�marrer directement en mode borne. En cas de coupure de courant, de red�marrage accidentel ou planifi�, vous devez donc configurer le syst�me pour qu'il en soit ainsi.
Nous avons choisi le niveau de fonctionnement 4, d'habitude inutilis�, pour notre borne. Voici les modifications apport�es au fichier /etc/inittab :
# Default runlevel. The runlevels used by RHS are: # 0 - halt (Do NOT set initdefault to this) # 1 - Single user mode # 2 - Multiuser, without NFS (The same as 3, if you do not have networking) # 3 - Full multiuser mode # 4 - Kiosk mode # 5 - X11 # 6 - reboot (Do NOT set initdefault to this) # id:4:initdefault:
Afin de d�marrer la borne apr�s tout le reste -- dans notre cas Apache et MySQL --, cr�ez un fichier /etc/rc.d/rc.4/S99xkiosk :
#!/bin/bash # # S99xkiosk Initialization de la borne en runlevel 4 # # Author: Gene Wilburn <genew@rom.on.ca> # # Affichage d'un message dans la console echo "Starting up the X Window Kiosk ... " if [ -f /.netscape/lock] ; then rm /.netscape/lock fi # Enregistrement de l'activite de X echo %%%%%%%%%%%%%Reboot%%%%%%%%%% >> /var/log/xlog /root/xkiosk # On ne devrait se retrouver ici qu'apres un Ctrl-Backspace /sbin/shutdown -r now # Fini
Une fois ce fichier cr�� (et chmodifi�) et inittab modifi�, Linux d�marrera directement en mode borne. Telnet et ftp sont d�sactiv�s. On installe ssh pour la maintenance de la borne � distance avec ssh et scp.
On souhaite parfois, notamment lors des tests, disposer d'une console o� travailler comme en niveau d'init 3. Pour ce faire, appuyez sur Ctrl-Backspace afin de red�marrer le syst�me. Lorsque l'invite LILO: appara�t, tapez :
LILO: linux init 3
et enregistrez-vous comme d'habitude.
Selon le d�ploiement pr�vu de la borne, on ne d�sire pas n�cessairement que l'�conomiseur affiche toutes ses images disponibles par d�faut. Pour la galerie sur la biodiversit�, nous ne voulions que les images fractales anim�es qui �voquaient les sciences de la vie.
Apr�s un test de plusieurs �conomiseurs, nous avons d�cid� d'utiliser deux th�mes al�atoirement : coral et forest.
On restreint xscreensaver avec un fichier .xscreensaver dans le syst�me de fichier racine (/) qui contient les directives suivantes :
programs: \ coral -root \n\ forest -root \n
Notre borne est munie d'une carte Sound Blaster AWE64 et de haut parleurs. Nous avons choisi cette carte pour son bon fonctionnement sous Linux.
La base de donn�es MySQL qui pilote la galerie sur la biodiversit� contient une collection de fichiers-sons que le visiteur peut �couter. Parmi ceux-ci figure un quiz des chants d'oiseaux. Netscape sous Linux reste primaire sur une borne interactive pour certains aspects multim�dias par rapport � ce dont on dispose avec Windows ou sur un Mac.
Pour activer le son, nous avons d�ploy� un plugin Netscape �crit par Caolan McNamara ( http://skynet.csn.ul.ie/~caolan/docs/XSwallow.html) nomm� Xswallow. Tous les plugins son que nous avons test�s ouvrent une page web distincte lorsque le fichier est jou� (� moins que le fichier-son ne soit incorpor�). Parmi tous les candidats, Xswallow fonctionne le mieux et dispose de la page d'affichage la plus propre.
Bien que la pr�sence d'une page suppl�mentaire manque d'�l�gance, nous avons d�cid� que la stabilit� de Linux valait largement quelques clics pour retourner � la page pr�c�dente.
Autre probl�me : lorsqu'un son est demand�, la page d'Xswallow affiche ``Click to Abort Swallow of type audio/basic''. En cas de clic, on se retrouve avec une page blanche. J'ai l�g�rement modifi� le code source du fichier UnixShell.c d'origine :
char *text2 = "Click to Abort Swallow";
est devenu
char *text2 = "Click BACK Button to return from playing file";
La phrase ``of type audio/basic'' est due � Netscape et non � Xswallow.
Apr�s recompilation, j'ai ajout� le plugin � Netscape.
Un dernier mot concernant les fichiers-sons : nous avons re�u � l'origine un m�lange de fichiers .au et .wav. L'exp�rience a plaid� en faveur des .au en terme de stabilit� et nous avons converti tous les fichiers � ce format.
Ne disposant pas d'un budget suffisant pour l'achat d'�crans tactiles, nous avons retenu une boule de pointage pour l'orientation dans la borne (pas de clavier). Notre coll�gue Andy Rauer du Ontario Science Center � Toronto nous a donn� des informations sur l'emploi de composants industriels disponibles chez Happ Controls Inc., Elk Grove Village, Illinois http://www.happcontrols.com/ (check under their Interactives####### � traduire, non ? #### section). #######
Nous avions besoin de d�sactiver l'action de l'�quivalent du bouton droit de la souris qui d�clenche l'apparition de fen�tres de dialogue avec Netscape Navigator.
En construisant notre propre dispositif, nous avons �t� capables d'effectuer exactement les connexions voulues : un contr�le avec deux boutons �quivalents au clic gauche. Les boutons se trouvent des deux c�t�s du dispositif et sont adapt�s aussi bien aux gauchers qu'aux droitiers. Les personnes charg�es de la conception des bornes ont inclus nos �l�ments tels quels.
Pour notre borne, nous avons choisi les composants suivants (qui sont capables de r�sister aux termites) :
Nous avons achet� un bo�tier Hammond Manufacturing en plastique (cat no. 1591ABK) chez un revendeur d'�lectronique local pour h�berger l'ensemble.
En pr�vision de bornes suppl�mentaires et de d�faillances, nous avons command� quatre ensembles suppl�mentaires.
Dans le meilleur des mondes possibles (?), vous partiriez de z�ro pour r�aliser les pages HTML de votre borne. En gardant � l'esprit que la consultation d'une borne interactive diff�re de celle de pages sur le web depuis une station individuelle, les indications suivantes vous donneront quelques points de rep�re :
Malheureusement, vous h�riterez parfois de pages con�ues dans une optique davantage web que borne. Dans ce cas, une reprise compl�te des pages risque de consommer trop de temps. Lors du d�veloppement de pages web, suivez les instructions suivantes :
Nos tentatives pr�c�dentes � base d'ordinateurs sous Windows(R) n'avaient pas �t� satisfaisantes. Les unit�s se r�v�laient instables et se bloquaient fr�quemment. L'utilisation de Linux a permis l'�mergence d'une borne fiable et robuste dans un environnement ouvert au public et nous a incit� � entrevoir d'autres possibilit�s.
Parmi les objectifs futurs, figure le d�ploiement de bornes � travers Toronto. Les gens pourraient consulter des informations sur le site et, nous l'esp�rons, �tre suffisamment int�ress�s pour aller finalement consulter le site ROM lui-m�me. Nous envisageons des lieux tels les conventions, les expositions, les galeries commerciales, ou tout �v�nement particulier. Nous songeons aussi � des sites plus �loign�s comme les biblioth�ques publiques.
Pour ce projet, nous pensons avoir recours � des syst�mes Linux munis de modems qui contacteraient le site-m�re pour mettre � jour quotidiennement les fichiers et qui pourraient �tre appel�s pour des op�rations de maintenance.
Quand le prix de cette technique aura diminu�, nous souhaitons essayer des �crans plats pour les bornes. L'emploi d'�crans plats et de pc de petite taille devrait permettre la mise en oeuvre de bornes tr�s discr�tes.
Nous serons s�rement amen�s � d�ployer des bornes munies de claviers. Un nouveau d�fi en mati�re d'inhibition de combinaisons de touches ! Si quelqu'un souhaite apporter une contribution � ce sujet ou � tout autre aspect du Kiosk-HOWTO, qu'il m'envoie un courrier �lectronique � genew@rom.on.ca ou � njo@interlog.com.
Toute collaboration avec d'autres d�veloppeurs de bornes pour �tendre le Kiosk-HOWTO sera la bienvenue. Comme on dit avec Perl : ``Il existe plusieurs fa�ons de faire.''