(modifié le 24 mars 2009 à 23:29)

Le rendu graphique d'un site web varie selon deux facteurs : le navigateur internet et le système d'exploitation utilisés.

Je vous présentais il y a presque un an une solution de visualisation de rendu multiple, grâce au site Browsershots. Ce site fonctionne toujours, de nombreux navigateurs sont d'ailleurs ajoutés au fil du temps.

Un des inconvénients de Browsershots est le temps d'attente pour la génération d'un rendu. Il est absolument inenvisageable de modifier une ligne de votre CSS et de visualiser l'impact rapidement.

J'ai découvert récemment un réel système de virtualisation de systèmes d'exploitation en ligne qui fonctionne parfaitement bien : CrossBrowserTesting !

CrossBrowserTesting vous permet au travers un applet Java de vous connecter réellement sur une machine distante pouvant fonctionner sous :

  • Windows : 98 SE, XP (home) SP2, Vista, Seven (bêta)
  • Mac : OS 10.5
  • Linux : Ubuntu 8.10

Sur chacun des OS est installé une quantité impressionnante de navigateurs, généralement avec plusieurs versions disponibles. Les versions du player flash varient suivant les configurations, de même que la résolution, au choix sur tous les OS comme en témoigne cette capture :

Le service est gratuit avec une durée maximale de 5 minutes par session, ce qui suffit généralement pour un simple test, vous serez par contre peut-être en liste d'attente le temps d'un slot se libère (c'est la seule limitation). Passée ces 5 minutes vous pouvez à nouveau recommencer autant de fois que vous le souhaitez (en testant le soir je n'ai jamais attendu plus que 2 secondes à cause du décalage horaire sûrement...). L'applet Java vous permet de faire des captures d'écran ("snapshot") qui sont ensuite disponibles dans votre espace membre :

Deux versions payantes sont également disponibles : une version pro qui vous coutera 19.95$/mois (29.95$ le premier mois) pour un temps total de connexion illimité (limité à 30 minutes par session et à 40 sessions/mois) ainsi qu'une version "home/infrequent user" à partir de laquelle plusieurs forfaits de crédits sont proposés : 1 crédit = 5min, il vous en coûtera 20$ pour 2h30 de connexion (forfaits dégressifs).

En plus de l'applet Java, CrossBrowserTesting vous permet d'utiliser un client VNC (option en version bêta). Il est préconisé d'utiliser TightVNC pour Windows et Chicken sur Mac. Personnellement je n'utilise que UltraVNC Viewer qui a l'avantage d'être parfaitement compatible avec tous les protocoles VNC 😉

On vous donnera alors un couple de port / mot de passe de connexion à préciser dans votre client :

Je trouve dommage que dans la version payante "home" les 5 minutes de sessions ne soient pas indivisibles, car à ce rythme le crédit part vite, très vite (il suffit d'avoir sa connexion internet qui plante en utilisant l'applet Java, pour VNC vous pourrez vous reconnecter).

Merci à Mike de l'équipe de CrossBrowserTesting de m'avoir crédité gratuitement mon compte de quelques dollars pour que je fasse mes tests et rédige ce billet. Voici en retour ma liste de bugs rencontrés :

  • problème sur certains caractères non alpha-numériques (dont le ".") sur les claviers AZERTY français (ils correspondent aux caractères des claviers QWERTY)
  • si l'on tape trop vite (valable en Java et VNC) des caractères non entrés s'insèrent entre les lettres (un champ "send text" dans l'applet Java permet de contourner le bug)
  • pas de timer pour le temps restant en connexion VNC (ça coupe brusquement quand le temps est écoulé), cela reste toutefois un défi technique pour eux vu que le protocole VNC ne prévoit pas ce genre de fonctionnalités

Malgrès cela je dois dire que je suis époustouflé par la fiabilité et l'automatisation du système ! Tout semble fonctionner sur des images Vmware qui sont montées à la volée à la demande de chaque utilisateur (d'où certaines restrictions techniques), tout comme l'ouverture de connexion sur un port aléatoire associé à un mot de passe généré.

Les images Vmware étant montées à la volée, vous pouvez faire autant de modifications que vous le souhaitez (voir foutre en l'air le système), une fois la session terminée tout disparaîtra (n'espérez pas récupérer un document placé sur le bureau ou dans "mes documents" !).

Le concept fonctionne bien et justifie parfaitement l'existence d'offres payantes. Je suis tout de même curieux de connaître la charge maximale (limite d'accueil de connexions simultanées) en cas d'affluence d'une telle architecture. Une fois que le site sera populaire j'imagine que la chance pour se connecter en compte gratuit sera relativement faible, et l'attente très looooongue.

[nice_link]Alors courez sur CrossBrowserTesting tant que c'est pas trop connu ;)[/nice_link]

Auteur : Mr Xhark

Fondateur du blog et passionné par les nouvelles techno, suivez-moi sur twitter