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).

mardi, octobre 24

Le client web en mode déconnecté arrive

C'est une petite révolution qui s'apprête à se produire avec l'arrivée imminente de scrybe qui propose une application de calendrier web fonctionnant en mode déconnecté.
En lisant la description du service, je me suis dit "ils embarquent probablement un petit serveur web à installer qui prend le relais lors de la déconnexion"... et puis j'ai lu : "aucune installation d'aucune sorte". Ca m'a paru bizarre, mais c'est en réalité tout à fait possible.

Première possibilité : le pattern "richer plug-in"
Flash ou Java permettent d'écrire des données sur le poste client et donc de créer le cache local nécessaire. Flash et Java étant maintenant très répandus, on peut en effet considérer qu'une telle application n'impose aucune installation sur le poste client.

Seconde possibilité : le pattern "gâteaux-gâteaux"
Ce pattern devrait rester dans les tiroirs tant il pose de problème... mais développons un peu. Les cookies sont un moyen de stocker des données en local lorsque l'application est déconnectée et ne fonctionne qu'à coups de javascript.
Deux énormes soucis néanmoins : le premier est que les cookies sont petits (vous n'avez droit qu'à 20 cookies de 4 ko chacun : c'est TRES peu), le second est que les cookies sont fragiles : il est non seulement facile de les effacer, mais en plus le navigateur les efface peu à peu de lui-même lorsqu'il atteint la limite de 300 cookies ! Tout cela est donc très amusant conceptuellement mais pas réellement envisageable dans la vraie vie.

Troisième possbilité : le pattern "browser features"
Le but est ici d'utiliser les particularités des navigateurs couramment utilisés pour arriver à notre objectif. Ajax marche comme ça par exemple : on utilise deux techniques différentes (un contrôle ActiveX avec Internet Explorer et l'objet XmlHttpRequest avec Firefox) pour arriver au même but.
Notre objectif étant de stocker des données en local avec javascript, que peut-on envisager ? Là encore le duo Windows/Internet Explorer nous offre la possibilité d'un composant ActiveX pour lire et écrire des fichiers texte sur le poste client. Du côté de Firefox, depuis la très récente sortie de la version 2.0, il est possible d'utiliser un stockage local, une sorte de "super-cookies" n'ayant pas les restrictions évoquées plus haut... le pari semble donc jouable, même si aucune implémentation n'en est connue à ce jour !

Conclusion de tout ça : avec l'arrivée d'applications web fonctionnant en mode déconnecté, une des dernières restrictions à l'adoption massive du mode web pour les applicatifs est en train de tomber... plus que jamais, la révolution est en marche !


PS : j'ai appris aujourd'hui que c'est Flash qui avait été utilisé pour Scrybe

jeudi, octobre 19

Retour sur les derniers exploits de Google

Après avoir autant que possible limiter l'inflation de posts sur Google, je craque. Oui, je l'avoue, l'actualité a été telle que je ne peux m'empêcher, malgré toutes mes bonnes résolutions, de souffler à nouveau quelques petits mots ce qui est désormais pour moi l'emblème de la génération web 2.0.

Le webtop en a donc pris un sacré coup avec l'arrivée surprise de Google Docs and Spreadsheets qui fait désormais du Google Office la référence en matière de webtop unifié (mail, agenda, tableur, traitement de texte). Seuls bémols : la page d'accueil Google n'est pas toujours pas au niveau d'un Netvibes et GTalk reste un univers fermé (Meebo n'ayant pas encore son équivalent chez Google, probablement pour des raisons stratégiques d'ailleurs).

La bulle 2.0 a quant à elle encore un peu enflé grâce au gros paquet de billets mis par Google pour prendre YouTube. Et là, j'avoue être très surpris par la démesure de cet achat : selon mes propres calculs, cela revient à "acheter" $45 l'utilisateur de YouTube, là où habituellement Google paye entre 2 et 3 dollars annuels (cf. les cas Dell, Firefox et MySpace). Si l'on ajoute à cela les terribles problèmes auxquels Google va devoir faire face suite à ce rachat (droits sur les videos, comptes d'exploitation fortement négatifs)... ça paraît d'autant plus étrange !

Enfin l'extraordinaire retour en grâce de Google chez nos amis de Techcrunch n'en finit pas de m'étonner, tout comme les explications des contributeurs de ce blog sur le fait qu'ils n'ont absolument pas changé d'analyse sur le sujet... alors mauvaise foi ou procès d'intention de ma part ? à vous de juger !

lundi, octobre 9

What is web 2.0, un an après : les prophéties d'O'Reilly au révélateur de l'actualité

Cela fait désormais à peu près un an que le bon Tim nous a légué ce joli morceau qu'est "what is web 2.0" : une leçon de clairvoyance au pays des marketeux et autres chercheurs de tendance en mal de nouveaux labels.
Si vous trainez ici, c'est que vous connaissez déjà probablement ses 7 grandes leçons... mais avez-vous pris le temps de regarder le chemin qu'avait parcouru notre (déjà) vieux web vers la terre promise ? Non ? Alors, posez votre bâton de pélerin et arrêtez-vous ici quelques instants...

Première leçon, probablement à la base de toutes les autres, "le web en tant que plate-forme" est une réalité que personne n'ose aujourd'hui contester tant les progrès accomplis sont flagrants :
- la promesse d'un webtop rendant le desktop obsolète se réalise peu à peu à travers des outils chaque jour plus nombreux mais aussi plus efficaces : messageries instantanées, traitements de texte, mails, tableurs...
- tous les services modernes en ligne sont désormais compatibles avec Firefox, affranchissant définitivement le web grand public de tout produit Microsoft (ie6 et Windows) ou d'une autre plate-forme technique d'accès au web.
- les connexions permanentes ont continué à se mutliplier et à les tuyaux nous reliant au réseau des réseaux ont encore grossi.

C'est au second point, "tirer parti de l'intelligence collective", que le social web dont on vous a tant rabattu les oreilles entre en jeu. Le tagging est désormais partout, les systèmes de votes et les commentaires aussi. Le wiki n'est plus une blague mais un truc hype tandis que les réseaux et autres communautés se mettent à valoir de l'or.
Je dois dire que je suis réservé sur ce point : si Digg est une incontestable réussite, il est resté un service essentiellement consommé par les technophiles. De même les fameux Flickr et del.icio.us restent des produits de consommateurs avertis.
Seules exceptions : MySpace et YouTube mais qui ont marqué avant tout des points grâce à un marketing viral rarement vu à une telle échelle. D'ailleurs pour l'un et l'autre de ces services, l'intelligence collective n'est que très accessoire, c'est le bon vieil effet communautaire qui joue là avant tout.
Donc, rien de réellement révolutionnaire pour l'instant, et le web 2.0 cherche encore l'équivalent de ce que fut à son époque l'arrivée du PageRank.

Si l'on se souvient que "la puissance est dans les données", alors on peut dire que le web continue à monter en puissance : nos vieilles mapemondes s'affinent à une vitesse impressionnante, les blogs fleurissent en même temps que leur contenu, des bases de données en tout genre deviennent disponibles... oui, ce nouveau paradigme était terriblement bien énoncé par O'Reilly et l'on sait désormais qu'il risque de se vérifier pour un bon bout de temps.

"La fin des cycles de release" n'a jamais été le point de l'article fondateur à m'avoir le plus emballé. Je suis personnellement las de toutes ces bêtas qui n'en finissent pas et si je suis un fervent de l'XP programming, je ne l'ai pas vu se répandre autant que cela semblait énoncé. Pour le moment, parmi les grands, seul Google et sa galaxie de produits semblent appliquer ses principes... les années à venir devraient néanmoins voir les autres migrer vers ce concept indiscutablement performant.

Qu'en est-il de ces "modèles de programmation légers" évoqués étant comme le nouveau modèle à suivre ? Difficile à dire... je crois néanmoins que là aussi, un certain nombre de progrès sont observables :
- REST qui prend de plus en plus le pas sur SOAP
- le phénomène Ruby (via RubyOnRails) qui rejoint les PHP et autres Python au royaume de la simplicité populaire et efficace.
- l'esprit "small is beautiful" (attention, c'est un ressenti 100% subjectif) qui règne sur la toile : SQLite ou LigHTTPD ne sont plus (disons plutôt moins) regardés de haut tandis que les Struts, et autres Oracle apparaissent de moins en moins comme les références incontournables pour tout "projet sérieux".

Une partie essentielle pour moi, "le logiciel se libère du PC", ne s'est pas encore réalisé comme je l'avais envisagé : le "mobtop" (le desktop sur téléphone portable) met du temps à se démocratiser tandis que la consommation du web par des appareils portables tels que l'Ipod reste limitée. D'importantes réserves de croissance à long terme du web (ou plutôt, d'internet en général) sont pourtant là. J'irais même jusqu'à dire que la massification de ce phénomène sera probablement à la base d'un prochain cycle de croissance.

Enfin, plus personne n'a besoin d'être convaincu des possibilités d'"enrichir les interfaces utilisateur". Ajax et Flash ont l'un et l'autre continué à progresser pour offrir un confort d'utilisation sans commune mesure avec nos vieux sites 1.0. La marge de progression est néanmoins encore considérable et bien des défis restent à relever dans l'amélioration de l'expérience utilisateur web.

En résumé, une bonne partie du web 2.0 reste encore à construire : l'observation de la toile durant cette dernière année montre que la webosphère prend bel et bien le chemin indiqué par le prophète... mais que la route semble encore longue, très longue même si l'on regarde tous ces dinosaures du monde applicatif qui n'ont pas encore bougé !

jeudi, octobre 5

Vers un environnement de développement AJAX de référence...

A l'heure d'aujourd'hui, même si les progrès depuis plus d'un an sont considérables, le développement AJAX reste une galère.

Du côté des progrès :

- des patterns de référence

- des frameworks bien foutus exploitant les possibilités de Javascript

- une communauté d'Ajaxiens imaginative, partageuse et grandissante

- la reconnaissance qu'Ajax n'est pas qu'une mode et doit maintenant passer à l'industrialisation

- des outils de software factory pour Javascript

Le manque principal, je l'ai déjà dit assez souvent, c'est un environnement de développement fait pour JS : autocompletion, débugage, etc... Aptana tente de répondre à ce besoin, mais pour l'avoir un peu testé, c'est loin d'être encore au point.

Tibco General Interface est une autre tentative qui me paraît assez intéressante : en tout cas, l'environnement 100% ajax proposé pour développer est très impressionnant. Dans l'ergonomie, on retrouve pas mal de petites choses similaires à un Visual Studio, d'un point de vue technique, savoir qu'il est basé sur prototype.js ne gâche rien. et, last but not least, une version free est désormais proposée.

Tibco s'inscrit par ailleurs dans le cadre de l'initiative OpenAjax qui a pour but la normalisation des techniques ajax et dont je vous conseille un excellent "whitepaper".

samedi, septembre 30

L'application web d'entreprise : enfin une évidence ?

L'application d'entreprise est marché étrange où l'on trouve à la fois une terrible inertie des vieilles habitude et un pérpétuel intérêt pour l'innovation. Face à cette situation paradoxale, les DSI cherchent le plus souvent à être rassurés quant aux technologies de leurs applications stratégiques : si bien que le choix se fait plus sur l'éditeur de la solution, que sur la solution en elle-même. En fonction de leur profil, les décideurs peuvent donc pencher pour l'éditeur à la plus grande renommée (Oracle, Microsoft, SAP...) ou celui dont ils se sentent le plus proche (en fonction de leur parcour personnel et de leurs a priori technologiques).

Dans ce contexte, on peut dire que l'application web ne s'est pas imposé dans un premier temps pour des raisons culturelles. Malgré tout, sa percée dès la fin des années 90 dans les entreprises reste assez remarquable étant donné les contraintes de l'époque : tarifs élevés, maîtrise de la technologie limitée, débits plutôt faibles, richesse d'interface quasi-nulle. Le web fut donc suffisamment hype et ses avantages déjà assez évidents pour ouvrir une première brèche dans la forteresse de l'application d'entreprise alors tenue par le client ultra-léger (mode texte) et le client lourd (client/serveur).

Ses avantages, est-il vraiment besoin de les rappeler ? Un petit retour aux bases ne fera de mal à personne : portabilité, déploiement, maintenance, possibilités de nomadisme. Autant de facteurs qui ont rendu très tôt le web la plupart du temps globalement plus économique que ses équivalents habituels.

Aujourd'hui, la culture web est là et bien là. Une nouvelle génération de dirigeants imprégnés de celle-ci peut désormais "penser web" alors que la plupart des obstacles d'hier sont désormais levés : la technologie est maîtrisée, les interfaces se sont enrichies, les infrastructures améliorées, les coûts ont brutalement baissé suite à l'éclatement de la bulle 1.0... bref : plus rien ne semble empêcher l'avènement de la plate-forme web pour tout nouveau projet.

C'est d'ailleurs ce que je constate à titre personnel : 90% des projets d'entreprise qui me sont soumis sont web ou le deviennent après quelques discussions. Je constate le même phénomène chez des confrères qui eux non plus ne viennent pas spécifiquement du monde du web.

Il subsiste néanmoins encore 2 résistances au web pour les applications d'entreprise :
- la première vient de la nécessité de la communication permanente : le web ne met pas encore à disposition de ses utilisateurs de solutions de cache local permettant d'utiliser l'application en mode déconnecté (le "Smart Client" comme l'appelle Microsoft). Google desktop search apporte sur le sujet une solution intéressant avec son serveur web embarqué lors de l'installation.
- la seconde vient des outils bureautiques omniprésents dans l'entreprise et où seul Microsoft apporte aujourd'hui des solutions d'intégration satisfaisantes.

On retrouve dans un cas comme dans l'autre le problème de la fameuse et nécessaire intégration webtop / desktop maintes fois évoquées dans ces pages... et je vous encourage, si le coeur vous en dit, à évangéliser sur le sujet, qui, de mon point de vue, est encore trop largement mésestimé.

samedi, septembre 23

Les bots contre le web 2.0 : sexe, mensonges et statistiques

Il a déjà été dit de nombreuses fois qu'un aspect fondamental du web 2.0 est l'intelligence collective que Tim O'Reilly décrit si bien. Cette intelligence collective tire parti du fait que les utilisateurs ne se contentent plus de lire mais aussi se mettent désormais à écrire, commenter, débattre, voter... un mot, participer, sur le web.

Evidemment, il y a ceux qui savent exploiter ce système : en gagnant des visiteurs sur son site grâce à un commentaire bien placé, en évangélisant les masses grâce à un article habilement écrit dans wikipedia, en augmentant ses revenus grâce à aux votes/notations d'utilisateurs plus ou moins réels.

Exemple typique : les articles bien notés dans Digg gagnent un nombre de visiteurs suffisamment important pour que l'on parle "d'effet Digg". Or, à plusieurs reprises dans la courte histoire de Digg, des voix se sont élevées pour crier à la manipulation de l'outil par des groupes d'influences, des administrateurs de Digg ou encore des webbots.

Et voilà où est le problème : l'intelligence collective suppose que le monde est parfait et que 100% des utilisateurs seront humains, or dès qu'un service a du succès, il est quasi-certain que ce ne sera plus le cas. Les sites, marchands, et autres bidouilleurs peu scrupuleux connaissent trop les ficelles du web pour ne pas s'en servir... c'est ainsi qu'apparurent :
- les spameurs des commentaires des blogs (splog)
- les spameurs de wikis
- les robots voteurs
- les robots noteurs

Pour coller à l'actualité, certains d'entre vous auront ainsi peut-être remarqué que les votes de wikio étaient parfois très étranges, cela ne manque d'ailleurs pas de provoquer des remous et des débats... à la petite échelle de Wikio.
Mais les conséquences sont grandes puisque d'une part les Wikio, Digg et autres Fuzz redistribuent un traffic de plus en plus important (donc de plus en plus d'argent), et que d'autre part ces sites tirent leur pertinence des recommendations humaines.

Conclusion : dans la lutte pour la pertinence et contre les actions marketing, la lutte contre les robots n'est pas des moindres. Or, les anti-bots ne sont d'après moi pas encore à la hauteur des défis qui les attendent.

Passons en revue les méthodes classiques :
- identification du voteur par cookie : il suffit au bot d'effacer ses cookies !
- identification du voteur par IP : il suffit d'utiliser un proxy pour contourner le problème
- identification du voteur par compte : un peu plus dur, il faut alors créer des comptes manuellement ou automatiquement.

On peut aussi évoquer les méthodes anti-bot (CAPTCHA) :
- un texte en image à recopier
- un mot prononcé à écrire
- une question aléatoire à laquelle un humain sait répondre

Les deux premières méthodes ont leur parade avec les systèmes de reconnaissance visuelle et sonore. La troisième peut être solutionnée par un bot disposant d'une bonne base de données de réponses et d'un système d'analyse sémantique adéquat.

Et puis il y a l'anti-CAPTCHA (c'est à dire l'anti-anti-robot) ultime : celui qui fait appel à des utilisateurs humains à la recherche de contenu gratuit. Le principe est simple : les utilisateurs sont aguichés par une ressource gratuite (en général, du porno), on leur demande alors de répondre au système CAPTCHA à pirater pour accéder au dit contenu... et le tour est joué !

La solution se trouve peut être dans une analyse statistique des actions faites par les robots et les humains. On pourrait alors mettre en place des systèmes de filtres baysiens comme on le fait aujourd'hui pour éliminer le pourriel. Mais d'ici là, les robots auront certainement fait beaucoup de mal au web 2.0...

jeudi, septembre 21

Développer et tester en Javascript par le concepteur de scriptaculous

Scriptaculous est une librairie javascript désormais fameuse pour qui veut développer une application web bénéficiant d'une "ergonomie 2.0". Thomas Fuchs est l'auteur de cette impeccable surcouche du génial prototype.js et ces conseils en matière de développement javascript valent de l'or.

Il nous prodigue dans son dernier billet quelques conseils pour développer et surtout tester nos codes javascript à partir d'une présentation qui, outre la pertinence, a le mérite de ne pas se prendre au sérieux.

dimanche, septembre 17

Google et les 6 cultures d'internet

Martin Lessard décrit dans un article brillant, les 6 cultures qui ont façonné l'internet que nous connaissons aujourd'hui. Je me permets de les reprendre ici afin de les rapprocher de la "culture Google" que je cite régulièrement comme "définition" du web 2.0.

1- la culture décentralisatrice
ARPANET, le grand ancêtre, a apporté un paradigme essentiel à la culture internet qui ne s'est jamais démenti : la décentralisation du réseau. Tous les noeuds et toutes les routes ont (quasiment) la même valeur et aucun centre névralgique n'est nécessaire au fonctionnement de l'ensemble.

2- la culture scientifique
Ce sont des scientifiques qui ont développé HTTP et HTML pour leur besoins propres. Ils ont véhiculé avec ces outils leurs valeurs de partage sans réserve de l'information. Ces valeurs restent terriblement d'actualité à ce jour.

3- la culture "hackers"
La plupart des programmeurs et bidouilleurs des années 90 qui se sont lancés dans l'internet avaient fondamentalement la culture du logiciel libre : et ce n'est pas un hasard si Linux, Apache, Perl puis PHP ont à ce point dominé les infrastructures web.

4- la culture communautaire
Les premiers non techniciens à s'être appropriés internet sont tous ces groupes plus ou moins formels qui avaient besoin de communiquer librement sur leurs diverses passions : les étudiants, les clubs et autres hobbyistes ont répandu la culture du forum, du BBS et du newsgroup.

5- la culture start-up
Quand internet est devenu le nouvel eldorado, la culture des entrepreneurs fous, visionnaires et aventureux a envahi la toile : avec eux, la promotion des évolutions rapides, de l'innovation à tout prix mais aussi des dollars vite faits.

6- la culture blog
Nous voilà à l'ère du blog et du "we, the media". Aux cultures précédentes, toujours présentes, viennent se mêler celles des faiseurs d'opinion : tout devient blogable, discutable, tagable, votable ouvertement et sans langue de bois.


Ce qui m'a surpris dans cet article, outre sa pertinence, c'est à quel point Google est imprégné de ces différentes cultures.

1- la décentralisation :
Google a été la première entreprise du web à déployer un grand nombre de machines à bas coût pour supporter son infrastructure plutôt que d'investir dans quelques serveurs puissants. Ce choix décisif a permis à Google d'abaisser considérablement ses coûts tout en améliorant sa disponibilité globale.

2- la science :
Sergei Brin et Larry Page sont des scientifiques avant d'être des programmeurs : c'est d'ailleurs un algorithme et non un programme qui est à la base de leur succès. Depuis, Google est resté proche des universités et des universitaires. On ne s'étonnera donc pas de trouver Vinton Cerf, symbole de ces scientifiques qui ont fait d' Internet ce qu'il est, parmi les effectifs de Google.

3- l'open-source :
On pourrait bien sûr parler du Google Summer of Code ou de Google Hosting mais ce n'est pas là le plus significatif. L'infrastructure de Google repose là encore sur de l'open-source : les outils libres sont seulement utilisés mais aussi et surtout bidouillés pour en faire une part importante du savoir-faire actuel de la société. Et si l'on a su attirer Guido Van Rossum (entre autres), c'est probablement que l'on a esprit du libre.

4- l'esprit communautaire :
Si Google ne s'est jamais imposé sur le marché des communautés, il a su s'appuyer sur elles pour utiliser comme personne le marketing viral.

5- l'entreprenariat :
C'est une valeur de bien des start-up perdent en grandissant que Google semble avoir su garder jusque là : en encourageant l'initiative personnelle avec les fameux 20% de temps libre et gardant des équipes réduites et relativement autonomes sur une multitude de petits projets.

6- l'esprit blogueur :
Si la société entretient bien le secret, elle n'utilise pas la langue de bois quand elle s'exprime : que ce soit lors d'une introduction en bourse peu conventionnelle, sur la délicate affaire Gu ge ou dans ses messages d'avertissements ("attention, ceci n'est pas le charabia habituel" ai-je pu lire un jour sur les conditions d'utilisation d'un de leur service), Google nous parle simplement et franchement sans que cela ne sonne faux.

Google, en incarnant ainsi toutes les cultures du web, a intrinsèquement un coup d'avance sur tous ses concurrents... sauf peut-être sur un point : l'exploitation de la culture communautaire que bien peu de monde avait vu venir avant le triomphe de MySpace.

vendredi, septembre 8

Flash et ajax sont sur un bateau...

Flash et ajax ont longtemps été considérés comme 2 alternatives de développement web riche avec de vraies différences qui peuvent aussi bien justifier un choix que l'autre. Certains, comme Ajaxpatterns, affirment à juste titre qu'ils peuvent être complémentaires et vont jusqu'à parler du pattern "richer plugin".

Aujourd'hui, Open Lazlo (un système de script libre exécuté par un lecteur flash) nous propose de ne plus avoir à choisir avec le projet "Legals". Le principe est le suivant : vous écrivez tout à l'aide du système de script Lazlo qui à partir du même code, vous permet de faire du Flash ou de l'Ajax (enfin, du DHTML si vous préférez).

En image, ça donne ça :
Le projet devrait sortir une version raisonnablement testable le mois prochain, mais les plus aventureux peuvent déjà y jeter un oeil !

Autre possibilité avec le framework AFLAX : faire du flash avec une bibliothèque Javascript. A tester : c'est libre et c'est fait par le fondateur d'Aptana (dont j'ai parlé il y a peu).

Adobe n'est pas en reste dans cette tendance Flash + Ajax avec d'une part Fabridge, qui fait grosso modo la même chose qu'AFLAX et qui est lui aussi libre et d'autre part Ajax Client for Flex Data Services 2 qui devrait sortir sous peu.

Flash ou pas flash, une chose est sûre : Javascript ne s'est jamais aussi bien porté !

mercredi, septembre 6

activeCollab + Flyspray = activeFactory

Je recherche depuis quelques temps déjà une réponse à la problématique de la software factory en terme d'outils pour les projets de notre petite équipe. Deux outils encore assez méconnus avaient attirés mon attention lors de mes recherches :
- activeCollab, l'équivalent libre de BaseCamp, un outil de gestion de projet web 2.0
- Flyspay, un gestionnaire de bugs correspondant tout à fait à mes besoins.

Le problème était jusque là, que chaque projet devait avoir à la fois son instance Flyspray, et son instance activeCollab, ce qui au quotidien pouvait s'avérer très agaçant.
activeCollab et Flyspray étant libres, nous avons créé notre petit mash-up en faisant de ces 2 solutions une seule : cela s'appelle activeFactory, c'est sous license GPL, et je vous invite à y jeter un oeil.

lundi, septembre 4

Aptana : une réponse au problème du développement javascript ?

Javascript a toujours été considéré comme un sous-langage, un truc à bricoler pour faire joli et améliorer l'ergonomie. A l'heure où Javascript représente grosso modo 30% du temps de développement d'une application web, cette vision a tendance à franchement vieillir.

Il manque de ce fait beaucoup de choses pour faire correctement du Javascript à ce jour, les 2 principales étant :
- un environnement de développement avec auto-completion et contrôle de la syntaxe
- un debugger qui marche correctement (firebug étant encore loin du compte)

Aptana, application bâtie sur Eclipse, a vocation à répondre à cette problématique. Je la teste en ce moment, et mon sentiment est qu'il lui reste encore beaucoup de chemin à parcourir pour en faire une application de référence (en particulier : intégration avec les langages serveur, auto-completion sur les librairies js utilisées). Mais le projet a le mérite d'être là et peut être un début de solution pour un certain nombre de développeurs.

jeudi, août 31

Une documentation efficace pour prototype.js

J'ai déjà dit tout le bien que je pensais de la fameuse librairie prototype dans un projet web 2.0. Pour exploiter au mieux cette librairie, je ne saurais trop que vous conseiller la lecture de la documentation non-officielle de prototype 1.4.0 ici (en anglais) et en français (pour la version 1.3.1).

Encore une fois, passer 2 heures à lire cette documentation est un investissement très rentable si vous utilisez cette librairie ou envisagez de le faire.

jeudi, août 24

Pourquoi vous ne trouverez pas de définition du web 2.0

Bien des gens de passage ici (et ailleurs) sont à la recherche d'une définition du web 2.0... de préférence précise. Alors, soyons clairs : cette définition n'existe pas.

Le web 2.0 n'a pas de contour nets : il s'agit d'une étiquette collée à une époque marquée par un certain renouveau sur le web. De même que vous ne trouverez pas de définition précise du nouveau roman, de la nouvelle vague ou des années folles, vous pourrez au mieux sentir les concepts dominants de l'ère et de la culture web 2.0.

Le web 2.0 s'apprécie donc dans le temps : c'est pourquoi Tim O'Reilly commence "What is web 2.0" par ce qui a changé sur le web ces dernières années. C'est aussi pourquoi il faut les 16 pages de son article pour commencer à comprendre tout ce que cela recouvre : économiquement, culturellement, techniquement mais aussi et surtout dans les usages.

La seule définition que l'histoire devrait retenir serait ainsi :
"Web 2.0, période marquant le retour de l'innovation et d'une forte croissance dans les technologies liées au web, après la crise connue par le secteur de 2001 à 2004."

mercredi, août 23

Petit test de AllPeers

AllPeers est un plug-in pour Firefox vous permettant de faire des échanges de fichier de clients à clients. C'est outil actuellement en bêta fermé que j'ai pu tester grâce à une invitation via Techcrunch.

Premiers constats...
- l'outil est pratique : intégré au navigateur, ergonomie bien pensée (barres de navigation, menus contextuels, possibilité de partager des fichier par glisser-déposer depuis le desktop)

- il répond à un vrai besoin : partager des fichiers volumineux entre amis (c'est le protocole de Bittorrent qui est utilisé, c'est donc vraiment similaire au P2P classique pour les habitués), et à l'heure de la bulle 2.0, c'est une grande qualité.

Quelques réserves cependant...
- le principe du logiciel, c'est le partage entre amis : vous êtes donc limités à votre petite bande de potes qui utilisent Firefox avec ce plug-in et qui se trouvent sur le réseau... ce qui ne fait pas grand-monde ! J'ai envoyé des invitations à quelques amis, un seul l'a installé et désinstallé quelques jours plus tard. Pour être vraiment intéressant, il faudra donc que le logiciel atteigne un seuil critique en terme d'adoption.
Il est vraiment dommage de ne pas avoir laissé la possibilité de chercher/partager des fichiers avec des gens ne faisant pas partie de votre réseau personnel : cela aurait considérablement augmenté les possibilités d'utilisation.

- techniquement, les développeurs d'AllPeers ont certainement dû faire face à pas mal de difficultés et ils ont parfois été obligés de recourir à des solutions "bricolées". Par exemple, pour ne pas interrompre les téléchargements en cours, lorsque vous fermez Firefox, AllPeers maintient le processus en fonctionnement, ce que j'ai trouvé personnellement gênant.

- l'ensemble ne s'est pas révélé stable sur ma machine (j'ai donc du le désinstaller)... attention toutefois, c'est encore une bêta fermée et j'ai une utilisation de Firefox assez particulière du fait de mes activités de développement.

Finalement...
- AllPeers est incontestablement une bonne idée mais, idéalement, il faudrait qu'il soit intégré directement à Firefox (plutôt qu'en extension) : cela permettrait certainement de bâtir un ensemble plus stable et accroîtrait considérablement le nombre de clients disponibles (difficile mais la fondation Mozilla est ouverte aux partenariats). Dans le même ordre d'idée, prévoir des plug-ins pour d'autres navigateurs permettrait de communiquer avec plus que les seuls 15% d'utilisateurs Firefox.

- Autre point (déjà évoqué) : permettre des échanges "publics" pour partager des fichiers avec des personnes inconnues façon P2P classique est un manque incontestable.

- Vous pourrez essayer AllPeers à sa sortie publique : si vous avez une petite communauté d'utilisateurs potentiels et que vous ne rencontrez pas les problèmes de stablilité que j'ai connus, vous y trouverez un intérêt certain.

vendredi, août 18

Du côté de chez Sun...

Jonathan Schwarz est non seulement le président de Sun mais aussi un des businessmen dont le blog est le plus lu outre-Atlantique. Alors quand M. Schwarz annonce "we're the dot in the web 2.0" (nous sommes le point du "web deux point zéro"), faut-il le croire ?

Regardons un peu la stratégie de Sun :
- côté matériel : une stratégie serveur web très intéressante avec les machines exploitant l'ingénieux processeur Niagara => moins de puissance, (beaucoup) plus de threads.

- côté OS : Solaris X semble connaître un certain succès aux dires de Schwarz... que vaut-il face à un linux ou un BSD (Windows Server étant un monde un peu à part pour le web) ? J'avoue ne pas le savoir, mon expérience en la matière s'étant limitée à une installation à l'arrache qui n'a pas tenu une semaine. Mais Sun peut compter sur quelques partenariats, le succès de ses Ultra-Sparc et sa license open-source pour lui assurer un destin honorable.

- côté Java : certes, JSP se fait grignoter par .NET dans le domaine des applications web, mais Java n'a toujours pas d'équivalent dans le domaines des devices portables. Java est désormais intégré dans de nombreux appareils (téléphones, accessoires automobiles, assistants personnels...) ce qui est un avantage décisif à l'heure où le logiciel se libère du PC.

- côté logiciels clients : pas grand chose. Open/StarOffice ne bouge pas beaucoup, les outils de développement (où Eclipse semble s'être imposé) basculent les uns après les autres vers l'open-source et rien de bien excitant n'est arrivé depuis longtemps sur ce plan (à moins que le bureau 3D "Looking Glass" ne soit un jour au point ?).

Ce petit tour d'horizon semble donc montrer que Sun est très fortement tourné vers le web 2.0 : des produits formatés pour permettre la poursuite de la montée en puissance des datacenters, un Java qui anticipe la fin de l'ère du PC, une culture résolument rajeunie et open-source, quelques petites innovations comme JMaki (intégration de widgets ajax par des tags dans les pages jsp)... et last but not least des liens très particuliers avec Google.

Difficile de dire ce qui unit précisément les 2 sociétés à l'heure actuelle, mais :
- Andy Bechtolsheim, un des fondateurs de Sun, est l'homme providentiel qui fit un chèque de 100000 $ à Page et Brin alors que Google n'avait même pas de compte en banque !
- Google est un membre actif du Java Community Process
- Google et Sun ont dit mener un "big deal" ensemble fin 2005 sans préciser de quoi il s'agissait vraiment.
- Sun joue la carte des serveurs économes en ressources électriques, à l'heure où Google cherche à diminuer des coûts en énergies.
- Google joue la carte Java+Ajax avec le Google Web Toolkit à l'heure où Sun annonce que le temps du PC est terminé.

Sun a donc les cartes en main pour devenir le "dot in web 2.0" mais à ce jour, rien n'est encore fait.

mercredi, août 9

La chute de la maison Microsoft (featuring web 2.0)

Pour commencer, soyons clairs, je n'ai rien en paticulier contre Microsoft. Je crois même qu'on doit beaucoup à cette société : l'informatique a prospéré comme jamais sous sa domination et je ne suis pas sûr du tout que c'eût été la même chose dans une configuration différente... je conçois qu'on puisse avoir une opinion différente mais ce n'est pas là le débat que je veux faire (re)naître ici.

Je suis loin d'être le premier à annoncer les difficultés en cours et à venir pour Microsoft. Tim O'Reilly l'annonce dans what is web 2.0 et Jean-Louis Gassée (ancien de chez Apple et à l'origine de l'aventure BeOS) avance une théorie : Microsoft mat en trois coups.

Regardons-y d'un peu plus près : toute la force de Microsoft se trouve dans sa maîtrise absolue du desktop. Il a toujours écrasé ses concurrents successifs sur le marché (IBM, Apple, Sun, Linux...) et aujourd'hui encore personne ne semble vraiment en mesure de rivaliser. Or, dans les années 80-90 (les années PC), tout se jouait sur le desktop. Qui contrôle le desktop, contrôle les API pour les applications qui s'y implantent. Qui contrôle le desktop est indispensable et peut imposer aux fabriquants de PC d'être le système préinstallé avec lequel il faut être, quoi qu'il arrive, compatible.

La théorie d'O'Reilly et de Gassée (et certainement de bien d'autres) est qu'avec un champ de bataille déplacé sur le web, c'est à dire hors du desktop, Microsoft sera du coup privé de toutes ses armes habituelles : intégration à l'OS de ses propres outils, accords avec les fabriquants, seule plate-forme compatible avec des outils critiques pour l'entreprise ou le particulier.

Le desktop se déplace-t-il donc à ce point vers le web ?
Quelques réserves sont encore là :
- malgré Ajax, Flash et Java, une application web donnée a, la plupart du temps, encore un peu de retard sur son équivalent client en terme d'ergonomie : c'est souvent plus lent et tous les contrôles intuitifs (double-click, menu contextuel, glissé-déplacé) de l'application classique (même si tous sont théoriquement possibles) ne sont généralement pas présents.
- la 3D est encore très anecodotique sur le web, et exclut de fait beaucoup d'applications de cet univers (en particulier, les jeux).
- nombre de développeurs et de décideurs n'ont pas la culture web et pensent encore trop systématiquement application cliente face à un problème donné.
- nous sommes loin d'être connectés en permanence dans de bonnes conditions au web et beaucoup sont encore tout simplement encore exclus du réseau des réseaux.

Si le déplacement vers le web a donc bien lieu, rien ne dit qu'il sera total ou même suffisant pour retirer au desktop son caractère hautement stratégique. Mais quoi qu'il arrive, nous vivons et allons encore vivre une période dans laquelle l'intégration desktop-webtop sera décisive : le webtop arrive mais le desktop n'est pas mort... ils doivent donc se parler avec des outils tels que Google desktop !

Il est donc vrai que Microsoft n'est pas dans la meilleure dynamique aujourd'hui mais le desktop étant encore là pour quelques années, le géant de Redmond et ses milliards de dollars de trésorerie ont encore largement le temps de revenir dans la course : soit en adoptant une culture web plus tournée vers le web, ou beaucoup plus probablement en donnant de nouvelles armes au desktop (avec par exemple Windows Presentation Foundation).

vendredi, août 4

Reflexions sur l'actualité en ligne (2)

Je poursuis les quelques idées que j'ai lancées dans mon précédent post. Pour bien comprendre celui-ci, je crois qu'il me faut d'abord préciser les objectifs que je fixerais, en tant que lecteur, au site d'actualités du futur.

Il me semble tout d'abord que le journalisme moderne doive éviter quelques écueils dans lesquels il tombe assez souvent.

- l'ethnocentrisme exacerbé : les informations sont triées et traitées sous le seul le prisme des références culturelles de son public. Si la culture du public est bien sûr un facteur à prendre en compte pour capter son adhésion, l'information dans sa diversité et les analyses dans leur pertinence sont affaiblies lorsque sont oubliés les points de vue culturellement extrêmement divers de notre village mondial.

- le suivisme : phénomène particulièrement bien décrit par Daniel Schneiderman dans "le cauchemar médiatique". Il est une famille de journalistes qui semblent sans cesse se marquer à la culotte : "je dois parler de ce sujet parce que ça intéresse les gens. Pourquoi ça les intéresse ? Parce que mon confrère en a parlé !". De ce fait, on assiste au double phénomène "emballement/omerta" médiatique : certains sujets sont injustement surreprésentés tandis que d'autres sont purement et simplement passés sous silence (jusqu'à ce qu'ils ressortent de façon soudaine).

- le clientèlisme : qui consiste à suivre le public plutôt qu'à le guider dans l'univers de l'information. C'est une dérive commerciale aussi dangereuse que naturelle et il faut une identité très forte pour s'en détacher.

- le monocordisme : un phénomène bien connu des JT où toutes les informations se mettent à avoir la même saveur, celle de la dépêche prémachée. Pas de reformulation, pas de prise de recul, pas de mise en perspective... et le lecteur en vient à ne plus s'intéresser qu'aux pages sport, seules à tenter d'avoir un ton différent.

- la prime à la dernière dépêche : la fraîcheur de l'information prend un poids disproportioné dans l'importance du traitement de celle-ci... mais le public n'a ni de rappel des épisodes précédents ni l'ébauche d'une analyse qui lui permettrait de comprendre l'information présentée. On aboutit à des contenus incompréhensibles : personne de mon entourage proche n'est capable de me dire ce qui se passe vraiment au Darfour... mais tous savent qu'on en parle de temps en temps !

- le trop-plein : comme on traite tout très vite, on peut traiter beaucoup, au risque de devenir indigeste. Le raisonnement menant à ce défaut étant "En évitant d'être trop sélectif, on multiplie les chances d'avoir un sujet qui capte l'attention".

Conclusion...
le vrai bon site d'actu (si le web, fut-il 2.0, voulait donner l'exemple) serait donc d'après moi :

- sélectif : il ferait de vrais choix éditoriaux pour ses lecteurs (qui pourraient malgré tout peser dans les choix en question afin de modérer le pouvoir de l'équipe éditoriale)... les robots et le moteur de recherche permettant quant à eux de répondre aux lecteurs en attente d'une information précise.

- pédagogique : il ordonnancerait et relierait les informations utiles à la compréhension d'un sujet donné (ça semble être la moindre des choses dans un système hypertexte !). On peut aussi imaginer un espace permettant de poser des questions aux journalistes afin d'établir des sortes de FAQ sur les différents points de l'actualité.

- attrayant dans sa forme : le paysage est tellement uniforme qu'un peu d'imagination dans la présentation et quelques efforts dans le style (c'est à dire mieux que la paraphrase d'agence de presse) suffiraient à sortir les lecteurs de leur torpeur.

- long-termiste : il renoncerait aux petits profits du scoop pour prendre le temps de devenir un prescripteur d'information de confiance.

- large d'esprit : afin de confronter les analyses, les opinions politiques, les approches culturelles sans a priori.


Alors, facile ?

mercredi, août 2

Google News, Wikio, Digg-like, Yahoo news : réflexions sur l'actualité en ligne

Je suis personnellement friand d'actualité et perpétuellement insatisfait de l'offre qui m'en est faite. Pourtant, le sujet est actuellement en pleine mutation : certains modèles apparaissent tandis que d'autres semblent promis à l'extinction.
C'est évidemment en ligne que les possibilités sont les plus grandes et la déferlante web 2.0 a encore un peu accéléré les choses de ce côté.

Ces modèles, quels sont-ils ?
- le modèle "Yahoo News" : les informations sont classées par Yahoo! qui opère donc un véritable travail éditorial sur le travail des agences de presse. C'est le site de news le plus populaire aux Etats-Unis. Pas d'intéraction avec les lecteurs ni de flux RSS.

- le modèle "lemonde.fr" : ici, on est dans le domaine du journalisme classique avec un travail éditorial à la fois de classement mais aussi d'analyse sur les sujets traités. Les approfondissements sont d'ailleurs en général payants. Les lecteurs peuvent réagir et débattre sur les articles.

- le modèle "Google News" : les actualités sont automatiquement agrégés à partir de 500 sources de référence. Aucun travail éditorial, juste des robots. Pas d'intéraction avec les utilisateurs non plus. La recherche s'avère très efficace.

- le modèle "Digg" : les actualités sont soumises et votées par des utilisateurs du service. Ce qui fait la pertinence d'une information, c'est sa popularité. Le débat sur le sujet soumis est présent et encouragé.

- le modèle "Wikio" : à la manière de Google News, Wikio agrège automatiquement 10000 sources, donc là non plus, pas de travail éditorial. A la manière des Digg-like, il prend en compte les votes des utilisateurs (mais pas seulement) pour décider de la pertinence d'un article. Là aussi, la recherche d'actualités sur un thème précis s'avère assez efficace.

D'après moi, aucun modèle ne se dégage pour le moment en terme de qualité. Un bon site d'actualité devrait selon moi combiner :
- une vraie ligne éditoriale, pour mettre l'information en perspective, trouver des angles, des analyses pertinentes sur l'actualité... sinon celle-ci n'est qu'un chaos de news toutes plus ou moins issues de l'AFP, AP et Reuters.
Cela passe donc par des choix dans la disposition spatiale et temporelle de l'information, la mise en valeur d'analyses équilibrées finement choisies et un classement humain de l'information.
- une certaine intéraction avec les utilisateurs : l'intelligence collective doit permettre de faire émerger des articles, des analyses hors des poids lourds habituels de l'information. Faire émerger le débat est aussi un bon point.
- un bon système de recherche ainsi qu'une syndication de contenu, éventuellement par thème, sont de bons atouts mais ne sont pas à ce jour essentiels.

Pour moi tout l'enjeu du site d'actualité moderne est de faire la synthèse entre l'approche "top-down" des sites façon Yahoo! ou lemonde.fr, l'approche "bottom-up" des Digg-like et l'approche robotisée de Google et Wikio. Cela pourrait se passer de la manière suivante :
- les robots ramènent les news et les classent de manière sémantique
- les utilisateurs taguent, annotent, votent, commentent... ajoutent de la richesse (et sont éventuellement rétribués pour ça) aux news et aux analyses qui y sont liées.
- une équipe éditoriale organise sa "une" et les analyses liées aux principaux articles en fonction de tout cela.

Bon, je suis en train de me rendre compte que tout cela coûterait assez cher ce qui serait sûrement difficile à rentabiliser sur un nouveau projet. Mais pour un acteur du marché déjà présent, ça semble jouable... non ?

vendredi, juillet 28

Professionnel indépendant : grand questionnaire de l'été !

Je réponds à ce questionnaire qui m'a été transmis par l'infatigable Jean-Marie (Adscriptor), pour qui je suis prêt à faire la première entorse à la ligne éditoriale de ce blog. Pour me donner bonne conscience, je vais quand même essayer de glisser quelques allusions (subtiles ?) au web 2.0 :

#1 - Quand et quelle est votre prochaine prestation facturée ?

Aujourd'hui, pour un ERP web riche en cours de développement.

#2 - Pour quelle raison reprendriez-vous une activité salariée classique ? Qu'est-ce qui vous manquerait le plus ?

- Si l'activité en question me permettait de me sentir plus utile.
- Les playlists de mon bureau.

#3 - Que fait un professionnel autonome l'été alors que ses clients sont à la plage ?

Il bosse sans craindre de voir le téléphone sonner.

#4 - Décrivez votre principal outil de travail sans citer son nom.

Il est l'alpha et l'oméga de nos tentatives de socialisation webisante. Ses 0 et ses 1 s'enchaînent en mélopées harmonieuses et recrée sans relâche les reflets de nos mondes intérieurs... Loué soit-il ! Embrassons-nous !

#5 - Finalement, tout serait parfait si...

... la perfection était de ce monde, forcément.

mardi, juillet 18

Retour d'expérience sur quelques librairies Ajax

Ce que j'entends dans cet article par librairies Ajax sont les nombreux ensembles de classes Javascript destinées à faciliter le développement d'applications web riches.

Elles comprennent souvent :
- un gestionnaire d'événements
- un système de fenêtres web 2.0 (c'est à dire faites à partir de div)
- des petits effets graphiques sympas
- un gestionnaire de requêtes Ajax
- des widgets évolués prêts à l'emploi (calendrier, treeviews, sliders...)

Il serait présomptueux de faire de faire une analyse détaillée dans ce billet à partir de ma simple expérience, néanmoins mon ressenti peut être utile à certains d'entre vous ... notamment à l'heure du choix d'une librairie Ajax !

Je déconseillerai d'abord YahooUI : pas complet, mais doté d'un noyau de fonctions indispensables assez lourd, il ne possède rien qui puisse justifier son choix.

DojoToolKit semble intéressante, je n'ai pas poussé très loin mes expérience sur cette librairie, mais elle a priori tout ce qu'il faut pour faire une base de travail très correcte : une petite communauté, des widgets sympas... bon, je ne peux cependant pas la conseiller parce qu'entre une utilisation de test et une application qui doit tourner en production, il y a un monde (donc si qq veut commenter sur le sujet, qu'il n'hésite pas).

DHTML Goodies est une petite suite de contrôles avec de temps en temps des scripts PHP pour faire des fonctions AJAX complètes. Pratique à l'occasion, mais à ne pas utiliser sur des points critiques : ce sont là des scripts intéressants, indépendants les uns des autres (pas de noyau à charger), mais pas faits pour une application professionnelle (on rencontre souvent de petits problèmes à la longue).

Prototype est pour moi la Rolls des librairies Ajax. Ecrite à la base pour RubyOnRails, soutenue par une grosse communauté d'utilisateurs, très bien structurée, permettant d'utiliser de nombreuses librairies pouvant se greffer sur elle (OpenRico, Scriptaculous pour les plus célèbres), elle offre toutes les garanties pour un développement Ajax d'envergure.

A vous maintenant d'enrichir ce point de vue personnel de vos propres expériences...

jeudi, juillet 13

L'usine logicielle web 2.0

Le web 2.0 a apporté son lot d'opportunités et d'innovations dans la productivité des développements web et il est probablement temps de capitaliser sur ces nouveautés pour les industrialiser au sein d'une usine logicielle (software factory).

L'usine logicielle est sensée couvrir toutes les étapes du développement d'un logiciel de l'analyse du besoin à la mise en production. Toutes ces étapes doivent bien entendu être accomplies de manière cyclique : l'ensemble des développements est découpé en plusieurs "cycles", chacun de ceux-ci accomplissant le parcours "analyse / conception / développement / test / intégration" en deux semaines (c'est la norme).

Du côté des outils, il nous faut en général (dans le désordre, je l'écris comme ça me vient) :
- un système de supervision du projet et de son avancement (ex : Cruisecontrol)
- une plate-forme de communication avec le client (même si le client fait partie de la même entreprise que l'équipe de développement) (ex : Basecamp)
- un système de bug-reporting (ex : Bugzilla)
- un système de versionning (ex : SourceSafe, Subversion, CVS)
- un framework de tests (ex : JUnit, SimpleTest, Selenium)
- un système de contrôle qualité du code (ex : FxCop)
- un outil de modélisation (qui, si possible, génère des classes à partir d'un diagramme) (ex : Visio, Poseidon, Rational Rose)
- un outil/framework facilitant le mapping objet-relationnel (c'est à dire faire le lien entre la base de données et les objets métier) (ex : Hibernate, RubyOnRails)
- des outils pour automatiser différents processus (copie de fichier, build, exécutions de tests...) (ex : Ant, Phing)
- un environnement de développement (ex : Eclipse, Visual Studio)

Les apports de l'ère web 2.0 dans ces domaines sont donc d'après moi :
1- les méthodes de RubyOnRails : c'est à dire patterns Active Record + MVC + pleins de petits trucs qui font le mapping objet relationnel n'est plus un problème (et l'architecture d'une application non plus).
2- la simplicité des tests Selenium qui permet de tester correctement une application web 2.0 pleine de javascript et d'AJAX
3- les bonnes idées de BaseCamp (à noter, son équivalent libre : ActiveCollab) : se focaliser sur la communication car c'est l'essentiel dans un projet.
4- la terrible efficacité du dernier Visual Studio.

Pour ce qui est du reste, pas vraiment de boulversement d'après moi :
- les outils calibrés pour l'industrie viennent du monde Java
- les outils permettant la plus grande productivité viennent de Microsoft
- les idées nouvelles viennent d'ailleurs (et souvent du libre)
- la vraie bonne usine logicielle se fait encore à partir de services/logiciels très divers et ne s'achète pas en pack "tout en un" (façon Visual Studio Team System).

Et pour vous, la killer app de l'usine logicielle web 2.0, c'est quoi ?

vendredi, juin 30

Wikio s'améliore

Même si pour le moment, je n'ai pas été tendre avec Wikio, je continue à suivre attentivement ses progrès. Pour rappel, Wikio est moteur de syndication et de recherche d'actualités monté par Pierre Chappaz, web1-hero de l'aventure Kelkoo et désormais fortement impliqué dans le projet, ô combien prometteur, Netvibes.

Jusqu'à une date récente, la syndication de Wikio était mal présentée : infos sur le même sujet, pertinence aléatoire, navigation compliquée... mais d'une part, je m'y habitue et d'autre part wikio s'améliore.

La pertinence des informations est désormais nettement meilleure, le phénomène de redondance des infos disparaît, de plus en plus de gens votent, les infos à la une sont assez diverses et intéressantes, bref, ça marche ! Les infos par thèmes sont par contre assez décevantes pour le moment : je suppose qu'une taille critique est nécessaire pour parvenir à une pertinence acceptable. Enfin, sur la partie moteur de recherche d'actualités francophones, Wikio surpasse de mon point de vue déjà Google, ce qui est déjà très bien.

Je révise donc mes critiques assez dures envers Wikio que j'ai toujours suivi malgré mes mauvaises appréciations. Et si j'ai suivi ce projet, c'est parce qu'il regroupe un nombre impressionnant de caractéristiques web 2.0, et ce de manière particulièrement intelligente :
- utilisation massive de flux rss pour récupérer l'information
- traitement sémantique pour le classement de l'information
- présence des blogs au côté des sites d'information classique afin de gagner en pertinence et en diversité des points de vue
- système de votes pour donner du poids aux utilisateurs dans le traitement qualitatif de l'information
- une intégration Netvibes très réussie (après quelques paramètrages)

L'interface est un peu trop sobre à mon goût et ne fait pas ressortir les informations comme peut le faire habilement la une d'un quotidien par exemple, mais ce point s'améliorera peut-être par la suite... Wikio m'a en effet prouvé qu'il avait encore une marge de progression dont il saura tirer parti !

samedi, juin 24

Microsoft : moins de Bilou, plus de web 2.0 ?

Quelle sera l'impact du départ de Bill Gates sur la stratégie de Microsoft ? Certains annoncent l'accélération de la conversion de Microsoft vers les services en ligne, la fameuse stratégie "Live" lancée il y a quelques mois pour contrer Google : Ray Ozzie, le successeur au poste de "Chief Architect" du fondateur de la firme de Redmond, étant sensé mieux incarner cette évolution.


Premier constat : Microsoft n'y arrive pas


Là où l'on perçoit toute la dimension culturelle du web 2.0, c'est que malgré tous ses efforts, Microsoft ne parvient pas à s'y imposer. Et pourtant, Microsoft a des idées, des gens compétents et une réelle volonté de s'y convertir : ASP.NET 2.0 et ATLAS sont excellents, quelques services de la gamme Live semblent prometteurs, la conférence web 2.0 de Microsoft du printemps dernier était très intéressante... mais concrètement, rien.
Microsoft continue de perdre des parts de marché au profit de Google en termes d'audience, le buzz semble complètement lui échapper, et ses nouveaux services n'ont quasiment emballé personne.


Second constat : l'échec prophétisé

Dans son texte fondateur du web 2.0, O'Reilly expliquait que Microsoft n'était pas nativement une société web 2.0 et que la conversion lui serait difficile. Microsoft a battu Netscape sur son terrain parce que c'était encore du logiciel classique, mais Microsoft, en 10 ans, n'a jamais rien prouvé on-line si ce n'est peut-être la réussite de MSN Messenger (surtout en France d'ailleurs) qui tient là encore plus de l'application que du service en ligne. Rien en 10 ans, c'est tout sauf du hasard ; pire, ce n'est pas de la prophétie, c'est un fait.


Troisième constat : les déclarations révélatrices

"Qu'est ce qu'a fait Google à part un bon moteur de recherche ?" dit Bill Gates agacé en réponse à une question sur les petits gars de Moutain View... tentative de persuasion manquée ou vraie connerie en live ? Oublier les adwords, ajax, gmail, Google Desktop, ça fait quand même beaucoup, non ?

"Google veut offrir l'information, nous voulons offrir les outils pour maîtriser l'information"... nouvelle erreur : dans l'univers du web, la puissance est dans les données plus dans les API !

"Google se contente d'offrir des services gratuits, nous voulons aller plus loin en redistribuant une partie de l'argent généré par la publicité aux utilisateurs" (Ballmer) : c'est un non-sens économique. Payer les gens pour regarder de la pub n'a jamais marché sur le web malgré de nombreuses tentatives : les gens utilisent le web pour avoir des services sympas, pas pour gagner 2$ par mois en cliquant sur des liens sponsorisés.

Autant de déclarations qui prouvent que Ballmer et Gates ne pensent pas web 2.0 et que dans ces conditions, il est difficile de bâtir une stratégie efficace.


Quatrième constat : le choix de Ray Ozzie est étrange

Ray Ozzie a la cinquantaine, est l'inventeur de Lotus Notes et a monté un soft racheté il y a 1 an par Microsoft : Groove, une application desktop qui entre en concurrence directe avec le web 2.0.
A moins d'une révélation soudaine, le profil d'Ozzie ne présage pas une véritable pensée web 2.0... et on se demande comment Microsoft va opérer sa mutation dans ces conditions.

vendredi, juin 16

Tutoriel : votre premier hack COMET en PHP

Comme promis, mais avec un peu (beaucoup ?) de retard, voici un petit tutoriel pour COMET en PHP pour nos amis développeurs.
L'exemple est simplissime, il s'agit de faire tourner un compteur à partir d'instructions serveur... pas vraiment utile me direz-vous, mais bien pratique pour comprendre les bases de la chose.

Les bases sont ici :
1- lancer un script PHP dans une frame cachée (retour des vieilles combines...)
2- génération d'un bout de javascript
3 - exécution du javascript dans la frame visible


1- mon script PHP caché


<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<meta http-equiv="Pragma" content="no-cache">
</HEAD>
<BODY BGCOLOR="blue">
<?php
//on génère ici un javascript
/** début du javascript appelant une fonction de la frame visible */
$jsFunPre = "<script language=JavaScript >parent.push('";

/** fin du JavaScript */
$jsFunPost = "')</script>";
{
$i = 0;
while (true)
{
$i++;
// envoi d'une ligne de JavaScript au client
print($jsFunPre."Page ".$i.$jsFunPost);
flush();
sleep(1);
}
}

?>

</BODY>
</HTML>

2- ma frame principale

<HTML>
<BODY BGCOLOR=black TEXT=white>
<H1>Attendez...</H1>

<div id="initLinkDiv">

<label>Texte poussé par le serveur :</label>
<textarea id="leftTextZone" name="leftTextZone" readonly>
</textarea>

<br>

</div>

</BODY>
</HTML>


3- la page contenant les 2 frames

<HTML>
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta http-equiv="Pragma" content="no-cache">

<script LANGUAGE="JavaScript">
var pageStart="<HTML><HEAD></HEAD><BODY BGCOLOR=blue TEXT=white><H2>Server pushes: <P>";
var pageEnd="</H2></BODY></HTML>";

// la fonction javascript appelée par la frame cachée
function push(content)
{
window.frames['displayFrame'].document.getElementById("leftTextZone").value = content;
}

</script>
</HEAD>

<FRAMESET BORDER=0 COLS="*,*,0">
<!-- frame visible -->
<FRAME SRC="frameToDisplay.html" NAME="displayFrame" SCROLLING=yes>

</frame>

<!-- frame cachée-->
<FRAME SRC="hiddenFrame.php" NAME="pushletFrame" BORDER=0 SCROLLING=no>
</frame>
</FRAMESET>

</HTML>


Normalement, si vous avez bien nommé vos fichiers ça devrait marcher... jusqu'au timeout de votre serveur (30 secondes par défaut) !
Je reste, bien entendu, à disposition pour répondre à vos questions...

mercredi, juin 14

Tout l'art de dire du mal de Google

Toute société qui attire trop l'attention finit par subir des critiques plus ou moins jusitifiées de la part de chroniqueurs en mal de sensations. C'est évidemment le cas de Google.
Les reproches en question varient plus ou moins en fonction des époques et des supposées compétences de leurs auteurs et ne sont pas du tout à mettre dans les mêmes tiroirs.

- ceux concernant le respect de la vie privée : Google stocke beaucoup de vos informations et ça pose des problèmes. Ex, ils pourraient les utiliser contre vous ou à des fins commerciales qui s'avéreraient nuisibles pour vous, les transmettre aux services secrets américains, etc... L'attitude de Google a été, jusque là, exemplaire sur ce point, refusant à plusieurs reprises de transmettre des informations à l'administration américaine par exemple. Ce type d'interrogation est certes légitime, mais rien ne vient l'étayer et n'est absolument pas spécifique à Google : toute société hébergeant des informations pose ce problèmes (Yahoo, Microsoft, vos banques...)

- ceux concernant la déontologie avec le tournant "Gu Ge". Google a accepté de censurer ses résultats pour pouvoir implanter des serveurs sur le sol chinois. Je m'étonne qu'on critique beaucoup Google alors que la société a été la dernière à plier (après Ms et Yahoo!) faute de solution de rechange : si Google refuse, ses concurrents qui ont accepté le deal prennent les parts de marché, et du coup Google n'a plus de moyen de faire entendre sa voix. Les vrais responsables sont dans cette affaire le gouvernement chinois et son chantage d'une part, l'OMC incapable de faire respecter le droit du commerce international d'autre part.

- ceux concernant les produits de Google. Google a en effet de nombreux produits dont certains sont des échecs ou des demies-réussites. Il est dans la politique de la société que de laisser vivre de nombreuses initiatives à la manière d'une couveuse de start-ups. Il est donc normal de critiquer les produits de Google qui méritent de l'être : Gmaildrive (une bonne idée) qui fait planter les machines, Google Desktop pénible à paramétrer, l'effet d'annonce Google Pack...

- ceux concernant la stratégie de Google : Google fait trop de choses, Google n'innove plus. Outre le caractère un peu contradictoire de ces deux critiques, il faut souligner leur caractère fortement subjectif. J'ai longuement débattu de la capacité d'innovation de Google sur ce blog et sur Techcrunch (qui est très fort au petit jeu du dénigrement de Google) et ne reviendrai pas encore dessus (sauf commentaires de votre part). Quant à l'aspect "Google fait trop de choses", cela me paraît logique dans le cadre de la politique d'entreprises largement assumée par ses fondateurs : l'avenir dira si c'est une bonne politique.

- ceux concernant les adwords et là... je suis entièrement d'accord surtout quand JM Leray nous l'explique si bien.

jeudi, juin 8

Google Spreadsheets : Ajax plus fort que Flash

Oui, je sais encore une news sur Google... mais là encore, c'est du lourd. J'ai eu la chance de recevoir une invitation à GoogleSpreadSheets, le nouvel Excel en ligne de Google, et je pense avoir reçu quelques instants plus tard ma plus grosse claque depuis mes premiers clics sur Google Suggest (qui m'avait fait découvrir Ajax).

Les développeurs de ce truc ont fait un boulot tout simplement extraordinaire et on sent à quel point Google maîtrise désormais Ajax : tout répond au doigt et à l'oeil, la console javascript ne m'annonce aucun bug (contre quelques milliers à l'ouverture de Gmail), d'un point de vue ergonomique et fonctionnel c'est très bien pensé... et ça dépasse pour moi toutes les tentatives de tableurs en ligne de très, très loin (iRows et Numsum n'étaient pourtant pas si mal, mais moi, à leur place, je me suiciderais immédiatement... ou j'irais postuler pour un emploi chez Google).

Je laisse à d'autres blogueurs le soin de vous détailler les fonctionnalités de la chose, ce qui m'intéresse ici, c'est la performance technique. Avec ce produit, on arrive à une ère que je ne soupçonnais pas d'arriver avant encore un an ou 2 : un produit Ajax ergonomiquement supérieur à ce qu'offrirait Flash.

En effet, jusqu'ici c'était pour des raisons de standardisation, d'ouverture, de référencement et de portabilité potentielle que l'on utilisait Ajax plutôt que Flash sur des interfaces riches... mais il restait plus simple et souvent plus joli au final d'utiliser Flash (Gliffy pour réaliser des diagrammes en est un excellent exemple). Mais cette application marque un tournant : une application Ajax peut être belle, ultra-réactive et fonctionnelle... et probablement pas si longue à développer avec des outils tels que le Google Web Toolkit.

Ce produit qui, c'est certain, va connaître un grand retentissement, est tout le symbole de la nouvelle génération de logiciels qui va écraser la précédente : web, riche et collaboratif... web 2.0 en somme !

vendredi, juin 2

La stratégie Webtop / Desktop / Mobtop de Google se précise

Quelques nouvelles ont montré cette semaine que la stratégie de Google consistant à donner tous les moyens aux utilisateurs de placer leurs outils de bureautique en ligne était plus qu'un fantasme d'analyste en mal de sensations.

La première est de d'ordre économique : Google file 1 petit milliard de dollars à Dell pour que celui-ci installe son Google Desktop sur 100 millions de machines dans les 3 ans à venir.
Le Google desktop va donc devenir un outil répandu sur un maximum de machines et va peu à peu apprendre aux utilisateurs à tirer partie du meilleur du webtop et du desktop. La majorité des utilisateurs parviendra-t-elle à suivre ? Je n'ai pas encore d'avis sur la question mais Google en semble convaincu...

La seconde est d'ordre technique avec l'intégration de Google Calendar dans Google Desktop. Désormais, Google desktop vous offre aussi bien en ligne qu'hors ligne de la recherche bien sûr, mais aussi vos mails et votre agenda. Outlook et ses semblables sont donc bien complètement obsolètes à compter de ce jour.
En suivant cette logique, on pourrait voir débarquer un jour un client de synchronisation Writely (racheté il y a quelques mois) pour OpenOffice (à propos duquel Google a mené des négociations avec Sun)... mais ce n'est là qu'une supposition et je n'ai rien de concret sur le sujet (Google pourrait d'ailleurs mettre au point un tel agent pour Word sans demander l'avis Microsoft) !

Troisième point : les nouvelles fonctionnalités sortant régulièrement pour téléphones mobiles, pour Gmail et Gcalendar par exemple, montrent que Google veut saisir une opportunité : personne ne maîtrise pour le moment le trio web-desk-mobile, pas même Microsoft.
Offrir aux utilisateurs une bureautique s'adaptant à leurs possibilités (leur bureau, un PC distant, un téléphone) peut, et c'est pour moi cette fois évident, donner un avantage décisif à celui ou ceux qui y parviendront... d'où l'apparition de la notion de "Mobtop" (le desktop pour téléphone mobile), un nouveau champ de bataille de l'ère web 2.0.

vendredi, mai 26

Selenium : du vrai test-driven development pour le web 2.0

Le test-driven development (pratique très liée à l'eXtrem Programming) passe peu à peu dans les moeurs des développeurs web et c'est tant mieux. Mais à l'heure du web 2.0, les principaux frameworks avaient une grosse lacune : la quasi-absence de tests sur les fonctions Javascript.

Quand on sait l'importance qu'a repris javascript depuis l'avènement d'AJAX, c'était même plus qu'un manque, et cela obligeait à limiter les tests unitaires aux seules classes métier d'un projet... ce qui devenait ridicule étant donnée la part prépondérante de l'interface homme-machine dans les temps de développement !

Selenium apporte depuis quelques temps déjà (il vient de sortir dans sa version 0.7) une réponse très satisfaisante à ce problème via 2 produits open-source :

- Selenium IDE est un plug-in pour firefox qui vous permet d'enregistrer des scénarios tests de manière simplissime et de les réexcuter à l'envie.

- Selenium Core est système vous permettant de programmer directement vos tests en tappant vos instructions dans des tables HTML. Ces tests peuvent être ensuite automatisés et intégrés à votre petite "software factory".



Le tout fonctionne à base de Javascript et simule vraiment les actions d'un utilisateur dans un navigateur web. Bref, si vous voulez vous mettre au test-driven development et au web 2.0, Selenium me semble à ce jour incontournable.

lundi, mai 22

Du bon usage du tagging

Suite à un petit débat sur TechCrunch, je me permets de vous livrer quelques réflexions sur un phénomène très web 2.0 : le tagging.

Le tag est aujourd'hui perçu comme une solution de classement et de partage des informations ultime, en particulier avec les succès de Flickr et de delicious. Toute application web 2.0 devrait donc, à en croire certains, comporter un système de tags pour être réellement efficace. Ce type de raisonnement tient d'après moi plus du prêt-à-penser que de l'analyse... je vous propose donc une petite analyse d'un cas d'actualité : Google Notes.

Google Notes est système de prise de notes sur des pages web favorites (via un plug-in sur votre navigateur), notes que vous pouvez éventuellement rendre publiques façon delicious. Or il est reproché à Google Notes l'absence du tagging. Je ne comprends pas ce reproche et voici pourquoi :

Le tagging est élément très important du web 2.0. Mais pourquoi ?

Parce qu’il permet de passer d’un système de “taxonomy” (classement arborescent unique) à un système de “folksonomy” (classement pas les utilisateurs et non-arborescent) de manière très simple…

Or Google a déjà un système de “folksonomy” avec son système de prise de notes en langage naturel et son moteur de recherche… le tag devient alors tout simplement désuet (d’ailleurs vous pouvez prendre des notes similaires à des tags, si cela vous chante). Rappelez-vous d’une des devises de Google : “ne classez plus, cherchez”. Et c’est à mon avis là, l’erreur des analyses que je dénonce ici : elles voient ce choix comme un manque alors que c’est au contraire un point fort vis-à-vis de la concurrence.

Et vous, qu'en pensez-vous ?