public function getDerniersEvenementsParCategorie($nbAdressesParEncart = 5, $params = array())
 {
     // ville de Strasbourg par defaut
     $sqlWhere = "AND v.idVille=1";
     if (isset($params['idVille']) && $params['idVille'] != '') {
         $sqlWhere = "AND v.idVille=" . $params['idVille'];
     }
     $reqEvenements = "\n\n            SELECT  he1.idEvenement as idEvenement, he1.dateCreationEvenement as dateCreationEvenement,he1.dateDebut as dateDebut,extract(YEAR FROM he1.dateDebut) as annneeDebut, he1.idTypeEvenement as idTypeEvenement,\n                    ha1.idAdresse as idAdresse, ha1.date as dateAdresse, ha1.numero as numero, ha1.idRue as idRue, ha1.idQuartier as idQuartier,\n                    ha1.idSousQuartier as idSousQuartier, ha1.idPays as idPays, ha1.idVille as idVille, ha1.idIndicatif as idIndicatif,\n\n                                        r.nom as nomRue,\n                                        q.nom as nomQuartier,\n                                        sq.nom as nomSousQuartier,\n                                        v.nom as nomVille,\n                                        r.prefixe as prefixeRue,\n                    ae.idEvenement as idEvenementGroupeAdresses\n\n\n            FROM historiqueEvenement he2, historiqueEvenement he1\n            RIGHT JOIN _evenementEvenement ee ON ee.idEvenementAssocie = he1.idEvenement\n            RIGHT JOIN _adresseEvenement ae ON ae.idEvenement = ee.idEvenement\n            RIGHT JOIN historiqueAdresse ha1 ON ha1.idAdresse = ae.idAdresse\n            RIGHT JOIN historiqueAdresse ha2 ON ha2.idAdresse = ha1.idAdresse\n\n            LEFT JOIN typeEvenement te ON te.idTypeEvenement = he1.idTypeEvenement\n\n            LEFT JOIN rue r         ON r.idRue = ha1.idRue\n            LEFT JOIN sousQuartier sq   ON sq.idSousQuartier = IF(ha1.idRue='0' and ha1.idSousQuartier!='0' ,ha1.idSousQuartier ,r.idSousQuartier )\n            LEFT JOIN quartier q        ON q.idQuartier = IF(ha1.idRue='0' and ha1.idSousQuartier='0' and ha1.idQuartier!='0' ,ha1.idQuartier ,sq.idQuartier )\n            LEFT JOIN ville v       ON v.idVille = IF(ha1.idRue='0' and ha1.idSousQuartier='0' and ha1.idQuartier='0' and ha1.idVille!='0' ,ha1.idVille ,q.idVille )\n            LEFT JOIN pays p        ON p.idPays = IF(ha1.idRue='0' and ha1.idSousQuartier='0' and ha1.idQuartier='0' and ha1.idVille='0' and ha1.idPays!='0' ,ha1.idPays ,v.idPays )\n\n\n\n            WHERE he2.idEvenement = he1.idEvenement\n\n            " . $sqlWhere . "\n\n            GROUP BY he1.idEvenement,ha1.idAdresse, he1.idHistoriqueEvenement, ha1.idHistoriqueAdresse\n            HAVING he1.idHistoriqueEvenement = max(he2.idHistoriqueEvenement) AND ha1.idHistoriqueAdresse = max(ha2.idHistoriqueAdresse)\n            ORDER BY he1.dateCreationEvenement DESC\n        ";
     //,dateCreationEvenement DESC,dateAdresse DESC
     echo $reqEvenements . "<br/>";
     /*
                         LEFT JOIN rue r ON r.idRue = ha1.idRue
                 LEFT JOIN sousQuartier sq ON sq.idSousQuartier = ha1.idSousQuartier
                 LEFT JOIN quartier q ON q.idQuartier = ha1.idQuartier
                 LEFT JOIN ville v ON v.idVille = ha1.idVille
     */
     $resEvenements = $this->connexionBdd->requete($reqEvenements);
     $tabAdressesEvenementsAffichees = array();
     // tableau contenant les idAdresses qu'il ne faudra pas reafficher
     $tabEvenementGroupeAdressesAffichees = array();
     // on ne reaffiche pas les adresses appartenant au meme groupe d'adresse sinon redondance au niveau de certain titre lors de l'affichage (adresses différentes mais titre identiques)
     $tabConstruction = array();
     $tabDemolition = array();
     $tabCulturel = array();
     $tabDernieresAdresses = array();
     $tabAdressesNouvellesAdressesAffichees = array();
     $isPhotoContruction = false;
     $isPhotoDemolition = false;
     $isPhotoCulturel = false;
     $image = new archiImage();
     while ($fetchEvenements = mysql_fetch_assoc($resEvenements)) {
         //if(!in_array($fetchEvenements['idAdresse'],$tabAdressesEvenementsAffichees))
         //{
         //$this->getUrlImage("moyen")."/".$fetchEvenements['dateUpload']."/".$fetchEvenements['idHistoriqueImage'].".jpg"
         $positionEvenement = $this->getPositionFromEvenement($fetchEvenements['idEvenement']);
         $infosAdresseCourante = array("idAdresse" => $fetchEvenements['idAdresse'], "idIndicatif" => $fetchEvenements['idIndicatif'], "numero" => $fetchEvenements['numero'], "nomRue" => $fetchEvenements['nomRue'], "nomQuartier" => $fetchEvenements['nomQuartier'], "nomSousQuartier" => $fetchEvenements['nomSousQuartier'], "nomVille" => $fetchEvenements['nomVille'], "prefixeRue" => $fetchEvenements['prefixeRue'], "dateCreationEvenement" => $fetchEvenements['dateCreationEvenement'], "positionEvenement" => $positionEvenement, "idEvenement" => $fetchEvenements['idEvenement'], "idEvenementGroupeAdresse" => $fetchEvenements['idEvenementGroupeAdresses']);
         //"titreEvenement"=>$fetchEvenements['titreEvenement'],
         //"description"=>$fetchEvenements['descriptionEvenement'],
         //"idHistoriqueImage"=>$fetchEvenements['idHistoriqueImage'],
         //"dateUpload"=>$fetchEvenements['dateUpload'],
         switch ($fetchEvenements['idTypeEvenement']) {
             // TRAVAUX OU NOUVELLE ADRESSE suivant l'annee
             case '1':
                 // construction
                 if ($fetchEvenements['annneeDebut'] == date('Y')) {
                     // TRAVAUX
                     if (!in_array($fetchEvenements['idAdresse'], $tabAdressesEvenementsAffichees) && !in_array($fetchEvenements['idEvenementGroupeAdresses'], $tabEvenementGroupeAdressesAffichees)) {
                         //if(count($tabConstruction)<5)
                         //{
                         $tabConstruction[] = $infosAdresseCourante;
                         $tabAdressesEvenementsAffichees[] = $fetchEvenements['idAdresse'];
                         $tabEvenementGroupeAdressesAffichees[] = $fetchEvenements['idEvenementGroupeAdresses'];
                         //}
                         $reqImages = $image->getImagesEvenementsFromAdresse($fetchEvenements['idAdresse'], array('idEvenementGroupeAdresse' => $fetchEvenements['idEvenementGroupeAdresses']));
                         if (mysql_num_rows($reqImages) > 0) {
                             $isPhotoContruction = true;
                         }
                     }
                 } else {
                     // NOUVELLES ADRESSES
                     /*if(!in_array($fetchEvenements['idAdresse'],$tabAdressesEvenementsAffichees))
                       {
                           if(count($tabDernieresAdresses)<5)
                           {
                               $tabDernieresAdresses = $infosAdresseCourante;
                               $tabAdressesEvenementsAffichees[] = $fetchEvenements['idAdresse'];
                               $tabAdressesNouvellesAdressesAffichees[] = $fetchEvenements['idAdresse'];
                           }
                       }*/
                 }
                 // TRAVAUX
                 break;
             case '2':
                 // renovation
             // renovation
             case '3':
                 // extension
             // extension
             case '4':
                 // transformation
             // transformation
             case '5':
                 // ravalement
                 //if($fetchEvenements['annneeDebut']==date('Y'))
                 //{
                 // TRAVAUX
                 if (!in_array($fetchEvenements['idAdresse'], $tabAdressesEvenementsAffichees) && !in_array($fetchEvenements['idEvenementGroupeAdresses'], $tabEvenementGroupeAdressesAffichees)) {
                     //if(count($tabConstruction)<5)
                     //{
                     $tabConstruction[] = $infosAdresseCourante;
                     $tabAdressesEvenementsAffichees[] = $fetchEvenements['idAdresse'];
                     $tabEvenementGroupeAdressesAffichees[] = $fetchEvenements['idEvenementGroupeAdresses'];
                     //}
                     $reqImages = $image->getImagesEvenementsFromAdresse($fetchEvenements['idAdresse'], array('idEvenementGroupeAdresse' => $fetchEvenements['idEvenementGroupeAdresses']));
                     if (mysql_num_rows($reqImages) > 0) {
                         $isPhotoContruction = true;
                     }
                 }
                 //}
                 break;
                 // DEMOLITIONS
             // DEMOLITIONS
             case '6':
                 // demolition
                 if (!in_array($fetchEvenements['idAdresse'], $tabAdressesEvenementsAffichees) && !in_array($fetchEvenements['idEvenementGroupeAdresses'], $tabEvenementGroupeAdressesAffichees)) {
                     //if(count($tabDemolition)<5)
                     //{
                     $tabDemolition[] = $infosAdresseCourante;
                     $tabAdressesEvenementsAffichees[] = $fetchEvenements['idAdresse'];
                     $tabEvenementGroupeAdressesAffichees[] = $fetchEvenements['idEvenementGroupeAdresses'];
                     //}
                     $reqImages = $image->getImagesEvenementsFromAdresse($fetchEvenements['idAdresse'], array('idEvenementGroupeAdresse' => $fetchEvenements['idEvenementGroupeAdresses']));
                     if (mysql_num_rows($reqImages) > 0) {
                         $isPhotoDemolition = true;
                     }
                 }
                 break;
                 // EVENEMENTS CULTURELS
             // EVENEMENTS CULTURELS
             case '14':
                 // visite exceptionnelle
             // visite exceptionnelle
             case '13':
                 // portes ouvertes
             // portes ouvertes
             case '12':
                 // inauguration
             // inauguration
             case '15':
                 // fête
             // fête
             case '16':
                 // Journée du Patrimoine
             // Journée du Patrimoine
             case '18':
                 // Journée du bâtiment
             // Journée du bâtiment
             case '19':
                 // Exposition
             // Exposition
             case '20':
                 // Information (Nouveautés)
                 if (!in_array($fetchEvenements['idAdresse'], $tabAdressesEvenementsAffichees) && !in_array($fetchEvenements['idEvenementGroupeAdresses'], $tabEvenementGroupeAdressesAffichees)) {
                     //if(count($tabCulturel)<5)
                     //{
                     $tabCulturel[] = $infosAdresseCourante;
                     $tabAdressesEvenementsAffichees[] = $fetchEvenements['idAdresse'];
                     $tabEvenementGroupeAdressesAffichees[] = $fetchEvenements['idEvenementGroupeAdresses'];
                     //}
                     $reqImages = $image->getImagesEvenementsFromAdresse($fetchEvenements['idAdresse'], array('idEvenementGroupeAdresse' => $fetchEvenements['idEvenementGroupeAdresses']));
                     if (mysql_num_rows($reqImages) > 0) {
                         $isPhotoCulturel = true;
                     }
                 }
                 break;
         }
         //}
         if (count($tabConstruction) >= 5 && count($tabDemolition) >= 5 && count($tabCulturel) >= 5 && $isPhotoCulturel && $isPhotoDemolition && $isPhotoContruction) {
             break;
         }
     }
     $tabAdressesEvenementsAffichees = array_unique($tabAdressesEvenementsAffichees);
     $sqlAdressesExclues = "";
     if (count($tabAdressesEvenementsAffichees) > 0) {
         $sqlAdressesExclues = " AND ha1.idAdresse NOT IN ('" . implode("','", $tabAdressesEvenementsAffichees) . "') ";
     }
     // 2 - les dernieres adresses ajoutées moins celles deja affichées dans les rubriques précédentes
     /*$reqAdresses = "
                 SELECT  ha1.idAdresse as idAdresse, ha1.numero as numero, ha1.idRue as idRue , ha1.idQuartier as idQuartier, ha1.idSousQuartier as idSousQuartier,
                         ha1.idVille as idVille,ha1.idPays as idPays, ha1.idIndicatif as idIndicatif,ha1.date as dateCreationAdresse,hi1.idHistoriqueImage as idHistoriqueImage, hi1.dateUpload as dateUpload, hi1.idHistoriqueImage,hi1.idImage,
     
                                             r.nom as nomRue,
                                             q.nom as nomQuartier,
                                             sq.nom as nomSousQuartier,
                                             v.nom as nomVille,
                                             r.prefixe as prefixeRue,ha1.date as date
     
     
     
                 FROM historiqueAdresse ha2, historiqueAdresse ha1
                 LEFT JOIN _adresseEvenement ae ON ae.idAdresse = ha1.idAdresse
                 LEFT JOIN _evenementEvenement ee ON ee.idEvenement = ae.idEvenement
     
     
     
                 LEFT JOIN historiqueEvenement he1 ON he1.idEvenement = ee.idEvenementAssocie
                 LEFT JOIN historiqueEvenement he2 ON he2.idEvenement = he1.idEvenement
                 LEFT JOIN _evenementImage ei ON ei.idEvenement = he1.idEvenement
                 LEFT JOIN _evenementImage ei2 ON ei2.idEvenement = he1.idEvenement
                 LEFT JOIN historiqueImage hi1 ON hi1.idImage = ei.idImage
                 LEFT JOIN historiqueImage hi2 ON hi2.idImage = hi1.idImage
     
     
     
                 LEFT JOIN rue r         ON r.idRue = ha1.idRue
                 LEFT JOIN sousQuartier sq   ON sq.idSousQuartier = IF(ha1.idRue='0' and ha1.idSousQuartier!='0' ,ha1.idSousQuartier ,r.idSousQuartier )
                 LEFT JOIN quartier q        ON q.idQuartier = IF(ha1.idRue='0' and ha1.idSousQuartier='0' and ha1.idQuartier!='0' ,ha1.idQuartier ,sq.idQuartier )
                 LEFT JOIN ville v       ON v.idVille = IF(ha1.idRue='0' and ha1.idSousQuartier='0' and ha1.idQuartier='0' and ha1.idVille!='0' ,ha1.idVille ,q.idVille )
                 LEFT JOIN pays p        ON p.idPays = IF(ha1.idRue='0' and ha1.idSousQuartier='0' and ha1.idQuartier='0' and ha1.idVille='0' and ha1.idPays!='0' ,ha1.idPays ,v.idPays )
     
     
                 WHERE ha2.idAdresse = ha1.idAdresse
                 ".$sqlWhere."
                 ".$sqlAdressesExclues."
                 GROUP BY ha1.idAdresse ,he1.idEvenement,hi1.idImage, ha1.idHistoriqueAdresse, he1.idHistoriqueEvenement, hi1.idHistoriqueImage,ei.position
                 HAVING ha1.idHistoriqueAdresse = max(ha2.idHistoriqueAdresse) and he1.idHistoriqueEvenement = max(he2.idHistoriqueEvenement) and hi1.idHistoriqueImage = max(hi2.idHistoriqueImage) AND ei.position = min(ei2.position)
                 ORDER BY ha1.date DESC
             ";
             */
     //
     $reqAdresses = "\n            SELECT  ha1.idAdresse as idAdresse, ha1.date as dateCreationAdresse,ha1.numero as numero, ha1.idRue as idRue , ha1.idQuartier as idQuartier, ha1.idSousQuartier as idSousQuartier,\n                    ha1.idVille as idVille,ha1.idPays as idPays, ha1.idIndicatif as idIndicatif,\n\n                                        r.nom as nomRue,\n                                        q.nom as nomQuartier,\n                                        sq.nom as nomSousQuartier,\n                                        v.nom as nomVille,\n                                        r.prefixe as prefixeRue,ha1.date as date,\n                        ae.idEvenement as idEvenementGroupeAdresses\n\n\n\n            FROM historiqueAdresse ha2, historiqueAdresse ha1\n            LEFT JOIN _adresseEvenement ae ON ae.idAdresse = ha1.idAdresse\n            LEFT JOIN _evenementEvenement ee ON ee.idEvenement = ae.idEvenement\n\n\n\n            LEFT JOIN historiqueEvenement he1 ON he1.idEvenement = ee.idEvenementAssocie\n            LEFT JOIN historiqueEvenement he2 ON he2.idEvenement = he1.idEvenement\n\n\n\n            LEFT JOIN rue r         ON r.idRue = ha1.idRue\n            LEFT JOIN sousQuartier sq   ON sq.idSousQuartier = IF(ha1.idRue='0' and ha1.idSousQuartier!='0' ,ha1.idSousQuartier ,r.idSousQuartier )\n            LEFT JOIN quartier q        ON q.idQuartier = IF(ha1.idRue='0' and ha1.idSousQuartier='0' and ha1.idQuartier!='0' ,ha1.idQuartier ,sq.idQuartier )\n            LEFT JOIN ville v       ON v.idVille = IF(ha1.idRue='0' and ha1.idSousQuartier='0' and ha1.idQuartier='0' and ha1.idVille!='0' ,ha1.idVille ,q.idVille )\n            LEFT JOIN pays p        ON p.idPays = IF(ha1.idRue='0' and ha1.idSousQuartier='0' and ha1.idQuartier='0' and ha1.idVille='0' and ha1.idPays!='0' ,ha1.idPays ,v.idPays )\n\n\n            WHERE ha2.idAdresse = ha1.idAdresse\n            " . $sqlWhere . "\n            " . $sqlAdressesExclues . "\n            GROUP BY ha1.idAdresse ,he1.idEvenement, ha1.idHistoriqueAdresse, he1.idHistoriqueEvenement\n            HAVING ha1.idHistoriqueAdresse = max(ha2.idHistoriqueAdresse) and he1.idHistoriqueEvenement = max(he2.idHistoriqueEvenement)\n            ORDER BY ha1.date DESC\n        ";
     $resAdresses = $this->connexionBdd->requete($reqAdresses);
     $image = new archiImage();
     $isImageAdresses = false;
     while ($fetchAdresses = mysql_fetch_assoc($resAdresses)) {
         if (!in_array($fetchAdresses['idAdresse'], $tabAdressesNouvellesAdressesAffichees) && !in_array($fetchAdresses['idEvenementGroupeAdresses'], $tabEvenementGroupeAdressesAffichees)) {
             $tabAdressesNouvellesAdressesAffichees[] = $fetchAdresses['idAdresse'];
             $tabEvenementGroupeAdressesAffichees[] = $fetchAdresses['idEvenementGroupeAdresses'];
             //$this->getUrlImage("moyen")."/".$fetchAdresses['dateUpload']."/".$fetchAdresses['idHistoriqueImage'].".jpg"
             $infosAdresseCourante = array("idAdresse" => $fetchAdresses['idAdresse'], "idIndicatif" => $fetchAdresses['idIndicatif'], "numero" => $fetchAdresses['numero'], "nomRue" => $fetchAdresses['nomRue'], "nomQuartier" => $fetchAdresses['nomQuartier'], "nomSousQuartier" => $fetchAdresses['nomSousQuartier'], "nomVille" => $fetchAdresses['nomVille'], "prefixeRue" => $fetchAdresses['prefixeRue'], "idEvenementGroupeAdresse" => $fetchAdresses['idEvenementGroupeAdresses'], "dateCreationAdresse" => $fetchAdresses['dateCreationAdresse']);
             // ,"description"=>""
             $tabDernieresAdresses[] = $infosAdresseCourante;
         }
         $resImages = $image->getImagesEvenementsFromAdresse($fetchAdresses['idAdresse']);
         if (mysql_num_rows($resImages) > 0) {
             $isImageAdresses = true;
         }
         if (count($tabDernieresAdresses) >= 25 && $isImageAdresses) {
             break;
         }
     }
     // il faut maintenant parcourir les tableaux pour afficher les images de facon correcte
     $image = new archiImage();
     $indiceElementPremierePosition = array();
     $imageElementPremierePosition = array();
     // *******************************************************************************
     // recuperation de l'image qui sera affichée pour les demolitions
     $trouveImageDemolition = false;
     $i = 0;
     $tab5Demolitions = array();
     foreach ($tabDemolition as $indice => $value) {
         if (!$trouveImageDemolition) {
             if (!isset($value['idHistoriqueImage']) || $value['idHistoriqueImage'] == '0') {
                 // ici on recherche une autre image pour la meme adresse car il n'y en avait pas sur l'evenement concerné
                 //$resImagesDemolitionFromAdresse = $image->getImagesEvenementsFromAdresse($value['idAdresse']);
                 //$fetchImageDemolition = mysql_fetch_assoc($resImagesDemolitionFromAdresse);
                 $fetch = $this->getFirstImageFromEvenement($value['idEvenement']);
                 if (isset($fetch['idHistoriqueImage']) && $fetch['idHistoriqueImage'] != '' && $fetch['idHistoriqueImage'] != '0') {
                     $imageElementPremierePosition['demolition'] = $fetch;
                     //array('idHistoriqueImage'=> $fetchImageDemolition['idHistoriqueImage'], 'dateUpload'=>$fetchImageDemolition['dateUpload'] );
                     //$indiceElementPremierePosition['demolition'] = $indice;
                     $trouveImageDemolition = true;
                     $tab5Demolitions[0] = $value;
                     $indiceElementPremierePosition['demolition'] = 0;
                 } else {
                     $trouveImageDemolition = false;
                 }
             }
             /*else
               {
                   $trouveImageDemolition=true;
                   $imageElementPremierePosition['demolition'] = array('idHistoriqueImage'=> $value['idHistoriqueImage'], 'dateUpload'=>$value['dateUpload'] );
                   $indiceElementPremierePosition['demolition'] = $indice;
               }*/
         }
         $i++;
     }
     // si l'on a pas trouvé d'image sur les evenements on va en chercher au niveau de tous les evenements de l'adresse
     $trouveImageDemolitionSurAdresse = false;
     if (!$trouveImageDemolition) {
         foreach ($tabDemolition as $indice => $value) {
             if (!$trouveImageDemolitionSurAdresse) {
                 $resImagesDemolitionFromAdresse = $image->getImagesEvenementsFromAdresse($value['idAdresse'], array('idEvenementGroupeAdresse' => $value['idEvenementGroupeAdresse']));
                 if (mysql_num_rows($resImagesDemolitionFromAdresse) > 0) {
                     $fetch = mysql_fetch_assoc($resImagesDemolitionFromAdresse);
                     $imageElementPremierePosition['demolition'] = $fetch;
                     //$indiceElementPremierePosition['demolition'] = $indice;
                     $trouveImageDemolitionSurAdresse = true;
                     $tab5Demolitions[0] = $value;
                     $indiceElementPremierePosition['demolition'] = 0;
                 }
             }
         }
     }
     // on recupere l'evenement qui comporte l'image et on limite le tableau en sortie a 5
     $i = 1;
     if ($trouveImageDemolitionSurAdresse || $trouveImageDemolition) {
         // en principe maintenant c'est toujours possible , vu qu'on parcours tout et on s'arrete seulement s'il y a une image dans la boucle précédente
         foreach ($tabDemolition as $indice => $value) {
             if ($i > 4) {
                 break;
             } else {
                 if ($value['idEvenementGroupeAdresse'] != $tab5Demolitions[0]['idEvenementGroupeAdresse']) {
                     // le tableau d'indice 0 est deja renseigne
                     $tab5Demolitions[$i] = $value;
                     $i++;
                 }
             }
         }
     }
     // *******************************************************************************
     // recuperation de l'image qui sera affichee pour les derniers travaux
     $trouveImageConstruction = false;
     $i = 0;
     $tab5Constructions = array();
     foreach ($tabConstruction as $indice => $value) {
         if (!$trouveImageConstruction) {
             if (!isset($value['idHistoriqueImage']) || $value['idHistoriqueImage'] == '0') {
                 // ici on recherche une autre image pour la meme adresse car il n'y en avait pas sur l'evenement concerné
                 //$resImagesConstructionFromAdresse = $image->getImagesEvenementsFromAdresse($value['idAdresse']);
                 //$fetchImageConstruction = mysql_fetch_assoc($resImagesConstructionFromAdresse);
                 $fetch = $this->getFirstImageFromEvenement($value['idEvenement']);
                 if (isset($fetch['idHistoriqueImage']) && $fetch['idHistoriqueImage'] != '' && $fetch['idHistoriqueImage'] != '0') {
                     $imageElementPremierePosition['construction'] = $fetch;
                     //array('idHistoriqueImage'=> $fetchImageConstruction['idHistoriqueImage'], 'dateUpload'=>$fetchImageConstruction['dateUpload'] );
                     //$indiceElementPremierePosition['construction'] = $indice;
                     $trouveImageConstruction = true;
                     $tab5Constructions[0] = $value;
                     $indiceElementPremierePosition['construction'] = 0;
                 } else {
                     $trouveImageConstruction = false;
                 }
             }
             /*else
               {
                   $trouveImageConstruction=true;
                   $imageElementPremierePosition['construction'] = array('idHistoriqueImage'=> $value['idHistoriqueImage'], 'dateUpload'=>$value['dateUpload'] );
                   $indiceElementPremierePosition['construction'] = $indice;
               }*/
         }
         $i++;
     }
     // si l'on a pas trouvé d'image sur les evenements on va en chercher au niveau de tous les evenements de l'adresse
     $trouveImageConstructionSurAdresse = false;
     if (!$trouveImageConstruction) {
         foreach ($tabConstruction as $indice => $value) {
             if (!$trouveImageConstructionSurAdresse) {
                 $resImagesConstructionFromAdresse = $image->getImagesEvenementsFromAdresse($value['idAdresse'], array('idEvenementGroupeAdresse' => $value['idEvenementGroupeAdresse']));
                 if (mysql_num_rows($resImagesConstructionFromAdresse) > 0) {
                     $fetch = mysql_fetch_assoc($resImagesConstructionFromAdresse);
                     $imageElementPremierePosition['construction'] = $fetch;
                     //$indiceElementPremierePosition['construction'] = $indice;
                     $trouveImageConstructionSurAdresse = true;
                     $tab5Constructions[0] = $value;
                     $indiceElementPremierePosition['construction'] = 0;
                 }
             }
         }
     }
     // on recupere l'evenement qui comporte l'image et on limite le tableau en sortie a 5
     $i = 1;
     // en principe maintenant c'est toujours possible, vu qu'on parcours tout et on s'arrete seulement s'il y a une image dans la boucle précédente
     if ($trouveImageConstructionSurAdresse || $trouveImageConstruction) {
         foreach ($tabConstruction as $indice => $value) {
             if ($i > 4) {
                 break;
             } else {
                 if (isset($tab5Constructions[0]) && $value['idEvenementGroupeAdresse'] != $tab5Constructions[0]['idEvenementGroupeAdresse']) {
                     $tab5Constructions[$i] = $value;
                     $i++;
                 }
             }
         }
     }
     // *******************************************************************************
     // recuperation de l'image qui sera affichee pour les derniers evenements culturels
     $trouveImageCulturel = false;
     $i = 0;
     $tab5Culturel = array();
     foreach ($tabCulturel as $indice => $value) {
         if (!$trouveImageCulturel) {
             if (!isset($value['idHistoriqueImage']) || $value['idHistoriqueImage'] == '0') {
                 // ici on recherche une autre image pour la meme adresse car il n'y en avait pas sur l'evenement concerné
                 //$resImagesCulturelFromAdresse = $this->getFirstImageFromEvenement($value['idEvenement']);//$image->getImagesEvenementsFromAdresse($value['idAdresse']);
                 //$fetchImageCulturel = mysql_fetch_assoc($resImagesCulturelFromAdresse);
                 $fetch = $this->getFirstImageFromEvenement($value['idEvenement']);
                 if (isset($fetch['idHistoriqueImage']) && $fetch['idHistoriqueImage'] != '' && $fetch['idHistoriqueImage'] != '0') {
                     $imageElementPremierePosition['culturel'] = $fetch;
                     //$this->getFirstImageFromEvenement($value['idEvenement']);//array('idHistoriqueImage'=> $fetchImageCulturel['idHistoriqueImage'], 'dateUpload'=>$fetchImageCulturel['dateUpload'] );
                     //$indiceElementPremierePosition['culturel'] = $indice;
                     $trouveImageCulturel = true;
                     $indiceElementPremierePosition['culturel'] = 0;
                     $tab5Culturel[0] = $value;
                 } else {
                     $trouveImageCulturel = false;
                 }
             }
             /*else
               {
                   $trouveImageCulturel=true;
                   $imageElementPremierePosition['culturel'] = array('idHistoriqueImage'=> $value['idHistoriqueImage'], 'dateUpload'=>$value['dateUpload'] );
                   $indiceElementPremierePosition['culturel'] = $indice;
               }*/
         }
         $i++;
     }
     // si l'on a pas trouvé d'image sur les evenements on va en chercher au niveau de tous les evenements de l'adresse
     $trouveImageCulturelSurAdresse = false;
     if (!$trouveImageCulturel) {
         foreach ($tabCulturel as $indice => $value) {
             if (!$trouveImageCulturelSurAdresse) {
                 $resImagesCulturelFromAdresse = $image->getImagesEvenementsFromAdresse($value['idAdresse'], array('idEvenementGroupeAdresse' => $value['idEvenementGroupeAdresse']));
                 if (mysql_num_rows($resImagesCulturelFromAdresse) > 0) {
                     $fetch = mysql_fetch_assoc($resImagesCulturelFromAdresse);
                     $imageElementPremierePosition['culturel'] = $fetch;
                     //$indiceElementPremierePosition['culturel'] = $indice;
                     $trouveImageCulturelSurAdresse = true;
                     $indiceElementPremierePosition['culturel'] = 0;
                     $tab5Culturel[0] = $value;
                 }
             }
         }
     }
     // on recupere l'evenement qui comporte l'image et on limite le tableau en sortie a 5
     $i = 1;
     if ($trouveImageCulturelSurAdresse || $trouveImageCulturel) {
         // en principe maintenant c'est toujours possible , vu qu'on parcours tout et on s'arrete seulement s'il y a une image dans la boucle précédente
         foreach ($tabCulturel as $indice => $value) {
             if ($i > 4) {
                 break;
             } else {
                 if ($value['idEvenementGroupeAdresse'] != $tab5Culturel[0]['idEvenementGroupeAdresse']) {
                     $tab5Culturel[$i] = $value;
                     $i++;
                 }
             }
         }
     }
     // *******************************************************************************
     // recuperation de l'image qui sera affichee pour les dernieres adresses ajoutées
     $trouveImageDernieresAdresses = false;
     $i = 0;
     $tab5DernieresAdresses = array();
     foreach ($tabDernieresAdresses as $indice => $value) {
         if (!$trouveImageDernieresAdresses) {
             if (!isset($value['idHistoriqueImage']) || $value['idHistoriqueImage'] == '0') {
                 // ici on recherche une autre image pour la meme adresse car il n'y en avait pas sur l'evenement concerné
                 $resImagesDernieresAdressesFromAdresse = $image->getImagesEvenementsFromAdresse($value['idAdresse']);
                 if (mysql_num_rows($resImagesDernieresAdressesFromAdresse) > 0) {
                     $fetchImageDernieresAdresses = mysql_fetch_assoc($resImagesDernieresAdressesFromAdresse);
                     $imageElementPremierePosition['dernieresAdresses'] = array('idHistoriqueImage' => $fetchImageDernieresAdresses['idHistoriqueImage'], 'dateUpload' => $fetchImageDernieresAdresses['dateUpload']);
                     //$indiceElementPremierePosition['dernieresAdresses'] = $indice;
                     $trouveImageDernieresAdresses = true;
                     //$tabDernieresAdresses[$indice]['description'] = $this->getDescriptionEvenementForDerniereAdresse($value['idAdresse']);
                     $tab5DernieresAdresses[0] = $value;
                     $tab5DernieresAdresses[0]['description'] = $this->getDescriptionEvenementForDerniereAdresse($value['idAdresse']);
                     $indiceElementPremierePosition['dernieresAdresses'] = 0;
                 }
             }
             /*else
               {
                   $trouveImageDernieresAdresses=true;
                   $imageElementPremierePosition['dernieresAdresses'] = array('idHistoriqueImage'=> $value['idHistoriqueImage'], 'dateUpload'=>$value['dateUpload'] );
                   $indiceElementPremierePosition['dernieresAdresses'] = $indice;
                   $tabDernieresAdresses[$indice]['description'] = $this->getDescriptionEvenementForDerniereAdresse($value['idAdresse']);
               }*/
         }
         $i++;
     }
     $i = 1;
     foreach ($tabDernieresAdresses as $indice => $value) {
         if ($i > 4) {
             break;
         } else {
             if ($value['idAdresse'] != $tab5DernieresAdresses[0]['idAdresse']) {
                 $tab5DernieresAdresses[$i] = $value;
                 $i++;
             }
         }
     }
     // **********************************************************************************************************************************
     // encars des dernieres vues
     $tabDernieresVues = $image->getDernieresVues(array('sqlLimit' => "LIMIT 5", 'noAdressesDoublons' => true, 'listeIdGroupesAdressesVueSurANePasAfficher' => $tabEvenementGroupeAdressesAffichees));
     // **********************************************************************************************************************************
     // encart des actualites
     $accueil = new archiAccueil();
     $tabActualites = $accueil->getDernieresActualites(array('sqlLimit' => "LIMIT 5", 'sqlWhere' => " AND desactive<>'1' "));
     return array("dernieresAdresses" => $tab5DernieresAdresses, "constructions" => $tab5Constructions, "demolitions" => $tab5Demolitions, "culture" => $tab5Culturel, "indiceEvenementsPremierePositions" => $indiceElementPremierePosition, "imagesEvenementsPremieresPositions" => $imageElementPremierePosition, "dernieresVues" => $tabDernieresVues, "actualites" => $tabActualites);
 }