diff --git a/snake/deplacement.c b/snake/deplacement.c
index 2e7f03f..c764393 100644
--- a/snake/deplacement.c
+++ b/snake/deplacement.c
@@ -14,19 +14,26 @@
 
 
 
-void deplacement (struct adresse* pointeur, char* sens)  {
+void deplacement (struct adresse* pointeur, unsigned char* sens)  {
 
 
   int** plateau = pointeur -> plateau;
 
   unsigned char* tete = pointeur -> tete;
 
-  unsigned char* queue = pointeur -> queue; 
+  unsigned char* queue = pointeur -> queue;
 
+  couleur green, yellow;
+
+  green = CouleurParComposante(50,205,50);
+  
+  yellow = CouleurParComposante(255,255,0);
+
+  
 		
   /* affectations des commandes aux touches du jeu */
 
-  if (TouchEnAttente() == 1)  {
+  if (ToucheEnAttente() == 1)  {
 
     if (Touche() == XK_Left) {
       
@@ -38,11 +45,11 @@ void deplacement (struct adresse* pointeur, char* sens)  {
 
       tete[1] = tete[1] - 1;
 
-      *sens = "gauche";
+      *sens = GAUCHE;
 	
     }
 
-    if (Touch() == XK_Right)  {
+    if (Touche() == XK_Right)  {
 
       plateau[tete[0]][tete[1]] = 0;
 
@@ -52,11 +59,11 @@ void deplacement (struct adresse* pointeur, char* sens)  {
 
       tete[1] = tete[1] + 1;
 
-      *sens = "droite";
+      *sens = DROITE;
 
     }
 
-    if (Touch() == XK_Up)  {
+    if (Touche() == XK_Up)  {
 
       plateau[tete[0]][tete[1]] = 0;
 
@@ -66,10 +73,10 @@ void deplacement (struct adresse* pointeur, char* sens)  {
 
       tete[0] = tete[0] - 1;
 
-      *sens = "haut";
+      *sens = HAUT;
     }
 
-    if (Touch() == XK_Down)  {
+    if (Touche() == XK_Down)  {
 
       plateau[tete[0]][tete[1]] = 0;
 
@@ -79,22 +86,30 @@ void deplacement (struct adresse* pointeur, char* sens)  {
 
       tete[0] = tete[0] + 1;
 
-      *sens = "bas";
+      *sens = DROITE;
 
     }
 
     else  {
 
-      if ( strcmp(*sens,"bas") == 1)  {
+      if ( *sens == BAS)  {
 
 	plateau[tete[0] + 1][tete[1]] = 1;
 
 	plateau[queue[0]][queue[1]] = 0;
 
 	tete[0] = tete[0] + 1;
+
+	ChoisirCouleurDessin(yellow);
+	RemplirRectangle(20*(tete[1]+1),20*(tete[0]+1),20,20);
+
+	ChoisirCouleurDessin(green);
+	RemplirRectangle(20*(tete[1]+1),20*(tete[0]+1),20,20);
+
+	
       }
 
-      if ( strcmp(*sens, "haut") ==1)  {
+      if ( *sens == HAUT)  {
 
 	plateau[tete[0] - 1][tete[1]] = 1;
 
@@ -104,7 +119,7 @@ void deplacement (struct adresse* pointeur, char* sens)  {
 
       }
 
-      if ( strcmp(*sens, "droite") ==1)  {
+      if ( *sens == DROITE)  {
 
 	plateau[tete[0]][tete[1] + 1] = 1;
 
@@ -114,7 +129,7 @@ void deplacement (struct adresse* pointeur, char* sens)  {
 
       }
 
-      if ( strcmp(*sens, "gauche") ==1)  {
+      if ( *sens == GAUCHE)  {
 
 	plateau[tete[0]][tete[1] - 1] = 1;
 
@@ -129,7 +144,6 @@ void deplacement (struct adresse* pointeur, char* sens)  {
       
     /* mise à jour de la position de queue dans le plateau */
     
-    maj_queue(queue, plateau);
     
     }
   }
diff --git a/snake/deplacement.h b/snake/deplacement.h
index 94c0cc4..ce03003 100644
--- a/snake/deplacement.h
+++ b/snake/deplacement.h
@@ -3,6 +3,12 @@
 #ifndef DEPLACEMENT_H
 #define DEPLACEMENT_H
 
-void deplacement (struct adresse* pointeur, char* sens);
+#define HAUT 0
+#define DROITE 1
+#define BAS 2
+#define GAUCHE 3
+#include "plateau_init.h"
+
+void deplacement (struct adresse* pointeur, unsigned char* sens);
 
 #endif /* DEPLACEMENT_H */
diff --git a/snake/fenetre.c b/snake/fenetre.c
index e43ae22..f75d270 100755
--- a/snake/fenetre.c
+++ b/snake/fenetre.c
@@ -19,7 +19,7 @@ int start (struct adresse* pointeur)  {
   int i, j;
 
   
-   char* texte1 = "espace = lancer";
+  char* texte1 = "espace = lancer";
   
   char* texte2 = "espace = pause";
 
diff --git a/snake/fenetre.h b/snake/fenetre.h
index 90d1080..8e3ae70 100644
--- a/snake/fenetre.h
+++ b/snake/fenetre.h
@@ -5,6 +5,8 @@
 #ifndef FENETRE_H
 #define FENETRE_H
 
+#include "plateau_init.h"
+
 
 void start (struct adresse* pointeur);
 
diff --git a/snake/lancement b/snake/lancement
index 44c21f3..54aaf37 100755
Binary files a/snake/lancement and b/snake/lancement differ
diff --git a/snake/main.c b/snake/main.c
index f76919f..635f63c 100644
--- a/snake/main.c
+++ b/snake/main.c
@@ -14,18 +14,19 @@ int main(void)  {
 
   struct adresse* pointeur =  plateau_init();
 
+  int i;
   
 
-  char* sens = NULL;
+  unsigned char* sens = NULL;
 
   
   unsigned char jeu = 1 ;
 
   unsigned long suivant;
 
-  sens = malloc(sizeof(char));
+  sens = malloc(sizeof(unsigned char));
 
-  *sens = "bas";
+  *sens = 2;
 
 
   suivant = Microsecondes() + CYCLE;
@@ -61,20 +62,20 @@ int main(void)  {
    
    for ( i = 0; i < LIGNES; i++)  {
 
-     free(tableau[i]);
+     free(pointeur->plateau[i]);
 
    }
 
-   free(pointeur);
+   free(pointeur -> plateau);
 
-   free(tete);
+   free(pointeur -> tete);
 
-   free(queue);
+   free(pointeur -> queue);
 
    free(sens); 
 
 
-   free(tableau);
+   free(pointeur);