↩ Accueil

Vue lecture

WoPiX, un serveur WOPI libre, indépendant, simple et léger

Un serveur WOPI (Web application Open Platform Interface) permet à un logiciel client de modifier un fichier stocké sur un serveur. C'est la couche indispensable pour qu'OnlyOffice, LibreOffice (Collabora Online) et d'autres suites bureautiques puissent être utilisés sur le web. Ainsi, lorsque vous réclamez l'ouverture d'un document depuis votre navigateur web, vous vous connectez à la suite bureautique en ligne avec une URL particulière, contenant, entre autres, le nom du fichier à ouvrir. La suite bureautique peut alors discuter avec le serveur WOPI pour récupérer le document. Les lectures, écritures et modifications d'un document sont gérées par le serveur WOPI, à la demande de la suite bureautique. Le protocole a été créé par Microsoft en 2012, la révision 14.5 de WOPI est sortie le 18 février 2025.

Les serveurs WOPI libres de Nextcloud, Seafile, Tracim… ne sont pas indépendants. Comme je voulais utiliser Collabora Online sans déployer un NextCloud complet, j'ai écrit un serveur WOPI très simple. Il est utilisé depuis plus d'un an sans problème et il est libre. Il est écrit en Java.

J'ai commencé ce développement car je travaille sur deux lieux privés différents avec un ordinateur à chaque endroit, un NAS dans l'un d'eux et je communique entre les deux machines à l'aide d'un dépôt git sur le NAS. Ça fonctionne relativement bien pour des fichiers qui n'ont pas vocation à rester ouverts dans des applications, mais pour des fichiers ODS ou ODT qui restent ouverts, c'est plus compliqué car je me retrouve souvent avec des versions concurrentes sur les deux machines. J'ai donc regardé du côté des suites de collaboration en ligne.

À une époque , je me servais d'Etherpad et de son équivalent tableur Ethercalc. Mais ces logiciels manquent de fonctionnalités, surtout le tableur. Problème supplémentaire : j'ai déjà beaucoup de fichiers aux formats LibreOffice.

Ça tombe bien, il y a la suite LibreOffice online, éditée par Collabora Online (CODE). Le problème — comme souligné par une dépêche — c'est qu'une fois CODE installé, tu te retrouves à poil avec rien qui marche : il faut un serveur utilisant le protocole WOPI.

Pour éviter d'installer tout un NextCloud, j'ai écrit un petit serveur WOPI. C'est du Java avec Spring Boot. Le serveur est très simple, sur le principe que plus un système est simple, moins il a de chances de tomber en panne.

Par exemple, il n'y pas de droits d'accès et on ne peut pas avoir plusieurs utilisateurs simultanés. Il faudrait mettre en œuvre le système de verrous et le système de droits d'accès (faire reposer les droits d'accès sur les droits du système de fichier, implique d'avoir un utilisateur sur la machine pour chaque utilisateur du logiciel). Cela n'a pas été implanté parce que je suis le seul utilisateur sur ma machine. Mais ce ne serait pas long à développer.

Le serveur une fois lancé expose des services REST, accessibles par la suite bureautique, mais aussi un service https qui permet d'afficher la liste des fichiers. Cette liste de fichier est cliquable et permet de se connecter à Libre Office avec la bonne URL. C'est la raison des paramètres proxyHost et code URL de l'application : être en mesure de générer la bonne URL.

Liste des fichiers

Le code est prévu pour avoir plusieurs backends à l'aide d'une interface. Le seul mis en œuvre pour l'instant c'est un stockage sur disque local (avec auto discovery : on lui donne un répertoire et il expose tout les documents du répertoire).

Il consomme peu de ressources, la charge dépendra plus de Collabora Online ou d'OnlyOffice. Le serveur WOPI se contente de lire un fichier à l'ouverture et de l'écrire de temps en temps (comme lors des enregistrements automatiques).

Il n'est pas testé avec OnlyOffice. En principe WOPI est une norme et ça devrait fonctionner.

On peut le lancer avec java -jar. C'est du Spring Boot. On pourrait utiliser systemd. De mon côté, je l'ai mis dans un container docker qui lance la commande suivante

java -Dlogging.level.root=INFO \
     -Dlogging.level.org.wopiserver=INFO \
     -Dserver.port=8880 \
     -jar /opt/app/app.jar \
     --baseDir /mnt/docs \
     --disableTLSCheck \
     --codeURL https://172.17.0.8:9980 \
     --proxyHost 192.168.124.252

Le code de WoPiX est dispo sur github et je suis ouvert à toute requête :-)

Commentaires : voir le flux Atom ouvrir dans le navigateur

  •  

Sortie de GIMP 3.0

GIMP 3.0 est enfin sorti ! Il s’agit du résultat de 7 années de dur labeur par des développeurs, designers, artistes et autres membres bénévoles de la communauté (pour référence, GIMP 2.10 fut publié en 2018 [article en français sur LinuxFr.org] et la première version de développement pour GIMP 3.0 en 2020 [sur LinuxFr.org]). Avec GIMP 3.0 vous pourrez faire plus, mieux, plus facilement et plus rapidement !

Une semaine plus tard, la première version de correction de bug, GIMP 3.0.2, est déjà sortie pour régler quelques instabilités qui étaient passées entre les mailles de notre communauté de testeurs!

Image de démarrage de GIMP 3.0, par Sevenix (CC by-sa 4.0)
Image de démarrage de GIMP 3.0, par Sevenix (CC by-sa 4.0)

Cette dépêche ne va pas tenter de couvrir l’ensemble des changements entre la série 2.10 et la version 3. Nous nous contenterons de mettre en lumière certaines des améliorations les plus remarquables de cette sortie.

Changements majeurs

  • Besoin de revoir les réglages d’un filtre appliqué quelques heures plus tôt ? L’édition non-destructive des calques arrive dans GIMP 3.0 pour les filtres les plus courants. La prévisualisation dans la zone d’édition permet de voir les changements en temps réel. Filtre de Courbes appliqué en non-destructif sur un portrait de Sofiia dans GIMP. Photo par Sofia (CC By-SA 4.0 International) Filtre de Courbes appliqué en non-destructif sur un portrait de Sofiia dans GIMP. Photo par Sofia (CC By-SA 4.0 International)
  • Passez vos fichiers entre davantage de logiciels tiers, notamment avec la prise en charge des fichiers BC7 DDS (très utilisés dans l’industrie du jeu vidéo) de même qu’une meilleure prise en charge du format PSD, ou encore grâce aux divers nouveaux formats d’image maintenant pris en charge! Dialogue d’exportation PSD dans GIMP 3.0 avec des options pour exporter des chemins de rognage (*clipping paths*), un profil CMJN et les métadonnées Dialogue d’exportation PSD dans GIMP 3.0 avec des options pour exporter des chemins de rognage (« clipping paths »), un profil CMJN et les métadonnées
  • Vous ne savez pas la taille que fera votre dessin? Activez la nouvelle fonctionnalité pour étendre la taille de vos calques automatiquement dans les outils de peinture.
  • La personnalisation des textes est maintenant plus puissante: stylisez vos textes (avec l’effet “Styles”), appliquez des contours, ombres, et effets biseaux, et plus. Stylisez vos textes avec l’effet GEGL Styles dans GIMP Stylisez vos textes avec l’effet GEGL Styles dans GIMP
  • L’organisation de vos calques est désormais très simplifiée grâce à la capacité de sélectionner plusieurs éléments à la fois, pour les déplacer ou les transformer ensemble!
  • La gestion des couleurs continue d’être améliorée, encore et toujours, faisant ainsi de GIMP un éditeur d’image avancé pour tous. L’épreuvage à l’écran est aussi simplifié avec gestion dans la barre des tâches de GIMP 3.0 L’épreuvage à l’écran est aussi simplifié avec gestion dans la barre des tâches de GIMP 3.0
  • Mise à jour de notre plateforme d’interface graphique (GTK3) pour un usage plus moderne du bureau.
  • Nouveau logo Wilber!

Nouveau logo de GIMP, Wilber, par Aryeom (CC by-sa 4.0)
Nouveau logo de GIMP, Wilber, par Aryeom (CC by-sa 4.0)

En savoir plus

Bien sûr ce n’est qu’un mince aperçu des nouveautés de GIMP 3.0. Nous avons aussi préparé des notes de sorties (en anglais) bien plus complètes listant les changements, améliorations, nouvelles fonctionnalités et bien plus. Et si vous voulez plonger encore plus dans les détails, vous pouvez vous perdre dans les milliers de lignes de notre fichier NEWS.pre-3.0, qui liste les changements entre 2.10 et 3.0, de toutes les versions de développement (série 2.99) et des versions candidates.

Ou plus simplement, pour tester par vous-même, téléchargez GIMP 3.0 directement sur notre page de téléchargement et lancez-vous!

Autres sorties de logiciels du GIMPVerse

Pour accompagner la sortie de GIMP 3.0, les empaqueteurs doivent savoir que nous avons aussi sorti :

Nous conseillons fortement à tous les empaqueteurs de mettre aussi à jour la dernière version de GTK3: GTK 3.24.49. Celle-ci contient des corrections pour des problèmes majeurs (des plantages aux problèmes de périphériques d’entrée, en passant par les défauts d’interface graphique avec les écritures s’affichant de droite à gauche, et plus…).

L’après-GIMP 3.0 !

GIMP 3.0 est un jalon majeur dans l’histoire du logiciel. Notre projet est développé très activement, et si vous pensez que cette sortie est déjà super cool, attendez de voir ce que l’on vous prépare !

L’un des grands changements se situe dans notre politique de sortie. Alors que nous avions fait un détour temporaire dans notre système de versionnements pour accepter de nouvelles fonctionnalités lors des sorties de version micro pendant la série 2.10, nous revenons à notre système de version historique, avec seulement des corrections de bugs pour les sorties micro et de nouvelles fonctionnalités pour les sorties mineures et majeures… sauf que nous allons accélérer la sortie des versions mineures! Ainsi chaque sortie mineure aura moins de fonctionnalités, mais vous n’aurez pas à attendre 6 ou 7 ans! Nous prévoyons de sortir GIMP 3.2 d’ici un an au plus.

Ces dernières années, nous mettons aussi beaucoup plus l’accent sur le travail d’interface et l’expérience utilisateur (UX), avec la création d’un groupe de travail communautaire pour le design du logiciel. Ce projet est en constante évolution, mais il porte déjà ses fruits et améliorera beaucoup GIMP.

Enfin si quiconque souhaite un peu imaginer le futur de GIMP, vous pouvez jeter un œil à nos feuilles de route, regroupées par groupes de fonctionnalités, qui sont autant de projets sur lesquels nous prévoyons de travailler dans un futur à plus ou moins court terme. Et certains de ces projets sont déjà en cours de développement !

Soutenez le développement de GIMP !

N’oubliez pas que vous pouvez faire des donations et ainsi financer personnellement les développeurs de GIMP, ce qui permet de donner en retour au projet et d’accélérer son développement. L’engagement de la communauté aide à la stabilité et la robustesse du projet !

Commentaires : voir le flux Atom ouvrir dans le navigateur

  •  

Mercator et Meta-press.es présentés au prochain webinaire de la série "Open Source by OW2"

OW2 donnera la parole aux projets Mercator et Meta-press.es, le jeudi 3 avril 2025 à 16h00

Cet épisode est le quatrième de la série de webinaires « Open Source by OW2 », dédiée aux innovations open source, aux projets et à la communauté OW2, ainsi qu’aux opportunités de financement open source dont le programme européen NGI. Découvrez de nouveaux projets, des technologies, de l’innovation, des modèles ouverts au sens large (science/données/matériel/éducation/normes/protocoles/etc.), mais aussi des biens communs numériques, des financements, des modèles économiques, de la coopération et de l’impact social. Chaque webinaire met en avant un projet OW2 et un projet financé par NGI.

Affiche

Agenda:

16:00: Introduction par Pierre-Yves Gibello, OW2 CEO
16:05: Mercator, une application web conçue pour faciliter la cartographie des systèmes d'information, presentée par Didier Barzin, Responsable Sécurité des Systèmes d'Information du Centre Hospitalier Émile Mayrisch (Luxembourg).
16:25: Meta-press.es, une extension de Firefox pour explorer les news récentes des médias sur votre moteur de recherche, sans intervention de tracker ou d'entreprise quelconque, presenté par Simon Descarpentries, Directeur général Acoeuro.com..

L’inscription est gratuite mais obligatoire. Les présentations ont lieu en anglais. N’hésitez pas à diffuser l’invitation !

Commentaires : voir le flux Atom ouvrir dans le navigateur

  •