Index: branch/MARIMOUTOU_Mourougen/main.c
===================================================================
--- branch/MARIMOUTOU_Mourougen/main.c	(revision 387)
+++ branch/MARIMOUTOU_Mourougen/main.c	(revision 388)
@@ -22,7 +22,9 @@
     float Latitude;
     float Longitude;
 }Position;
+
 Position P,P1,P2,P3,P4;
+
 typedef struct
 {
     Position rpos;
@@ -29,7 +31,7 @@
     float vitmax;
 }Zone;
 
-//Table des zones
+//Table des zones dangereuses
 
 Zone zones[]=
 {
@@ -125,7 +127,7 @@
     return temp;
 }
 
-int test_decode_nombre()
+int test_decode_nombre()//test de la fonction decode nombre
 {
     int verif=1;
     if(decode_nombre("758961",2,0)!=75)
@@ -138,7 +140,7 @@
     }
 }
 
-float decode_latitude(char *trame )//Fonction qui extrait et decode la latitude d'un trame
+float decode_latitude(char *trame )//Fonction qui extrait et converti la latitude d'une trame
 {
     float degres,reste,flottant,res;
     int i=17;
@@ -156,7 +158,7 @@
 
 }
 
-float decode_longitude(char *trame )//Fonction qui extrait et decode la longitude d'un trame
+float decode_longitude(char *trame )//Fonction qui extrait et converti la longitude d'une trame
 {
     float degres,reste,flottant,res;
     int i=30;
@@ -173,15 +175,8 @@
     return res;
 
 }
-/*
-Position decode_position(char *trame,Position* P)//Fonction qui stocke la latitude dans la structure Position
-{
-    P->Latitude=decode_latitude(&trame);
-    P->Longitude=decode_latitude(&trame);
-}
-*/
 
-float decode_trame(char *trame,Position *P)//Fonction qui extrait la position(latitude,longitude) pour les trame trame valide
+float decode_trame(char *trame,Position *P)//Fonction qui extrait la position(latitude,longitude)
 {
     P->Latitude=decode_latitude(trame);
     P->Longitude=decode_longitude(trame);
@@ -188,18 +183,18 @@
 
 }
 
-float calcul_distance(Position *p_1,Position *p_2)
+float calcul_distance(Position p_1,Position p_2)//Calcul de la distance entre 2 positions
 {
     float D;
     float R_terre=6371.0;
-    D=((6.28*R_terre)/360.0)*sqrt(((p_2->Longitude-p_1->Longitude),2)+pow((p_2->Latitude-p_1->Latitude),2));
+    D=((6.28*R_terre)/360.0)*sqrt((p_2.Longitude-p_1.Longitude)*(p_2.Longitude-p_1.Longitude)+(p_2.Latitude-p_1.Latitude)*(p_2.Latitude-p_1.Latitude));
 
     return D;
 }
 
-float calcul_vitesse(Position *p_1,Position *p_2)
+float calcul_vitesse(Position p_1,Position p_2)//Calcul de la vitesse entre 2 positions
 {
-    float Vitesse=(calcul_distance(&p_1,&p_2))*3600.0;
+    float Vitesse=(calcul_distance(p_1,p_2)*3600.0);
     return Vitesse;
 }
 
@@ -207,11 +202,11 @@
 {
     int i;
     int j=0;
-    float distance_init=calcul_distance(&p,&r[0].rpos);//Initialisation d'une distance initial de reference
+    float distance_init=calcul_distance(p,r[0].rpos);//Initialisation d'une distance initial de reference
     if(nb_zones>0){
         for(i=1;i<nb_zones;i++)
         {
-        *d=calcul_distance(&p,&r[i].rpos);
+        *d=calcul_distance(p,r[i].rpos);
             if(*d<=distance_init)
             {
                 j=i;
@@ -258,11 +253,10 @@
 
     Position pos_init,p;
     //initialisation d'une position initiale a partir d'une trame de test valide
-    pos_init.Latitude=decode_latitude("$GPGGA,141914.00,4545.0000,N,00306.6036,E,1,05,3.4,499.3,M,,M,,*7D");
-    pos_init.Longitude=decode_longitude("$GPGGA,141914.00,4545.0000,N,00306.6036,E,1,05,3.4,499.3,M,,M,,*7D");
+    decode_trame("$GPGGA,141914.00,4545.0000,N,00306.6036,E,1,05,3.4,499.3,M,,M,,*7D",&pos_init);
 
     float distance,vitesse;
-    float seuil=5089.0;//Definition du seuil en evaluant les distance retourner afin de valider le foncionnement du bloc
+    float seuil=5100.0;//Definition du seuil en evaluant les distance retourner afin de valider le foncionnement du bloc
     int indice;
 
     if(trame_cmp(trame,"GPGGA")==1)
@@ -270,15 +264,15 @@
         printf ("> %s\n",trame);
         decode_trame(trame,&p);
         printf("Latitude:%f\nLongitude:%f\n",p.Latitude,p.Longitude);
-        vitesse=calcul_vitesse(&pos_init,&p);
+        vitesse=calcul_vitesse(p,pos_init);
+        distance=calcul_distance(p,pos_init);
         indice=distance_a_la_plus_proche_zone(p,zones,sizeof(zones),&distance);
+
         if(distance<seuil && vitesse>zones[indice].vitmax)
         {
             printf("alarme on\n");
-            printf("Vitesse limiter a :%f\n",vitesse);
+            printf("Vitesse limiteé a :%f\n",vitesse);
             printf("Distance de:%f\n\n",distance);
-            printf("debug:%f\n\n",calcul_distance(&pos_init,&p));
-            printf("debug:%f\n\n",calcul_vitesse(&pos_init,&p));
 
         }else
             {
@@ -287,7 +281,16 @@
 
             }
     }
-}
+}
+/*Remarque de code*/
+/*
+On remarque que la distance renvoyer par la fonction distance_de_la_plus_proche
+Ce qui fait que le seuil defini et faux cependant permet de tester un code
+qui decrit l'etat de l'alarme.
+Un probleme se retrouve eq
+
+
+*/
 
 //Ajouter vos tests unitaires dans cette fonction.
 void tests_unitaires(void){
