Nous savons déjà que Google travaille sur un nouveau système d’exploitation : Fuchsia. Mais qu’est-il vraiment, et à quoi servira-t-il ? Ce dossier vous récapitulera tout ce que nous savons à son sujet.

Cela fait quelque temps déjà que Google a dévoilé, en août 2016, le développement d’un nouveau système d’exploitation. Cependant, il ne l’a pas annoncé en grande pompe.

Loin de là : le Github du projet a été découvert sans que personne ne sache véritablement quel était le but du géant de la Tech. Le projet prend rapidement forme, au point que Google communique de plus en plus sur sa philosophie… mais pas nécessairement son but final. Au moins admet-il l’existence de l’OS désormais, ce qui n’était pas forcément le cas auparavant.

Revenons donc sur ce cas si particulier.

Notre résumé en vidéo

Lien YouTube S’abonner à FrAndroid

Genèse de Google Fuchsia

En août 2016, le Github de Fuchsia est lancé en miroir du Google Source classique. À l’origine, nous ne voyions là qu’un petit projet de geek comme a l’habitude d’en lancer le développeur, qui n’est pas le dernier à lancer et tuer des tonnes et des tonnes de projets à la suite de par sa culture d’entreprise très ludique.

Nous apprenions simplement qu’il s’agissait d’un nouveau système d’exploitation. Plus intéressant : celui-ci n’est pas basé sur le noyau Linux, comme c’est le cas d’Android ou de Chrome OS, mais sur le noyau Zircon (anciennement Magenta).

Zircon est ce que l’on appelle un « microkernel », c’est-à-dire un noyau de système réduit à son plus simple appareil pour permettre de lancer des applications. Ils sont généralement utilisés pour des petits produits comme des montres intelligentes, ce qui laissait présumer au premier abord que Google Fuchsia pouvait être un nouveau projet pour remplacer les forks comme Android TV ou Android Wear (devenu Wear OS).

Ceci étant, l’évolution du développement de ce nouveau système d’exploitation a fini par nous indiquer que le projet avait des ambitions bien plus grandes. Tout cela sans que Google ne commente officiellement les événements.

Principe de fonctionnement de Zircon

Le nouveau noyau créé par Google est dérivé des travaux de Travis Geiselbrecht : Little Kernel. Il s’agit là d’un noyau de système d’exploitation qui a été revu afin d’intégrer uniquement les fonctionnements les plus basiques, se permettant donc d’être très léger et rapide à exécuter.

Fuchsia a cependant bien évolué et a aujourd’hui son architecture propre lui permettant de régir les accès au matériel et les communications des diverses applications. Celle-ci est organisée en un système de couches :

  • Zircon : noyau du système, il se charge principalement des accès au matériel et des communications entre les logiciels.
  • Garnet : la deuxième couche primordiale de l’OS. Elle gère les tâches communes les plus basses des OS, comme les drivers matériels ou l’installation de logiciel. Garnet intègre ainsi Escher, le moteur de rendu graphique, Amber, le système de mise à jour de Fuchsia et le Xi Core, l’éditeur de texte système.
  • Peridot : la troisième couche de l’OS qui s’occupe de la gestion des applications et leur design modulaire. Il intègre ainsi Ledger, la synchronisation en ligne des données, et Maxwell, l’intelligence artificielle de l’OS.
  • Topaz : dernière couche de l’OS, elle se charge de ce qui est au premier plan pour l’utilisateur : les applications et leur design. C’est ici que l’on retrouve le support de Flutter, qui se charge de l’interface graphique de Fuchsia OS, mais aussi les applications de base du système comme l’agenda ou l’explorateur de fichiers.

Cette organisation en forme de couches est faite afin de faciliter la programmation… mais aussi la personnalisation. Il semble que les futurs créateurs d’appareils pourraient créer leurs propres couches, voire remplacer entièrement une couche de base du système par une autre. Comme Android donc, les constructeurs pourraient personnaliser en profondeur le système… mais sans devoir toucher au fonctionnement système, facilitant ainsi le déploiement des mises à jour.

Un vrai nouvel OS

Alors qu’il était avant tout réservé à ceux parlant la ligne de commandes, Google Fuchsia a reçu son interface utilisateur en mars 2017. C’est là que nous avons pu voir les premières intentions du développeur, qui nous montrait plus avant sa philosophie.

Rappelez-vous que jusqu’ici, l’idée qui régnait sur la Toile était que Google développait un OS pour des objets connectés qui seraient capables d’interagir avec Android. Cette idée a été abandonnée à la minute où le design de Fuchsia est apparu.

Les premières photos du système ouvert n’étaient pas exceptionnelles, et pour cause : en l’absence d’un outil de capture d’écran, il était obligatoire de littéralement prendre en photo l’écran de son ordinateur.

Par son interface de connexion et son design tout en cartes laissant place à tout un système de notifications et d’applications lancées en multitâche, le doute n’était plus permis sur les ambitions de Fuchsia à l’avenir.

Principe de fonctionnement de Fuchsia

Interface graphique s’adaptant à l’appareil cible

Nouvel OS oblige, de nouveaux principes de fonctionnement seront à apprendre. Comme pour le Material Design, Google se base avant tout sur des cartes aux grands aplats de couleurs se séparant par un jeu d’ombres leur offrant une profondeur. De quoi comprendre visuellement la logique d’importance de chaque élément.

Deux interfaces graphiques s’occupaient de cette volonté à l’origine du projet : Armadillo, pour les appareils mobiles, et Capybara qui étend l’expérience aux grands écrans comme tablettes ou ordinateurs portables. Naturellement, les éléments comme les paramètres rapides, les applications récentes ou le flux Google sont plus serrés sur mobile, quand ils s’étendent naturellement sur un grand écran.

Vous l’aurez compris : c’est l’un des premiers signes qui montrent que Fuchsia OS se destine à absolument tous les types d’appareils, qu’il s’agisse d’un smartphone, d’une tablette, d’un ordinateur portable ou même d’un objet connecté.

La situation a cependant évolué et le développement de l’interface utilisateur de Fuchsia OS n’est plus basé sur Armadillo. Trois projets ont été lancés : Dugonglass, Dragonglass et Flamingo. Hélas, ils sont tous développés en interne : nous ne pourrons plus en voir l’évolution.

Applications modulaires et Stories

Le flux Google semble vraiment être au centre de l’expérience voulue ici par le développeur, et donc par extension son Assistant. À l’ouverture du système, on retrouve les configurations classiques de son compte et le flux semblable à Google Now. Celui-ci est toutefois capable d’interagir plus profondément avec le système, et notamment d’ouvrir des applications.

Les applications s’intègrent dans leur propre carte, mais plusieurs applications peuvent exister dans une même carte comme le mode multitâche d’Android. En somme, une carte est ici « une vue » qu’il est possible de voir en plein écran ou bouger librement sur l’interface.

Les applications de Fuchsia sont toutefois assez particulières, puisqu’elles sont découpées en modules. Ainsi, il est possible d’accéder à une seule fonction précise d’un logiciel au sein d’une carte sans lancer la totalité de l’application. Surtout, il est possible de créer des « Stories » : des modules de logiciels différents qui interagissent entre eux avec les mêmes données de base. Ce sont d’ailleurs ces Stories que l’on retrouve dans la liste des applications récentes.

Pour simplifier, imaginez que vous regardez une conférence sur YouTube que vous souhaitez commenter en direct sur Twitter. Vous ouvrirez donc la vidéo YouTube, et intégrerez en dessous l’application Twitter pour envoyer vos tweets. C’est ce qui sera considéré comme une Story et donc quelque part une application dans la logique de Fuchsia.

Constamment à jour

C’est bien beau tout ça, mais comment assurer que toute l’interactivité du système soit bien gérée entre les divers appareils capables de l’accueillir ? Le but de Fuchsia étant d’être l’unique OS de tous vos appareils, il faut pouvoir être sûr de retrouver son expérience telle qu’elle est sur tous nos écrans.

Pour cela, Fuchsia OS utilise Ledger. Il s’agit, selon Google, d’un système de stockage distribué entre tous les appareils. Pour simplifier, votre compte Google se charge tout simplement de sauvegarder automatiquement vos applications, vos actions et votre progression dans le cloud, tandis que toutes vos instances de Fuchsia OS puisent à la même source afin de rester constamment synchronisées.

En théorie donc, vous pouvez retrouver votre bureau et vos applications exactement comme vous les avez laissés, peu importe l’appareil.

Maxwell vous analyse et vous aide

Fuchsia ne se base pas que sur l’Assistant Google, étrangement appelé Kronk (en référence à Kuzko) dans la version actuelle du système, pour être intelligent. L’OS complet est pensé pour être proactif dans votre utilisation.

Pour cela, il fait appel à Maxwell. Maxwell est le système gérant l’intelligence de Fuchsia. Il est supporté par des « agents » — tâches en arrière-plan — qui se chargent de récupérer des informations sur votre utilisation et les rapporter à Maxwell qui cherchera à vous faire des suggestions.

Ainsi, on sait qu’un agent est capable de lire un mail et créer une entité « mail » qui donne un « contexte » à Maxwell. Selon vos actions, les agents rapportent de nouvelles entités à intégrer dans le contexte, qui permet donc à l’intelligence artificielle de vous proposer l’étape suivante de votre flux d’action avant même que vous n’ayez à y réfléchir. Il ne s’agit là que d’un exemple, les développeurs étant libres d’imaginer le moindre agent.

L’important est surtout de noter que les agents sont indépendants, faisant qu’ils n’ont pas besoin de communiquer entre eux : c’est Maxwell, le système lui-même, qui se charge de rendre la relation entre les applications cohérentes. De quoi optimiser la gestion modulaire des applications beaucoup plus naturellement, sans devoir se reposer massivement sur les développeurs et leur ouverture.

Pour les développeurs

Fuchsia est aussi pensé pour être facile à utiliser pour les développeurs. Tout d’abord, un avantage conséquent : il n’est pas nécessaire de réécrire son application pour qu’elle convienne à un smartphone, une tablette et un ordinateur portable. Le même code fonctionne partout, puisque telle est la volonté de l’OS.

Surtout, les langages de programmation supportés sont divers. Le principal est le Dart, un langage d’interface qui est assez proche du JavaScript et de Java. Les développeurs Android ne seront donc pas perdus. Pour les développeurs système, Rust est également de la partie.

Mais surtout, Fuchsia OS supporte Swift, le langage de programmation propulsé par Apple. Aussi, les développeurs devraient pouvoir très facilement transposer leurs applications macOS et iOS vers son nouveau système d’exploitation, sans trop de coûts supplémentaires. Notons que comme Chrome OS, Fuchsia pourrait devenir compatible avec les applications Linux et les applications Android.

Notez que Google offre désormais un site officiel pour les développeurs intéressés par Fuchsia.

Pourquoi un nouvel OS

Android et Chrome OS sont tout deux basés sur le noyau Linux. À ce titre, ils en subissent également les défauts. Le principal pour Google aura toujours été de devoir compter sur les constructeurs pour mettre à jour le système d’exploitation.

Qu’il s’agisse de nouvelles fonctionnalités ou de patchs importants de sécurité, il incombe aux constructeurs de mettre à jour le système. Treble aura amélioré les choses, mais tout n’est pas parfait.

Fuchsia est organisé afin que les applications ne puissent absolument pas accéder au kernel. Il est également supporté par un système de mise à jour centralisé, nommé Amber, qui se charge de continuellement garder un appareil à jour de manière sécurisée.

Il existe une autre raison à cela : les problèmes légaux que rencontre Android avec Oracle. À sa création, Android a utilisé le langage Java et de nombreuses API libres avec un accord de bon sens avec Sun Microsystems. Après son rachat, Oracle cherche à récupérer ses deniers et est en passe d’y arriver.

Google n’aime évidemment pas cette situation qui pourrait l’amener à devoir payer des royalties régulières à Oracle. Nul doute qu’il s’agit là d’une motivation supplémentaire pour le développeur de revoir sa copie à partir de zéro.

Enfin, un système d’exploitation pensé de zéro a l’avantage (ou l’inconvénient, selon l’angle) de ne pas traîner derrière lui tout un univers applicatif créé sur plusieurs années, comme c’est le cas pour Linux ou Windows. Aussi, il est plus à même de concevoir un OS pouvant véritablement s’adapter à tout type d’appareils.

Date de sortie de Fuchsia

Pour le moment, Fuchsia est toujours un projet très mystérieux. Cependant, Google a récemment embauché Bill Stevenson, ancien ingénieur macOS, pour s’occuper de sa sortie. Qui plus est, Fuchsia est testé sur le Google Pixel 3 XL et le Nest Home Hub Max est également utilisé pour tester des fonctionnalités.

Cela fait penser que la présentation, a minima, du futur OS Google se rapproche de plus en plus. On n’en sait toutefois pas plus, et il nous faudra faire preuve d’énormément de patience.

Merci aux travaux de 9to5Google qui ont permis de constituer et illustrer ce guide