Attention : Le contenu de ces pages n'a pas été mis à jour depuis longtemps. Il est probablement obsolète pour Firefox 4.0/Gecko 4.0 et supérieur. Pour du contenu plus récent, allez consulter developer.mozilla.org.

Configuration du serveur web

Pour utiliser une application XUL via un serveur web, il faut configurer un certain nombre de choses.

Les mimes-types

Lorsque le serveur web envoi un fichier au navigateur, il lui indique son type (appelé Mime-type). Cela permet au navigateur de pouvoir traiter correctement ce fichier en fonction de son contenu. Lorsque le serveur web envoi un fichier xul, il faut donc envoyer le mime-type correspondant à XUL. Idem pour RDF, CSS etc...

Modifications dans Apache

Il faut ajouter dans la configuration d'Apache (httpd.conf) ou dans un fichier .htaccess à la racine de votre site, les lignes suivantes pour qu'il envoie les bons types MIME pour les fichiers suivants (vérifiez toutefois si ces types n'existent pas déjà dans le fichier mimes.type d'apache ):

 AddType application/x-xpinstall .xpi
 AddType application/vnd.mozilla.xul+xml .xul
 AddType text/xml .rdf .xbl
 AddType application/x-x509-ca-cert .cacert
  1. Les fichiers *.xpi sont les packages des applications.
  2. Les fichiers *.xul sont les fichiers XUL et *.xbl les fichiers XML descriptifs de composants graphiques en XBL.
  3. Les fichiers *.rdf sont les fichiers de données au format RDF/XML.
  4. Les fichiers *.cacert sont des certificats électroniques utilisés pour donner des accès privilégiés à certains scripts.

D'une manière plus générale, pour tout type MIME et toutes extensions:

 AddType <type MIME> <extension>[ <extension>]*
  • *note:** pour le RDF, le type mime recommandé est application/rdf+xml mais mozilla ne comprend que text/xml.

ToDo : mime type text/rdf à tester pour RDF

Modifications dans PHP

Il est possible de génerer à la volée des fichiers xul ou RDF, de la même manière que le html. Par défaut, les fichiers PHP envoyent le mime-type du html (text/html). Il faut donc, lorsque l'on génére du xul ou du RDF, indiquer au navigateur qu'il s'agit d'un contenu XUL ou RDF. On utilise alors la fonction PHP header, à mettre au début du script PHP.

Pour du XUL, on fera par exemple :

   <?php
      header('Content-type: application/vnd.mozilla.xul+xml');
      // ... génération de XUL
   ?>

Dans le fichier php.ini, le paramètre short_tags doit être sur off. Il faut donc ouvrir son code php avec <?php et non plus <? (cette notation pouvant servir à la fois au PHP et au XUL, elle se révèle trop ambiguë).

Avec les JSP et servlet

Pour indiquer le bon content-type en jsp, il suffit d'inclure

  <%@ page contentType="application/vnd.mozilla.xul+xml" %>

Et voici un exemple dans une servlet :

 import javax.servlet.*;
 import javax.servlet.http.*;
 import java.io.*;
 public class UneServlet extends HttpServlet {
   ...
   public void doGet(HttpServletRequest req, HttpServletResponse res)
	                            throws ServletException, IOException {
        res.setContentType("application/vnd.mozilla.xul+xml");
	PrintWriter out = res.getWriter();
	out.println("<window>");
        ...
	out.close();
   }
 }

Rubrique ApplisWeb


Copyright © 2003-2013 association xulfr, 2013-2016 Laurent Jouanneau - Informations légales.

Mozilla® est une marque déposée de la fondation Mozilla.
Mozilla.org™, Firefox™, Thunderbird™, Mozilla Suite™ et XUL™ sont des marques de la fondation Mozilla.