Édition de documents de bureautique avec Collabora ou OnlyOffice (via WOPI)

Commencer par installer et configurer Collabora ou OnlyOffice, en suivant les instructions fournies avec le logiciel.

Ne pas oublier d'ajouter le nom de domaine (ou sous-domaine) de Paheko dans la configuration de Collabora pour que Paheko soit autorisé à appeler Collabora.

Pour activer l'édition de documents bureautiques, penser à inscrire l'adresse de découverte WOPI dans la constante WOPI_DISCOVERY_URL dans config.local.php :

const WOPI_DISCOVERY_URL = 'https://collabora.example.org/hosting/discovery';

Il est également possible d'utiliser Collabora ou OnlyOffice pour la conversion de documents et la génération d'images miniatures, voir Génération des miniatures pour les détails.

Différences entre Collabora et OnlyOffice

Collabora charge le document sur le serveur, et transmet des carrés de la page en cours d'édition au navigateur, un peu comme du partage d'écran dans une visioconférence. OnlyOffice charge le document dans le navigateur directement.

Cela veut dire qu'un document de 100 Mo sera déjà téléchargé par le navigateur dans OnlyOffice (donc c'est long), mais que ça ne prendra que quelques centaines de kilo-octets dans Collabora. Par contre Collabora prendra plus de ressources sur le serveur.

  • Collabora est basé sur LibreOffice, logiciel libre auquel les développeurs de Collabora contribuent. OnlyOffice ne contribue pas au logiciel libre.
  • OnlyOffice est détenu par une entreprise Russe, cachée derrière une entreprise Lettone, et son achat est donc interdit en Europe au titre des sanctions prises contre la Russie (Source 2)
  • Collabora est basé au Royaume-Uni et Canada
  • L'édition sur mobile/tablette n'est disponible que sur l'édition payante de OnlyOffice, pas de limitation de ce genre sur Collabora
  • L'édition est limitée à 20 utilisateurs sur la version gratuite de OnlyOffice, pas de limite sur Collabora
  • Collabora travaille en collaboration avec des bénévoles de la communauté open source, OnlyOffice n'accepte pas de contributions externes
  • OnlyOffice dispose d'une architecture beaucoup complexe (nécessite des serveurs RabbitMQ, PostgreSQL, Redis, etc.), Collabora n'a pas de telle dépendance

Plus de détails : comparaison détaillée entre OnlyOffice et Collabora

Nous conseillons donc Collabora, car ils contribuent au logiciel libre.

Installation de OnlyOffice sur Docker

Indiqué ici comme notes perso, car il s'est révélé assez difficile de faire fonctionner OnlyOffice par défaut.

docker pull onlyoffice/documentserver # 3,6 GB!!
docker run -i -t -d -p 8083:8083 --restart=always -e JWT_SECRET=abcd -e WOPI_ENABLED=true onlyoffice/documentserver

Ensuite, ça ne marche pas car le paquet OnlyOffice Docker est tout pété. Récupérer l'ID du container, et lancer :

docker exec -it XXXX bash
nano /etc/nginx/conf.d/ds.conf

Remplacer le port 80 par le port 8083. Sauvegarder et :

service nginx restart
nano /etc/hosts

Et ajouter la ligne suivante :

IP_MACHINE_PARENTE dev.paheko.localhost

Ça devrait ensuite fonctionner. Cette seconde modif permet au serveur WOPI de fonctionner en local.