Index: projets/BCCCC/src/org/ccc/bcccc/client/areas/DateRecordArea.java
===================================================================
--- projets/BCCCC/src/org/ccc/bcccc/client/areas/DateRecordArea.java	(revision 6)
+++ projets/BCCCC/src/org/ccc/bcccc/client/areas/DateRecordArea.java	(revision 7)
@@ -1,89 +0,0 @@
-/*
- * Authors: Matthieu Decorde
- * 
- * COPYRIGHT 2015 ICAR - CCC
- * 
- * This software is free software: you can redistribute it 
- * and/or modify it under the terms of the GNU General Public
- * License as published by the Free Software Foundation,
- * either version 2 of the License, or (at your option) any
- * later version.
- * 
- * This software is distributed in the hope that it will be
- * useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See the GNU General Public License for more
- * details.
- * 
- */
-package org.ccc.bcccc.client.areas;
-
-import java.util.Date;
-
-import org.ccc.bcccc.client.panels.EditPanel;
-
-import com.smartgwt.client.widgets.form.fields.DateItem;
-import com.smartgwt.client.widgets.form.fields.FormItem;
-import com.smartgwt.client.widgets.form.fields.PickerIcon;
-
-// TODO: Auto-generated Javadoc
-/**
- * The Class DateRecordArea.
- */
-public class DateRecordArea extends StringRecordField {
-
-	/** The field. */
-	FormItem field;
-	
-	/**
-	 * Instantiates a new date record area.
-	 *
-	 * @param panel the panel
-	 * @param name the name
-	 * @param multiple the multiple
-	 * @param freeField the free field
-	 * @param values the values
-	 */
-	public DateRecordArea(EditPanel panel, String name, boolean multiple, boolean freeField,
-			String[] values) {
-		super(panel, name, multiple, freeField, values);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.ccc.bcccc.client.areas.StringRecordField#createField()
-	 */
-	@Override
-	protected FormItem createField() {
-		String lname = name.toLowerCase().replace(" ", "");
-		field = new DateItem(lname+""+no++);
-		return field;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.ccc.bcccc.client.areas.StringRecordField#addDefaultPickers(com.smartgwt.client.widgets.form.fields.FormItem, com.smartgwt.client.widgets.form.fields.PickerIcon)
-	 */
-	protected void addDefaultPickers(FormItem field, PickerIcon editPicker) {
-		
-	}
-
-	/**
-	 * Sets the value.
-	 *
-	 * @param date the new value
-	 */
-	public void setValue(Date date) {
-		if (items.size() > 0 ) {
-			FormItem field = items.get(0);
-			((DateItem)field).setValue(date);
-		}
-	}
-
-	/**
-	 * Gets the date.
-	 *
-	 * @return the date
-	 */
-	public Date getDate() {
-		return ((DateItem)field).getValueAsDate();
-	}
-}
Index: projets/BCCCC/src/org/ccc/bcccc/client/areas/IntegerRecordArea.java
===================================================================
--- projets/BCCCC/src/org/ccc/bcccc/client/areas/IntegerRecordArea.java	(revision 6)
+++ projets/BCCCC/src/org/ccc/bcccc/client/areas/IntegerRecordArea.java	(revision 7)
@@ -1,97 +0,0 @@
-/*
- * Authors: Matthieu Decorde
- * 
- * COPYRIGHT 2015 ICAR - CCC
- * 
- * This software is free software: you can redistribute it 
- * and/or modify it under the terms of the GNU General Public
- * License as published by the Free Software Foundation,
- * either version 2 of the License, or (at your option) any
- * later version.
- * 
- * This software is distributed in the hope that it will be
- * useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See the GNU General Public License for more
- * details.
- * 
- */
-package org.ccc.bcccc.client.areas;
-
-import org.ccc.bcccc.client.panels.EditPanel;
-
-import com.smartgwt.client.types.TitleOrientation;
-import com.smartgwt.client.widgets.form.DynamicForm;
-import com.smartgwt.client.widgets.form.fields.SpinnerItem;
-import com.smartgwt.client.widgets.layout.HLayout;
-
-// TODO: Auto-generated Javadoc
-/**
- * The Class DoubleStringRecordArea.
- */
-public class IntegerRecordArea extends HLayout {
-
-	/** The name. */
-	String name;
-
-	/** The panel. */
-	protected EditPanel panel;
-
-	private SpinnerItem f;
-
-	/**
-	 * Instantiates a new string record field.
-	 *
-	 * @param panel the panel
-	 * @param name the name
-	 * @param multiple the multiple
-	 * @param freeField the free field
-	 * @param values the values
-	 */
-	public IntegerRecordArea(EditPanel panel, String name) {
-		this.panel = panel;
-		this.name = name;
-
-		DynamicForm form = new DynamicForm();
-		form.setTitleOrientation(TitleOrientation.LEFT);
-		form.setWidth100();
-
-		this.setWidth100();
-		this.addMember(form);
-
-		String lname = name.toLowerCase().replace(" ", "");
-		f = new SpinnerItem(lname);
-		f.setMin(1);
-		f.setMax(10000);
-		f.setTitle(name);
-		
-		form.setItems(f);
-	}
-
-	/**
-	 * Gets the value.
-	 *
-	 * @return the value
-	 */
-	public String getValue() {
-		return f.getValueAsString();
-	}
-
-	/**
-	 * Sets the can edit.
-	 *
-	 * @param v the new can edit
-	 */
-	public void setCanEdit(boolean v) {
-		f.setCanEdit(v);
-	}
-
-	/**
-	 * Sets the value.
-	 *
-	 * @param numberOfParticipants the new value
-	 */
-	public void setValue(int numberOfParticipants) {
-		f.setValue(numberOfParticipants);
-	}
-}
Index: projets/BCCCC/src/org/ccc/bcccc/client/areas/ValueItem.java
===================================================================
--- projets/BCCCC/src/org/ccc/bcccc/client/areas/ValueItem.java	(revision 6)
+++ projets/BCCCC/src/org/ccc/bcccc/client/areas/ValueItem.java	(revision 7)
@@ -1,28 +0,0 @@
-/*
- * Authors: Matthieu Decorde
- * 
- * COPYRIGHT 2015 ICAR - CCC
- * 
- * This software is free software: you can redistribute it 
- * and/or modify it under the terms of the GNU General Public
- * License as published by the Free Software Foundation,
- * either version 2 of the License, or (at your option) any
- * later version.
- * 
- * This software is distributed in the hope that it will be
- * useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See the GNU General Public License for more
- * details.
- * 
- */
-package org.ccc.bcccc.client.areas;
-
-import com.smartgwt.client.widgets.form.fields.FormItem;
-
-/**
- * The Class ValueItem.
- */
-public class ValueItem extends FormItem {
-
-}
Index: projets/BCCCC/src/org/ccc/bcccc/client/areas/LongStringRecordArea.java
===================================================================
--- projets/BCCCC/src/org/ccc/bcccc/client/areas/LongStringRecordArea.java	(revision 6)
+++ projets/BCCCC/src/org/ccc/bcccc/client/areas/LongStringRecordArea.java	(revision 7)
@@ -1,58 +0,0 @@
-/*
- * Authors: Matthieu Decorde
- * 
- * COPYRIGHT 2015 ICAR - CCC
- * 
- * This software is free software: you can redistribute it 
- * and/or modify it under the terms of the GNU General Public
- * License as published by the Free Software Foundation,
- * either version 2 of the License, or (at your option) any
- * later version.
- * 
- * This software is distributed in the hope that it will be
- * useful, but WITHOUT ANY WARRANTY; without even the implied
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See the GNU General Public License for more
- * details.
- * 
- */
-package org.ccc.bcccc.client.areas;
-
-import org.ccc.bcccc.client.panels.EditPanel;
-
-import com.smartgwt.client.widgets.form.fields.FormItem;
-import com.smartgwt.client.widgets.form.fields.TextAreaItem;
-
-
-// TODO: Auto-generated Javadoc
-/**
- * The Class LongStringRecordArea.
- */
-public class LongStringRecordArea extends StringRecordField {
-
-	/** The no. */
-	protected static int no = 1;
-	
-	/**
-	 * Instantiates a new long string record area.
-	 *
-	 * @param panel the panel
-	 * @param name the name
-	 * @param multiple the multiple
-	 * @param freeField the free field
-	 */
-	public LongStringRecordArea(EditPanel panel, String name, boolean multiple, boolean freeField) {
-		super(panel, name, multiple, freeField, null);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.ccc.bcccc.client.areas.StringRecordField#createField()
-	 */
-	protected FormItem createField() {
-		String lname = name.toLowerCase().replace(" ", "");
-		FormItem field;
-		field = new TextAreaItem(lname+no++);
-		
-		return field;
-	}
-}
\ No newline at end of file
Index: projets/BCCCC/src/org/ccc/bcccc/client/areas/DateRecordField.java
===================================================================
--- projets/BCCCC/src/org/ccc/bcccc/client/areas/DateRecordField.java	(revision 0)
+++ projets/BCCCC/src/org/ccc/bcccc/client/areas/DateRecordField.java	(revision 7)
@@ -0,0 +1,89 @@
+/*
+ * Authors: Matthieu Decorde
+ * 
+ * COPYRIGHT 2015 ICAR - CCC
+ * 
+ * This software is free software: you can redistribute it 
+ * and/or modify it under the terms of the GNU General Public
+ * License as published by the Free Software Foundation,
+ * either version 2 of the License, or (at your option) any
+ * later version.
+ * 
+ * This software is distributed in the hope that it will be
+ * useful, but WITHOUT ANY WARRANTY; without even the implied
+ * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE. See the GNU General Public License for more
+ * details.
+ * 
+ */
+package org.ccc.bcccc.client.areas;
+
+import java.util.Date;
+
+import org.ccc.bcccc.client.panels.EditPanel;
+
+import com.smartgwt.client.widgets.form.fields.DateItem;
+import com.smartgwt.client.widgets.form.fields.FormItem;
+import com.smartgwt.client.widgets.form.fields.PickerIcon;
+
+// TODO: Auto-generated Javadoc
+/**
+ * The Class DateRecordArea.
+ */
+public class DateRecordField extends StringRecordField {
+
+	/** The field. */
+	FormItem field;
+	
+	/**
+	 * Instantiates a new date record area.
+	 *
+	 * @param panel the panel
+	 * @param name the name
+	 * @param multiple the multiple
+	 * @param freeField the free field
+	 * @param values the values
+	 */
+	public DateRecordField(EditPanel panel, String name, boolean multiple, boolean freeField,
+			String[] values) {
+		super(panel, name, multiple, freeField, values);
+	}
+	
+	/* (non-Javadoc)
+	 * @see org.ccc.bcccc.client.areas.StringRecordField#createField()
+	 */
+	@Override
+	protected FormItem createField() {
+		String lname = name.toLowerCase().replace(" ", "");
+		field = new DateItem(lname+""+no++);
+		return field;
+	}
+	
+	/* (non-Javadoc)
+	 * @see org.ccc.bcccc.client.areas.StringRecordField#addDefaultPickers(com.smartgwt.client.widgets.form.fields.FormItem, com.smartgwt.client.widgets.form.fields.PickerIcon)
+	 */
+	protected void addDefaultPickers(FormItem field, PickerIcon editPicker) {
+		
+	}
+
+	/**
+	 * Sets the value.
+	 *
+	 * @param date the new value
+	 */
+	public void setValue(Date date) {
+		if (items.size() > 0 ) {
+			FormItem field = items.get(0);
+			((DateItem)field).setValue(date);
+		}
+	}
+
+	/**
+	 * Gets the date.
+	 *
+	 * @return the date
+	 */
+	public Date getDate() {
+		return ((DateItem)field).getValueAsDate();
+	}
+}
Index: projets/BCCCC/src/org/ccc/bcccc/client/areas/RecordPersonsArea.java
===================================================================
--- projets/BCCCC/src/org/ccc/bcccc/client/areas/RecordPersonsArea.java	(revision 0)
+++ projets/BCCCC/src/org/ccc/bcccc/client/areas/RecordPersonsArea.java	(revision 7)
@@ -0,0 +1,168 @@
+/*
+ * Authors: Matthieu Decorde
+ * 
+ * COPYRIGHT 2015 ICAR - CCC
+ * 
+ * This software is free software: you can redistribute it 
+ * and/or modify it under the terms of the GNU General Public
+ * License as published by the Free Software Foundation,
+ * either version 2 of the License, or (at your option) any
+ * later version.
+ * 
+ * This software is distributed in the hope that it will be
+ * useful, but WITHOUT ANY WARRANTY; without even the implied
+ * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE. See the GNU General Public License for more
+ * details.
+ * 
+ */
+package org.ccc.bcccc.client.areas;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.ccc.bcccc.client.areas.fields.PersonRecordField;
+import org.ccc.bcccc.client.panels.EditPanel;
+
+import com.google.gwt.user.client.ui.Label;
+import com.smartgwt.client.types.TitleOrientation;
+import com.smartgwt.client.util.SC;
+import com.smartgwt.client.util.ValueCallback;
+import com.smartgwt.client.widgets.Button;
+import com.smartgwt.client.widgets.form.DynamicForm;
+import com.smartgwt.client.widgets.form.fields.FormItem;
+import com.smartgwt.client.widgets.form.fields.PickerIcon;
+import com.smartgwt.client.widgets.form.fields.PickerIcon.Picker;
+import com.smartgwt.client.widgets.form.fields.SelectItem;
+import com.smartgwt.client.widgets.form.fields.StaticTextItem;
+import com.smartgwt.client.widgets.form.fields.TextItem;
+import com.smartgwt.client.widgets.form.fields.events.FormItemClickHandler;
+import com.smartgwt.client.widgets.form.fields.events.FormItemIconClickEvent;
+import com.smartgwt.client.widgets.layout.HLayout;
+import com.smartgwt.client.widgets.layout.VLayout;
+
+
+// TODO: Auto-generated Javadoc
+/**
+ * The Class StringRecordField.
+ */
+public class RecordPersonsArea extends VLayout {
+
+
+
+	/** The name. */
+	String name;
+
+	/** The items. */
+	ArrayList<PersonRecordField> items = new ArrayList<PersonRecordField>();
+	
+	/** The panel. */
+	protected EditPanel panel;
+
+	/** The form. */
+	DynamicForm form;
+
+	/**
+	 * Instantiates a new string record field.
+	 *
+	 * @param panel the panel
+	 * @param name the name
+	 * @param multiple the multiple
+	 * @param freeField the free field
+	 * @param values the values
+	 */
+	public RecordPersonsArea(EditPanel panel) {
+		this.panel = panel;
+		this.name = "Personnes impliquées";
+
+		this.addMember(new Label(name));
+		
+		Button addButton = new Button("Ajouter une personne impliquée");
+		this.addMember(addButton);
+		addButton.addClickHandler(new com.smartgwt.client.widgets.events.ClickHandler() {
+			
+			@Override
+			public void onClick(com.smartgwt.client.widgets.events.ClickEvent event) {
+				addAField();
+			}
+		});
+		
+		this.setWidth100();
+
+		addAField();
+	}
+
+	/**
+	 * Adds the a field.
+	 */
+	public void addAField() {
+		
+		//String lname = name.toLowerCase().replace(" ", "");
+		PersonRecordField field = new PersonRecordField(this, name);
+		this.addMember(field); // add the new field item
+		
+	}
+
+	/**
+	 * Adds the default pickers.
+	 *
+	 * @param field the field
+	 * @param editPicker the edit picker
+	 */
+	protected void addDefaultPickers(FormItem field, PickerIcon editPicker) {
+		field.setIcons(editPicker);
+	}
+
+	/**
+	 * Gets the value.
+	 *
+	 * @return the value
+	 */
+	public String getValue() {
+		if (items.size() > 0) {
+			return items.get(0).getValue();
+		}
+		return "";
+	}
+
+	/**
+	 * Gets the values as string array.
+	 *
+	 * @return the values as string array
+	 */
+	public ArrayList<String> getValuesAsStringArray() {
+		ArrayList<String> ret = new ArrayList<String>();
+		for (PersonRecordField item : items) {
+			ret.add(item.getValue());
+		}
+		return ret;
+	}
+
+	/**
+	 * Sets the can edit.
+	 *
+	 * @param v the new can edit
+	 */
+	public void setCanEdit(boolean v) {
+		if (form != null)
+			form.setCanEdit(v);
+	}
+
+	/**
+	 * Sets the values.
+	 *
+	 * @param values the new values
+	 */
+	public void setValues(List<String> values) {
+		for (int i = 0 ; i < values.size() ; i++) {
+			if (items.size() <= i) addAField();
+			items.get(i).setValue(values.get(i));
+		}
+	}
+
+	public void removeAField(PersonRecordField personRecordField) {
+		items.remove(personRecordField);
+		this.removeMember(personRecordField);
+		personRecordField.destroy();
+	}
+}
\ No newline at end of file

Property changes on: projets/BCCCC/src/org/ccc/bcccc/client/areas/RecordPersonsArea.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: projets/BCCCC/src/org/ccc/bcccc/client/areas/RecordNameField.java
===================================================================
--- projets/BCCCC/src/org/ccc/bcccc/client/areas/RecordNameField.java	(revision 0)
+++ projets/BCCCC/src/org/ccc/bcccc/client/areas/RecordNameField.java	(revision 7)
@@ -0,0 +1,113 @@
+/*
+ * Authors: Matthieu Decorde
+ * 
+ * COPYRIGHT 2015 ICAR - CCC
+ * 
+ * This software is free software: you can redistribute it 
+ * and/or modify it under the terms of the GNU General Public
+ * License as published by the Free Software Foundation,
+ * either version 2 of the License, or (at your option) any
+ * later version.
+ * 
+ * This software is distributed in the hope that it will be
+ * useful, but WITHOUT ANY WARRANTY; without even the implied
+ * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE. See the GNU General Public License for more
+ * details.
+ * 
+ */
+package org.ccc.bcccc.client.areas;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.ccc.bcccc.client.panels.EditPanel;
+
+import com.google.gwt.user.client.ui.Label;
+import com.smartgwt.client.types.TitleOrientation;
+import com.smartgwt.client.util.SC;
+import com.smartgwt.client.util.ValueCallback;
+import com.smartgwt.client.widgets.form.DynamicForm;
+import com.smartgwt.client.widgets.form.fields.FormItem;
+import com.smartgwt.client.widgets.form.fields.PickerIcon;
+import com.smartgwt.client.widgets.form.fields.PickerIcon.Picker;
+import com.smartgwt.client.widgets.form.fields.SelectItem;
+import com.smartgwt.client.widgets.form.fields.StaticTextItem;
+import com.smartgwt.client.widgets.form.fields.TextItem;
+import com.smartgwt.client.widgets.form.fields.events.FormItemClickHandler;
+import com.smartgwt.client.widgets.form.fields.events.FormItemIconClickEvent;
+import com.smartgwt.client.widgets.layout.HLayout;
+
+
+// TODO: Auto-generated Javadoc
+/**
+ * The Class StringRecordField.
+ */
+public class RecordNameField extends HLayout {
+
+	/** The no. */
+	protected static int no = 1;
+	
+	/** The panel. */
+	protected EditPanel panel;
+	
+	/** The form. */
+	DynamicForm form;
+	TextItem field;
+
+	/**
+	 * Instantiates a new string record field.
+	 *
+	 * @param panel the panel
+	 * @param name the name
+	 * @param multiple the multiple
+	 * @param freeField the free field
+	 * @param values the values
+	 */
+	public RecordNameField(EditPanel panel) {
+		this.panel = panel;
+
+		form = new DynamicForm();
+		form.setTitleOrientation(TitleOrientation.LEFT);
+		form.setWidth100();
+		
+		this.setWidth100();
+		this.addMember(form);
+
+		field = new TextItem("name"+no++);
+		field.setTitle("Nom de la fiche");
+		form.setFields(field);
+	}
+
+	/**
+	 * Gets the value.
+	 *
+	 * @return the value
+	 */
+	public String getValue() {
+		Object v = field.getValue();
+		if (v == null) return "";
+		return field.getValueAsString();
+	}
+
+	
+
+	/**
+	 * Sets the can edit.
+	 *
+	 * @param v the new can edit
+	 */
+	public void setCanEdit(boolean v) {
+		if (form != null)
+			form.setCanEdit(v);
+	}
+
+	/**
+	 * Sets the value.
+	 *
+	 * @param v the new value
+	 */
+	public void setValue(String v) {
+		field.setValue(v);
+	}
+}
\ No newline at end of file

Property changes on: projets/BCCCC/src/org/ccc/bcccc/client/areas/RecordNameField.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: projets/BCCCC/src/org/ccc/bcccc/client/areas/PublicationsRecordArea.java
===================================================================
--- projets/BCCCC/src/org/ccc/bcccc/client/areas/PublicationsRecordArea.java	(revision 6)
+++ projets/BCCCC/src/org/ccc/bcccc/client/areas/PublicationsRecordArea.java	(revision 7)
@@ -25,6 +25,7 @@
 import org.ccc.bcccc.client.panels.EditPanel;
 import org.ccc.bcccc.shared.Publication;
 
+import com.smartgwt.client.widgets.Button;
 import com.smartgwt.client.widgets.Label;
 import com.smartgwt.client.widgets.layout.VLayout;
 
@@ -47,9 +48,19 @@
 		this.setWidth100();
 		
 		Label title = new Label();
-		title.setContents("Publications");
+		title.setContents(name);
 		this.addMember(title);
 		
+		Button addButton = new Button("Ajouter une publication");
+		this.addMember(addButton);
+		addButton.addClickHandler(new com.smartgwt.client.widgets.events.ClickHandler() {
+			
+			@Override
+			public void onClick(com.smartgwt.client.widgets.events.ClickEvent event) {
+				addAField();
+			}
+		});
+		
 		addAField(); // create at least one entry
 	}
 
@@ -75,6 +86,11 @@
 	 * @param values the new publication values
 	 */
 	public void setValues(List<Publication> values) {
+		
+		while (fields.size() > values.size() ) {
+			this.remove(fields.get(0));
+		}
+		
 		int i = 0;
 		for (Publication d : values) {
 			if (fields.size() <= i) addAField();
Index: projets/BCCCC/src/org/ccc/bcccc/client/areas/RecordDescriptionField.java
===================================================================
--- projets/BCCCC/src/org/ccc/bcccc/client/areas/RecordDescriptionField.java	(revision 0)
+++ projets/BCCCC/src/org/ccc/bcccc/client/areas/RecordDescriptionField.java	(revision 7)
@@ -0,0 +1,73 @@
+/*
+ * Authors: Matthieu Decorde
+ * 
+ * COPYRIGHT 2015 ICAR - CCC
+ * 
+ * This software is free software: you can redistribute it 
+ * and/or modify it under the terms of the GNU General Public
+ * License as published by the Free Software Foundation,
+ * either version 2 of the License, or (at your option) any
+ * later version.
+ * 
+ * This software is distributed in the hope that it will be
+ * useful, but WITHOUT ANY WARRANTY; without even the implied
+ * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE. See the GNU General Public License for more
+ * details.
+ * 
+ */
+package org.ccc.bcccc.client.areas;
+
+import org.ccc.bcccc.client.panels.EditPanel;
+
+import com.smartgwt.client.widgets.Label;
+import com.smartgwt.client.widgets.RichTextEditor;
+import com.smartgwt.client.widgets.form.DynamicForm;
+import com.smartgwt.client.widgets.layout.HLayout;
+
+
+// TODO: Auto-generated Javadoc
+/**
+ * The Class LongStringRecordArea.
+ */
+public class RecordDescriptionField extends HLayout {
+
+	/** The no. */
+	protected static int no = 1;
+	DynamicForm form;
+	RichTextEditor field;
+	
+	/**
+	 * Instantiates a new long string record area.
+	 *
+	 * @param panel the panel
+	 * @param name the name
+	 * @param multiple the multiple
+	 * @param freeField the free field
+	 */
+	public RecordDescriptionField(EditPanel panel) {
+		super();
+		
+		this.setWidth100();
+		
+		Label l = new Label();
+		l.setContents("Description courte<br>(20 lignes max)");
+		
+		field = new RichTextEditor();
+		field.setHeight(200);  
+        field.setCanDragResize(true);  
+        field.setShowEdges(true);  
+        field.setWidth("100%");
+		
+        this.addMember(l);
+        this.addMember(field);
+	}
+
+	public String getValue() {
+		return field.getValue();
+	}
+
+	public void setValue(String short_description) {
+		field.setValue(short_description);
+	}
+}
\ No newline at end of file
Index: projets/BCCCC/src/org/ccc/bcccc/client/areas/ReportsRecordArea.java
===================================================================
--- projets/BCCCC/src/org/ccc/bcccc/client/areas/ReportsRecordArea.java	(revision 6)
+++ projets/BCCCC/src/org/ccc/bcccc/client/areas/ReportsRecordArea.java	(revision 7)
@@ -25,6 +25,7 @@
 import org.ccc.bcccc.client.panels.EditPanel;
 import org.ccc.bcccc.shared.Report;
 
+import com.smartgwt.client.widgets.Button;
 import com.smartgwt.client.widgets.Label;
 import com.smartgwt.client.widgets.layout.VLayout;
 
@@ -47,9 +48,19 @@
 		this.setWidth100();
 		
 		Label title = new Label();
-		title.setContents("Reports");
+		title.setContents(name);
 		this.addMember(title);
 		
+		Button addButton = new Button("Ajouter un rapport");
+		this.addMember(addButton);
+		addButton.addClickHandler(new com.smartgwt.client.widgets.events.ClickHandler() {
+			
+			@Override
+			public void onClick(com.smartgwt.client.widgets.events.ClickEvent event) {
+				addAField();
+			}
+		});
+		
 		addAField(); // create at least one entry
 	}
 
@@ -72,6 +83,11 @@
 	 * @param values the new values
 	 */
 	public void setValues(List<Report> values) {
+		
+		while (fields.size() > values.size() ) {
+			this.removeField(fields.get(0));
+		}
+		
 		int i = 0;
 		for (Report d : values) {
 			if (fields.size() <= i) addAField();
Index: projets/BCCCC/src/org/ccc/bcccc/client/areas/fields/DocumentRecordField.java
===================================================================
--- projets/BCCCC/src/org/ccc/bcccc/client/areas/fields/DocumentRecordField.java	(revision 6)
+++ projets/BCCCC/src/org/ccc/bcccc/client/areas/fields/DocumentRecordField.java	(revision 7)
@@ -18,24 +18,15 @@
  */
 package org.ccc.bcccc.client.areas.fields;
 
-import org.ccc.bcccc.client.areas.DispositifsRecordArea;
 import org.ccc.bcccc.client.areas.DocumentsRecordArea;
-import org.ccc.bcccc.shared.Dispositif;
 import org.ccc.bcccc.shared.DocumentUnit;
 
-import com.smartgwt.client.util.SC;
-import com.smartgwt.client.util.ValueCallback;
 import com.smartgwt.client.widgets.form.DynamicForm;
 import com.smartgwt.client.widgets.form.fields.ButtonItem;
-import com.smartgwt.client.widgets.form.fields.CheckboxItem;
-import com.smartgwt.client.widgets.form.fields.PickerIcon;
-import com.smartgwt.client.widgets.form.fields.PickerIcon.Picker;
 import com.smartgwt.client.widgets.form.fields.SelectItem;
-import com.smartgwt.client.widgets.form.fields.StaticTextItem;
+import com.smartgwt.client.widgets.form.fields.TextItem;
 import com.smartgwt.client.widgets.form.fields.events.ClickEvent;
 import com.smartgwt.client.widgets.form.fields.events.ClickHandler;
-import com.smartgwt.client.widgets.form.fields.events.FormItemClickHandler;
-import com.smartgwt.client.widgets.form.fields.events.FormItemIconClickEvent;
 
 // TODO: Auto-generated Javadoc
 /**
@@ -53,10 +44,10 @@
 	int n;
 	
 	/** The name field. */
-	StaticTextItem nameItem;
+	TextItem nameItem;
 	
 	/** The url field. */
-	StaticTextItem urlField;
+	TextItem urlField;
 	
 	/** The type field. */
 	SelectItem typeField;
@@ -71,63 +62,23 @@
 		
 		this.area = area;
 		this.n = n;
-		this.setNumCols(8);
+		this.setNumCols(7);
 		
-		nameItem = new StaticTextItem("docname"+(n));
+		nameItem = new TextItem("docname"+(n));
 		nameItem.setTitle("Name");
-		Picker EDIT = new Picker("pickers/edit.png");
-		PickerIcon nameEditPicker = new PickerIcon(EDIT, new FormItemClickHandler() {  
-			public void onFormItemClick(FormItemIconClickEvent event) { 
-				SC.askforValue("Enter the new value of Name of the document", new ValueCallback() {
-					@Override
-					public void execute(String value) {
-						if (value != null) {
-							nameItem.setValue(value);
-						}
-					}
-				});
-			}  
-		});
-		nameItem.setIcons(nameEditPicker);
-		
+				
 		typeField = new SelectItem("doctype"+(n));
 		typeField.setValueMap(DocumentUnit.values);
 		typeField.setTitle("Type");
 		
-		urlField = new StaticTextItem("docurl"+(n));
+		urlField = new TextItem("docurl"+(n));
 		urlField.setTitle("URL");
-		PickerIcon urlEditPicker = new PickerIcon(EDIT, new FormItemClickHandler() {  
-			public void onFormItemClick(FormItemIconClickEvent event) { 
-				SC.askforValue("Enter the new value of URL of the document", new ValueCallback() {
-					@Override
-					public void execute(String value) {
-						if (value != null) {
-							urlField.setValue(value);
-						}
-					}
-				});
 
-			}  
-		});
-		urlField.setIcons(urlEditPicker);
-
-		ButtonItem addButton = new ButtonItem("dispadd"+n);
-		addButton.setTitle("+");
-		addButton.setStartRow(false);
-		addButton.setEndRow(false);
-
 		ButtonItem removeButton = new ButtonItem("dispremove"+n);
 		removeButton.setTitle("-");
 		removeButton.setStartRow(false);
 		removeButton.setEndRow(false);
 
-		addButton.addClickHandler(new ClickHandler() {
-			@Override
-			public void onClick(ClickEvent event) {
-				DocumentRecordField.this.area.addAField();
-			}
-		});
-
 		removeButton.addClickHandler(new ClickHandler() {
 			@Override
 			public void onClick(ClickEvent event) {
@@ -135,7 +86,7 @@
 			}
 		});
 
-		this.setItems(nameItem, typeField, urlField, removeButton, addButton);
+		this.setItems(nameItem, typeField, urlField, removeButton);
 
 	}
 	
@@ -157,13 +108,14 @@
 	 */
 	public DocumentUnit getValue() {
 		r.type = typeField.getValueAsString();
+		
 		Object o = urlField.getValue();
 		if (o != null) r.url = urlField.getValue().toString();
 		else r.url = "";
 		
 		o = nameItem.getValue();
 		if (o != null)  r.name = nameItem.getValue().toString();
-		r.name = "";
+		else r.name = "";
 		return r;
 	}
 }
Index: projets/BCCCC/src/org/ccc/bcccc/client/areas/fields/DispositifsRecordField.java
===================================================================
--- projets/BCCCC/src/org/ccc/bcccc/client/areas/fields/DispositifsRecordField.java	(revision 6)
+++ projets/BCCCC/src/org/ccc/bcccc/client/areas/fields/DispositifsRecordField.java	(revision 7)
@@ -30,6 +30,7 @@
 import com.smartgwt.client.widgets.form.fields.PickerIcon.Picker;
 import com.smartgwt.client.widgets.form.fields.SelectItem;
 import com.smartgwt.client.widgets.form.fields.StaticTextItem;
+import com.smartgwt.client.widgets.form.fields.TextItem;
 import com.smartgwt.client.widgets.form.fields.events.ClickEvent;
 import com.smartgwt.client.widgets.form.fields.events.ClickHandler;
 import com.smartgwt.client.widgets.form.fields.events.FormItemClickHandler;
@@ -54,7 +55,7 @@
 	SelectItem typeField;
 	
 	/** The url field. */
-	StaticTextItem urlField;
+	TextItem urlField;
 	
 	/** The mobile item. */
 	CheckboxItem mobileItem;
@@ -69,50 +70,23 @@
 		
 		this.area = area;
 		this.n = n;
-		this.setNumCols(8);
+		this.setNumCols(7);
 		
 		typeField = new SelectItem("dispname"+(n));
 		typeField.setValueMap(Dispositif.types);
 		typeField.setTitle("Type");
 
-		urlField = new StaticTextItem("dispurl"+(n));
+		urlField = new TextItem("dispurl"+(n));
 		urlField.setTitle("URL");
-		Picker EDIT = new Picker("pickers/edit.png");
-		PickerIcon urlEditPicker = new PickerIcon(EDIT, new FormItemClickHandler() {  
-			public void onFormItemClick(FormItemIconClickEvent event) { 
-				SC.askforValue("Enter the new value of URL of the dispositif", new ValueCallback() {
-					@Override
-					public void execute(String value) {
-						if (value != null) {
-							urlField.setValue(value);
-						}
-					}
-				});
-
-			}  
-		});
-		urlField.setIcons(urlEditPicker);
-
+		
 		mobileItem = new CheckboxItem("dispmobile"+(n));
 		mobileItem.setTitle("mobile");
 
-		ButtonItem addButton = new ButtonItem("dispadd"+n);
-		addButton.setTitle("+");
-		addButton.setStartRow(false);
-		addButton.setEndRow(true);
-
 		ButtonItem removeButton = new ButtonItem("dispremove"+n);
 		removeButton.setTitle("-");
 		removeButton.setStartRow(false);
 		removeButton.setEndRow(false);
 
-		addButton.addClickHandler(new ClickHandler() {
-			@Override
-			public void onClick(ClickEvent event) {
-				DispositifsRecordField.this.area.addAField();
-			}
-		});
-
 		removeButton.addClickHandler(new ClickHandler() {
 			@Override
 			public void onClick(ClickEvent event) {
@@ -120,7 +94,7 @@
 			}
 		});
 
-		this.setItems(typeField, urlField, mobileItem, removeButton, addButton);
+		this.setItems(typeField, urlField, mobileItem, removeButton);
 
 	}
 	
@@ -142,9 +116,11 @@
 	 */
 	public Dispositif getValue() {
 		r.type = typeField.getValueAsString();
+		
 		Object o = urlField.getValue();
 		if (o != null) r.url = urlField.getValue().toString();
 		else r.url = "";
+		
 		r.mobile = mobileItem.getValueAsBoolean();
 		return r;
 	}
Index: projets/BCCCC/src/org/ccc/bcccc/client/areas/fields/TypeRecordField.java
===================================================================
--- projets/BCCCC/src/org/ccc/bcccc/client/areas/fields/TypeRecordField.java	(revision 0)
+++ projets/BCCCC/src/org/ccc/bcccc/client/areas/fields/TypeRecordField.java	(revision 7)
@@ -0,0 +1,46 @@
+package org.ccc.bcccc.client.areas.fields;
+
+import org.ccc.bcccc.client.areas.RecordTypesArea;
+
+import com.smartgwt.client.widgets.form.DynamicForm;
+import com.smartgwt.client.widgets.form.fields.PickerIcon;
+import com.smartgwt.client.widgets.form.fields.SelectItem;
+import com.smartgwt.client.widgets.form.fields.events.FormItemClickHandler;
+import com.smartgwt.client.widgets.form.fields.events.FormItemIconClickEvent;
+import com.smartgwt.client.widgets.layout.HLayout;
+
+public class TypeRecordField  extends HLayout {
+
+	/** The no. */
+	protected static int no = 1;
+	RecordTypesArea area;
+	final public String[] typesValues = {"privé", "commerce", "école", "etc."};
+	SelectItem field;
+	
+	public TypeRecordField(RecordTypesArea area, String name) {
+		this.area = area;
+		field = new SelectItem("person"+no++);
+		field.setValueMap(typesValues);
+		field.setShowTitle(false);
+		
+		PickerIcon removePicker = new PickerIcon(PickerIcon.CLEAR, new FormItemClickHandler() {  
+			public void onFormItemClick(FormItemIconClickEvent event) {  
+				TypeRecordField.this.area.remove(TypeRecordField.this);
+			}  
+		}); 
+
+		field.setIcons(removePicker);
+
+		DynamicForm form = new DynamicForm();
+		form.setFields(field);
+		this.addMember(form);
+	}
+	public String getValue() {
+		Object v = field.getValue();
+		if (v == null) return "";
+		return v.toString();
+	}
+	public void setValue(String v) {
+		field.setValue(v);
+	}
+}

Property changes on: projets/BCCCC/src/org/ccc/bcccc/client/areas/fields/TypeRecordField.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: projets/BCCCC/src/org/ccc/bcccc/client/areas/fields/PersonRecordField.java
===================================================================
--- projets/BCCCC/src/org/ccc/bcccc/client/areas/fields/PersonRecordField.java	(revision 0)
+++ projets/BCCCC/src/org/ccc/bcccc/client/areas/fields/PersonRecordField.java	(revision 7)
@@ -0,0 +1,45 @@
+package org.ccc.bcccc.client.areas.fields;
+
+import org.ccc.bcccc.client.areas.RecordPersonsArea;
+
+import com.smartgwt.client.widgets.form.DynamicForm;
+import com.smartgwt.client.widgets.form.fields.PickerIcon;
+import com.smartgwt.client.widgets.form.fields.TextItem;
+import com.smartgwt.client.widgets.form.fields.events.FormItemClickHandler;
+import com.smartgwt.client.widgets.form.fields.events.FormItemIconClickEvent;
+import com.smartgwt.client.widgets.layout.HLayout;
+
+public class PersonRecordField  extends HLayout {
+
+	/** The no. */
+	protected static int no = 1;
+	RecordPersonsArea area;
+	
+	TextItem field;
+	public PersonRecordField(RecordPersonsArea area, String name) {
+		this.area = area;
+		
+		field = new TextItem("person"+no++);
+		field.setShowTitle(false);
+		
+		PickerIcon removePicker = new PickerIcon(PickerIcon.CLEAR, new FormItemClickHandler() {  
+			public void onFormItemClick(FormItemIconClickEvent event) {  
+				PersonRecordField.this.area.removeAField(PersonRecordField.this);
+			}  
+		}); 
+
+		field.setIcons(removePicker);
+
+		DynamicForm form = new DynamicForm();
+		form.setFields(field);
+		this.addMember(form);
+	}
+	public String getValue() {
+		Object v = field.getValue();
+		if (v == null) return "";
+		return v.toString();
+	}
+	public void setValue(String v) {
+		field.setValue(v);
+	}
+}

Property changes on: projets/BCCCC/src/org/ccc/bcccc/client/areas/fields/PersonRecordField.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: projets/BCCCC/src/org/ccc/bcccc/client/areas/fields/DataRecordField.java
===================================================================
--- projets/BCCCC/src/org/ccc/bcccc/client/areas/fields/DataRecordField.java	(revision 6)
+++ projets/BCCCC/src/org/ccc/bcccc/client/areas/fields/DataRecordField.java	(revision 7)
@@ -30,6 +30,7 @@
 import com.smartgwt.client.widgets.form.fields.SelectItem;
 import com.smartgwt.client.widgets.form.fields.StaticTextItem;
 import com.smartgwt.client.widgets.form.fields.PickerIcon.Picker;
+import com.smartgwt.client.widgets.form.fields.TextItem;
 import com.smartgwt.client.widgets.form.fields.events.ClickEvent;
 import com.smartgwt.client.widgets.form.fields.events.ClickHandler;
 import com.smartgwt.client.widgets.form.fields.events.FormItemClickHandler;
@@ -54,7 +55,7 @@
 	SelectItem typeField;
 	
 	/** The url field. */
-	StaticTextItem urlField;
+	TextItem urlField;
 	
 	/**
 	 * Instantiates a new data record field.
@@ -65,54 +66,20 @@
 	public DataRecordField(DataRecordArea area, int n) {
 		this.area = area;
 		this.n = n;
-		this.setNumCols(6);
+		this.setNumCols(5);
 		
 		typeField = new SelectItem("datatype"+(n));
 		typeField.setValueMap(Data.values);
 		typeField.setTitle("Type");
 
-		urlField = new StaticTextItem("dataurl"+(n));
+		urlField = new TextItem("dataurl"+(n));
 		urlField.setTitle("URL");
-		urlField.addClickHandler(new ClickHandler() {
-			@Override
-			public void onClick(ClickEvent event) {
-				Window.open(urlField.getValue().toString(), typeField.getValueAsString(), "");
-			}
-		});
 		
-		Picker EDIT = new Picker("pickers/edit.png");
-		PickerIcon urlEditPicker = new PickerIcon(EDIT, new FormItemClickHandler() {  
-			@Override
-			public void onFormItemClick(FormItemIconClickEvent event) {
-				SC.askforValue("Enter the new value of URL of Data", new ValueCallback() {
-					@Override
-					public void execute(String value) {
-						if (value != null) {
-							urlField.setValue(value);
-						}
-					}
-				});
-			}  
-		});
-		urlField.setIcons(urlEditPicker);
-
-		ButtonItem addButton = new ButtonItem("dataadd"+n);
-		addButton.setTitle("+");
-		addButton.setStartRow(false);
-		addButton.setEndRow(true);
-
 		ButtonItem removeButton = new ButtonItem("dataremove"+n);
 		removeButton.setTitle("-");
 		removeButton.setStartRow(false);
 		removeButton.setEndRow(false);
 
-		addButton.addClickHandler(new ClickHandler() {
-			@Override
-			public void onClick(ClickEvent event) {
-				DataRecordField.this.area.addAField();
-			}
-		});
-
 		removeButton.addClickHandler(new ClickHandler() {
 			@Override
 			public void onClick(ClickEvent event) {
@@ -120,7 +87,7 @@
 			}
 		});
 
-		this.setFields(typeField, urlField, removeButton, addButton);
+		this.setFields(typeField, urlField, removeButton);
 	}
 
 	/**
Index: projets/BCCCC/src/org/ccc/bcccc/client/areas/fields/PublicationRecordField.java
===================================================================
--- projets/BCCCC/src/org/ccc/bcccc/client/areas/fields/PublicationRecordField.java	(revision 6)
+++ projets/BCCCC/src/org/ccc/bcccc/client/areas/fields/PublicationRecordField.java	(revision 7)
@@ -29,6 +29,7 @@
 import com.smartgwt.client.widgets.form.fields.PickerIcon.Picker;
 import com.smartgwt.client.widgets.form.fields.SelectItem;
 import com.smartgwt.client.widgets.form.fields.StaticTextItem;
+import com.smartgwt.client.widgets.form.fields.TextItem;
 import com.smartgwt.client.widgets.form.fields.events.ClickEvent;
 import com.smartgwt.client.widgets.form.fields.events.ClickHandler;
 import com.smartgwt.client.widgets.form.fields.events.FormItemClickHandler;
@@ -50,10 +51,10 @@
 	int n;
 
 	/** The user field. */
-	StaticTextItem userField;
+	TextItem userField;
 
 	/** The url field. */
-	StaticTextItem urlField;
+	TextItem urlField;
 
 	/** The type field. */
 	SelectItem typeField;
@@ -66,51 +67,25 @@
 	 */
 	public PublicationRecordField(PublicationsRecordArea publicationsRecordArea, int n) {
 
-		this.area = area;
+		this.area = publicationsRecordArea;
 		this.n = n;
-		this.setNumCols(8);
+		this.setNumCols(7);
 		
-		userField = new StaticTextItem("pubuser"+(n));
+		userField = new TextItem("pubuser"+(n));
 		userField.setTitle("User");
 
-		urlField = new StaticTextItem("puburl"+(n));
+		urlField = new TextItem("puburl"+(n));
 		urlField.setTitle("URL");
-		Picker EDIT = new Picker("pickers/edit.png");
-		PickerIcon nameEditPicker = new PickerIcon(EDIT, new FormItemClickHandler() {  
-			public void onFormItemClick(FormItemIconClickEvent event) { 
-				SC.askforValue("Enter the new value of URL of the publication ", new ValueCallback() {
-					@Override
-					public void execute(String value) {
-						if (value != null) {
-							urlField.setValue(value);
-						}
-					}
-				});
-			}  
-		});
-		urlField.setIcons(nameEditPicker);
-
+		
 		typeField = new SelectItem("pubtype"+(n));
 		typeField.setTitle("Type");
 		typeField.setValueMap(Publication.types);
 
-		ButtonItem addButton = new ButtonItem("pubadd"+n);
-		addButton.setTitle("+");
-		addButton.setStartRow(false);
-		addButton.setEndRow(false);
-
 		ButtonItem removeButton = new ButtonItem("pubremove"+n);
 		removeButton.setTitle("-");
 		removeButton.setStartRow(false);
 		removeButton.setEndRow(false);
 
-		addButton.addClickHandler(new ClickHandler() {
-			@Override
-			public void onClick(ClickEvent event) {
-				PublicationRecordField.this.area.addAField();
-			}
-		});
-
 		removeButton.addClickHandler(new ClickHandler() {
 			@Override
 			public void onClick(ClickEvent event) {
@@ -118,7 +93,7 @@
 			}
 		});
 
-		this.setItems(userField, urlField, typeField, removeButton, addButton);
+		this.setItems(userField, urlField, typeField, removeButton);
 
 	}
 
Index: projets/BCCCC/src/org/ccc/bcccc/client/areas/fields/ReportRecordField.java
===================================================================
--- projets/BCCCC/src/org/ccc/bcccc/client/areas/fields/ReportRecordField.java	(revision 6)
+++ projets/BCCCC/src/org/ccc/bcccc/client/areas/fields/ReportRecordField.java	(revision 7)
@@ -30,6 +30,7 @@
 import com.smartgwt.client.widgets.form.fields.SpinnerItem;
 import com.smartgwt.client.widgets.form.fields.StaticTextItem;
 import com.smartgwt.client.widgets.form.fields.TextAreaItem;
+import com.smartgwt.client.widgets.form.fields.TextItem;
 import com.smartgwt.client.widgets.form.fields.events.ClickEvent;
 import com.smartgwt.client.widgets.form.fields.events.ClickHandler;
 import com.smartgwt.client.widgets.form.fields.events.FormItemClickHandler;
@@ -51,7 +52,7 @@
 	int n;
 	
 	/** The user item. */
-	StaticTextItem userField;
+	TextItem userField;
 	
 	/** The comment item. */
 	TextAreaItem commentField;
@@ -69,52 +70,25 @@
 
 		this.area = area;
 		this.n = n;
-		this.setNumCols(8);
+		this.setNumCols(7);
 		
-		Picker EDIT = new Picker("pickers/edit.png");
-
-		userField = new StaticTextItem("reportuser"+(n));
+		userField = new TextItem("reportuser"+(n));
 		userField.setTitle("User");
 				
 		commentField = new TextAreaItem("reportcomment"+(n));
 		commentField.setTitle("Comment");
-		PickerIcon nameEditPicker = new PickerIcon(EDIT, new FormItemClickHandler() {  
-			public void onFormItemClick(FormItemIconClickEvent event) { 
-				SC.askforValue("Enter the comment", new ValueCallback() {
-					@Override
-					public void execute(String value) {
-						if (value != null) {
-							commentField.setValue(value);
-						}
-					}
-				});
-			}  
-		});
-		commentField.setIcons(nameEditPicker);
-
+		
 		noteField = new SpinnerItem("reportnote"+(n));
 		noteField.setTitle("Note");
 		noteField.setMin(1);
 		noteField.setMax(5);
 		noteField.setValue(1);
 		
-		ButtonItem addButton = new ButtonItem("reportadd"+n);
-		addButton.setTitle("+");
-		addButton.setStartRow(false);
-		addButton.setEndRow(true);
-
 		ButtonItem removeButton = new ButtonItem("reportremove"+n);
 		removeButton.setTitle("-");
 		removeButton.setStartRow(false);
 		removeButton.setEndRow(false);
 
-		addButton.addClickHandler(new ClickHandler() {
-			@Override
-			public void onClick(ClickEvent event) {
-				ReportRecordField.this.area.addAField();
-			}
-		});
-
 		removeButton.addClickHandler(new ClickHandler() {
 			@Override
 			public void onClick(ClickEvent event) {
@@ -122,7 +96,7 @@
 			}
 		});
 		
-		this.setFields(userField, commentField, noteField, removeButton, addButton);
+		this.setFields(userField, commentField, noteField, removeButton);
 	}
 	
 	/**
@@ -152,6 +126,7 @@
 		else r.comment = "";
 		
 		r.note = Integer.parseInt(noteField.getValueAsString());
+		
 		return r;
 	}
 }
Index: projets/BCCCC/src/org/ccc/bcccc/client/areas/DispositifsRecordArea.java
===================================================================
--- projets/BCCCC/src/org/ccc/bcccc/client/areas/DispositifsRecordArea.java	(revision 6)
+++ projets/BCCCC/src/org/ccc/bcccc/client/areas/DispositifsRecordArea.java	(revision 7)
@@ -22,23 +22,11 @@
 import java.util.List;
 
 import org.ccc.bcccc.client.areas.fields.DispositifsRecordField;
-import org.ccc.bcccc.client.areas.fields.ReportRecordField;
 import org.ccc.bcccc.client.panels.EditPanel;
 import org.ccc.bcccc.shared.Dispositif;
 
-import com.smartgwt.client.util.SC;
-import com.smartgwt.client.util.ValueCallback;
+import com.smartgwt.client.widgets.Button;
 import com.smartgwt.client.widgets.Label;
-import com.smartgwt.client.widgets.form.fields.ButtonItem;
-import com.smartgwt.client.widgets.form.fields.CheckboxItem;
-import com.smartgwt.client.widgets.form.fields.FormItem;
-import com.smartgwt.client.widgets.form.fields.PickerIcon;
-import com.smartgwt.client.widgets.form.fields.SelectItem;
-import com.smartgwt.client.widgets.form.fields.TextItem;
-import com.smartgwt.client.widgets.form.fields.events.ClickEvent;
-import com.smartgwt.client.widgets.form.fields.events.ClickHandler;
-import com.smartgwt.client.widgets.form.fields.events.FormItemClickHandler;
-import com.smartgwt.client.widgets.form.fields.events.FormItemIconClickEvent;
 import com.smartgwt.client.widgets.layout.VLayout;
 
 // TODO: Auto-generated Javadoc
@@ -61,9 +49,19 @@
 		this.setWidth100();
 		
 		Label title = new Label();
-		title.setContents("Dispositifs");
+		title.setContents(name);
 		this.addMember(title);
 		
+		Button addButton = new Button("Ajouter un dispositif (micro, caméra, etc.)");
+		this.addMember(addButton);
+		addButton.addClickHandler(new com.smartgwt.client.widgets.events.ClickHandler() {
+			
+			@Override
+			public void onClick(com.smartgwt.client.widgets.events.ClickEvent event) {
+				addAField();
+			}
+		});
+		
 		addAField(); // create at least one entry
 	}
 
@@ -89,6 +87,11 @@
 	 * @param values the new values
 	 */
 	public void setValues(List<Dispositif> values) {
+		
+		while (fields.size() > values.size() ) {
+			this.remove(fields.get(0));
+		}
+		
 		int i = 0;
 		for (Dispositif d : values) {
 			if (fields.size() <= i) addAField();
Index: projets/BCCCC/src/org/ccc/bcccc/client/areas/DocumentsRecordArea.java
===================================================================
--- projets/BCCCC/src/org/ccc/bcccc/client/areas/DocumentsRecordArea.java	(revision 6)
+++ projets/BCCCC/src/org/ccc/bcccc/client/areas/DocumentsRecordArea.java	(revision 7)
@@ -25,6 +25,7 @@
 import org.ccc.bcccc.client.panels.EditPanel;
 import org.ccc.bcccc.shared.DocumentUnit;
 
+import com.smartgwt.client.widgets.Button;
 import com.smartgwt.client.widgets.Label;
 import com.smartgwt.client.widgets.layout.VLayout;
 
@@ -51,6 +52,16 @@
 		title.setContents("Documents");
 		this.addMember(title);
 		
+		Button addButton = new Button("Ajouter un document");
+		this.addMember(addButton);
+		addButton.addClickHandler(new com.smartgwt.client.widgets.events.ClickHandler() {
+			
+			@Override
+			public void onClick(com.smartgwt.client.widgets.events.ClickEvent event) {
+				addAField();
+			}
+		});
+		
 		addAField(); // create at least one entry
 	}
 
@@ -76,6 +87,11 @@
 	 * @param values the new documentation values
 	 */
 	public void setValues(List<DocumentUnit> values) {
+		
+		while (fields.size() > values.size() ) {
+			this.remove(fields.get(0));
+		}
+		
 		int i = 0;
 		for (DocumentUnit d : values) {
 			if (fields.size() <= i) addAField();
Index: projets/BCCCC/src/org/ccc/bcccc/client/areas/RecordTypesArea.java
===================================================================
--- projets/BCCCC/src/org/ccc/bcccc/client/areas/RecordTypesArea.java	(revision 0)
+++ projets/BCCCC/src/org/ccc/bcccc/client/areas/RecordTypesArea.java	(revision 7)
@@ -0,0 +1,162 @@
+/*
+ * Authors: Matthieu Decorde
+ * 
+ * COPYRIGHT 2015 ICAR - CCC
+ * 
+ * This software is free software: you can redistribute it 
+ * and/or modify it under the terms of the GNU General Public
+ * License as published by the Free Software Foundation,
+ * either version 2 of the License, or (at your option) any
+ * later version.
+ * 
+ * This software is distributed in the hope that it will be
+ * useful, but WITHOUT ANY WARRANTY; without even the implied
+ * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE. See the GNU General Public License for more
+ * details.
+ * 
+ */
+package org.ccc.bcccc.client.areas;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.ccc.bcccc.client.areas.fields.PersonRecordField;
+import org.ccc.bcccc.client.areas.fields.TypeRecordField;
+import org.ccc.bcccc.client.panels.EditPanel;
+
+import com.google.gwt.user.client.ui.Label;
+import com.smartgwt.client.types.TitleOrientation;
+import com.smartgwt.client.util.SC;
+import com.smartgwt.client.util.ValueCallback;
+import com.smartgwt.client.widgets.Button;
+import com.smartgwt.client.widgets.form.DynamicForm;
+import com.smartgwt.client.widgets.form.fields.FormItem;
+import com.smartgwt.client.widgets.form.fields.PickerIcon;
+import com.smartgwt.client.widgets.form.fields.PickerIcon.Picker;
+import com.smartgwt.client.widgets.form.fields.SelectItem;
+import com.smartgwt.client.widgets.form.fields.StaticTextItem;
+import com.smartgwt.client.widgets.form.fields.TextItem;
+import com.smartgwt.client.widgets.form.fields.events.FormItemClickHandler;
+import com.smartgwt.client.widgets.form.fields.events.FormItemIconClickEvent;
+import com.smartgwt.client.widgets.layout.HLayout;
+import com.smartgwt.client.widgets.layout.VLayout;
+
+
+// TODO: Auto-generated Javadoc
+/**
+ * The Class StringRecordField.
+ */
+public class RecordTypesArea extends VLayout {
+
+
+
+	/** The name. */
+	String name;
+
+	/** The items. */
+	ArrayList<TypeRecordField> items = new ArrayList<TypeRecordField>();
+	
+	/** The panel. */
+	protected EditPanel panel;
+
+	/**
+	 * Instantiates a new string record field.
+	 *
+	 * @param panel the panel
+	 * @param name the name
+	 * @param multiple the multiple
+	 * @param freeField the free field
+	 * @param values the values
+	 */
+	public RecordTypesArea(EditPanel panel) {
+		this.panel = panel;
+		this.name = "Types";
+		this.setWidth100();
+		
+		this.addMember(new Label(name));
+		
+		Button addButton = new Button("Ajouter un type");
+		this.addMember(addButton);
+		addButton.addClickHandler(new com.smartgwt.client.widgets.events.ClickHandler() {
+			
+			@Override
+			public void onClick(com.smartgwt.client.widgets.events.ClickEvent event) {
+				addAField();
+			}
+		});
+
+		addAField();
+	}
+
+	/**
+	 * Adds the a field.
+	 */
+	public void addAField() {
+		
+		TypeRecordField field = new TypeRecordField(this, name);
+		items.add(field); // add the new field item
+		this.addMember(field);
+	}
+
+	/**
+	 * Adds the default pickers.
+	 *
+	 * @param field the field
+	 * @param editPicker the edit picker
+	 */
+	protected void addDefaultPickers(FormItem field, PickerIcon editPicker) {
+		field.setIcons(editPicker);
+	}
+
+	/**
+	 * Gets the value.
+	 *
+	 * @return the value
+	 */
+	public String getValue() {
+		if (items.size() > 0) {
+			Object v = items.get(0).getValue();
+			if (v == null) v = "";
+			return v.toString();
+		}
+		return "";
+	}
+
+	/**
+	 * Gets the values as string array.
+	 *
+	 * @return the values as string array
+	 */
+	public ArrayList<String> getValuesAsStringArray() {
+		ArrayList<String> ret = new ArrayList<String>();
+		for (TypeRecordField item : items) {
+			ret.add(item.getValue());
+		}
+		return ret;
+	}
+
+	/**
+	 * Sets the values.
+	 *
+	 * @param values the new values
+	 */
+	public void setValues(List<String> values) {
+		
+		while (items.size() > values.size() ) {
+			this.remove(items.get(0));
+		}
+		
+		for (int i = 0 ; i < values.size() ; i++) {
+			if (items.size() <= i) addAField();
+			items.get(i).setValue(values.get(i));
+		}
+	}
+
+	public void remove(TypeRecordField typeRecordField) {
+		if (items.remove(typeRecordField)) {
+			this.removeMember(typeRecordField);
+			typeRecordField.destroy();
+		}
+	}
+}
\ No newline at end of file

Property changes on: projets/BCCCC/src/org/ccc/bcccc/client/areas/RecordTypesArea.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: projets/BCCCC/src/org/ccc/bcccc/client/areas/IntegerRecordField.java
===================================================================
--- projets/BCCCC/src/org/ccc/bcccc/client/areas/IntegerRecordField.java	(revision 0)
+++ projets/BCCCC/src/org/ccc/bcccc/client/areas/IntegerRecordField.java	(revision 7)
@@ -0,0 +1,97 @@
+/*
+ * Authors: Matthieu Decorde
+ * 
+ * COPYRIGHT 2015 ICAR - CCC
+ * 
+ * This software is free software: you can redistribute it 
+ * and/or modify it under the terms of the GNU General Public
+ * License as published by the Free Software Foundation,
+ * either version 2 of the License, or (at your option) any
+ * later version.
+ * 
+ * This software is distributed in the hope that it will be
+ * useful, but WITHOUT ANY WARRANTY; without even the implied
+ * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE. See the GNU General Public License for more
+ * details.
+ * 
+ */
+package org.ccc.bcccc.client.areas;
+
+import org.ccc.bcccc.client.panels.EditPanel;
+
+import com.smartgwt.client.types.TitleOrientation;
+import com.smartgwt.client.widgets.form.DynamicForm;
+import com.smartgwt.client.widgets.form.fields.SpinnerItem;
+import com.smartgwt.client.widgets.layout.HLayout;
+
+// TODO: Auto-generated Javadoc
+/**
+ * The Class DoubleStringRecordArea.
+ */
+public class IntegerRecordField extends HLayout {
+
+	/** The name. */
+	String name;
+
+	/** The panel. */
+	protected EditPanel panel;
+
+	private SpinnerItem f;
+
+	/**
+	 * Instantiates a new string record field.
+	 *
+	 * @param panel the panel
+	 * @param name the name
+	 * @param multiple the multiple
+	 * @param freeField the free field
+	 * @param values the values
+	 */
+	public IntegerRecordField(EditPanel panel, String name) {
+		this.panel = panel;
+		this.name = name;
+
+		DynamicForm form = new DynamicForm();
+		form.setTitleOrientation(TitleOrientation.LEFT);
+		form.setWidth100();
+
+		this.setWidth100();
+		this.addMember(form);
+
+		String lname = name.toLowerCase().replace(" ", "");
+		f = new SpinnerItem(lname);
+		f.setMin(1);
+		f.setMax(10000);
+		f.setTitle(name);
+		
+		form.setItems(f);
+	}
+
+	/**
+	 * Gets the value.
+	 *
+	 * @return the value
+	 */
+	public String getValue() {
+		return f.getValueAsString();
+	}
+
+	/**
+	 * Sets the can edit.
+	 *
+	 * @param v the new can edit
+	 */
+	public void setCanEdit(boolean v) {
+		f.setCanEdit(v);
+	}
+
+	/**
+	 * Sets the value.
+	 *
+	 * @param numberOfParticipants the new value
+	 */
+	public void setValue(int numberOfParticipants) {
+		f.setValue(numberOfParticipants);
+	}
+}

Property changes on: projets/BCCCC/src/org/ccc/bcccc/client/areas/IntegerRecordField.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: projets/BCCCC/src/org/ccc/bcccc/client/areas/DataRecordArea.java
===================================================================
--- projets/BCCCC/src/org/ccc/bcccc/client/areas/DataRecordArea.java	(revision 6)
+++ projets/BCCCC/src/org/ccc/bcccc/client/areas/DataRecordArea.java	(revision 7)
@@ -25,7 +25,10 @@
 import org.ccc.bcccc.client.panels.EditPanel;
 import org.ccc.bcccc.shared.Data;
 
+import com.smartgwt.client.widgets.Button;
 import com.smartgwt.client.widgets.Label;
+import com.smartgwt.client.widgets.events.ClickEvent;
+import com.smartgwt.client.widgets.events.ClickHandler;
 import com.smartgwt.client.widgets.layout.VLayout;
 
 // TODO: Auto-generated Javadoc
@@ -49,9 +52,18 @@
 		this.setWidth100();
 		
 		Label title = new Label();
-		title.setContents("Data");
+		title.setContents(name);
 		this.addMember(title);
 		
+		Button addButton = new Button("Ajouter une donnée");
+		this.addMember(addButton);
+		addButton.addClickHandler(new ClickHandler() {
+			@Override
+			public void onClick(ClickEvent event) {
+				addAField();
+			}
+		});
+		
 		addAField(); // create at least one entry
 	}
 
@@ -74,7 +86,12 @@
 	 *
 	 * @param supports the new data values
 	 */
-	public void setDataValues(List<Data> supports) {
+	public void setValues(List<Data> supports) {
+		
+		while (fields.size() > supports.size() ) {
+			this.removeField(fields.get(0));
+		}
+		
 		int i = 0;
 		for (Data d : supports) {
 			if (fields.size() <= i) addAField();
Index: projets/BCCCC/src/org/ccc/bcccc/client/areas/RecordNOfParticipantsField.java
===================================================================
--- projets/BCCCC/src/org/ccc/bcccc/client/areas/RecordNOfParticipantsField.java	(revision 0)
+++ projets/BCCCC/src/org/ccc/bcccc/client/areas/RecordNOfParticipantsField.java	(revision 7)
@@ -0,0 +1,97 @@
+/*
+ * Authors: Matthieu Decorde
+ * 
+ * COPYRIGHT 2015 ICAR - CCC
+ * 
+ * This software is free software: you can redistribute it 
+ * and/or modify it under the terms of the GNU General Public
+ * License as published by the Free Software Foundation,
+ * either version 2 of the License, or (at your option) any
+ * later version.
+ * 
+ * This software is distributed in the hope that it will be
+ * useful, but WITHOUT ANY WARRANTY; without even the implied
+ * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE. See the GNU General Public License for more
+ * details.
+ * 
+ */
+package org.ccc.bcccc.client.areas;
+
+import org.ccc.bcccc.client.panels.EditPanel;
+
+import com.smartgwt.client.types.TitleOrientation;
+import com.smartgwt.client.widgets.form.DynamicForm;
+import com.smartgwt.client.widgets.form.fields.SpinnerItem;
+import com.smartgwt.client.widgets.layout.HLayout;
+
+// TODO: Auto-generated Javadoc
+/**
+ * The Class DoubleStringRecordArea.
+ */
+public class RecordNOfParticipantsField extends HLayout {
+
+	/** The name. */
+	String name;
+
+	/** The panel. */
+	protected EditPanel panel;
+
+	private SpinnerItem f;
+
+	/**
+	 * Instantiates a new string record field.
+	 *
+	 * @param panel the panel
+	 * @param name the name
+	 * @param multiple the multiple
+	 * @param freeField the free field
+	 * @param values the values
+	 */
+	public RecordNOfParticipantsField(EditPanel panel, String name) {
+		this.panel = panel;
+		this.name = name;
+
+		DynamicForm form = new DynamicForm();
+		form.setTitleOrientation(TitleOrientation.LEFT);
+		form.setWidth100();
+
+		this.setWidth100();
+		this.addMember(form);
+
+		String lname = name.toLowerCase().replace(" ", "");
+		f = new SpinnerItem(lname);
+		f.setMin(1);
+		f.setMax(10000);
+		f.setTitle(name);
+		
+		form.setItems(f);
+	}
+
+	/**
+	 * Gets the value.
+	 *
+	 * @return the value
+	 */
+	public String getValue() {
+		return f.getValueAsString();
+	}
+
+	/**
+	 * Sets the can edit.
+	 *
+	 * @param v the new can edit
+	 */
+	public void setCanEdit(boolean v) {
+		f.setCanEdit(v);
+	}
+
+	/**
+	 * Sets the value.
+	 *
+	 * @param numberOfParticipants the new value
+	 */
+	public void setValue(int numberOfParticipants) {
+		f.setValue(numberOfParticipants);
+	}
+}

Property changes on: projets/BCCCC/src/org/ccc/bcccc/client/areas/RecordNOfParticipantsField.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: projets/BCCCC/src/org/ccc/bcccc/client/areas/RecordProjectField.java
===================================================================
--- projets/BCCCC/src/org/ccc/bcccc/client/areas/RecordProjectField.java	(revision 0)
+++ projets/BCCCC/src/org/ccc/bcccc/client/areas/RecordProjectField.java	(revision 7)
@@ -0,0 +1,100 @@
+/*
+ * Authors: Matthieu Decorde
+ * 
+ * COPYRIGHT 2015 ICAR - CCC
+ * 
+ * This software is free software: you can redistribute it 
+ * and/or modify it under the terms of the GNU General Public
+ * License as published by the Free Software Foundation,
+ * either version 2 of the License, or (at your option) any
+ * later version.
+ * 
+ * This software is distributed in the hope that it will be
+ * useful, but WITHOUT ANY WARRANTY; without even the implied
+ * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE. See the GNU General Public License for more
+ * details.
+ * 
+ */
+package org.ccc.bcccc.client.areas;
+
+import org.ccc.bcccc.client.panels.EditPanel;
+
+import com.smartgwt.client.types.TitleOrientation;
+import com.smartgwt.client.widgets.form.DynamicForm;
+import com.smartgwt.client.widgets.form.fields.TextItem;
+import com.smartgwt.client.widgets.layout.HLayout;
+
+
+// TODO: Auto-generated Javadoc
+/**
+ * The Class StringRecordField.
+ */
+public class RecordProjectField extends HLayout {
+
+	/** The no. */
+	protected static int no = 1;
+	
+	/** The panel. */
+	protected EditPanel panel;
+	
+	/** The form. */
+	DynamicForm form;
+	TextItem field;
+
+	/**
+	 * Instantiates a new string record field.
+	 *
+	 * @param panel the panel
+	 * @param name the name
+	 * @param multiple the multiple
+	 * @param freeField the free field
+	 * @param values the values
+	 */
+	public RecordProjectField(EditPanel panel) {
+		this.panel = panel;
+
+		form = new DynamicForm();
+		form.setTitleOrientation(TitleOrientation.LEFT);
+		form.setWidth100();
+		
+		this.setWidth100();
+		this.addMember(form);
+
+		field = new TextItem("project"+no++);
+		field.setTitle("Nom du projet scientifique");
+		form.setFields(field);
+	}
+
+	/**
+	 * Gets the value.
+	 *
+	 * @return the value
+	 */
+	public String getValue() {
+		Object v = field.getValue();
+		if (v == null) return "";
+		return field.getValueAsString();
+	}
+
+	
+
+	/**
+	 * Sets the can edit.
+	 *
+	 * @param v the new can edit
+	 */
+	public void setCanEdit(boolean v) {
+		if (form != null)
+			form.setCanEdit(v);
+	}
+
+	/**
+	 * Sets the value.
+	 *
+	 * @param v the new value
+	 */
+	public void setValue(String v) {
+		field.setValue(v);
+	}
+}
\ No newline at end of file

Property changes on: projets/BCCCC/src/org/ccc/bcccc/client/areas/RecordProjectField.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: projets/BCCCC/src/org/ccc/bcccc/client/areas/StringRecordField.java
===================================================================
--- projets/BCCCC/src/org/ccc/bcccc/client/areas/StringRecordField.java	(revision 6)
+++ projets/BCCCC/src/org/ccc/bcccc/client/areas/StringRecordField.java	(revision 7)
@@ -33,6 +33,7 @@
 import com.smartgwt.client.widgets.form.fields.PickerIcon.Picker;
 import com.smartgwt.client.widgets.form.fields.SelectItem;
 import com.smartgwt.client.widgets.form.fields.StaticTextItem;
+import com.smartgwt.client.widgets.form.fields.TextItem;
 import com.smartgwt.client.widgets.form.fields.events.FormItemClickHandler;
 import com.smartgwt.client.widgets.form.fields.events.FormItemIconClickEvent;
 import com.smartgwt.client.widgets.layout.HLayout;
@@ -50,9 +51,6 @@
 	/** The Constant ADD. */
 	static final Picker ADD = new Picker("pickers/add.png");
 	
-	/** The Constant EDIT. */
-	static final Picker EDIT = new Picker("pickers/edit.png");
-
 	/** The name. */
 	String name;
 	
@@ -118,21 +116,6 @@
 		field.setShowTitle((!multiple));
 		field.setTitle(name);
 
-		PickerIcon editPicker = new PickerIcon(EDIT, new FormItemClickHandler() {  
-			public void onFormItemClick(FormItemIconClickEvent event) { 
-				SC.askforValue("Enter the new value of "+name, new ValueCallback() {
-
-					@Override
-					public void execute(String value) {
-						if (value != null) {
-							field.setValue(value);
-						}
-					}
-				});
-
-			}  
-		}); 
-
 		if (multiple) {
 			PickerIcon removePicker = new PickerIcon(PickerIcon.CLEAR, new FormItemClickHandler() {  
 				public void onFormItemClick(FormItemIconClickEvent event) {  
@@ -152,9 +135,9 @@
 			if (values != null)
 				field.setIcons(removePicker, addPicker);
 			else 
-				field.setIcons(editPicker, removePicker, addPicker);
+				field.setIcons(removePicker, addPicker);
 		} else {
-			addDefaultPickers(field, editPicker);
+			//addDefaultPickers(field, editPicker);
 		}
 
 		items.add(field); // add the new field item
@@ -183,7 +166,7 @@
 			field = new SelectItem(lname+no++);
 			((SelectItem)field).setValueMap(values);
 		} else {
-			field = new StaticTextItem(lname+no++);
+			field = new TextItem(lname+no++);
 		}
 		return field;
 	}
@@ -195,7 +178,9 @@
 	 */
 	public String getValue() {
 		if (items.size() > 0) {
-			return items.get(0).getValueField();
+			Object v = items.get(0).getValue();
+			if (v == null) v = "";
+			return v.toString();
 		}
 		return "";
 	}
@@ -208,7 +193,9 @@
 	public ArrayList<String> getValuesAsStringArray() {
 		ArrayList<String> ret = new ArrayList<String>();
 		for (FormItem item : items) {
-			ret.add(item.getValueField());
+			Object v = item.getValue();
+			if (v == null) v = "";
+			ret.add(v.toString());
 		}
 		return ret;
 	}
@@ -223,7 +210,8 @@
 			itemsVector[i] = items.get(i);
 			//System.out.println(" "+items.get(i).getName());
 		}
-		form.setItems(itemsVector);
+		if (form != null)
+			form.setItems(itemsVector);
 	}
 
 	/**
@@ -232,7 +220,8 @@
 	 * @param v the new can edit
 	 */
 	public void setCanEdit(boolean v) {
-		form.setCanEdit(v);
+		if (form != null)
+			form.setCanEdit(v);
 	}
 
 	/**
Index: projets/BCCCC/src/org/ccc/bcccc/client/BCCCC.java
===================================================================
--- projets/BCCCC/src/org/ccc/bcccc/client/BCCCC.java	(revision 6)
+++ projets/BCCCC/src/org/ccc/bcccc/client/BCCCC.java	(revision 7)
@@ -159,7 +159,7 @@
 
 		mainBar.setWidth100();
 
-		homeButton = new ToolStripButton("Home");
+		homeButton = new ToolStripButton("Accueil");
 		homeButton.addClickHandler(new ClickHandler() {
 			@Override
 			public void onClick(ClickEvent event) {
@@ -167,7 +167,7 @@
 			}
 		});
 
-		browseButton = new ToolStripButton("Browse");
+		browseButton = new ToolStripButton("Parcourir les fiches");
 		browseButton.addClickHandler(new ClickHandler() {
 			@Override
 			public void onClick(ClickEvent event) {
@@ -175,7 +175,7 @@
 			}
 		});
 
-		searchButton = new ToolStripButton("Search");
+		searchButton = new ToolStripButton("Chercher une fiche");
 		searchButton.addClickHandler(new ClickHandler() {
 			@Override
 			public void onClick(ClickEvent event) {
@@ -183,7 +183,7 @@
 			}
 		});
 
-		myRecordsButton = new ToolStripButton("My records");
+		myRecordsButton = new ToolStripButton("Mes fiches");
 		myRecordsButton.addClickHandler(new ClickHandler() {
 			@Override
 			public void onClick(ClickEvent event) {
@@ -191,7 +191,7 @@
 			}
 		});
 
-		createRecordButton = new ToolStripButton("Create a new record");
+		createRecordButton = new ToolStripButton("Créer une fiche");
 		createRecordButton.addClickHandler(new ClickHandler() {
 			@Override
 			public void onClick(ClickEvent event) {
@@ -199,7 +199,7 @@
 			}
 		});
 
-		loginButton = new ToolStripButton("Log in");
+		loginButton = new ToolStripButton("Se connecter");
 		loginButton.addClickHandler(new ClickHandler() {
 			@Override
 			public void onClick(ClickEvent event) {
@@ -207,7 +207,7 @@
 			}  
 		});  
 
-		logoutButton = new ToolStripButton("Log out");
+		logoutButton = new ToolStripButton("Se déconnecter");
 		logoutButton.addClickHandler(new ClickHandler() {
 			@Override
 			public void onClick(ClickEvent event) {
@@ -225,7 +225,7 @@
 						logoutButton.setVisible(false);
 						myRecordsButton.setVisible(false);
 						createRecordButton.setVisible(false);
-						userNameLabel.setContents("Visitor");
+						userNameLabel.setContents("Visiteur");
 
 						History.newItem(K.HOME);
 					}
@@ -234,7 +234,7 @@
 		});
 
 		userNameLabel = new Label();
-		userNameLabel.setContents("Visitor");
+		userNameLabel.setContents("Visiteur");
 		userNameLabel.setWidth100();
 		userNameLabel.setAlign(Alignment.RIGHT);
 
@@ -272,7 +272,7 @@
 				continueHistoryChange = true;
 				for (Canvas panel : centerLayout.getMembers()){
 					if (panel == editTerrainRecordPanel && editTerrainRecordPanel.isRecordChanged()) {
-						SC.ask("Warning: the record is not saved. Continue ?", new BooleanCallback() {
+						SC.ask("Attention la fiche n'est pas sauvegardée. Continuer ?", new BooleanCallback() {
 							@Override
 							public void execute(Boolean value) {
 								continueHistoryChange = value;
Index: projets/BCCCC/src/org/ccc/bcccc/client/panels/ViewPanel.java
===================================================================
--- projets/BCCCC/src/org/ccc/bcccc/client/panels/ViewPanel.java	(revision 6)
+++ projets/BCCCC/src/org/ccc/bcccc/client/panels/ViewPanel.java	(revision 7)
@@ -20,11 +20,17 @@
 
 import org.ccc.bcccc.client.BCCCC;
 import org.ccc.bcccc.client.Services;
+import org.ccc.bcccc.shared.K;
 import org.ccc.bcccc.shared.TerrainRecordAndRights;
 
+import com.google.gwt.user.client.History;
 import com.google.gwt.user.client.rpc.AsyncCallback;
+import com.smartgwt.client.types.Alignment;
 import com.smartgwt.client.util.SC;
+import com.smartgwt.client.widgets.ImgButton;
 import com.smartgwt.client.widgets.Label;
+import com.smartgwt.client.widgets.events.ClickEvent;
+import com.smartgwt.client.widgets.events.ClickHandler;
 import com.smartgwt.client.widgets.layout.VLayout;
 
 // TODO: Auto-generated Javadoc
@@ -47,6 +53,8 @@
 	/** The init view and edit done. */
 	boolean initViewAndEditDone = false;
 	Label l;
+	ImgButton editImg;
+	
 	/**
 	 * Inits the.
 	 */
@@ -55,13 +63,30 @@
 		if (!initViewAndEditDone) {
 			l = new Label();
 			l.setWidth100();
-			l.setHeight100();
+			l.setMargin(10);
+			//l.setHeight100();
 			l.setContents("Nothing to show...");
+			
+			
+			editImg = new ImgButton();  
+			editImg.setShowDown(false);  
+			editImg.setShowRollOver(false);  
+			editImg.setLayoutAlign(Alignment.CENTER);  
+			editImg.setSrc("pencil.png");  
+			editImg.setPrompt("Editer la fiche");  
+			editImg.setHeight(16);  
+			editImg.setWidth(16);  
+			editImg.setVisible(false);
+			editImg.addClickHandler(new ClickHandler() {  
+				public void onClick(ClickEvent event) {
+					History.newItem(K.EDITRECORD);
+				}
+			}); 
+			this.addMember(editImg);
 			this.addMember(l);
-			
 			initViewAndEditDone = true;
 		}
-		
+
 		if (BCCCC.doubleClickedRecord != null) { // load record informations
 			Services.getMain().getRecord(BCCCC.doubleClickedRecord.uniq_id, new AsyncCallback<TerrainRecordAndRights>() {
 				@Override
@@ -73,6 +98,7 @@
 				public void onSuccess(TerrainRecordAndRights result) {
 					record = result;
 					l.setContents(record.record.toHTML());
+					editImg.setVisible(result.editable);
 					System.out.println(record.record.toHTML());
 				}
 			});
Index: projets/BCCCC/src/org/ccc/bcccc/client/panels/BrowsePanel.java
===================================================================
--- projets/BCCCC/src/org/ccc/bcccc/client/panels/BrowsePanel.java	(revision 6)
+++ projets/BCCCC/src/org/ccc/bcccc/client/panels/BrowsePanel.java	(revision 7)
@@ -27,8 +27,14 @@
 
 import com.google.gwt.user.client.History;
 import com.google.gwt.user.client.rpc.AsyncCallback;
+import com.smartgwt.client.types.Alignment;
 import com.smartgwt.client.types.ListGridFieldType;
+import com.smartgwt.client.types.SortDirection;
 import com.smartgwt.client.util.SC;
+import com.smartgwt.client.widgets.Canvas;
+import com.smartgwt.client.widgets.ImgButton;
+import com.smartgwt.client.widgets.events.ClickEvent;
+import com.smartgwt.client.widgets.events.ClickHandler;
 import com.smartgwt.client.widgets.grid.ListGrid;
 import com.smartgwt.client.widgets.grid.ListGridField;
 import com.smartgwt.client.widgets.grid.ListGridRecord;
@@ -36,6 +42,7 @@
 import com.smartgwt.client.widgets.grid.events.ChangedHandler;
 import com.smartgwt.client.widgets.grid.events.RecordDoubleClickEvent;
 import com.smartgwt.client.widgets.grid.events.RecordDoubleClickHandler;
+import com.smartgwt.client.widgets.layout.HLayout;
 import com.smartgwt.client.widgets.layout.VLayout;
 
 // TODO: Auto-generated Javadoc
@@ -76,6 +83,11 @@
 
 	private boolean isAdmin = false;
 	
+	private HLayout rollOverCanvas;
+	private ListGridRecord rollOverRecord;
+	
+	String UNIQID_str;
+	
 	/**
 	 * Inits the.
 	 */
@@ -84,15 +96,94 @@
 			System.out.println("Initializing 'browse'...");
 			initBrowseDone = true;
 
-			valuesGrid = new ListGrid();
+			valuesGrid = new ListGrid(){
+				@Override  
+	            protected Canvas getRollOverCanvas(Integer rowNum, Integer colNum) {  
+	                rollOverRecord = this.getRecord(rowNum);  
+	                UNIQID_str = rollOverRecord.getAttribute(K.UNIQID);
+	                
+	                if(rollOverCanvas == null && UNIQID_str!=null) {  
+	                    rollOverCanvas = new HLayout(3);  
+	                    rollOverCanvas.setSnapTo("TR");  
+	                    rollOverCanvas.setWidth(50);  
+	                    rollOverCanvas.setHeight(22);  
+	  
+	                    ImgButton editImg = new ImgButton();  
+	                    editImg.setShowDown(false);  
+	                    editImg.setShowRollOver(false);  
+	                    editImg.setLayoutAlign(Alignment.CENTER);  
+	                    editImg.setSrc("pencil.png");  
+	                    editImg.setPrompt("Editer la fiche");  
+	                    editImg.setHeight(16);  
+	                    editImg.setWidth(16);  
+	                    editImg.addClickHandler(new ClickHandler() {  
+	                        public void onClick(ClickEvent event) {  
+	                        	
+	                        	if (UNIQID_str == null) {
+	                        		return;
+	                        	}
+	        					Long UNIQID = Long.parseLong(UNIQID_str);
+	        					System.out.println("User double click the edit icon with UNIQID="+UNIQID);
+	        					BCCCC.doubleClickedRecord = null;
+	        					for (int i = 0 ; i < BCCCC.records.size() ; i++) {
+	        						if (BCCCC.records.get(i).uniq_id == UNIQID) {
+	        							BCCCC.doubleClickedRecord = BCCCC.records.get(i);
+	        							continue;
+	        						}
+	        					}
+	                        		                        	
+	                        	History.newItem(K.EDITRECORD);
+	                        }  
+	                    });  
+	  
+	                    ImgButton viewImg = new ImgButton();  
+	                    viewImg.setShowDown(false);  
+	                    viewImg.setShowRollOver(false);  
+	                    viewImg.setLayoutAlign(Alignment.CENTER);  
+	                    viewImg.setSrc("report.png");  
+	                    viewImg.setPrompt("Voir la fiche");  
+	                    viewImg.setHeight(16);  
+	                    viewImg.setWidth(16);  
+	                    viewImg.addClickHandler(new ClickHandler() {  
+	                        public void onClick(ClickEvent event) {  
+	                        	if (UNIQID_str == null) {
+	                        		return;
+	                        	}
+	        					Long UNIQID = Long.parseLong(UNIQID_str);
+	        					System.out.println("User click the view icon with UNIQID="+UNIQID);
+	        					BCCCC.doubleClickedRecord = null;
+	        					for (int i = 0 ; i < BCCCC.records.size() ; i++) {
+	        						if (BCCCC.records.get(i).uniq_id == UNIQID) {
+	        							BCCCC.doubleClickedRecord = BCCCC.records.get(i);
+	        							continue;
+	        						}
+	        					}
+	                        		                        	
+	                        	History.newItem(K.VIEWRECORD);  
+	                        }  
+	                    });  
+	  
+	                    rollOverCanvas.addMember(editImg);  
+	                    rollOverCanvas.addMember(viewImg);  
+	                }  
+	                return rollOverCanvas;  
+	  
+	            }  
+			};
 			valuesGrid.setWidth100();
 			valuesGrid.setWidth100();
 			valuesGrid.setShowResizeBar(false);
+			valuesGrid.setShowRowNumbers(true);
+			valuesGrid.setWrapCells(true);
+			valuesGrid.setEmptyMessage("<br>Pas de fiches publiées.");  
+			valuesGrid.setFixedRecordHeights(false);  
+			valuesGrid.setShowRollOverCanvas(true);
 			valuesGrid.addRecordDoubleClickHandler(new RecordDoubleClickHandler() {
 				@Override
 				public void onRecordDoubleClick(RecordDoubleClickEvent event) {
 					String UNIQID_str = event.getRecord().getAttribute(K.UNIQID);
 					Long UNIQID = Long.parseLong(UNIQID_str);
+					System.out.println("User double click on record with UNIQID="+UNIQID);
 					BCCCC.doubleClickedRecord = null;
 					for (int i = 0 ; i < BCCCC.records.size() ; i++) {
 						if (BCCCC.records.get(i).uniq_id == UNIQID) {
@@ -126,12 +217,13 @@
 			System.out.println(" init fields...");
 			ArrayList<ListGridField> fields = new ArrayList<ListGridField>();
 
-			idField = new ListGridField(K.ID, "Name");
+			idField = new ListGridField(K.ID, "Nom");
 			idField.setPrompt("identifiant");
-			idField.setType(ListGridFieldType.INTEGER);
+			idField.setType(ListGridFieldType.TEXT);
+			idField.setWidth(100);
 			fields.add(idField);
 
-			yearField = new ListGridField(K.YEAR, "Year");
+			yearField = new ListGridField(K.YEAR, "Année");
 			yearField.setPrompt("Year");
 			yearField.setWidth(150);
 			yearField.setType(ListGridFieldType.INTEGER);
@@ -139,22 +231,21 @@
 
 			descField = new ListGridField(K.DESC, "Description");
 			descField.setPrompt("Short description");
-			descField.setWidth(150);
+			descField.setWidth("*");
 			descField.setType(ListGridFieldType.TEXT);
 			descField.setWrap(true);
 			fields.add(descField);
 
-			projectField = new ListGridField(K.PROJECT, "Project");
+			projectField = new ListGridField(K.PROJECT, "Projet");
 			projectField.setPrompt("Project name");
 			projectField.setWidth(150);
 			projectField.setType(ListGridFieldType.TEXT);
-			projectField.setWrap(true);
 			fields.add(projectField);
 			
-			validateField = new ListGridField(K.VALIDATE, "Waiting for publication");
+			validateField = new ListGridField(K.VALIDATE, "En attente de publication");
 			validateField.setPrompt("is visible or not to public users");
 			validateField.setType(ListGridFieldType.BOOLEAN);
-			validateField.setWrap(true);
+			validateField.setWidth(100);
 			validateField.setHidden(true);
 			
 			validateField.addChangedHandler(new ChangedHandler(){
@@ -187,8 +278,9 @@
 			valuesGrid.setFields(yearField, idField, projectField, validateField, descField);
 			valuesGrid.setGroupByField(K.YEAR);
 			valuesGrid.setGroupStartOpen("all");
-
+			 
 			this.addMember(valuesGrid);
+						
 			System.out.println("End of 'browse' init");
 		}
 		
@@ -212,7 +304,7 @@
 		ListGridRecord[] listGridRecords = new ListGridRecord[BCCCC.records.size()];
 
 		int i = 0;
-		System.out.println("Records: "+BCCCC.records.size());
+		System.out.println("Number of records shown: "+BCCCC.records.size());
 		for (TerrainRecord record : BCCCC.records) {
 			//System.out.println(record);
 			listGridRecords[i] = new ListGridRecord();
@@ -227,5 +319,7 @@
 		}
 
 		valuesGrid.setRecords(listGridRecords);
+		valuesGrid.setSortField(0);  
+		valuesGrid.setSortDirection(SortDirection.DESCENDING); 
 	}
 }
Index: projets/BCCCC/src/org/ccc/bcccc/client/panels/EditPanel.java
===================================================================
--- projets/BCCCC/src/org/ccc/bcccc/client/panels/EditPanel.java	(revision 6)
+++ projets/BCCCC/src/org/ccc/bcccc/client/panels/EditPanel.java	(revision 7)
@@ -23,26 +23,29 @@
 import org.ccc.bcccc.client.BCCCC;
 import org.ccc.bcccc.client.Services;
 import org.ccc.bcccc.client.areas.DataRecordArea;
-import org.ccc.bcccc.client.areas.DateRecordArea;
+import org.ccc.bcccc.client.areas.DateRecordField;
 import org.ccc.bcccc.client.areas.DispositifsRecordArea;
 import org.ccc.bcccc.client.areas.DocumentsRecordArea;
-import org.ccc.bcccc.client.areas.IntegerRecordArea;
-import org.ccc.bcccc.client.areas.LongStringRecordArea;
 import org.ccc.bcccc.client.areas.PublicationsRecordArea;
+import org.ccc.bcccc.client.areas.RecordDescriptionField;
+import org.ccc.bcccc.client.areas.RecordNOfParticipantsField;
+import org.ccc.bcccc.client.areas.RecordNameField;
+import org.ccc.bcccc.client.areas.RecordPersonsArea;
+import org.ccc.bcccc.client.areas.RecordProjectField;
+import org.ccc.bcccc.client.areas.RecordTypesArea;
 import org.ccc.bcccc.client.areas.ReportsRecordArea;
-import org.ccc.bcccc.client.areas.StringRecordField;
 import org.ccc.bcccc.shared.K;
 import org.ccc.bcccc.shared.TerrainRecordAndRights;
 
 import com.google.gwt.user.client.History;
 import com.google.gwt.user.client.rpc.AsyncCallback;
 import com.smartgwt.client.types.TitleOrientation;
+import com.smartgwt.client.util.BooleanCallback;
 import com.smartgwt.client.util.SC;
 import com.smartgwt.client.widgets.form.DynamicForm;
 import com.smartgwt.client.widgets.form.fields.ButtonItem;
 import com.smartgwt.client.widgets.layout.VLayout;
 
-// TODO: Auto-generated Javadoc
 /**
  * The Class ViewAndEditTerrainRecordPanel.
  */
@@ -61,79 +64,82 @@
 
 	/** The init view and edit done. */
 	boolean initViewAndEditDone;
-	
+
 	/** The view and edit form. */
 	private DynamicForm viewAndEditForm;
 
 	/** The save vae button. */
 	private ButtonItem saveVAEButton;
-	
+
 	/** The delete vae button. */
 	private ButtonItem deleteVAEButton;
-	
+
 	/** The validate vae button. */
 	private ButtonItem validateVAEButton;
 
 	/** The name field. */
-	private StringRecordField nameField;
-	
+	private RecordNameField nameField;
+
 	/** The project field. */
-	private StringRecordField projectField;
-	
+	private RecordProjectField projectField;
+
 	/** The description field. */
-	private LongStringRecordArea descriptionField;
-	
+	private RecordDescriptionField descriptionField;
+
 	/** The date field. */
-	private DateRecordArea dateField;
+	private DateRecordField dateField;
 
 	/** The number of participants field. */
-	private IntegerRecordArea numberOfParticipantsField;
-	
+	private RecordNOfParticipantsField numberOfParticipantsField;
+
 	/** The participants field. */
-	private StringRecordField personsField;
-	
+	private RecordPersonsArea personsField;
+
 	/** The types field. */
-	private StringRecordField typesField;
-	
+	private RecordTypesArea typesField;
+
 	/** The dispositifs field. */
 	private DispositifsRecordArea dispositifsField;
-	
+
 	/** The data field. */
 	private DataRecordArea dataField;
-	
+
 	/** The documentation field. */
 	private DocumentsRecordArea documentationField;
-	
+
 	/** The report field. */
 	private ReportsRecordArea reportField;
-	
+
 	/** The publication field. */
 	private PublicationsRecordArea publicationField;
 
+	private ButtonItem viewVAEButton;
+
 	/**
 	 * Inits the.
 	 */
 	public void init() {
 		this.hide();
+		this.setMargin(10);
 		if (!initViewAndEditDone) {
 			initViewAndEditDone = true;
 
 			viewAndEditForm = new DynamicForm();
 
 			saveVAEButton = new ButtonItem("save_record");
-			saveVAEButton.setTitle("Save changes");
+			saveVAEButton.setTitle("Sauver les modifications");
 			saveVAEButton.addClickHandler(new com.smartgwt.client.widgets.form.fields.events.ClickHandler() {
 				@Override
 				public void onClick(com.smartgwt.client.widgets.form.fields.events.ClickEvent event) {
-//					final String ID = viewAndEditForm.getValueAsString(K.ID);
-//					if (ID == null || ID.trim().length() == 0) return;
+					//					final String ID = viewAndEditForm.getValueAsString(K.ID);
+					//					if (ID == null || ID.trim().length() == 0) return;
 
 					record.record.setInfoFields(nameField.getValue(), 
 							projectField.getValue(), 
 							dateField.getDate(), 
 							descriptionField.getValue(),
 							"???");
-					
+
 					record.record.setDetailFields(Integer.parseInt(numberOfParticipantsField.getValue()), 
 							viewAndEditForm.getValueAsString(K.PLACE), 
 							typesField.getValuesAsStringArray(), 
@@ -146,7 +152,7 @@
 							publicationField.getValues());
 
 					System.out.println("Call updateRecord: "+record.record.uniq_id+", "+record.record);
-					Services.getMain().updateRecord(record.record.uniq_id, null, new AsyncCallback<Boolean>() {
+					Services.getMain().updateRecord(record.record.uniq_id, record.record, new AsyncCallback<Boolean>() {
 
 						@Override
 						public void onFailure(Throwable caught) {
@@ -157,9 +163,9 @@
 						@Override
 						public void onSuccess(Boolean result) {
 							if (result) {
-								SC.warn("Record '"+record.record.uniq_id+"' saved: "+record.record);
+								SC.say("Record '"+record.record.uniq_id+"' saved: "+record.record);
 							} else {
-								SC.warn("Record '"+record.record.uniq_id+"' NOT created.");
+								SC.warn("Error: Record '"+record.record.uniq_id+"' NOT saved.");
 							}
 						}
 					});
@@ -167,23 +173,32 @@
 			});
 
 			deleteVAEButton = new ButtonItem("delete_record");
-			deleteVAEButton.setTitle("Delete record");
+			deleteVAEButton.setTitle("Supprimer la fiche");
 			deleteVAEButton.addClickHandler(new com.smartgwt.client.widgets.form.fields.events.ClickHandler() {
 				@Override
 				public void onClick(com.smartgwt.client.widgets.form.fields.events.ClickEvent event) {
-					Services.getMain().deleteRecord(record.record.uniq_id, new AsyncCallback<Boolean>() {
+
+					SC.ask("Etes-vous sur de vouloir supprimer la fiche ?", new BooleanCallback() {
+
 						@Override
-						public void onFailure(Throwable caught) {
-							SC.warn("Error: "+caught);
-						}
+						public void execute(Boolean value) {
+							if (value) {
+								Services.getMain().deleteRecord(record.record.uniq_id, new AsyncCallback<Boolean>() {
+									@Override
+									public void onFailure(Throwable caught) {
+										SC.warn("Error: "+caught);
+									}
 
-						@Override
-						public void onSuccess(Boolean result) {
-							if (result) {
-								SC.say("Deleted.");
-								History.newItem(K.BROWSE+"_my");
-							} else {
-								SC.say("NOT Deleted.");
+									@Override
+									public void onSuccess(Boolean result) {
+										if (result) {
+											SC.say("Deleted.");
+											History.newItem(K.BROWSE+"_my");
+										} else {
+											SC.warn("Error: NOT Deleted.");
+										}
+									}
+								});
 							}
 						}
 					});
@@ -191,7 +206,7 @@
 			});
 
 			validateVAEButton = new ButtonItem("validate_record");
-			validateVAEButton.setTitle("Validate record");
+			validateVAEButton.setTitle("Validater la fiche pour publication");
 			validateVAEButton.addClickHandler(new com.smartgwt.client.widgets.form.fields.events.ClickHandler() {
 				@Override
 				public void onClick(com.smartgwt.client.widgets.form.fields.events.ClickEvent event) {
@@ -209,28 +224,38 @@
 				}
 			});
 
-			viewAndEditForm.setNumCols(3);
+			viewVAEButton = new ButtonItem("view_record");
+			viewVAEButton.setTitle("Voir la fiche");
+			viewVAEButton.addClickHandler(new com.smartgwt.client.widgets.form.fields.events.ClickHandler() {
+				@Override
+				public void onClick(com.smartgwt.client.widgets.form.fields.events.ClickEvent event) {
+					History.newItem(K.VIEWRECORD);  
+				}
+			});
+			viewAndEditForm.setNumCols(4);
 			viewAndEditForm.setAutoWidth();
-			viewAndEditForm.setItems(deleteVAEButton, validateVAEButton, saveVAEButton);
+			viewAndEditForm.setItems(deleteVAEButton, validateVAEButton, saveVAEButton, viewVAEButton);
 			viewAndEditForm.setTitleOrientation(TitleOrientation.LEFT);
+			viewAndEditForm.setMargin(10);
 
-			nameField = new StringRecordField(this, "Name", false, true, null);	
-			projectField = new StringRecordField(this, "Project", false, true, null);	
-			descriptionField = new LongStringRecordArea(this, "Description", false, true);
-			dateField = new DateRecordArea(this, "Date", false, true, null);
-			numberOfParticipantsField = new IntegerRecordArea(this, "Number of participants");
-			personsField = new StringRecordField(this, "Participants", true, true, null);
-			String[] typesValues = {"privé", "commerce", "école", "etc."};
-			typesField = new StringRecordField(this, "Types", true, false, typesValues);
-			dispositifsField = new DispositifsRecordArea(this, "Dispositifs");
-			dataField = new DataRecordArea(this,  "Données");
+			nameField = new RecordNameField(this);
+			projectField = new RecordProjectField(this);	
+			descriptionField = new RecordDescriptionField(this);
+			dateField = new DateRecordField(this, "Date", false, true, null);
+			numberOfParticipantsField = new RecordNOfParticipantsField(this, "Nombre de participants");
+
+			personsField = new RecordPersonsArea(this);
+			typesField = new RecordTypesArea(this);
+
+			dispositifsField = new DispositifsRecordArea(this, "Dispositifs utilisés");
+			dataField = new DataRecordArea(this,  "Données produites");
 			documentationField = new DocumentsRecordArea(this, "Documentation");
 			reportField = new ReportsRecordArea(this,  "Rapports");
-			publicationField = new PublicationsRecordArea(this, "Publications");
+			publicationField = new PublicationsRecordArea(this, "Publications produites");
 		}
 
 		if (BCCCC.doubleClickedRecord != null) { // load record informations
-			System.out.println("Reloading viewAndEdit record... "+BCCCC.doubleClickedRecord);
+			System.out.println("Reloading viewAndEdit record... "+BCCCC.doubleClickedRecord.uniq_id);
 			Services.getMain().getRecord(BCCCC.doubleClickedRecord.uniq_id, new AsyncCallback<TerrainRecordAndRights>() {
 				@Override
 				public void onFailure(Throwable caught) {
@@ -245,9 +270,7 @@
 						return;
 					}
 					record = result;
-					//record.record.uniq_id = BCCCC.doubleClickedRecord.uniq_id;
-					
-					viewAndEditForm.setCanEdit(result.editable);
+
 					validateVAEButton.setDisabled(!result.validable);
 					validateVAEButton.setStartRow(false);
 					validateVAEButton.setEndRow(false);
@@ -257,40 +280,31 @@
 					saveVAEButton.setDisabled(!result.editable);
 					saveVAEButton.setStartRow(false);
 					saveVAEButton.setEndRow(false);
-					
+					viewVAEButton.setStartRow(false);
+					viewVAEButton.setEndRow(false);
 					addMember(viewAndEditForm);
-					viewAndEditForm.setVisible(result.editable);
 
-					nameField.setCanEdit(record.editable);
 					nameField.setValue(record.record.name);
-					projectField.setCanEdit(record.editable);
 					projectField.setValue(record.record.project);
-					descriptionField.setCanEdit(record.editable);
 					descriptionField.setValue(record.record.short_description);
-					typesField.setCanEdit(record.editable);
-					typesField.setValues(record.record.types);
-					dateField.setCanEdit(record.editable);
+
 					dateField.setValue(record.record.date);
-					numberOfParticipantsField.setCanEdit(record.editable);
 					numberOfParticipantsField.setValue(record.record.numberOfParticipants);
-					personsField.setCanEdit(record.editable);
-					dispositifsField.setCanEdit(record.editable);
+
+					typesField.setValues(record.record.types);
 					dispositifsField.setValues(record.record.dispositifs);
-					dataField.setCanEdit(record.editable);
-					dataField.setDataValues(record.record.supports);
-					documentationField.setCanEdit(record.editable);
+					dataField.setValues(record.record.supports);
 					documentationField.setValues(record.record.documentations);
-					reportField.setCanEdit(record.editable);
 					reportField.setValues(record.record.reports);
-					publicationField.setCanEdit(record.editable);
 					publicationField.setValues(record.record.publications);
-					
+
 					addMember(viewAndEditForm);
 					addMember(nameField);
 					addMember(projectField);
 					addMember(descriptionField);
 					addMember(dateField);
 					addMember(numberOfParticipantsField);
+
 					addMember(typesField);
 					addMember(personsField);
 					addMember(dispositifsField);
Index: projets/BCCCC/src/org/ccc/bcccc/client/panels/SearchPanel.java
===================================================================
--- projets/BCCCC/src/org/ccc/bcccc/client/panels/SearchPanel.java	(revision 6)
+++ projets/BCCCC/src/org/ccc/bcccc/client/panels/SearchPanel.java	(revision 7)
@@ -34,6 +34,8 @@
 import com.smartgwt.client.util.SC;
 import com.smartgwt.client.widgets.form.DynamicForm;
 import com.smartgwt.client.widgets.form.fields.ButtonItem;
+import com.smartgwt.client.widgets.form.fields.CheckboxItem;
+import com.smartgwt.client.widgets.form.fields.RadioGroupItem;
 import com.smartgwt.client.widgets.form.fields.SelectItem;
 import com.smartgwt.client.widgets.form.fields.SliderItem;
 import com.smartgwt.client.widgets.form.fields.TextItem;
@@ -55,6 +57,7 @@
 	
 	/** The init search complex done. */
 	boolean initSearchComplexDone = false;
+	private CheckboxItem checkboxItem;
 	
 	/**
 	 * Inits the.
@@ -68,9 +71,12 @@
 		form.setHeight100();
 		this.addMember(form);
 		
+		checkboxItem = new CheckboxItem(K.MATCHINGSTRATEGY);  
+        checkboxItem.setTitle("Doit matcher tous les critères renseignés");  
+        checkboxItem.setHeight(20); 
+        
 		TextItem wordsField = new TextItem(K.WORDS, "Recherche par mot");
 		
-
 		SelectItem types = new SelectItem(K.TYPES);
 		types.setTitle("Terrain types");
 		types.setMultiple(true);  
@@ -109,6 +115,9 @@
 			@Override
 			public void onClick(com.smartgwt.client.widgets.form.fields.events.ClickEvent event) {
 
+				String matching_strategy = "ONE";
+				if (checkboxItem.getValueAsBoolean()) matching_strategy = "ALL";
+				
 				String words_value = form.getValueAsString(K.WORDS);
 				if (words_value == null) words_value = "";
 				else words_value = words_value.trim();
@@ -142,6 +151,7 @@
 				System.out.println("Updating records...");
 
 				HashMap<String, String> critera = new HashMap<String, String>();
+				critera.put(K.MATCHINGSTRATEGY, matching_strategy);
 				critera.put(K.WORDS, words_value);
 				critera.put(K.TYPES, types_value);
 				critera.put(K.PROJECTS, projects_value);
@@ -168,6 +178,6 @@
 			}
 		});
 
-		form.setItems(wordsField, types, projets, participants, dispositifs, supports, validate);
+		form.setItems(checkboxItem, wordsField, types, projets, participants, dispositifs, supports, validate);
 	}
 }
Index: projets/BCCCC/src/org/ccc/bcccc/server/GreetingServiceImpl.java
===================================================================
--- projets/BCCCC/src/org/ccc/bcccc/server/GreetingServiceImpl.java	(revision 6)
+++ projets/BCCCC/src/org/ccc/bcccc/server/GreetingServiceImpl.java	(revision 7)
@@ -26,6 +26,7 @@
 import java.util.regex.Pattern;
 
 import org.ccc.bcccc.client.GreetingService;
+import org.ccc.bcccc.shared.ITerrainField;
 import org.ccc.bcccc.shared.K;
 import org.ccc.bcccc.shared.TerrainRecord;
 import org.ccc.bcccc.shared.TerrainRecordAndRights;
@@ -173,7 +174,7 @@
 		if (user != null) {
 			if (user.equals(ConfigDB.getAdmin())) {
 				r.deletable = true;
-				r.editable = true;
+				r.editable = false;
 				r.validable = r.record.mustBeValidated;
 			} else if (user.equals(r.record.user)) {
 				r.deletable = true;
@@ -225,55 +226,85 @@
 		log.info("getRecordWithComplexCritera: "+critera);
 		ArrayList<TerrainRecord> searched_records = new ArrayList<TerrainRecord>();
 
-		String words = addBackSlash(critera.get(K.WORDS)).replace(" ", "|");
+		boolean matchOne = critera.get(K.MATCHINGSTRATEGY).equals("ONE");
+		int NUMBEROFCRITERA = 0;
+		
+		String words = addBackSlash(critera.get(K.WORDS)).toLowerCase().replace(" ", "|");
 		Pattern p = null;
 		if (words.length() > 0) {
 			try {
 				p = Pattern.compile(words);
+				NUMBEROFCRITERA++;
 			} catch(Exception e) {
 				log.warning("Error while compiling search pattern with "+words+": "+e);
 				p = null;
 			}
 		}
+		
 		List<String> types = new ArrayList<String>();
-		if (critera.get(K.TYPES).length() > 0)
+		if (critera.get(K.TYPES).length() > 0) {
 			types= Arrays.asList(critera.get(K.TYPES).split(","));
-
+			NUMBEROFCRITERA++;
+		}
+		
 		List<String> dispositifs = new ArrayList<String>();
-		if (critera.get(K.DISPOSITIFS).length() > 0)
+		if (critera.get(K.DISPOSITIFS).length() > 0) {
 			dispositifs = Arrays.asList(critera.get(K.DISPOSITIFS).split(","));
-
+			NUMBEROFCRITERA++;
+		}
+		
 		List<String> supports = new ArrayList<String>();
-		if (critera.get(K.SUPPORTS).length() > 0)
+		if (critera.get(K.SUPPORTS).length() > 0) {
 			supports = Arrays.asList(critera.get(K.SUPPORTS).split(","));
-
+			NUMBEROFCRITERA++;
+		}
+		
 		List<String> projets = new ArrayList<String>();
-		if (critera.get(K.PROJECTS).length() > 0)
+		if (critera.get(K.PROJECTS).length() > 0) {
 			projets = Arrays.asList(critera.get(K.PROJECTS).split(","));
+			NUMBEROFCRITERA++;
+		}
+		
+		int numberOfParticipants = Integer.parseInt(critera.get(K.NUMBEROFPARTICIPANTS));
+		NUMBEROFCRITERA++;
+		
+		log.info("getRecordWithComplexCritera: NUMBEROFCRITERA="+NUMBEROFCRITERA+" WORDS="+words+", TYPES="+types+" DISPOSITIFS="+dispositifs+" SUPPORTS="+supports+" PROJECTS="+projets+" NUMBEROFPARTICIPANTS="+numberOfParticipants);
 
-		int persons = Integer.parseInt(critera.get(K.NUMBEROFPARTICIPANTS));
-
-		log.info("getRecordWithComplexCritera: WORDS="+words+", TYPES="+types+" DISPOSITIFS="+dispositifs+" SUPPORTS="+supports+" PROJECTS="+projets+" NUMBEROFPARTICIPANTS="+persons);
-
+		int match_counter = 0;
+		
 		for (TerrainRecord record : records.values()) {
-			if (p != null && p.matcher(record.short_description).find()) {
+			match_counter = 0;
+			if (p != null && p.matcher(record.short_description.toLowerCase()).find()) {
+				log.info(" "+record.uniq_id+" matches with words critera "+words);
+				match_counter++;
+			} 
+			if (record.numberOfParticipants >= numberOfParticipants) {
+				log.info(" "+record.uniq_id+" matches with numberOfParticipants critera "+numberOfParticipants);
+				match_counter++;
+			} 
+			if (types.size() > 0 && interString(record.types, types)) {
+				log.info(" "+record.uniq_id+" matches with types critera "+types);
+				match_counter++;
+			} 
+			if (dispositifs.size() > 0 && inter(record.dispositifs, dispositifs)) {
+				log.info(" "+record.uniq_id+" matches with dispositifs critera "+dispositifs);
+				match_counter++;
+			} 
+			if (projets.size() > 0) {
+				log.info(" "+record.uniq_id+" with projets critera "+projets);
+				match_counter++;
+			} 
+			if (supports.size() > 0 && inter(record.supports, supports)) {
+				log.info(" "+record.uniq_id+" matches with supports critera "+supports);
+				match_counter++;
+			}
+			
+			if (matchOne && match_counter >= 1) { 
 				searched_records.add(record);
-				log.info("Found "+record+" with words critera "+words);
-			} else if (persons > 0 && record.numberOfParticipants >= persons) {
+				log.info(" "+record.uniq_id+" found.");
+			} else if (!matchOne && match_counter == NUMBEROFCRITERA) {
 				searched_records.add(record);
-				log.info("Found "+record+" with persons critera "+persons);
-			} else if (types.size() > 0 && inter(record.types, types)) {
-				searched_records.add(record);
-				log.info("Found "+record+" with types critera "+types);
-			} else if (dispositifs.size() > 0 && inter(record.dispositifs, dispositifs)) {
-				searched_records.add(record);
-				log.info("Found "+record+" with dispositifs critera "+dispositifs);
-			} else if (projets.size() > 0) {
-				searched_records.add(record);
-				log.info("Found "+record+" with projets critera "+projets);
-			} else if (supports.size() > 0 && inter(record.supports, supports)) {
-				searched_records.add(record);
-				log.info("Found "+record+" with supports critera "+supports);
+				log.info(" "+record.uniq_id+" found.");
 			}
 		}
 
@@ -309,13 +340,28 @@
 	 * @param little the little
 	 * @return true, if successful
 	 */
-	public static boolean inter(List big, List little) {
+	public static boolean interString(List big, List little) {
 		for (Object o : little) {
 			for(Object o2 : big)
 				if (o2.toString().equals(o)) return true;
 		}
 		return false;
 	}
+	
+	/**
+	 * Inter.
+	 *
+	 * @param big the big
+	 * @param little the little
+	 * @return true, if successful
+	 */
+	public static boolean inter(List<? extends ITerrainField> big, List little) {
+		for (Object o : little) {
+			for(ITerrainField o2 : big)
+				if (o2.toCompareString().equals(o)) return true;
+		}
+		return false;
+	}
 
 	/* (non-Javadoc)
 	 * @see org.ccc.bcccc.client.GreetingService#getRecordsWithSimpleCritera(java.util.HashMap)
@@ -426,20 +472,23 @@
 
 			log.info("updateRecord: user="+user);
 
-			if (records.containsKey(ID)) {
+			if (!records.containsKey(ID)) {
 				log.warning("updateRecord: record does not exists: "+ID);
 				return false;
 			} else {
 				if (records.isRecordSetToUser(user, ID)) {
-					log.info("updateRecord: updating record: "+ID);
+					log.info("updateRecord: updating record: "+ID+" with "+content);
 					TerrainRecord record = records.get(ID);
-
-					if (record.mustBeValidated) {
-						log.warning("updateRecord: record needs to be validatd before: "+ID);
+					if (record == null) {
+						log.severe("updateRecord: record not found: "+ID);
 						return false;
 					}
+//					if (record.mustBeValidated) {
+//						log.warning("updateRecord: record needs to be validatd before: "+ID);
+//						return false;
+//					}
 					record.setDetailFields(content.numberOfParticipants, content.place, content.types, content.keywords, content.persons, content.dispositifs, content.documentations, content.supports, content.reports, content.publications);
-					record.setInfoFields(content.name, content.project, content.date, content.short_description, content.user);
+					record.setInfoFields(content.name, content.project, content.date, content.short_description, user);
 					return records.save(record);
 
 				} else {
Index: projets/BCCCC/src/org/ccc/bcccc/server/RecordsDB.java
===================================================================
--- projets/BCCCC/src/org/ccc/bcccc/server/RecordsDB.java	(revision 6)
+++ projets/BCCCC/src/org/ccc/bcccc/server/RecordsDB.java	(revision 7)
@@ -27,6 +27,7 @@
 
 import javax.xml.parsers.DocumentBuilder;
 import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.transform.OutputKeys;
 import javax.xml.transform.Transformer;
 import javax.xml.transform.TransformerFactory;
 import javax.xml.transform.dom.DOMSource;
@@ -36,6 +37,7 @@
 import org.ccc.bcccc.shared.Dispositif;
 import org.ccc.bcccc.shared.DocumentUnit;
 import org.ccc.bcccc.shared.K;
+import org.ccc.bcccc.shared.Report;
 import org.ccc.bcccc.shared.TerrainRecord;
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
@@ -141,6 +143,7 @@
 	 * @return true, if is record set to user
 	 */
 	public boolean isRecordSetToUser(String user, Long recordID) {
+		if (allUsersRecordIDS.get(user) == null) return false;
 		return allUsersRecordIDS.get(user).contains(recordID);
 	}
 
@@ -238,7 +241,20 @@
 						String url = node.getAttribute(K.URL);
 						record.documentations.add(new DocumentUnit(type, url, dname));
 					}
+					
 
+					// get documentations
+					NodeList reports = rootElement.getElementsByTagName(K.REPORT);
+					for (int i=0; i<reports.getLength(); i++){
+						Element node = (Element)(reports.item(i));
+						String userID = node.getAttribute(K.USER);
+						String note = node.getAttribute(K.NOTE);
+						int inote = 0;
+						if (note.length() > 0) inote = Integer.parseInt(note);
+						String comment = node.getTextContent();
+						record.reports.add(new Report(userID, comment, inote));
+					}
+
 					this.put(record.uniq_id, record);
 					if (!this.containsUser(record.user)) this.registerUser(record.user);
 					this.setRecordToUser(record.user, record.uniq_id);
@@ -325,9 +341,18 @@
 				rootElement.appendChild(e);
 			}
 			
+			for (Report v : record.reports) {
+				Element e = doc.createElement(K.REPORT);
+				e.setAttribute(K.USER, v.user);
+				e.setTextContent(v.comment);
+				e.setAttribute(K.NOTE, ""+v.note);
+				rootElement.appendChild(e);
+			}
+			
 			// write the content into xml file
 			TransformerFactory transformerFactory = TransformerFactory.newInstance();
 			Transformer transformer = transformerFactory.newTransformer();
+			transformer.setOutputProperty(OutputKeys.INDENT, "yes");
 			DOMSource source = new DOMSource(doc);
 			StreamResult result = new StreamResult(recordDB);
 	 		// StreamResult result = new StreamResult(System.out);
Index: projets/BCCCC/src/org/ccc/bcccc/shared/TerrainRecord.java
===================================================================
--- projets/BCCCC/src/org/ccc/bcccc/shared/TerrainRecord.java	(revision 6)
+++ projets/BCCCC/src/org/ccc/bcccc/shared/TerrainRecord.java	(revision 7)
@@ -23,6 +23,9 @@
 import java.util.Date;
 import java.util.List;
 
+import com.google.gwt.i18n.client.DateTimeFormat;
+import com.google.gwt.i18n.client.DateTimeFormat.PredefinedFormat;
+
 // TODO: Auto-generated Javadoc
 /**
  * The Class TerrainRecord.
@@ -152,29 +155,64 @@
 	 * @see java.lang.Object#toString()
 	 */
 	public String toString() {
-		return uniq_id+"="+name+" "+project+" "+user+" "+mustBeValidated+" "+date+" "+year+" "+place+" "+numberOfParticipants+" "+types+" "+keywords+" "+" "+persons+" "+dispositifs+" "+supports+" "+documentations+" "+short_description;
+		return ""+uniq_id+"\n"
+				+ "\tName="+name+" \n"
+				+ "\tProject="+project+"\n"
+				+ "\tOwner= "+user+"\n"
+				+ "\tDesc="+short_description+"\n"
+				+ "\tWaitingForValidation="+mustBeValidated+"\n"
+				+ "\tDate="+date+" "+year+"\n"
+				+ "\tPlace="+place+"\n"
+				+ "\tNumberOfParticipants="+numberOfParticipants+"\n"
+				+ "\tTypes"+types+"\n"
+				+" \tMakers="+persons+"\n"
+				+ "\tDispositifs="+dispositifs+"\n"
+				+ "\tSupports "+supports+"\n"
+				+ "\tDocs= "+documentations;
 	}
 
 	/* (non-Javadoc)
 	 * @see java.lang.Object#toString()
 	 */
 	public String toHTML() {
-		return "<h3>"+name+"</h3>\n" +
+		return "<h2>"+name+"</h2>\n" +
+				"<p>"+short_description+"</p>" +
 				"<h3>Informations</h3>\n" +
 				"<ul>"+
-				"<li>Project: "+project+"</li>\n" +
-				"<li>Owner: "+user+"</li>\n" +
-				"<li>Year: "+year+"</li>\n" +
-				"<li>Place: "+place+"</li>\n" +
-				"<li>Number of participants: "+numberOfParticipants+"</li>" +
+				"<li>Nom du projet ayant produit le terrain : "+project+"</li>\n" +
+				"<li>Créateur de la fiche : "+user+"</li>\n" +
+				"<li>Date de prise : "+DateTimeFormat.getFormat(PredefinedFormat.DATE_LONG).format(date)+"</li>\n" +
+				"<li>Lieu de prise : "+place+"</li>\n" +
+				"<li>Nombre de participants: "+numberOfParticipants+"</li>" +
+				"<p>Persones impliquées dans la réalisation du terrain : "+toPrettyHTMLList(persons)+"</p>\n" +
 				"</ul>" +
-				"<h3>Details</h3>\n" +
-				"<p>Types: "+types+"</p>\n" +
-				"<p>Persons: "+persons+"</p>\n" +
-				"<p>Dispositifs: "+dispositifs+"</p>\n" +
-				"<p>Equipments: "+supports+"</p>\n" +
-				"<p>Documentation: "+documentations+"<p>\n" +
-				"<h3>Description</h3>\n" +
-				"<p>"+short_description;
+				"<h3>Détails</h3>\n" +
+				"<p>Type : "+toPrettyHTMLList(types)+"</p>\n" +
+				"<p>Equipments employés : "+toPrettyHTMLIHTMLprintableList(dispositifs)+"</p>\n" +
+				"<p>Médias produits : "+toPrettyHTMLIHTMLprintableList(supports)+"</p>\n" +
+				"<p>Évaluations : "+toPrettyHTMLIHTMLprintableList(reports)+"<p>\n" +
+				"<p>Documentation : "+toPrettyHTMLIHTMLprintableList(documentations)+"<p>\n";
 	}
+	
+	public String toPrettyHTMLIHTMLprintableList(List<? extends IHTMLprintable> list) {
+		if (list.size() == 0) return "aucun";
+		StringBuffer buf = new StringBuffer();
+		buf.append("<ul>\n");
+		for (IHTMLprintable o : list) {
+			buf.append("<li class=\""+o.getClass().getSimpleName()+"\">"+o.toHTML()+"</li>");
+		}
+		buf.append("</ul>\n");
+		return buf.toString();
+	}
+	
+	public String toPrettyHTMLList(List<String> list) {
+		if (list.size() == 0) return "NA";
+		StringBuffer buf = new StringBuffer();
+		buf.append("<ul>\n");
+		for (Object o : list) {
+			buf.append("<li class=\""+o.getClass().getSimpleName()+"\">"+o+"</li>");
+		}
+		buf.append("</ul>\n");
+		return buf.toString();
+	}
 }
Index: projets/BCCCC/src/org/ccc/bcccc/shared/TerrainRecordAndRights.java
===================================================================
--- projets/BCCCC/src/org/ccc/bcccc/shared/TerrainRecordAndRights.java	(revision 6)
+++ projets/BCCCC/src/org/ccc/bcccc/shared/TerrainRecordAndRights.java	(revision 7)
@@ -74,6 +74,6 @@
 	 * @see java.lang.Object#toString()
 	 */
 	public String toString() {
-		return "("+editable+", "+deletable+", "+validable+") "+record.toString();
+		return record.toString()+ "\n(editable="+editable+", deleteable="+deletable+", validable="+validable+")";
 	}
 }
Index: projets/BCCCC/src/org/ccc/bcccc/shared/Data.java
===================================================================
--- projets/BCCCC/src/org/ccc/bcccc/shared/Data.java	(revision 6)
+++ projets/BCCCC/src/org/ccc/bcccc/shared/Data.java	(revision 7)
@@ -24,7 +24,7 @@
 /**
  * The Class Data.
  */
-public class Data implements Serializable {
+public class Data implements Serializable, IHTMLprintable, ITerrainField {
 
 	/** The Constant serialVersionUID. */
 	private static final long serialVersionUID = 1047843881275904261L;
@@ -36,8 +36,12 @@
 	public String url = null;
 	
 	/** The Constant values. */
-	public static final String[] values = {"primary", "secondary", "illustrative"};
+	public static final String[] values = {"Primaire", "Secondaire", "Illustratif"};
 	
+	protected Data() {
+		
+	}
+	
 	/**
 	 * Instantiates a new data.
 	 *
@@ -55,4 +59,15 @@
 	public String toString() {
 		return type +" "+url;
 	}
+	
+	/* (non-Javadoc)
+	 * @see java.lang.Object#toString()
+	 */
+	public String toHTML() {
+		return "<p>"+type +" Télécharger à l'adresse <a href=\""+url+"\">"+url+"</a></p>";
+	}
+	
+	public String toCompareString() {
+		return type;
+	}
 }
Index: projets/BCCCC/src/org/ccc/bcccc/shared/Publication.java
===================================================================
--- projets/BCCCC/src/org/ccc/bcccc/shared/Publication.java	(revision 6)
+++ projets/BCCCC/src/org/ccc/bcccc/shared/Publication.java	(revision 7)
@@ -18,12 +18,19 @@
  */
 package org.ccc.bcccc.shared;
 
+import java.io.Serializable;
+
 // TODO: Auto-generated Javadoc
 /**
  * The Class Publication.
  */
-public class Publication {
+public class Publication implements Serializable, IHTMLprintable, ITerrainField {
 	
+	/**
+	 * 
+	 */
+	private static final long serialVersionUID = 3080989627286156128L;
+
 	/** The user. */
 	public String user;
 	
@@ -34,8 +41,12 @@
 	public String type;
 	
 	/** The Constant types. */
-	public static final String[] types = {"Atelier CCC", "article", "séminaire"};
+	public static final String[] types = {"Atelier CCC", "Article", "Séminaire"};
 	
+	protected Publication() {
+		
+	}
+	
 	/**
 	 * Instantiates a new publication.
 	 *
@@ -55,4 +66,15 @@
 	public String toString() {
 		return user+":"+type+":"+url;
 	}
+	
+	/* (non-Javadoc)
+	 * @see java.lang.Object#toString()
+	 */
+	public String toHTML() {
+		return "<p>"+type+" par "+user+" à télécharger à l'adresse suivante <a href=\""+url+"\">"+url+"</a></p>";
+	}
+	
+	public String toCompareString() {
+		return type;
+	}
 }
Index: projets/BCCCC/src/org/ccc/bcccc/shared/K.java
===================================================================
--- projets/BCCCC/src/org/ccc/bcccc/shared/K.java	(revision 6)
+++ projets/BCCCC/src/org/ccc/bcccc/shared/K.java	(revision 7)
@@ -106,6 +106,8 @@
 	
 	/** The Constant DOCUMENTATION. */
 	public static final String DOCUMENTATION = "documentation";
+
+	public static final String REPORT = "report";
 	
 	/** The Constant NAME. */
 	public static final String NAME = "name";
@@ -124,4 +126,10 @@
 	
 	/** The Constant WORDS. */
 	public static final String WORDS = "words";
+
+	public static final String NOTE = "note";
+	public static final String COMMENT = "comment";
+
+	public static final String MATCHINGSTRATEGY = "matching";
+
 }
Index: projets/BCCCC/src/org/ccc/bcccc/shared/Report.java
===================================================================
--- projets/BCCCC/src/org/ccc/bcccc/shared/Report.java	(revision 6)
+++ projets/BCCCC/src/org/ccc/bcccc/shared/Report.java	(revision 7)
@@ -24,7 +24,7 @@
 /**
  * The Class Report.
  */
-public class Report implements Serializable {
+public class Report implements Serializable, IHTMLprintable, ITerrainField {
 
 	/** The Constant serialVersionUID. */
 	private static final long serialVersionUID = 5810467466405146857L;
@@ -38,6 +38,10 @@
 	/** The note. */
 	public int note;
 	
+	public Report() {
+		
+	}
+	
 	/**
 	 * Instantiates a new report.
 	 *
@@ -57,4 +61,16 @@
 	public String toString() {
 		return user+":"+note+":"+comment;
 	}
+	
+	/* (non-Javadoc)
+	 * @see java.lang.Object#toString()
+	 */
+	public String toHTML() {
+		return "<p>"+user+" : "+note+"/5 </p><p>"+comment+"</p>";
+	}
+
+	@Override
+	public String toCompareString() {
+		return user;
+	}
 }
Index: projets/BCCCC/src/org/ccc/bcccc/shared/Dispositif.java
===================================================================
--- projets/BCCCC/src/org/ccc/bcccc/shared/Dispositif.java	(revision 6)
+++ projets/BCCCC/src/org/ccc/bcccc/shared/Dispositif.java	(revision 7)
@@ -20,12 +20,15 @@
 
 import java.io.Serializable;
 
-// TODO: Auto-generated Javadoc
 /**
  * The Class Dispositif.
  */
-public class Dispositif implements Serializable {
+public class Dispositif implements Serializable, IHTMLprintable, ITerrainField {
 	
+	protected Dispositif() {
+		
+	}
+
 	/**
 	 * 
 	 */
@@ -38,7 +41,7 @@
 	public String url = null;
 	
 	/** The mobile. */
-	public boolean mobile = false;
+	public Boolean mobile = false;
 	
 	/** The Constant types. */
 	public static final String[] types = {"camera", "micro", "scanner",
@@ -51,7 +54,7 @@
 	 * @param url the url
 	 * @param mobile the mobile
 	 */
-	public Dispositif(String type, String url, boolean mobile) {
+	public Dispositif(String type, String url, Boolean mobile) {
 		this.type = type;
 		this.url = url;
 		this.mobile = mobile;
@@ -63,4 +66,15 @@
 	public String toString() {
 		return type +" "+mobile+" "+url;
 	}
+	
+	/* (non-Javadoc)
+	 * @see java.lang.Object#toString()
+	 */
+	public String toHTML() {
+		return "<p>Type : "+type +" "+(mobile?"mobile":"non mobile")+" plus d'information sur le matériel à l'adresse <a href=\""+url+"\">"+url+"</a></p>";
+	}
+	
+	public String toCompareString() {
+		return type;
+	}
 }
Index: projets/BCCCC/src/org/ccc/bcccc/shared/DocumentUnit.java
===================================================================
--- projets/BCCCC/src/org/ccc/bcccc/shared/DocumentUnit.java	(revision 6)
+++ projets/BCCCC/src/org/ccc/bcccc/shared/DocumentUnit.java	(revision 7)
@@ -24,24 +24,31 @@
 /**
  * The Class DocumentUnit.
  */
-public class DocumentUnit implements Serializable {
+public class DocumentUnit implements Serializable, IHTMLprintable, ITerrainField {
 
+
+
+
 	/** The Constant serialVersionUID. */
 	private static final long serialVersionUID = 7528287443409293099L;
-	
+
 	/** The type. */
 	public String type = "";
-	
+
 	/** The url. */
 	public String url = "";
-	
+
 	/** The name. */
 	public String name = "";
-	
+
 	/** The Constant values. */
-	public static final String[] values = {"plan", "description", "makingof", "photo dispositif", "photo terrain"};
-	
-	
+	public static final String[] values = {"Plan", "Description", "Makingof", "Dispositif photo", "Photo du terrain"};
+
+
+	protected DocumentUnit() {
+
+	}
+
 	/**
 	 * Instantiates a new document unit.
 	 *
@@ -54,11 +61,22 @@
 		this.url = url;
 		this.name = name;
 	}
-	
+
 	/* (non-Javadoc)
 	 * @see java.lang.Object#toString()
 	 */
 	public String toString() {
 		return name +" "+type+" "+url;
 	}
+	
+	/* (non-Javadoc)
+	 * @see java.lang.Object#toString()
+	 */
+	public String toHTML() {
+		return "<p>"+type+" : "+name +" à télécharger à l'adresse <a href=\""+url+"\">"+url+"</a></p>";
+	}
+	
+	public String toCompareString() {
+		return type;
+	}
 }
Index: projets/BCCCC/src/org/ccc/bcccc/shared/IHTMLprintable.java
===================================================================
--- projets/BCCCC/src/org/ccc/bcccc/shared/IHTMLprintable.java	(revision 0)
+++ projets/BCCCC/src/org/ccc/bcccc/shared/IHTMLprintable.java	(revision 7)
@@ -0,0 +1,5 @@
+package org.ccc.bcccc.shared;
+
+public interface IHTMLprintable {
+	public String toHTML();
+}

Property changes on: projets/BCCCC/src/org/ccc/bcccc/shared/IHTMLprintable.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: projets/BCCCC/src/org/ccc/bcccc/shared/ITerrainField.java
===================================================================
--- projets/BCCCC/src/org/ccc/bcccc/shared/ITerrainField.java	(revision 0)
+++ projets/BCCCC/src/org/ccc/bcccc/shared/ITerrainField.java	(revision 7)
@@ -0,0 +1,5 @@
+package org.ccc.bcccc.shared;
+
+public interface ITerrainField {
+	public String toCompareString();
+}

Property changes on: projets/BCCCC/src/org/ccc/bcccc/shared/ITerrainField.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: projets/BCCCC/war/bcccc/A254DF09C064E7D48B008BBD0AD883E8.gwt.rpc
===================================================================
--- projets/BCCCC/war/bcccc/A254DF09C064E7D48B008BBD0AD883E8.gwt.rpc	(revision 0)
+++ projets/BCCCC/war/bcccc/A254DF09C064E7D48B008BBD0AD883E8.gwt.rpc	(revision 7)
@@ -0,0 +1,32 @@
+com.google.gwt.i18n.shared.impl.DateRecord, true, true, true, true, com.google.gwt.i18n.shared.impl.DateRecord/3375188634, 3375188634
+com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException, true, true, true, true, com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException/3936916533, 3936916533
+com.google.gwt.user.client.rpc.RpcTokenException, true, true, false, false, com.google.gwt.user.client.rpc.RpcTokenException/2345075298, 2345075298
+com.google.gwt.user.client.rpc.XsrfToken, false, false, true, true, com.google.gwt.user.client.rpc.XsrfToken/4254043109, 4254043109
+com.smartgwt.client.util.LogicalDate, true, true, true, true, com.smartgwt.client.util.LogicalDate/1452805037, 1452805037
+com.smartgwt.client.util.LogicalTime, true, true, true, true, com.smartgwt.client.util.LogicalTime/644891758, 644891758
+java.lang.Boolean, true, true, true, true, java.lang.Boolean/476441737, 476441737
+java.lang.Exception, true, false, true, false, java.lang.Exception/1920171873, 1920171873
+java.lang.IllegalArgumentException, true, true, false, false, java.lang.IllegalArgumentException/1755012560, 1755012560
+java.lang.Long, false, false, true, true, java.lang.Long/4227064769, 4227064769
+java.lang.Number, false, false, true, false, java.lang.Number/300033342, 300033342
+java.lang.NumberFormatException, true, true, false, false, java.lang.NumberFormatException/3305228476, 3305228476
+java.lang.RuntimeException, true, false, true, false, java.lang.RuntimeException/515124647, 515124647
+java.lang.String, true, true, true, true, java.lang.String/2004016611, 2004016611
+[Ljava.lang.String;, true, true, true, true, [Ljava.lang.String;/2600011424, 2600011424
+java.lang.Throwable, true, false, true, false, java.lang.Throwable/2953622131, 2953622131
+java.sql.Date, true, true, true, true, java.sql.Date/730999118, 730999118
+java.sql.Time, true, true, true, true, java.sql.Time/1816797103, 1816797103
+java.sql.Timestamp, true, true, true, true, java.sql.Timestamp/3040052672, 3040052672
+java.util.ArrayList, true, true, true, true, java.util.ArrayList/4159755760, 4159755760
+java.util.Arrays$ArrayList, true, true, true, true, java.util.Arrays$ArrayList/2507071751, 2507071751
+java.util.Collections$EmptyList, true, true, true, true, java.util.Collections$EmptyList/4157118744, 4157118744
+java.util.Collections$SingletonList, true, true, true, true, java.util.Collections$SingletonList/1586180994, 1586180994
+java.util.Date, true, true, true, true, java.util.Date/3385151746, 3385151746
+java.util.HashMap, false, false, true, true, java.util.HashMap/1797211028, 1797211028
+java.util.LinkedHashMap, false, false, true, true, java.util.LinkedHashMap/3008245022, 3008245022
+java.util.LinkedList, true, true, true, true, java.util.LinkedList/3953877921, 3953877921
+java.util.Stack, true, true, true, true, java.util.Stack/1346942793, 1346942793
+java.util.Vector, true, true, true, true, java.util.Vector/3057315478, 3057315478
+org.ccc.bcccc.client.GreetingService, false, false, false, false, _, 1281457674
+org.ccc.bcccc.shared.TerrainRecord, true, true, true, true, org.ccc.bcccc.shared.TerrainRecord/1034002427, 1034002427
+org.ccc.bcccc.shared.TerrainRecordAndRights, true, true, false, false, org.ccc.bcccc.shared.TerrainRecordAndRights/771912597, 771912597
Index: projets/BCCCC/war/welcome.html
===================================================================
--- projets/BCCCC/war/welcome.html	(revision 6)
+++ projets/BCCCC/war/welcome.html	(revision 7)
@@ -12,10 +12,10 @@
   </head>
 
   <body>
-	<h3>Bienvenu sur le site de la base de connaissance de Terrain</h3>
+	<h3>Bienvenu sur le site BASTIDE : base de connaissance de terrain</h3>
 	
 	<p>
-		Le site vous permet de parcourir les terrains réalisés...
+		Le site vous permet de parcourir les terrains réalisés dans le cadre de la CCC d'ICAR.
 		<br>
 		<a href="#browse">Parcourir les fiches</a>
 	</p>
Index: projets/BCCCC/war/aide.html
===================================================================
--- projets/BCCCC/war/aide.html	(revision 0)
+++ projets/BCCCC/war/aide.html	(revision 7)
@@ -0,0 +1,49 @@
+<!doctype html>
+<html>
+<head>
+<meta http-equiv="content-type" content="text/html; charset=UTF-8">
+<link type="text/css" rel="stylesheet" href="BCCCC.css">
+<title>Aide</title>
+</head>
+
+<body>
+	<h2>Aide à l'utilisation de Bastide</h2>
+	<p>
+	<h3>Gestion de son compte utilisateur</h3>
+	<h4>Données personnelles</h4>
+	<p>Aucune données personnelle n'est stockée</p>
+	<h4>Créer un compte</h4>
+	<p>
+		Contacter par email l'administrateur du site : <a
+			href="mailto:daniel@valero.ens-lyon.fr">daniel@valero.ens-lyon.fr</a>
+	</p>
+	<h4>Supprimer un compte</h4>
+	<p>
+		Contacter par email l'administrateur du site : <a
+			href="mailto:daniel@valero.ens-lyon.fr">daniel@valero.ens-lyon.fr</a>
+	</p>
+	</p>
+	<h3>Activitées disponibles</h3>
+	<p>
+	<h4>Parcours des fiches</h4>
+	<p>En cliquant sur le bouton <b>Parcourir les fiches</b>, un tableau s'affiche. Il contient toutes les fiches crées par des utilisateurs et validées par l'administrateur.</p>
+	
+	<p>Les fiches sont triées par années de réalisation du terrain. Pour chaque fiche, ont aura un aperçu rapide des information suivantes :
+	<ul>
+		<li>Année : l'année de réalisation du terrain</li>
+		<li>Nom : le nom de la fiche</li>
+		<li>Projet : le nom du projet de recherche qui a sontenu la réalisation du terrain</li>
+		<li>Description : une description rapide du terrain en quelques lignes</li>
+	</ul>
+	</p> 
+	<h4>Rechercher une fiche</h4>
+	<h4>Créer et modifier ses fiches</h4>
+	<h4>Parcours des fiches</h4>
+	<h4>Parcours des fiches</h4>
+	<p>
+		Le site vous permet de parcourir les terrains réalisés dans le cadre
+		de la CCC d'ICAR. <br> <a href="#browse">Parcourir les fiches</a>
+	</p>
+	</p>
+</body>
+</html>

Property changes on: projets/BCCCC/war/aide.html
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: projets/BCCCC/war/images/pencil.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: projets/BCCCC/war/images/pencil.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: projets/BCCCC/war/images/report.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: projets/BCCCC/war/images/report.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: projets/BCCCC/war/WEB-INF/deploy/bcccc/rpcPolicyManifest/manifests/1CB26B201F408123E1B7F398FD6E8822.txt
===================================================================
--- projets/BCCCC/war/WEB-INF/deploy/bcccc/rpcPolicyManifest/manifests/1CB26B201F408123E1B7F398FD6E8822.txt	(revision 0)
+++ projets/BCCCC/war/WEB-INF/deploy/bcccc/rpcPolicyManifest/manifests/1CB26B201F408123E1B7F398FD6E8822.txt	(revision 7)
@@ -0,0 +1,2 @@
+serviceClass: org.ccc.bcccc.client.GreetingService
+path: A254DF09C064E7D48B008BBD0AD883E8.gwt.rpc

Property changes on: projets/BCCCC/war/WEB-INF/deploy/bcccc/rpcPolicyManifest/manifests/1CB26B201F408123E1B7F398FD6E8822.txt
___________________________________________________________________
Added: svn:mime-type
   + text/plain

