diff --git a/src/main/java/fr/univlille/sae/classification/controller/AxesSettingsController.java b/src/main/java/fr/univlille/sae/classification/controller/AxesSettingsController.java
index 8c890f287f75bcf97175c66402b68f004278a50e..16c52b1329fb9fd7842620cba9c2f817ef54300e 100644
--- a/src/main/java/fr/univlille/sae/classification/controller/AxesSettingsController.java
+++ b/src/main/java/fr/univlille/sae/classification/controller/AxesSettingsController.java
@@ -1,7 +1,7 @@
 package fr.univlille.sae.classification.controller;
 
 import fr.univlille.sae.classification.model.ClassificationModel;
-import fr.univlille.sae.classification.view.MainStageView;
+import fr.univlille.sae.classification.view.DataVisualizationView;
 import javafx.fxml.FXML;
 import javafx.scene.control.Button;
 import javafx.scene.control.ChoiceBox;
@@ -21,31 +21,31 @@ public class AxesSettingsController{
     @FXML
     Button confirmAxes;
 
-    MainStageView mainStageView;
+    DataVisualizationView dataVisualizationView;
 
     public void setSelectOrd(String[] fields){
         selectOrd.getItems().clear();
         selectOrd.getItems().addAll(fields);
-        selectOrd.setValue(mainStageView.getActualY());
+        selectOrd.setValue(dataVisualizationView.getActualY());
     }
 
     public void setSelectAbs(String[] fields){
         selectAbs.getItems().clear();
         selectAbs.getItems().addAll(fields);
-        selectAbs.setValue(mainStageView.getActualX());
+        selectAbs.setValue(dataVisualizationView.getActualX());
     }
 
-    public void setMainStageView(MainStageView mainStageView) {
-        this.mainStageView = mainStageView;
+    public void setdataVisualizationView(DataVisualizationView dataVisualizationView) {
+        this.dataVisualizationView = dataVisualizationView;
     }
 
     public void validate(){
-        mainStageView.setActualX(selectAbs.getValue().toString());
-        mainStageView.setActualY(selectOrd.getValue().toString());
-        mainStageView.getController().getScatterChart().getXAxis().setLabel(mainStageView.getActualX());
-        mainStageView.getController().getScatterChart().getYAxis().setLabel(mainStageView.getActualY());
+        dataVisualizationView.setActualX(selectAbs.getValue().toString());
+        dataVisualizationView.setActualY(selectOrd.getValue().toString());
+        dataVisualizationView.getScatterChart().getXAxis().setLabel(dataVisualizationView.getActualX());
+        dataVisualizationView.getScatterChart().getYAxis().setLabel(dataVisualizationView.getActualY());
 
-        mainStageView.update(ClassificationModel.getClassificationModel());
+        dataVisualizationView.reload();
         stage.close();
     }
 }
diff --git a/src/main/java/fr/univlille/sae/classification/view/AxesSettingsView.java b/src/main/java/fr/univlille/sae/classification/view/AxesSettingsView.java
index 8f959e2fd2358dc7c65f63f0d1849b9b4a183cd9..2a1f23424e2d78a964eaae7a13df1d7b1f23802f 100644
--- a/src/main/java/fr/univlille/sae/classification/view/AxesSettingsView.java
+++ b/src/main/java/fr/univlille/sae/classification/view/AxesSettingsView.java
@@ -20,19 +20,12 @@ public class AxesSettingsView {
 
     private ClassificationModel model;
     private Stage owner;
-    private MainStageView mainStageView;
-    private DataStageView dataStageView;
+    private DataVisualizationView dataVisualizationView;
 
-    public AxesSettingsView(ClassificationModel model, Stage owner, MainStageView mainStageView){
+    public AxesSettingsView(ClassificationModel model, Stage owner, DataVisualizationView dataVisualizationView){
         this.model = model;
         this.owner = owner;
-        this.mainStageView = mainStageView;
-    }
-
-    public AxesSettingsView(ClassificationModel model, Stage owner, DataStageView dataStageView) {
-        this.model = model;
-        this.owner = owner;
-        this.dataStageView = dataStageView;
+        this.dataVisualizationView = dataVisualizationView;
     }
 
     public void show() throws IOException {
@@ -53,7 +46,7 @@ public class AxesSettingsView {
         root.setTitle("Configuration des axes");
         AxesSettingsController controller = loader.getController();
 
-        controller.setMainStageView(mainStageView);
+        controller.setdataVisualizationView(dataVisualizationView);
 
         if(model.getDatas().isEmpty()) {
             Alert alert = new Alert(Alert.AlertType.WARNING);
diff --git a/src/main/java/fr/univlille/sae/classification/view/DataStageView.java b/src/main/java/fr/univlille/sae/classification/view/DataStageView.java
index 3362f0c6fdffe57671224c9d92e1bb2724bb18cc..2cf2f84225f9101e4a4a766392047b18c07b11a4 100644
--- a/src/main/java/fr/univlille/sae/classification/view/DataStageView.java
+++ b/src/main/java/fr/univlille/sae/classification/view/DataStageView.java
@@ -22,14 +22,11 @@ import java.net.URL;
 import java.util.ArrayList;
 import java.util.List;
 
-public class DataStageView implements Observer {
+public class DataStageView extends DataVisualizationView implements Observer {
 
     private ClassificationModel model;
-    private ScatterChart scatterChart;
     private DataStageController controller;
 
-    private String actualX;
-    private String actualY;
     private Stage root;
 
     public DataStageView(ClassificationModel model) {
@@ -56,6 +53,10 @@ public class DataStageView implements Observer {
         controller.setDataStageView(this);
         scatterChart = controller.getScatterChart();
         controller.setAxesSelected("Aucun fichier sélectionné");
+
+        if (!model.getDatas().isEmpty()) {
+            update(model);
+        }
     }
 
     @Override
@@ -137,23 +138,12 @@ public class DataStageView implements Observer {
         }
     }
 
-    public void setActualX(String actualX) {
-        this.actualX = actualX;
-    }
-
-    public void setActualY(String actualY) {
-        this.actualY = actualY;
-    }
-
-    public String getActualX() {
-        return actualX;
-    }
-
-    public String getActualY() {
-        return actualY;
-    }
-
     public DataStageController getController() {
         return controller;
     }
+
+    @Override
+    public void reload() {
+        this.update(ClassificationModel.getClassificationModel());
+    }
 }
diff --git a/src/main/java/fr/univlille/sae/classification/view/DataVisualizationView.java b/src/main/java/fr/univlille/sae/classification/view/DataVisualizationView.java
new file mode 100644
index 0000000000000000000000000000000000000000..fd6757379be8e74f0903511c25872f56b27db1cd
--- /dev/null
+++ b/src/main/java/fr/univlille/sae/classification/view/DataVisualizationView.java
@@ -0,0 +1,32 @@
+package fr.univlille.sae.classification.view;
+
+import javafx.scene.chart.ScatterChart;
+
+public abstract class DataVisualizationView {
+    protected DataVisualizationView() {}
+    protected String actualX;
+    protected String actualY;
+    protected ScatterChart scatterChart;
+
+    public String getActualX() {
+        return actualX;
+    }
+
+    public void setActualX(String actualX) {
+        this.actualX = actualX;
+    }
+
+    public String getActualY() {
+        return actualY;
+    }
+
+    public void setActualY(String actualY) {
+        this.actualY = actualY;
+    }
+
+    public ScatterChart getScatterChart() {
+        return this.scatterChart;
+    }
+
+    public abstract void reload();
+}
diff --git a/src/main/java/fr/univlille/sae/classification/view/MainStageView.java b/src/main/java/fr/univlille/sae/classification/view/MainStageView.java
index 9fe2d12ccfa1a9f28748a435b0db46fd9fc83443..78545eedf055ab4c96c3051096169b79efc20afc 100644
--- a/src/main/java/fr/univlille/sae/classification/view/MainStageView.java
+++ b/src/main/java/fr/univlille/sae/classification/view/MainStageView.java
@@ -24,14 +24,11 @@ import java.io.IOException;
 import java.net.URL;
 import java.util.*;
 
-public class MainStageView implements Observer {
+public class MainStageView extends DataVisualizationView implements Observer {
 
     private ClassificationModel model;
-    private ScatterChart scatterChart;
     private MainStageController controller;
 
-    private String actualX;
-    private String actualY;
     private Stage root;
 
     public MainStageView(ClassificationModel model) {
@@ -144,24 +141,12 @@ public class MainStageView implements Observer {
         }
     }
 
-    public void setActualX(String actualX) {
-        this.actualX = actualX;
-    }
-
-    public void setActualY(String actualY) {
-        this.actualY = actualY;
-    }
-
-    public String getActualX() {
-        return actualX;
-    }
-
-    public String getActualY() {
-        return actualY;
-    }
-
     public MainStageController getController() {
         return controller;
     }
 
+    @Override
+    public void reload() {
+        this.update(ClassificationModel.getClassificationModel());
+    }
 }