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

Après la NAND, Intel dit stop à la gamme Optane

Après avoir vendu son activité NAND, Intel tire un trait sur la technologie 3D XPoint,…

3 semaines ago

Google Analytics : la Cnil a posé les règles du jeu

Près de six mois ont passé depuis de que la Cnil a déclaré l'usage de…

3 semaines ago

Truffle 100 France : le top 20 des éditeurs de logiciels

Truffle 100 France : qui sont les 21 entreprises qui ont dépassé, en 2021, les…

3 semaines ago

Cloud : AWS brocarde les politiques de licences Microsoft

Un dirigeant d'Amazon Web Services dénonce des "changements cosmétiques" apportés par Microsoft à ses politiques…

3 semaines ago

Sécurité du code au cloud : Snyk Cloud, un joker pour développeurs

Snyk officialise le lancement de sa solution de sécurité cloud pour développeurs, Snyk Cloud, fruit…

3 semaines ago

Cegid accroche Grupo Primavera à son tableau d’acquisitions

Cegid va absorber Grupo Primavera, plate-forme de logiciels de gestion d'entreprise née dans la péninsule…

3 semaines ago