Index: tmp/org.txm.statsengine.r.core/src/org/txm/statsengine/r/core/RWorkspace.java
===================================================================
--- tmp/org.txm.statsengine.r.core/src/org/txm/statsengine/r/core/RWorkspace.java	(revision 1813)
+++ tmp/org.txm.statsengine.r.core/src/org/txm/statsengine/r/core/RWorkspace.java	(revision 1814)
@@ -66,10 +66,9 @@
 import cern.colt.list.IntArrayList;
 import cern.colt.matrix.DoubleMatrix2D;
 
-// TODO: Auto-generated Javadoc
 /**
  * RWorkspace is the wrapper on top of the R Engine. All data sent to and
- * retreive from R are using this class. One instance of this class must be
+ * retrieve from R are using this class. One instance of this class must be
  * created in a program.
  * 
  * This class throw exception RWorkspace exception, encapsulating lower level
Index: tmp/org.txm.rcp/src/main/java/org/txm/rcp/ApplicationWorkbenchAdvisor.java
===================================================================
--- tmp/org.txm.rcp/src/main/java/org/txm/rcp/ApplicationWorkbenchAdvisor.java	(revision 1813)
+++ tmp/org.txm.rcp/src/main/java/org/txm/rcp/ApplicationWorkbenchAdvisor.java	(revision 1814)
@@ -38,6 +38,7 @@
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Date;
+import java.util.List;
 import java.util.Locale;
 import java.util.logging.Handler;
 import java.util.logging.Level;
@@ -57,6 +58,8 @@
 import org.eclipse.jface.preference.IPreferenceNode;
 import org.eclipse.jface.preference.PreferenceManager;
 import org.eclipse.jface.util.Util;
+import org.eclipse.jface.viewers.ArrayContentProvider;
+import org.eclipse.jface.viewers.LabelProvider;
 import org.eclipse.osgi.util.NLS;
 import org.eclipse.swt.graphics.Color;
 import org.eclipse.swt.widgets.Display;
@@ -78,6 +81,7 @@
 import org.eclipse.ui.console.IOConsole;
 import org.eclipse.ui.console.IOConsoleInputStream;
 import org.eclipse.ui.console.IOConsoleOutputStream;
+import org.eclipse.ui.dialogs.ListSelectionDialog;
 import org.eclipse.ui.handlers.IHandlerService;
 import org.eclipse.ui.internal.dialogs.WorkbenchPreferenceNode;
 import org.eclipse.ui.statushandlers.StatusManager;
@@ -864,21 +868,73 @@
 
 		File previousCorporaDirectory = new File(System.getProperty("user.home"), "TXM/corpora");
 
+		Version v = Activator.getDefault().getBundle().getVersion();
+		String vv = v.getMajor()+"."+v.getMinor()+"."+v.getMicro();
+		String SAMPLES = "1. "+TXMUIMessages.bind(TXMUIMessages.sampleCorporaOfCurrentTXMP0, vv);
+		String V080 = "2. "+TXMUIMessages.bind(TXMUIMessages.corporaOfPreviousTXMP0, vv);
+		String V079 = "3. "+TXMUIMessages.bind(TXMUIMessages.corporaOfPreviousTXMP0, "0.7.9");
 		
 		
+		final ArrayList<Object> corporaDirs = new ArrayList<Object>();
+		corporaDirs.add(SAMPLES);
+		corporaDirs.add(V080);
+		corporaDirs.add(V079);
+		
+		
+		Display.getDefault().syncExec(new Runnable() {
+			@Override
+			public void run() {
+				Display display = Display.getDefault();
+				Shell shell = display.getActiveShell();
+				ListSelectionDialog dialog = new ListSelectionDialog(shell, corporaDirs, 
+						new ArrayContentProvider(), new LabelProvider(), TXMUIMessages.corporaWillBeRestoredInTheFollowingOrderCorporaAlreadyRestoredWillNotBeReplaced);
+				dialog.setTitle(TXMUIMessages.selectThecorporaSetsToRestore);
+				dialog.setInitialElementSelections(corporaDirs);
+				if (dialog.open() == ListSelectionDialog.OK) {
+					corporaDirs.clear();
+					List<Object> selection = Arrays.asList(dialog.getResult());
+					corporaDirs.addAll(selection);
+				} else {
+					corporaDirs.clear();
+				}
+			}
+		});
+		
+		// load TXM-0.8.0 sample corpora (from the install directory)
+				if (corporaDirs.contains(SAMPLES) && sampleCorporaDirectory.exists()) {
+
+					Log.info(TXMUIMessages.installingSampleCorpus);
+
+					JobHandler job = LoadBinaryCorporaDirectory.loadBinaryCorpusFromCorporaDirectory(sampleCorporaDirectory, false, true, false);
+					try {
+						job.join();
+					} catch (InterruptedException e) {
+						// TODO Auto-generated catch block
+						e.printStackTrace();
+					}
+				}
+		
 		// TXM-0.8.0 previous installation corpora
-		if (corporaDir.listFiles(IOUtils.HIDDENFILE_FILTER).length > 0) { // not a new install, restore previous corpora
+		if (corporaDirs.contains(V080) && corporaDir.listFiles(IOUtils.HIDDENFILE_FILTER).length > 0) { // not a new install, restore previous corpora
 			Log.info(NLS.bind(TXMUIMessages.installingPreviousCorpusFromP0, "0.8.0", corporaDir));
-			JobHandler job = LoadBinaryCorporaDirectory.loadBinaryCorpusFromCorporaDirectory(corporaDir, false, true, true);
+			JobHandler job = LoadBinaryCorporaDirectory.loadBinaryCorpusFromCorporaDirectory(corporaDir, false, false, true);
 			try {
 				job.join();
 			} catch (InterruptedException e) {
 				e.printStackTrace();
 			}
+		} else if (corporaDir.exists()) {
+			File backupDir = new File(corporaDir.getAbsolutePath()+"-previous");
+			backupDir.mkdirs();
+			for (File dir : corporaDir.listFiles(IOUtils.HIDDENFILE_FILTER)) {
+				File bdir = new File(backupDir, dir.getName());
+				DeleteDir.deleteDirectory(bdir);
+				dir.renameTo(bdir);
+			}
 		}
 		
 		// TXM previous installation corpora
-		if (previousCorporaDirectory.exists()) { // new installation (empty corpora directory)
+		if (corporaDirs.contains(V079) && previousCorporaDirectory.exists()) { // new installation (empty corpora directory)
 			Log.info(NLS.bind(TXMUIMessages.installingPreviousCorpusFromP0, "0.7.9", previousCorporaDirectory));
 			JobHandler job = LoadBinaryCorporaDirectory.loadBinaryCorpusFromCorporaDirectory(previousCorporaDirectory, false, false, true);
 			try {
@@ -888,19 +944,7 @@
 			}
 		}
 
-		// load TXM-0.8.0 sample corpora (from the install directory)
-		if (sampleCorporaDirectory.exists()) {
-
-			Log.info(TXMUIMessages.installingSampleCorpus);
-
-			JobHandler job = LoadBinaryCorporaDirectory.loadBinaryCorpusFromCorporaDirectory(sampleCorporaDirectory, false, true, false);
-			try {
-				job.join();
-			} catch (InterruptedException e) {
-				// TODO Auto-generated catch block
-				e.printStackTrace();
-			}
-		}
+		
 	}
 
 	/**
Index: tmp/org.txm.rcp/src/main/java/org/txm/rcp/messages/messages_fr.properties
===================================================================
--- tmp/org.txm.rcp/src/main/java/org/txm/rcp/messages/messages_fr.properties	(revision 1813)
+++ tmp/org.txm.rcp/src/main/java/org/txm/rcp/messages/messages_fr.properties	(revision 1814)
@@ -981,3 +981,8 @@
 zoomInAmpoutColonMouseWheelORShiftPlusRightMousePlusDrag = \	Zoom +/- : Roulette OU Maj + Clic Droit + Glisser\n
 
 zoomToSelectionColonCtrlPlusLeftMousePlusdrag = \	Zoomer sur la sélection : Ctrl + Clic Gauche + Glisser\n
+
+sampleCorporaOfCurrentTXMP0=Corpus d'exemple de la version courante de TXM {0}
+corporaOfPreviousTXMP0=Corpus de la version précédente de TXM {0}
+corporaWillBeRestoredInTheFollowingOrderCorporaAlreadyRestoredWillNotBeReplaced=Les corpus seront restaurés dans l'ordre ci-dessous (les corpus déjà restaurés ne sont pas remplacés)
+selectThecorporaSetsToRestore=Sélectionnez les corpus à restaurer
\ No newline at end of file
Index: tmp/org.txm.rcp/src/main/java/org/txm/rcp/messages/TXMUIMessages.java
===================================================================
--- tmp/org.txm.rcp/src/main/java/org/txm/rcp/messages/TXMUIMessages.java	(revision 1813)
+++ tmp/org.txm.rcp/src/main/java/org/txm/rcp/messages/TXMUIMessages.java	(revision 1814)
@@ -513,8 +513,14 @@
 
 	public static String installingPreviousCorpusFromP0;
 
-	public static String p0ImportWithP1; 
+	public static String p0ImportWithP1;
 
+	public static String sampleCorporaOfCurrentTXMP0;
+	public static String corporaOfPreviousTXMP0; 
+	public static String corporaWillBeRestoredInTheFollowingOrderCorporaAlreadyRestoredWillNotBeReplaced;
+
+	public static String selectThecorporaSetsToRestore; 
+
 	static {
 		// initialize resource bundle
 		Utf8NLS.initializeMessages(BUNDLE_NAME, TXMUIMessages.class);
Index: tmp/org.txm.rcp/src/main/java/org/txm/rcp/messages/messages.properties
===================================================================
--- tmp/org.txm.rcp/src/main/java/org/txm/rcp/messages/messages.properties	(revision 1813)
+++ tmp/org.txm.rcp/src/main/java/org/txm/rcp/messages/messages.properties	(revision 1814)
@@ -985,3 +985,8 @@
 zoomInAmpoutColonMouseWheelORShiftPlusRightMousePlusDrag = \	Zoom +/-: Mouse wheel OR Shift + Right Mouse + Drag\n
 
 zoomToSelectionColonCtrlPlusLeftMousePlusdrag = \	Zoom to selection: Ctrl + Left Mouse + Drag\n
+
+sampleCorporaOfCurrentTXMP0=Sample corpora of current TXM {0}
+corporaOfPreviousTXMP0=Corpora of previous TXM {0}
+corporaWillBeRestoredInTheFollowingOrderCorporaAlreadyRestoredWillNotBeReplaced=Corpora will be restored in the following order (corpora already restored are not replaced)
+selectThecorporaSetsToRestore=Select the corpora sets to restore
\ No newline at end of file
