private void buildGamePlateau(String dataFilename)
	{
            HashMap<CouleurPropriete,Groupe> groups = new HashMap<>();
            groups.put(CouleurPropriete.bleuCiel,new Groupe(CouleurPropriete.bleuCiel,50));
            groups.put(CouleurPropriete.bleuFonce,new Groupe(CouleurPropriete.bleuFonce,200));
            groups.put(CouleurPropriete.jaune,new Groupe(CouleurPropriete.jaune,150));
            groups.put(CouleurPropriete.mauve,new Groupe(CouleurPropriete.mauve,50));
            groups.put(CouleurPropriete.orange,new Groupe(CouleurPropriete.orange,100));
            groups.put(CouleurPropriete.rouge,new Groupe(CouleurPropriete.rouge,150));
            groups.put(CouleurPropriete.vert,new Groupe(CouleurPropriete.vert,200));
            groups.put(CouleurPropriete.violet,new Groupe(CouleurPropriete.violet,100));
		try{
			ArrayList<String[]> data = readDataFile(dataFilename, ",");
			
			//TODO: create cases instead of displaying
			for(int i=0; i<data.size(); ++i){
				String caseType = data.get(i)[0];
				if(caseType.compareTo("P") == 0){
					System.out.println("Propriete :\t" + data.get(i)[2] + "\t@ case " + data.get(i)[1]); 
                                        carreaux.put((i+1), new ProprieteAConstruire(Integer.parseInt(data.get(i)[1]),data.get(i)[2],Integer.parseInt(data.get(i)[5]),Integer.parseInt(data.get(i)[6]),Integer.parseInt(data.get(i)[7]),Integer.parseInt(data.get(i)[8]),Integer.parseInt(data.get(i)[9]),Integer.parseInt(data.get(i)[10]),Integer.parseInt(data.get(i)[4]),groups.get(CouleurPropriete.valueOf(data.get(i)[3])), this));
                                        System.out.println(data.get(i)[1]+" "+data.get(i)[2]+" "+data.get(i)[5]+" "+data.get(i)[6]+" "+data.get(i)[7]+" "+data.get(i)[8]+" "+data.get(i)[9]+" "+data.get(i)[10]+" "+data.get(i)[4]+" "+groups.get(CouleurPropriete.valueOf(data.get(i)[3])));
				}
				else if(caseType.compareTo("G") == 0){
					System.out.println("Gare :\t" + data.get(i)[2] + "\t@ case " + data.get(i)[1]);
                                        carreaux.put((i+1),new Gare(Integer.parseInt(data.get(i)[1]),data.get(i)[2],Integer.parseInt(data.get(i)[3]),this));
				}
				else if(caseType.compareTo("C") == 0){
					System.out.println("Companie :\t" + data.get(i)[2] + "\t@ case " + data.get(i)[1]);
                                        carreaux.put((i+1),new Compagnie(Integer.parseInt(data.get(i)[1]),data.get(i)[2],Integer.parseInt(data.get(i)[3]),this));
				}
				else if(caseType.compareTo("CT") == 0){
					System.out.println("Case Tirage :\t" + data.get(i)[2] + "\t@ case " + data.get(i)[1]);
                                        carreaux.put((i+1),new CarreauTirage(Integer.parseInt(data.get(i)[1]),data.get(i)[2],Famille.valueOf(data.get(i)[2]),this));
				}
				else if(caseType.compareTo("CA") == 0){
					System.out.println("Case Argent :\t" + data.get(i)[2] + "\t@ case " + data.get(i)[1]);
                                        carreaux.put((i+1),new CarreauArgent(Integer.parseInt(data.get(i)[1]),data.get(i)[2],Integer.parseInt(data.get(i)[3]),this));
				}
				else if(caseType.compareTo("CM") == 0){
					System.out.println("Case Mouvement :\t" + data.get(i)[2] + "\t@ case " + data.get(i)[1]);
                                        carreaux.put((i+1),new CarreauMouvement(Integer.parseInt(data.get(i)[1]),data.get(i)[2],11,this));
				}
				else
					System.err.println("[buildGamePleateau()] : Invalid Data type");
			}
			
		} 
		catch(FileNotFoundException e){
			System.err.println("[buildGamePlateau()] : File is not found!");
		}
		catch(IOException e){
			System.err.println("[buildGamePlateau()] : Error while reading file!");
		}
	}