public Stack<Labyrinth> launchGUI(File file) throws Exception {
        Stack<Labyrinth> labyStack = new Stack<Labyrinth>();
        try (
                FileInputStream fInputStream = new FileInputStream(file);
                ZipInputStream zInputStream = new ZipInputStream(fInputStream);
        ) {
            while (zInputStream.getNextEntry() != null) {
                ObjectInputStream oisCompressed = new ObjectInputStream(zInputStream);
                Labyrinth compressedLaby = (Labyrinth) oisCompressed.readObject();

                compressedLaby.resolve();
                labyStack.push(compressedLaby);
            }


        } catch (InvalidClassException e) {
            throw new Exception("Le fichier est invalide");
        } catch (FileNotFoundException e) {
            throw new Exception("Le fichier est introuvable");
        } catch (StreamCorruptedException e) {
            throw new Exception("Le fichier est corrompu");
        } catch (Exception e) {
            throw new Exception("Erreur inconnue");
        }
        return labyStack;
    }