Bilan des technologies riches en 2007

dimanche 30 décembre 2007
La fin de l'année est presque là ; voilà donc venue l'heure des bilans. Cette année fut riche en annonces et en nouvelles applications riches : elle marque l'avènement de cette évolution. On ne perçoit plus forcément les technologies type Flex ou Silverlight comme une vague possibilité, mais comme une solution tout à fait envisageable (dans certains contextes bien évidemment). Petit coup de projecteur sur quelques faits marquants, quelques nouveautés techniques et applications riches de cette année 2007.

Flex open source

Adobe Flex 3
C'est une belle annonce formulée par Adobe au début de l'année, et qui a chamboulé l'échiquier des technologies RIA. Certaines personnes étaient encore réticentes à adopter, ou même à envisager Flex de part son aspect "fermé", contrôlé entièrement par Adobe. Cela n'est désormais plus le cas et la sortie très prochaine de Flex 3 permettra donc à ce framework de devenir open source. Combiné à d'autres annonces (Tamarin, BlazeDS), on conçoit la nouvelle orientation de la politique open source d'Adobe : séduire le plus grand nombre de développeurs (et non plus des personnes venant exclusivement de Flash) pour développer sa plateforme.

Le multi plateforme


Plus qu'une annonce "marquante", le multi plateforme devient une tendance quasiment obligatoire des RIA, et donc des applications Web. On le voit notamment avec Silverlight, disponible sous Windows et Mac, et dont Microsoft soutient le développement sur Linux. Ces 3 OS sont donc des cibles prioritaires pour ces plugins : c'est également le cas pour les navigateurs. La montée en puissance de Firefox fait qu'il devient difficile d'ignorer autant d'utilisateurs.
Cette tendance s'observe également autour des RIA : les applications AJAX sont presques toutes construites autour d'un framework assurant la compatibilité sur d'autres couples OS-plateforme. On le voit également dans les RDA, avec les plateformes AIR ou XUL/XULRunner.
Bien que cette tendance ne soit pas nouvelle, je pense qu'elle se confirme en cette année 2007, notamment avec le changement de la politique Microsoft qui n'est plus "only Windows".

Silverlight


http://www.silverlight.net

Silverlight marque l'entrée de Microsoft dans le domaine des technologies RIA. Entrée réussie, car le plugin a été très rapidement nommé "Flash killer", bien que cette appelation soit exagérée. En restant conscient des 10 ans de retard de Microsoft sur Adobe, on peut toutefois saluer la réussite de Silverlight via une ligne de produits de qualité, des premières applications impressionnantes et une roadmap prometteuse pour une version 2.0.

AIR


Auparavant appelé projet Apollo, AIR n'est pas encore disponible en version finale, bien que ça soit bientôt le cas (sortie prévue début 2008). En passant par trois bêta, AIR a déjà su créer un buzz intéressant sur cette nouvelle plateforme de déploiement d'applications multi-OS. De part certains exemples (eBay Desktop, Tweetr, Pownce, etc.), on a pu voir apparaître les contours d'une nouvelle consommation de services Web, non plus via le navigateur mais part une interface de bureau, bien plus intégrée et donc plus puissante. Une tendance à surveiller de près en 2008...

Prism


La technologie Mozilla Prism est intéressante à plus d'un titre. Avec ses fonctionnalités relativement limitées (pour l'instant il s'agit plus d'un conteneur de page web), elle a su porter l'attention. Je pense qu'elle permet en fait de nous poser plusieurs problématiques très liées aux RDA : quel type d'applications les utilisateurs sont prêts à installer sur leur bureau ? Quelles sont les premières fonctionnalités supplémentaires que l'on souhaiterait avoir avec nos appli Web ? Toutes ces questions sont intéressantes à plus d'un titre. Pour l'instant au stade d'expérimentation, que deviendra Prism l'an prochain ? Un arrêt complet, un rapprochement avec XUL ? L'arrivée d'un langage centré sur Prism ? A suivre !

Buzzword



Buzzword est certainement l'une des applications les plus impressionnantes de 2007. Au delà des fonctionnalités que l'on peut retrouver dans d'autres traitements de texte web 2.0 (comme Google Docs ou Zoho Writer), Buzzword présente une certaine ergonomie, de bons enchaînements et une qualité graphique (rendu des polices par exemple) indéniable, ce qui lui a valu de très bonnes reviews. On se rapproche de plus en plus des applications classique ! A noter que Buzzword a été racheté par Adobe ! Jusqu'où iront les applications riches en 2008 ? Je garderais un oeil sur Aviary...

Picnik et Joost


Ces deux applications riches sont les exemples typiques que les technologies types Flex ou XUL peuvent apporter un véritable plus à une application plus traditionnelle, faisant de Picnik l'une des applications les plus appréciés pour la retouche d'images (le partenariat avec Flickr n'est pas innocent). Joost a fait parler de lui comme étant le nouveau projet du fondateur de Skype, permettant la diffusion de vidéo sous formes de chaînes TV en peer-to-peer. Ce sont pour moi deux des plus belles réussites (en terme de diffusion et d'audience) de cette année.

Et vous, qu'avez-vous retenu de cette année 2007 ?

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.
Je vous présentais il y a peu des images du logiciel développé par Nico, offrant une application riche développée grâce à la technologie AIR pour utiliser Google Analytics hors de votre navigateur, c'est à dire sur votre bureau. Et bien c'est aujourd'hui que les premières invitations sont arrivées et j'ai donc pu jouer un peu avec cet outil.

Autant vous le dire tout de suite, j'ai vraiment adoré cette application, malgré ses quelques rares défauts (ce n'est qu'une bêta, rappelons-le).

Analytics Reporting Suite

La première impression qui ressort de son utilisation, c'est le fait de sentir qu'on utilise une vraie application de bureau : on ne se croirait pas sur le net ! Le login et le chargement de vos données est très propre est clair. L'ensemble se rapproche bien évidemment de l'interface de Google Analytics, tout est très intuitif pour ceux qui utilisent déjà cet outil. Là où l'on gagne vraiment en richesse, en expérience utilisateur et sur toutes les modifications de données :
  • Les graphiques s'animent en fonction des critères
  • Les chargements sont très rapides (plus que sur l'interface originale)
  • Le changement de plage des dates est qd même bien mieux foutu (un des points que j'appréciais le moins)
  • Un système d'onglet pour rapidement revenir sur des données précédemment visionnées
Analytics Reporting Suite

Bref de très nombreux avantages tous valorisant pour une application de statistiques telle que Google Analytics. Autre fonctionnalités, plus techniques certes mais toujours intéressantes :
  • Le mash-up des Google Maps (donc de l'HTML !) dans l'applications pour voir la provenance des visiteurs
  • Un export de vos statistiques en XML, Excel ou PDF, à l'intérieur même de l'application ! Impressionnant !
Analytics Reporting Suite

Néanmoins, quelques défauts (tout n'est pas parfait !) :
  • des scrollbars se promènent parfois (à cause des traductions trop longues !)
  • un plantage lors d'une déconnexion après vision du PDF
  • et... c'est tout !
Je visiterais donc moins souvent Google Analytics et utiliserais cette RDA. Pourquoi ? Tout simplement pour gain de temps et pour la meilleure visualisation des données.

Un bon 16/20 à cette première bêta !
Si vous êtes un bloggeur assidu, vous faites très certainement attention à vos statistiques ! Et l'un des meilleurs outils dans de domaine nous vient bien entendu de Google : Analytics. Et bien Nicolas a tout simplement porté cette application sur votre bureau, grâce à la technologie Adobe AIR. Ainsi, on retrouvera presque l'ensemble des fonctionnalités de l'application "navigateur" : gestion des profils, graphiques, grilles de données, rapports en PDF (dans l'application !), export Excel, etc.

Google Analytics sur Adobe AIR

Un grand coup de chapeau pour cette application que j'ai vraiment hâte de tester ! Je vous en reparlerais une fois que ça sera le cas.

La question qui se pose : "quel est l'intérêt d'avoir Analytics sur son bureau quand on peut l'avoir dans son navigateur (et donc de partout) ?". Analytics n'est pas forcément l'application la plus pertinente et je reconnais que l'expérience fait plus gadget / démonstration que outil réellement utilisable. Néanmoins, je soulignerais deux points importants concernant cette application :
  • Grâce aux API et aux technologies appropriés, il est très simple de pouvoir réutiliser les données d'une autre application, et donc de s'ouvrir à une infinité de mashups.
  • L'expérience offerte sur le bureau reste tout de même plus impressionnante que sur n'importe quel navigateur. Et Analytics passe très bien comme exemple graphique de RDA.
Google Analytics sur votre bureau : un PDF

Google Analytics : export
Chapeau donc à Nicolas. Pour s'inscrire pour la bêta, c'est par ici !

Rechercher