Le meilleur des deux mondes : Prism
Par Laurentj le vendredi, octobre 26 2007, 12:03 - Technologies Web - Lien permanent
Le projet WebRunner devient un projet du Mozilla Labs, sous un nouveau nom, Prism. C'est donc l'occasion de vous parler un peu de ce produit qui pourrait à l'avenir avoir un certain succés.
WebRunner, ou plutôt maintenant Prism, est une application basée sur XulRunner, et qui sert à lancer, non pas des applications desktop comme XulRunner, mais des applications web. C'est donc un navigateur, comme Firefox, mais sans l'interface de Firefox, sans barre URL, sans barre d'outils etc.. Ce qui fait que lorsque vous lancez une application web avec Prism, cette application est dans sa propre fenêtre. Pour cela Prism a besoin de trés peu de chose :
- un fichier ini pour indiquer quelques paramètres, dont l'url de l'application web
- une icône, qui sera rattaché à la fenêtre, et qui sert entre autre pour le raccourci sur le bureau
- éventuellement un script javascript qui sera exécuté au lancement de l'application, et qui a les privilèges Chrome.
Et tout ceci empaqueté dans un fichier zip avec un suffixe ".webapp". Et encore, Prism peut le créer pour vous : il suffit de lancer le programme sans indiquer de fichier webapp, et une boite de dialogue s'affichera permettant de vous créer un nouveau raccourci pour une application web.
Quel sont les intérêts de Prism :
- il n'y a rien à installer sur l'ordinateur (si ce n'est Prism) pour exécuter une application web : par définition, l'application est servie par un serveur web.
- L'expérience utilisateur est améliorée : l'utilisateur ne voit que l'application web, et celle-ci apparait à l'utilisateur comme si c'était une application desktop. Il n'y a pas d'élément d'interface inutile, pas de fonctionnalités pouvant perturber le déroulement de l'application, comme peuvent l'être les boutons suivant/précedent, ou la barre d'url. Etc.
- Ce n'est pas une nouvelle plateforme de développement avec des technos propriétaires comme peuvent l'être Adobe Air et Silverlight : cette plateforme, c'est la plateforme web, avec toutes les technologies web. Mieux, les applications web lancée avec Prism peuvent utiliser toutes les technologies avancées de Firefox : canvas 2D (et bientôt canvas 3D dans Firefox 3), SVG, fonctionnalités offline (de Firefox 3), stockage local avec le DOM:storage, XUL, XBL etc.
- Ces applications web restent des applications web : elles sont lancées dans un contexte sécurisé. Elles ne peuvent accéder aux fichiers locaux, ne peuvent lancer d'autres applications etc. Cependant il sera possible prochainement d'installer des extensions, qui auront donc ces privilèges, et permettront alors d'améliorer l'expérience utilisateur et de compléter les besoins de l'application.
- On peut installer une feuille de style en local, qui peut alors changer l'apparence de l'application. Cela peut permettre une meilleur intégration visuelle, la possibilité de cacher des élements de l'interface web, ou de modifier d'autres aspects de son apparence (c'est en fait le même principe que le fichier userContent.css dans Firefox)
- Qui dit application web, dit multi-plateforme. Et comme l'environnement Mozilla est disponible sur un tas de plateforme, Prism sera disponible sur ces plateformes (au moins sur Windows, Mac et Linux).
J'y vois un avantage aussi pour les applications en entreprise. Le service informatique peut configurer les postes en créant des raccourcis avec Prism vers les applications intranet. Pour les utilisateurs, vu que l'interface est juste celle de l'application, ce sera moins perturbateur que l'exécution de la même application dans un navigateur traditionnel. Les utilisateurs n'ont pas non plus à s'embêter avec les favoris : ils cliquent sur l'icône sur le bureau, et ils peuvent travailler.
Avec cette sortie de Prism, avec toutes les nouvelles API pour les applications web dans le futur Firefox 3, Mozilla est donc orienté à fond vers les applications web. On comprend mieux alors le désintérêt de Mozilla pour XulRunner en tant que produit grand public. Concurrencer Adobe Air ou Silverlight avec XulRunner aurait été sûrement trop dur (pas encore d'environnement de développement dedié, pas de "belle carrosserie" etc..). Ils ont préféré choisir une autre direction, plus facile, tout en restant innovante.
D'un autre coté, si le Mozilla Labs commence à s'occuper de projets basés sur XulRunner, il y a de forte chance que XulRunner ne soit pas complètement abandonné (De toute façon, les petits gars de MozPad ne comptent pas laisser mourir XulRunner ;-) ).
Commentaires
Euh.. Je ne vois pas trop la différence entre Prism et XULRunner...
Sinon ça m'embête l'absence de "précédente"/"suivante", mais j'espère et je pense qu'il y aura quelque chose pour intégrer ces boutons facilement ;) !
L'initiative est très intéressante en tout cas ! Ca donne envie :) !
@neovov : prism, c'est pour les applications web (donc prism c'est juste un navigateur), XulRunner, c'est pour les applications desktop (où tu dois installer une application sur ta machine pour la lancer).
En principe, dans une application bien foutue, tu n'en a pas besoin. precedent/suivant sont indispensable sur un site documentaire, mais en principe pas du tout dans une application. Tu as un des boutons suivant/precedent dans thunderbird ? dans word ? etc.
"il y a de forte chance que XulRunner ne soit pas complètement abandonné" Article intéressant, mais je ne vois pas très bien comment mozilla pourrait abandonné XulRunner... :p
@pitux : toi tu as loupé un chapitre :-p
En résumé : Mozilla n'a pas du tout l'intention de travailler sur XulRunner même, et il n'y a d'ailleurs plus du tout de binaires officiels depuis 1.8.0.4 (depuis un an donc..). Tu peux toujours te compiler un xulrunner avec les dernières évolutions de gecko, mais il n'y a aucune amélioration dans xulrunner en lui même.
Et les nightly builds?
"Mais rassurez vous tout de même, le projet XulRunner ne va pas mourir, bien au contraire. En effet, Mozilla compte bien faire évoluer la plateforme Mozilla dans la mesure où Firefox et Thunderbird repose sur ladite plateforme. Toute évolution dans Firefox impacte la plateforme Mozilla, et donc naturellement XulRunner." Tu le dis toit même :p
@pitux : XulRunner évolue parce que son coeur, gecko, évolue. Mais il n'y a aucun développement spécifique à XulRunner qui est fait. Et les nightly builds sont là parce qu'ils n'ont pas débranché la tinderbox :-) Enfin c'est surtout que ça permet à ceux de l'extérieur qui veulent essayer d'améliorer le produit, de vérifier que ça compile toujours et d'apporter des correctifs :-). L'infrastructure reste, mais il n'y a plus personne chez Mozilla aux commandes du projet XulRunner.
Oui mais ça montre bien que xulrunner n'est pas abandonné par mozilla.
Tiens, je viens de tomber la dessu http://linuxfr.org/2007/10/26/23255.html
Ça me plaît bien comme idée, ne serait-ce que pour en faire un remplaçant au "shell" de windows par défaut (explorer.exe => prism.exe), et transformer facilement un XP en simple borne intranet... Il existe déjà pas mal de softs de ce genre, mais généralement ce sont des surchouches de IE et ils ne remplacent pas totalement le shell.
Si ca peut accepter java j'en connais un (responsable info de ma boite) qui va aimé ça pour déployer CITRIX :)
Imaginons que je puisse cacher le menu et toutes les boîtes à outils de firefox. Ou simplement passer en mode plein écran. Si je crée un lien sur mon bureau qui lance firefox avec l'URL de mon application web. Est-ce un prism ? ou ai-je manqué quelque chose ?
Sinon pour rebondir sur les boutons 'Précédent/Suivant' je pense qu'une énorme différence avec les applications Desktop classiques et que les applications web sont des applications hypertextes où le client saute de page en page en cliquant sur des liens. Ces boutons ont donc un intérêt dans ce contexte.
Pour élargir le débat au web, je pense que c'est la mauvaise direction. Un client web n'est pas, à mon avis, un terminal minitel censé afficher le HTML que le serveur lui envoit. Il est censé gérer l'état de l'application hypertexte (on revient aux boutons précédent/suivant).
Non pas tout à fait : tu auras le menu contextuel de Firefox par exemple. Dans Prism, ce n'est pas le même, et ne permet pas il me semble de faire un back etc. Il n'y a pas non plus tous les raccourcis clavier de Firefox. Et tu dois avoir d'autres différences...
Sinon, mettre en plein écran, ce n'est pas du tout équivalent à ce que fait prism, et pour cacher les toolbars et menus de Firefox, il te faudrait installer une extension.
On peut se servir d'hyperlien, mais ce n'est pas forcément ce qu'il y a de plus adapté dans le cadre d'une application. D'autant plus que dans une application web, il n'y a pas la notion de page, puisque ce n'est pas un document. On parlerai plutôt d'écrans. Et donc au final, dans ce contexte, liens hypertextes sont assimilables à des boutons.
Justement, non. Tu confonds encore une fois document et application.
Ok pour les différences entre prism et le plein écran mais tu admettras que c'est cosmétique. Je ne voies pas bien l'intérêt de ne plus avoir un menu contextuel ou de raccourcis clavier.
Je ne voies nulle part la notion d'écran dans le web : on parle d'URI, de requête, de réponse, de ressource, de représentation.
Donc je confirme, oui, que sur le web je confonds document et application. Il n'y a aucune distinction de ce genre dans les différentes spécifications du web.
J'ai oublié d'expliquer les raisons de ma réaction tout à l'heure :
1. il me semblait que tu étais critique vis à vie d'AJAX et de ce que tu appelles des "applications web" :
Mais maintenant que Mozilla sort un "produit" en rapport avec ces "applications web" tu as l'air d'être moins critique. C'est dommage.
2. Je pense que réduire le web à un tuyau ou on envoie des applications est dommage (c'est un euphémisme)
NB : ta fenêtre d'édition de commentaire est un peu petite ;)
@benoit :
Totalement faux. Relis mes billets. Oui je suis critique envers Ajax parce que ça réinvente la roue (XUL et co) et que ça pose pas mal de problème en terme de facilité de dev, de maintenance, d'accessibilité et cie. Mais je ne suis absolument pas critique envers les applications web : j'en fais depuis des années. Applications web ne veut pas dire ajax. Et Ajax ne veut pas dire application web.
Désolé pour toi si tu n'a pas compris l'intéret de Prism...
Utilise firefox + extension resizeable textarea.
Ola mais ne sois pas sur la défensive comme ça. Tout va bien, reste cool :)
Je reviendrai donc ici-même le jour où j'aurai compris l'intérêt de prism pour expliquer ce que j'y vois.
En attendant...
J'ai comme l'impression d'avoir déja vu quelque chose du même genre chez Microsoft, il y'a quelques années. Ca s'appellait les "HTA", comme HTML Applications. Mais à cette époque, je ne l'utilisais guère que pour faire tourner des applications DHTML "pas vraiment connectées", un peu comme de gros scripts. Et encore, c'était du VBScript... (tu veux un barf-bag ? j'en ai plein :)
Installation et utilisation de prism sous linux : http://www.tux-planet.fr/blog/?2007/11/02/201-installation-et-utilisation-de-prism-sous-linux
@benoit : regarde l'interface du webmail de Yahoo! http://www.flickr.com/photo_zoom.gne?id=118979235&size=o
Visuellement, ça me fait clairement penser à une application desktop. Et à l'utilisation, on peut faire des choses (telles que le glisser/déposer) qui font plus penser à une application qu'à un site web.
Ce que fait Yahoo! avec son webmail, plein d'autres sociétés sont en train de le faire avec leurs services. Et ce que font Mozilla (avec Prism, XUL & Co.), Adobe (avec Air, Flex & Co.) et Microsoft (avec Silverlight, XAML & Co.) c'est simplement fournir aux développeurs des moyens de réaliser des applications web riches, qui étaient jusque là bornées par les limites du HTML.
Il n'est pas question de réduire le web à ça. Au début du web on avait les pages HTML statiques, puis sont apparus les pages dynamiques permettant de consulter et des manipuler des bases de données (ex. PHP, ASP, etc), et aujourd'hui on commence à voir cette nouvelle génération d'application web qui sont plus des applications que des pages web. Et tout ce beau monde cohabite très bien sur le web. Ces applications web riches ne vont pas faire disparaître les autres usages du web. Tout y a son utilité.
est-il possible de créer une application Prism avec une extension Firefox spécifique (commejustement resizeTextArea ou ImageZoom) ?
Salut,
Excusez-moi de m'immiscer mais je ne vois pas trop non plus la portée considérable de l'Innovation...
Avec n'importe quel navigateur pas trop mal conçu, on peut déjà, sans rien installer DU TOUT, lancer une appli web dans une fenêtre de navigation sans AUCUN artifice visuel, en désactivant tous les raccourcis-clavier, les menus contextuels et en ajoutant _au besoin_ d'autres restrictions (via la ligne de commande ou, aussi, un banal petit fichier.ini pour modifier la configuration du navigateur par défaut) :)
http://files.myopera.com/ra_mon/albums/212599/primoperagoogledocs.png
La création d'un raccourci pour lancer l'appli web en question pourra se faire tout aussi simplement...
@+
--
Pierre
@pierre : avec firefox aussi on peut faire ce genre de chose. L'avantage de prism c'est que tout est préconfiguré pour. et le raccourci est créé tout seul.
Est ce qu'aussi avec Opera, on peut définir l'icone de l'application ? si chaque application a l'icone d'opera, c'est plus compliqué de retrouver l'appli dans la barre des tâches.
Installer 22Mo sous mon XP (un peu plus que Firefox pour moins de fonctionnalités...) pour créer un raccourci ne me viendrait pas à l'idée :) mais bon l'assistanat n'a pas de limite :D
Bien sûr : opera:config#UserPrefs|ApplicationIcon Sinon c'est aussi une fonctionnalité des raccourcis sous Windows par exemple...
@+
--
Pierre