Journal Chromium me semble étrange

Posté par (page perso) .
Tags : aucun
8
12
août
2010

Voila pourquoi je trouve Chromium (le navigateur, pas le jeu super difficile) de plus en plus étrange.

Ceux qui n'en ont rien à faire peuvent passer leur chemin :-) C'est un journal sans trop d'importance.


Première partie :


Alors que je suis dans le train en train de développer une
jolie feuille de style pour un site web, je remarque que
Chromium est un espion à la solde des méchants.



En effet, je développe en local avec un serveur web local, ce
qui ne demande pas de connexion internet. Ce qui tombe bien,
puisque je suis dans un train.



La première surprise arrive quand l'on tape localhost dans
Chromium, il fait une recherche de localhost sur google… Pour
ceux qui ne le savent pas, localhost est un nom correspondant à
l'adresse locale de l'ordinateur. C'est la première chose que
l'on utilise quand on commence la programmation réseau. Bon,
une fois que l'on fait bien attention à taper
http://localhost/, on peut visiter son site en local.



Mais cette fois là, il me répond que le réseau est indisponible
pour accéder à localhost… Le détail de l'erreur explique que le
nom n'a pas pu être résolu. Faute de serveur de noms à
disposition certainement. Cela peut faire penser que Chromium
ne connait pas le fichier /etc/hosts, qui est prioritaire sur
n'importe quel serveur de nom, surtout quand ils sont
injoignables.



Mais je décide alors d'écrire directement l'adresse ip, pour ne
pas utiliser de serveur de nom, puisque ce navigateur est trop
con. Je tape alors http://127.0.0.1/ l'adresse qui renvoi vers
la boucle local, et qui est celle correspondant au nom
localhost, comme décrit dans le fichier /etc/hosts . Et là,
c'est assez intéressant, puisque j'obtiens exactement la même
erreur. Le nom n'a pas été résolu, puisque le serveur de nom
est introuvable.



À ce stade, il y a trois possibilités qui s' envisagent selon
moi. Il est tout simplement possible que les développeurs de
google aient réécris des librairies de bas niveau, et qu'étant
très mauvais, ils font des requêtes DNS même pour les adresses
ip. Ce serait étrange venant d'une équipe qui a écrit un
navigateur web si performant en réécrivant certains composants…



Une autre possibilité est que c'est totalement volontaire de
faire des requêtes dns pour une adresse ip, et que le but
serait de connaître sur quels sites l'on visite, même quand
c'est à partir de l'adresse ip. Ce serais à relier avec leur
service DNS à l'adresse ip si simple à retenir : 8.8.8.8 . Mais
il ne faut pas voir le mal partout, et cette possibilité serais
aussi étrange, je ne vois pas trop ce qu'ils peuvent en tirer,
à part la possibilité de censurer une adresse ip.



La dernière possibilité est que le navigateur souhaite
communiquer avec un autre serveur à chaque visite d'une page,
et que ce serveur soit identifié à l'aide d'un nom de domaine.
Mais ce serais très étrange, car un coup de wireshark suffirait
pour remarquer des échanges anormaux avec des serveurs
inconnus, et jusqu'à maintenant, personne n'a vu ça.



Ne comptez donc pas sur Chromium pour développer en local.



Deuxième partie :


La version Chromium de développement sur Ubuntu est légèrement
pénible avec les fichiers PDF. Google Chrome intègre un lecteur
de ces documents, et la version que j'utilise ne le fait pas,
et affiche une erreur au lieu de télécharger le fichier.



J'ai lu sur le web que l'on pouvait télécharger la librairie
PDF de Google Chrome pour la mettre dans Chromium.
Effectivement, après avoir récupéré Google Chrome pour Ubuntu,
on trouve bien la librairie, ce qui permet d'afficher
directement les PDF dans Chromium. Au passage, c'est mal fait,
mais c'est encore tout neuf.



En fouillant dans l'archive de Google Chrome à la recherche de
la librairie, je suis tombé sur un script sh destinés à être
exécuté chaque jour (cron.daily). Son unique but est réactiver
le dépôt apt de mises à jour de Google Chrome, si il est
désactivé. Un dépôt de mises à jour est un élément très
important au niveau de la sécurité d'un système, car il peut
remplacer tout les logiciels de la machine par des versions
modifiées.



Le script n'est pas trop méchant, car si l'utilisateur a
supprimé le fichier, au lieu de désactiver le dépôt, il ne le
rajoute pas, mais il reste cependant étrange de vouloir
réactiver ce qui est désactivé.



Il faut donc bien différencier la version Google Chrome la
version libre Chromium.



Troisième partie :


Je suis tombé sur Google Native Code, permettant d'utiliser du
code natif X86 dans un navigateur web. De manière sécurisée,
certes. Faire du code natif dans un navigateur web, je ne
comprends pas. Le SDK fournit un bon nombre de librairies dont
cairo, imagemagick, ffmpeg, boost… et propose de coder tout ça
en C++. Ça ressemble à une très grosse usine à gaz.



Qu'ils utilisent ça pour leur OS qui va faire un flop,
d'accord. Mais d'avoir ça sur Chromium, c'est aussi étrange.



Heureusement que Chromium est libre. Qu'est-ce que ça serais
sinon…

  • # gethostbyname()

    Posté par . Évalué à 4.

    Cela peut faire penser que Chromium ne connait pas le fichier /etc/hosts, qui est prioritaire sur n'importe quel serveur de nom, surtout quand ils sont injoignables.

    Prioritaire, mais certainement pas fait pour être atteint directement par les applications. Celles-ci obtiennent l'adresse de localhost via gethostbyname() (ou assimilé). Sauf sous Windows où j'ai souvent eu une résolution erratique de 'localhost', le problème doit être ailleurs : soit tu as un pépin de résolution sur ton poste, soit Chromium court-circuite l'infrastructure de résolution de noms (gethostbyname) et fait sa petite tambouille dans son coin, mais ce serait très con.
    • [^] # Re: gethostbyname()

      Posté par (page perso) . Évalué à 7.

      Sachant que toutes les autres applications fonctionnent parfaitement, je pense qu'ils font leur tambouille dans leur coin, et je trouve moi aussi ça très con.

      Envoyé depuis mon lapin.

    • [^] # Re: gethostbyname()

      Posté par . Évalué à 1.

      Pour localhost, c'est parfaitement normal, c'est le comportement de leur barre d'url et de recherche combinee.

      qqchose.com/net/org etc: resolution du nom d'hote.

      une chaine ne se terminant pas par .net, org, com etc: utilisation du moteur de recherche (google par defaut): requete sur le moteur de recherche avec la chaine en question
      quand c'est juste un mot, moteur de recherche, puis apparition du bandeau "Did you mean http://localhost ?"

      Bref, rien de particulier, c'est comme ca que c'est cense marcher. C'est le cote un peu relou de la barre de chrome: c'est genial pour faire des recherche, le revers de la medaille etant que c'est parfois relou quand tu veux taper un localhost ou un intranet.
      Perso j'ai contourne le probleme de l'intranet avec un bookmark qui contient "http:tralala".

      Pour 127.0.0.1, je viens de tester, ca resoud bien sur l'ip sans chercher a passer par un dns (chrome 5 OSX a jour).

      Apres, je suis pas fan de chrome pour developer. En regle general, j'evite d'utiliser mon navigateur courant pour developer. Particulierement chrome, trop bleeding edge a mon gout.
      Safari a des developer tools sacrement bien gaule soit dit en passant (et autrement mieux integre que web developer de FF).

      If you can find a host for me that has a friendly parrot, I will be very very glad. If you can find someone who has a friendly parrot I can visit with, that will be nice too.

    • [^] # Re: gethostbyname()

      Posté par . Évalué à 2.

      Prioritaire, pas forcément.

      Le fichier /etc/host.conf permet justement de configurer l'ordre des priorités (man host.conf).
      • [^] # Re: gethostbyname()

        Posté par . Évalué à 7.

        Sous Linux c'est généralement /etc/nsswitch.conf qui défini l'ordre de recherche, hosts.conf c'est sur slackware et ses dérivés.
  • # Problème connu pour le point 1

    Posté par (page perso) . Évalué à 4.

    Ton premier problème est connu apparemment.

    Ce serait de la faute de IPV6, si j'en crois mon anglais déficient.

    http://code.google.com/p/chromium/issues/detail?id=42058
    • [^] # Re: Problème connu pour le point 1

      Posté par (page perso) . Évalué à 9.

      Non, c'est la faute d'avoir couper ipv6, ce qui est différent.

      Faut arreter de tout mettre sur le dos d'ipv6 ( genre, les livebox qui ralentissent le surf, comprendre, qui sont incapable de faire une résolution AAAA et qui font un timeout moisi, c'est pas la faute de ipv6, c'est la faute de FT et de la livebox ).
      Si on veut pas se retrouver avec un internet ou seuls les opérateurs les plus riches sont capables d'offrir des accès potables ( ie, avec une ip, qui a défaut d'être fixe, serait publique ), faudrait songer à pousser ipv6 au lieu de l'accuser de tout les maux de la terre en matière de réseau.
    • [^] # Re: Problème connu pour le point 1

      Posté par (page perso) . Évalué à 1.

      oui, suffi de lancer ainsi :

      chromium-browser --enable-ipv6

      et on peut faire du localhost ;-)
  • # code natif

    Posté par . Évalué à 3.

    Je suis tombé sur Google Native Code, permettant d'utiliser du code natif X86 dans un navigateur web. De manière sécurisée, certes. Faire du code natif dans un navigateur web, je ne comprends pas. Le SDK fournit un bon nombre de librairies dont cairo, imagemagick, ffmpeg, boost… et propose de coder tout ça en C++. Ça ressemble à une très grosse usine à gaz.

    Regarde ce que les gens s'amusent à faire en JS aujourd'hui, et tu comprendras rapidement.
    • [^] # Re: code natif

      Posté par . Évalué à 2.

      alors...

      faire ramer mon navigateur
      faire planter mon navigateur
      faire preferer des zigouigouis qui bougent et qui clignotent à un site qui juste marche
      faire renvoyer des informations de navigation privées au reste de la planète
      faire inclure 20 CSS et 40 js par page, voir par exemple :

      http://digitizor.com/2010/08/12/how-much-faster-is-konqueror(...)

      oui je vois bien ce que les gens s'amusent à faire en JS aujourd'hui.
      • [^] # Re: code natif

        Posté par . Évalué à 2.

        Et bien avec du code natif, ils pourront faire toussa plus rapidement et tu pourras donc retourner à une activité saine toi aussi plus rapidement :)

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.