27/02/2010

Chromium: l’adolescence de l’enfant de google.

Un écosystème de plugins en bonne santé.

La principale lacune de Chromium, c’était l’absence d’un système de plugins. Quand il fut implémenté, la question restait entière : est ce que l’API de plugins permettrait une intégration aussi efficace qu’avec Firefox ? Allait-elle parvenir à créer une communauté de développeurs de plugins comparable à la communauté de Firefox ?

Aujourd’hui, la réponse est claire : oui.
Au 26 février 2010, le site de référencement des plugins Chromium recense 2990 plugins, et évolue à une vitesse régulière d’à peu près 30-40 plugins par semaine.
Leur intégration au browser est parfaite et prévue pour ne pas affecter l’ergonomie ni les preformances du browser, on sent qu’un réel effort a été fait dans ce sens, contrairement par exemple au système de Widgets d’Opera (qui m’a traumatisé.)

Les plugins rencontrés sont assez variés, il en existe forcément pour checker vos mails google, ou servir d’interface intégrée à des sites comme Picasa, Twitter, Facebook, Slashdot, Google Buzz, Icanhascheezburger, il en existe pour “rendre plus esthétique/ergonomique” des sites comme Facebook ou Netvibes, et biensur la catégorie des plugins qui imitent des plugins déjà existants et très prisé sur Firefox.

Cependant, si cet écosystème évolue rapidement et est en bonne santé, il faut être réaliste : il en est à ses balbutiements. En effet, la plupart des extensions pour Chromium sont très basiques, il en existe un très grand nombre qui ne sont qu’un script .js de 15 lignes ne s’appliquant qu’au site l’ayant créé. Ça gonfle le nombre de plugins listés sur le site, mais ça ne pousse pas leur qualité globale vers de haut. Il est vrai qu’il existe quelques plugins ayant évolué très vite, et donc qui sont à la fois stables, utiles, efficaces et complets, mais il faut encore les chercher attentivement, et parcourir la liste de tous les plugins vous révèlera que 80% des plugins sont encore des petits scripts baclés à l’utilité douteuse.

Geekfault ne vous oublie pas, et prévoit un article reprenant les 10 plugins les plus indispensables de Chromium, Stay Tuned !

Déjà un plugin d’ad blocking puissant, efficace et en évolution constante

Même s’il en existe plusieurs, celle qui se démarque est AdBlock (accompagné de son “tray-icon” séparé du moteur).

Il permet un filtrage efficace des publicités, même très agressivement incrustées dans les pages, non seulement grâce à une intégration parfaite des “Filter List Suscriptions” comme l’Easylist (plus une liste particulière propre à Chromium), mais également grâce à un système un peu particulier de filtrage manuel des pubs récalcitrantes.

Si une pub est passée à travers les mailles du filet, vous pouvez bien évidemment l’indiquer à AdBlock, qui vous présentera alors un petit cadre avec une “SlideBar” à faire glisser vers la droite jusqu’à ce que la pub disparaisse. AdBlock va dès lors appliquer des règles de filtrages de plus en plus violentes sur l’élément jusqu’à atteindre le parfait compromis entre le filtrage de la pub et l’affichage correct du reste de la page. Une fois l’élément filtré et les nouvelles règles enregistrées, elles deviennent disponibles dans la page de configuration du plugin, éditables à tout moment. Il en va de même pour les exceptions de type “Whitelist”.

Vous trouverez également plusieurs options sympatiques, comme la possibilité de laisser passer les pubs textuelles qui ne vous dérangent pas (comme celle de Google), ou de filtrer les pubs incrustées dans les vidéos de Youtube (option encore en Beta)

Son principal défaut actuellement est de ne pas empêcher les pubs de se charger: en effet, en l’absence de règles de blocking intégrées à Chromium, les plugins de filtrage de pubs en sont actuellement réduites à les “cacher” par des règles de CSS. Si ce procédé épargne vos yeux et votre CPU, il n’en est pas de même pour votre bande passante.
Heureusement, (et contrairement à ce que beaucoup de paranoïaques prédisaient) Google ne compte pas mettre de bâtons dans les roues des plugins de filtrage de pubs, au contraire, et pour les plus sceptiques d’entre vous, un simple coup d’oeil au site du projet Chromium vous apprendra que la fonction en question est en développement actif.

L’équipe d’AdBlock est donc bien évidemment à l’affût, et n’attends que son implémentation définitive pour l’intégrer dans son procédé de filtrage.

Un plugin de type “Firebug” ? Mieux, un outil intégré au Navigateur !

Beaucoup de Web Developpers ont peur de quitter Firefox par crainte de perdre leur meilleur ami : Firebug.

Il n’en est rien ! Chromium a intégré un outil de développement surpuissant au navigateur.
Celui-ci intègre entre-autres une console javascript, un affichage structuré de la source d’une page, des outils de chronométrage des chargement des différents éléments d’une page, de profiling des ressources consommées par chaque élément de la page, ainsi que plusieurs outils que je ne comprends pas du tout, n’ayant aucune notion de développement web 🙂

Bien que toujours inférieur à Firebug, cet outil est déjà très complet, en évolution constante, et totallement suffisant pour ne pas se retrouver “tout nu”.
Il existe déjà quelques petites extensions permettant de le compléter un peu, mais celles-ci sont anecdotiques et encore très minimalistes.

Un développement (trop ?) dynamique

Le développement de Chromium est tout sauf lent. Avec un rythme d’environ 100 révisions par jour, se tenir à jour est une mission quotidienne… et dangereuse.

En effet, Chromium étant une version “git” permanente, se ruer sur la toute dernière révision n’est pas forcément une bonne idée.
Au menu : erreurs de rendu, régressions dans l’interface graphique, corruption occasionnelle de certains plugins, boucles infinies dans le CPU, fuites de mémoire (parfois de l’ordre de la fontaine, voire du Titanic), ou simplement disparition de certaines fonctionnalités le temps de les recoder complètement (comme par exemple les “pin tab”)…

Heureusement, les distributions font souvent leur packaging de façon intelligente et proposent des versions snapshot reconnues “stables”, plus ou moins à jour, permettant un compromis tout à fait convenable. Il est toutefois déconseillé de s’aventurer hors de ces packages, si on veut pouvoir continuer à utiliser Chromium comme navigateur principal.

La communauté autour du développement est abondante, et les développeurs réactifs, même s’ils ne peuvent pas être partout à la fois et qu’ils ont beaucoup de travail rien qu’avec l’énorme quantité de patch à webkit que Chromium intègre.
Cependant leur ordre de priorité fait que souvent les bugs spécifiques à Linux sont plus coriaces et trainent plus longtemps, ou simplement que les features sont d’abord achevées sur les versions Windows, quelques jours/semaines avant les versions Linux.

  1. | #1

    Chromium rox du poney \o/
    Firebug me manque des fois mais bon, il a pris la place de firefox sur mon pc 🙂

  2. Phacops
    | #2

    Firebug commence à sortir sur Chrome (version lite 1.3.0 beta).

  3. Maxux
    | #3

    J’utilise Chromium depuis quelques mois maintenant… Et rien ne me fera retourner sous Firefox. Je fais beaucoup de développement web et l’outil intégré est suffisant quand on l’exploite plainement.
    Je n’utilise que Flash commme plugins et n’a que AdBlock comme extension. Je n’ai pas besoin de plus.

    Ma Gentoo utilise le chromium de portage souvent mis à jour, ma debian utilise le git, et je met à jours une ou deux fois par mois (ma machine met 3h à compiler Chromium donc… :D) mais quand on voit la vitesse de lancement, etc. c’est incomparable à Firefox.

    De plus, Firefox qui me monopolisait les 3/4 de ma ram, qui était lent au repaint, qui prennant 5 min a m’afficher l’historique, etc… C’est fini !

    Bref, Chromium, je t’aime 🙂 (et je n’utiliserai dans aucun cas, Chrome, à cause du EULA de Google).

  4. | #4

    Bonjour.

    Ça ne m’a toujours pas convaincu à migrer.
    Je reste sur Firefox

    /me vieux dino

  5. Eregon
    | #5

    Bonjour,

    J’aimerais nuancer cet argument:
    “[…] au delà de Firefox 2.0. Il commença à perdre de sa légèreté, à traîner la patte, à s’approprier toute la mémoire RAM de nos systèmes et la retenir en otage, […]”

    A ce jour, sur une même machine, en ouvrant 10 onglets identiques:

    – Firefox 3.5.8 consomme 210MB(2e essai: 200) de mémoire vive “réelle”

    – Firefox 3.6 a des résultat très semblables: 220MB de RAM.

    – Chrome 5.0.307.11beta consomme 67+(13 processus)+40 = 425MB(2e essai: 410), soit juste le double. On peut peut-être enlever 25MB car apparemment le Flash serait compté comme un ‘Google Chrome Helper’, mais ça ne change pas grand chose.

    – Chromium 5.0.340.0(r40228) (arf 860MB pour les sources, 9GB pour le HD … et près de 3h à compiler…):
    298MB (341 d’après Chromium lui-même, mais ils disent sur-estimer), c’est déjà beaucoup mieux, mais ça reste au dessus de Firefox!
    Mais là vient l’Avantage: 6s pour avoir mes onglets opérationnels 🙂 (~12s pour les autres)
    Chromium me fait le joli bug de m’afficher en texte une vidéo ogg… A part ça, il semble très réactif

    Le temps pour charger les pages est très peu significatif, car seul l’onglet de GMail prends plus de 5s.

    A noter qu’en ouvrant ces onglets, on a parfois un long moment de ‘blanc’ avec Chrome, comme s’il ne commençait à afficher la page que lorsqu’il avait tout reçu, mais le reste du temps c’est significativement plus rapide. Aussi, pour une raison inconnue, Chrome et Chromium n’ont pas voulu m’ouvrir une page de github qu’au redémarrage de ceux-ci…

    Vous l’aurez compris, je suis toujours sur Firefox 😉 Mais depuis que j’ai compilé Chromium (à grand prix en temps et disque), je risque de m’y aventurer de temps en temps pour du surf plus occasionnel ou des news (ou pour du SVG, car Webkit est le seul à avoir un support correct pour le SVG animé).

    Sur ce, je dirait: Firefox=comfort vs Chromium=rapidité.

  6. | #6

    Pour ce qui est de la RAM, je suis parvenu à des résultats similaires, à savoir que Chromium en consomme plus que Firefox d’emblée, mais il la gère beaucoup mieux, a beaucoup moins de memleaks (du moins quand la révision n’est pas buggée), et donc est beaucoup plus efficace sur le long terme.

    Comme je l’ai dit, le pécher de Firefox est de s’accaparer la RAM de nos systèmes, et de la retenir en otage.

    Mais je suis le premier à dire que Firefox est globalement un browser plus aboutit que Chromium 🙂

  7. | #7

    Je confirme ce que dit Eregon, sauf sur le long terme, ou Firefox devient carrèment fou niveau consommation (après plusieurs heures d’uptime)

  1. | #1