Pour gérer vos consentements :
Categories: BureautiqueLogiciels

LibreOffice : le long chemin vers un portage WebAssembly

Le portage de LibreOffice en WebAssembly ? Il avance, mais moins vite qu’on ne nous l’avait laissé entendre au démarrage du projet. Ou plutôt à son redémarrage. C’était, officiellement, en octobre 2020. Après une première expérience non probante, l’initiative avait repris des couleurs à la faveur de la promotion de WebAssembly en tant que standard W3C.

La promesse de fond n’a pas changé depuis cette relance : exécuter la suite bureautique intégralement dans un navigateur, et sans dépendance à un serveur.

La première démo publique s’était déroulée en février 2021 à la FOSDEM. Elle était minimale : une app Qt5 affichant l’ensemble de Mandelbrot. Le reste du code était compilé, mais ne fonctionnait pas encore.

Un an plus tard, la partie traitement de texte (Writer) est opérationnelle. La version optimisée pèse environ 150 Mo, encore loin de l’objectif des 25 à 30 Mo. Il faut y ajouter une image d’environ 100 Mo pour les polices de caractères (pas encore de stockage persistant, ni de mécanisme de sélection).

À la FOSDEM 2021, on nous avait laissé miroiter une démo de session d’édition chiffrée de bout en bout avant la fin de l’année. Rendez-vous manqué. L’échéance est désormais fixée à cet été. L’équipe du projet vise surtout, un MVP pour l’automne, sous la forme d’un widget HTML. Pour l’édition collaborative, « c’est encore un peu loin », admet-elle.

Meson pour la version WASM ?

Pour le moment, le projet* utilise gbuild, le système de construction logicielle de la Document Foundation. Il est question de le remplacer par Meson, qui dispose lui aussi d’un back-end pour Emscripten. Mais la démarche n’est pas une priorité. Tout comme le chargement dynamique de modules WebAssembly et les communications entre instances (P2P).

En haut de la feuille de route, il y a l’allègement du binaire LibreOffice. Notamment en utilisant des API des navigateurs pour remplir des fonctions qui dépendent actuellement de bibliothèques logicielles tierces (NSS pour le réseau, ICU pour la localisation…). Les travaux vont s’accélérer, en parallèle, sur la partie JavaScript. Ainsi que sur la gestion des fichiers locaux, des dictionnaires… et les corrections qu’il faut apporter au back-end Qt.

Les limites de WebAssembly en matière de RAM adressable (4 Go) apparaissent moins dommageables pour LibreOffice. Tout comme l’incapacité à exploiter, en l’état du projet, le multithreading.

* Financé en partie sur des fonds issus du programme européen Horizon 2020.

Illustration principale © jcorrius – CC BY 2.0

Recent Posts

AWS abandonne WorkDocs, son concurrent de Dropbox

Un temps pressenti pour constituer le socle d'une suite bureautique AWS, Amazon WorkDocs arrivera en…

2 jours ago

Eviden structure une marque de « serveurs IA »

Eviden regroupe cinq familles de serveurs sous la marque BullSequana AI. Et affiche le supercalculateur…

2 jours ago

SSE : l’expérience se simplifie plus que les prix

Le dernier Magic Quadrant du SSE (Secure Service Edge) dénote des tarifications et des modèles…

2 jours ago

IA générative : les lignes directrices de l’ANSSI

Formats de paramètres, méthodes d'apprentissage, mutualisation GPU... Voici quelques-unes des recommandations de l'ANSSI sur l'IA…

3 jours ago

De la marque blanche à l’« exemption souveraine », Broadcom fait des concessions aux fournisseurs cloud

À la grogne des partenaires VMware, Broadcom répond par diverses concessions.

3 jours ago

iPadOS finalement soumis au DMA

iPadOS a une position suffisamment influente pour être soumis au DMA, estime la Commission européenne.

3 jours ago