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..67f56d550a5888fcd91ed631ec83a33a74e4829c 100644
--- a/src/main/java/fr/univlille/iut/r304/thermo/Main.java
+++ b/src/main/java/fr/univlille/iut/r304/thermo/Main.java
@@ -12,9 +12,8 @@ public class Main extends Application {
 	}
 
 	@Override
-	public void start(Stage primaryStage) throws Exception {
+	public void start(Stage primaryStage) {
 		Thermostat thermo = new Thermostat();
 		new TextView(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..2edddc626c46d41ea17d848b020e0422ed0ca7e7 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,42 @@
 package fr.univlille.iut.r304.thermo.model;
 
-public class Thermostat implements ITemperature {
+import fr.univlille.iut.r304.utils.ObservableProperty;
+
+public class Thermostat extends ObservableProperty 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
-		
+	public void setTemperature(double temperature) {
+		this.temperature = temperature;
+		setValue(temperature); // Notifie les observateurs
 	}
 
 	@Override
 	public Double getTemperature() {
-		// TODO Auto-generated method stub
-		return null;
+		return this.temperature;
 	}
 
 	@Override
 	public void incrementTemperature() {
-		// TODO Auto-generated method stub
-		
+		setTemperature(this.temperature + 1);
 	}
 
 	@Override
 	public void decrementTemperature() {
-		// TODO Auto-generated method stub
-		
+		setTemperature(this.temperature - 1);
 	}
 
+	// Optionnel : Méthodes pour incrémenter/décrémenter de 5 degrés
+	public void incrementTemperatureBy(double value) {
+		setTemperature(this.temperature + value);
+	}
+
+	public void decrementTemperatureBy(double value) {
+		setTemperature(this.temperature - value);
+	}
 }
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..89c32935dad55988e020ed91b390be8bcc1a8a3a 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,80 @@
 package fr.univlille.iut.r304.thermo.view;
 
 import fr.univlille.iut.r304.thermo.model.Thermostat;
+import fr.univlille.iut.r304.utils.Observer;
+import javafx.application.Platform;
+import javafx.scene.Scene;
+import javafx.scene.control.Button;
+import javafx.scene.control.Label;
+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;
 
 	public TextView(Thermostat model) {
-		//simplement pour avoir qqch qui s'affiche à la prise en main du dépôt
+		this.model = model;
+		this.model.attach(this); // S'attache en tant qu'observateur
+
 		this.setTitle("Thermostat");
+
+		temperatureLabel = new Label("Température actuelle : " + model.getTemperature() + "°C");
+
+		Button incrementButton = new Button("+1");
+		incrementButton.setOnAction(e -> incrementAction());
+
+		Button decrementButton = new Button("-1");
+		decrementButton.setOnAction(e -> decrementAction());
+
+		// Optionnel : Boutons pour +/-5 degrés
+		Button incrementFiveButton = new Button("+5");
+		incrementFiveButton.setOnAction(e -> incrementTemperatureBy(5));
+
+		Button decrementFiveButton = new Button("-5");
+		decrementFiveButton.setOnAction(e -> decrementTemperatureBy(5));
+
+		VBox layout = new VBox(10);
+		layout.getChildren().addAll(temperatureLabel, incrementButton, decrementButton, incrementFiveButton, decrementFiveButton);
+
+		Scene scene = new Scene(layout, 200, 200);
+		this.setScene(scene);
 		this.show();
 	}
 
 	@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();
 	}
 
 	@Override
 	public void decrementAction() {
-		// TODO Auto-generated method stub
-		
+		model.decrementTemperature();
 	}
 
+	// Optionnel : Méthodes pour incrémenter/décrémenter de 5 degrés
+	public void incrementTemperatureBy(double value) {
+		model.incrementTemperatureBy(value);
+	}
+
+	public void decrementTemperatureBy(double value) {
+		model.decrementTemperatureBy(value);
+	}
+
+	@Override
+	public void update(fr.univlille.iut.r304.utils.Observable observable, Object data) {
+		// Mise à jour de l'affichage lorsque le modèle change
+		Platform.runLater(() -> temperatureLabel.setText("Température actuelle : " + model.getTemperature() + "°C"));
+	}
+
+	@Override
+	public void update(fr.univlille.iut.r304.utils.Observable observable) {
+		// Non utilisé
+	}
 }