diff --git a/ecrire/inc/getdocument.php b/ecrire/inc/getdocument.php
index 016c9351af941ba45382774285caff28632b7327..d5b0af1f4396e3726f10ec12e816aca3e9dd05c7 100644
--- a/ecrire/inc/getdocument.php
+++ b/ecrire/inc/getdocument.php
@@ -288,6 +288,46 @@ function ajouter_un_document ($source, $nom_envoye, $type_lien, $id_lien, $mode,
 		$hauteur = intval($size_image[1]);
 		$type_image = decoder_type_image($size_image[2]);
 
+		$poids = filesize($fichier);
+		if (!$type_image) {
+			if (_DOC_MAX_SIZE > 0
+			AND $poids > _DOC_MAX_SIZE*1024) {
+				@unlink ($fichier);
+				check_upload_error(6,
+				_T('info_logo_max_poids',
+					array('maxi' => taille_en_octets(_DOC_MAX_SIZE*1024),
+					'actuel' => taille_en_octets($poids))));
+			}
+		}
+		else {
+			if (_IMG_MAX_SIZE > 0
+			AND $poids > _IMG_MAX_SIZE*1024) {
+				@unlink ($fichier);
+				check_upload_error(6,
+				_T('info_logo_max_poids',
+					array('maxi' => taille_en_octets(_IMG_MAX_SIZE*1024),
+					'actuel' => taille_en_octets($poids))));
+			}
+	
+			if (_IMG_MAX_WIDTH * _IMG_MAX_HEIGHT
+			AND ($size_image[0] > _IMG_MAX_WIDTH
+			OR $size_image[1] > _IMG_MAX_HEIGHT)) {
+				@unlink ($fichier);
+				check_upload_error(6, 
+				_T('info_logo_max_taille',
+					array(
+					'maxi' =>
+						_T('info_largeur_vignette',
+							array('largeur_vignette' => _IMG_MAX_WIDTH,
+							'hauteur_vignette' => _IMG_MAX_HEIGHT)),
+					'actuel' =>
+						_T('info_largeur_vignette',
+							array('largeur_vignette' => $size_image[0],
+							'hauteur_vignette' => $size_image[1]))
+				)));
+			}
+		}
+
 		// Si on veut uploader une vignette, il faut qu'elle ait ete bien lue
 		if ($mode == 'vignette' AND !($largeur * $hauteur)) {
 			@unlink($fichier);
diff --git a/ecrire/inc/utils.php b/ecrire/inc/utils.php
index 1530b2d7bbea276d9ce12fbc3ba2db2f492eb63d..dad75a741494d99d8428e1e34f2a57168651dbbb 100644
--- a/ecrire/inc/utils.php
+++ b/ecrire/inc/utils.php
@@ -876,6 +876,12 @@ function spip_initialisation() {
 	define('_LOGO_MAX_SIZE', 0); # poids en ko
 	define('_LOGO_MAX_WIDTH', 0); # largeur en pixels
 	define('_LOGO_MAX_HEIGHT', 0); # hauteur en pixels
+	
+	define('_DOC_MAX_SIZE', 0); # poids en ko
+
+	define('_IMG_MAX_SIZE', 0); # poids en ko
+	define('_IMG_MAX_WIDTH', 0); # largeur en pixels
+	define('_IMG_MAX_HEIGHT', 0); # hauteur en pixels
 
 	// Le fichier de connexion a la base de donnees
 	define('_FILE_CONNECT_INS', (_DIR_RESTREINT . "inc_connect"));