Chrome OS pour développer, est-ce bien sérieux ?

le 21/11/2018 par Antoine Bernard
Tags: Software Engineering

Dans la lignée de mon précédent article de Windows 10 et son sous-système Linux, je me suis intéressé à un outsider, souvent oublié des comparatifs : Chrome OS.

Toujours à la recherche d’un possible remplaçant à mon Mac, j’ai été (agréablement) surpris par l'énergie consacrée par Google à son système, qui semble être actuellement une priorité de la firme de Mountain View.

Chrome OS, késako ?

Initié en 2011, Chrome OS est un système d'exploitation gratuit et open source (à travers le projet Chromium OS). Fondé sur Linux, il est très léger et met largement en valeur son navigateur préinstallé : Google Chrome.

Stable, et mis à jour très régulièrement, Chrome OS est un système sûr. Proche d’une distribution Linux, il tourne parfaitement sur des machines peu puissantes.

Qualité non négligeable : les drivers de touchpad sous Chrome OS sont excellents.

Un Chromebook flambant neuf

Pensé autour de son navigateur Chrome, il était impossible d’installer un logiciel tiers jusqu’en 2017. Le seul marché d’application disponible était le Chrome Web Store, catalogue d’extensions Chrome.

Ce choix de la part de Google illustre sa stratégie autour de son OS : simple et fait pour consommer du Web via Chrome.

Google accélère en 2017

Début 2017, Google dote l’OS d’un atout clé : le support des applications Android et du Google Play Store.

Avec cet atout en poche, en fin 2017 est à 59,6% de parts de marché sur les PC mobiles dans le secteur de l’éducation aux USA, écrasant Microsoft et Apple.

Le Google Playstore sur Chrome OS

En Octobre 2018, la version 70 de Chrome OS refont son interface pour l’adapter en mode tactile, en faisant l’héritier d’Android sur tablettes.

Le futur Chromebook de Google, le pixel Slate promet même une compatibilité avec Android 9. En en faisant donc la première tablette compatible avec sa dernière version d’Android.

Des efforts pour les développeurs

Très présent dans les écoles américaines, Google fait des efforts cette année (2018, pour toi qui vient du futur) pour les développeurs et apprentis développeurs.

Historiquement, les Chromebooks étaient des machines pour consommer des services Cloud (Gmail, Web Apps, etc…).

Pour le développement, il était donc préconisé d’utiliser des IDE Cloud comme la solution Cloud9 d’Amazon AWS, ou de coder sur un serveur distant, en utilisant le Chromebook comme simple interface (via SSH).

Depuis 2018, Google déploie progressivement le projet “Crostini” (un nom qui croustille), un projet qui cache une grosse promesse : le support des applications Linux sur ChromeOS.

Cette fonctionnalité s’accompagne d’une montée en gamme globale des Chromebooks depuis 2018, avec la sortie de machines sous processeur Intel i5 et i7 (HP x2, Pixelbook et Pixel Slate, etc…). Google muscle son jeu !

Chrome OS et les applications Linux

Nous allons ensemble tenter l’expérience Chrome OS pour un développeur Web, avec une machine bas de gamme (un HP Chromebook sous la barre des 200 € sur Amazon).

La machine possède un processeur Intel x86, qui permettra l’installation de tous les logiciels nécessaires pour ce test :

Installation

Premièrement, il faut savoir qu’hormis le très haut de gamme PixelBook de Google, la plupart des Chromebooks n’ont pas encore accès au projet “Crostini” en version stable à l’heure où j’écris ces lignes.

Pas de panique, un passage en channel développeur va propulser notre Chromebook en version 71, et me donner la possibilité de créer un container Linux sur ma machine.

Direction les paramètres, puis dans “A propos de Chrome OS”, cliquez sur “informations détaillées sur la version”. Vous pouvez alors changer de “channel” vers développeur.

Attention, vous perdrez toutes vos données !

De retour le bureau, retour dans l’application paramètres, cette fois-ci pour activer Linux(beta).

S’en suit quelques minutes d’attente :

Une fois terminé, Chrome OS ouvre automatiquement une application fraîchement installée : le terminal !

Nous avons maintenant accès à un bash d’une distribution Debian. De plus, un dossier “Fichiers Linux” est désormais visible dans l’application de gestion de fichiers :

Ce support de Linux se fait à travers un container, qui contient une machine virtuel sous Debian, le système de fichiers n’est pas partagé entre les deux OS (pour le moment).

Pour s’échauffer, on va installer un logiciel qui manque cruellement à Chrome OS : un logiciel de retouche photo.

Essayons d’installer le célèbre logiciel Gimp via apt-get :

Après de longues minutes, le terminal nous rend la main et une nouvelle application apparaît dans le lanceur d’applications de l’OS : “Éditeur d’image GIMP”.

Belle truffe

Et la magie opère, lorsque l’on clique dessus, l’application s’ouvre, comme une application Chrome OS classique !

Et voilà qu’en quelques commandes on élargi le champ d’action de l’OS de Google :

Gimp fonctionne très bien sur Chrome OS !

Passons aux choses sérieuses : l’installation de Visual Studio Code, via le package disponible sur le site de Microsoft.

Une fois téléchargé, il va falloir glisser/déposer notre .deb dans le container Linux :

puis installons le package via la commande "dpkg", et les dépendances avec "sudo apt-get install -f"

Une fois terminé, on peut jouir de notre éditeur de texte préféré sur notre Chromebook :

Visual Studio Code en action

Une fois notre environnement installé, installons Ruby On Rails via la commande un peu magique, compatible sur debian : "apt install ruby rails"

La commande va se charger d’installer toutes les dépendances nécessaires à la création d’un projet en Ruby On Rails.

Sur une machine comme la mienne (moins de 200 € rappelons-le). L’installation prendra plusieurs dizaines de minutes.

Une fois terminée, initions un projet Ruby On Rails puis lançons notre serveur :

Par défaut, un projet Ruby On Rails utilise le port 3000 sur localhost, mais Linux tourne ici dans un container. Pour que l’on puisse y accéder sans soucis via Chrome OS, on lance la commande "rails server" avec un binding sur toutes les interfaces (0.0.0.0).

Ensuite nous accédons à notre application via l'adresse prévue pour accéder au container Linux dans l’OS de Google : penguin.linux.test et le port sur lequel notre serveur Rails tourne : 3000.

Et voilà une application Ruby On Rails qui tourne en local !

Conclusion

J’étais et reste très enthousiaste au sujet de Chrome OS. Google fait beaucoup d’efforts pour rendre son système plus mature chaque année. La compatibilité avec les applications Android est déjà un succès, même sur un processeur de type x86 (les smartphones tournent quasiment tous sur des processeurs à architecture ARM), l’immense majorité des applications du Google Play Store fonctionnent parfaitement.

Avec cette nouvelle solution pour rendre compatible les applications Linux, Chrome OS devient un candidat de choix pour nous les développeurs.

Cependant après quelques semaines sur un Chromebook, un détail m’empêche de le conseiller pour une machine principale : de quel Chromebook parle t-on ?

J’ai été contraint de tester Chrome OS sur un Chromebook bas de gamme. Pour son prix il est excellent, mais pas comparable à mon Macbook Pro que j’utilise chaque jour chez OCTO.

Alors quel Chromebook pour coder ? Et bien c’est là que le bât blesse, c’est sur le choix de machines sur Chrome OS en France : dans l’hexagone, le chromebook le plus puissant reste le Google Pixelbook de l’année dernière.

Dans sa version la plus chère, il est équipé d’un i7 dual core cadencé à 1.3 Ghz. Ce qui reste limité en terme de puissance de calcul, surtout pour une machine à 1000 €.

Il n’existe donc aucun Chromebook avec un processeur quad core (en x86) actuellement. Pour une utilisation professionnelle, cela peut poser problème pour beaucoup de développeurs.

Google “paie” encore sa politique centrée sur l’éducation depuis la création de Chrome OS. La majorité des machines disponibles sont des machines premier prix, peu puissantes, destinées à inonder le marché de l’éducation. Ce que Google a brillamment réussi sur le territoire Nord-Américain.

Google a récemment présenté son dernier Chromebook, le Pixel Slate, plus haut de gamme et cher que jamais. Il vient concurrencer directement la surface Pro de Microsoft et l’iPad Pro d’Apple.

Les Chromebooks vont progressivement monter en gamme, en même temps que les fonctionnalités prévues pour les professionnels. Le projet “Crostini” est encore en développement, et de nouvelles fonctionnalités apparaissent au fil des mises à jour.

Je resterai donc sur ces mots riches en sagesse : wait and see!