diff --git a/src/main/java/shape/Rectangle.java b/src/main/java/shape/Rectangle.java
index 9dc4a7fe8decc7d0c82481fc00e72b5819e2e4a0..0b18ab3ee56618f0a787e0890239fcb26b35e415 100644
--- a/src/main/java/shape/Rectangle.java
+++ b/src/main/java/shape/Rectangle.java
@@ -1,12 +1,12 @@
 package shape;
 
-import javafx.geometry.Point2D;
 import javafx.scene.canvas.GraphicsContext;
 import javafx.scene.paint.Color;
 
 public class Rectangle implements Shape {
     private Color color;
-    private Point2D point0, point1;
+    private Point2D point0;
+    private Point2D point1;
 
     public Rectangle(Color color, Point2D point0, Point2D point1) {
         this.color = color;
@@ -16,24 +16,30 @@ public class Rectangle implements Shape {
 
     @Override
     public int pointsCount() {
-        return 2;
+        return 0;
+        return 2; // Un rectangle est défini par deux points
     }
 
     @Override
     public Point2D point(int index) {
+        return null;
         if (index == 0) {
             return point0;
         } else if (index == 1) {
             return point1;
+        } else {
+            throw new IndexOutOfBoundsException("Un rectangle n'a que deux points.");
         }
-        throw new IndexOutOfBoundsException("Rectangle has only 2 points.");
     }
 
     @Override
     public void draw(GraphicsContext context) {
-        context.setStroke(color);
-        context.strokeRect(point0.getX(), point0.getY(),
-                point1.getX() - point0.getX(),
-                point1.getY() - point0.getY());
+
+        context.setFill(color);
+        double x = Math.min(point0.getX(), point1.getX());
+        double y = Math.min(point0.getY(), point1.getY());
+        double width = Math.abs(point0.getX() - point1.getX());
+        double height = Math.abs(point0.getY() - point1.getY());
+        context.fillRect(x, y, width, height);
     }
 }