Projet

Général

Profil

Fonctionnalité #13897

[Conversion] Pouvoir choisir entre ImageMagick et GraphicsMagick

Ajouté par Laurent GIOVANNONI il y a presque 4 ans. Mis à jour il y a presque 3 ans.

Statut:
R&D - Terminé
Priorité:
0-Bloquant
Assigné à:
Version cible:
Début:
12/05/2020
Echéance:
Tags Parapheur:
20.03.2

Description

Dans le cadre du SaaS courrier, j'ai pu constater qu'il y a une incompatibilité de Maarch Parapheur avec ImageMagick dans un environnement centos 8.

Pour rappel, centos 8 est la distribution choisit par Xelians pour le SaaS car elle dispose d'une environnement plus professionnel que Debian.

Le problème entre ImageMagick (version 6 et version 7) avec Maarch Parapheur sur centos 8 est la commande suivante :

convert -density 500x500 -quality 100 -background white -alpha remove '/opt/maarch/data/docservers/demo/MaarchParapheur/documents/2020/05/0001/0012_1897789596.pdf'[0] '/tmp/13626008450012_1897789596.png'

Au delà du fait que la conversion échoue, l'argument -density fait planter ImageMagick via un coredump et fait monter l'activité du processus jusqu'à ralentir fortement l'environnement.

Il est à noter qu'à contrario, la création d'imagette dans Maarch Courrier via l'argument -thumbnails fonctionne correctement.

Pour résoudre ce bug, il faut utiliser le fork d'ImageMagick, à savoir GraphicsMagick.

Son fonctionnement est légèrement différent, en comparaison, voici la commande à exécuter :

gm convert -density 500x500 -quality 100 -background white +matte '/opt/maarch/data/docservers/demo/MaarchParapheur/documents/2020/05/0001/0012_1897789596.pdf'[0] '/tmp/13626008450012_1897789596.png'

L'application de la transparance y est notamment différente.

Il faudrait pouvoir choisir dans MaarchParapheur via un param technique, xml ? tables parameters ? le programme à exécuter, ex :

src/app/convert/controllers/ConvertThumbnailController.php

if ($ImageMagick) {
    $command = "convert -density 500x500 -quality 100 -background white -alpha remove "
             . escapeshellarg($pathToDocument) . "[{$convertPage}] " . escapeshellarg("{$tmpPath}{$fileNameOnTmp}.png");
} elseif{$GraphicsMagick) {
    $command = "gm convert -density 500x500 -quality 100 -background white +matte "
             . escapeshellarg($pathToDocument) . "[{$convertPage}] " . escapeshellarg("{$tmpPath}{$fileNameOnTmp}.png");
}

Ce patch doit être appliqué à partir de la 20.03 pour que le SaaS Courrier puisse déployer du Maarch Parapheur.
Il faut également mentionner dans les prérequis et l'installation la nécessité de Graphics Magick sur Centos.

Autre point à noter, sur centos 8, il faut recommander php 7.3 uniquement car les images PNG sont mal gérées en 7.2 et en php 7.4 la librairie payante de fpdf n'est pas encore supportée.


Demandes liées

Lié à Backlog Parapheur - Anomalie #14056: [CENTOS] Erreur de conversion ImageMagickR&D - Terminé2020-05-28
Lié à Backlog Courrier - Anomalie #16443: [SaaS Courrier RedHat] version de glibc2.29 requise par les outils de conversion non disponibleClôturé2021-03-01

Historique

#1 Mis à jour par Emmanuel DILLARD il y a presque 4 ans

  • Statut changé de A traiter à R&D - A planifier

#2 Mis à jour par Emmanuel DILLARD il y a presque 4 ans

  • Projet changé de Backlog à CURRENT SPRINT
  • Statut changé de R&D - A planifier à R&D - En cours
  • Version cible changé de Parapheur 20.03 à Parapheur 21.03 (Stable)
  • Tags Parapheur 20.03.2 ajouté

#3 Mis à jour par Florian AZIZIAN il y a presque 4 ans

  • Assigné à EDI PO supprimé

#4 Mis à jour par Alex ORLUC il y a presque 4 ans

  • Assigné à mis à Alex ORLUC

#5 Mis à jour par Alex ORLUC il y a presque 4 ans

  • Statut changé de R&D - En cours à R&D - Terminé

#6 Mis à jour par Emmanuel DILLARD il y a presque 4 ans

  • Projet changé de CURRENT SPRINT à Backlog

#7 Mis à jour par Emmanuel DILLARD il y a presque 4 ans

  • Lié à Anomalie #14056: [CENTOS] Erreur de conversion ImageMagick ajouté

#10 Mis à jour par Florian AZIZIAN il y a environ 3 ans

  • Lié à Anomalie #16443: [SaaS Courrier RedHat] version de glibc2.29 requise par les outils de conversion non disponible ajouté

#11 Mis à jour par Emmanuel DILLARD il y a presque 3 ans

  • Projet changé de Backlog à Backlog Parapheur
  • Version cible changé de Parapheur 21.03 (Stable) à 21.03

Formats disponibles : Atom PDF