	/**** Début de fonction : verifEmail ****/
	// Entrée : mail - (String) - Email à analysé.
	// Renvoyé : true ou false - (Boolean) - Vrai si l'email est correct sinon Faux
	
	function verifEmail(mail) {
	
	  /*** Début de déclaration de variable ***/
	  //var de retour boolean true ou false
	  var ret = true;
	  //var où l'on stock le caractère courant au fur et a mesure de l'analyse
	  var car = "";
	  //var où l'on stock le caractère place avant le @
	  var carAfter = "";
	  //var où l'on stock le caractère place après le @
	  var carBefore = "";
	  //var où l'on stock le nombre de caractères total
	  var nbrcar = mail.length;
	  //var où l'on stock le nombre de @ trouvé
	  var nbrarobase = 0;
	  //var où l'on stock le nombre de . trouvé
	  var nbrpoint = 0;
	  //var définissant les caractères authorisés
	  var goodcar = "@0123456789.-_abcdefghijklmnopqrstuvwxyz";
	  /*** Fin de déclaration de variable ***/
	
	  /*** Début de boucle de l'analyse ***/
	  for(cnt=0;cnt<nbrcar;cnt++) {
	
	    //Récupération du caractère courant
	    var car = mail.substr(cnt,1);
	
	    /** Début de l'analyse du caractère courant **/
	    //Si le caractère est authorisé
	    if(goodcar.indexOf(car) >= 0) {
	
	      //On initialise les variables carAfter et carBefore à vide
	      carAfter = "";
	      carBefore = "";
	
	      /* Début de l'analyse du @ */
	      //Si le caractère est @
	      if(car == "@") {
	
	
	        //Si le @ n'est pas le premier
	        if((cnt-1) >= 0) {
	
	          //Récupération du caractère placé avant le @
	          carBefore = mail.substr((cnt-1),1);
	        }
	
	        //Si le @ n'est pas le dernier
	        if((cnt+1)<nbrcar) {
	
	          //Récupération du caractère placé après le @
	         carAfter = mail.substr((cnt+1),1);
	        }
	
	        //Si toutes les condition de @ sont respectées
	        //conditions:
	        //    - cnt>0                 : n'est pas placé en première position
	        //    - nbrarobase==0   : est unique
	        //    - cnt<(nbrcar-4)     : se trouve à une position max de 5 avant la fin
	        //      (sachant que les domaines les plus petit sont : a.fr par ex.)
	        //    - !(carBefore==".") : qu'il n'y est pas de . avant le @
	        //    - !(carAfter==".")   : qu'il n'y est pas de . après le @
	        //    - !(carBefore=="-") : qu'il n'y est pas de - avant le @
	        //    - !(carAfter=="-")   : qu'il n'y est pas de - après le @
	        //    - !(carBefore=="_") : qu'il n'y est pas de _ avant le @
	        //    - !(carAfter=="_")   : qu'il n'y est pas de _ après le @
	        if(cnt>0 && nbrarobase==0 && cnt<(nbrcar-4) && !(carBefore==".") && !(carAfter==".") && !(carBefore=="-") && !(carAfter=="-") && !(carBefore=="_") && !(carAfter=="_")) {
	
	          //On incrémente le @
	          nbrarobase++;
	        } else {
	
	         //Affectation Faux à la var de retour
	         ret = false;
	         //On sort de la boucle 
	         break;
	        }
	      }
	      /* Fin de l'analyse du @ */
	
	      /* Début de l'analyse du . */
	      //Si le caractère est .
	      if(car == ".") {
	
	        //Si le . n'est pas le premier
	        if((cnt-1) >= 0) {
	
	          //Récupération du caractère placé avant le .
	          carBefore = mail.substr((cnt-1),1);
	        }
	
	        //Si le . n'est pas le dernier
	        if((cnt+1)<nbrcar) {
	
	          //Récupération du caractère placé après le .
	         carAfter = mail.substr((cnt+1),1);
	        }
	
	        //Si toutes les condition de @ sont respectées
	        //conditions:
	        //    - cnt>0                 : n'est pas placé en première position
	        //    - cnt<(nbrcar-2)     : se trouve à une position max de 3 avant la fin
	        //      (sachant que les domaines les plus petit sont : a.fr par ex.)
	        //    - !(carBefore==".") : qu'il n'y est pas de . avant le .
	        //    - !(carAfter==".")   : qu'il n'y est pas de . après le .
	        //    - !(carBefore=="-") : qu'il n'y est pas de - avant le .
	        //    - !(carAfter=="-")   : qu'il n'y est pas de - après le .
	        //    - !(carBefore=="_") : qu'il n'y est pas de _ avant le .
	        //    - !(carAfter=="_")   : qu'il n'y est pas de _ après le .
	        if(cnt>0 && cnt<(nbrcar-2) && !(carBefore==".") && !(carAfter==".") && !(carBefore=="-") && !(carAfter=="-") && !(carBefore=="_") && !(carAfter=="_")) {
	
	          //On incrémente le .
	          nbrpoint++;
	        } else {
	
	          //Affectation Faux à la var de retour 
	          ret = false;
	          //On sort de la boucle 
	          break;
	        }
	      }
	      /* Fin de l'analyse du . */
	
	    } else {
	
	      //Affectation Faux à la var de retour 
	      ret = false;
	      //On sort de la boucle 
	      break;
	    }
	    /*** Fin de l'analyse du caractère courant ***/
	  }
	  /*** Fin de boucle de l'analyse ***/
	
	  /*** Début de l'analyse du nombre de @ et de . ***/
	  //Si il n'y a aucun @ et aucun .
	  //Si le 1er et le dernier caractère est .
	  //Si le 1er et le dernier caractère est -
	  //Si le 1er et le dernier caractère est _
	  if(nbrarobase == 0 || nbrpoint == 0 || mail.substr(0,1) == "." || mail.substr(0,1) == "-" || mail.substr(0,1) == "_" || mail.substr((nbrcar-1),1) == "." || mail.substr((nbrcar-1),1) == "-" || mail.substr((nbrcar-1),1) == "_") {
	
	    //Affectation Faux à la var de retour 
	    ret = false;
	  }
	  /*** Fin de l'analyse du nombre de . et de @ ***/
	
	  //Renvoi de la valeur de la var de retour
	  return ret;
	}
	/**** Fin de fonction : verifEmail ****/   
