@Override
	public List<Computer> getComputers(final int debut, final int nombre,
			final SqlRequestOptions sqlRequestOptions) {
		Session session = sessionFactory.getCurrentSession();

		List<Computer> liste = new ArrayList<Computer>();

		Criteria criteria = session.createCriteria(Computer.class);
		if (sqlRequestOptions.getFilter() != null
				&& !sqlRequestOptions.getFilter().isEmpty())
			criteria.add(Restrictions.like("name",
					"%" + sqlRequestOptions.getFilter() + "%"));
		criteria.setMaxResults(nombre);
		criteria.setFirstResult(debut);

		Criteria criteria2;

		if (sqlRequestOptions.getSqlOrder().equals("ASC")) {

			if (!sqlRequestOptions.getSqlTri().equals("companyName"))
				criteria.addOrder(Order.asc(sqlRequestOptions.getSqlTri()));

			else {
				criteria2 = criteria.createCriteria("company");
				criteria2.addOrder(Order.asc("name"));
			}
		} else if (!sqlRequestOptions.getSqlTri().equals("companyName"))
			criteria.addOrder(Order.desc(sqlRequestOptions.getSqlTri()));

		else {
			criteria2 = criteria.createCriteria("company");
			criteria2.addOrder(Order.desc("name"));
		}

		liste = (List<Computer>) criteria.list();

		return liste;
	}