vendredi, mars 23

L'heure du choix d'une techno RIA est-elle arrivée ?

Les choses bougent sérieusement côté des techno RIA en ce moment :

- Apollo, le framework, vient de sortir en version alpha
- Microsoft Expression Blend, l'outil de design pour WPF est disponible en évaluation
- le petit monde RubyOnRails propose SlingShot, une alternative alléchante à Apollo
- OpenLaszlo 4.0 est sorti et permet désomais de générer des interfaces
Ajax tout comme des interfaces interprétées par un lecteur Flash.

A vos marques, prêts, testez !

vendredi, mars 16

La 3D, le web et javascript

La 3D sur le web est un vieux rêve qui semble être repoussé chaque jour :
- VRML n'a jamais vraiment pris
- X3D son successeur désigné, ne semble pas vraiment prendre la suite
- aucune solution de remplacement n'a réellement émergé

Une fois encore, des hackers javascript se sont retroussé les manches pour parvenir à une solution à l'aide de le nouvelle balise HTML "canvas" (malheureusement inconnue de nos amis de chez Microsoft)... et à ma grande surprise, ça marche ! Du moins, de temps en temps.

Quelques exemples, parce que ça vaut quand même le coup d'oeil :
- une démo d'un moteur de rendu (qui fait ce qu'il peut)
- un jeu en 3D (injouable)
- une démo de voiture avançant une route improbable

Bon, en attendant que tout ça progresse, Flash et WPF semblent pour le moment les alternatives les plus raisonnables... à moins que vous n'ayez une meilleure idée ?

vendredi, mars 9

AJAX, JSON et BISON au secours de la bande passante

Dans la formidable époque que nous sommes en train de vivre, le web subit une révolution discrète et pourtant cruciale au royaume de "l'expérience utilisateur" : les applications du web ont en effet maintenant plus que jamais les moyens de réduire considérablement la bande passante utilisée.

Or sous des dehors techniques, cet aspect du web 2.0 est tout sauf un problème de geek :
- pour l'utilisateur, moins de données à faire transiter signifie une meilleure réactivité de l'application à ses différentes actions.
- pour le financier, moins de bande passante entraîne une baisse qui peut être significative des coûts de structure... en particulier dans le cas d'une montée en charge rapide de l'application.

Comment concrètement s'opère cette baisse de consommation ?
- Dans le passé, ce fut AJAX qui permit d'économiser des rechargements de page complets à chaque fois que des appels serveur sont nécessaires.
- Aujourd'hui, c'est JSON (si il est bien utilisé) qui diminue de manière considérable la taille des réponses renvoyées par les serveurs suite à une requête AJAX.
- Demain, ce sera peut-être quelque chose comme BISON (qui n'est qu'une expérimentation) d'une part et le stockage client massif d'autre part qui permettront d'optimiser encore un peu plus le flux d'information transitant entre le serveur et le client.

lundi, février 26

Google Apps For Your Domain V2 : une killer app pour les PME

On le dit depuis longtemps et ça devient chaque jour qui passe une réalité plus tangible : Google va bientôt devenir un acteur important de l'application d'entreprise. La nouvelle mouture de GAFYD a en effet de nombreux arguments pour convaincre un bon paquet de PME (parole d'utilisateur d'entreprise !) :
- un webmail loin devant les solutions concurrentes
- un système d'édition et de partage de documents terriblement efficace
- un agenda en ligne au top
- une gestion des comptes simple et conviviale
- des possibilités de support et de développements spécifiques enfin dignes d'une société comme Google

Si les équipes commerciales de Google for enterprise sont un peu etoffées en France, ça pourrait changer pas mal de choses dans nos petites entreprises. Surtout que la suite va probablement arriver dans l'année... c'est à dire :
- une solution de PowerPoint-like
- un mode Offline pour les différentes applications
- la poursuite du développement des interfaces Smartphone
- l'intégration à la Google Appliance

Bon courage aux concurrents !

mercredi, février 21

OpenID s'impose comme référence de l'identité numérique

La gestion de notre identité à travers les différents services de l'internet est un des problèmes non résolus qu'avait évoqués oncle Tim O'Reilly dans "what is web 2.0". Petit rappel du problème en question par exemple tout bête...

JB Boisseau est terriblement jaloux du talent et du succès de Fred Cavazza et décide de se venger de ce sale coup du destin en usurpant l'identité de ce dernier.
Comment ? Rien de plus simple : il lui suffit d'aller sur le blog de Loic Lemeur et d'y décharger un flot d'insultes... en signant "Fred Cavazza". N'ayant pas de moyen d'identifier clairement la personne en question, le machiavélique JB Boisseau réussira à déboussoler les internautes 2.0 de passage aisément et ce, potentiellement sur une grande quantité de services.

D'un autre côté, le bon Fred aimerait bien pouvoir bénéficier d'un "single sign-on" sur la toile lui permettant d'accéder à tous ses services avec une seule authentification... chose qu'il lui ferait gagner un temps précieux.

Bien des services ont tenté de s'imposer en tant que standard dans le domaine (où, par définition, il ne peut rester qu'un acteur) et il semble qu'un vainqueur soit en train d'émerger. Le vainqueur en question, serait donc OpenId. Les raisons en sont les suivantes :
- AOL a annoncé à la suite de Microsoft être prêt à utiliser OpenId pour l'authentification à ses services.
- Plusieurs sites web de référence (Digg, Technocrati, MovableType...) ont adopté le système
- Les fournisseurs d'OpenId sont à la fois nombreux et influents : Verisign, JanRain, Sxip, MyOpenID.com..

Bref, si certaines questions se posent encore sur la capacité technique d'OpenId de jouer pleinement son rôle, ce dernier est à ce jour bien mieux que placé que les autres pour remporter la bataille.

samedi, février 10

Scenario d'un krach 2.0

Le krach 2.0 aura lieu, soyez-en assurés : les cycles économiques et financiers sont ainsi faits que toute croissance rapide s'accompagne d'une correction. Seules incertitudes : le moment et l'ampleur de la crise. Mouillons-nous un peu...

Je crois (c'est plus qu'une croyance en fait) que ce krach 2.0 sera assez, voire très, différent du premier. L'effondrement de la "nouvelle économie" fut en effet assez lent : pas de véritable journée noire mais plutôt un processus régulier de baisse marquée des valeurs technologiques étalé de la fin 2000 à la mi-2003. Les investisseurs avaient toujours de l'argent à mettre sur la table, même s'ils en avaient moins : ils se mirent donc à éviter les valeurs technologiques qui s'avéraient moins rentables qu'envisagé. Les conséquences furent donc un ralentissement généralisé de l'économie mais une situation de crise véritablement centrée sur le secteur IT.

A l'opposé, la prochaine crise pourrait être beaucoup plus violente et ne pas toucher simplement la branche des nouvelles technologies. Pourquoi ? Parce que certains fondamentaux de l'économie américaine font peur : ainsi, les marges de manoeuvre qui existaient en 2000 pour absorber le choc se probablement considérablement amoindries.

Ces fondamentaux, les voici :
- les déficits jumaux (budget de l'état, balance commerciale) n'ont cessé de se creuser depuis 2000 pour atteindre aujourd'hui des proportions assez inquiétantes aux yeux de beaucoup.
- du fait de ces déficits, le dollar a logiquement repris sa baisse, mais pourrait connaître des tensions bien plus graves si les banques asiatiques cessaient de soutenir le trésor américain comme elles le font depuis de nombreuses années pour favoriser leurs exportations.
- l'éclatement de la bulle immobilière américaine est réel, et aura très bientôt des répercutions sur le reste l'économie. En effet, les foyers américains s'endettant considérablement en hypothèquant leur domicile, une chute importante de l'immobilier aurait des conséquences très directes sur leur capacité à emprunter.

Le premier domino à tomber est donc bien celui de l'immobilier américain et selon la violence de sa chute (qui n'est pas terminée) , il entrainera (ou non) les suivants :
=> recul de la consommation => panique puis crise financière => crise économique généralisée (où le secteur IT trinque comme tout le monde) => exportation de la crise au niveau mondial

Voilà un scénario qui, si il se déroule, devrait s'ammorcer dans les 18 prochains mois (le temps de pousser le deuxième domino)... mais dont la probabilité et surtout l'ampleur sont incertaines tant nous sommes peu de chose face à la nature profondément chaotique (au sens mathématique du terme) de l'économie.

mercredi, février 7

Les vrais héros du web 2.0

Chaque jour, dans l'ombre des hommes d'affaires et des blogueurs à succès, des bidouilleurs géniaux ont les intuitions et la volonté qui construisent le web (2.0) d'aujourd'hui et de demain.

Etant donné qu'ils ne connaîtront probablement jamais la renommée qu'il méritent, je me permets aujourd'hui de leur rendre un petit hommage via une sélection 100% subjective des meilleurs d'entre eux.

David H. Hanson, définitivement sur les rails
Cet homme est plus qu'un techie habile : sa vision du développement web est à ce point efficace qu'il a révolutionné le métier pratiquement à lui tout seul. Son oeuvre, RubyOnRails, est en effet en rupture avec beaucoup d'habitudes : un langage méconnu, un pattern (activeRecord) trop souvent jugé laxiste, une structure (MVC) qui rimait jusque là plus avec rigueur qu'efficacité... et maintenant, beaucoup essaie de le copier !

Alex Russel, le maître du dojo
Alex Russel est le responsable du projet dojo, cette librairie javascript innovante qui non seulement comprend un nombre impressionnant de fonctionnalités mais qui en plus possède une architecture très bien pensée.
Alex Russel est également un de ceux qui se penchent le plus sur le développement COMET, une techno qui a certes de l'avenir mais qui est encore plus cauchemardesque qu'AJAX à mettre en place.

Brad Neuberg, hors ligne mais dans le coup
J'en ai déjà beaucoup parlé, mais le travail de Brad sur le mode offline et son coup de force pour exploiter les cookies Flash en Javascript sont vraiment impressionnants.

Sam Stephenson, prototypeur en chef
Sam Stephenson n'est ni plus ni moins que le créateur de prototype, la librairie javascript de référence pour le développement Ajax. Il fait aussi partie de l'équipe travaillant sur le noyau de RubyOnRails.

Thomas Fuchs : scriptaculeux !
Thomas Fuchs a eu la bonne idée de s'appuyer sur prototype pour bâtir scriptaculous, sa très pratique librairie d'effets Javascript... qu'il soit lui aussi impliqué dans le développement de RubyOnRails ne doit donc probablement rien au hasard. A noter également, ses bonnes pratiques de développement Javascript qui mériteraient d'être plus connues.

Joe Hewitt, notre sauveur au quotidien
Joe Hewitt a eu l'excellente idée d'élaborer le plus fidèle ami du développeur javascript à travers Firebug : loué soit-il !

A noter que 2 de ces hackers 2.0 (David et Sam) font partie de la fameuse équipe de 37signals (BaseCamp, Getting Real) et que 2 autres (Alex et Brad) travaillent pour Sitepen... 2 petites sociétés feraient-elles avancer notre vieux web plus vite que certains mastodontes ?

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 !

jeudi, décembre 28

Tim O'Reilly : "Le web 2.0 est un fait, une nouvelle ère. Il n'a donc pas de définition…"

J'en rajoute une couche sur le thème "le web 2.0 n'a pas de définition". Comme je l'ai évoqué à plusieurs reprises sur ce blog et dans plusieurs débats, le web 2.0 désigne une époque, pas un concept précis.

J'ai vu aujourd'hui avec un certain plaisir que c'était également l'opinion de Tim O'Reilly, c'est du moins ce qu'il a dit à Francis Pisani.

Bon, je vous embête plus avec ça, promis.

jeudi, décembre 14

Pour en finir définitivement avec le web 3.0...

Non, je ne vais pas vous parler cette conférence "Le Web3" à laquelle je n'étais pas et qui ne m'intéresse pas vraiment (malgré les polémiques qu'elle a créées) : le programme manquant un peu de concret au goût du petit entrepreneur-bidouilleur que je suis.

Le web 3.0 est un truc dont certains ont eu l'idée (quelle originalité !) dès que le concept de web 2.0 a un peu pris. Chacun met un peu ce qu'il veut derrière cette idée (comme pour le 2.0, me direz-vous ?) et personnellement je ne lui trouve pas de sens... mais il me faut probablement expliquer pourquoi !

Le web 2.0, je l'ai dit à de nombreuses reprises, est un constat a posteriori d'un changement générationnel : après la crise 2001-2003, des modèles (techniques et business) nouveaux, plus solides et plus ambitieux apparaissent et font leur preuve. En 2004, Tim O'Reilly fait donc le point sur cette nouvelle génération qu'il nomme "web 2.0".

Tout ça a bien une logique et c'est celle des cycles économiques de l'innovation. La formule est immuable : une phase d'émergence (pour le web avant 1995), suivie d'une croissance rapide (1996-2000)... après l'euphorie c'est inévitablement la crise qui corrige les excès (2001-2003) et permet une phase de consolidation (depuis 2004). L'histoire nous montre que toutes les révolutions industrielles ont subi les mêmes cycles et que les crises jouent systématiquement le rôle de révélateur des bons et des mauvais modèles : c'est pourquoi le moment où le concept de web 2.0 a émergé est aussi important que le contenu de "What is web 2.0". C'est probablement cela que les tenants du web 3.0 n'ont pas compris.

Maintenant que nous sommes dans la phase de consolidation, le web va continuer ses avancées sans toutefois connaître les mêmes soubresauts que durant sa jeunesse : il y aura toujours des innovations, toujours des phénomènes spéculatifs, mais les croissances fulgurantes tout comme les grands désastres devraient s'atténuer peu à peu (laissons-nous quand même encore un peu de temps, la phase de consolidation n'a fait que débuter !).

Il en va autrement d'internet de manière plus générale : des réserves de croissance considérables sont encore très faiblement explorées. Les univers virtuels tels que les phénomènes SecondLife ou World Of Warcraft sont par exemple un aperçu de ce que nous réserve l'avenir. Ces univers possèdent en effet déjà leur propre économie interne avec des possibilités de faire de l'argent (immobilier virtuel dans Second Life, revente d'objets magiques dans WoW) pour des usagers imaginatifs et/ou déterminés.

Il en est de même pour l'usage du mobile qui n'a toujours pas percé. Les promesses du wifi universel, du wimax répandu, ou de l'UMTS bon marché ne sont pour le moment que des promesses. Pourtant, les applications qui vont s'ouvrir à l'utilisateur lorsqu'elles seront devenues réalité seront considérables et elles ne concerneront pas toutes, loin de là, le seul web.

Un des rares à y voir clair dans cette histoire est une fois encore Fred Cavazza qui propose l'hypothèse d'un Internet 3.0... mais nous avons encore tout le temps avant de nous apercevoir que nous nous trompons, c'est tout l'intérêt de la prospective !

mercredi, décembre 6

Synchronisation Desk Office / Web Office : ca bouge très vite

J'annonce déjà depuis quelques temps l'apparition imminente de solutions permettant de tirer le meilleur parti du webtop et du desktop... j'avais ainsi parlé il y a quelques mois de l'éventuelle arrivée d'un plug-in Writely pour Microsoft Word permettant de synchroniser le contenu d'un document Word avec sa version en ligne Writely.

C'est finalement, Zoho, un excellent outsider du weboffice, qui a sorti le premier ce fameux plug-in, marquant ainsi quelques précieux points dans la lutte qui l'oppose à Google et aux autres challengers du domaine.

LiveDocuments est une autre initiative récente permettant le travail collaboratif au sein d'Office... une solution qui comporte un désavantage majeur par rapport à Zoho, puisque vous restez contraints à l'utilisation de Ms Office et de votre poste de travail. LiveDocuments reste néanmoins une solution intéressante pour des utilisateurs sédentaires qui souhaitent collaborer sur un document Ms Office sans rien changer à leurs habitudes.

Je pense que la stratégie de Google Docs sera encore différente des deux précédentes : elle consistera probablement à embarquer un petit serveur web sur la machine du client afin de faire tourner l'application en mode déconnecté et à permettre par la suite une synchronisation client/serveur.
Rien est encore sûr sur le sujet mais quelques morceaux de code actuels de Google Docs donnent quand même beaucoup de raisons d'y croire... et puis je doute que Google veuille inciter ses clients à utiliser Ms Office !

Microsoft parie de son côté sur plusieurs produits pour parvenir à cette synchronisation :
- son excellent portail d'entreprise Sharepoint dont l'intégration avec Office est très réussie
- Groove (création du nouveau "Chief Architect", Ray Ozzie) qui est une sorte de livedocuments améliorée (et payante).
Mais pour l'utilisateur moyen ne disposant pas d'une grosse infrastructure, "le dinosaure de Redmond" ne propose à ma connaissance rien... et ça, c'est un gros manque pour le moment.

Enfin, la dernière option qui pourrait être utilisée est celle de Moxie (un traiement de texte web fonctionnant en mode connecté ou déconnecté sans aucune installation) si cette application était un peu enrichie d'un point de vue fonctionnel. Je remercie au passage Brad Neuberg d'avoir intégrer ma petite contribution à dojo.storage, le système de sauvegarde local de Moxie.

vendredi, décembre 1

Un an de web2rules (attention, post "tarte à la crème")

Voilà donc un an que je me répands dans ces pages web (de manière assez aléatoire, je le concède) pour mon grand plaisir et celui, beaucoup plus sujet à discussion, de mes lecteurs.

Vous vous en moquez probablement mais au moins, c'est dit... et pour que ce post ait quand même un intérêt, je vais maintenant tenter d'y résumer l'ensemble de cette année de blogging (attention, très dangereux, à ne pas reproduire chez vous).

Pour ceux qui aiment les chiffres :

Environ 150 personnes en viennent à butiner en ces lieux chaque jour : si la moitié le fait pour lire la bible du web 2.0 francisé par votre serviteur, il en est une autre moitié qui suit plus ou moins régulièrement mes divagations sur le webtop, google (dont je me promets de ne plus parler... dans ce post), les technos du web 2.0 et l'avenir du web en général.

Les lecteurs sont souvent français et très régulièrement franciliens, sont des fans de Firefox, et aboutissent près d'une fois sur quatre en ces pages via Google (et c'est déjà perdu pour la promesse !).

Les posts les plus lus (hormis la traduction de What is web 2.0) sont :
- COMET : complément ou sucesseur d'AJAX ?
- Migrer vers Gmail sans douleur
- Votre premier hack COMET en PHP


Pour ceux qui aiment les lettres :

Les principales idées que j'ai voulu faire passer sont :
- le web 2.0 ne répond pas à une définition précise mais caractérise plutôt une époque
- il y a, techniquement parlant, encore beaucoup de choses à explorer dans le web d'aujourd'hui : COMET et le mode déconnecté en sont 2 exemples très symboliques
- les applications desktop et les applications d'entreprise vont continuer à migrer vers le web
- l'intéraction entre le desktop et le webtop est un enjeu fondamental pour l'avenir
- nous vivons bien sûr une période très excitante où les innovations et les succès sont légion, il y a néanmoins des survalorisations (youTube, Skype, le cours de l'action Google, des start-up qui n'ont rien montré...) et certains lendemains s'avèreront difficiles.
- le web 2.0, c'est pas du buzz !!!

L'avenir de web2rules :

J'avoue avoir encore du mal à percevoir le profil du public qui lit régulièrement ces lignes étant donné que j'aborde aussi bien la technique que les concepts tournant autour du web 2.0... donc si vous avez des envies particulières quant aux thématiques que j'aborde, merci de me laisser un petit commentaire.

Enfin, afin d'avoir un peu plus de liberté dans l'utilisation et l'évolution de ce blog, j'ai prévu de migrer vers wordpress prochainement et de me faire héberger sur un des serveurs de ma société... ce qui entrainera sans doute une petite perte d'audience mais me permettra de quitter définitivement Blogger et ses limitations.

jeudi, novembre 30

Javascript est le nouvel HTML

Du SQL à Javascript

Lors de l'avènement des pages web dynamiques (que PHP venait de simplifier considérablement), une phrase commença à se répandre pour signifier que nous entrions dans une nouvelle ère du développement web : "SQL est le nouvel HTML".

Cela était aussi bien révélateur d'un changement de paradigme technique (le langage majeur du web n'était plus vraiment HTML mais les langages serveurs qui permettaient de tirer parti d'une base de données) qu'un changement en terme de fonctionnalités attendues par les utilisateurs : ceux-ci voudraient des pages toujours plus dynamiques, régulièrement remises à jour et centrées sur leur utilisation.

Et même si je ne cherche pas à devenir un de ces prophètes 2.0 autoproclamés, je crois qu'il est aujourd'hui temps de dire : "Javascript est le nouvel HTML" (bruit de tonnerre).

En effet, après une période où Javascript était considéré comme un gadget proscrit par tous les architectes web dignes de ce nom, AJAX lui a assuré un retour en grâce aussi rapide qu'inespéré. Si l'on entend encore parler des sempiternels supposés problèmes d'accessibilité, de sécurité et de portabalité de Javascript, ces voix sont devenues ce qu'elles auraient toujours dû être : trollesques et minoritaires.

Javascript rules the web

Javascript est devenu un composant incontournable de toute application dite web 2.0 et je pense pouvoir dire qu'il va en devenir un élément central. Le langage se structure de plus en plus, la communauté js s'étoffe et comporte désormais des architectes qui n'ont rien à envier aux langages serveurs considérés comme "nobles" : des frameworks, des conventions architecturales, de vraies possibilités de coder "full object", une amélioration continue du langage que les navigateurs s'efforcent de suivre plus fidèlement qu'ils ne le faisaient, des usines logicielles qui s'adaptent... bref, son potentiel est reconnu et enfin exploité.

La possibilité naissante de disposer d'application web fonctionnant en mode déconnecté est elle aussi décisive : en déportant toute la logique côté JS et exploitant les possibilités de stockage des navigateurs, l'application ultime est sur le point d'apparaître :
- interface riche
- portable
- sans installation
- sans problème de maintenance des postes clients
- nomade
- fonctionnant sans réseau
- technologie universelle et complètement ouverte

Développeurs, architectes, préparez-vous : Javascript, c'est vraiment pas du buzz...

lundi, novembre 27

Retour d'expérience sur Google app for your domain

Google App for you domain vous propose de vous créer un webtop d'entreprise utilisant le nom de domaine de celle-ci. Je teste la solution en ce moment, et je dois avouer être séduit même si tout n'est pas encore parfait.


Google App for your domain, c'est quoi ?

C'est un ensemble de services Google bien connu qui utilise votre nom de domaine plutôt que les "google" ou "gmail.com" à chaque fois que cela est possible. C'est aussi et surtout un ensemble d'outils pour administrer cet ensemble pour tous vos collaborateurs de manière cohérente.
Concrètement ça donne :
- L'interface Gmail pour le courrier électronique
- GCalendar pour les agendas partagés
- Google Talk pour le chat
- Une page d'accueil Ajax
- La possibilité de créer des pages web et de les ajouter au domaine facilement avec une interface Ajax


Les équivalents pour l'entreprise

Cette solution, d'un point de vue fonctionnel, se rapproche beaucoup des solutions de groupware classique à base d'Exchange ou encore en mode web (ces derniers sont d'ailleurs assez nombreux).

Je trouve personnellement que quasiment tous ces composants sont en avance sur ce que propose la concurrence en terme d'ergonomie et de simplicité de gestion. Seul bémol sur la page d'accueil qui présente encore pas mal de limites dans sa customisation.

Les 2 gros défaut de G.A.F.Y.D (Google app for you domain) sont :
- le mode hébergé sur les serveurs de Google qui facilite certes les choses d'un point de vue gestion mais qui fait perdre beaucoup de contrôle à l'entreprise sur la solution. Je parie depuis longtemps sur l'intégration de tout cela dans une Google Appliance similaire à celle qui existe pour la recherche documentaire d'entreprise.

- l'absence de quelques éléments presque indispensables de tout groupware : traitement de texte et tableurs collaboratifs (docs and spreadsheets n'est pas encore intégré), le wiki d'entreprise (jotspot !!!), une éventuelle application de gestion de projet (un baseCamp-like... si quelqu'un avait un jour la bonne idée de se rapprocher des génies de 37signals !).

D'autres retours d'expérience sur le sujet ?

lundi, novembre 13

Le mode offline par l'exemple...

Après avoir exposé dans mes 2 posts précédents, l'intérêt et les différentes stratégies du web en mode déconnecté, je vous propose d'en découvrir le fonctionnement via un exemple construit à l'aide de la librairie Dojo : Moxie est un petit éditeur de texte en mode en web que vous pouvez utiliser hors ligne sans aucune installation.

Moxie fonctionne à l'aide de la couche d'abstraction de stockage "dojo.storage" mise au point par Brad Neuberg : le seul "driver" utilisant officiellement cette couche d'abstraction se base pour le moment sur les "cookies Flash" (bien que l'application soit en elle-même en Javascript).

Pour l'exemple, j'ai écrit un autre driver qui utilise le système de stockage de Firefox 2 que vous pourrez tester ici ... Exemple de test : utilisez Moxie avec Firefox 2 puis avec Internet Explorer, vous verrez que les informations stockées sont différentes (puisque selon le navigateur, elles seront stockées dans Flash ou dans une mémoire propre à Firefox 2).

Prochaines étapes :
- implémenter un driver utilisant le mécanisme de stockage propre à Internet Explorer
- développer un exemple de synchronisation online / offline pour Moxie

dimanche, novembre 5

Soyez cool, soyez offline...

Comme évoqué dans mon post précédent, le moment où le web 2.0 va se débarasser de son dernier gros problème technique (l'absence de mode offline) ne m'a jamais semblé aussi proche. L'arrivée de Scrybe et l'hypothétique apparition de Google Docs en mode déconnecté confirment cela tout autant que la grosse activité de Dojo sur le sujet.

Les méthodes comme c'est souvent le cas dans le web existent depuis un petit moment, j'en distinguerai néanmoins plusieurs familles en fonction des réponses aux questions suivantes :

  1. A-t-on besoin d'installer quelque chose pour faire fonctionner l'application en mode offline ?
  2. Un plug-in navigateur est-il nécessaire ?
  3. Sur quels navigateurs peut-on faire fonctionner l'application ?

1- La solution "installation sur poste client"
Tout ce qui peut être pénible pour le web offline trouve une solution immédiate avec une installation côté client :
- les données sont librement stockées côté client
- il reste possible de faire fonctionner du "code serveur" en mode déconnecté

Du côté des moins : il faut installer quelque chose sur le poste client avec tous les problèmes que ça peut entraîner (portabilité, installation/réinstallation, maintenance...). Ce qu'on gagne en richesse, on le perd en légereté du client.

Pour ceux que cela intéresse, je conseille de regarder vers Lighttpd pour un serveur web embarqué léger et efficace et du côté de SQLite pour la même chose du point de vue des bases de données.


2- La solution "plug-in"
Cela consiste cette fois à utiliser Flash ou Java pour stocker des informations côté client. Java permet cela à condition d'utiliser des applets signées (et que les utilisateurs fassent confiance à votre certificat). Pour ce qui est de Flash, il est nécessaire d'utiliser les Local Shared Objects (LSO) qui constituent des sortes de "FlashCookies"... et fait extrêmement intéressant, la librairie Dojo permet désormais d'y accéder facilement via Javascript.

La solution Flash semble être meilleure que Java (pas de certificat à faire accepter par l'utilisateur), le seul problème étant la nécessité pour le client d'avoir le plug-in approprié (96% des lecteurs de ce blog ont Flash, 98% ont Java).


3- La solution "100% navigateur web"
C'est une solution conceptuellement très séduisante. En quoi consiste-t-elle ? Il s'agit de tirer au mieux parti des caractéristiques installées de la machine cliente : au final, une petite couche d'abstraction cachera au développeur Javascript la complexité du stockage local.
Que fera cette couche d'abstraction ? Elle va regarder les différentes stratégies de stockage local qui s'offrent à elle :
- les lso Flash
- le stockage local de Firefox 2
- le mécanisme de stockage local d'Internet Explorer
- les cookies
- tout autre solution de stockage local plus ou moins bizaroïde disponible sur toutes sortes de configurations plus ou moins obscures

... et en fonction de la configuration cliente rencontrée, elle choisira la plus adaptée.
Dans l'ordre, le choix le plus pertinent me semble être : stockage firefox 2, sinon stockage lso Flash, sinon stockage IE, sinon cookies.

Il faudrait regarder d'un peu plus près les statistiques des configurations clientes rencontrées, mais je pense que les machines n'ayant ni Flash, ni Firefox 2, ni Internet Explorer et ses contrôles ActiveX représentent moins de 1% des configurations (2% sur ce blog) : cette solution paraît donc viable dès maintenant.
Où trouver la fameuse couche d'abstraction ? Chez nos amis de Dojo, bien sûr... ils n'ont malheureusment implémenté pour le moment que le driver Flash : étant donné que c'était aussi le plus difficile à mettre en place, on peut espérer que la suite vienne prochainement.

Pour info, savez-vous quelle société est le plus gros soutien de Dojo ? Non ? C'est tout simplement Jotspot, récemment racheté par Gooooooogle... Je vous laisse méditer là-dessus et me laisser un commentaire si vous voulez que je développe tout ça (un tutoriel ?) dans un prochain post.


Edit : contrairement à ce que j'ai écrit précédemment, l'objet ActiveX FSO n'est pas une bonne solution pour le stockage local (voir les commentaires).