Avertissement: je n'ai testé aucune des solutions que j'évoque ici. Je suis tombé un peu par hasard sur ces trucs, et comme quelques éminents adeptes de Python me font je crois l'honneur de parfois venir traîner dans le coin, je leur signale l'information, en espérant qu'ils en feront bon usage.

Il existe au moins méthodes pour utiliser Python pour développer avec Firefox:

  • avec PyXPCOM, qui permet la communication via des API entre les composants en Python et ceux en C++ ou en JavaScript. Pour pouvoir utiliser PyXPCOM, il faut soit compiler Firefox avec les options qui vont bien pour activer ce module, soit utiliser PyXPCOMExt, une extension qui embarque un interpréteur Python;
  • avec jsbridge qui permet lui la communication entre JavaScript et un interpréteur Python local

Atul Varma, un ancien d'Humanized qui travaille aujourd'hui aux Mozilla Labs sur des projets comme Ubiquity et Weave, conseille la deuxième solution qui offre selon lui plusieurs avantages: elle est plus légère et indépendante de la plate-forme, puisqu'elle utilise une installation locale de l'interpréteur, à la différence de PyXPCOMExt. Par ailleurs, une fois l'interpréteur Python installé sur la machine il pourra servir à d'autres applications.

Mais Atul ne s'arrête pas là. Amateur de Python, il a hacké Ubiquity et explique comment on peut dès à présent écrire des commandes Ubiquity en Python ! Il y a quelques mois, Atul avait également ressuscité le projet Python Spidermonkey, un pont entre Python et le moteur JavaScript de Firefox.

Il est également possible d'utiliser des scripts Python comme langage de script dans les pages web, comme du Javascript. Il "suffit" pour cela de compiler Firefox avec le support de PyDOM.

Ce support de Python n'est évidemment pas limité à Firefox, il est disponible dans n'importe quelle application basée sur XulRunner. Il est donc possible de développer des applications desktop en Python en utilisant XulRunner. Plus de détails ici et sur la compilation, et une petite documentation sur le développement d'applications avec Python et XulRunner.

J'attends avec impatience vos retour d'expérience !