Index: /extensions/jiwigo/trunk/src/main/java/fr/mael/jiwigo/transverse/ImagesManagement.java
===================================================================
--- /extensions/jiwigo/trunk/src/main/java/fr/mael/jiwigo/transverse/ImagesManagement.java	(revision 10696)
+++ /extensions/jiwigo/trunk/src/main/java/fr/mael/jiwigo/transverse/ImagesManagement.java	(revision 10697)
@@ -2,5 +2,4 @@
 
 import java.awt.image.BufferedImage;
-import java.io.IOException;
 import java.net.URL;
 import java.util.HashMap;
@@ -10,5 +9,5 @@
 
 import fr.mael.jiwigo.om.Image;
-import fr.mael.jiwigo.transverse.exception.ProxyAuthenticationException;
+import fr.mael.jiwigo.transverse.exception.JiwigoException;
 import fr.mael.jiwigo.transverse.util.Tools;
 import fr.mael.jiwigo.transverse.util.spring.SpringUtils;
@@ -155,7 +154,5 @@
 		listImage = SpringUtils.getImageService().listByCategory(image.getIdCategory(), true);
 		currentCategory = image.getIdCategory();
-	    } catch (IOException e) {
-		LOG.error(Tools.getStackTrace(e));
-	    } catch (ProxyAuthenticationException e) {
+	    } catch (JiwigoException e) {
 		LOG.error(Tools.getStackTrace(e));
 	    }
Index: /extensions/jiwigo/trunk/src/main/java/fr/mael/jiwigo/ui/ConnexionDialog.java
===================================================================
--- /extensions/jiwigo/trunk/src/main/java/fr/mael/jiwigo/ui/ConnexionDialog.java	(revision 10696)
+++ /extensions/jiwigo/trunk/src/main/java/fr/mael/jiwigo/ui/ConnexionDialog.java	(revision 10697)
@@ -33,4 +33,6 @@
 import fr.mael.jiwigo.Main;
 import fr.mael.jiwigo.transverse.enumeration.PreferencesEnum;
+import fr.mael.jiwigo.transverse.exception.JiwigoException;
+import fr.mael.jiwigo.transverse.exception.ProxyAuthenticationException;
 import fr.mael.jiwigo.transverse.session.SessionManager;
 import fr.mael.jiwigo.transverse.util.Messages;
@@ -207,6 +209,6 @@
 	//if one field is empty, an error is displayed
 	if (fieldUrl.getText().equals("") || loginField.getText().equals("") || passwordField.getText().equals("")) {
-	    JOptionPane.showMessageDialog(null, Messages.getMessage("connexionDialog_emptyField"), Messages
-		    .getMessage("error"), JOptionPane.ERROR_MESSAGE);
+	    JOptionPane.showMessageDialog(null, Messages.getMessage("connexionDialog_emptyField"),
+		    Messages.getMessage("error"), JOptionPane.ERROR_MESSAGE);
 	} else {
 	    if (!fieldUrl.getText().startsWith("http://")) {
@@ -245,7 +247,7 @@
 			.getText());
 		PreferencesManagement.setValue(PreferencesEnum.PASS_PROXY.getLabel(), proxyPanel.getFieldPassword()
-			.getText());
-		PreferencesManagement.setValue(PreferencesEnum.USE_PROXY.getLabel(), String.valueOf(proxyPanel
-			.getCheckBox().isSelected()));
+			.getSelectedText());
+		PreferencesManagement.setValue(PreferencesEnum.USE_PROXY.getLabel(),
+			String.valueOf(proxyPanel.getCheckBox().isSelected()));
 	    }
 	    //... or not
@@ -261,5 +263,5 @@
 			.getText());
 		PreferencesManagement.setValue(PreferencesEnum.PASS_PROXY.getLabel(), proxyPanel.getFieldPassword()
-			.getText());
+			.getSelectedText());
 		PreferencesManagement.setValue(PreferencesEnum.USE_PROXY.getLabel(), "false");
 	    }
@@ -268,5 +270,14 @@
 			JOptionPane.ERROR_MESSAGE);
 	    } else {
-		int response = sessionManager.processLogin();
+		int response = 0;
+		try {
+		    response = sessionManager.processLogin();
+		} catch (JiwigoException e) {
+		    if (e.getCause() != null && ProxyAuthenticationException.class.equals(e.getCause().getClass())) {
+			response = 2;
+		    } else {
+			response = 1;
+		    }
+		}
 		if (response == 0) {
 		    Main.showFrame();
@@ -275,11 +286,9 @@
 		} else if (response == 1) {
 		    //if the login fails, an error is displayed
-		    if (!sessionManager.isProxyError()) {
-			JOptionPane.showMessageDialog(null, Messages.getMessage("connexionDialog_connexionError"),
-				Messages.getMessage("error"), JOptionPane.ERROR_MESSAGE);
-		    }
+		    JOptionPane.showMessageDialog(null, Messages.getMessage("connexionDialog_connexionError"),
+			    Messages.getMessage("error"), JOptionPane.ERROR_MESSAGE);
 		} else if (response == 2) {
-		    JOptionPane.showMessageDialog(null, Messages.getMessage("connexionDialog_proxyAuthError"), Messages
-			    .getMessage("error"), JOptionPane.ERROR_MESSAGE);
+		    JOptionPane.showMessageDialog(null, Messages.getMessage("connexionDialog_proxyAuthError"),
+			    Messages.getMessage("error"), JOptionPane.ERROR_MESSAGE);
 		}
 	    }
Index: /extensions/jiwigo/trunk/src/main/java/fr/mael/jiwigo/ui/comments/CommentsDialog.java
===================================================================
--- /extensions/jiwigo/trunk/src/main/java/fr/mael/jiwigo/ui/comments/CommentsDialog.java	(revision 10696)
+++ /extensions/jiwigo/trunk/src/main/java/fr/mael/jiwigo/ui/comments/CommentsDialog.java	(revision 10697)
@@ -10,5 +10,4 @@
 import java.awt.event.ActionEvent;
 import java.awt.event.ActionListener;
-import java.io.IOException;
 import java.util.List;
 
@@ -21,5 +20,4 @@
 
 import fr.mael.jiwigo.om.Comment;
-import fr.mael.jiwigo.transverse.exception.ProxyAuthenticationException;
 import fr.mael.jiwigo.transverse.util.Messages;
 import fr.mael.jiwigo.transverse.util.Tools;
@@ -135,6 +133,6 @@
 			    comment.getDate());
 		} else {
-		    panel = new CommentPanel(new Color(77, 204, 51), comment.getContent(), comment.getAuthor(), comment
-			    .getDate());
+		    panel = new CommentPanel(new Color(77, 204, 51), comment.getContent(), comment.getAuthor(),
+			    comment.getDate());
 		}
 		alternate = !alternate;
@@ -144,6 +142,6 @@
 	} catch (Exception e) {
 	    LOG.error(Tools.getStackTrace(e));
-	    JOptionPane.showMessageDialog(null, Messages.getMessage("commentListingError"), Messages
-		    .getMessage("error"), JOptionPane.ERROR_MESSAGE);
+	    JOptionPane.showMessageDialog(null, Messages.getMessage("commentListingError"),
+		    Messages.getMessage("error"), JOptionPane.ERROR_MESSAGE);
 	}
 	panelAjouterCommentaire.add(scrollPaneArea);
@@ -169,10 +167,4 @@
 		reussite = SpringUtils.getCommentService().create(text, this.imageId,
 			SpringUtils.getSessionManager().getLogin());
-	    } catch (IOException e) {
-		reussite = false;
-		LOG.error(Tools.getStackTrace(e));
-	    } catch (ProxyAuthenticationException e) {
-		reussite = false;
-		LOG.error(Tools.getStackTrace(e));
 	    } catch (Exception e) {
 		reussite = false;
@@ -182,6 +174,6 @@
 		rafraichir();
 	    } else {
-		JOptionPane.showMessageDialog(null, Messages.getMessage("addCommentError"), Messages
-			.getMessage("error"), JOptionPane.ERROR_MESSAGE);
+		JOptionPane.showMessageDialog(null, Messages.getMessage("addCommentError"),
+			Messages.getMessage("error"), JOptionPane.ERROR_MESSAGE);
 	    }
 	}
Index: /extensions/jiwigo/trunk/src/main/java/fr/mael/jiwigo/ui/mainframe/CategoriesTree.java
===================================================================
--- /extensions/jiwigo/trunk/src/main/java/fr/mael/jiwigo/ui/mainframe/CategoriesTree.java	(revision 10696)
+++ /extensions/jiwigo/trunk/src/main/java/fr/mael/jiwigo/ui/mainframe/CategoriesTree.java	(revision 10697)
@@ -24,5 +24,5 @@
 
 import fr.mael.jiwigo.om.Category;
-import fr.mael.jiwigo.transverse.exception.ProxyAuthenticationException;
+import fr.mael.jiwigo.transverse.exception.JiwigoException;
 import fr.mael.jiwigo.transverse.util.Messages;
 import fr.mael.jiwigo.transverse.util.Tools;
@@ -234,11 +234,11 @@
 			    setUpUi();
 			} else {
-			    JOptionPane.showMessageDialog(null, Messages.getMessage("categoryCreationError"), Messages
-				    .getMessage("error"), JOptionPane.ERROR_MESSAGE);
+			    JOptionPane.showMessageDialog(null, Messages.getMessage("categoryCreationError"),
+				    Messages.getMessage("error"), JOptionPane.ERROR_MESSAGE);
 
 			}
 		    } catch (HeadlessException e) {
 			LOG.error(Tools.getStackTrace(e));
-		    } catch (ProxyAuthenticationException e) {
+		    } catch (JiwigoException e) {
 			LOG.error(Tools.getStackTrace(e));
 		    } catch (Exception e) {
@@ -250,11 +250,11 @@
 			    setUpUi();
 			} else {
-			    JOptionPane.showMessageDialog(null, Messages.getMessage("categoryCreationError"), Messages
-				    .getMessage("error"), JOptionPane.ERROR_MESSAGE);
+			    JOptionPane.showMessageDialog(null, Messages.getMessage("categoryCreationError"),
+				    Messages.getMessage("error"), JOptionPane.ERROR_MESSAGE);
 
 			}
 		    } catch (HeadlessException e) {
 			LOG.error(Tools.getStackTrace(e));
-		    } catch (ProxyAuthenticationException e) {
+		    } catch (JiwigoException e) {
 			LOG.error(Tools.getStackTrace(e));
 		    } catch (Exception e) {
Index: /extensions/jiwigo/trunk/src/main/java/fr/mael/jiwigo/ui/mainframe/ThumbnailCategoryPanel.java
===================================================================
--- /extensions/jiwigo/trunk/src/main/java/fr/mael/jiwigo/ui/mainframe/ThumbnailCategoryPanel.java	(revision 10696)
+++ /extensions/jiwigo/trunk/src/main/java/fr/mael/jiwigo/ui/mainframe/ThumbnailCategoryPanel.java	(revision 10697)
@@ -5,5 +5,4 @@
 import java.awt.Graphics;
 import java.io.File;
-import java.io.IOException;
 
 import javax.swing.JOptionPane;
@@ -14,5 +13,5 @@
 import fr.mael.jiwigo.transverse.ImagesManagement;
 import fr.mael.jiwigo.transverse.enumeration.PreferencesEnum;
-import fr.mael.jiwigo.transverse.exception.ProxyAuthenticationException;
+import fr.mael.jiwigo.transverse.exception.JiwigoException;
 import fr.mael.jiwigo.transverse.util.Messages;
 import fr.mael.jiwigo.transverse.util.Tools;
@@ -107,6 +106,6 @@
 		}
 		if (imagesManagement.isSendingFiles()) {
-		    JOptionPane.showMessageDialog(null, Messages.getMessage("alreadySendingError"), Messages
-			    .getMessage("error"), JOptionPane.ERROR_MESSAGE);
+		    JOptionPane.showMessageDialog(null, Messages.getMessage("alreadySendingError"),
+			    Messages.getMessage("error"), JOptionPane.ERROR_MESSAGE);
 		} else {
 		    new Thread(new ThreadEnvoiPhoto(files)).start();
@@ -164,8 +163,6 @@
 	try {
 	    imagesManagement.setListImage(SpringUtils.getImageService().listByCategory(categoryId, false));
-	} catch (IOException e1) {
+	} catch (JiwigoException e1) {
 	    LOG.error(Tools.getStackTrace(e1));
-	} catch (ProxyAuthenticationException e) {
-	    LOG.error(Tools.getStackTrace(e));
 	}
 	for (Image image : imagesManagement.getListImage()) {
Index: /extensions/jiwigo/trunk/src/main/java/fr/mael/jiwigo/ui/mainframe/ThumbnailPanel.java
===================================================================
--- /extensions/jiwigo/trunk/src/main/java/fr/mael/jiwigo/ui/mainframe/ThumbnailPanel.java	(revision 10696)
+++ /extensions/jiwigo/trunk/src/main/java/fr/mael/jiwigo/ui/mainframe/ThumbnailPanel.java	(revision 10697)
@@ -13,5 +13,4 @@
 import java.awt.event.MouseEvent;
 import java.awt.event.MouseListener;
-import java.io.IOException;
 import java.util.List;
 
@@ -30,5 +29,5 @@
 import fr.mael.jiwigo.om.Tag;
 import fr.mael.jiwigo.transverse.ImagesManagement;
-import fr.mael.jiwigo.transverse.exception.ProxyAuthenticationException;
+import fr.mael.jiwigo.transverse.exception.JiwigoException;
 import fr.mael.jiwigo.transverse.util.Messages;
 import fr.mael.jiwigo.transverse.util.Tools;
@@ -211,7 +210,5 @@
 		dialogChoixTags.setLocationRelativeTo(null);
 		dialogChoixTags.setVisible(true);
-	    } catch (IOException e) {
-		LOG.error(Tools.getStackTrace(e));
-	    } catch (ProxyAuthenticationException e) {
+	    } catch (JiwigoException e) {
 		LOG.error(Tools.getStackTrace(e));
 	    }
@@ -224,18 +221,14 @@
 	    tagIds.deleteCharAt(tagIds.lastIndexOf(","));
 	    try {
-		try {
-		    if (!SpringUtils.getImageService().addTags(image, tagIds.toString())) {
-			JOptionPane.showMessageDialog(this, Messages.getMessage("addingTagsError"), Messages
-				.getMessage("error"), JOptionPane.ERROR_MESSAGE);
-		    } else {
-			dialogChoixTags.dispose();
-		    }
-		} catch (HeadlessException e) {
-		    LOG.error(Tools.getStackTrace(e));
-		} catch (ProxyAuthenticationException e) {
-		    LOG.error(Tools.getStackTrace(e));
+		if (!SpringUtils.getImageService().addTags(image, tagIds.toString())) {
+		    JOptionPane.showMessageDialog(this, Messages.getMessage("addingTagsError"),
+			    Messages.getMessage("error"), JOptionPane.ERROR_MESSAGE);
+		} else {
+		    dialogChoixTags.dispose();
 		}
-	    } catch (IOException e) {
-		e.printStackTrace();
+	    } catch (HeadlessException e) {
+		LOG.error(Tools.getStackTrace(e));
+	    } catch (JiwigoException e) {
+		LOG.error(Tools.getStackTrace(e));
 	    }
 
Index: /extensions/jiwigo/trunk/src/main/java/fr/mael/jiwigo/ui/search/DialogChooseCategory.java
===================================================================
--- /extensions/jiwigo/trunk/src/main/java/fr/mael/jiwigo/ui/search/DialogChooseCategory.java	(revision 10696)
+++ /extensions/jiwigo/trunk/src/main/java/fr/mael/jiwigo/ui/search/DialogChooseCategory.java	(revision 10697)
@@ -5,5 +5,4 @@
 import java.awt.event.ActionEvent;
 import java.awt.event.ActionListener;
-import java.io.IOException;
 import java.util.ArrayList;
 import java.util.List;
@@ -19,5 +18,5 @@
 import fr.mael.jiwigo.transverse.enumeration.PreferencesEnum;
 import fr.mael.jiwigo.transverse.exception.FileAlreadyExistsException;
-import fr.mael.jiwigo.transverse.exception.ProxyAuthenticationException;
+import fr.mael.jiwigo.transverse.exception.JiwigoException;
 import fr.mael.jiwigo.transverse.exception.WrongChunkSizeException;
 import fr.mael.jiwigo.transverse.util.Messages;
@@ -99,8 +98,6 @@
 	    categories = SpringUtils.getCategoryService().makeTree();
 	    createCategoriesTree();
-	} catch (IOException e) {
+	} catch (JiwigoException e) {
 	    e.printStackTrace();
-	} catch (ProxyAuthenticationException e) {
-	    LOG.error(Tools.getStackTrace(e));
 	}
 
@@ -179,6 +176,6 @@
 			    widthOriginal, heightOriginal, chunkSize, ImagesManagement.getInstance().getPrivacyLevel());
 		} catch (WrongChunkSizeException ex) {
-		    JOptionPane.showMessageDialog(null, Messages.getMessage("wrongChunkSizeError"), Messages
-			    .getMessage("error"), JOptionPane.ERROR_MESSAGE);
+		    JOptionPane.showMessageDialog(null, Messages.getMessage("wrongChunkSizeError"),
+			    Messages.getMessage("error"), JOptionPane.ERROR_MESSAGE);
 		    LOG.error(Tools.getStackTrace(ex));
 		    break;
Index: /extensions/jiwigo/trunk/src/test/java/fr/mael/jiwigo/TestBase.java
===================================================================
--- /extensions/jiwigo/trunk/src/test/java/fr/mael/jiwigo/TestBase.java	(revision 10696)
+++ /extensions/jiwigo/trunk/src/test/java/fr/mael/jiwigo/TestBase.java	(revision 10697)
@@ -5,9 +5,10 @@
 import org.junit.Test;
 
+import fr.mael.jiwigo.transverse.exception.JiwigoException;
 import fr.mael.jiwigo.transverse.session.SessionManager;
 import fr.mael.jiwigo.transverse.util.spring.SpringUtils;
 
 public class TestBase {
-    public TestBase() {
+    public TestBase() throws JiwigoException {
 	SessionManager sessionManager = SpringUtils.getSessionManager();
 	sessionManager.setLogin("mael");
Index: /extensions/jiwigo/trunk/src/test/java/fr/mael/jiwigo/service/CategoryServiceTest.java
===================================================================
--- /extensions/jiwigo/trunk/src/test/java/fr/mael/jiwigo/service/CategoryServiceTest.java	(revision 10696)
+++ /extensions/jiwigo/trunk/src/test/java/fr/mael/jiwigo/service/CategoryServiceTest.java	(revision 10697)
@@ -1,5 +1,4 @@
 package fr.mael.jiwigo.service;
 
-import java.io.IOException;
 import java.util.Date;
 
@@ -9,9 +8,10 @@
 
 import fr.mael.jiwigo.TestBase;
+import fr.mael.jiwigo.transverse.exception.JiwigoException;
 import fr.mael.jiwigo.transverse.exception.ProxyAuthenticationException;
 import fr.mael.jiwigo.transverse.util.spring.SpringUtils;
 
 public class CategoryServiceTest extends TestBase {
-    public CategoryServiceTest() {
+    public CategoryServiceTest() throws JiwigoException {
 	super();
     }
@@ -20,13 +20,10 @@
      *  Test of the listing method
      * @throws ProxyAuthenticationException
+     * @throws JiwigoException 
      */
     @Test
-    public void ListerTest() throws ProxyAuthenticationException {
-	try {
-	    SpringUtils.getCategoryService().list(true);
-	    SpringUtils.getCategoryService().list(false);
-	} catch (IOException e) {
-	    e.printStackTrace();
-	}
+    public void ListerTest() throws ProxyAuthenticationException, JiwigoException {
+	SpringUtils.getCategoryService().list(true);
+	SpringUtils.getCategoryService().list(false);
     }
 
@@ -34,7 +31,8 @@
      * Test of the creation method
      * @throws ProxyAuthenticationException
+     * @throws JiwigoException 
      */
     @Test
-    public void creerTest() throws ProxyAuthenticationException {
+    public void creerTest() throws ProxyAuthenticationException, JiwigoException {
 	Date date = new Date();
 	Assert.assertSame(true, SpringUtils.getCategoryService().create("Category" + date.getTime()));
Index: /extensions/jiwigo/trunk/src/test/java/fr/mael/jiwigo/service/ServicesTest.java
===================================================================
--- /extensions/jiwigo/trunk/src/test/java/fr/mael/jiwigo/service/ServicesTest.java	(revision 10696)
+++ /extensions/jiwigo/trunk/src/test/java/fr/mael/jiwigo/service/ServicesTest.java	(revision 10697)
@@ -9,9 +9,10 @@
 import fr.mael.jiwigo.om.Comment;
 import fr.mael.jiwigo.om.Image;
+import fr.mael.jiwigo.transverse.exception.JiwigoException;
 import fr.mael.jiwigo.transverse.util.spring.SpringUtils;
 
 public class ServicesTest extends TestBase {
 
-    public ServicesTest() {
+    public ServicesTest() throws JiwigoException {
 	super();
     }
Index: /extensions/jiwigo/trunk/src/test/java/fr/mael/jiwigo/service/TagServiceTest.java
===================================================================
--- /extensions/jiwigo/trunk/src/test/java/fr/mael/jiwigo/service/TagServiceTest.java	(revision 10696)
+++ /extensions/jiwigo/trunk/src/test/java/fr/mael/jiwigo/service/TagServiceTest.java	(revision 10697)
@@ -1,5 +1,4 @@
 package fr.mael.jiwigo.service;
 
-import java.io.IOException;
 import java.util.Date;
 
@@ -9,4 +8,5 @@
 
 import fr.mael.jiwigo.TestBase;
+import fr.mael.jiwigo.transverse.exception.JiwigoException;
 import fr.mael.jiwigo.transverse.exception.ProxyAuthenticationException;
 import fr.mael.jiwigo.transverse.util.spring.SpringUtils;
@@ -14,5 +14,5 @@
 public class TagServiceTest extends TestBase {
 
-    public TagServiceTest() {
+    public TagServiceTest() throws JiwigoException {
 	super();
     }
@@ -21,12 +21,9 @@
      *  Test of the listing method
      * @throws ProxyAuthenticationException
+     * @throws JiwigoException 
      */
     @Test
-    public void ListerTest() throws ProxyAuthenticationException {
-	try {
-	    SpringUtils.getTagService().list();
-	} catch (IOException e) {
-	    e.printStackTrace();
-	}
+    public void ListerTest() throws ProxyAuthenticationException, JiwigoException {
+	SpringUtils.getTagService().list();
     }
 
@@ -34,14 +31,10 @@
      * Test of the creation method
      * @throws ProxyAuthenticationException
+     * @throws JiwigoException 
      */
     @Test
-    public void creerTest() throws ProxyAuthenticationException {
+    public void creerTest() throws ProxyAuthenticationException, JiwigoException {
 	Date date = new Date();
-	try {
-	    Assert.assertSame(true, SpringUtils.getTagService().create("Tag" + date.getTime()));
-	} catch (IOException e) {
-	    // TODO Auto-generated catch block
-	    e.printStackTrace();
-	}
+	Assert.assertSame(true, SpringUtils.getTagService().create("Tag" + date.getTime()));
     }
 
