Kiosk portable

Le but est d'obtenir un kiosk portable pour une utilisation depuis une clé usb, un CDROM...

Préparation

Dans un premier temps, il faut récupérer une version de K-Meleon 1.5.x / 1.6.x au format portable (compressé en 7-Zip) et le décompresser là où nécessaire.

A noter, en ligne de commande, le commutateur -webapp démarre le navigateur en mode fenêtre unique, sans aucune barre d'outils (ou autre). Ici je présente une méthode permettant de ne garder que les composants et la configuration nécessaires au fonctionnement du kiosk.

Configurer K-Meleon

Les opérations s'effectue depuis la racine de l'application.

Nettoyage et organisation

Vider les répertoires defaults et macros s'ils existent.

Supprimer tout le contenu du répertoire kplugins à l'exception des fichiers fullscreen.dll, runprotocol.dll et macros.dll.

Créer un fichier profile.ini s'il n'existe pas. Le vider dans le cas contraire.

Créer répertoire Profiles s'il n'existe pas. Le vider dans le cas contraire. Dans ce répertoire, créer un fichier profiles.ini contenant le texte suivant :

[Profile0]
Name=default
Path=kiosk
IsRelative=1
Default=1
[General]
StartWithLastProfile=1

Une fois tous les points précédents effectués, lancez le navigateur, annuler les possibles demandes d'activation des plugins, puis le fermer.

Normalement un sous-répertoire Profiles/kiosk aura été créé et rempli automatiquement.

Interface et composants

Dans le sous-répertoire Profiles/kiosk, créer un fichier prefs.js, s'il n'existe pas, et le remplir avec le texte suivant :

user_pref("browser.cache.disk.enable", false);               
user_pref("kmeleon.favicons.cached", false);
user_pref("kmeleon.toolband.URL Bar.visibility", false);
user_pref("kmeleon.display.statusbar", false); 
user_pref("kmeleon.plugins.fullscreen.load", true);
user_pref("kmeleon.plugins.runprotocol.load", true);
user_pref("kmeleon.plugins.macros.load", true);
user_pref("browser.startup.homepage", "about:blank");

Cela représente la configuration du navigateur :

Raccourcis clavier

Créer un fichier accel.cfg, s'il n'existe pas, et le remplir uniquement avec le texte suivant :

%ifplugin fullscreen
ALT VK_F11 = fullscreen()
%endif
#ALT VK_F4 = ID_APP_EXIT
ALT VK_F2 = ID_PREFERENCES
VK_F5 = ID_NAV_RELOAD
CTRL VK_PLUS = ID_FULLZOOM_INCREASE
CTRL VK_ADD = ID_FULLZOOM_INCREASE
CTRL VK_MINUS = ID_FULLZOOM_DECREASE
CTRL VK_SUBTRACT = ID_FULLZOOM_DECREASE

Cela représente les raccourcis clavier autorisés :

Note : il semble que le raccourci ALT+F4 ne soit pas nécessaire, car fonctionne même sans sa configuration.

Forcer l'ouverture en mode plein écran

Créer un fichier macros.cfg, s'il n'existe pas, et le remplir uniquement avec le texte suivant :

OnOpenWindow {
	if (getpref(BOOL,"kmeleon.plugins.fullscreen.last")==false) plugin(fullscreen,"");
}

Configurer le lancement d'applications externes

Le plugin runprotocol

Ce plugin permet de gérer un protocole RUN, autorisant l'exécution de programmes locaux (cf. la section des plugins K-Meleon sur ce site).

Une variable d'environnement KMRUNCWD peut être utilisée comme répertoire racine à des chemins relatifs vers des programmes ou des fichiers. Cela permet l'exploitation d'applications web portables.

Pour utiliser le protocole RUN, il suffit de saisir run: en début d'URL suivi du chemin absolu (ou relatif) vers le programme (ou fichier, ou adresse internet) que l'on souhaite ouvrir.

Démarrer une application web

Il suffit d'exécuter une ligne de commande du type :

k-meleon.exe ..\www\index.html

L'exemple suivant montre comment utiliser la variable d'environnement KMRUNCWD du plugin runprotocol à l'aide d'un fichier batch (ici le répertoire racine pour les chemins relatifs sera celui du navigateur) :

@echo off
SET KMRUNCWD=%CD%
k-meleon.exe –webapp ..\www\index.html

Example d'arborescence

|-- Kiosk                      # racine de l'application
    |-- bin                    # racine de K-Meleon
    |-- www                    # scripts html/css/js du menu
    |-- lancer_menu.bat        # batch pour lancer l'application

Configurer ZMWS pour des webapps

Présentation

Lance automatiquement le serveur web ZazouMiniwebServer au démarrage (et clos à la fermeture).

Téléchargement

Fichiers nécessaire au fonctionnement de ZazouMiniwebServer :

Installation

Il faut copier les fichiers ZazouMiniwebServer.dll et _config.zmwsc à la racine de K-Meleon et kzmws.dll dans le sous-répertoire kplugins.

|-- K-Meleon
    |-- ZazouMiniwebServer.dll
    |-- _config.zmwsc
    |-- kplugins
        |-- kzmws.dll

Comment ça marche

|-- Kiosk
    |-- K-Meleon
    |-- htdocs
    |-- php5

Pour utiliser le language PHP, télécharger le pack PHP pour windows et l'extraire dans un sous-répertoire correspondant. Par convention on utilise php4 ou php5 comme nom de sous-répertoire. Penser à activer les extensions dans le php.ini, si nécessaire.

Editer le fichier _config.zmwsc et modifier les options suivantes :

Main:webdir=..\\htdocs           # Racine du site
Main:port=8088                   # Port d'écoute
Main:bind=127.0.80.88            # Adresse IP d'écoute
Main:phppath=..\\php5            # Service PHP5

Pour accéder au site, utiliser l'URL : http://127.0.80.88:8088/