samedi 7 mars 2009

Comment fonctionnent les logiciels en ligne?

De plus en plus de sites Internet ressemblent à des logiciels

et agissent de manière similaire. Découvrez leur secret de fabrication.

Ajax reprend du service! Après avoir été l'un des plus grands héros grecs de la guerre de Troie, il s'érige désormais en champion du Web. Quel est donc le rapport? Ajax est le nom d'une technologie apparue au début des années 2000, initialement introduite par Microsoft. Elle a révolutionné le Web. C'est grâce à elle que les sites se sont mis, petit à petit, à proposer des services plutôt que de l'information statique. Des sites aux fonctions si riches qu'aujourd'hui, on n'hésite pas à les appeler des « logiciels en ligne».

Des sites statiques

Traditionnellement, une page Web est un document comprenant du texte, des liens vers d'autres documents et des indications de mise en page. Elle est écrite en HTML, un langage qui permet de décrire sa structure. Le navigateur Internet affiche la page en tenant compte des instructions de la description HTML. Par exemple, une image n'est, en HTML, qu'un lien écrit selon une syntaxe spécifique pointant vers l'endroit où l'image est stockée. Le navigateur remplace le lien vers cette image par l'image elle-même. Avec de telles pages, les liens hypertexte sont la seule interactivité possible. Quand l'internaute clique dessus, le navigateur remplace la page affichée par celle que le lien pointe. L'internaute voit une nouvelle page. Et même si un site est constitué de nombreuses pages liées entre elles, leur contenu reste fixe.

L'apport du JavaScript

En 1995, la société Netscape innove afin de permettre des interactions et des animations graphiques plus complexes. Son navigateur du même nom devient capable d'un langage de programmation simple, le JavaScript, en sus du HTML. On peut alors inclure des petits programmes dans les pages pour manipuler leur contenu à partir du navigateur. Par exemple, déplacer une partie de la page à la souris.

A la suite de Netscape, tous les navigateurs acceptentle JavaScript. Demeurent toutefois des limitations. Le langage consomme beaucoup de puissance de calcul de l'ordinateur et les fichiers JavaScript, inclus dans les sites, alourdissent le poids en octets de chaque page. Il semble difficile, dans un premier temps, de programmer ainsi des logiciels complets en ligne. Le résultat aurait été terriblement lent à télécharger et à s'exécuter.

Ajax ce héros

La solution qui a permis à des logiciels en ligne comme Google Documents, Google Maps, Netvibes, Yahoo! Mail et beaucoup d'autres d'exister, est notre héros Ajax. L'acronyme, inventé en 2005, signifie Asynchronous JavaScript and XML, soit JavaScript et XML en mode asynchrone.

En clair, il s'agit d'une méthode qui permet de changer une partie (une partie seulement) d'une page Web, en allant télécharger du nouveau contenu grâce à JavaScript. On parle de mode asynchrone, car l'intégralité de la page n'a plus à changer.

Des logiciels en brique

Avec Ajax, les programmeurs peuvent enfin créer de vrais logiciels en ligne! Il suffit de les concevoir comme un ensemble de briques. Un menu déroulant est une brique.

En pratique, l'internaute se connecte sur une page qui contient le moule de base, l'interface principale du «logiciel en ligne». Chaque brique est ensuite téléchargée à la demande. Il n'est même pas besoin d'importer tous les éléments nécessaires à la page. Si l'utilisateur clique sur l'intitulé de l'un des menus, le programme JavaScript peut télécharger à la volée les intitulés de chaque ligne du menu. Mieux encore, Ajax autorise le téléchargement à la volée de petits programmes en JavaScript... Pour un menu, c'est donc le petit programme effectuant l'action décrite qui peut être téléchargé et exécuté au moment où l'internaute clique dessus, et à ce moment-là seulement. Dans le cas de logiciels plus complexes, pour lesquels la puissance de calcul offerte par JavaScript serait insuffisante, comme de la retouche d'images, Ajax permet une autre astuce. Les calculs peuvent être délocalisés sur de puissants calculateurs chez l'hébergeur du site. Seuls les résultats demandés sont téléchargés. Cette façon de faire, appelée cloud camp u ting, a d'ailleurs le vent en poupe. Elle laisse augurer pour les années à venir l'avènement de nouveaux logiciels en ligne encore plus impressionnants .

Qu'est-ce que c'est ?

hypertexte

Système pour passer, au sein d'un document, d'une partie de celui-ci à une autre, voire d'un document à d'autres documents par l'utilisation d'hyperliens.

Interpréter

En informatique, c'est l'action d'un logiciel spécialisé pour analyser, traduire et exécuter un programme écrit dans un langage informatique. L:interprétation s'oppose à la compilation, où le code du programme doit être traduit par l'ordinateur (langage machine) avant d'être exécuté.

Des clones de logiciels

Pour les logiciels en ligne, c'est le savoir-faire des webmasters qui permet de recréer l'apparence d'un logiciel «classique» dans une page. Le langage HTML dans lequel les pages Web sont écrites suffit pour cela.

Brique par brique

Les différentes fonctions d'un logiciel en ligne, aussi complexe qu'un traitement de texte, ne sont pas toutes disponibles initialement dans le navigateur. Grâce à Ajax, chaque sous-programme du logiciel est téléchargé à la demande, au moment opportun, c'est-à-dire lorsque l'internaute l'utilise.

Des technologies diverses

D'autres technologies concurrencent Ajax. La plus connue est Flash d'Adobe, utilisée par exemple pour le logiciel de retouche en ligne Sumo Paint. Existent aussi Silvenight de Microsoft et JavaFX de Sun Microsystems. La technologie Ajax conserve toutefois un avantage: c'est la seule à utiliser JavaScript, langage universel puisqu'il est compris par défaut par tous les navigateurs Web.




Friend Connect