public static List<TerritoireCase> createTerritoires(int nbPlayer) {
		List<TerritoireCase> terris = new LinkedList<TerritoireCase>();
		
		try {
			// Creation des territoires
			PreparedStatement ps = conn.prepareStatement("SELECT * FROM territoire WHERE plateau = ?");
			ps.setInt(1, nbPlayer);
			
			ResultSet rs = ps.executeQuery();
			
			HashMap<Integer, Territoire> territoires = new HashMap<Integer, Territoire>();
			
			while (rs.next()) {
				Rectangle r = new Rectangle(rs.getInt("x"), rs.getInt("y"), rs.getInt("w"), rs.getInt("h"));
				TerritoireCase tc = new TerritoireCase(r);
				
				Territoire t = new Territoire();
				t.setEnBordure(rs.getBoolean("enbordure"));
				t.setNbUnite(rs.getInt("tribuoubliee"));
				//t.setNom(rs.getString("name")); TODO : Virer l'attribut dans la DB / ajouter l'attribut dans le classe
				
				tc.setTerritoire(t);
				
				territoires.put(rs.getInt("uid"), t);
				terris.add(tc);
			}
			
			rs.close();
			ps.close();
			
			// Creation des adjacences
			ps = conn.prepareStatement("SELECT * FROM adjacence WHERE plateau = ?");
			ps.setInt(1, nbPlayer);
			
			rs = ps.executeQuery();
			
			while (rs.next()) {
				Territoire t1 = territoires.get(rs.getInt("uid_t1"));
				Territoire t2 = territoires.get(rs.getInt("uid_t2"));
				
				t1.addTerritoireAdjacent(t2);
				t2.addTerritoireAdjacent(t1);
			}
			
			rs.close();
			ps.close();
			
			// TODO éléments
			ps = conn.prepareStatement("SELECT * FROM elements WHERE plateau = ?");
			ps.setInt(1, nbPlayer);
			
			rs = ps.executeQuery();
			
			while (rs.next()) {
				Territoire t = territoires.get(rs.getInt("territoire"));
				String elm = rs.getString("nom");
				
				Class<?> elmClass = Element.ELEMENTS.get(elm);
				
				if (elmClass != null) {
					t.addElement((Element) elmClass.getConstructor(Territoire.class).newInstance(t)); // TODO : Simplifier en supprimant l'argument du constructeur ?
				}
			}
			
			rs.close();
			ps.close();
		}
		catch (Exception e) {
			e.printStackTrace();
		}
		
		return terris;
	}