Index: extensions/jiwigo-ws-api/.classpath
===================================================================
--- extensions/jiwigo-ws-api/.classpath	(revision 9387)
+++ extensions/jiwigo-ws-api/.classpath	(revision 9392)
@@ -7,10 +7,9 @@
   <classpathentry kind="var" path="M2_REPO/javax/servlet/servlet-api/2.3/servlet-api-2.3.jar"/>
   <classpathentry kind="var" path="M2_REPO/avalon-framework/avalon-framework/4.1.3/avalon-framework-4.1.3.jar"/>
+  <classpathentry kind="var" path="M2_REPO/commons-beanutils/commons-beanutils/1.8.3/commons-beanutils-1.8.3.jar"/>
   <classpathentry kind="var" path="M2_REPO/commons-codec/commons-codec/1.2/commons-codec-1.2.jar"/>
   <classpathentry kind="var" path="M2_REPO/commons-httpclient/commons-httpclient/3.1/commons-httpclient-3.1.jar"/>
   <classpathentry kind="var" path="M2_REPO/commons-lang/commons-lang/2.5/commons-lang-2.5.jar"/>
   <classpathentry kind="var" path="M2_REPO/commons-logging/commons-logging/1.1/commons-logging-1.1.jar"/>
-  <classpathentry kind="var" path="M2_REPO/net/iharder/filedrop/1.0/filedrop-1.0.jar"/>
-  <classpathentry kind="var" path="M2_REPO/com/jhlabs/filters/2.0.235/filters-2.0.235.jar"/>
   <classpathentry kind="var" path="M2_REPO/org/jdom/jdom/1.1/jdom-1.1.jar"/>
   <classpathentry kind="var" path="M2_REPO/junit/junit/4.8.1/junit-4.8.1.jar"/>
@@ -19,6 +18,4 @@
   <classpathentry kind="var" path="M2_REPO/com/drew/metadata-extractor/2.3.1/metadata-extractor-2.3.1.jar"/>
   <classpathentry kind="var" path="M2_REPO/org/apache/sanselan/sanselan/0.97-incubator/sanselan-0.97-incubator.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/swinglabs/swing-worker/1.1/swing-worker-1.1.jar"/>
-  <classpathentry kind="var" path="M2_REPO/org/swinglabs/swingx/1.6.1/swingx-1.6.1.jar"/>
   <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
 </classpath>
Index: extensions/jiwigo-ws-api/.project
===================================================================
--- extensions/jiwigo-ws-api/.project	(revision 9387)
+++ extensions/jiwigo-ws-api/.project	(revision 9392)
@@ -1,23 +1,17 @@
-<?xml version="1.0" encoding="UTF-8"?>
 <projectDescription>
-	<name>jiwigo-ws-api</name>
-	<comment>NO_M2ECLIPSE_SUPPORT: Project files created with the maven-eclipse-plugin are not supported in M2Eclipse.</comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.maven.ide.eclipse.maven2Builder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.maven.ide.eclipse.maven2Nature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
+  <name>jiwigo-ws-api</name>
+  <comment>NO_M2ECLIPSE_SUPPORT: Project files created with the maven-eclipse-plugin are not supported in M2Eclipse.</comment>
+  <projects/>
+  <buildSpec>
+    <buildCommand>
+      <name>org.eclipse.jdt.core.javabuilder</name>
+    </buildCommand>
+    <buildCommand>
+      <name>org.maven.ide.eclipse.maven2Builder</name>
+    </buildCommand>
+  </buildSpec>
+  <natures>
+    <nature>org.maven.ide.eclipse.maven2Nature</nature>
+    <nature>org.eclipse.jdt.core.javanature</nature>
+  </natures>
 </projectDescription>
Index: extensions/jiwigo-ws-api/pom.xml
===================================================================
--- extensions/jiwigo-ws-api/pom.xml	(revision 9387)
+++ extensions/jiwigo-ws-api/pom.xml	(revision 9392)
@@ -3,5 +3,5 @@
   <groupId>fr.mael.jiwigo</groupId>
   <artifactId>jiwigo-ws-api</artifactId>
-  <version>0.13</version>
+  <version>0.13.1</version>
 
 
@@ -50,4 +50,9 @@
 	    <version>4.8.1</version>
 	</dependency>
+	<dependency>
+	    <groupId>commons-beanutils</groupId>
+	    <artifactId>commons-beanutils</artifactId>
+	    <version>1.8.3</version>
+	</dependency>
 
   </dependencies>
Index: extensions/jiwigo-ws-api/src/main/java/fr/mael/jiwigo/dao/CategoryDao.java
===================================================================
--- extensions/jiwigo-ws-api/src/main/java/fr/mael/jiwigo/dao/CategoryDao.java	(revision 9387)
+++ extensions/jiwigo-ws-api/src/main/java/fr/mael/jiwigo/dao/CategoryDao.java	(revision 9392)
@@ -12,5 +12,5 @@
 import fr.mael.jiwigo.transverse.enumeration.MethodsEnum;
 import fr.mael.jiwigo.transverse.session.SessionManager;
-import fr.mael.jiwigo.transverse.util.Outil;
+import fr.mael.jiwigo.transverse.util.Tools;
 
 /*
@@ -78,11 +78,10 @@
     /**
      * Lists the categories
-     * @param rafraichir true : uses the categories of the cache
      * @param recursive true : recursive listing of the categories
      * @return the list of categories
      * @throws IOException
      */
-    public List<Category> lister(boolean recursive) throws IOException {
-	Document doc = sessionManager.executerReturnDocument(MethodsEnum.LISTER_CATEGORIES.getLabel(), "recursive",
+    public List<Category> list(boolean recursive) throws IOException {
+	Document doc = sessionManager.executeReturnDocument(MethodsEnum.LISTER_CATEGORIES.getLabel(), "recursive",
 		String.valueOf(recursive));
 	Element element = doc.getRootElement().getChild("categories");
@@ -91,9 +90,9 @@
 	for (Element cat : listElement) {
 	    Category myCat = new Category();
-	    myCat.setIdentifiant(Integer.valueOf(cat.getAttributeValue(CategoryEnum.ID.getLabel())));
+	    myCat.setIdentifier(Integer.valueOf(cat.getAttributeValue(CategoryEnum.ID.getLabel())));
 	    myCat.setUrlCategory(cat.getAttributeValue(CategoryEnum.URL.getLabel()));
 	    myCat.setNbImages(Integer.valueOf(cat.getAttributeValue(CategoryEnum.NB_IMAGES.getLabel())));
 	    myCat.setNbTotalImages(Integer.valueOf(cat.getAttributeValue(CategoryEnum.NB_TOTAL_IMAGES.getLabel())));
-	    myCat.setNom(cat.getChildText(CategoryEnum.NAME.getLabel()));
+	    myCat.setName(cat.getChildText(CategoryEnum.NAME.getLabel()));
 	    String catMeres = cat.getChildText(CategoryEnum.CAT_MERES.getLabel());
 	    ArrayList<Integer> idCategoriesMeres = new ArrayList<Integer>();
@@ -103,5 +102,5 @@
 		}
 	    }
-	    myCat.setIdCategoriesMeres(idCategoriesMeres);
+	    myCat.setIdParentCategories(idCategoriesMeres);
 	    categories.add(myCat);
 	}
@@ -114,15 +113,15 @@
      * @return true if the category is successfully created
      */
-    public boolean creer(Category category) {
+    public boolean create(Category category) {
 	try {
-	    if (category.getParentDirect() != null) {
-		return Outil.checkOk(sessionManager.executerReturnDocument(MethodsEnum.AJOUTER_CATEGORIE.getLabel(),
-			"name", category.getNom(), "parent", String.valueOf(category.getParentDirect())));
+	    if (category.getDirectParent() != null) {
+		return Tools.checkOk(sessionManager.executeReturnDocument(MethodsEnum.AJOUTER_CATEGORIE.getLabel(),
+			"name", category.getName(), "parent", String.valueOf(category.getDirectParent())));
 	    } else {
-		return Outil.checkOk(sessionManager.executerReturnDocument(MethodsEnum.AJOUTER_CATEGORIE.getLabel(),
-			"name", category.getNom()));
+		return Tools.checkOk(sessionManager.executeReturnDocument(MethodsEnum.AJOUTER_CATEGORIE.getLabel(),
+			"name", category.getName()));
 	    }
 	} catch (IOException e) {
-	    LOG.error(Outil.getStackTrace(e));
+	    LOG.error(Tools.getStackTrace(e));
 	}
 	return false;
Index: extensions/jiwigo-ws-api/src/main/java/fr/mael/jiwigo/dao/CommentDao.java
===================================================================
--- extensions/jiwigo-ws-api/src/main/java/fr/mael/jiwigo/dao/CommentDao.java	(revision 9387)
+++ extensions/jiwigo-ws-api/src/main/java/fr/mael/jiwigo/dao/CommentDao.java	(revision 9392)
@@ -11,5 +11,5 @@
 import fr.mael.jiwigo.transverse.enumeration.MethodsEnum;
 import fr.mael.jiwigo.transverse.session.SessionManager;
-import fr.mael.jiwigo.transverse.util.Outil;
+import fr.mael.jiwigo.transverse.util.Tools;
 
 /*
@@ -81,6 +81,6 @@
      * @throws IOException
      */
-    public List<Comment> lister(Integer idImage) throws IOException {
-	Document doc = (sessionManager.executerReturnDocument(MethodsEnum.GET_INFO.getLabel(), "image_id", String
+    public List<Comment> list(Integer idImage) throws IOException {
+	Document doc = (sessionManager.executeReturnDocument(MethodsEnum.GET_INFO.getLabel(), "image_id", String
 		.valueOf(idImage)));
 	Element element = doc.getRootElement().getChild("image").getChild("comments");
@@ -89,5 +89,5 @@
 	for (Element com : listElement) {
 	    Comment myCom = new Comment();
-	    myCom.setIdentifiant(Integer.valueOf(com.getAttributeValue("id")));
+	    myCom.setIdentifier(Integer.valueOf(com.getAttributeValue("id")));
 	    myCom.setDate(com.getAttributeValue("date"));
 	    myCom.setAuthor(com.getChildText("author"));
@@ -105,5 +105,5 @@
      */
     public String getKey(Integer idImage) throws IOException {
-	Document doc = (sessionManager.executerReturnDocument(MethodsEnum.GET_INFO.getLabel(), "image_id", String
+	Document doc = (sessionManager.executeReturnDocument(MethodsEnum.GET_INFO.getLabel(), "image_id", String
 		.valueOf(idImage)));
 	String key = doc.getRootElement().getChild("image").getChild("comment_post").getAttributeValue("key");
@@ -117,5 +117,5 @@
      * @throws IOException
      */
-    public boolean creer(Comment commentaire) throws IOException {
+    public boolean create(Comment commentaire) throws IOException {
 	String key = getKey(commentaire.getImageId());
 	try {
@@ -124,5 +124,5 @@
 	    e.printStackTrace();
 	}
-	return Outil.checkOk(sessionManager.executerReturnDocument(MethodsEnum.AJOUTER_COMMENTAIRE.getLabel(),
+	return Tools.checkOk(sessionManager.executeReturnDocument(MethodsEnum.AJOUTER_COMMENTAIRE.getLabel(),
 		"image_id", String.valueOf(commentaire.getImageId()), "author", commentaire.getAuthor(), "content",
 		commentaire.getContent(), "key", key));
Index: extensions/jiwigo-ws-api/src/main/java/fr/mael/jiwigo/dao/ImageDao.java
===================================================================
--- extensions/jiwigo-ws-api/src/main/java/fr/mael/jiwigo/dao/ImageDao.java	(revision 9387)
+++ extensions/jiwigo-ws-api/src/main/java/fr/mael/jiwigo/dao/ImageDao.java	(revision 9392)
@@ -15,5 +15,5 @@
 import fr.mael.jiwigo.transverse.enumeration.MethodsEnum;
 import fr.mael.jiwigo.transverse.session.SessionManager;
-import fr.mael.jiwigo.transverse.util.Outil;
+import fr.mael.jiwigo.transverse.util.Tools;
 
 /*
@@ -97,6 +97,6 @@
      * @throws IOException
      */
-    public List<Image> lister(boolean rafraichir) throws IOException {
-	return listerParCategory(null, rafraichir);
+    public List<Image> list(boolean refresh) throws IOException {
+	return listByCategory(null, refresh);
     }
 
@@ -107,13 +107,13 @@
      * @throws IOException
      */
-    public List<Image> listerParCategory(Integer categoryId, boolean rafraichir) throws IOException {
-	if (rafraichir || cache.get(categoryId) == null) {
+    public List<Image> listByCategory(Integer categoryId, boolean refresh) throws IOException {
+	if (refresh || cache.get(categoryId) == null) {
 	    Document doc = null;
 
 	    if (categoryId != null) {
-		doc = sessionManager.executerReturnDocument(MethodsEnum.LISTER_IMAGES.getLabel(), "cat_id", String
+		doc = sessionManager.executeReturnDocument(MethodsEnum.LISTER_IMAGES.getLabel(), "cat_id", String
 			.valueOf(categoryId));
 	    } else {
-		doc = sessionManager.executerReturnDocument(MethodsEnum.LISTER_IMAGES.getLabel());
+		doc = sessionManager.executeReturnDocument(MethodsEnum.LISTER_IMAGES.getLabel());
 	    }
 	    Element element = doc.getRootElement().getChild("images");
@@ -140,30 +140,30 @@
      * Finally, the response of the webservice is checked
      *
-     * @param the image to create
+     * @param image the image to create
      * @return true if the creation of the image was the successful
      * @throws Exception
      */
-    //TODO ne pas continuer si une des réponses précédentes est négative
-    public boolean creer(Image image, Double chunkSize) throws Exception {
+    //TODO ne pas continuer si une des reponses precedentes est negative
+    public boolean create(Image image, Double chunkSize) throws Exception {
 	//thumbnail converted to base64
 	BASE64Encoder base64 = new BASE64Encoder();
 
-	String thumbnailBase64 = base64.encode(Outil.getBytesFromFile(image.getThumbnail()));
+	String thumbnailBase64 = base64.encode(Tools.getBytesFromFile(image.getThumbnail()));
 	//sends the thumbnail and gets the result
-	Document reponseThumb = (sessionManager.executerReturnDocument("pwg.images.addChunk", "data", thumbnailBase64,
-		"type", "thumb", "position", "1", "original_sum", Outil.getMD5Checksum(image.getOriginale()
+	Document reponseThumb = (sessionManager.executeReturnDocument("pwg.images.addChunk", "data", thumbnailBase64,
+		"type", "thumb", "position", "1", "original_sum", Tools.getMD5Checksum(image.getOriginale()
 			.getAbsolutePath())));
 
 	//begin feature:0001827
 	int chunk = chunkSize.intValue();
-	ArrayList<File> fichiersAEnvoyer = Outil.splitFile(image.getOriginale(), chunk);
+	ArrayList<File> fichiersAEnvoyer = Tools.splitFile(image.getOriginale(), chunk);
 	boolean echec = false;
 	for (int i = 0; i < fichiersAEnvoyer.size(); i++) {
 	    File fichierAEnvoyer = fichiersAEnvoyer.get(i);
-	    String originaleBase64 = base64.encode(Outil.getBytesFromFile(fichierAEnvoyer));
-	    Document reponseOriginale = (sessionManager.executerReturnDocument("pwg.images.addChunk", "data",
-		    originaleBase64, "type", "file", "position", String.valueOf(i), "original_sum", Outil
+	    String originaleBase64 = base64.encode(Tools.getBytesFromFile(fichierAEnvoyer));
+	    Document reponseOriginale = (sessionManager.executeReturnDocument("pwg.images.addChunk", "data",
+		    originaleBase64, "type", "file", "position", String.valueOf(i), "original_sum", Tools
 			    .getMD5Checksum(image.getOriginale().getAbsolutePath())));
-	    if (!Outil.checkOk(reponseOriginale)) {
+	    if (!Tools.checkOk(reponseOriginale)) {
 		echec = true;
 		break;
@@ -173,10 +173,10 @@
 
 	//add the image in the database and get the result of the webservice
-	Document reponseAjout = (sessionManager.executerReturnDocument("pwg.images.add", "file_sum", Outil
-		.getMD5Checksum(image.getOriginale().getAbsolutePath()), "thumbnail_sum", Outil.getMD5Checksum(image
-		.getThumbnail().getCanonicalPath()), "position", "1", "original_sum", Outil.getMD5Checksum(image
+	Document reponseAjout = (sessionManager.executeReturnDocument("pwg.images.add", "file_sum", Tools
+		.getMD5Checksum(image.getOriginale().getAbsolutePath()), "thumbnail_sum", Tools.getMD5Checksum(image
+		.getThumbnail().getCanonicalPath()), "position", "1", "original_sum", Tools.getMD5Checksum(image
 		.getOriginale().getAbsolutePath()), "categories", String.valueOf(image.getIdCategory()), "name", image
 		.getName(), "author", sessionManager.getLogin(), "level", image.getPrivacyLevel()));
-	LOG.debug("Response add : " + Outil.documentToString(reponseAjout));
+	LOG.debug("Response add : " + Tools.documentToString(reponseAjout));
 	//	System.out.println(Main.sessionManager.executerReturnString("pwg.images.add", "file_sum", Outil
 	//		.getMD5Checksum(image.getOriginale().getAbsolutePath()), "thumbnail_sum", Outil.getMD5Checksum(image
@@ -189,8 +189,8 @@
 	//	}
 	boolean reussite = true;
-	if (!Outil.checkOk(reponseThumb) || echec || !Outil.checkOk(reponseAjout)) {
+	if (!Tools.checkOk(reponseThumb) || echec || !Tools.checkOk(reponseAjout)) {
 	    reussite = false;
 	}
-	suppressionFichierTemporaires();
+	deleteTempFiles();
 	return reussite;
 
@@ -204,7 +204,7 @@
      */
     public boolean addTags(Integer imageId, String tagId) throws IOException {
-	Document doc = sessionManager.executerReturnDocument(MethodsEnum.SET_INFO.getLabel(), "image_id", String
+	Document doc = sessionManager.executeReturnDocument(MethodsEnum.SET_INFO.getLabel(), "image_id", String
 		.valueOf(imageId), "tag_ids", tagId);
-	return Outil.checkOk(doc);
+	return Tools.checkOk(doc);
 
     }
@@ -220,11 +220,11 @@
 	for (Element im : listElement) {
 	    Image myImage = new Image();
-	    myImage.setMiniature(im.getAttributeValue("tn_url"));
+	    myImage.setThumbnailUrl(im.getAttributeValue("tn_url"));
 	    myImage.setUrl(im.getAttributeValue("element_url"));
 	    myImage.setWidth(Integer.valueOf(im.getAttributeValue("width")));
 	    myImage.setHeight(Integer.valueOf(im.getAttributeValue("height")));
 	    myImage.setFile(im.getAttributeValue("file"));
-	    myImage.setVue(Integer.valueOf(im.getAttributeValue("hit")));
-	    myImage.setIdentifiant(Integer.valueOf(im.getAttributeValue("id")));
+	    myImage.setSeen(Integer.valueOf(im.getAttributeValue("hit")));
+	    myImage.setIdentifier(Integer.valueOf(im.getAttributeValue("id")));
 	    myImage.setName(im.getChildText("name"));
 	    System.out.println(new XMLOutputter().outputString(im));
@@ -246,5 +246,5 @@
      */
     public List<Image> search(String searchString) throws IOException {
-	Document doc = sessionManager.executerReturnDocument(MethodsEnum.SEARCH.getLabel(), "query", searchString);
+	Document doc = sessionManager.executeReturnDocument(MethodsEnum.SEARCH.getLabel(), "query", searchString);
 	LOG.debug(doc);
 	Element element = doc.getRootElement().getChild("images");
@@ -253,5 +253,5 @@
     }
 
-    private void suppressionFichierTemporaires() {
+    private void deleteTempFiles() {
 	File file = new File(System.getProperty("java.io.tmpdir") + "/originale.jpg");
 	file.delete();
Index: extensions/jiwigo-ws-api/src/main/java/fr/mael/jiwigo/dao/TagDao.java
===================================================================
--- extensions/jiwigo-ws-api/src/main/java/fr/mael/jiwigo/dao/TagDao.java	(revision 9387)
+++ extensions/jiwigo-ws-api/src/main/java/fr/mael/jiwigo/dao/TagDao.java	(revision 9392)
@@ -13,32 +13,5 @@
 import fr.mael.jiwigo.transverse.enumeration.TagEnum;
 import fr.mael.jiwigo.transverse.session.SessionManager;
-import fr.mael.jiwigo.transverse.util.Outil;
-/*
-   Copyright (c) 2010, Mael
-   All rights reserved.
-
-   Redistribution and use in source and binary forms, with or without
-   modification, are permitted provided that the following conditions are met:
-    * Redistributions of source code must retain the above copyright
-      notice, this list of conditions and the following disclaimer.
-    * Redistributions in binary form must reproduce the above copyright
-      notice, this list of conditions and the following disclaimer in the
-      documentation and/or other materials provided with the distribution.
-    * Neither the name of jiwigo nor the
-      names of its contributors may be used to endorse or promote products
-      derived from this software without specific prior written permission.
-
-   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-   ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-   WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-   DISCLAIMED. IN NO EVENT SHALL Mael BE LIABLE FOR ANY
-   DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-   (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-   LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-   ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-   (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-   SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
+import fr.mael.jiwigo.transverse.util.Tools;
 
 /**
@@ -81,6 +54,6 @@
      * @throws IOException
      */
-    public List<Tag> lister() throws IOException {
-	Document doc = sessionManager.executerReturnDocument(MethodsEnum.TAGS_ADMIN_LIST.getLabel());
+    public List<Tag> list() throws IOException {
+	Document doc = sessionManager.executeReturnDocument(MethodsEnum.TAGS_ADMIN_LIST.getLabel());
 	//	System.out.println(Outil.documentToString(doc));
 	return getTagsFromDocument(doc.getRootElement().getChild("tags"));
@@ -99,6 +72,6 @@
 	for (Element tagElement : listElement) {
 	    Tag tag = new Tag();
-	    tag.setId(Integer.valueOf(tagElement.getAttributeValue(TagEnum.ID.getLabel())));
-	    tag.setNom(tagElement.getAttributeValue(TagEnum.NAME.getLabel()));
+	    tag.setIdentifier(Integer.valueOf(tagElement.getAttributeValue(TagEnum.ID.getLabel())));
+	    tag.setName(tagElement.getAttributeValue(TagEnum.NAME.getLabel()));
 	    tags.add(tag);
 	}
@@ -112,10 +85,10 @@
      * @return true if the tag as been successfully created
      */
-    public boolean creer(Tag tag) {
+    public boolean create(Tag tag) {
 	try {
-	    return Outil.checkOk(sessionManager.executerReturnDocument(MethodsEnum.ADD_TAG.getLabel(), "name", tag
-		    .getNom()));
+	    return Tools.checkOk(sessionManager.executeReturnDocument(MethodsEnum.ADD_TAG.getLabel(), "name", tag
+		    .getName()));
 	} catch (IOException e) {
-	    LOG.error(Outil.getStackTrace(e));
+	    LOG.error(Tools.getStackTrace(e));
 	}
 	return false;
@@ -129,6 +102,6 @@
      */
     public List<Tag> tagsForImage(Image image) throws IOException {
-	Document doc = sessionManager.executerReturnDocument(MethodsEnum.GET_INFO.getLabel(), "image_id", String
-		.valueOf(image.getIdentifiant()));
+	Document doc = sessionManager.executeReturnDocument(MethodsEnum.GET_INFO.getLabel(), "image_id", String
+		.valueOf(image.getIdentifier()));
 	return getTagsFromDocument(doc.getRootElement().getChild("image").getChild("tags"));
     }
Index: extensions/jiwigo-ws-api/src/main/java/fr/mael/jiwigo/om/Category.java
===================================================================
--- extensions/jiwigo-ws-api/src/main/java/fr/mael/jiwigo/om/Category.java	(revision 9387)
+++ extensions/jiwigo-ws-api/src/main/java/fr/mael/jiwigo/om/Category.java	(revision 9392)
@@ -38,52 +38,24 @@
 public class Category {
 
-    private ArrayList<Integer> idCategoriesMeres;
-    private Integer identifiant;
+    private ArrayList<Integer> idParentCategories;
+    private Integer identifier;
     private String urlCategory;
     private Integer nbImages;
     private Integer nbTotalImages;
-    private ArrayList<Category> categoriesFilles;
-    private ArrayList<Category> categoriesMeres;
-    private String nom;
+    private ArrayList<Category> childCategories;
+    private ArrayList<Category> parentCategories;
+    private String name;
     private Element element;
-    private Integer parentDirect;
+    private Integer directParent;
     private Integer level;
 
     public Category() {
-	categoriesFilles = new ArrayList<Category>();
-	categoriesMeres = new ArrayList<Category>();
+	childCategories = new ArrayList<Category>();
+	parentCategories = new ArrayList<Category>();
     }
 
     @Override
     public String toString() {
-	return nom;
-    }
-
-    /**
-     * @return the idCategoriesMeres
-     */
-    public ArrayList<Integer> getIdCategoriesMeres() {
-	return idCategoriesMeres;
-    }
-
-    /**
-     * @param idCategoriesMeres the idCategoriesMeres to set
-     */
-    public void setIdCategoriesMeres(ArrayList<Integer> idCategoriesMeres) {
-	this.idCategoriesMeres = idCategoriesMeres;
-    }
-
-    /**
-     * @return the identifiant
-     */
-    public Integer getIdentifiant() {
-	return identifiant;
-    }
-
-    /**
-     * @param identifiant the identifiant to set
-     */
-    public void setIdentifiant(Integer identifiant) {
-	this.identifiant = identifiant;
+	return name;
     }
 
@@ -131,46 +103,4 @@
 
     /**
-     * @return the categoriesFilles
-     */
-    public ArrayList<Category> getCategoriesFilles() {
-	return categoriesFilles;
-    }
-
-    /**
-     * @param categoriesFilles the categoriesFilles to set
-     */
-    public void setCategoriesFilles(ArrayList<Category> categoriesFilles) {
-	this.categoriesFilles = categoriesFilles;
-    }
-
-    /**
-     * @return the categoriesMeres
-     */
-    public ArrayList<Category> getCategoriesMeres() {
-	return categoriesMeres;
-    }
-
-    /**
-     * @param categoriesMeres the categoriesMeres to set
-     */
-    public void setCategoriesMeres(ArrayList<Category> categoriesMeres) {
-	this.categoriesMeres = categoriesMeres;
-    }
-
-    /**
-     * @return the nom
-     */
-    public String getNom() {
-	return nom;
-    }
-
-    /**
-     * @param nom the nom to set
-     */
-    public void setNom(String nom) {
-	this.nom = nom;
-    }
-
-    /**
      * @return the element
      */
@@ -186,18 +116,4 @@
     }
 
-    /**
-     * @return the parentDirect
-     */
-    public Integer getParentDirect() {
-	return parentDirect;
-    }
-
-    /**
-     * @param parentDirect the parentDirect to set
-     */
-    public void setParentDirect(Integer parentDirect) {
-	this.parentDirect = parentDirect;
-    }
-
     public Integer getLevel() {
 	return level;
@@ -208,3 +124,51 @@
     }
 
+    public ArrayList<Integer> getIdParentCategories() {
+	return idParentCategories;
+    }
+
+    public void setIdParentCategories(ArrayList<Integer> idParentCategories) {
+	this.idParentCategories = idParentCategories;
+    }
+
+    public Integer getIdentifier() {
+	return identifier;
+    }
+
+    public void setIdentifier(Integer identifier) {
+	this.identifier = identifier;
+    }
+
+    public ArrayList<Category> getChildCategories() {
+	return childCategories;
+    }
+
+    public void setChildCategories(ArrayList<Category> childCategories) {
+	this.childCategories = childCategories;
+    }
+
+    public ArrayList<Category> getParentCategories() {
+	return parentCategories;
+    }
+
+    public void setParentCategories(ArrayList<Category> parentCategories) {
+	this.parentCategories = parentCategories;
+    }
+
+    public String getName() {
+	return name;
+    }
+
+    public void setName(String name) {
+	this.name = name;
+    }
+
+    public Integer getDirectParent() {
+	return directParent;
+    }
+
+    public void setDirectParent(Integer directParent) {
+	this.directParent = directParent;
+    }
+
 }
Index: extensions/jiwigo-ws-api/src/main/java/fr/mael/jiwigo/om/Comment.java
===================================================================
--- extensions/jiwigo-ws-api/src/main/java/fr/mael/jiwigo/om/Comment.java	(revision 9387)
+++ extensions/jiwigo-ws-api/src/main/java/fr/mael/jiwigo/om/Comment.java	(revision 9392)
@@ -37,5 +37,5 @@
     private String content;
     private String key;
-    private Integer identifiant;
+    private Integer identifier;
     private String date;
 
@@ -96,16 +96,10 @@
     }
 
-    /**
-     * @return the identifiant
-     */
-    public Integer getIdentifiant() {
-	return identifiant;
+    public Integer getIdentifier() {
+	return identifier;
     }
 
-    /**
-     * @param identifiant the identifiant to set
-     */
-    public void setIdentifiant(Integer identifiant) {
-	this.identifiant = identifiant;
+    public void setIdentifier(Integer identifier) {
+	this.identifier = identifier;
     }
 
Index: extensions/jiwigo-ws-api/src/main/java/fr/mael/jiwigo/om/Image.java
===================================================================
--- extensions/jiwigo-ws-api/src/main/java/fr/mael/jiwigo/om/Image.java	(revision 9387)
+++ extensions/jiwigo-ws-api/src/main/java/fr/mael/jiwigo/om/Image.java	(revision 9392)
@@ -36,14 +36,14 @@
  */
 public class Image {
-    private String miniature;
+    private String thumbnailUrl;
     private String url;
     private Integer width;
     private Integer height;
     private String file;
-    private Integer identifiant;
-    private Integer vue;
+    private Integer identifier;
+    private Integer seen;
     private String name;
     private Integer idCategory;
-    private String auteur;
+    private String author;
     private File thumbnail;
     private String privacyLevel;
@@ -63,16 +63,18 @@
     }
 
-    /**
-     * @return the auteur
-     */
-    public String getAuteur() {
-	return auteur;
-    }
-
-    /**
-     * @param auteur the auteur to set
-     */
-    public void setAuteur(String auteur) {
-	this.auteur = auteur;
+    public Integer getSeen() {
+	return seen;
+    }
+
+    public void setSeen(Integer seen) {
+	this.seen = seen;
+    }
+
+    public String getAuthor() {
+	return author;
+    }
+
+    public void setAuthor(String author) {
+	this.author = author;
     }
 
@@ -113,16 +115,10 @@
     }
 
-    /**
-     * @return the miniature
-     */
-    public String getMiniature() {
-	return miniature;
-    }
-
-    /**
-     * @param miniature the miniature to set
-     */
-    public void setMiniature(String miniature) {
-	this.miniature = miniature;
+    public String getThumbnailUrl() {
+	return thumbnailUrl;
+    }
+
+    public void setThumbnailUrl(String thumbnailUrl) {
+	this.thumbnailUrl = thumbnailUrl;
     }
 
@@ -183,30 +179,10 @@
     }
 
-    /**
-     * @return the identifiant
-     */
-    public Integer getIdentifiant() {
-	return identifiant;
-    }
-
-    /**
-     * @param identifiant the identifiant to set
-     */
-    public void setIdentifiant(Integer identifiant) {
-	this.identifiant = identifiant;
-    }
-
-    /**
-     * @return the vue
-     */
-    public Integer getVue() {
-	return vue;
-    }
-
-    /**
-     * @param vue the vue to set
-     */
-    public void setVue(Integer vue) {
-	this.vue = vue;
+    public Integer getIdentifier() {
+	return identifier;
+    }
+
+    public void setIdentifier(Integer identifier) {
+	this.identifier = identifier;
     }
 
Index: extensions/jiwigo-ws-api/src/main/java/fr/mael/jiwigo/om/Tag.java
===================================================================
--- extensions/jiwigo-ws-api/src/main/java/fr/mael/jiwigo/om/Tag.java	(revision 9387)
+++ extensions/jiwigo-ws-api/src/main/java/fr/mael/jiwigo/om/Tag.java	(revision 9392)
@@ -36,37 +36,25 @@
      * Name of the tag
      */
-    private String nom;
+    private String name;
 
     /**
      * Id of the tag
      */
-    private Integer identifiant;
+    private Integer identifier;
 
-    /**
-     * @return the nom
-     */
-    public String getNom() {
-	return nom;
+    public String getName() {
+	return name;
     }
 
-    /**
-     * @param nom the nom to set
-     */
-    public void setNom(String nom) {
-	this.nom = nom;
+    public void setName(String name) {
+	this.name = name;
     }
 
-    /**
-     * @return the id
-     */
-    public Integer getId() {
-	return identifiant;
+    public Integer getIdentifier() {
+	return identifier;
     }
 
-    /**
-     * @param id the id to set
-     */
-    public void setId(Integer id) {
-	this.identifiant = id;
+    public void setIdentifier(Integer identifier) {
+	this.identifier = identifier;
     }
 
@@ -74,5 +62,5 @@
     public String toString() {
 	// TODO Auto-generated method stub
-	return nom;
+	return name;
     }
 }
Index: extensions/jiwigo-ws-api/src/main/java/fr/mael/jiwigo/service/CategoryService.java
===================================================================
--- extensions/jiwigo-ws-api/src/main/java/fr/mael/jiwigo/service/CategoryService.java	(revision 9387)
+++ extensions/jiwigo-ws-api/src/main/java/fr/mael/jiwigo/service/CategoryService.java	(revision 9392)
@@ -73,11 +73,10 @@
     /**
      * Lists all categories
-     * @param rafraichir true to refresh
      * @param recursive true : recursive listing
      * @return the list of categories
      * @throws IOException
      */
-    public List<Category> lister(boolean recursive) throws IOException {
-	return CategoryDao.getInstance(sessionManager).lister(recursive);
+    public List<Category> list(boolean recursive) throws IOException {
+	return CategoryDao.getInstance(sessionManager).list(recursive);
     }
 
@@ -88,12 +87,12 @@
      */
     public List<Category> makeTree() throws IOException {
-	List<Category> list = CategoryDao.getInstance(sessionManager).lister(true);
+	List<Category> list = CategoryDao.getInstance(sessionManager).list(true);
 	for (Category category : list) {
 	    for (Category category2 : list) {
-		if (category2.getIdCategoriesMeres().size() != 1
-			&& category.getIdentifiant().equals(
-				category2.getIdCategoriesMeres().get(category2.getIdCategoriesMeres().size() - 2))) {
-		    category.getCategoriesFilles().add(category2);
-		    category2.getCategoriesMeres().add(category);
+		if (category2.getIdParentCategories().size() != 1
+			&& category.getIdentifier().equals(
+				category2.getIdParentCategories().get(category2.getIdParentCategories().size() - 2))) {
+		    category.getChildCategories().add(category2);
+		    category2.getParentCategories().add(category);
 		}
 
@@ -111,9 +110,9 @@
      * @return true if successful
      */
-    public boolean creer(String nom, Integer parent) {
+    public boolean create(String nom, Integer parent) {
 	Category category = new Category();
-	category.setParentDirect(parent);
-	category.setNom(nom);
-	return CategoryDao.getInstance(sessionManager).creer(category);
+	category.setDirectParent(parent);
+	category.setName(nom);
+	return CategoryDao.getInstance(sessionManager).create(category);
     }
 
@@ -123,8 +122,8 @@
      * @return true if successful
      */
-    public boolean creer(String nom) {
+    public boolean create(String nom) {
 	Category category = new Category();
-	category.setNom(nom);
-	return CategoryDao.getInstance(sessionManager).creer(category);
+	category.setName(nom);
+	return CategoryDao.getInstance(sessionManager).create(category);
     }
 }
Index: extensions/jiwigo-ws-api/src/main/java/fr/mael/jiwigo/service/CommentService.java
===================================================================
--- extensions/jiwigo-ws-api/src/main/java/fr/mael/jiwigo/service/CommentService.java	(revision 9387)
+++ extensions/jiwigo-ws-api/src/main/java/fr/mael/jiwigo/service/CommentService.java	(revision 9392)
@@ -76,6 +76,6 @@
      * @throws IOException
      */
-    public List<Comment> lister(Integer imageId) throws IOException {
-	return CommentDao.getInstance(sessionManager).lister(imageId);
+    public List<Comment> list(Integer imageId) throws IOException {
+	return CommentDao.getInstance(sessionManager).list(imageId);
     }
 
@@ -88,10 +88,10 @@
      * @throws IOException
      */
-    public boolean creer(String content, Integer imageId, String auteur) throws IOException {
-	Comment commentaire = new Comment();
-	commentaire.setContent(content);
-	commentaire.setImageId(imageId);
-	commentaire.setAuthor(auteur);
-	return CommentDao.getInstance(sessionManager).creer(commentaire);
+    public boolean create(String content, Integer imageId, String auteur) throws IOException {
+	Comment comment = new Comment();
+	comment.setContent(content);
+	comment.setImageId(imageId);
+	comment.setAuthor(auteur);
+	return CommentDao.getInstance(sessionManager).create(comment);
     }
 
Index: extensions/jiwigo-ws-api/src/main/java/fr/mael/jiwigo/service/ImageService.java
===================================================================
--- extensions/jiwigo-ws-api/src/main/java/fr/mael/jiwigo/service/ImageService.java	(revision 9387)
+++ extensions/jiwigo-ws-api/src/main/java/fr/mael/jiwigo/service/ImageService.java	(revision 9392)
@@ -9,5 +9,5 @@
 import fr.mael.jiwigo.transverse.session.SessionManager;
 import fr.mael.jiwigo.transverse.util.ImagesUtil;
-import fr.mael.jiwigo.transverse.util.Outil;
+import fr.mael.jiwigo.transverse.util.Tools;
 
 /*
@@ -78,10 +78,9 @@
      * Lists all images for a category
      * @param categoryId the id of the category
-     * @param rafraichir true : refresh the list of images
      * @return the list of images
      * @throws IOException
      */
-    public List<Image> listerParCategory(Integer categoryId, boolean rafraichir) throws IOException {
-	return ImageDao.getInstance(sessionManager).listerParCategory(categoryId, rafraichir);
+    public List<Image> listByCategory(Integer categoryId, boolean rafraichir) throws IOException {
+	return ImageDao.getInstance(sessionManager).listByCategory(categoryId, rafraichir);
     }
 
@@ -92,12 +91,12 @@
      * @param originalWidth width for the original image
      * @param originalHeight height for the original image
-     * @return
+     * @return true if the image is created
      * @throws Exception
      */
-    public boolean creer(String filePath, Integer idCategory, Integer originalWidth, Integer originalHeight,
+    public boolean create(String filePath, Integer idCategory, Integer originalWidth, Integer originalHeight,
 	    Double chunckSize, Integer privacyLevel) throws Exception {
 	File originalFile = new File(filePath);
 	//get the byte array of the original file, to keep metadata
-	byte[] bytesFichierOriginal = Outil.getBytesFromFile(originalFile);
+	byte[] bytesFichierOriginal = Tools.getBytesFromFile(originalFile);
 
 	//resize the picture (or not)
@@ -114,8 +113,8 @@
 	    //the methode Outil.enrich will fail, but the procedure has to continue
 	    try {
-		byte[] fichierEnrichi = Outil.enrich(bytesFichierOriginal, Outil.getBytesFromFile(new File(System
+		byte[] fichierEnrichi = Tools.enrich(bytesFichierOriginal, Tools.getBytesFromFile(new File(System
 			.getProperty("java.io.tmpdir")
 			+ "/originale.jpg")));
-		Outil.byteToFile(System.getProperty("java.io.tmpdir") + "/originale.jpg", fichierEnrichi);
+		Tools.byteToFile(System.getProperty("java.io.tmpdir") + "/originale.jpg", fichierEnrichi);
 	    } catch (Exception e) {
 	    }
@@ -131,5 +130,5 @@
 	image.setPrivacyLevel(String.valueOf(privacyLevel));
 	//now we call the dao to send the image to the webservice
-	return ImageDao.getInstance(sessionManager).creer(image, chunckSize);
+	return ImageDao.getInstance(sessionManager).create(image, chunckSize);
     }
 
@@ -142,5 +141,5 @@
      */
     public boolean addTags(Image image, String tagId) throws IOException {
-	return ImageDao.getInstance(sessionManager).addTags(image.getIdentifiant(), tagId);
+	return ImageDao.getInstance(sessionManager).addTags(image.getIdentifier(), tagId);
     }
 
Index: extensions/jiwigo-ws-api/src/main/java/fr/mael/jiwigo/service/TagService.java
===================================================================
--- extensions/jiwigo-ws-api/src/main/java/fr/mael/jiwigo/service/TagService.java	(revision 9387)
+++ extensions/jiwigo-ws-api/src/main/java/fr/mael/jiwigo/service/TagService.java	(revision 9392)
@@ -77,6 +77,6 @@
      * @throws IOException
      */
-    public List<Tag> lister() throws IOException {
-	return TagDao.getInstance(sessionManager).lister();
+    public List<Tag> list() throws IOException {
+	return TagDao.getInstance(sessionManager).list();
     }
 
@@ -87,8 +87,8 @@
      * @throws IOException
      */
-    public boolean creer(String nom) throws IOException {
+    public boolean create(String nom) throws IOException {
 	Tag tag = new Tag();
-	tag.setNom(nom);
-	return TagDao.getInstance(sessionManager).creer(tag);
+	tag.setName(nom);
+	return TagDao.getInstance(sessionManager).create(tag);
     }
 
Index: extensions/jiwigo-ws-api/src/main/java/fr/mael/jiwigo/transverse/session/SessionManager.java
===================================================================
--- extensions/jiwigo-ws-api/src/main/java/fr/mael/jiwigo/transverse/session/SessionManager.java	(revision 9387)
+++ extensions/jiwigo-ws-api/src/main/java/fr/mael/jiwigo/transverse/session/SessionManager.java	(revision 9392)
@@ -18,5 +18,5 @@
 
 import fr.mael.jiwigo.transverse.enumeration.MethodsEnum;
-import fr.mael.jiwigo.transverse.util.Outil;
+import fr.mael.jiwigo.transverse.util.Tools;
 
 /*
@@ -65,5 +65,5 @@
      * the entered password
      */
-    private String motDePasse;
+    private String password;
     /**
      * the url of the site
@@ -103,15 +103,15 @@
      * true : an error was found for the proxy
      */
-    private boolean erreurProxy;
+    private boolean proxyError;
 
     /**
      * Constructor
      * @param login the login
-     * @param motDePasse the password
+     * @param password the password
      * @param url the url of the site
      */
-    public SessionManager(String login, String motDePasse, String url) {
+    public SessionManager(String login, String password, String url) {
 	this.login = login;
-	this.motDePasse = motDePasse;
+	this.password = password;
 	this.url = url + "/ws.php";
 	MultiThreadedHttpConnectionManager connectionManager = new MultiThreadedHttpConnectionManager();
@@ -140,8 +140,8 @@
 	}
 	try {
-	    doc = executerReturnDocument(MethodsEnum.LOGIN.getLabel(), "username", login, "password", motDePasse);
-	    return Outil.checkOk(doc);
+	    doc = executeReturnDocument(MethodsEnum.LOGIN.getLabel(), "username", login, "password", password);
+	    return Tools.checkOk(doc);
 	} catch (Exception e) {
-	    LOG.error(Outil.getStackTrace(e));
+	    LOG.error(Tools.getStackTrace(e));
 	}
 	return false;
@@ -155,10 +155,10 @@
      * @throws UnsupportedEncodingException
      */
-    public String executerReturnString(String methode, String... parametres) throws UnsupportedEncodingException {
+    public String executeReturnString(String methode, String... parametres) throws UnsupportedEncodingException {
 	if (parametres.length % 2 != 0 && !(parametres == null)) {
 	    try {
 		throw new Exception("Le nombre de parametres doit etre pair");
 	    } catch (Exception e) {
-		LOG.error(Outil.getStackTrace(e));
+		LOG.error(Tools.getStackTrace(e));
 		return null;
 	    }
@@ -180,15 +180,15 @@
 	    //	    System.out.println(Outil.readInputStreamAsString(streamResponse));
 	    //	    String toReturn = method.getResponseBodyAsString();
-	    String toReturn = Outil.readInputStreamAsString(streamResponse);
+	    String toReturn = Tools.readInputStreamAsString(streamResponse);
 	    LOG.debug(toReturn);
 	    return toReturn;
 	} catch (HttpException e) {
 	    // TODO Auto-generated catch block
-	    LOG.error(Outil.getStackTrace(e));
+	    LOG.error(Tools.getStackTrace(e));
 	} catch (IOException e) {
 	    // TODO Auto-generated catch block
-	    LOG.error(Outil.getStackTrace(e));
+	    LOG.error(Tools.getStackTrace(e));
 	} catch (IllegalArgumentException e) {
-	    LOG.error(Outil.getStackTrace(e));
+	    LOG.error(Tools.getStackTrace(e));
 	} finally {
 	    method.releaseConnection();
@@ -205,10 +205,10 @@
      * @throws IOException
      */
-    public Document executerReturnDocument(String methode, String... parametres) throws IOException {
+    public Document executeReturnDocument(String methode, String... parametres) throws IOException {
 	try {
-	    return Outil.stringToDocument(executerReturnString(methode, parametres));
+	    return Tools.stringToDocument(executeReturnString(methode, parametres));
 	} catch (JDOMException e) {
 	    // TODO Auto-generated catch block
-	    LOG.error(Outil.getStackTrace(e));
+	    LOG.error(Tools.getStackTrace(e));
 	}
 	return null;
@@ -221,13 +221,13 @@
      * @return the result
      */
-    public Document executerReturnDocument(String methode) {
+    public Document executeReturnDocument(String methode) {
 	try {
-	    return Outil.stringToDocument(executerReturnString(methode));
+	    return Tools.stringToDocument(executeReturnString(methode));
 	} catch (JDOMException e) {
 	    // TODO Auto-generated catch block
-	    LOG.error(Outil.getStackTrace(e));
+	    LOG.error(Tools.getStackTrace(e));
 	} catch (IOException e) {
 	    // TODO Auto-generated catch block
-	    LOG.error(Outil.getStackTrace(e));
+	    LOG.error(Tools.getStackTrace(e));
 	}
 	return null;
@@ -250,18 +250,4 @@
 
     /**
-     * @return the motDePasse
-     */
-    public String getMotDePasse() {
-	return motDePasse;
-    }
-
-    /**
-     * @param motDePasse the motDePasse to set
-     */
-    public void setMotDePasse(String motDePasse) {
-	this.motDePasse = motDePasse;
-    }
-
-    /**
      * @return the url
      */
@@ -312,9 +298,18 @@
     }
 
-    /**
-     * @return the erreurProxy
-     */
-    public boolean isErreurProxy() {
-	return erreurProxy;
+    public String getPassword() {
+	return password;
+    }
+
+    public void setPassword(String password) {
+	this.password = password;
+    }
+
+    public boolean isProxyError() {
+	return proxyError;
+    }
+
+    public void setProxyError(boolean proxyError) {
+	this.proxyError = proxyError;
     }
 
Index: extensions/jiwigo-ws-api/src/main/java/fr/mael/jiwigo/transverse/util/ImagesUtil.java
===================================================================
--- extensions/jiwigo-ws-api/src/main/java/fr/mael/jiwigo/transverse/util/ImagesUtil.java	(revision 9387)
+++ extensions/jiwigo-ws-api/src/main/java/fr/mael/jiwigo/transverse/util/ImagesUtil.java	(revision 9392)
@@ -87,5 +87,5 @@
 
     /**
-     * @return
+     * @return the graphics configuration
      */
     public static GraphicsConfiguration getDefaultConfiguration() {
Index: extensions/jiwigo-ws-api/src/main/java/fr/mael/jiwigo/transverse/util/Outil.java
===================================================================
--- extensions/jiwigo-ws-api/src/main/java/fr/mael/jiwigo/transverse/util/Outil.java	(revision 9387)
+++ 	(revision )
@@ -1,303 +1,0 @@
-package fr.mael.jiwigo.transverse.util;
-
-import java.io.BufferedReader;
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.PrintWriter;
-import java.io.StringReader;
-import java.io.StringWriter;
-import java.io.Writer;
-import java.net.URL;
-import java.net.URLClassLoader;
-import java.security.MessageDigest;
-import java.util.ArrayList;
-
-import org.apache.sanselan.Sanselan;
-import org.apache.sanselan.common.IImageMetadata;
-import org.apache.sanselan.formats.jpeg.JpegImageMetadata;
-import org.apache.sanselan.formats.jpeg.JpegPhotoshopMetadata;
-import org.apache.sanselan.formats.jpeg.exifRewrite.ExifRewriter;
-import org.apache.sanselan.formats.jpeg.iptc.JpegIptcRewriter;
-import org.apache.sanselan.formats.jpeg.iptc.PhotoshopApp13Data;
-import org.apache.sanselan.formats.tiff.write.TiffOutputSet;
-import org.jdom.Document;
-import org.jdom.JDOMException;
-import org.jdom.input.SAXBuilder;
-import org.jdom.output.XMLOutputter;
-
-/*
-Copyright (c) 2010, Mael
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
- * Redistributions of source code must retain the above copyright
-   notice, this list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above copyright
-   notice, this list of conditions and the following disclaimer in the
-   documentation and/or other materials provided with the distribution.
- * Neither the name of jiwigo nor the
-   names of its contributors may be used to endorse or promote products
-   derived from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-DISCLAIMED. IN NO EVENT SHALL Mael BE LIABLE FOR ANY
-DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*/
-/**
-
- * @author mael
- *
- */
-public class Outil {
-    /**
-     * Logger
-     */
-    public static final org.apache.commons.logging.Log LOG = org.apache.commons.logging.LogFactory.getLog(Outil.class);
-
-    /**
-     * Transformation of an inpustream into string.<br/>
-     * useful to read the result of the webservice
-     * @param input the stream
-     * @return the string
-     * @throws IOException
-     */
-    public static String readInputStreamAsString(InputStream input) throws IOException {
-	StringWriter writer = new StringWriter();
-	InputStreamReader streamReader = new InputStreamReader(input);
-	BufferedReader buffer = new BufferedReader(streamReader);
-	String line = "";
-	while (null != (line = buffer.readLine())) {
-	    writer.write(line);
-	}
-	return writer.toString();
-    }
-
-    /**
-     * String to document
-     * @param string the string
-     * @return the corresponding document
-     * @throws JDOMException
-     * @throws IOException
-     */
-    public static Document stringToDocument(String string) throws JDOMException, IOException {
-	SAXBuilder sb = new SAXBuilder();
-	Document doc = sb.build(new StringReader(string));
-	return doc;
-
-    }
-
-    /**
-     * Inputstream to document
-     * @param input the inputStream
-     * @return the document
-     * @throws JDOMException
-     * @throws IOException
-     */
-    public static Document readInputStreamAsDocument(InputStream input) throws JDOMException, IOException {
-	return stringToDocument(readInputStreamAsString(input));
-    }
-
-    /**
-     * Document to string
-     * @param doc the document to transform
-     * @return the string
-     */
-    public static String documentToString(Document doc) {
-	return new XMLOutputter().outputString(doc);
-
-    }
-
-    /**
-     * Function that gets the url of a file
-     * Useful to get the images that are in the jar
-     * @param fileName the path of the file
-     * @return the url of the file
-     */
-    public static URL getURL(String fileName) {
-	URLClassLoader urlLoader = (URLClassLoader) Outil.class.getClassLoader();
-	URL fileLocation = urlLoader.findResource(fileName);
-	return fileLocation;
-    }
-
-    /**
-     * gets the md5 sum of a file
-     * @param filename the path of the file
-     * @return the checksum
-     * @throws Exception
-     */
-    public static String getMD5Checksum(String filename) throws Exception {
-	byte[] b = createChecksum(filename);
-	String result = "";
-	for (int i = 0; i < b.length; i++) {
-	    result += Integer.toString((b[i] & 0xff) + 0x100, 16).substring(1);
-	}
-	return result;
-    }
-
-    /**
-     * Creation of the checksum of a file
-     * @param filename the path of the file
-     * @return the checksum as array byte
-     * @throws Exception
-     */
-    private static byte[] createChecksum(String filename) throws Exception {
-	InputStream fis = new FileInputStream(filename);
-
-	byte[] buffer = new byte[1024];
-	MessageDigest complete = MessageDigest.getInstance("MD5");
-	int numRead;
-	do {
-	    numRead = fis.read(buffer);
-	    if (numRead > 0) {
-		complete.update(buffer, 0, numRead);
-	    }
-	} while (numRead != -1);
-	fis.close();
-	return complete.digest();
-    }
-
-    /**
-     * File to array bytes
-     * @param file the file
-     * @return the array bytes
-     * @throws IOException
-     */
-    public static byte[] getBytesFromFile(File file) throws IOException {
-	InputStream is = new FileInputStream(file);
-	long length = file.length();
-
-	byte[] bytes = new byte[(int) length];
-	int offset = 0;
-	int numRead = 0;
-	while (offset < bytes.length && (numRead = is.read(bytes, offset, bytes.length - offset)) >= 0) {
-	    offset += numRead;
-	}
-
-	if (offset < bytes.length) {
-	    throw new IOException("Could not completely read file " + file.getName());
-	}
-	is.close();
-	return bytes;
-    }
-
-    /**
-     * Function that checks if the webservice response is ok
-     * @param doc the document from the webservice
-     * @return true if ok
-     */
-    public static boolean checkOk(Document doc) {
-	if (doc.getRootElement().getAttributeValue("stat").equals("ok")) {
-	    return true;
-	} else {
-	    LOG.error("Resultat : " + doc.getRootElement().getAttributeValue("stat") + "\nDocument retourné : \n"
-		    + Outil.documentToString(doc));
-	    return false;
-	}
-
-    }
-
-    /**
-     * Exception to string
-     * @param aThrowable exception
-     * @return l'exception en string
-     */
-    public static String getStackTrace(Throwable aThrowable) {
-	final Writer result = new StringWriter();
-	final PrintWriter printWriter = new PrintWriter(result);
-	aThrowable.printStackTrace(printWriter);
-	return result.toString();
-    }
-
-    /**
-     * Function that splits a file
-     * @param fichier the file to split
-     * @param size the size of the resulting chunks
-     * @return the list of files
-     * @throws IOException
-     */
-    //feature:0001827
-    public static ArrayList<File> splitFile(File fichier, int size) throws IOException {
-	FileInputStream fis = new FileInputStream(fichier);
-	byte buffer[] = new byte[size];
-	ArrayList<File> listFichiers = new ArrayList<File>();
-	int count = 0;
-	while (true) {
-	    int i = fis.read(buffer, 0, size);
-	    if (i == -1)
-		break;
-	    File file = new File(System.getProperty("java.io.tmpdir") + "/tempcut" + count);
-	    listFichiers.add(file);
-	    FileOutputStream fos = new FileOutputStream(file);
-	    fos.write(buffer, 0, i);
-	    fos.flush();
-	    fos.close();
-
-	    ++count;
-	}
-	return listFichiers;
-    }
-
-    /**
-     * Function used to put the exif and iptc metadata from one image to another
-     * @param enriched original image where the metadata comes from
-     * @param naked image where to put metadata
-     * @return enriched image
-     * @throws Exception
-     */
-    public static byte[] enrich(byte[] enriched, byte[] naked) throws Exception {
-
-	// read IPTC metadata from the original enriched image
-	IImageMetadata metadata = Sanselan.getMetadata(enriched);
-	JpegImageMetadata jpegMetadata = (JpegImageMetadata) metadata;
-	JpegPhotoshopMetadata photoshopMetadata = jpegMetadata.getPhotoshop();
-	if (photoshopMetadata == null) {
-	    return naked;
-	}
-
-	PhotoshopApp13Data data = photoshopMetadata.photoshopApp13Data;
-
-	// read the EXIF metadata from the parsed JPEG metadata
-	TiffOutputSet outputSet = jpegMetadata.getExif().getOutputSet();
-
-	// enrich the naked byte[] with EXIF metadata
-	ExifRewriter writer = new ExifRewriter();
-	ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
-	writer.updateExifMetadataLossless(naked, outputStream, outputSet);
-
-	// enrich the partially clothed byte[] with IPTC metadata
-	InputStream src = new ByteArrayInputStream(outputStream.toByteArray());
-	ByteArrayOutputStream dest = new ByteArrayOutputStream();
-	new JpegIptcRewriter().writeIPTC(src, dest, data);
-
-	// return the fully clothed image as a byte[]
-	return dest.toByteArray();
-    }
-
-    /**
-     * Bytes to file
-     * @param fichier the file path
-     * @param bytes the array bytes
-     * @throws IOException
-     */
-    public static void byteToFile(String fichier, byte[] bytes) throws IOException {
-	FileOutputStream fos = new FileOutputStream(fichier);
-	fos.write(bytes);
-	fos.flush();
-	fos.close();
-
-    }
-}
Index: extensions/jiwigo-ws-api/src/main/java/fr/mael/jiwigo/transverse/util/Tools.java
===================================================================
--- extensions/jiwigo-ws-api/src/main/java/fr/mael/jiwigo/transverse/util/Tools.java	(revision 9392)
+++ extensions/jiwigo-ws-api/src/main/java/fr/mael/jiwigo/transverse/util/Tools.java	(revision 9392)
@@ -0,0 +1,303 @@
+package fr.mael.jiwigo.transverse.util;
+
+import java.io.BufferedReader;
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.PrintWriter;
+import java.io.StringReader;
+import java.io.StringWriter;
+import java.io.Writer;
+import java.net.URL;
+import java.net.URLClassLoader;
+import java.security.MessageDigest;
+import java.util.ArrayList;
+
+import org.apache.sanselan.Sanselan;
+import org.apache.sanselan.common.IImageMetadata;
+import org.apache.sanselan.formats.jpeg.JpegImageMetadata;
+import org.apache.sanselan.formats.jpeg.JpegPhotoshopMetadata;
+import org.apache.sanselan.formats.jpeg.exifRewrite.ExifRewriter;
+import org.apache.sanselan.formats.jpeg.iptc.JpegIptcRewriter;
+import org.apache.sanselan.formats.jpeg.iptc.PhotoshopApp13Data;
+import org.apache.sanselan.formats.tiff.write.TiffOutputSet;
+import org.jdom.Document;
+import org.jdom.JDOMException;
+import org.jdom.input.SAXBuilder;
+import org.jdom.output.XMLOutputter;
+
+/*
+Copyright (c) 2010, Mael
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+ * Redistributions of source code must retain the above copyright
+   notice, this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+   notice, this list of conditions and the following disclaimer in the
+   documentation and/or other materials provided with the distribution.
+ * Neither the name of jiwigo nor the
+   names of its contributors may be used to endorse or promote products
+   derived from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL Mael BE LIABLE FOR ANY
+DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*/
+/**
+
+ * @author mael
+ *
+ */
+public class Tools {
+    /**
+     * Logger
+     */
+    public static final org.apache.commons.logging.Log LOG = org.apache.commons.logging.LogFactory.getLog(Tools.class);
+
+    /**
+     * Transformation of an inpustream into string.<br/>
+     * useful to read the result of the webservice
+     * @param input the stream
+     * @return the string
+     * @throws IOException
+     */
+    public static String readInputStreamAsString(InputStream input) throws IOException {
+	StringWriter writer = new StringWriter();
+	InputStreamReader streamReader = new InputStreamReader(input);
+	BufferedReader buffer = new BufferedReader(streamReader);
+	String line = "";
+	while (null != (line = buffer.readLine())) {
+	    writer.write(line);
+	}
+	return writer.toString();
+    }
+
+    /**
+     * String to document
+     * @param string the string
+     * @return the corresponding document
+     * @throws JDOMException
+     * @throws IOException
+     */
+    public static Document stringToDocument(String string) throws JDOMException, IOException {
+	SAXBuilder sb = new SAXBuilder();
+	Document doc = sb.build(new StringReader(string));
+	return doc;
+
+    }
+
+    /**
+     * Inputstream to document
+     * @param input the inputStream
+     * @return the document
+     * @throws JDOMException
+     * @throws IOException
+     */
+    public static Document readInputStreamAsDocument(InputStream input) throws JDOMException, IOException {
+	return stringToDocument(readInputStreamAsString(input));
+    }
+
+    /**
+     * Document to string
+     * @param doc the document to transform
+     * @return the string
+     */
+    public static String documentToString(Document doc) {
+	return new XMLOutputter().outputString(doc);
+
+    }
+
+    /**
+     * Function that gets the url of a file
+     * Useful to get the images that are in the jar
+     * @param fileName the path of the file
+     * @return the url of the file
+     */
+    public static URL getURL(String fileName) {
+	URLClassLoader urlLoader = (URLClassLoader) Tools.class.getClassLoader();
+	URL fileLocation = urlLoader.findResource(fileName);
+	return fileLocation;
+    }
+
+    /**
+     * gets the md5 sum of a file
+     * @param filename the path of the file
+     * @return the checksum
+     * @throws Exception
+     */
+    public static String getMD5Checksum(String filename) throws Exception {
+	byte[] b = createChecksum(filename);
+	String result = "";
+	for (int i = 0; i < b.length; i++) {
+	    result += Integer.toString((b[i] & 0xff) + 0x100, 16).substring(1);
+	}
+	return result;
+    }
+
+    /**
+     * Creation of the checksum of a file
+     * @param filename the path of the file
+     * @return the checksum as array byte
+     * @throws Exception
+     */
+    private static byte[] createChecksum(String filename) throws Exception {
+	InputStream fis = new FileInputStream(filename);
+
+	byte[] buffer = new byte[1024];
+	MessageDigest complete = MessageDigest.getInstance("MD5");
+	int numRead;
+	do {
+	    numRead = fis.read(buffer);
+	    if (numRead > 0) {
+		complete.update(buffer, 0, numRead);
+	    }
+	} while (numRead != -1);
+	fis.close();
+	return complete.digest();
+    }
+
+    /**
+     * File to array bytes
+     * @param file the file
+     * @return the array bytes
+     * @throws IOException
+     */
+    public static byte[] getBytesFromFile(File file) throws IOException {
+	InputStream is = new FileInputStream(file);
+	long length = file.length();
+
+	byte[] bytes = new byte[(int) length];
+	int offset = 0;
+	int numRead = 0;
+	while (offset < bytes.length && (numRead = is.read(bytes, offset, bytes.length - offset)) >= 0) {
+	    offset += numRead;
+	}
+
+	if (offset < bytes.length) {
+	    throw new IOException("Could not completely read file " + file.getName());
+	}
+	is.close();
+	return bytes;
+    }
+
+    /**
+     * Function that checks if the webservice response is ok
+     * @param doc the document from the webservice
+     * @return true if ok
+     */
+    public static boolean checkOk(Document doc) {
+	if (doc.getRootElement().getAttributeValue("stat").equals("ok")) {
+	    return true;
+	} else {
+	    LOG.error("Resultat : " + doc.getRootElement().getAttributeValue("stat") + "\nDocument retourné : \n"
+		    + Tools.documentToString(doc));
+	    return false;
+	}
+
+    }
+
+    /**
+     * Exception to string
+     * @param aThrowable exception
+     * @return l'exception en string
+     */
+    public static String getStackTrace(Throwable aThrowable) {
+	final Writer result = new StringWriter();
+	final PrintWriter printWriter = new PrintWriter(result);
+	aThrowable.printStackTrace(printWriter);
+	return result.toString();
+    }
+
+    /**
+     * Function that splits a file
+     * @param fichier the file to split
+     * @param size the size of the resulting chunks
+     * @return the list of files
+     * @throws IOException
+     */
+    //feature:0001827
+    public static ArrayList<File> splitFile(File fichier, int size) throws IOException {
+	FileInputStream fis = new FileInputStream(fichier);
+	byte buffer[] = new byte[size];
+	ArrayList<File> listFichiers = new ArrayList<File>();
+	int count = 0;
+	while (true) {
+	    int i = fis.read(buffer, 0, size);
+	    if (i == -1)
+		break;
+	    File file = new File(System.getProperty("java.io.tmpdir") + "/tempcut" + count);
+	    listFichiers.add(file);
+	    FileOutputStream fos = new FileOutputStream(file);
+	    fos.write(buffer, 0, i);
+	    fos.flush();
+	    fos.close();
+
+	    ++count;
+	}
+	return listFichiers;
+    }
+
+    /**
+     * Function used to put the exif and iptc metadata from one image to another
+     * @param enriched original image where the metadata comes from
+     * @param naked image where to put metadata
+     * @return enriched image
+     * @throws Exception
+     */
+    public static byte[] enrich(byte[] enriched, byte[] naked) throws Exception {
+
+	// read IPTC metadata from the original enriched image
+	IImageMetadata metadata = Sanselan.getMetadata(enriched);
+	JpegImageMetadata jpegMetadata = (JpegImageMetadata) metadata;
+	JpegPhotoshopMetadata photoshopMetadata = jpegMetadata.getPhotoshop();
+	if (photoshopMetadata == null) {
+	    return naked;
+	}
+
+	PhotoshopApp13Data data = photoshopMetadata.photoshopApp13Data;
+
+	// read the EXIF metadata from the parsed JPEG metadata
+	TiffOutputSet outputSet = jpegMetadata.getExif().getOutputSet();
+
+	// enrich the naked byte[] with EXIF metadata
+	ExifRewriter writer = new ExifRewriter();
+	ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
+	writer.updateExifMetadataLossless(naked, outputStream, outputSet);
+
+	// enrich the partially clothed byte[] with IPTC metadata
+	InputStream src = new ByteArrayInputStream(outputStream.toByteArray());
+	ByteArrayOutputStream dest = new ByteArrayOutputStream();
+	new JpegIptcRewriter().writeIPTC(src, dest, data);
+
+	// return the fully clothed image as a byte[]
+	return dest.toByteArray();
+    }
+
+    /**
+     * Bytes to file
+     * @param fichier the file path
+     * @param bytes the array bytes
+     * @throws IOException
+     */
+    public static void byteToFile(String fichier, byte[] bytes) throws IOException {
+	FileOutputStream fos = new FileOutputStream(fichier);
+	fos.write(bytes);
+	fos.flush();
+	fos.close();
+
+    }
+}
