Project

General

Profile

Fonctionnalité #13897

[Conversion] Pouvoir choisir entre ImageMagick et GraphicsMagick

Added by Laurent GIOVANNONI over 2 years ago. Updated over 1 year ago.

Status:
Développé / Analysé (S)
Priority:
0-Bloquant
Assignee:
Target version:
Start date:
05/12/2020
Due date:
Tags Parapheur:
20.03.2
ROADMAP:

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.


Related issues

Related to Backlog Parapheur - Anomalie #14056: [CENTOS] Erreur de conversion ImageMagickDéveloppé / Analysé (S)2020-05-28
Related to Backlog Courrier - Anomalie #16443: [SaaS Courrier RedHat] version de glibc2.29 requise par les outils de conversion non disponibleClôturée2021-03-01

History

#1 Updated by Emmanuel DILLARD over 2 years ago

  • Status changed from A traiter to Prêt à embarquer

#2 Updated by Emmanuel DILLARD over 2 years ago

  • Project changed from Backlog to CURRENT SPRINT
  • Status changed from Prêt à embarquer to En cours de dev (S)
  • Target version changed from Parapheur 20.03 to Parapheur 21.03 (Stable)
  • Tags Parapheur 20.03.2 added

#3 Updated by Florian AZIZIAN over 2 years ago

  • Assignee deleted (EDI PO)

#4 Updated by Alex ORLUC over 2 years ago

  • Assignee set to Alex ORLUC

#5 Updated by Alex ORLUC over 2 years ago

  • Status changed from En cours de dev (S) to Développé / Analysé (S)

#6 Updated by Emmanuel DILLARD over 2 years ago

  • Project changed from CURRENT SPRINT to Backlog

#7 Updated by Emmanuel DILLARD over 2 years ago

  • Related to Anomalie #14056: [CENTOS] Erreur de conversion ImageMagick added

#10 Updated by Florian AZIZIAN almost 2 years ago

  • Related to Anomalie #16443: [SaaS Courrier RedHat] version de glibc2.29 requise par les outils de conversion non disponible added

#11 Updated by Emmanuel DILLARD over 1 year ago

  • Project changed from Backlog to Backlog Parapheur
  • Target version changed from Parapheur 21.03 (Stable) to 21.03 (stable)

Also available in: Atom PDF