Tester Chrome sous Linux ou Mac OS X avec Wine

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 :)

L'histoire de la chaîne "User-agent"

L’User-agent, c’est ce bout de texte qu’envoient les navigateurs Web lors que chaque requête HTTP, pour s’identifier. C’est généralement assez embrouillé, mais heureusement, WebAIM est là pour nous raconter pourquoi en rigolant un peu :)

WebAIM Blog - History of the browser user-agent string

Synchronisation iCal / Google Calendar avec CalDAV

Logo iCalLa synchronisation de calendriers entre Google Calendar et iCal a toujours été un sujet épineux — j’en avais touché un mot dans un billet il y a quelques mois.

Mais joie, depuis quelques jours, Google Calendar propose la synchronisation des agendas par le protocole CalDAV, protocole supporté par iCal ! On peut donc désormais synchoniser ses agendas sans avoir besoin de logiciel tierce-partie. Une belle page d’explications a été mise en ligne sur le site de support de Google Calendar, et explique la marche à suivre pour rajouter des comptes CalDAV à iChat.

Ajouter un compte CalDAV à
iCal

A noter toutefois quelques limitations : du côté d’iCal, on ne peut accéder qu’à un agenda par compte CalDAV — il faut donc rajouter un compte par agenda à synchroniser ; de plus, un nombre réduit d’événements de l’agenda Google peuvent ne pas s’afficher correctement dans iCal. Et du côté de Google, certaines fonctionnalités sont encore manquantes, comme la synchronisation des tâches, des notifications, ou la création de nouveaux agendas depuis iCal. Paraît-il que l’on y travaille, chez Google comme chez Apple.

Cela dit, même si la simplicité et les fonctionnalités ne sont pas encore au rendez-vous, ce système est une excellent alternative gratuite aux logiciels du type SpanningSync. And there was much rejoicing.

Source : MacGeneration

Flurry 1.3 - Multi-écran et éditeur de templates

Capture d'écran de
FlurryVous connaissez sans doute, ne serait-ce que pour l’avoir déjà vu sur un Mac, l’économiseur d’écran Flurry. Cette animation légère et superbe qui remplit votre écran d’arabesques fluides et colorées a une longue histoire : initialement écrit pour Mac par Calum Robinson, puis porté sous Windows par Matt Ginzton, il est maintenu depuis quelques années par Julien Templier. Il n’avait toutefois pas connu de nouvelle version depuis plusieurs années.

Mais aujourd’hui, behold ! Julien annonce la sortie de Flurry 1.3. Au menu des nouveautés :

Le multi-écran, c’est une bonne nouvelle, qui permettra de plus avoir un Flurry s’étendant bizarrement sur plusieurs écrans. Mais la grande nouvelle, c’est l’éditeur de templates : il est maintenant possible de paramétrer chaque aspect de ses Flurry : nombre de faisceaux, cycle des couleurs, vitesse, intensité, et j’en passe. On peut également exporter ses templates, et les partager avec d’autres.

A vrai dire, j’ai toujours trouvé que la version Windows de Flurry produisait des arabesques un peu moins élégantes que la version Mac — bien que les deux versions partagent le même moteur. Ceci étant manifestement dû à une configuration légèrement différente d’une version à l’autre, j’avais même jeté un coup œil aux sources, pour voir s’il n’était pas possible de tweaker un peu tout cela (la réponse était en gros “oui, mais pas facilement”). Donc joie, je vais maintenant pouvoir bricoler les paramètres pour produire un résultat aussi impressionnant que sur Mac :)

Vous pouvez télécharger la dernière version de Flurry sur la page Wincustomize de Julien. Have fun !

Shell script pour vérifier sa connexion Internet

Les serveurs DNS principaux de Free étaient down hier soir (peut-être un problème lié à la récente faille DNS ?) ; les sites étaient accessible par IP, mais pas par nom de domaine. Et sans Internet, pas moyen de récupérer l’adresse de serveurs DNS alternatifs, du genre OpenDNS

Bref, au lieu de rester devant mon ordinateur à attendre que cela revienne, j’ai tapé dans un Terminal (bash) :

until (ping -a google.com) ; do true ; done

Ce script essaie de pinger google.fr tant qu’il n’y arrive pas, et émet un bip par ping lorsque le site redevient accessible. Lorsque le réseau se remet à fonctionner, on est donc averti par une série de bips.

On peut également limiter le nombre de pings, pour limiter le nombre de beeps lorsque la connexion revient — tout cela en une ligne de commande. Décidément, vive le shell script !