Poll :

Votre avis sur le site

View results
View comments of this poll(41)
  Génial !(1550 votes)
  Bien(191 votes)
  Peut mieux faire(87 votes)
  Vraiment bof(123 votes)
  Avis neutre(74 votes)

Ad




Partners




Jmax-Hardware

mxdev.net

529 visiteur(s) en ligne



  >> Index :  >>

Dossier/test : Chrome le navigateur de Google

>> Author : Troll

Comments




Détails et nouveautés

Image: logo_sm.jpg
Tant de promesses faites, mais qu'apporte réellement Google à travers son projet Chrome ?

Image: Google_Chrome.png

Le rendu : Webkit


Google a choisi d'utiliser pour son projet Chrome le moteur de rendu déjà utilisé par le navigateur Safari d'Apple, réputé rapide et surtout très stable Google dit que WebKit était la solution idéale car entièrement et facilement personnalisable et adaptable à n'importe quel environnement de développement.

Google Chrome empruntera donc le moteur de rendu de Apple, mais quel intérêt et pourquoi ne pas développer leur propre moteur de rendu, puisqu'il fallait repartir depuis le début ?

Si Google ne répond pas clairement à cette question pourtant évidente, il en est plusieurs intérêts évident : tout d'abord développer un moteur de rendu et une tâche ardue et extrêmement longue, les projets tels que WebKit et Gecko sont développés et soutenus depuis longtemps et ne cessent pourtant d'acquérir des améliorations.

Cependant dans l'optique d'améliorer et de rendre plus accessible et plus facilement le web, on peut imaginer que Google a décidé de ne pas créer un moteur de rendu supplémentaire en plus des moteurs déjà existant et de ne pas utiliser un moteur à part qui risquerait comme le fait Internet Explorer d'interpréter les choses différemment des autres moteurs de rendu.

Google utilisera donc WebKit pour la majeure partie du rendu, au même titre que son OS Android qui utilise également WebKit, cependant Chrome intègre également des fonctionnalités tirées de Gecko.

JavaScript & V8 : Au c½ur du combat



Vous avez sûrement déjà entendu parlé de JavaScript, c'est un outil qui permet entre autres de dynamiser les pages, comme notamment dans Gmail et bien d'autres applications web (notamment celles de Google...).

En somme aujourd'hui JavaScript est quasi omniprésent sur tous les sites récents... et également omniprésent sur le plateau des problèmes de compatibilité / d'interprétation des navigateurs.


Alors qu'on a longtemps reproché notamment à Firefox et Internet Explorer de mettre très longtemps à exécuter le JavaScript, Firefox 3 avait enfin résolu ce problème en réduisant de moitié le temps d'exécution de JavaScript, Opera était pour sa part au point depuis très longtemps.

Google - qui utilise donc WebKit - a décidé de séparer l'interprétation de JavaScript de WebKit, et même de se créer son propre moteur de JavaScript (tout de même basé sur WebKit).

C'est ce que le terme V8 cache en partie. Google a créé une machine virtuelle qui précompile le JavaScript de manière à ce qu'il ne soit pas lu lors de son exécution mais directement exécuté en ayant été converti en instructions (binaires).

Grâce à cette machine virtuelle Chrome est censé pouvoir facilement gérer de gros programmes en JavaScript et permettre à l'avenir du web de se promettre des applications complexes dignes d'applications programmées pour être exécutées "hors navigateur".


Une structure nouvelle



Parmi les revendications de nouveautés révolutionnaires, Chrome se vante d'un traitement entièrement nouveau au niveau du fonctionnement du programme et de sa gestion des ressources (point particulièrement reproché à Firefox, et également aux autres navigateurs).


En effet le navigateur de Mozilla par exemple a souvent et est toujours en partie critiqué pour sa gestion assez "passoire" de la mémoire. Longtemps une usine à gaz comme on dit dans le jargon, la version 3 améliorait grandement les fuites de mémoires présentes dans Firefox 2, mais Firefox, Opera (a minima) et Internet Explorer restent de très gros consommateurs de mémoire lors d'une utilisation massive, notamment au niveau du nombres d'onglets.

Chrome gère les choses différemment : ici pas question d'un seul programme, mais de plusieurs en réalité.

Google Chrome reprend en effet le principe de fonctionnement de très nombreux programmes du monde de GNU/Linux, qui est un mode de fonctionnement par processus, et par délégation de fonctions et restrictions de permissions.

Qu'est-ce que tout ce langage barbare ?

Eh bien concrètement Google Chrome crée plusieurs processus, chaque processus à une tâche bien précise et en réfère notamment au processus principal. Ainsi JavaScript et chaque plugin sont notamment gérés par un processus différent.

Chaque onglet est également un processus en lui-même.

Les utilisateurs de Windows, peu habitués à ce système, seront donc tentés dans un premier temps de croire à une future surchage de la demande en ressources du programme si 40 onglets utilisent 40 processus différents.

Pourtant l'avantage est double voire même triple. Tout d'abord au niveau de la stabilité, un des atouts que revendique Chrome : du fait du détachement de chaque onglet, un onglet ne peut pas faire planter le navigateur en entier (et donc tous les autres onglets). En effet si un onglet plante, le processus de l'onglet plantera, et c'est tout.



La même chose se passe pour JavaScript ainsi que les plugins : la gestion est différée pour JavaScript, ainsi si vous lancez dans un onglet quelque-chose de très lourd en JavaScript, qui aurait sous n'importe quel autre navigateur bloqué tout le navigateur pendant une 15 de secondes, ou une action qui demande l'attente d'une réponse du serveur, avec Chrome vous pourrez vous rendre dans un autre onglet pour lire du texte, changer d'adresse, naviguer, etc... (bien sûr si votre UC est à 100% cela sera grandement ralenti).

De même si un lecteur flash subit un crash, le navigateur n'en pâtira pas, ou tout au plus les onglets l'utilisant.


Une sécurité accrue



Image: InPrivateMode.pngCette nouvelle structure amène également d'autres possibilités au niveau de la sécurité, par exemple il est ainsi plus facile de détecter un onglet (un page donc) où une action louche se passe, par exemple s'il prendre 10 fois plus de mémoire que tous les autres, ou utilise toutes les ressources du processeur pendant longtemps... ou même vous pouvez également (via le "gestionnaire des tâches" de Chrome) visualiser s'il accède à Internet ou pas.

Ainsi il n'est pas difficile d'imaginer de prochaines extension à Chrome dans un futur proche qui permettraient de surveiller voire analyser les ressources prises par chaque onglet et/ou plugin.

Cette séparation des processus permet également de donner différentes permissions à chaque processus en fonction de la fonction qu'il doit accomplir.

Ainsi pour une sécurité accrue les processus sont toujours lancés avec le minimum de droits nécessaires possibles.


Un mode "privé" est également disponible, il permet de lancer un onglet dans un mode où aucune information / trace de votre navigation ne sera laissée.

Du fait de la séparation des processus - une fois de plus - le mode privé peut être activé uniquement dans un onglet et le reste de la navigation effectuée de manière toute à fait standard.


On remarque également que l'on peut surveillé les processus de manière très précise : comme nous l'avons dit toute à l'heure la séparation de chaque onglet dans un processus permet bien des nouveautés, y compris en matière de sécurité, comme notamment la mémoire prise / demandée par chaque onglet.

Google va plus loin que laisser la possibilité à l'utilisateur Windows de s'amuser à regarder quel processus fait prend combien de mémoire grâce au gestionnaire des tâches de Windows, il propose le sien... et même les siens !


Le bouton "Contrôle de la page" permet en effet d'accéder au "Gestionnaire des tâches" de Google Chrome via le sous menu "Options pour les développeurs" (très réducteur de public comme menu, soit dit en passant).

On accède alors à une fenêtre comme celle-ci :

Image: chrome_taskmanager.png

Vous y trouvez les informations primaires et utiles sur chacun des processus de Google Chrome, et particulièrement les onglets : Vous pouvez savoir en un coup d'½il quel onglet utilise des ressources processeur et même s'il accède à Internet via la colonne "réseau", de quoi rassurer ou mettre le doute à l'utilisateur sur la fiabilité d'un site.

Pour les paranoïaques ou tout simplement les curieux, il est également possible d'accéder à une page avancée présentant plus d'informations et de manière toujours aussi claire en tapant "about:memory" dans la barre d'adresse, ou bien tout simplement en cliquant sur le lien "Statistiques avancées" en bas à gauche de la fenêtre du gestionnaire des tâches.

Vous accédez alors à une page comme celle-ci :

Image: advanced_chrome_taskmanager.png
Cliquer pour agrandir


Sur laquelle vous avez alors des informations sur à peu près tout ce que peut, pourrait faire et fait votre navigateur, et même des informations sur ce que font les autres navigateurs (exemple sur l'image ci-dessus avec Internet Explorer 6).

Lutte contre le phishing


Google Chrome intègre également un filtre anti-phishing basé sur plusieurs des listes les plus souvent mises à jour.

Image: Chrome_malwares.png

En plus de cela et basé sur le système de permissions, le Google Chrome intègre un mode de sandboxing, permettant d'agir sur tout le processus de rendu, ainsi même si les plugins ne peuvent être contrôlés par Chrome, étant donné qu'ils sont gérés par un processus externe, le sandboxing peut quand même s'appliquer à tout le reste de la page qui est contrôlée par Chrome.



Gears : Vos applications online... offline


Chrome intègre également une fonctionnalité encore peu usitée et très intéressante : la possibilité d'utiliser certains services en-ligne (services Google, bien entendu) sans être connecté à Internet.

Ainsi notamment les utilisateurs de Google Documents devraient pouvoir bénéficier grâce à l'API Gears de fonctionnalités de leur tableurs etc. tout en restant déconnecté, ce qui fait un pas de plus vers l'application Internet devenue application logicielle.

Et un pas de plus vers le navigateur qui devient système d'exploitation.

  1  2 3  4  5  6  7  8  9
< < previous page next page > >

Les commentaires on été désactivés.