diff --git a/src/main/java/fr/univlille/iut/r304/thermo/Main.java b/src/main/java/fr/univlille/iut/r304/thermo/Main.java
index 9ab0f10c6f1bcbd671d681229e4934137cea4279..11954a561ba6cd4ea593b7cf2633d3693d60441c 100644
--- a/src/main/java/fr/univlille/iut/r304/thermo/Main.java
+++ b/src/main/java/fr/univlille/iut/r304/thermo/Main.java
@@ -1,6 +1,7 @@
 package fr.univlille.iut.r304.thermo;
 
 import fr.univlille.iut.r304.thermo.model.Thermostat;
+import fr.univlille.iut.r304.thermo.view.SliderView;
 import fr.univlille.iut.r304.thermo.view.TextView;
 import javafx.application.Application;
 import javafx.stage.Stage;
@@ -15,6 +16,7 @@ public class Main extends Application {
 	public void start(Stage primaryStage) throws Exception {
 		Thermostat thermo = new Thermostat();
 		new TextView(thermo);
+		new SliderView(thermo);
 	}
 
 }
diff --git a/src/main/java/fr/univlille/iut/r304/thermo/model/Thermostat.java b/src/main/java/fr/univlille/iut/r304/thermo/model/Thermostat.java
index 9d86f764c0563d05a0e479f4ddbe891165ad9758..d8e88810ff383e6e6307733859d65baa0217c030 100644
--- a/src/main/java/fr/univlille/iut/r304/thermo/model/Thermostat.java
+++ b/src/main/java/fr/univlille/iut/r304/thermo/model/Thermostat.java
@@ -1,29 +1,32 @@
 package fr.univlille.iut.r304.thermo.model;
 
-public class Thermostat implements ITemperature {
+import fr.univlille.iut.r304.utils.Observable;
+
+public class Thermostat extends Observable implements ITemperature {
+	private double temperature;
+
+	public Thermostat() {
+		this.temperature = 20.0; // Température par défaut
+	}
 
 	@Override
 	public void setTemperature(double d) {
-		// TODO Auto-generated method stub
-		
+		this.temperature = d;
+		notifyObservers();
 	}
 
 	@Override
 	public Double getTemperature() {
-		// TODO Auto-generated method stub
-		return null;
+		return temperature;
 	}
 
 	@Override
 	public void incrementTemperature() {
-		// TODO Auto-generated method stub
-		
+		setTemperature(temperature + 1);
 	}
 
 	@Override
 	public void decrementTemperature() {
-		// TODO Auto-generated method stub
-		
+		setTemperature(temperature - 1);
 	}
-
-}
+}
\ No newline at end of file
diff --git a/src/main/java/fr/univlille/iut/r304/thermo/view/SliderView.java b/src/main/java/fr/univlille/iut/r304/thermo/view/SliderView.java
new file mode 100644
index 0000000000000000000000000000000000000000..bb2dda491012dc3994c2259f4078ee35d50ed594
--- /dev/null
+++ b/src/main/java/fr/univlille/iut/r304/thermo/view/SliderView.java
@@ -0,0 +1,69 @@
+package fr.univlille.iut.r304.thermo.view;
+
+import fr.univlille.iut.r304.thermo.model.Thermostat;
+import fr.univlille.iut.r304.utils.Observable;
+import fr.univlille.iut.r304.utils.Observer;
+import javafx.scene.Scene;
+import javafx.scene.control.Label;
+import javafx.scene.control.Slider;
+import javafx.scene.layout.VBox;
+import javafx.stage.Stage;
+
+public class SliderView extends Stage implements ITemperatureView, Observer {
+	private Thermostat model;
+	private Slider temperatureSlider;
+	private Label temperatureLabel;
+
+	public SliderView(Thermostat model) {
+		this.model = model;
+		this.setTitle("Thermostat Slider");
+
+		temperatureLabel = new Label("Temperature: " + model.getTemperature() + " °C");
+		temperatureSlider = new Slider(-10.0, 30.0, model.getTemperature());
+		temperatureSlider.setShowTickLabels(true);
+		temperatureSlider.setShowTickMarks(true);
+		temperatureSlider.setMajorTickUnit(5);
+		temperatureSlider.setMinorTickCount(1);
+
+		temperatureSlider.valueProperty().addListener((obs, oldVal, newVal) -> {
+			model.setTemperature(newVal.doubleValue());
+		});
+
+		VBox layout = new VBox(10, temperatureLabel, temperatureSlider);
+		Scene scene = new Scene(layout, 300, 150);
+		this.setScene(scene);
+		this.show();
+
+		model.attach(this);
+
+		// Met à jour le Slider avec la température actuelle du modèle
+		temperatureSlider.setValue(model.getTemperature());
+	}
+
+	@Override
+	public double getDisplayedValue() {
+		return model.getTemperature();
+	}
+
+	@Override
+	public void incrementAction() {
+		model.incrementTemperature();
+		temperatureSlider.setValue(model.getTemperature());
+	}
+
+	@Override
+	public void decrementAction() {
+		model.decrementTemperature();
+		temperatureSlider.setValue(model.getTemperature());
+	}
+
+	public void update(Observable observable) {
+		temperatureLabel.setText("Temperature: " + model.getTemperature() + " °C");
+		temperatureSlider.setValue(model.getTemperature());
+	}
+
+	@Override
+	public void update(Observable observable, Object data) {
+
+	}
+}
\ No newline at end of file
diff --git a/src/main/java/fr/univlille/iut/r304/thermo/view/TextView.java b/src/main/java/fr/univlille/iut/r304/thermo/view/TextView.java
index 4faa759f6764a99144422ba1e6c9d45da0a15810..e35494f1b87abf0e4bfb293111ccb238815ef80a 100644
--- a/src/main/java/fr/univlille/iut/r304/thermo/view/TextView.java
+++ b/src/main/java/fr/univlille/iut/r304/thermo/view/TextView.java
@@ -1,32 +1,66 @@
 package fr.univlille.iut.r304.thermo.view;
 
 import fr.univlille.iut.r304.thermo.model.Thermostat;
+import fr.univlille.iut.r304.utils.Observable;
+import fr.univlille.iut.r304.utils.Observer;
+import javafx.application.Application;
+import javafx.scene.Scene;
+import javafx.scene.control.Button;
+import javafx.scene.control.Label;
+import javafx.scene.control.TextField;
+import javafx.scene.layout.VBox;
 import javafx.stage.Stage;
 
-public class TextView extends Stage implements ITemperatureView {
+public class TextView extends Stage implements ITemperatureView, Observer {
+	private Thermostat model;
+	private Label temperatureLabel;
+	private TextField temperatureInput;
 
 	public TextView(Thermostat model) {
-		//simplement pour avoir qqch qui s'affiche à la prise en main du dépôt
+		this.model = model;
 		this.setTitle("Thermostat");
+		this.temperatureLabel = new Label("Temp: " + model.getTemperature());
+		this.temperatureInput = new TextField();
+		this.temperatureInput.setPromptText("Set temperature");
+
+		Button incrementButton = new Button("Increment");
+		incrementButton.setOnAction(e -> incrementAction());
+
+		Button decrementButton = new Button("Decrement");
+		decrementButton.setOnAction(e -> decrementAction());
+
+		VBox layout = new VBox(10, temperatureLabel, temperatureInput, incrementButton, decrementButton);
+		Scene scene = new Scene(layout, 200, 150);
+		this.setScene(scene);
 		this.show();
+
+		model.attach(this);
 	}
 
 	@Override
 	public double getDisplayedValue() {
-		// TODO Auto-generated method stub
-		return 0;
+		return model.getTemperature();
 	}
 
 	@Override
 	public void incrementAction() {
-		// TODO Auto-generated method stub
-		
+		model.incrementTemperature();
+		temperatureInput.setText(String.valueOf(model.getTemperature()));
 	}
 
 	@Override
 	public void decrementAction() {
-		// TODO Auto-generated method stub
-		
+		model.decrementTemperature();
+		temperatureInput.setText(String.valueOf(model.getTemperature()));
+	}
+
+	public void update(Observable observable) {
+		temperatureLabel.setText("Temp: " + model.getTemperature());
+	}
+
+	@Override
+	public void update(Observable observable, Object data) {
+		temperatureLabel.setText("Temp: " + data);
 	}
 
-}
+}
\ No newline at end of file