public function ajouterHistoriqueAdresse($idAdresse)
 {
     $html = '';
     $authentifie = new archiAuthentification();
     $formulaire = new formGenerator();
     if ($authentifie->estConnecte()) {
         $tabForm = $this->getAdresseFields();
         if (isset($this->variablesPost['submit'])) {
             $this->connexionBdd->getLock(array('historiqueAdresse'));
             $errors = $formulaire->getArrayFromPost($tabForm);
             $this->nettoieCoordonneesAdresse($tabForm);
             // permet de garder l'id de la rue, quartier, sousQuartier le plus bas dans la hierarchie , a partir duquel on peut retrouver le reste
             if (count($errors) == 0) {
                 // on regarde si l'adresse existe deja parmis les adresses valides (non "archivees")
                 $sql = "\n\t\t\t\t\t\t\tSELECT ha.idAdresse\n\t\t\t\t\t\t\tFROM historiqueAdresse ha\n\t\t\t\t\t\t\tWHERE ha.idAdresse = " . $idAdresse . "\n\t\t\t\t\t\t\t\t\tAND\n\t\t\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\t\tha.idRue='" . mysql_escape_string($tabForm['rue']['value']) . "'\n\t\t\t\t\t\t\t\t\t\t\tAND ha.idSousQuartier='" . mysql_escape_string($tabForm['sousQuartier']['value']) . "'\n\t\t\t\t\t\t\t\t\t\t\t\t\tAND ha.idQuartier='" . mysql_escape_string($tabForm['quartier']['value']) . "'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tAND ha.idVille='" . mysql_escape_string($tabForm['ville']['value']) . "'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tAND ha.idPays='" . mysql_escape_string($tabForm['pays']['value']) . "'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tAND ha.numero = '" . mysql_escape_string($tabForm['numero']['value']) . "'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tAND ha.nom='" . mysql_escape_string($tabForm['nom']['value']) . "'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tAND ha.description='" . mysql_escape_string($tabForm['description']['value']) . "'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tOR\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tha.date='" . $this->date->toBdd($tabForm['date']['value']) . "'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t";
                 $resCheckExist = $this->connexionBdd->requete($sql);
                 if (mysql_num_rows($resCheckExist) > 0) {
                     echo "Cet enregistrement existe deja dans la base, si vous n'avez pas mis les mêmes informations, assurez vous d'avoir bien changé la date.";
                     // recuperation de l'id existant
                     $fetchAdresseExistante = mysql_fetch_array($resCheckExist);
                 } else {
                     // ajout
                     $sql = "INSERT INTO historiqueAdresse (idUtilisateur, idAdresse,date,description,nom,idRue,numero,idQuartier,idSousQuartier,idPays,idVille) VALUES (\n\t\t\t\t\t\t\t\t'" . $authentifie->getIdUtilisateur() . "',\n\t\t\t\t\t\t\t\t\t\t'" . $idAdresse . "',\n\t\t\t\t\t\t\t\t\t\t\t\t\"" . $this->date->toBdd($tabForm['date']['value']) . "\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"" . $tabForm['description']['value'] . "\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"" . $tabForm['nom']['value'] . "\",\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'" . $tabForm['rue']['value'] . "',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'" . $tabForm['numero']['value'] . "',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'" . $tabForm['quartier']['value'] . "',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'" . $tabForm['sousQuartier']['value'] . "',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'" . $tabForm['pays']['value'] . "',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'" . $tabForm['ville']['value'] . "'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)";
                     $this->connexionBdd->requete($sql);
                     $cache = new cacheObject();
                     $cache->refreshCache();
                     echo 'votre modification a bien été prise en compte';
                 }
             }
             $this->connexionBdd->freeLock(array('historiqueAdresse'));
             $html .= $this->afficheFormulaire($tabForm, $idAdresse);
         } else {
             $html .= $this->afficheFormulaire(array(), $idAdresse);
         }
     } else {
         $html .= "archiAdresse::modifier() => probleme d'authentification ou d'identifiant transmis";
     }
     return $html;
 }