/**
   * @param name
   * @param listType
   * @param sort
   * @param page
   * @param siteId
   * @return
   * @throws ValidationException
   */
  @PreAuthorize(
      "@tiiltaAuthorization.hasPermission('TemplatingDjango', @userService.getConnected())")
  @RequestMapping(value = "/bender/{siteId:.+}/resource/search", method = RequestMethod.GET)
  @ResponseBody
  public List<BenderResource> getResourceByNameOrTypes(
      @RequestParam(value = "name") String name,
      @RequestParam(value = "type", required = false) List<String> listType,
      @RequestParam(value = "sort", required = false) List<String> sort,
      @RequestParam(value = "page", required = false) Integer page,
      @PathVariable("siteId") String siteId)
      throws ValidationException {

    Site site = siteService.getSite(siteId);
    if (site == null) {
      throw new ValidationException("le site est inconnu");
    }

    List<BenderResource> listResourceDTO = new ArrayList<>();
    // par défaut on affiche la première page
    if (page == null) {
      page = 0;
    }

    List<BenderResourceDO> listResource =
        benderService.getListResourcesByNameOrType(name, listType, sort, page, siteId);

    for (BenderResourceDO resource : listResource) {
      listResourceDTO.add(BenderResourceDO.getResourceDTO(resource));
    }
    return listResourceDTO;
  }