diff --git a/src/BouclePrincipale.java b/src/main/BouclePrincipale.java
similarity index 88%
rename from src/BouclePrincipale.java
rename to src/main/BouclePrincipale.java
index 87c17e7c33bb86f262d228e67e7f81bb137d5173..f8314efdb6d7eacaa47c75e40bb58cee36420832 100644
--- a/src/BouclePrincipale.java
+++ b/src/main/BouclePrincipale.java
@@ -1,14 +1,16 @@
+package main;
+
 import controle.ControleurClavier;
 
 
 
 public class BouclePrincipale {
 
-        String nom="Mon super Jeu";
-        int fps=100;
-        JeuPhysique jeuPhysique;
+        public String nom="Mon super Jeu";
+        public int fps=100;
+        public JeuPhysique jeuPhysique;
         //creation du controleur
-        ControleurClavier cClavier;
+        public ControleurClavier cClavier;
         
     
         public void setName(String nom){
diff --git a/src/JeuPhysique.java b/src/main/JeuPhysique.java
similarity index 90%
rename from src/JeuPhysique.java
rename to src/main/JeuPhysique.java
index d4fbfc02601afe270d5e44bfe8952d7385f62ce4..dfc2edbd48f73e5f7975f1b3dbb08023a206f79d 100644
--- a/src/JeuPhysique.java
+++ b/src/main/JeuPhysique.java
@@ -1,3 +1,5 @@
+package main;
+
 /* ========================================================== */
 /*                  Bibliotheque MoteurDeJeu                  */
 /* --------------------------------------------               */
@@ -17,10 +19,10 @@ import java.io.IOException;
 public class JeuPhysique{
 	
 	//le moteur physique
-	MoteurPhysique moteurPhys;
+	public MoteurPhysique moteurPhys;
 	
 	//le rendu
-	Afficheur affiche;
+	public Afficheur affiche;
 
 	
 	int i=0;
diff --git a/test/miscellaneous/BouclePrincipaleCool.java b/test/miscellaneous/BouclePrincipaleCool.java
index d0c63fef6ce8a0ab8034805eaa4d0bc4375f42cc..5b1c629867916334ad93596bd6f4e6f80ecabdf4 100644
--- a/test/miscellaneous/BouclePrincipaleCool.java
+++ b/test/miscellaneous/BouclePrincipaleCool.java
@@ -10,10 +10,73 @@
  /* ========================================================== */
 package miscellaneous;
 
+import main.BouclePrincipale;
+import controle.ControleurClavier;
+
 /**
- *
+ * 
+ * 
  * @author Pierre-Frederic Villard
  */
 public class BouclePrincipaleCool extends BouclePrincipale{
     
+    @Override
+    public void lanceBouclePrincipale() throws Exception {
+		
+
+		//ControleurClavier cClavier=new ControleurClavier(true);
+		jeuPhysique.affiche.addKeyListener(cClavier);
+		//mettre l'acces au controleur dans monde
+		jeuPhysique.moteurPhys.monde.c=cClavier.c;
+		
+		//afficher
+		System.out.println("\n\n**************************************************");
+		System.out.println("*  "+nom);
+		System.out.println("*                                                 *");
+		System.out.println("*** touche 'Q' pour arreter jeu                  ***");
+		System.out.println("****************************************************");
+		System.out.println("\n\n");
+		
+		//fps
+		long dureeBoucle=1000000/fps;
+		System.out.println(" ---> duree d'une boucle "+dureeBoucle/1000.);		
+		
+		//lancement
+		Thread.sleep(1000);
+		jeuPhysique.affiche.requestFocusInWindow();
+		
+		// boucle
+		long beforeTime = System.nanoTime();
+		long l = System.currentTimeMillis();
+		//nombre iterations
+		int n=0;
+		while(!ControleurClavier.fin)
+		{	
+			n++;
+			jeuPhysique.update();
+			jeuPhysique.render();
+			
+			//apres le render en nanos
+			long timafter=System.nanoTime();
+				
+			//sleep en millisecond
+			while(System.nanoTime()-beforeTime-dureeBoucle*1000L<0)
+				{
+				}
+			beforeTime=System.nanoTime();
+						
+		}
+		long l2 = System.currentTimeMillis();
+
+
+		// statistiques
+		System.out.println("\n\n\n************************\n");
+		System.out.println("Iterations = "+n);
+		System.out.println("FPS = " + (n * 1000.0 / (l2 - l)));
+		System.out.println("\n************************");
+
+		
+		System.exit(0);
+	}
+
 }
diff --git a/test/testFighter.java b/test/testFighter.java
index 5982fd8cbc01a11c27eb57d8cf00f7c2e4b9f945..c48df2e160be1d563eaeef89556d75cc30f561e0 100644
--- a/test/testFighter.java
+++ b/test/testFighter.java
@@ -1,4 +1,5 @@
 
+import main.BouclePrincipale;
 import afficheur.Afficheur;
 import controle.ControleurClavier;
 import miscellaneous.MurCool;
diff --git a/test/testMario.java b/test/testMario.java
index 7dac31b69aa4a638b1027e14d969d57515aa97ce..005fe4593b1fbc674bfc274783bae2ce2a0979e5 100644
--- a/test/testMario.java
+++ b/test/testMario.java
@@ -14,6 +14,7 @@
  * @author Pierre-Frederic Villard
  */
 
+import main.BouclePrincipale;
 import miscellaneous.MurCool;
 import afficheur.Afficheur;
 import afficheur.Repere;