Index: tmp/org.txm.concordance.core/src/org/txm/concordance/core/preferences/ConcordancePreferences.java
===================================================================
--- tmp/org.txm.concordance.core/src/org/txm/concordance/core/preferences/ConcordancePreferences.java	(revision 2961)
+++ tmp/org.txm.concordance.core/src/org/txm/concordance/core/preferences/ConcordancePreferences.java	(revision 2962)
@@ -32,12 +32,11 @@
 	public static final String KEYWORD_VIEW_PROPERTIES = "keyword_view_properties"; //$NON-NLS-1$
 	
 	public static final String RIGHT_VIEW_PROPERTIES = "right_view_properties"; //$NON-NLS-1$
-	
+		
 	/** The default value is "*" -> The concordance will use ref or text_id */
-	public static final String ANALYSIS_REFERENCE_PATTERN = "analysis_pattern"; //$NON-NLS-1$
+	public static final String VIEW_REFERENCE_PATTERN = "view_reference_pattern"; //$NON-NLS-1$
 	
-	/** The default value is "*" -> The concordance will use ref or text_id */
-	public static final String VIEW_REFERENCE_PATTERN = "view_pattern"; //$NON-NLS-1$
+	public static final String SORT_REFERENCE_PATTERN = "sort_reference_pattern"; //$NON-NLS-1$
 	
 	public static final String LIMIT_CQL = "limit_cql"; //$NON-NLS-1$
 	
@@ -74,7 +73,7 @@
 		preferences.put(RIGHT_VIEW_PROPERTIES, TXMPreferences.DEFAULT_UNIT_PROPERTY);
 		
 		preferences.put(VIEW_REFERENCE_PATTERN, "*"); //$NON-NLS-1$
-		preferences.put(ANALYSIS_REFERENCE_PATTERN, "*"); //$NON-NLS-1$
+		preferences.put(SORT_REFERENCE_PATTERN, "*"); //$NON-NLS-1$
 		
 		preferences.put(LIMIT_CQL, "<text>[]"); //$NON-NLS-1$
 	}
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 2961)
+++ tmp/org.txm.concordance.core/src/org/txm/concordance/core/functions/Concordance.java	(revision 2962)
@@ -130,7 +130,7 @@
 	protected List<WordProperty> pAnalysisLeftProperties;
 	
 	/** The ReferncePattern sort properties */
-	@Parameter(key = ConcordancePreferences.ANALYSIS_REFERENCE_PATTERN)
+	@Parameter(key = ConcordancePreferences.SORT_REFERENCE_PATTERN)
 	protected ReferencePattern pAnalysisRefPattern;
 	
 	/** The right c analysis property. */
@@ -268,7 +268,7 @@
 				this.pViewRefPattern = ReferencePattern.stringToReferencePattern(this.getCorpus(), refPropertyNames);
 			}
 			
-			refPropertyNames = this.getStringParameterValue(ConcordancePreferences.ANALYSIS_REFERENCE_PATTERN);
+			refPropertyNames = this.getStringParameterValue(ConcordancePreferences.SORT_REFERENCE_PATTERN);
 			if ("*".equals(refPropertyNames)) { //$NON-NLS-1$
 				Property refProperty = getCorpus().getProperty("ref");//$NON-NLS-1$
 				if (refProperty == null) {
@@ -1371,7 +1371,7 @@
 			}
 		}
 		
-		p = parameters.get(ConcordancePreferences.ANALYSIS_REFERENCE_PATTERN);
+		p = parameters.get(ConcordancePreferences.SORT_REFERENCE_PATTERN);
 		if (p != null) {
 			if (p instanceof ReferencePattern) this.pAnalysisRefPattern = (ReferencePattern) p;
 			else {
@@ -1814,7 +1814,7 @@
 		
 		this.saveParameter(ConcordancePreferences.VIEW_REFERENCE_PATTERN, ReferencePattern.referenceToString(this.pViewRefPattern));
 		
-		this.saveParameter(ConcordancePreferences.ANALYSIS_REFERENCE_PATTERN, ReferencePattern.referenceToString(pAnalysisRefPattern));
+		this.saveParameter(ConcordancePreferences.SORT_REFERENCE_PATTERN, ReferencePattern.referenceToString(pAnalysisRefPattern));
 		
 		return true;
 	}
Index: tmp/org.txm.libs.msoffice/src/org/txm/libs/msoffice/ReadExcel.java
===================================================================
--- tmp/org.txm.libs.msoffice/src/org/txm/libs/msoffice/ReadExcel.java	(revision 2961)
+++ tmp/org.txm.libs.msoffice/src/org/txm/libs/msoffice/ReadExcel.java	(revision 2962)
@@ -256,11 +256,11 @@
 						Cell newCell = null;
 						if (rowIndex == 0) { // header line
 							newCell = row.createCell(colMax + icol++);
-							newCell.setCellValue(column+"-joursemaine"); // first row must be renamed
+							newCell.setCellValue(column+"-jour-semaine"); // first row must be renamed
 							newCell = row.createCell(colMax + icol++);
 							newCell.setCellValue(column+"-jour"); // first row must be renamed
 							newCell = row.createCell(colMax + icol++);
-							newCell.setCellValue(column+"-moi"); // first row must be renamed
+							newCell.setCellValue(column+"-mois"); // first row must be renamed
 							newCell = row.createCell(colMax + icol++);
 							newCell.setCellValue(column+"-annee"); // first row must be renamed
 							newCell = row.createCell(colMax + icol++);
Index: tmp/org.txm.groovy.core/src/groovy/org/txm/macro/projects/antract/PrepareAFVOIXOFFCorpusMacro.groovy
===================================================================
--- tmp/org.txm.groovy.core/src/groovy/org/txm/macro/projects/antract/PrepareAFVOIXOFFCorpusMacro.groovy	(revision 2961)
+++ tmp/org.txm.groovy.core/src/groovy/org/txm/macro/projects/antract/PrepareAFVOIXOFFCorpusMacro.groovy	(revision 2962)
@@ -63,7 +63,9 @@
 backtomedia/sync_mode=Structure
 concordance/context_limits=text
 concordance/context_limits_type=list
-concordance/view_pattern=div_datedediffusion\ttext_id\tu_time\t\t%s, %s, %s
+concordance/view_reference_pattern=text_date-de-diffusion-tri\tu_time\tdiv_identifiant-de-la-notice
+concordance/view_reference_pattern_format=%s, %s, %s
+concordance/sort_reference_pattern=text_date-de-diffusion-tri\tu_time\tdiv_identifiant-de-la-notice
 concordance/name=concordance
 eclipse.preferences.version=1"""
 
Index: tmp/org.txm.groovy.core/src/groovy/org/txm/macro/projects/antract/BuildAFMetadataMacro.groovy
===================================================================
--- tmp/org.txm.groovy.core/src/groovy/org/txm/macro/projects/antract/BuildAFMetadataMacro.groovy	(revision 2961)
+++ tmp/org.txm.groovy.core/src/groovy/org/txm/macro/projects/antract/BuildAFMetadataMacro.groovy	(revision 2962)
@@ -55,10 +55,8 @@
 	columnsToCopy.put("Titre propre", ["title"] as String[]); 
 	columnsToCopy.put("Date de diffusion", ["text-order"] as String[]);
 	
-	searchAndReplaceRules.put("text-order", ["([0-9][0-9])/([0-9][0-9])/([0-9][0-9][0-9][0-9])", '$3$2$1'] as String[]); // not working yet
+	searchAndReplaceRules.put("text-order", ["([0-9][0-9])/([0-9][0-9])/([0-9][0-9][0-9][0-9])", '$3$2$1'] as String[]);
 	
-	
-	
 	process(excel, table2File, lineRules, columnsSelection, columnsToCopy, searchAndReplaceRules, columnsToRenameRules, normalizeSearchAndReplacePattern, dateColumnsSelection, datePattern)
 }
 
@@ -84,7 +82,12 @@
 	
 	dateColumnsSelection.add("Date de diffusion");
 	datePattern = "dd/MM/yyyy"
-
+	
+	searchAndReplaceRules.put("Descripteurs (Aff. Lig.)", ["(.+[^ ])- (.+)", '$1 - $2'] as String[]);
+	searchAndReplaceRules.put("Résumé", ["(.+[^ ])- (.+)", '$1 - $2'] as String[]);
+	searchAndReplaceRules.put("Séquences", ["(.+[^ ])- (.+)", '$1 - $2'] as String[]);
+	searchAndReplaceRules.put("Titre propre", ["(.+[^ ])- (.+)", '$1 - $2'] as String[]);
+	
 	process(excel, table2File, lineRules, columnsSelection, columnsToCopy, searchAndReplaceRules, columnsToRenameRules, normalizeSearchAndReplacePattern, dateColumnsSelection, datePattern)
 }
 
@@ -110,7 +113,7 @@
 		System.out.println(" Copying columns: " + columnsToCopy);
 		excel2.copyColumns(columnsToCopy);
 	}
-		
+	
 	if (dateColumnsSelection.size() > 0) {
 		System.out.println(" Format Date columns: " + dateColumnsSelection);
 		excel2.formatDateColumns(dateColumnsSelection, datePattern);
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 2961)
+++ tmp/org.txm.concordance.rcp/src/org/txm/concordance/rcp/editors/ConcordanceEditor.java	(revision 2962)
@@ -292,7 +292,7 @@
 	@Parameter(key = ConcordancePreferences.LEFT_ANALYSIS_PROPERTIES)
 	private PropertiesSelector<WordProperty> leftSortProperties;
 	
-	@Parameter(key = ConcordancePreferences.ANALYSIS_REFERENCE_PATTERN)
+	@Parameter(key = ConcordancePreferences.SORT_REFERENCE_PATTERN)
 	private PropertiesSelector<Property> refSortProperties;
 	
 	@Parameter(key = ConcordancePreferences.KEYWORD_ANALYSIS_PROPERTIES)
@@ -1097,7 +1097,7 @@
 			refViewProperties.setLayoutData(new GridData(GridData.CENTER, GridData.CENTER, false, false));
 			refViewProperties.setTitle(ConcordanceUIMessages.editor_21);
 			refViewProperties.setButtonText(ConcordanceUIMessages.editor_19);
-			refViewProperties.setProperties(ReferencePattern.getPossibleValues(getCorpus()));
+			refViewProperties.setProperties(ReferencePattern.getAvailableProperties(getCorpus()));
 			refViewProperties.setPattern(null);
 			refViewProperties.addSelectionListener(new ComputeSelectionListener(this) {
 				
@@ -1173,7 +1173,7 @@
 			refSortProperties.setLayoutData(new GridData(GridData.CENTER, GridData.CENTER, false, false));
 			refSortProperties.setTitle(ConcordanceUIMessages.editor_21);
 			refSortProperties.setButtonText(ConcordanceUIMessages.editor_19);
-			refSortProperties.setProperties(ReferencePattern.getPossibleValues(getCorpus()));
+			refSortProperties.setProperties(ReferencePattern.getAvailableProperties(getCorpus()));
 			refSortProperties.addSelectionListener(new ComputeSelectionListener(this) {
 				
 				@Override
Index: tmp/org.txm.rcp/src/main/java/org/txm/rcp/corpuswizard/ImportWizard.java
===================================================================
--- tmp/org.txm.rcp/src/main/java/org/txm/rcp/corpuswizard/ImportWizard.java	(revision 2961)
+++ tmp/org.txm.rcp/src/main/java/org/txm/rcp/corpuswizard/ImportWizard.java	(revision 2962)
@@ -78,7 +78,7 @@
 				}
 				boolean newProject = (project == null);
 				if (newProject) { // it's a new project configuration
-					File settingsDirectory = new File(path, ".settings");
+					File settingsDirectory = new File(path, "parameters");
 					if (settingsDirectory.exists()) {
 						File settingsCopy = new File(Toolbox.workspace.getLocation(), name + "/.settings");
 						settingsCopy.getParentFile().mkdirs();
Index: tmp/org.txm.utils/META-INF/MANIFEST.MF
===================================================================
--- tmp/org.txm.utils/META-INF/MANIFEST.MF	(revision 2961)
+++ tmp/org.txm.utils/META-INF/MANIFEST.MF	(revision 2962)
@@ -90,7 +90,8 @@
  org.txm.libs.itext;bundle-version="2.1.5";visibility:=reexport,
  org.txm.libs.msoffice;bundle-version="1.0.0";visibility:=reexport,
  org.txm.libs.office;bundle-version="0.8.2";visibility:=reexport,
- com.ibm.icu
+ com.ibm.icu;visibility:=reexport,
+ org.txm.libs.gson;bundle-version="2.8.6";visibility:=reexport
 Bundle-ManifestVersion: 2
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Bundle-Vendor: Textometrie.org
Index: tmp/org.txm.searchengine.cqp.core/src/org/txm/searchengine/cqp/ReferencePattern.java
===================================================================
--- tmp/org.txm.searchengine.cqp.core/src/org/txm/searchengine/cqp/ReferencePattern.java	(revision 2961)
+++ tmp/org.txm.searchengine.cqp.core/src/org/txm/searchengine/cqp/ReferencePattern.java	(revision 2962)
@@ -29,6 +29,7 @@
 
 import java.util.ArrayList;
 import java.util.Collection;
+import java.util.HashMap;
 import java.util.Iterator;
 import java.util.List;
 
@@ -41,6 +42,8 @@
 import org.txm.searchengine.cqp.corpus.VirtualProperty;
 import org.txm.utils.logger.Log;
 
+import com.google.gson.Gson;
+
 /**
  * References configuration : a list of properties and optionally a sprintf like pattern
  *
@@ -59,41 +62,45 @@
 	 * @param v
 	 * @return a list of word and structure properties read from a String
 	 */
+	@SuppressWarnings("unlikely-arg-type")
 	public static ReferencePattern stringToReferencePattern(CQPCorpus corpus, String v) {
 		try {
-			
+			Gson gson = new Gson();
+
+			HashMap<?, ?> values = gson.fromJson(v, HashMap.class);
+			Object oProperties = values.get("properties");
+			Object oFormat = values.get("format");
 			String pattern = null;
-			if (v.contains("\t\t")) {
-				pattern = v.substring(v.indexOf("\t\t") + 2);
-				v = v.substring(0, v.indexOf("\t\t"));
+			if (oFormat != null) {
+				pattern = oFormat.toString();
 			}
 			
 			ReferencePattern props = new ReferencePattern(pattern);
-			if (v == null) return props;
-			if (v.length() == 0) return props;
 			
-			String[] split = v.split("\t");
-			for (String s : split) {
-				if (s.contains("_")) {
-					String[] split2 = s.split("_", 2);
-					StructuralUnit su = corpus.getStructuralUnit(split2[0]);
-					if (su != null) {
-						Property prop = su.getProperty(split2[1]);
+			if (oProperties != null && oProperties instanceof List) {
+				List<?> propertyNames = (List<?>) oProperties;
+				for (Object o : propertyNames) {
+					if (o == null) continue;
+					String s = o.toString();
+					if (s.contains("_")) {
+						String[] split2 = s.split("_", 2);
+						StructuralUnit su = corpus.getStructuralUnit(split2[0]);
+						if (su != null) {
+							Property prop = su.getProperty(split2[1]);
+							if (prop != null) {
+								props.addProperty(prop);
+							}
+						}
+					}
+					else {
+						Property prop = corpus.getProperty(s);
 						if (prop != null) {
 							props.addProperty(prop);
 						}
 					}
 				}
-				else {
-					Property prop = corpus.getProperty(s);
-					if (prop != null) {
-						props.addProperty(prop);
-					}
-				}
 			}
 			
-			
-			
 			return props;
 		}
 		catch (Exception e) {
@@ -246,12 +253,17 @@
 		return title;
 	}
 	
-	public static String referenceToString(ReferencePattern pViewRefPattern) {
+	public static String referenceToString(ReferencePattern pattern) {
 		ArrayList<String> names = new ArrayList<>();
-		for (Property p : pViewRefPattern.getProperties()) {
+		for (Property p : pattern.getProperties()) {
 			names.add(p.getFullName());
 		}
-		return StringUtils.join(names, "\t"); //$NON-NLS-1$
+		
+		Gson gson = new Gson();
+		HashMap<String, Object> values = new HashMap<String, Object>();
+		values.put("properties", names);
+		values.put("format", pattern.getPattern());
+		return gson.toJson(values);
 	}
 	
 	public CQPCorpus getCorpus() {
@@ -261,7 +273,7 @@
 		return properties.get(0).getCorpus();
 	}
 	
-	public static List<Property> getPossibleValues(CQPCorpus corpus) {
+	public static List<Property> getAvailableProperties(CQPCorpus corpus) {
 		List<Property> availableReferenceItems = new ArrayList<>();
 		try {
 			// add word properties
