mercredi, janvier 31

Firebug : quand l'exceptionnel se fait indispensable

Firebug 1.0 est sorti en début d'année, et si vous développez un peu, je vous encourage vivement à le mettre à jour / réessayer / découvrir si ce n'est pas encore fait. Le meilleur ami du développeur Ajax fait maintenant tout ce qu'il faut pour vous aider au quotidien :
- inspecter et analyser le code HTML élément par élément
- visualiser les styles de vos pages aisément
- voir toutes les requêtes HTTP dans le détail
- débuguer Javascript mieux que jamais
- examiner les objets DOM simplement

Et beaucoup de petites choses pratiques (messages console, débugage sous IE !) que je vous laisse découvrir en font maintenant un outil à la fois fiable et incontournable... qui nous rend impatients d'en découvrir la prochaine version !

vendredi, janvier 19

Dojo Offline Toolkit : comment ça (va) marche(r) ?

Dojo Offline Toolkit a pour but d'être, comme son nom l'indique, une boîte à outils rendant aisé le développement de fonctionnalités offline pour les applications web d'hier et de demain. Pour cela, plusieurs choses sont nécessaires :
- une librairie qui permet le stockage d'information en mode offline : ça existe déjà, ça s'appelle dojo.storage.
- un proxy web léger sur le poste client permettant de gérer le mode offline de façon transparente pour l'utilisateur (je vais y revenir).
- une API permettant aux développeurs d'utiliser facilement les fonctionnalités du toolkit

Bon, plaçons-nous maintenant sur la machine cliente qui va utiliser une application fonctionnant avec le Toolkit :
- elle va regarder si vous disposez du proxy web de dojo offline
- si vous ne l'avez pas, elle vous propose de l'installer (installation simple : système NSIS pour Windows, XPI pour Linux) immédiatement
- que vous ayez le proxy ou non, vous utilisez ensuite l'application online
- une fois hors ligne et si vous disposez du proxy, celui-ci consulte le fichier ProxyAutoConfiguration (PAC) de votre navigateur et vous dirige vers votre version locale de façon transparente de l'application
- vous utilisez l'application hors ligne qui est alors entièrement basée sur Javascript et qui vous permet de stocker des informations dans votre navigateur grâce à dojo.storage
- dès que vous repassez en ligne, le proxy vous reconnecte au serveur distant et la synchronisation offline /online peut avoir lieu

Tout le travail qui est en cours consiste donc à créer le proxy (à partir de polipo, un projet opensource existant) et construire l'API... résultat des courses dans 3 mois !

mardi, janvier 16

Valeur ajoutée du blogueur : pertinence, rareté, reformulation et droit de citation

J'aime lire les blogs. L'expression "sagesse des foules" a pour moi vraiment un sens quand je constate, chaque jour, la richesse d'information qui est désormais disponible sur la toile. Malheureusement, comme toute production, les blogs ont un déchet important... et celui que vous lisez à l'instant même ne doit probablement pas échapper à la règle !

Ainsi, l'agacement qui me gagne à la lecture de certains posts inutiles autant que l'envie de toujours apporter quelque chose à mes lecteurs m'amène régulièrement à me poser la question : qu'est-ce qui fait la valeur ajoutée d'un article ? Autrement dit au delà du sempiternel "comment mener le lecteur à mon article ?" (le référencement), j'aimerais plutôt demander "en quoi mon article peut être utile au lecteur ?".

Parce que je dois dire que j'en assez de voir des "articles" qui ne sont que des catalogues sans logique (genre "87 applications web 2.0"), des listes de liens sans explications ("bonjour, voici 3 liens intéressants !"), voire des articles à 80% pompés d'autres sources. Oui, je sais que c'est bien pratique de prendre des paragraphes entiers chez ses "copains" blogueurs : ça fait du contenu facile pour les robots, ça augmente la fréquence des posts... mais ça n'est ni malin, ni moral, ni vraiment utile à la communauté.

Qu'on ne se méprenne pas : citer les autres en les backlinkant est une excellente habitude de la blogosphère (ça permet de connaître de nouvelles sources pour les lecteurs, c'est une manière de récompenser l'auteur par de nouveaux visiteurs et ça améliore la pertinence des moteurs de recherche), les quasi-plagier en est une autre.

La moindre des choses à faire pour évoquer le contenu réalisé par autrui est de respecter quelques règles de bon sens et de respect :
- le contenu en quelques phrases tu présenteras, en perspective tu le mettras
- pas plus de 10% d'un article tu ne citeras
- toujours tes sources tu backlinkeras

Ca peut paraître évident, mais j'ai vu récemment fleurir ça et là des blogs qui se contentent des catalogues de liens et de pompages divers (et je ne parle pas des "blogs-satellites" purement utilisés pour le référencement) : valeur ajoutée = 0, pollution de la blogosphère = maximale. Voilà c'est dit, et miracle, mes aigreurs d'estomac ont disparu.

J'en viens donc à la valeur ajoutée du blogueur. La plupart des posts blogués en ce bas monde est basé sur une actualité, une analyse ou une découverte faite par autrui. Tout l'art du blogueur est donc d'ajouter une valeur supplémentaire au contenu auquel il se réfère et il a pour cela plusieurs méthodes :
- traduire le contenu dans une autre langue
- critiquer le contenu
- établir des corrélations avec d'autres contenus en les mettant en perspective
- reformuler le contenu pour le rendre intelligible à d'autres lecteurs
- analyser le contenu pour en faire ressortir des aspects particuliers ou peu évidents
- résumer le contenu (sans le trahir... exercice délicat !)
- ... (liste à compléter avec votre aide)

Je suis de ceux qui pensent que le blog n'est pas qu'un espace de liberté pour le blogueur, et que celui-ci doit avoir conscience d'un certain nombre de devoirs implicites en tant que membre de fait de la blogosphère. Or la qualité de cette dernière dépend de chacun de nous.

vendredi, janvier 12

Web offline : Brad Neuberg prépare la solution ultime

Alors que l'iPhone remporte (déjà) la palme du buzz 2007 et que myBlogLog se fait racheter par Yahoo, Brad Neuberg s'apprête tout simplement à changer le monde du web.

Cet illustre inconnu n'est autre que le génial créateur de Dojo.storage, la librairie qui vous permet de stocker des données de manière persistante et hors ligne dans la mémoire de votre plug-in Flash ou de votre navigateur.

Son nouveau projet, très remarqué par de nombreux hackers de premier plan, se nomme Dojo Offline Toolkit et a pour ambition de rendre disponible en mode offline toute application web de manière assez simple pour les développeurs.

Je vous encourage vivement à regarder les petits cas d'utilisation qu'il a imaginés pour illustrer les possibilités que va offrir son outil (Gmail, Blogger...). Si cela vous intéresse, je pourrai aussi vous expliquer comment cela va marcher techniquement (et je n'oublie pas que je vous dois un tutoriel sur dojo.storage qui est en préparation) dans un prochain post.

jeudi, janvier 4

Apollo, XUL, WPF... qui sera la prochaine plate-forme web de référence ?

Ayant récemment découvert l'excellent blog "Universal Desktop", je me permets de faire un point sur ce qui sera certainement une des grandes batailles de 2007 : qui sera la plate-forme de référence pour les interfaces web riches ?

Apollo d'Adobe est un nouveau runtime permettant de visualiser des contenus DHTML, Flash ou PDF hors du navigateur. Ce runtime aura d'une part toute la puissance d'Adobe pour s'imposer sur les postes de travail (qui n'a pas Adobe Reader et/ou Flash Player sur sa machine ?), et toutes les communautés de développeurs Ajax, Flex (un excellent framework de développement d'applications web riches) et Flash potentiellement accessibles.
Apollo pourrait bien être la grande nouveauté 2007, surtout lorsque eBay fonctionnera sous ce runtime (c'est pour très bientôt)...

WPF de Microsoft est, là encore, une tentative de faire du web riche hors du navigateur. Les possibilités visuelles que promettent WPF seraient, semble-t-il, bien au-dessus du lot (avec notamment la 3D)... et Microsoft y utilisera ses meilleures armes : d'excellents outils pour le développement (avec par exemple le déconcertant Windows Expression), un déploiement de base sur toutes les machines Vista, utilisation de l'excellent Framework .NET.
WPF/e (e pour everywhere) est le portage de WPF au sein du navigateur pour les gens ne disposant pas du framework. Le "everywhere" est néanmoins très relatif : un plug-in navigateur sera nécessaire et fonctionnera uniquement pour Windows et Mac.

XUL de la fondation Mozilla a le mérite d'être le pionner du genre (et a d'ailleurs été largement copié par MXML d'Adobe et XAML de Microsoft) : réaliser rapidement des applications desktop web riches s'exécutant dans Mozilla Firefox ou un runtime spécifique est maintenant possible depuis plusieurs années... mais XUL ne perce pas significativement malgré tout. Trop en avance sur son temps ? Toujours déservi par un manque criant d'outils adaptés pour le développement ? Mozilla n'a néanmoins pas encore perdu la bataille et avec un soutien extérieur (IBM, Google...), il est possible que XUL refasse surface.

Le web riche classique (Ajax, Flash... et Java ?) a l'avantage considérable d'être le standard actuel surlequel de nombreux dévéloppeurs, mais surtout la majeure partie des utilisateurs, ont leurs habitudes. Ses possibilités sont encore très grandes (COMET, mode offline)... mais plus on va loin dans la richesse et la portabilité des interfaces Ajax, plus le développeur est au royaume de la bidouille Javascript (jusqu'à atteindre des niveaux de productivité lamentable).
Les navigateurs ont néanmoins fait beaucoup de progrès : ie7 et ff2 gèrent tellement mieux JS que leur prédécesseurs que les choses pourraient s'arranger avant que les développeurs (et ceux qui les payent) ne soient complètement dégoutés de ce type de développement.

Quelques challengers tenteront d'émerger dans cette guerre sans merci :
OpenLazlo 4.0 (actuellement en bêta) qui n'est pas une plate-forme à proprement parler mais qui permettra aux développeurs de réaliser une interface Flash et son équivalente Ajax avec le même code.
Quicktime pourrait semble-t-il marquer l'arrivée d'Apple sur ce marché : l'outil est pour le moment techniquement sous-exploité alors qu'il est très répandu sur le poste de travail... à suivre !
Google Desktop qui offre désormais la possibilité aux développeurs de construire des widgets
relativement facilement constitue encore une piste. Cette solution aura néanmoins du mal à offrir plus que de petits gadgets aux utilisateurs finaux.

Au milieu de cette foule de nouveautés, une seule certitude pour le monde du web (utilisateurs, développeurs, décideurs) : préparez-vous au changement !