/**
  * Fonction appellée lors de la sélection d'une sous famille. Affiche ces produits
  *
  * @param sousFamilleSelectionnee La famille que l'utilisateur a sélectionné
  */
 public void selectionSousFamille(Famille sousFamilleSelectionnee) {
   logger.debug("Nouvelle sous famille selectionnes:" + sousFamilleSelectionnee.getNomFamille());
   try {
     List<ProduitReferenceDto> listeProduit =
         listeProduitsCoordinateur.listerProduitsReference(
             sousFamilleSelectionnee.getNomFamille());
     listeProduitsModel.getProduits().clear();
     for (ProduitReferenceDto produitReferenceDto : listeProduit) {
       String descriptionCourte = produitReferenceDto.getDescriptionCourte();
       if (descriptionCourte.length() > 40) {
         descriptionCourte = descriptionCourte.substring(0, 36);
       }
       listeProduitsModel
           .getProduits()
           .add(
               listeProduitsModel
               .new Produit(
                   produitReferenceDto.getIdProduit(),
                   produitReferenceDto.getNom(),
                   produitReferenceDto.getReference(),
                   produitReferenceDto.getUrlImgIconeProduit(),
                   descriptionCourte));
     }
     if (listeProduitsModel.getProduits().size() > 0) {
       listeProduitsModel.setAfficherProduits(true);
     } else {
       listeProduitsModel.setAfficherProduits(false);
     }
   } catch (TechnicalException e) {
     e.printStackTrace();
     // TODO Rediriger vers écran erreur technique
   }
 }
 /**
  * Fonction appellée lors de la sélection d'une famille. Affiche ces sous famille
  *
  * @param familleSelectionnee La famille que l'utilisateur a sélectionné
  */
 public void selectionFamille(Famille familleSelectionnee) {
   logger.debug("Nouvelle famille sélectionnes:" + familleSelectionnee.getNomFamille());
   try {
     listeProduitsModel.getSousFamille().clear();
     List<ProduitSousFamilleDto> sousFamille =
         listeProduitsCoordinateur.listerSousFamille(familleSelectionnee.getNomFamille());
     for (ProduitSousFamilleDto produitSousFamilleDto : sousFamille) {
       listeProduitsModel
           .getSousFamille()
           .add(
               listeProduitsModel
               .new Famille(
                   produitSousFamilleDto.getNomFamille(), produitSousFamilleDto.getUrlImage()));
     }
   } catch (TechnicalException e) {
     e.printStackTrace();
     // TODO Rediriger vers écran erreur technique
   }
   listeProduitsModel.setAfficherSousFamille(true);
 }
 public void init() {
   if (!FacesContext.getCurrentInstance().isPostback()) {
     listeProduitsModel.setAfficherSousFamille(false);
     listeProduitsModel.setAfficherProduits(false);
     lectureParamsContexte();
     try {
       listeProduitsModel.getFamille().clear();
       List<ProduitFamilleDto> famille = listeProduitsCoordinateur.listerFamille();
       for (ProduitFamilleDto produitFamilleDto : famille) {
         listeProduitsModel
             .getFamille()
             .add(
                 listeProduitsModel
                 .new Famille(produitFamilleDto.getNomFamille(), produitFamilleDto.getUrlImage()));
       }
     } catch (TechnicalException e) {
       e.printStackTrace();
       // TODO Rediriger vers écran erreur technique
     }
   }
 }