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.