❌

Vue lecture

Il y a de nouveaux articles disponibles, cliquez pour rafraîchir la page.

Libera Suite, une suite bureautique libre et locale fondée sur Euro-Office, passe en bêta publique

Libera Suite est une « nouvelle » suite bureautique libre pour Linux, Windows et macOS. Elle comprend actuellement un traitement de texte, un tableur, un logiciel de présentation et une visionneuse de fichiers Visio. Elle fonctionne sur votre ordinateur, sans compte, sans service en ligne et sans télémétrie. Elle sait ouvrir et enregistrer les formats de Microsoft Office et OpenDocument. Comparées à d’autres applications similaires, elle est relativement rapide à démarrer et légère.

Elle est bâtie sur les composants d’Euro-Office, le fork d’ONLYOFFICE lancé en avril par une coalition d’entreprises européennes, dont Abilian (société de l’auteur de cette dépêche), qui développe Libera Suite. Elle est en bêta publique depuis le 1ᵉʳ octobre.

Libera Words, avec un document ouvert

Quatre applications

Une seule commande, libera, ouvre chaque document dans l’application qui lui correspond :

  • Libera Words, le traitement de texte : .docx, .odt, .rtf, .txt, .md ;
  • Libera Tables, le tableur : .xlsx, .ods, .csv ;
  • Libera Slides, les présentations : .pptx, .odp ;
  • Libera Diagrams, la visionneuse de fichiers Visio : .vsdx.

Les quatre applications partagent des fonctions comme l’export PDF, l’impression, la correction orthographique en cinq langues et la récupération du travail après un plantage.

Addition pratique: la commande libera --convert permet de convertir entre les différents formats pris en charge, ou d’exporter vers PDF. Par exemple, libera --convert *.docx -t pdf convertit un lot de documents vers PDF sans ouvrir de fenêtre. Son ergonomie est inspirée de Pandoc.

Comment l’installer

  • Linux (Ubuntu 22.04, Debian 12, Fedora 36, RHEL 9 et plus récents, x86_64 et arm64) : curl -fsSL https://cdn.abilian.com/libera/install.sh | sh. Si Flatpak est présent, le script installe un paquet Flatpak qui contient tout ; sinon, il installe la commande libera.
  • macOS (Apple Silicon) : brew install abilian/tap/libera, ou le même script. Homebrew fonctionne aussi sous Linux (à condition évidemment de l’avoir installé).
  • Windows 10 et 11 : un installateur, sans droits d’administration.

Pour les utilisateurs et les utilisatrices de Python, Libera Suite est aussi publiée sur PyPI. Sous macOS et Windows, uvx libera suffit : au premier lancement, la commande propose de télécharger les composants d’Euro-Office. Sous Linux, un environnement Python isolé ne voit pas les liaisons GTK de la distribution : il faut passer par pipx install --python /usr/bin/python3 --system-site-packages libera.

La page d’installation de la doc donne le détail des principales méthodes d’installation ; la page autres façons d’installer couvre le reste.

Architecture

Euro-Office fournit ses outils d’édition sous forme de composants Web, écrits en JavaScript. Ces composants s’exécutent dans un moteur de navigateur et confient les conversions de fichiers, l’accès au disque et les autres aspects de l’intégration au système d’exploitation et à l’environnement graphique hôte (menus, boîtes de dialogue…) à l’application qui les héberge. Libera Suite est cette application hôte, écrite en Python. Elle affiche les composants dans le moteur de rendu web fourni par le système (WebKit sous Linux et macOS, WebView2 sous Windows) et confie les conversions de formats (y compris l’import/export de fichiers) au convertisseur d’Euro-Office.

Près de 700 tests automatisés vérifient son fonctionnement. Une partie d’entre eux ouvre de vrais documents dans ces composants et contrôle le résultat affiché.

Nous compilons nous-mêmes les composants d’Euro-Office, depuis ses sources, pour Linux, macOS et Windows. Les correctifs nécessaires sont tous publiés et expliqués. Nous avons aussi corrigé (à ce jour) 68 défauts du convertisseur dans la lecture et l’écriture des fichiers OpenDocument, repérés grâce aux fichiers de test de LibreOffice.

L’application hôte est sous licence Apache 2.0. Les composants issus d’Euro-Office / ONLYOFFICE restent sous licence AGPL 3.0.

Réseau

Libera Suite se connecte pour télécharger les composants d’Euro-Office à l’installation. Une fois par jour au plus, elle vérifie aussi si une nouvelle version existe, sans rien télécharger ; la ligne check_updates = false du fichier de configuration désactive cette vérification.

Les limites de la bêta

L’interface est en anglais. Chaque document a sa propre fenêtre, sans onglets. Microsoft Office ne voit pas les verrous de Libera Suite. L’application Diagrams est en lecture seule. Ni l’édition des PDF ni le publipostage ne sont encore disponibles. L’installateur Windows et l’application macOS ne sont pas encore signées. La page État des lieux en donne la liste complète.

Vos retours

Nous cherchons des testeurs. Le moteur de mise en page est relativement éprouvé (plus pour les formats MS-Office que pour ODF, mais on y travaille). La cause des bugs éventuels se trouve le plus probablement dans notre processus de build, de paquetage et de distribution, dans l’absence d’une police ou d’une ressource. Ces défauts se corrigent vite, à condition de les voir. Le retour le plus utile est donc un document qui s’affiche mal, joint à un ticket avec la sortie de libera --diagnose.

Commentaires : voir le flux Atom ouvrir dans le navigateur

Typst, un système de composition de document qui grandit

Vous en souvient-il ? En deux mille vingt-cinq, qpad nous présentait Typst, un nouveau système de composition de documents qui se posait en concurrent de LaTeX.

Depuis, Typst semble avoir grandi, en s’assortissant d’une galaxie (pardon, un univers) de paquets tiers. En fait, j’ai surtout l’impression qu’il a gagné en notoriété, ou en quantité de mouvement, pour le dire comme les anglophones. C’est l’occasion de présenter à nouveau ce système de composition.

Sommaire

Un système de composition de documents

Typst est donc un système de composition de documents. Comme LaTeX, il est non-visuel, c’est-à-dire qu’on code son document qui est ensuite compilé en PDF.

Concrètement, l’outillage se compose, au choix :

Concurrent à LaTeX

Typst partage plusieurs caractéristiques avec LaTeX dont il est ouvertement inspiré :

  • c'est un système non visuel avec un langage dédié ;
  • il est conçu pour permettre d’écrire des documents scientifiques.

Bien que je n’aie pas vérifié ce point, il me semble probable qu’il utilise également quelques algorithmes de mise en page assez incontournables, définis par Donald Knuth pour TeX, par exemple pour la coupure des lignes d’un paragraphe.

Il s’écarte évidemment de LaTeX sur plusieurs aspects, sinon ce ne serait pas vraiment un nouveau système de composition :

  • c’est un système autonome, contrairement à LaTeX qui est construit sur TeX ;
  • il est conçu dès le départ avec des préoccupations actuelles (Unicode, PDF…) ;
  • il est conçu comme un langage humainement compréhensible, là où TeX semble franchement ésotérique.

Impressions d’un LaTeXnicien

Quand on arrive de LaTeX, l’impression est assez partagée, entre des différences significatives, de gros avantages et quelques inconvénients.

Le langage de texte

Le langage de base pour le texte est différent de LaTeX, mais ce n’est pas vraiment dérangeant dans la mesure où on parle seulement de paragraphes, de titres, de mise en emphase, de listes, etc. Bref, le genre de chose qu’on fait aussi bien en Markdown. D’ailleurs, Typst étant né après le développement des langages de balisage léger, sa syntaxe Typst est justement assez proche de Markdown, ce qui n’est pas désagréable :

= Titre de section

Voici du texte avec _une emphase_, *une emphase forte* et un `peu de code`.

À noter que cette syntaxe légère n’est en fait que du sucre syntaxique, et qu’on peut écrire la même chose en faisant explicitement appel à des fonctions nommées.

La compilation

Pour celles et ceux qui n’ont pas l’habitude de LaTeX, compiler un document un peu costaud, qui fait appel à quelques extensions, ça demande un temps de l’ordre d’une ou plusieurs secondes, et cela produit des centaines, voire des milliers de lignes de log. Pour avoir des références internes (sommaire, références à des images…) et externes (bibliographie), il faut lancer plusieurs fois la compilation.

Pour qui vient du monde LaTeX donc, la compilation par Typst est hallucinante. Une seule passe, même si en interne, Typst fait certainement au besoin plusieurs itérations. Quelques dizaines de millisecondes. Ok, c’était pour un document ultra-simple, mais les commentaires lisibles sur les Interwebz font généralement état d’un rapport d’un ou deux ordres de grandeur par rapport à LaTeX.

Le langage de configuration et d’extension

Là où ça change vraiment, c’est pour tout ce qui relève des réglages, des modèles, de la personnalisation ou de la programmation d’extensions. Là, ça n’a plus rien à voir avec TeX et LaTeX. À mon avis, ce n’est pas un mal dans la mesure où le langage TeX et les conventions utilisées pour le développement en LaTeX sont assez complexes, voire incompréhensibles.

Cela se ressent dans le code des extensions. À titre de comparaison, celui de la classe LaTeX lettre fait quelques milliers de lignes. Et c’est assez illisible pour qui ne connaît par TeX. Le code du modèle formalettre, qui n’est certes pas aussi complet mais qui fait très bien le travail de base d’une telle classe, fait une centaine de lignes, que je trouve relativement lisibles pour un béotien.

L’utilisation de paquets tiers

Les paquets tiers, hébergés sur l’univers Typst, sont téléchargés à l’utilisation. Par rapport à une distribution LaTeX qui pèse facilement plusieurs centaines de mébioctets, ça donne une vraie impression de légèreté.

La francisation

L’adaptation aux conventions en usage en langue française, ou dans les différents pays francophones, me semble encore assez incomplète.

Lorsqu’on passe un document en français, les changements de base s’effectuent bien : un sommaire s’appellera bien « Tables des matières » et les césures respecteront l’usage de la langue.

En revanche, cela n’adapte pas la mise en forme des paragraphes avec alinéa, et on attendrait en vain que des mots comme 1ᵉʳ, 2ᵉ ou Mme soient automatiquement mis en forme selon l’usage attendu. Et non, il n’y a pas de commandes définies pour cela. Pas encore, en tout cas, parce que je serais surpris que personne ne publie un jour un paquet proposant tout cela.

Les modèles

L’équivalent d’une classe LaTeX est un modèle Typst. Cela correspond à un type de document, par exemple un article, un rapport ou une lettre.

Typst ne semble pas proposer de modèles officiels. Il y en a en revanche par mal dans l’univers Typst, et le langage est conçu pour rendre la création d’un modèle assez accessible. Le troisième chapitre du tutoriel officiel traite justement de la création d’un modèle.

Un bel avenir ?

Typst a été conçu à partir de 2019 et a vraiment vu le jour en 2023. J’en ai entendu parler pour la première fois en mars 2023, dans le journal de qpad.

Les lacunes que j’avais alors remarquées et qui me retenaient de commencer à l’utiliser pour mes propres documents, semblent avoir été comblées pour l’essentiel. L’univers Typst, qui est le dépôt de paquets tiers, s’est largement rempli et semble bien jouer son rôle pour permettre aux utilisateurs de partager les extensions et modèles.

Le langage semble bien conçu :

  • il joue correctement son rôle pour la mise en forme de documents et de contenu scientifique ;
  • il est beaucoup plus humain que TeX et LaTeX lorsqu’il s’agit d’écrire des modèles et des extensions.

L’écosystème est également bien conçu et bien fourni et semble bien répondre aux attentes de la communauté, avec une légèreté bienvenue. Dans l’ensemble, j’ai l’impression que Typst est bien parti pour proposer un successeur sérieux à LaTeX. Je formule tout de même quelques interrogations :

  • la distribution de paquets tiers, incontournable, semble intégralement centralisée et dépendante de l’univers Typst ;
  • ce dernier, ainsi que Typst en général, est maintenu par l’entreprise allemande Typst GmbH dont le financement dépend de la vente d’abonnements aux formules premium de l’application Web : espérons que cela s’avère pérenne.

Commentaires : voir le flux Atom ouvrir dans le navigateur

❌