diff --git a/ecrire/inc/filtres_images_lib_mini.php b/ecrire/inc/filtres_images_lib_mini.php
index ba4536affde999e22f3a58c30738b2238c648daf..7dea39bdaad1ed535bdd5532d838c23d57af1229 100644
--- a/ecrire/inc/filtres_images_lib_mini.php
+++ b/ecrire/inc/filtres_images_lib_mini.php
@@ -532,7 +532,7 @@ function _image_creer_vignette($valeurs, $maxWidth, $maxHeight, $process='AUTO',
 		// imagemagick en ligne de commande
 		else if ($process == 'convert') {
 			define('_CONVERT_COMMAND', 'convert');
-			define ('_RESIZE_COMMAND', _CONVERT_COMMAND.' -quality 85 -resize %xx%y! %src %dest');
+			define ('_RESIZE_COMMAND', _CONVERT_COMMAND.' -quality '._IMG_CONVERT_QUALITE.' -resize %xx%y! %src %dest');
 			$vignette = $destination.".".$format_sortie;
 			$commande = str_replace(
 				array('%x', '%y', '%src', '%dest'),
@@ -555,7 +555,7 @@ function _image_creer_vignette($valeurs, $maxWidth, $maxHeight, $process='AUTO',
 		if ($process == 'imagick') {
 			$vignette = "$destination.".$format_sortie;
 			$handle = imagick_readimage($image);
-			imagick_resize($handle, $destWidth, $destHeight, IMAGICK_FILTER_LANCZOS, 0.75);
+			imagick_resize($handle, $destWidth, $destHeight, IMAGICK_FILTER_LANCZOS, _IMG_IMAGICK_QUALITE / 100);
 			imagick_write($handle, $vignette);
 			if (!@file_exists($vignette)) {
 				spip_log("echec imagick sur $vignette");
@@ -936,4 +936,4 @@ class phpthumb_functions {
 
 }
 
-?>
\ No newline at end of file
+?>
diff --git a/ecrire/inc/utils.php b/ecrire/inc/utils.php
index 61c36e2f273b01476fa6d386d5e3bc6079b1eac0..ab5716e31f092d37b07e7a940998ef69f62f27c5 100644
--- a/ecrire/inc/utils.php
+++ b/ecrire/inc/utils.php
@@ -1409,6 +1409,13 @@ function spip_initialisation_suite() {
 	define('_IMG_MAX_WIDTH', 0); # largeur en pixels
 	define('_IMG_MAX_HEIGHT', 0); # hauteur en pixels
 
+	// Qualite des images calculees automatiquement. C'est un nombre entre 0 et 100, meme pour imagick (on ramene a 0..1 par la suite)
+        if (!defined('_IMG_QUALITE')) define('_IMG_QUALITE', 85); # valeur par defaut
+        if (!defined('_IMG_GD_QUALITE')) define('_IMG_GD_QUALITE', _IMG_QUALITE); # surcharge pour la lib GD
+        if (!defined('_IMG_CONVERT_QUALITE')) define('_IMG_CONVERT_QUALITE', _IMG_QUALITE); # surcharge pour imagick en ligne de commande
+	// Historiquement la valeur pour imagick semble differente. Si ca n'est pas necessaire, il serait preferable de garder _IMG_QUALITE
+        if (!defined('_IMG_IMAGICK_QUALITE')) define('_IMG_IMAGICK_QUALITE', 75); # surcharge pour imagick en PHP
+
 	define('_COPIE_LOCALE_MAX_SIZE',16777216); // poids en octet
 
 	// qq chaines standard
@@ -1476,7 +1483,6 @@ function spip_initialisation_suite() {
 	# au dela de 5500000 on considere que php n'est pas limite en memoire pour cette operation
 	# les configurations limitees en memoire ont un seuil plutot vers 1MPixel
 	define('_IMG_GD_MAX_PIXELS', (isset($GLOBALS['meta']['max_taille_vignettes'])&&$GLOBALS['meta']['max_taille_vignettes']<5500000)?$GLOBALS['meta']['max_taille_vignettes']:0);
-	define('_IMG_GD_QUALITE', 85);
 
 	@define('_MEMORY_LIMIT_MIN',10); // en Mo
 	// si on est dans l'espace prive et si le besoin est superieur a 8Mo (qui est vraiment le standard)