PROJET AUTOBLOG


Planet-Libre

source: Planet-Libre

⇐ retour index

Simon Vieille : Cohabitation de Collabora Online et OnlyOffice sur Nextcloud

mardi 20 octobre 2020 à 11:58

J'utilise énormément mon instance Nextcloud et dans certaines situations, j'ai besoin d'éditer soit des fichiers Open Document Format (format natif de LibreOffice) ou soit des fichiers Open XML (format natif de la suite office de Microsoft).

L'an passé, j'utilisais exclusivement OnlyOffice via son connecteur Nextcloud et une instance installée sur un serveur dédié. Puis, lors d'un déboire au sujet de l'édition depuis un terminal mobile, j'ai décidé de migrer vers Collabora Online via son connecteur Nextcloud et une instance installée sur un serveur (presque) dédié.

Le problème est que si Collabora Online sait très bien traiter les fichiers ODF, il galère un peu plus avec les fichiers Open XML. Aussi, force est de constater que OnlyOffice reste très performant pour jouer avec Open XML. J'ai donc décidé de les installer ensemble. Collabora Online est donc l'éditeur ouvert pour les documents ODF tandis que OnlyOffice le sera pour les fichiers Open XML.

Collabora Online et OnlyOffice

Afin de les discerner dans le menu pour créer un nouveau document, j'ai développé un bout de javascript que vous pouvez injecter via JSLoader. Je pense d'ailleurs que cela sera une bonne idée de forker cette application afin d'en reprendre la maintenance.

Cohabitation de Collabora Online et OnlyOffice sur Nextcloud

Alors ce n'est sans doute pas le code le plus élégant mais il fonctionne bien.

try {
    setInterval(function() {
        var elements = {
            'docx': 'onlyofficeDocx',
            'xlsx': 'onlyofficeXlsx',
            'pptx': 'onlyofficePpts',
        };

        for (var i in elements) {
            var selector = 'a.menuitem[data-action="' + elements[i] + '"] .displayname';
            var span = document.querySelector(selector);

            if (!span) {
                return;
            }

            if (span.innerHTML.indexOf(i) !== -1) {
                continue;
            }

            span.innerHTML = (i !== 'docx' ? 'Nouvelle ' : 'Nouveau ') + span.innerHTML.toLowerCase() + ' (' + i + ')';
        }

        elements = {
            'odt': 'add-odt',
            'ods': 'add-ods',
            'odp': 'add-odp',
        };

        for (var i in elements) {
            var selector = 'a.menuitem[data-action="' + elements[i] + '"] .displayname';
            var span = document.querySelector(selector);

            if (!span) {
                return;
            }

            if (span.innerHTML.indexOf(i) !== -1) {
                continue;
            }

            span.innerHTML = span.innerHTML + ' (' + i + ')';
        }
    }, 100);
} catch (e) {

}

Gravatar de Simon Vieille
Original post of Simon Vieille.Votez pour ce billet sur Planet Libre.

Journal du hacker : Liens intéressants Journal du hacker semaine #42

lundi 19 octobre 2020 à 00:01

Pour la 42ème semaine de l'année 2020, voici 10 liens intéressants que vous avez peut-être ratés, relayés par le Journal du hacker, votre source d’informations pour le Logiciel Libre francophone !

Pour ne plus rater aucun article de la communauté francophone, voici :

De plus le site web du Journal du hacker est « adaptatif (responsive) ». N’hésitez pas à le consulter depuis votre smartphone ou votre tablette !

Le Journal du hacker fonctionne de manière collaborative, grâce à la participation de ses membres. Rejoignez-nous pour proposer vos contenus à partager avec la communauté du Logiciel Libre francophone et faire connaître vos projets !

Et vous ? Qu’avez-vous pensé de ces articles ? N’hésitez pas à réagir directement dans les commentaires de l’article sur le Journal du hacker :)

Gravatar de Journal du hacker
Original post of Journal du hacker.Votez pour ce billet sur Planet Libre.

Articles similaires

Petit Pouyo : Ma liste de plugins PluXml 2020

dimanche 18 octobre 2020 à 12:48

Salut à toi qui est en quête de savoir à propos du CMS PluXml, tu te retrouve sûrement ici parce que tu es à la recherche de plugins, ça tombe bien ici tu trouvera une floppée de greffons que j'utilise ou que j'ai utiliser, j'espère ainsi pouvoir t'aider à t-y retrouver.


Note importante: ces plugins (greffons) ont été utiliser ou tester en 2020 donc tout roule ma poule ;-)

Pour en savoir plus rendez-vous ici -> Mes Plugins PluXml 2020

Gravatar de Petit Pouyo
Original post of Petit Pouyo.Votez pour ce billet sur Planet Libre.

Petit Pouyo : Liste de plugins PluXml 2020

dimanche 18 octobre 2020 à 12:48

Salut à toi qui est en quête de savoir à propos du CMS PluXml, tu te retrouve sûrement ici parce que tu es à la recherche de plugins, ça tombe bien ici tu trouvera une floppée de greffons que j'utilise ou que j'ai utiliser, j'espère ainsi pouvoir t'aider à t-y retrouver.


Note importante: ces plugins (greffons) ont été utiliser ou tester en 2020 donc tout roule ma poule ;-)

Pour en savoir plus rendez-vous ici -> Mes Plugins PluXml 2020

Gravatar de Petit Pouyo
Original post of Petit Pouyo.Votez pour ce billet sur Planet Libre.

blog-libre : creation time sur ext4

dimanche 18 octobre 2020 à 08:00

Pour avoir la date de création d’un fichier sur ext4 avec la commande stat, il vous faut 3 ingrédients :

Par un miracle miraculeux à croire que j’ai tout prévu, coreutils 8.32 est arrivé le 02/10 sur Debian Testing et sera disponible sur Ubuntu 20.10 lors de sa sortie prévue le 22/10.

atime, mtime, ctime, crtime

Commençons par un petit rappel des dates d’un fichier sur Linux qu’on affiche en général avec stat.

Date du dernier accès (access time – atime) : Quand le fichier est consulté
Date de dernière modification (modification time – mtime) : Quand le contenu du fichier est modifié
Date du dernier changement (change time – ctime) : Quand les attributs (permissions, propriétaire…) ou le contenu du fichier sont modifiés
Date de création (creation time – crtime pour ext4) : Quand le fichier est créé

Ce sujet étant complexe, je vous renvoie vers ces saines lectures (1, 2, 3).

En pratique

On identifie les partitions en ext4 mount -t ext4 (ou mount | grep ext4) et on vérifie les options de montage, notamment pour noatime (ne pas mettre à jour la date d’accès). L’option relatime est utilisée par défaut dans le kernel depuis la version 2.6.30 (man mount puis /relatime).

sudo touch /toto
stat /toto
  Fichier : /toto
   Taille : 0           Blocs : 0          Blocs d'E/S : 4096   fichier vide
Périphérique : 10305h/66309d  Inœud : 8571        Liens : 1
Accès : (0644/-rw-r--r--)  UID : (    0/    root)   GID : (    0/    root)
 Accès : 2020-10-15 17:02:49.212202834 +0200
Modif. : 2020-10-15 17:02:49.212202834 +0200
Changt : 2020-10-15 17:02:49.212202834 +0200
  Créé : 2020-10-15 17:02:49.212202834 +0200

cat /toto
stat /toto
  Fichier : /toto
   Taille : 0           Blocs : 0          Blocs d'E/S : 4096   fichier vide
Périphérique : 10305h/66309d  Inœud : 8571        Liens : 1
Accès : (0644/-rw-r--r--)  UID : (    0/    root)   GID : (    0/    root)
 Accès : 2020-10-15 17:03:26.660363346 +0200
Modif. : 2020-10-15 17:02:49.212202834 +0200
Changt : 2020-10-15 17:02:49.212202834 +0200
  Créé : 2020-10-15 17:02:49.212202834 +0200

sudo nano /toto # Faites une modification et enregistrez
stat /toto
  Fichier : /toto
   Taille : 2           Blocs : 8          Blocs d'E/S : 4096   fichier
Périphérique : 10305h/66309d  Inœud : 8571        Liens : 1
Accès : (0644/-rw-r--r--)  UID : (    0/    root)   GID : (    0/    root)
 Accès : 2020-10-15 17:03:26.660363346 +0200
Modif. : 2020-10-15 17:04:31.244640195 +0200
Changt : 2020-10-15 17:04:31.244640195 +0200
  Créé : 2020-10-15 17:02:49.212202834 +0200

sudo chmod 777 /toto
stat /toto
  Fichier : /toto
   Taille : 2           Blocs : 8          Blocs d'E/S : 4096   fichier
Périphérique : 10305h/66309d  Inœud : 8571        Liens : 1
Accès : (0777/-rwxrwxrwx)  UID : (    0/    root)   GID : (    0/    root)
 Accès : 2020-10-15 17:03:26.660363346 +0200
Modif. : 2020-10-15 17:04:31.244640195 +0200
Changt : 2020-10-15 17:05:10.028806446 +0200
  Créé : 2020-10-15 17:02:49.212202834 +0200

LANG=en_US.UTF-8 stat /toto
  File: /toto
  Size: 2         	Blocks: 8          IO Block: 4096   regular file
Device: 10305h/66309d	Inode: 8571          Links: 1
Access: (0777/-rwxrwxrwx)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2020-10-15 17:03:26.660363346 +0200
Modify: 2020-10-15 17:04:31.244640195 +0200
Change: 2020-10-15 17:05:10.028806446 +0200
 Birth: 2020-10-15 17:02:49.212202834 +0200

stat -c '%w' /toto
2020-10-15 17:02:49.212202834 +0200

ls -l --time=birth /toto # ou --time=creation
-rwxrwxrwx 1 root root 7 15 oct.  17:02 /toto

Quelques réflexions

Notez bien que la date de création d’un fichier sur ext4 est disponible depuis des années sur Linux (article de 2012) mais il fallait utiliser debugfs pour la récupérer… On a « seulement » accès à cette date facilement en 2020 sur Debian/Ubuntu avec les commandes ls et stat du paquet coreutils. coreutils 8.31 est sorti en mars 2019 (« stat now prints file creation time »), coreutils 8.32 en mars 2020 (« ls now supports the –time=birth option to display and sort by file creation time »).

L’évolution est intéressante à vivre et à suivre je trouve. Il y a eu une première phase « implémentation », ça fonctionne, on peut récupérer l’info avec debugfs. Nous sommes à la seconde phase « utilisable », on récupère l’information simplement, à hauteur de l’utilisateur. Ensuite viendra la phase « intégration », on sera en mesure de chercher/trouver les fichiers avec telle date de création typiquement avec find. Enfin la dernière phase « diffusion et prise en charge », tous les logiciels en ayant l’usage prendront en charge la date de création. Par exemple les gestionnaires de fichiers Caja et Thunar qui permettront de trier les fichiers par date de création. Je suis curieux de voir si on aura cela dans les 5 ans.

Tout ça pour vous dire que vous êtes à la pointe en me lisant, vous allez pouvoir briller dans les soirées mondaines (sur IRC évidemment).

Gravatar de blog-libre
Original post of blog-libre.Votez pour ce billet sur Planet Libre.