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...
jeudi, novembre 30
Javascript est le nouvel HTML
Publié par
JB Boisseau
à
08:30
0
commentaires
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 ?
Publié par
JB Boisseau
à
08:25
3
commentaires
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
Publié par
JB Boisseau
à
08:47
2
commentaires
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 :
- A-t-on besoin d'installer quelque chose pour faire fonctionner l'application en mode offline ?
- Un plug-in navigateur est-il nécessaire ?
- 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).
Publié par
JB Boisseau
à
15:56
7
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
Publié par
JB Boisseau
à
19:41
0
commentaires
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 !
Publié par
JB Boisseau
à
20:24
1 commentaires
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é !
Publié par
JB Boisseau
à
19:20
3
commentaires
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".
Publié par
JB Boisseau
à
08:25
6
commentaires
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é.
Publié par
JB Boisseau
à
10:32
4
commentaires
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...
Publié par
JB Boisseau
à
17:36
1 commentaires
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.
Publié par
JB Boisseau
à
08:13
0
commentaires
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.
Publié par
JB Boisseau
à
11:15
0
commentaires
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é !
Publié par
JB Boisseau
à
22:53
0
commentaires
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.
Publié par
JB Boisseau
à
08:14
11
commentaires
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.
Publié par
JB Boisseau
à
11:46
0
commentaires
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 là (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.
Publié par
JB Boisseau
à
15:35
2
commentaires
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."
Publié par
JB Boisseau
à
13:05
3
commentaires
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.
Publié par
JB Boisseau
à
13:25
0
commentaires
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.
Publié par
JB Boisseau
à
13:33
0
commentaires
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).
Publié par
JB Boisseau
à
13:33
4
commentaires