Vous le savez sûrement déjà, Mozilla a annoncé il y a peu Prism. Cette nouveauté vous permettra de pouvoir exécuter vos applications web à l'extérieur de votre navigateur, profitant d'un lien plus direct vers vous, l'utilisateur. On peut donc parler de technologie RDA, bien que actuellement Prism est plutôt un "conteneur". Le but est tout simplement de pouvoir proposer des applications web directement accessible depuis votre bureau, comme par exemple Gmail, GCalendar, Zoho, etc. Les plus nommées sont de vraies applications au sens propre du terme (organizer, calendrier, etc.) et montre donc un peu la cible souhaitée de Prism. Plutôt que de décrire les fonctionnalités de Prism, je souhaite revenir sur deux aspects très intéressants autour de cette initiative.

Mozilla Prism

Tout d'abord la "roadmap" de Prism, dont on peut lire quelques idées sur l'excellent blog d'Alex Faaborg. Au menu donc, une meilleure intégration au niveau du bureau (icônes réduites, du drag and drop), des notions autour de la sécurité (sujet très délicat et très intéressant), un mode connecté-déconnecté (sachant que cela est prévu dans Firefox 3), etc. En résumé, on voit là un ensemble de notions qui correspondent totalement aux définitions des RDA que l'on peut se faire. Et c'est une très bonne nouvelle de voir Mozilla se lancer officiellement dans ce domaine ; ayant bien débattu autour de XULRunner, je pense que l'apparition de Prism (non simple, très ciblé sur les RDA, s'affiche en concurrent direct d'AIR et de WPF (et non Silverlight), etc.) est tout à fait logique et bien venue. Mozilla, de part sa position dans le monde de l'open source et du navigateur, ne pouvait pas ignorer le domaine des RDA.

Mozilla Prism

Au delà de ça, l'investissement de Mozilla et surtout le nouveau positionnement (je rappelle que Prism n'est "que" WebRunner renommé) valide l'importance que l'on pourrait avoir autour des RDA, que ce soit autour des fonctionnalités offertes ou de son but. Je m'explique : en se basant également sur un modèle connecté-déconnecté, en mettant en avant l'expérience utilisateur tirée du rapprochement entre l'application et l'utilisateur, en offrant aux webapp une plus forte indépendance en s'affranchissant du navigateur.

Au final, je retiendrais cette phrase tout à fait pertinente autour des RDA : cela regroupe le meilleure des deux mondes (le web et le bureau). A suivre...

RIA et SEO

jeudi 18 octobre 2007
Les RIA connaissent une véritable expansion, et l'un des problèmes liés à ce changement est le référencement.

C'est une question qui revient souvent aux connaisseurs et acteurs de ce domaine : comment obtenir un bon référencement avec des technologies RIA (Ajax, Flash, Silverlight, etc.), alors que les grands moteurs de recherche ne peuvent pas facilement indexer leur contenu ? Il existe des solutions de rechanges, plus ou moins complexes et efficaces selon les technologies et les méthodes mises en place.

Tout d'abord, je souhaiterais casser un mythe : Google indexe les fichiers .swf (Flash). La preuve (enfin, 25 millions). Ce qu'il faut savoir, c'est que Google sait indexer les libellés présents dans les fichiers swf, mais uniquement ceux statiques (non chargés dynamiquement). En sachant cela et en se concentrant sur des mots clés dans les applications riches créées, il est donc possible de bien indexer ces applications Flash (et donc Flex).

Mais ce n'est évidemment qu'une solution de remplacement. L'idéal, dans un souci d'accessibilité et de référencement est de créer un double HTML, permettant aux moteurs de recherche d'indexer le contenu de la page : cette dernière pouvant ensuite, via un Javascript, vous rediriger automatiquement vers l'animation Flash si nécessaire. On peut imaginer un système similaire pour les applications Silverlight, qui fonctionnent sur le même modèle que Flash (nécessitant donc un plugin). Certains ont essayé de voir si Google référençait le XAML directement, via le mot clé SilverlightSEO. L'essai n'est pour l'instant pas concluant, car la page ne se trouve pas indexée... En effet, comme l'explique Josh sur son blog, le XML n'est pas indexé par Google, car considéré comme spécifique à l'application, et non à son contenu.

De la même manière, comment indexer correctement une application Ajax qui "injecte" du code HTML dynamiquement ? Très délicat... il existe tout de même plusieurs solutions à mettre en place pour contourner ces problèmes. En voici donc deux qui pourront aider les développeurs.

Flex et le deeplinking


Pour obtenir un bon référencement pour une application Flash, il est possible d'associer des mots clés dans un swf embarqué via les flash vars, inclues dans l'appel à l'objet swf. Ces mots décrivent, à l'image des balises meta en HTML, le contenu de la page (en l'occurence de l'application). Le problème est que les applications Flash n'ont qu'un point d'entrée unique : il n'est donc pas possible d'effectuer un affinage des données meta sur toutes les vues de l'application Flash.

Ce problème
pourra être résolu avec la fonctionnalité appelée Deep Linking, présente dans Flex 3 Moxie. Elle permettra de créer des points d'entrée dans votre application, qui deviendront accessibles de l'extérieur directement, même si ces points font partie d'une même application. Dans le cas d'une suite bureautique, on pourrait donc imaginer les points d'entrée suivants dans une seule applications :
http://www.suitebureautique.com/suite.swf#tableur
http://www.suitebureautique.com/suite.swf#traitement_de_texte
Ainsi l'on pourra créer une page HTML pour chaque entrée dans le swf, et permettre un affinage des méta données, telles qu'on pourrait le faire sur un site "classique" ! C'est une solution relativement simple à mettre en place grâce au deeplinking de Flex 3, bien qu'il soit possible de mettre en place cette méthode sur les versions précédentes. Ainsi l'on permettra une meilleure description du contenu (et non pas que de la première page par exemple) des applications Flex.

Quelques bonnes pratiques pour une application AJAX


Cet excellent article d'Edward Clarke sur l'Ajax et le SEO propose quelques bonnes pratiques et surtout une discussion dans les commentaires qui suivent très intéressante et pleine d'autres astuces. Pour résumer brièvement les idées proposées, il s'agit de rendre chaque page de contenu Ajax accessible via une URL sémantiquement adéquate. Exemple parlant : http://www.fdeshayes.net/blog/article/153 devrait rediriger vers l'article 153 de ce blog... Cette philosophie se rapproche de l'architecture
REST. Pour obtenir des adresse de ce type, il faut mettre en place ce que l'on appelle l'URL rewriting, qui permet via un script coté serveur utilisant la commande mod_rewrite de rediriger les requêtes reçues vers une autre adresse. Il existe de très nombreux articles détaillant cette méthode ; en voici un : mod_rewrite, réécriture d'URL à la volée.
Le second conseil est de pouvoir maximiser les liens entrants vers ces adresses pointant vers un point particulier de l'application et non la home page, qui centraliserait les liens entrants.


Cet article ne se veut pas exhaustif : je ne souhaite pas présenter toutes les solutions possibles pour améliorer le référencement des RIA. Ce qu'il faut surtout retirer de ces exemples est qu'il n'existe pas une unique solution pour améliorer le positionnement sur Google d'une application riche, ou plus simplement d'une application AJAX / Flash / Silverlight. Il s'agit en fait d'un ensemble de pratiques à connaître, plus ou moins bien gérées par les différents moteurs de recherche. Du fait de sa jeunesse, il existe encore très peu de solution pour les applications Silverlight. Pour ceux qui souhaiteront approfondir, voici quelques articles traitants de ce sujet et présentant d'autres solutions possibles :

En conséquence, il est tout de même très limité de pouvoir référencer correctement ses RIA. C'est donc un domaine très intéressant qui je l'espère bougera très bientôt (Google, Yahoo ?). Pour le moment, l'idéal est de réaliser une copie entière de votre site en page "statique" HTML. Mais cette solution souvent très coûteuse n'est que très rarement mis en place.

Benchmarks RIA

mardi 9 octobre 2007
Voilà une application de benchmark très intéressante pour toute personne concernée par des applications à forte consommation, que ce soit en bande passante ou en données traitées. Ce benchmark compare les temps de traitement et de rapatriement, ainsi que la consommation de bande passantes, sur quelques technologies RIA et de différentes manières (selon les protocoles utilisés).

Benchmark de traitements de données

Bien que relativement technique, cette application permet un comparatif intéressant entre des technologies n'ayant pas les mêmes résultats selon le nombre de données à traiter et des protocoles plus rapides ou moins gourmands. Que retirer de ce benchmark ? Et bien que les protocoles qui ne sont pas textuels sont beaucoup plus rapides : je pense notamment à AMF (Action Message Format) qui offre un véritable gain de temps sur le parsing et l'envoi des données, ce qui n'est pas étonnant car c'est un protocole binaire manipulant directement des objets ActionScript et non uniquement du texte.

Un autre benchmark bien connu est celui des bulles qui rebondissent : il ne s'agit pas du même moyen de comparaison, ce dernier étant plus axé sur l'aspect graphique. Les résultats sont très complets et embrassent une grande partie des technologies RIA. Que peut-on conclure ? Là encore, pas de conclusions hâtives, mais toutefois un léger avantage pour Silverlight qui s'en sort le mieux. Toutefois, on peut souligner le meilleur comportement de la technologie Flex sur un plus grand nombre de balles (128), comparé au Java ou au DHTML.

Benchmark graphique

Quelques benchmarks intéressants, qui mériteraient peut-être un tableau récapitulatif. Connaissez-vous d'autres benchmarks de technologie RIA ? Quel sont les aspects d'une application riches les plus enclins à être benchmarkés pour juger de la qualité de la technologie ?
Hier a débuté la conférence Adobe MAX 2007 à Chicago. Cette dernière a lieu tous les ans et se présente comme la principale conférence d'Adobe de l'année, avec à chaque fois de nombreuses nouveautés. Et le premier jour n'a pas manqué de fournir une actualité chargée, dont voici un bref aperçu.

Adobe Max

Tout d'abord, l'annonce a été faite du rachat de la société Virtual Ubiquity, connue pour avoir développé l'application Buzzword. Pour ce qui ne connaissent pas Buzzword, il s'agit d'une RIA développée via la technologie Flex permettant le traitement de texte. On pourrait croire que Buzzword n'est pas adaptée (cela reste du Flash) mais le rendu est très élégant et l'impression qui ressort à l'utilisation est une simplicité et une qualité indéniables. Néanmoins, Buzzword reste encore à ses débuts et peut paraître limité sur certains aspects. A découvrir par vous même, Buzzword venant de passer en version bêta public. Il faut également souligner qu'une version AIR est prévue.
Le rachat de cette société (et donc de cette RIA) lance donc Adobe dans le domaine des applications bureautiques en ligne, avec certes un peu de retard. Au delà de vouloir s'intégrer dans ce marché, je pense que la stratégie d'Adobe et de prouver, par le biais de Buzzword, l'étendue des capacités de Flex, et donc des RIA.

Buzzword

Adobe a également annoncé le lancement de deux applications développées en interne, développées sous AIR et Flex. Adobe Media Player permet donc de gérer et de lire du contenu vidéo via une interface multi plateforme. J'avais déjà discuté de cette application qui s'inscrit sur le désir de démontrer les nouvelles qualités vidéos du Flash Player, via sa dernière version supportant la HD. Également disponible, Adobe Share, qui permet via une interface Flex de partager, gérer et organiser vos documents. Une sorte d'espace de stockage en ligne, avec tout de même 1Go !

Au niveau des nouveautés "technologiques", il faut noter la sortie de AIR bêta 2 et de Flex 3 bêta 2. Au programme, des corrections de bugs, des optimisations, une meilleure gestion de la sécurité, etc. Rien de bien extraordinaire, mais nous connaissions tout cela avant. A noter tout de même l'annonce des tarifs prochains de Flex Builder, et un papier très intéressant sur la sécurité HTML des applications AIR.

Tarifs pour Flex 3

Enfin, eBay lance publiquement San Dimas, pour l'occasion renommé eBay Desktop. J'espère que cette première application AIR lancée ouvertement à tous permettra d'avoir un véritable retour des utilisateurs finaux (et non uniquement des initiés).

ebay Desktop

Adobe MAX n'étant pas fini, on peut s'attendre encore à de nouvelles actualités... sinon, RDV mi-octobre pour le MAX Europe, à Barcelone !

Rechercher