diff --git a/src/afficheur/Afficheur.java b/src/afficheur/Afficheur.java
index ed802a024c375776f75331e3963c0e18076ef22c..f95e5b193db28e7d2d5854b517a514fc110fdbf0 100644
--- a/src/afficheur/Afficheur.java
+++ b/src/afficheur/Afficheur.java
@@ -29,7 +29,9 @@ public class Afficheur extends JPanel {
 	Monde m;
 	
 	//l'afficheur de Decor
-	public DecorFixe decor=new DecorFixe();
+	//public DecorFixe decor=new DecorFixe();
+	public DecorVariable decor=new DecorVariable();
+
         
 	//double buffering
 	BufferStrategy bs;
@@ -75,7 +77,8 @@ public class Afficheur extends JPanel {
 		g.setColor(Color.black);
 
 		//affiche le décor
-		decor.affiche( g);
+		//decor.affiche( g);
+                decor.affiche((int)m.balle.px, g);
 
 		// affiche les objets
 		for (Objet obj : m.objets) {
diff --git a/src/afficheur/DecorVariable.java b/src/afficheur/DecorVariable.java
new file mode 100644
index 0000000000000000000000000000000000000000..323044229e343bc54f8d182ed177f6cb2634f0c0
--- /dev/null
+++ b/src/afficheur/DecorVariable.java
@@ -0,0 +1,64 @@
+package afficheur;
+
+import java.awt.Graphics;
+import java.awt.image.BufferedImage;
+import java.io.File;
+import java.io.IOException;
+import java.util.HashMap;
+
+import javax.imageio.ImageIO;
+
+
+//distributeur de sprites
+public class DecorVariable {
+	
+	//IMage
+	BufferedImage im;
+	
+	//taille
+	int wx,wy;
+	
+	//construit le sprite
+	public DecorVariable() 
+	{
+		try {
+			im=ImageIO.read(new File("background.jpg"));
+		} catch (IOException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+			System.out.println("erreur lecture background");
+		}
+		wx=im.getWidth();
+		wy=im.getHeight();
+	}
+	
+                public void changeImage(String image) 
+	{
+		try {
+			im=ImageIO.read(new File(image));
+		} catch (IOException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+			System.out.println("erreur lecture background");
+		}
+		wx=im.getWidth();
+		wy=im.getHeight();
+	}
+	
+	//afficheur de decor
+	//declae en x seulement
+	public void affiche(int x,Graphics g)
+	{
+		//on se ramene au repere du plan
+		x=(x%wx);
+		
+		//on affiche sur l'ecran 0 ==> wx-x  image source de x � wx   
+		g.drawImage(im, 0 ,0 , wx-x, wy, x, 0, wx, wy,null);
+		
+		//on affiche sur l'ecran wx-x ==> wx  image source de 0 � x   
+		g.drawImage(im, wx-x ,0 , wx, wy, 0, 0, x, wy,null);
+		
+	}
+	
+	
+}