Index: branch/Ndong_Yaye_Oumy/sp4a12/main.c
===================================================================
--- branch/Ndong_Yaye_Oumy/sp4a12/main.c	(revision 346)
+++ branch/Ndong_Yaye_Oumy/sp4a12/main.c	(revision 347)
@@ -101,7 +101,7 @@
         (*p).latitude= conv_lat_flottant(copie_lat);  // on convertit la laatitude en flottant
         for(i=0;i<10;++i)
         {
-            copie_long[i]=t[29+i];  // on extrait la lobgitude
+            copie_long[i]=t[29+i];  // on extrait la longitude
         }
         (*p).longitude=conv_long_flottant(copie_long); // on convertit la longitude en flottant
     }
@@ -108,11 +108,20 @@
     return a;
 }
 
+float calcul_distance(Position pos, Position pos_prec){
+    float distance;
+    int perimetre=40000;
+    //distance = R*acos (sin(pos.latitude)*sin(pos_prec.latitude) + cos(pos.latitude)*cos(pos_prec.latitude)*cos(pos.longitude - pos_prec.longitude));
+    distance= sqrt((pos_prec.longitude-pos.longitude)*(pos_prec.longitude-pos.longitude)+(pos_prec.latitude-pos.latitude)*(pos_prec.latitude-pos.latitude)) * perimetre;
+    return distance;
+}
+
+
 
 //Fonction à modifier !!!!!
 void traitement(char * trame)
 {
-   // Position a={0.0,0.0};
+   /*// Position a={0.0,0.0};
     //int a;
     Position p;
     //p=&a;
@@ -122,7 +131,7 @@
     if(decode_trame(trame,&p))
     {
          printf("latitude:%f longitude:%f \n", p.latitude,p.longitude);
-    }
+    }*/
 
 }
 
@@ -130,6 +139,8 @@
 void tests_unitaires(void){
     Position a={0.0,0.0};   // on initialise 2 struxtrures afin d'effecuer les test unitaires de decode_trame
     Position b={0.0,0.0};
+    Position p1={45.750000,3.11006};
+    Position p3={37.750403,4.10065};
     Position* p;
     Position* p2; // pour tester decode_trame
     p=&a;  // on affecte à chache pointeur l'adresse d'une stru
@@ -167,42 +178,43 @@
         exit(-1);
     }
     if(decode_int('0')!=0){                             //tests decode_int
-        printf ("Erreur Test unitaire trame_cmp.\n");
+        printf ("Erreur Test unitaire decode_int.\n");
          exit(-1);
     }
      if(decode_int('A')!=-1){
-        printf ("Erreur Test unitaire trame_cmp.\n");
+        printf ("Erreur Test unitaire decode_int.\n");
          exit(-1);
     }
     if(decode_nombre("5145",2)!=51){                    //test decode_nombre
-        printf ("Erreur Test unitaire trame_cmp.\n");
+        printf ("Erreur Test unitaire decode_nombre.\n");
          exit(-1);
     }
      if(decode_nombre("1234",2)!=12){
-        printf ("Erreur Test unitaire trame_cmp.\n");
+        printf ("Erreur Test unitaire decode_nombre.\n");
          exit(-1);
     }
     if(conv_lat_flottant("3723.2475")-37.387458>0.0001){ // test de la fonction de conversion d'une latitude en flottant/ prise en compte de l'erreur sur la précision
-        printf ("Erreur Test unitaire trame_cmp.\n");
+        printf ("Erreur Test unitaire conv_lat_flottant.\n");
          exit(-1);
     }
+    if(conv_lat_flottant("4557.5679")-45.959465>0.0001){ // prise en compte de l'erreur sur la précision
+        printf ("Erreur Test unitaire conv_lat_flottant.\n");
+         exit(-1);
+    }
      if(conv_long_flottant("00306.6036")-3.11006>0.0001){ // test de la fonction de conversion d'une longitude en flottant/prise en compte de l'erreur sur la précision
-        printf ("Erreur Test unitaire trame_cmp.\n");
+        printf ("Erreur Test unitaire conv_long_flottant.\n");
          exit(-1);
     }
-    if(conv_sexa_flottant("3723.2475")-37.387458>0.0001){ // test de la fonction de conversion d'une coordonnée sexagésimale en flottant/prise en compte de l'erreur sur la précision
-        printf ("Erreur Test unitaire trame_cmp.\n");
+    if(conv_long_flottant("00405.3567")-4.089227>0.0001){ // prise en compte de l'erreur sur la précision
+        printf ("Erreur Test unitaire conv_long_flottant.\n");
          exit(-1);
-    } if(conv_lat_flottant("4557.5679")-45.959465>0.0001){ // prise en compte de l'erreur sur la précision
-        printf ("Erreur Test unitaire trame_cmp.\n");
-         exit(-1);
     }
-     if(conv_long_flottant("00405.3567")-4.089227>0.0001){ // prise en compte de l'erreur sur la précision
-        printf ("Erreur Test unitaire trame_cmp.\n");
+    if(conv_sexa_flottant("3723.2475")-37.387458>0.0001){ // test de la fonction de conversion d'une coordonnée sexagésimale en flottant/prise en compte de l'erreur sur la précision
+        printf ("Erreur Test unitaire conv_sexa_flottant.\n");
          exit(-1);
     }
      if(conv_sexa_flottant("00306.6036")-3.11006>0.0001){ // prise en compte de l'erreur sur la précision
-        printf ("Erreur Test unitaire trame_cmp.\n");
+        printf ("Erreur Test unitaire conv_sexa_flottant.\n");
          exit(-1);
     }
    if(decode_trame("$GPGGA,141915.00,4545.0242,N,00306.6039,E,1,05,3.4,499.5,M,,M,,*72",p2)==0){ // test pour voir si la comparaison marche(trame valide ou non)
@@ -221,6 +233,10 @@
          exit(-1);
 
    }
+   if(calcul_distance(p1,p3)-8932820>1){                             //tests decode_int
+        printf ("Erreur Test unitaire calcul_distance.\n");
+         exit(-1);
+    }
 
 
 }
