private static ArrayList<Configuration> sautRecursif(Configuration conf, byte[] triplet, byte typeSauteFirst, boolean noirEnPlayer){
		
		ArrayList<Configuration> listeConf = new ArrayList<Configuration>();
		
		byte caseDebut = triplet[0];
		byte typeSaute = triplet[1];
		byte caseFin   = triplet[2];
		byte newTurttle=0;
		
		if (typeSaute == conf.player)
			newTurttle = conf.player;// player saute opponent2 : pas de changement
		else if (typeSaute == conf.opponent)
			newTurttle = typeSaute; 		//  player saute opponent2 : rouge2 se retourne en noir
		else if (typeSaute == 3) {	//  player1 saute noir2 : 2 cas, _noir2 devient player, on fait un appel r�cursif pour traiter ce cas.
									//								 _noir2 devient opponent, on continue la fonction normalement
	 		if (noirEnPlayer) {
	 			newTurttle = conf.player; 
			}else { 
				listeConf.addAll(sautRecursif(conf, triplet, typeSauteFirst, true)); //appel r�cursif 
				newTurttle = conf.opponent;
			}
		}else System.out.println("ERREUR : dans la fct recursive de IA, typeSaute != 1,2 ou 3");
		
		Configuration c = conf.clone();
		c.coupJoue(caseDebut, newTurttle, caseFin);
		
		// typeSauteFirst doit contenir le type de la premiere tortue de couleur rouge ou verte saut� dans un tour de jeu
		if (typeSauteFirst == 3){
			typeSauteFirst = typeSaute;
		}
		ArrayList<byte[]> lMovePossible = c.possibleMove(caseFin, typeSauteFirst);
		if (lMovePossible.isEmpty()){ // si pas de saut possible apr�s le premier coup
			listeConf.add(c); // AJOUT de la nouvelle config
		}else {
			for (byte[] tripletFils : lMovePossible){	
				listeConf.addAll(sautRecursif(c, tripletFils, typeSauteFirst, false)); //appel r�cursif
			}
		}
		return listeConf;
	}