Index: tmp/org.txm.concordance.rcp/src/org/txm/concordance/rcp/editors/ConcordanceEditor.java
===================================================================
--- tmp/org.txm.concordance.rcp/src/org/txm/concordance/rcp/editors/ConcordanceEditor.java	(revision 549)
+++ tmp/org.txm.concordance.rcp/src/org/txm/concordance/rcp/editors/ConcordanceEditor.java	(revision 550)
@@ -959,7 +959,7 @@
 				if (e.keyCode == SWT.CR || e.keyCode == SWT.KEYPAD_CR) {
 					//updateResultFromEditor();
 					concordance.setQuery(queryWidget.getQuery());
-					//compute(true);
+					compute(true);
 				}
 			}
 
Index: tmp/org.txm.concordance.core/src/org/txm/concordance/core/functions/Concordance.java
===================================================================
--- tmp/org.txm.concordance.core/src/org/txm/concordance/core/functions/Concordance.java	(revision 549)
+++ tmp/org.txm.concordance.core/src/org/txm/concordance/core/functions/Concordance.java	(revision 550)
@@ -86,7 +86,7 @@
 	protected List<Line> lines;
 	/** The n lines. */
 	protected int nLines;
-	
+
 	/** The keyword analysis properties */
 	@Parameter
 	protected List<Property> pAnalysisKeywordProperties;
@@ -153,75 +153,6 @@
 		if (corpus != null) {
 			setCQLSeparator(corpus.getCQLLimitQuery());
 		}
-		
-		this.pTopIndex = this.getIntParameterValue(ConcordancePreferences.TOP_INDEX);
-		this.pNLinesPerPage = this.getIntParameterValue(ConcordancePreferences.N_LINE_PER_PAGE);
-
-		this.pLeftContextSize = this.getIntParameterValue(ConcordancePreferences.LEFT_CONTEXT_SIZE);
-		this.pRightContextSize = this.getIntParameterValue(ConcordancePreferences.RIGHT_CONTEXT_SIZE);
-
-		this.pLimitCQL = this.getStringParameterValue(ConcordancePreferences.LIMITCQL);
-
-		try {
-			String propertyNames = this.getStringParameterValue(ConcordancePreferences.KEYWORD_VIEW_PROPERTIES);
-			this.pViewKeywordProperties = Property.stringToProperties(corpus, propertyNames);
-			this.availableKeywordViewProperties = new ArrayList<Property>(corpus.getOrderedProperties());
-			this.availableKeywordViewProperties.removeAll(pViewKeywordProperties);
-
-			propertyNames = this.getStringParameterValue(ConcordancePreferences.LEFT_VIEW_PROPERTIES);
-			this.pViewLeftProperties = Property.stringToProperties(corpus, propertyNames);
-			this.availableLeftViewProperties = new ArrayList<Property>(corpus.getOrderedProperties());
-			this.availableLeftViewProperties.removeAll(pViewLeftProperties);
-
-			propertyNames = this.getStringParameterValue(ConcordancePreferences.RIGHT_VIEW_PROPERTIES);
-			this.pViewRightProperties = Property.stringToProperties(corpus, propertyNames);
-			this.availableRightViewProperties = new ArrayList<Property>(corpus.getOrderedProperties());
-			this.availableRightViewProperties.removeAll(pViewRightProperties);
-
-			propertyNames = this.getStringParameterValue(ConcordancePreferences.KEYWORD_ANALYSIS_PROPERTIES);
-			this.pAnalysisKeywordProperties = Property.stringToProperties(corpus, propertyNames);
-			this.availableKeywordSortProperties = new ArrayList<Property>(corpus.getOrderedProperties());
-			this.availableKeywordSortProperties.removeAll(pAnalysisKeywordProperties);
-
-			propertyNames = this.getStringParameterValue(ConcordancePreferences.LEFT_ANALYSIS_PROPERTIES);
-			this.pAnalysisLeftProperties = Property.stringToProperties(corpus, propertyNames);
-			this.availableLeftSortProperties = new ArrayList<Property>(corpus.getOrderedProperties());
-			this.availableLeftSortProperties.removeAll(pAnalysisLeftProperties);
-
-			propertyNames = this.getStringParameterValue(ConcordancePreferences.RIGHT_ANALYSIS_PROPERTIES);
-			this.pAnalysisRightProperties = Property.stringToProperties(corpus, propertyNames);
-			this.availableRightSortProperties = new ArrayList<Property>(corpus.getOrderedProperties());
-			this.availableRightSortProperties.removeAll(pAnalysisRightProperties);
-
-			String refPropertyNames = this.getStringParameterValue(ConcordancePreferences.VIEW_REFERENCEPATTERN);
-			if ("*".equals(refPropertyNames)) {
-				Property refProperty = corpus.getProperty("ref");
-				if (refProperty == null) {
-					StructuralUnitProperty sup_textid = corpus.getTextIdStructuralUnitProperty();
-					this.pViewRefPattern = new ReferencePattern(sup_textid);
-				} else {
-					this.pViewRefPattern = new ReferencePattern(refProperty);
-				}
-			} else {
-				this.pViewRefPattern = ReferencePattern.stringToReferencePattern(corpus, refPropertyNames);
-			}
-			
-			refPropertyNames = this.getStringParameterValue(ConcordancePreferences.ANALYSIS_REFERENCEPATTERN);
-			if ("*".equals(refPropertyNames)) {
-				Property refProperty = corpus.getProperty("ref");
-				if (refProperty == null) {
-					StructuralUnitProperty sup_textid = corpus.getTextIdStructuralUnitProperty();
-					this.pAnalysisRefPattern = new ReferencePattern(sup_textid);
-				} else {
-					this.pAnalysisRefPattern = new ReferencePattern(refProperty);
-				}
-			} else {
-				this.pAnalysisRefPattern = ReferencePattern.stringToReferencePattern(corpus, refPropertyNames);
-			}
-		} catch (CqiClientException e) {
-			// TODO Auto-generated catch block
-			e.printStackTrace();
-		}
 	}
 
 
@@ -1132,7 +1063,7 @@
 		this.pAnalysisRefPattern = refAnalysePattern;
 		this.pLeftContextSize = leftContextSize;
 		this.pRightContextSize = rightContextSize;
-		
+
 		this.dirty = true;
 	}
 
@@ -1616,4 +1547,112 @@
 	public void setTopIndex(int i) {
 		pTopIndex = i;
 	}
+
+	@Override
+	public boolean saveParameters() {
+
+		this.setParameterValue(ConcordancePreferences.TOP_INDEX, this.pTopIndex);
+		this.setParameterValue(ConcordancePreferences.N_LINE_PER_PAGE, this.pNLinesPerPage);
+
+		this.setParameterValue(ConcordancePreferences.LEFT_CONTEXT_SIZE, this.pLeftContextSize);
+		this.setParameterValue(ConcordancePreferences.RIGHT_CONTEXT_SIZE, this.pRightContextSize);
+
+		this.setParameterValue(ConcordancePreferences.LIMITCQL, this.pLimitCQL);
+
+		this.setParameterValue(ConcordancePreferences.KEYWORD_VIEW_PROPERTIES, this.pViewKeywordProperties);
+
+		this.setParameterValue(ConcordancePreferences.LEFT_VIEW_PROPERTIES, this.pViewLeftProperties);
+
+		this.setParameterValue(ConcordancePreferences.RIGHT_VIEW_PROPERTIES, this.pViewRightProperties);
+
+		this.setParameterValue(ConcordancePreferences.KEYWORD_ANALYSIS_PROPERTIES, this.pAnalysisKeywordProperties);
+
+		this.setParameterValue(ConcordancePreferences.LEFT_ANALYSIS_PROPERTIES, this.pAnalysisLeftProperties);
+
+		this.setParameterValue(ConcordancePreferences.RIGHT_ANALYSIS_PROPERTIES, this.pAnalysisRightProperties);
+
+		this.setParameterValue(ConcordancePreferences.VIEW_REFERENCEPATTERN, this.pViewRefPattern);
+
+		this.setParameterValue(ConcordancePreferences.ANALYSIS_REFERENCEPATTERN, pAnalysisRefPattern);
+
+		return true;
+	}
+
+
+	@Override
+	public boolean loadParameters() {
+
+
+		try {
+			this.pTopIndex = this.getIntParameterValue(ConcordancePreferences.TOP_INDEX);
+			this.pNLinesPerPage = this.getIntParameterValue(ConcordancePreferences.N_LINE_PER_PAGE);
+
+			this.pLeftContextSize = this.getIntParameterValue(ConcordancePreferences.LEFT_CONTEXT_SIZE);
+			this.pRightContextSize = this.getIntParameterValue(ConcordancePreferences.RIGHT_CONTEXT_SIZE);
+
+			this.pLimitCQL = this.getStringParameterValue(ConcordancePreferences.LIMITCQL);
+
+			String propertyNames = this.getStringParameterValue(ConcordancePreferences.KEYWORD_VIEW_PROPERTIES);
+			this.pViewKeywordProperties = Property.stringToProperties(getCorpus(), propertyNames);
+			this.availableKeywordViewProperties = new ArrayList<Property>(getCorpus().getOrderedProperties());
+			this.availableKeywordViewProperties.removeAll(pViewKeywordProperties);
+
+			propertyNames = this.getStringParameterValue(ConcordancePreferences.LEFT_VIEW_PROPERTIES);
+			this.pViewLeftProperties = Property.stringToProperties(getCorpus(), propertyNames);
+			this.availableLeftViewProperties = new ArrayList<Property>(getCorpus().getOrderedProperties());
+			this.availableLeftViewProperties.removeAll(pViewLeftProperties);
+
+			propertyNames = this.getStringParameterValue(ConcordancePreferences.RIGHT_VIEW_PROPERTIES);
+			this.pViewRightProperties = Property.stringToProperties(getCorpus(), propertyNames);
+			this.availableRightViewProperties = new ArrayList<Property>(getCorpus().getOrderedProperties());
+			this.availableRightViewProperties.removeAll(pViewRightProperties);
+
+			propertyNames = this.getStringParameterValue(ConcordancePreferences.KEYWORD_ANALYSIS_PROPERTIES);
+			this.pAnalysisKeywordProperties = Property.stringToProperties(getCorpus(), propertyNames);
+			this.availableKeywordSortProperties = new ArrayList<Property>(getCorpus().getOrderedProperties());
+			this.availableKeywordSortProperties.removeAll(pAnalysisKeywordProperties);
+
+			propertyNames = this.getStringParameterValue(ConcordancePreferences.LEFT_ANALYSIS_PROPERTIES);
+			this.pAnalysisLeftProperties = Property.stringToProperties(getCorpus(), propertyNames);
+			this.availableLeftSortProperties = new ArrayList<Property>(getCorpus().getOrderedProperties());
+			this.availableLeftSortProperties.removeAll(pAnalysisLeftProperties);
+
+			propertyNames = this.getStringParameterValue(ConcordancePreferences.RIGHT_ANALYSIS_PROPERTIES);
+			this.pAnalysisRightProperties = Property.stringToProperties(getCorpus(), propertyNames);
+			this.availableRightSortProperties = new ArrayList<Property>(getCorpus().getOrderedProperties());
+			this.availableRightSortProperties.removeAll(pAnalysisRightProperties);
+
+			String refPropertyNames = this.getStringParameterValue(ConcordancePreferences.VIEW_REFERENCEPATTERN);
+			if ("*".equals(refPropertyNames)) {
+				Property refProperty = getCorpus().getProperty("ref");
+				if (refProperty == null) {
+					StructuralUnitProperty sup_textid = getCorpus().getTextIdStructuralUnitProperty();
+					this.pViewRefPattern = new ReferencePattern(sup_textid);
+				} else {
+					this.pViewRefPattern = new ReferencePattern(refProperty);
+				}
+			} else {
+				this.pViewRefPattern = ReferencePattern.stringToReferencePattern(getCorpus(), refPropertyNames);
+			}
+
+			refPropertyNames = this.getStringParameterValue(ConcordancePreferences.ANALYSIS_REFERENCEPATTERN);
+			if ("*".equals(refPropertyNames)) {
+				Property refProperty = getCorpus().getProperty("ref");
+				if (refProperty == null) {
+					StructuralUnitProperty sup_textid = getCorpus().getTextIdStructuralUnitProperty();
+					this.pAnalysisRefPattern = new ReferencePattern(sup_textid);
+				} else {
+					this.pAnalysisRefPattern = new ReferencePattern(refProperty);
+				}
+			} else {
+				this.pAnalysisRefPattern = ReferencePattern.stringToReferencePattern(getCorpus(), refPropertyNames);
+			}
+		} catch (CqiClientException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+			return false;
+		}
+
+		return true;
+	}
 }
Index: tmp/org.txm.rcp.feature/feature.xml
===================================================================
--- tmp/org.txm.rcp.feature/feature.xml	(revision 549)
+++ tmp/org.txm.rcp.feature/feature.xml	(revision 550)
@@ -91,12 +91,14 @@
       <import plugin="org.txm.chartsengine.rcp"/>
       <import plugin="org.eclipse.core.expressions" version="3.4.600" match="greaterOrEqual"/>
       <import plugin="org.txm.ca.core"/>
+      <import plugin="org.eclipse.core.commands" version="3.6.100" match="greaterOrEqual"/>
       <import plugin="org.txm.utils"/>
       <import plugin="org.txm.libs.itext"/>
       <import plugin="org.txm.libs.jfreechart"/>
       <import plugin="org.txm.chartsengine.core"/>
       <import plugin="org.eclipse.core.resources"/>
       <import plugin="org.eclipse.swt"/>
+      <import plugin="org.eclipse.e4.ui.workbench.renderers.swt"/>
       <import plugin="org.eclipse.swt" version="3.103.2" match="greaterOrEqual"/>
       <import plugin="org.eclipse.e4.ui.workbench" version="1.2.2" match="greaterOrEqual"/>
       <import plugin="org.txm.concordance.core"/>
@@ -107,10 +109,6 @@
       <import plugin="org.txm.searchengine.cqp.core"/>
       <import plugin="org.apache.xerces" version="2.9.0" match="greaterOrEqual"/>
       <import plugin="org.eclipse.jface"/>
-      <import plugin="org.eclipse.ui.workbench"/>
-      <import plugin="org.txm.index.rcp"/>
-      <import plugin="org.txm.progression.rcp"/>
-      <import plugin="org.txm.lexicaltable.rcp"/>
       <import plugin="org.txm.partition.core"/>
       <import plugin="org.txm.concordance.rcp"/>
       <import plugin="org.txm.synopticeditor.rcp"/>
@@ -160,7 +158,6 @@
       <import plugin="org.eclipse.equinox.p2.reconciler.dropins" version="1.1.200" match="greaterOrEqual"/>
       <import plugin="org.eclipse.ui.views.log" version="1.0.500" match="greaterOrEqual"/>
       <import plugin="org.txm.groovy.core"/>
-      <import plugin="org.eclipse.core.commands" version="3.6.100" match="greaterOrEqual"/>
       <import plugin="org.eclipse.ui.workbench" version="3.106.2" match="greaterOrEqual"/>
       <import plugin="org.txm.statsengine.r.core"/>
       <import plugin="org.eclipse.jface.text" version="3.9.2" match="greaterOrEqual"/>
@@ -170,10 +167,35 @@
       <import plugin="org.eclipse.jface.databinding" version="1.6.200" match="greaterOrEqual"/>
       <import plugin="org.eclipse.core.net" version="1.2.200" match="greaterOrEqual"/>
       <import plugin="org.txm.specificities.core"/>
-      <import plugin="org.txm.chartsengine.r.core"/>
-      <import plugin="org.txm.textsbalance.core" version="1.0.0" match="greaterOrEqual"/>
+      <import plugin="org.txm.lexicaltable.rcp"/>
       <import plugin="org.txm.lexicon.core"/>
-      <import plugin="org.txm.wordcloud.core" version="1.0.0" match="greaterOrEqual"/>
+      <import plugin="org.eclipse.core.runtime" version="3.6.0" match="compatible"/>
+      <import plugin="org.eclipse.help" version="3.2.0" match="compatible"/>
+      <import plugin="org.eclipse.jface" version="3.9.0" match="compatible"/>
+      <import plugin="org.eclipse.swt" version="3.101.0" match="compatible"/>
+      <import plugin="org.eclipse.jface.databinding" version="1.3.0" match="compatible"/>
+      <import plugin="org.eclipse.core.databinding.property" version="1.2.0" match="compatible"/>
+      <import plugin="org.eclipse.core.databinding.observable" version="1.2.0" match="compatible"/>
+      <import plugin="org.eclipse.e4.core.services" version="1.0.0" match="greaterOrEqual"/>
+      <import plugin="org.eclipse.e4.core.contexts" version="1.0.0" match="greaterOrEqual"/>
+      <import plugin="org.eclipse.e4.core.di" version="1.1.0" match="greaterOrEqual"/>
+      <import plugin="org.eclipse.e4.ui.workbench.swt" version="0.9.1" match="greaterOrEqual"/>
+      <import plugin="org.eclipse.e4.ui.di" version="0.9.0" match="greaterOrEqual"/>
+      <import plugin="org.eclipse.e4.ui.model.workbench" version="0.9.1" match="greaterOrEqual"/>
+      <import plugin="org.eclipse.e4.ui.css.swt.theme" version="0.9.0" match="greaterOrEqual"/>
+      <import plugin="org.eclipse.e4.ui.bindings" version="0.9.0" match="greaterOrEqual"/>
+      <import plugin="org.eclipse.e4.ui.css.swt" version="0.9.1" match="greaterOrEqual"/>
+      <import plugin="org.eclipse.e4.ui.css.core" version="0.9.0" match="greaterOrEqual"/>
+      <import plugin="org.eclipse.e4.ui.workbench3" version="0.12.0" match="greaterOrEqual"/>
+      <import plugin="org.eclipse.e4.ui.workbench.addons.swt" version="0.10.0" match="greaterOrEqual"/>
+      <import plugin="org.eclipse.emf.ecore" version="2.7.0" match="greaterOrEqual"/>
+      <import plugin="com.ibm.icu"/>
+      <import plugin="javax.annotation"/>
+      <import plugin="javax.inject"/>
+      <import plugin="org.eclipse.e4.core.commands"/>
+      <import plugin="org.eclipse.e4.ui.services"/>
+      <import plugin="org.eclipse.emf.common"/>
+      <import plugin="javax.xml"/>
    </requires>
 
    <plugin
@@ -534,14 +556,14 @@
          id="javax.persistence"
          download-size="0"
          install-size="0"
-         version="0.0.0"
+         version="2.1.0.v201304241213"
          unpack="false"/>
 
    <plugin
          id="org.txm.specificities.rcp"
          download-size="0"
          install-size="0"
-         version="0.0.0"
+         version="1.0.0.qualifier"
          unpack="false"/>
 
    <plugin
@@ -562,13 +584,20 @@
          id="org.txm.wordcloud.core"
          download-size="0"
          install-size="0"
-         version="0.0.0"
+         version="1.0.0.qualifier"
          unpack="false"/>
 
    <plugin
          id="org.txm.wordcloud.rcp"
          download-size="0"
          install-size="0"
+         version="1.0.0.qualifier"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.ui.workbench"
+         download-size="0"
+         install-size="0"
          version="0.0.0"
          unpack="false"/>
 
Index: tmp/org.txm.cah.core/src/org/txm/cah/core/functions/AHC.java
===================================================================
--- tmp/org.txm.cah.core/src/org/txm/cah/core/functions/AHC.java	(revision 549)
+++ tmp/org.txm.cah.core/src/org/txm/cah/core/functions/AHC.java	(revision 550)
@@ -134,13 +134,14 @@
 	}
 
 
-	public void loadParameters() {
+	public boolean loadParameters() {
 		this.setParameters(
 				this.getBooleanParameterValue(AHCPreferences.COLUMNS_COMPUTING),
 				this.getStringParameterValue(AHCPreferences.METRIC),
 				this.getIntParameterValue(AHCPreferences.N_CLUSTERS),
 				this.getStringParameterValue(AHCPreferences.METHOD)
 				);
+		return true;
 	}
 
 	
Index: tmp/org.txm.core/src/java/org/txm/objects/Alignement.java
===================================================================
--- tmp/org.txm.core/src/java/org/txm/objects/Alignement.java	(revision 549)
+++ tmp/org.txm.core/src/java/org/txm/objects/Alignement.java	(revision 550)
@@ -1,6 +1,8 @@
 package org.txm.objects;
 
+import org.txm.core.results.TXMParameters;
 
+
 /**
  * not used ?
  * deprecated ?
Index: tmp/org.txm.core/src/java/org/txm/core/results/TXMResult.java
===================================================================
--- tmp/org.txm.core/src/java/org/txm/core/results/TXMResult.java	(revision 549)
+++ tmp/org.txm.core/src/java/org/txm/core/results/TXMResult.java	(revision 550)
@@ -8,10 +8,12 @@
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.HashMap;
+import java.util.List;
 import java.util.UUID;
 import java.util.concurrent.Semaphore;
 import java.util.regex.Pattern;
 
+import org.apache.commons.lang.StringUtils;
 import org.eclipse.core.runtime.IProgressMonitor;
 import org.osgi.framework.FrameworkUtil;
 import org.osgi.service.prefs.BackingStoreException;
@@ -231,6 +233,28 @@
 	}
 
 	/**
+	 * sets the value of the specified key in parameters, local result node or
+	 * default preferences nodes.
+	 * 
+	 * @param key
+	 * @return
+	 */
+	public void setParameterValue(String key, Object value) {
+		TXMPreferences.putLocal(this, key, value);
+	}
+	
+	/**
+	 * sets the value of the specified key in parameters, local result node or
+	 * default preferences nodes.
+	 * 
+	 * @param key
+	 * @return
+	 */
+	public void setParameterValue(String key, List<?> values) {
+		TXMPreferences.putLocal(this, key, StringUtils.join(values, UNDERSCORE));
+	}
+	
+	/**
 	 * Gets the value of the specified key in parameters, local result node or
 	 * default preferences nodes.
 	 * 
@@ -297,7 +321,7 @@
 	}
 
 	/**
-	 * Copies the parameters stored in the Java class members : the pXXXXX named members to the local preferences node.
+	 * Copies the parameters stored in the @Parameter Java class members : the pXXXXX named members to the local preferences node.
 	 * Commands must define this method to persist their parameters.
 	 * Just returns <b>true</b> if you don't want to bother with this.
 	 * 
@@ -305,7 +329,18 @@
 	 */
 	public abstract boolean saveParameters();
 
+	/**
+	 * Initialize the @Parameter class members objects
+	 * 
+	 * @param parameters
+	 * @return
+	 */
 	public abstract boolean setParameters(TXMParameters parameters);
+	
+	/**
+	 * Initialize the @Parameter class members objects using values persisted in the Preference Store
+	 * @return
+	 */
 	public abstract boolean loadParameters();
 
 	
