Exécuter du code natif dans Chrome avec Google Native Client

Alexandre Laurent
Publié le 21 février 2011 à 16h35
Google vient de mettre en ligne le kit de développement (SDK) associé à l'extension Native Client, qui doit permettre l'exécution de code natif au sein de son navigateur Chrome.

00DC000004024760-photo-sch-ma-native-client-nacl-google.jpg
« Native Client est une technologie open source qui vous permet de mettre au point des applications Web qui exécutent de façon transparente et sure du code natif à l'intérieur du navigateur », indique l'équipe en charge du développement de Chrome. Le code natif, c'est celui qui passe outre la barrière du navigateur ou du système d'exploitation, en faisant appel directement au jeu d'instructions des processeurs x86 qui équipent aujourd'hui nos PC, par opposition à celui qui s'exécute dans une machine virtuelle ou doit être interprété par un moteur tiers.

Lancé en décembre 2008, le projet entre dans sa phase publique, avec la mise à disposition d'un premier SDK, baptisé « Artic Sea », et l'activation au sein de Chrome 10 bêta, du module Native Client. Celui-ci n'est toutefois pas actif par défaut : il faudra le lancer manuellement via la page de réglages « about:flags ».

Ce kit de développement, accessible sur toutes les plateformes x86, est composé d'une série d'interfaces de programmation ainsi que d'une documentation visant à permettre à la mise au point de modules écrits en C ou en C++ et capables de communiquer avec des éléments HTML ou JavaScript exécutés au sein du navigateur. Le code mis au point par son entremise sera exécuté au sein d'un bac à sable (sandbox), censé garantir la sécurité de la machine hôte.

L'isolation des processus NaCl (surnom de Native Client, NaCl est le symbole chimique du chlorure de sodium, soit l'appellation scientifique de notre bon vieux sel de table) sera assurée par le biais de Pepper (poivre), la série d'interfaces qui permettra d'installer ces plugins au sein de Chrome. Egalement open source, Pepper dérive pour sa part du projet Netscape NPAPI (Netscape Plugin Application Program Interface).

A ce stade, le SDK Native Client n'est proposé qu'à des fins de test, et Google promet d'importantes améliorations pour les mois à venir, à commencer par l'ajout de nouvelles interfaces de programmation dédiées à la prise en charge de la 3D, des fichiers stockés en local, du protocole Websocket ou de communications en pair à pair (P2P). L'éditeur indique par ailleurs que NaCl ne sera pas activé par défaut tant que l'Application Binary Interface (ABI) ne sera pas parfaitement stable.

Reste à savoir où souhaite vraiment en venir Google avec ce projet, qui ne manquera pas de rappeler à certains esprits forts les fameux ActiveX de Microsoft. Avec la possibilité de faire tourner du code natif dans Chrome, le moteur de recherche promet des performances accrues et des fonctionnalités bien plus avancées que ce qu'il est habituellement possible de faire au sein d'un navigateur. Le complément idéal à Chrome OS ?
Alexandre Laurent
Par Alexandre Laurent

Alex, responsable des rédactions. Venu au hardware par goût pour les composants qui fument quand on les maltraite, passé depuis par tout ce qu'on peut de près ou de loin ranger dans la case high-tech, que ça concerne le grand public, l'entreprise, l'informatique ou Internet. Milite pour la réhabilitation de Après que + indicatif à l'écrit comme à l'oral, grand amateur de loutres devant l'éternel, littéraire pour cause de vocation scientifique contrariée, fan de RTS qui le lui rendent bien mal.

Vous êtes un utilisateur de Google Actualités ou de WhatsApp ?
Suivez-nous pour ne rien rater de l'actu tech !
Commentaires (0)
Rejoignez la communauté Clubic
Rejoignez la communauté des passionnés de nouvelles technologies. Venez partager votre passion et débattre de l’actualité avec nos membres qui s’entraident et partagent leur expertise quotidiennement.
Abonnez-vous à notre newsletter !

Recevez un résumé quotidien de l'actu technologique.

Désinscrivez-vous via le lien de désinscription présent sur nos newsletters ou écrivez à : [email protected]. en savoir plus sur le traitement de données personnelles