Tester Chrome sous Linux ou Mac OS X avec Wine

17 septembre 2008

Logo de ChromiumOn a beaucoup entendu parler de Chrome, le navigateur de Google, depuis sa sortie en version bêta il y a deux semaines. Interface sobre, moteur de rendu WebKit, mode incognito… et la promesse d’une future version multi-plateforme (ou au moins Windows/Mac/Linux).

Mais pour l’instant, niveau multi-plateforme, c’est le désert. Nada. Chrome est Open-Source, et peut donc être compilé librement — la version libre s’appelle Chromium. Chromium compile et se lance sans problèmes sous Windows, mais ne compile que quelques binaires de test sous Linux, et quasiment rien sous Mac : tout le travail de portage reste encore à faire.

Un défi : “porter” Chromium en deux semaines

Logo de WineEt c’est là que Wine rentre en scène. Wine, c’est ce programme Open-Source permettant de faire tourner des applications Windows sous Unix : il permet donc de lancer une application Windows en “.exe” sous Linux ou Mac OS X. Ce n’est pas un émulateur : il exécute le code natif du programme, mais en replaçant tous les appels à des fonctions de l’API Windows par son implémentation propre. Wine est en développement depuis plus de 15 ans, et fonctionne aujourd’hui assez bien : il fait tourner entre autres Office, Photoshop, Picasa, et même de nombreux jeux comme Oblivion ou Half-Life 2.

Dès la sortie de Chrome, pour Windows seulement, les développeurs de CrossOver (la version commerciale de Wine) se sont demandé s’il serait possible d’utiliser Wine pour faire tourner Chromium sous Linux ou Mac OS X. Après quelques jours seulement, et quelques patchs rajoutés à Wine, Chromium fonctionnait en grande partie, et permettait naviguer sur Internet. Seul bémol, le support du HTTPS, le protocole sécurisé utilisé par les sites marchants, les banques, et par de nombreux autres sites Web. Pour cela, les développeurs de CrossOver ont dû implémenter une bonne partie des fonctions du fichier “winhttp.dll”, qui contient l’API Windows relatif aux connections HTTP. Une semaine de plus pour hacker vite fait une implémentation de base ; et voilà, depuis avant-hier, Chromium fonctionne totalement sous Wine.

Capture d'écran de Chromium tournant sous Mac avec
Wine

Tester Chromium sous Linux ou Mac OS X

CrossOver propose de beaux paquetages pour tester Chromium ; on télécharge les fichiers, on lance tout ça, et, après un petit délai d’initialisation, la fenêtre de Chromium apparaît. Tout est étonnamment fluide et fonctionnel — on s’aperçoit à peine qu’en dessous, c’est Wine qui travaille.

Pour télécharger ces paquetages, rendez vous sur la page CrossOver Chromium, et suivez les instructions :)

Le navigateur est décidément plutôt stable — sans doute pas de quoi en faire son navigateur quotidien, mais cela fonctionne tout de même très bien.

Une opération médiatique ?

Logo CrossOverBeaucoup de commentaires ont été émis sur Internet après cette annonce. Certains se demandent notamment quel est le besoin d’avoir un navigateur Web de plus sous Linux — à plus forte raison si les développeurs de Google n’ont pas encore fait l’effort de faire un vrai portage vers d’autres systèmes. D’autres enfin se demandent si tant d’efforts investis dans le développement de Wine ne seraient pas mieux placés dans le portage natif d’application vers Linux, voire vers le développement d’applications Linux-only capables de mieux concurrencer en qualité les applications Windows. Certains dénoncent enfin un coup médiatique, qui au final n’apporte pas grand chose à Wine ou à la communauté du Libre.

Il faut voir d’abord que ce “coup médiatique” est profitable sur le long terme : le travail réalisé par CrossOver pour faire tourner Chromium va être intégré dans Wine prochainement, ce qui profitera bien sûr à Wine sur le long terme. D’autre part, ce genre de hackathlon fortement publicisé est après tout un bon moyen de motiver les développeurs, qui s’intéressent alors à des domaines peu explorés auparavant, ou trouvent une vraie motivation à déboguer des pans de code qui ne recevraient autrement pas beaucoup d’attention.

D’autre part, c’est aussi une manière de faire savoir à un large public que oui, on peut faire tourner la plupart des programmes Windows sous Linux (ainsi que sous Mac OS X et beaucoup d’autres Unix). Cette publicité profite bien sûr avant tout à CrossOver, qui édite une solution commerciale basée sur Wine, mais retombe tout de même un peu sur Wine lui-même, ainsi que sur Linux en général.

Enfin, je pense que Linux a somme toute besoin de cette compatibilité avec Windows, même si elle apporte des inconvénients ; je supporte donc plutôt les initiatives comme Wine ou Mono, qui visent à réaliser cette compatibilité. Et en attendant, même si vous ne vous servez pas de Wine au quotidien, c’est toujours l’occasion de tester Chromium facilement si vous ne disposez pas d’un Windows sous la main :)

Discussion, liens, et tweets

J’écris des sites web, des logiciels, des applications mobiles. Vous me trouverez essentiellement sur ce blog, mais aussi sur Mastodon, Twitter, parmi les Codeurs en Liberté, ou en haut d’une colline du nord-est de Paris.