Chromium pour Android / Snapdragon

android 31 mai 2017

Trouver un navigateur convenable sous Android peut sembler compliqué. Pardon, est compliqué. Probablement pour une raison principale : Google Chrome est préinstallé sur quasiment tous les ordiphones grand public (sans possibilité de le dégager, vu qu’application système [à moins de rooter le téléphone, pas recommandable à une majorité]). Quant à Chromium, personne ne le connaît…

Du côté de la concurrence, c’est loin d’être la panacée. Firefox est assez moche, (trop) loin du « material design » des dernières versions d’Android, pas évident à dompter et surtout bien trop lourd.

Restent les moult navigateurs qui promettent monts et merveilles, rapidité, économies de batterie, respect de la vie privée, et parfois même retour de l’être aimé. Ceux-là, ils sont pléthore sur le Play Store, et sur F-Droid (mais au moins ces derniers ont le bon goût d’être libres).

 

Mais sinon : vous saviez qu’il existait une version de Chromium spécialement optimisée pour les processeurs Snapdragon, qui équipent de très nombreux smartphones ? :mrgreen:

 

Chromium, c’est quoi ?

On commence par de rapides rappels, histoire de remettre les pendules à l’heure.

Chromium, c’est un logiciel open-source qui sert de base à Google Chrome. Il ne contient juste pas les portions de code propriétaires (certains codecs audio/vidéo, Adobe Flash Player, etc), ni le tracker publicitaire de Google, et quelques autres bricoles. Globalement, Chromium est plus léger et rapide que Mozilla Firefox, du moins pour l’usage que j’en ai au quotidien.

 

Qualcomm, CAF, Snapdragon… Ayé j’suis perdu

Qualcomm, c’est (surtout) un fabricant de micro-processeurs pour les téléphones portables. C’est par exemple cette société qui a inventé la technologie CDMA eu 1989, aux États-Unis. C’est également, pour l’anecdote, l’entreprise qui souhaite faire interdire l’iPhone aux États-Unis ! 😉
Bref, Qualcomm, c’est 49% de parts de marchés de processeurs pour smartphones, devant Apple (13%) et Samsung (12%) [chiffres 2013].

Snapdragon, c’est le nom commercial de la plus importante des familles de SoC (System-on-a-Chip, le processeur) pour smartphones, utilisant le jeu d’instructions ARM. On en trouve dans les smartphones et tablettes de tous poils. Les Snapdragon intègrent également un processeur graphique, de son petit nom Adreno, lui aussi sorti des usines Qualcomm.

Enfin, CAF. Si vous bidouillez un peu votre téléphone Android, vous vous souvenez peut-être d’une période où les noyaux se sont « scindés » en 2, « AOSP » et « CAF ». AOSP (Android Open Source Project) correspond au noyau développé par Google pour l’ensemble des smartphones, et CAF (Code Aurora Forum) correspond à celui développé par une équipe de développeurs tierce plus spécifiquement pour le matériel Qualcomm. Code Aurora est maintenu par la Fondation Linux, et surtout, c’est là que Qualcomm publie les sources correspondant à leurs différents matériels. Du coup, pas mal de fabricants préfèrent partir de ce que fournit Qualcomm. Seems legit.

 

Le rapport entre CAF et Chromium ?

Parmi les nombreux projets développés par le Code Aurora Forum, il y a… une version de Chromium basée sur l’originale, avec quelques ajouts, et surtout des optimisations pour mieux fonctionner sur les ordiphones équipés d’une puce Snapdragon. Si si.

Actuellement, la version la moins stable en développement est la version 59 de Chromium, et vous pouvez installer sans soucis la version 58 (code source).

On va pas se mentir, compiler un navigateur pour son mobile n’est pas à la portée de madame Michu, et même quand on a la compétence pour le faire, on n’a pas toujours l’envie (ou le temps) de le faire. Heureusement pour nous, un membre du forum XDA a non seulement fait des builds pour nous, mais en plus il a créé une petite application qui va vérifier si une nouvelle version existe et l’installer pour vous ! Les ressources, donc :

 

Mais ça change quoi que ce soit optimisé ?

Déjà, les performances. Je ne retrouve plus le lien, mais j’ai lu un test qui en parlait, pour une amélioration somme toute significative. Un test sur XDA a comparé l’application Google Dev (du Play Store) avec Chromium SWE (ouais c’est le nom mignon de notre Chromium modifié, SWE pour Snapdragon Web Engine) et le test SunSpider retourne 996.7ms +/-17.5% pour Chrome, contre 761.6ms +/-13.8% pour Chromium SWE. C’est franchement pas mal.

Ensuite… les fonctionnalités ! 😉
Au menu des choses absentes du Chromium « normal » :

  • un mode nuit. C’est con, mais pratique le soir. Qui sait, ça peut même vous éviter d’éloigner le portable de vos yeux chafouins pour ne pas être ébloui, et finalement lâcher le téléphone que vous allez prendre sur le groin (et ça fait mal).
  • un bloqueur de publicités. OUI. Un truc qui fonctionne bien, sans besoin d’un téléphone rooté ou bidouillé à outrance.
  • un mode d’économie d’énergie, qui limite le nombre de cœurs actifs dans le processeur ainsi que leur fréquence d’horloge. Plus d’infos sur ces mécanismes ici.
  • la partie « Téléchargements » a été revue, on peut choisir la destination de chaque fichier par exemple. OK ça vous semble basique (sur PC), mais sur mobile, c’est dans /sdcard/Downloads/ et c’est marre, en général, tant pis pour vous si vous vouliez enregistrer ce MP3 ailleurs.
  • navigation par les bords : si vous glissez votre doigt boudiné depuis le bord gauche de l’écran vers la droite, vous revenez à la page précédente. Idem en inversant le sens du mouvement, ça repart à la page suivante.
  • une gestion très fine des autorisations propres à chaque site visité.

D’autres fonctions sont présentes, mais pas nécessairement activées, en fonction de vos choix lors du premier lancement :

  • « Safe browsing » : comme sur Chrome, en gros, puisque c’est la même liste qui est chargée pour bloquer pour vous les sites malveillants (virus, phishing…)
  • « WebRefiner » : cet outil permet de filtrer une partie du contenu des pages que vous visitez, dont la publicité citée plus haut. Il supporte par exemple les listes EasyList (comme AdBlock) et vous permet de mettre en place vos propres filtres et exceptions.
  • « WebDefender » : module permettant de moduler la profondeur d’encu la quantité de données personnelles que vous consentez à filer à Google, Facebook et autres. Aspect sympa : cette fonction est basée sur l’outil « Privacy Badger » de l’EFF. Elle permet de filtrer les cookies, le « canvas fingerprinting »…
  • « XSSDefender » : ce module tentera de vous protéger contre certaines formes d’attaques transitant par des sites web, en particulier via javascript et les fameuses XSS.
  • « Secure-Connect » : cet élément repose sur le module « HTTPS Everywhere » de l’EFF (encore –normal, ils font du bon boulot). Il fera en sorte d’utiliser HTTPS pour vos connexions aux sites web visités plutôt que du simple HTTP, de façon transparente pour l’utilisateur.

Avouez que ça a d’la gueule !

D’autres navigateurs ont tenté le coup…

Citons ici pour mémoire « Gello », feu le navigateur web intégré à CyanogenMod, une distribution Android alternative dont l’un des objectifs était également la protection de la vie privée. Si les sources de Gello existent encore, elles ont été jugées difficilement maintenables par l’équipe en charge du développement de LineageOS (qui a pris la suite de CyanogenMod, mais c’est une autre histoire), qui a préféré repartir d’une base plus propre.

Gello peut être compilé à partir des sources, sans souci, mais n’est plus activement maintenu. Dommage, je l’aimais bien, vraiment. Sa disparition a laissé un vide que je cherche à combler, d’où cet article ! 😉

 

Tout jeune, Jelly (notez l’originalité du nom) est le remplaçant de Gello. Si son apparence est nettement plus fraîche et actuelle, toutes les fonctions de Gello ne sont pas encore fonctionnelles. Il est stable, fait le job d’un navigateur basique (pour ce que je m’en sers ça suffit presque, et ça répond aux attentes de pas mal de gens je pense) sans sourciller. La gestion des onglets est celle introduite par Chrome il y a quelques temps : un onglet égale une tâche dans les applications Android. C’est surtout ça qui ne me convient pas, mais bon ! Notez qu’il intègre déjà « LookLock », cette fonction qui verrouille l’accès à ce qui est affiché dans le navigateur par une autre application, pour protéger votre intimité. Les sources sont ici, et je vous invite à tester LineageOS pour le voir ! 😀

 

Et vous, vous utilisez quel navigateur et pourquoi ? 🙂

 

 

Mots clés