public void doMove(Move thisMove) {

		final Piece piece = getPiece(thisMove.getStartX(), thisMove.getStartY());

		/* Supprime l'etat de danger */
		// TODO VERIFIER SI CES PIECES PEUVENT ETRE EN DANGER PAR UNE AUTRE DE
		// MES PIECES

		// Générer tous les coups possibles pour cette pièce
		ArrayList<Move> moves = piece.generateMovesForThisPiece(this);

		// Pour chaque mouvement avant le deplacement, trouver si elle mange
		// quelque chose et la mettre en etat de hors de danger
		for (final Move move : moves) {
			final Piece enemyPiece = chessboard[move.getEndY()][move.getEndX()];
			if ((enemyPiece != null) && (enemyPiece.isColor() != piece.isColor())) {
				enemyPiece.noMoreInDanger();
			}
		}

		// Supprime la pièce qui va ce faire manger de la liste des pieces
		// (blacks/whites) de sa couleur
		if (chessboard[thisMove.getEndY()][thisMove.getEndX()] != null) {
			if (Helper.isColorWhite(piece.isColor())) {
				blacks.remove(chessboard[thisMove.getEndY()][thisMove.getEndX()]);
			} else {
				whites.remove(chessboard[thisMove.getEndY()][thisMove.getEndX()]);
			}
		}

		// Déplacement de la pièce
		chessboard[thisMove.getEndY()][thisMove.getEndX()] = piece;
		chessboard[thisMove.getStartY()][thisMove.getStartX()] = null;

		// Modifie l'etat moved de la pièce
		piece.setMoved(true);

		/* Trouvez si maintenant il ya des morceaux en danger */

		// Générer tous les coups possibles pour cette pièce
		moves = piece.generateMovesForThisPiece(this);

		// For each move find if it eats something
		for (final Move move : moves) {
			final Piece enemyPiece = chessboard[move.getEndY()][move.getEndX()];
			if ((enemyPiece != null) && (enemyPiece.isColor() != piece.isColor())) {
				enemyPiece.inDanger();
			}
		}
	}