private void initConfig() {
		if (VERBAL)
			System.out.println("Initializing Rubik's Cube configuration");
		
		/**
		 * Face avant   : rouge
		 * Face gauche  : bleue
		 * Face droite  : verte
		 * Face basse   : blanche
		 * Face haute   : jaune
		 * Face arrière : orange 
		 */
		
		config = new ArrayList<Cubie>();
		
		for (int z = 1; z <= getSize(); z++) {
			// Construction des N niveaux centraux de la face : axe y
			for (int y = 1; y <= getSize(); y++) {
				Facelet frontColor  = z == getSize() ? Facelet.RED    : Facelet.NONE;				
				Facelet bottomColor = y == 1         ? Facelet.WHITE  : Facelet.NONE;	
				Facelet topColor    = y == getSize() ? Facelet.YELLOW : Facelet.NONE;
				Facelet backColor   = z == 1         ? Facelet.ORANGE : Facelet.NONE;
				
				int x = 1;
				
				ThreeDimCoordinate coord = new ThreeDimCoordinate(x, y, z);
				Cubie cube = new Cubie(getSize(), coord, frontColor, Facelet.BLUE, Facelet.NONE, bottomColor, topColor, backColor);
				config.add(cube);
				
				for (x = 2; x < getSize(); x++) {
					ThreeDimCoordinate centerCoord = new ThreeDimCoordinate(x, y, z);
					Cubie centerCube = new Cubie(getSize(), centerCoord, frontColor, Facelet.NONE, Facelet.NONE, bottomColor, topColor, backColor);
					config.add(centerCube);
				}
				
				ThreeDimCoordinate lastCoord = new ThreeDimCoordinate(x, y, z);
				Cubie lastCube = new Cubie(getSize(), lastCoord, frontColor, Facelet.NONE, Facelet.GREEN, bottomColor, topColor, backColor);
				config.add(lastCube);
			}
		}		
		
	}