/**
  * Cette fonction va appeler le generateur de formulaire qui va permettre de gerer la table voulue
  * 
  * @param array  $parametres    Paramètres
  * @param string $modeAffichage Mode d'affichage
  * 
  * @return string HTML
  * */
 public function administre($parametres = array(), $modeAffichage = 'liste')
 {
     $html = "";
     $liensExternes = array();
     $nomTable = '';
     if (isset($parametres['tableName']) && $parametres['tableName'] != '') {
         $nomTable = $parametres['tableName'];
     }
     $dependances = array();
     switch ($nomTable) {
         case "rue":
             $liensExternes = array('idSousQuartier' => array('externalLink' => true, 'externalFieldPrimaryKey' => 'idSousQuartier', 'externalTable' => 'sousQuartier', 'externalFieldToDisplay' => 'nom'));
             break;
         case "ville":
             $liensExternes = array('idPays' => array('externalLink' => true, 'externalFieldPrimaryKey' => 'idPays', 'externalTable' => 'pays', 'externalFieldToDisplay' => 'nom'));
             break;
         case "quartier":
             $liensExternes = array('idVille' => array('externalLink' => true, 'externalFieldPrimaryKey' => 'idVille', 'externalTable' => 'ville', 'externalFieldToDisplay' => 'nom'));
             break;
         case "sousQuartier":
             $liensExternes = array('idQuartier' => array('externalLink' => true, 'externalFieldPrimaryKey' => 'idQuartier', 'externalTable' => 'quartier', 'externalFieldToDisplay' => 'nom'));
             break;
         case "source":
             $liensExternes = array('idTypeSource' => array('externalLink' => true, 'externalFieldPrimaryKey' => 'idTypeSource', 'externalTable' => 'typeSource', 'externalFieldToDisplay' => 'nom'));
             $parametres = array_merge($parametres, array('afficheMiseEnFormeLongText' => true, 'displayWithBBCode' => true, 'fieldsNotInBdd' => array(0 => array('name' => 'uploadLogo', 'type' => 'uploadImageLiee', 'redimFilesAndSizesConfig' => array(0 => array('taille' => 0, 'nomFichierDestinationParametre' => "###bddField[idSource]###_original.jpg", 'repertoireDestination' => $this->getCheminPhysique() . "images/logosSources/"), 1 => array('taille' => 200, 'nomFichierDestinationParametre' => "###bddField[idSource]###.jpg", 'repertoireDestination' => $this->getCheminPhysique() . "images/logosSources/")), 'valueParametrable' => array('affichageParametre' => "<img src='" . $this->getUrlImage() . "logosSources/###bddField[idSource]###.jpg' border=0>", "cheminFichierATesterPourAffichage" => $this->getCheminPhysique() . "images/logosSources/###bddField[idSource]###.jpg"))), 'afficheDependancesInIFrameUrl' => $this->creerUrl('', 'listeAdressesFromSource', array('source' => '###currentId###', 'submit' => 'Rechercher', 'noHeaderNoFooter' => 1, 'noDescription' => 1, 'modeAdmin' => 1))));
             $dependances[0] = array('table' => 'historiqueEvenement', 'champLie' => 'idSource', 'message' => "il existe des dépendances au niveau de la table des évènements");
             $dependances[1] = array('table' => 'historiqueImage', 'champLie' => 'idSource', 'message' => "il existe des dépendances au niveau de la table des images");
             break;
         case 'typeSource':
             $dependances[0] = array('table' => 'source', 'champLie' => 'idTypeSource', 'message' => "il existe des dépendances au niveau de la table des sources");
             $parametres = array_merge($parametres, array('afficheDependancesInIFrameUrl' => $this->creerUrl('', 'listeTypeSourceDependancesSourcesAdmin', array('idTypeSource' => '###currentId###', 'noHeaderNoFooter' => 1))));
             break;
     }
     $generateur = new formGenerator();
     // est ce que l'on effectue d'abord une action ? (ajout modif suppression ?)
     if (isset($this->variablesPost['validationFormulaireAdministration'])) {
         // si le formulaire a ete validé
         // actions
         switch ($this->variablesPost['validationFormulaireAdministration']) {
             case 'modification':
                 $generateur->modifier($parametres, $liensExternes);
                 $html .= $generateur->afficheFormulaireListe($parametres, $liensExternes, $dependances);
                 break;
             case 'ajout':
                 $generateur->ajouter($parametres, $liensExternes);
                 $html .= $generateur->afficheFormulaireListe($parametres, $liensExternes);
                 break;
             case 'suppression':
                 $generateur->supprimer($parametres, $liensExternes, $dependances);
                 $html .= $generateur->afficheFormulaireListe($parametres, $liensExternes, $dependances);
                 break;
             case 'rechercheAdministration':
                 $html .= $generateur->afficheFormulaireListe($parametres, $liensExternes);
                 break;
             case 'suppressionFromModifForm':
                 $generateur->supprimerFromModifForm($parametres, $liensExternes, $dependances);
                 $html .= $generateur->afficheFormulaireListe($parametres, $liensExternes, $dependances);
                 break;
         }
     } else {
         // affichage des formulaires
         switch ($modeAffichage) {
             case 'liste':
                 $html .= $generateur->afficheFormulaireListe($parametres, $liensExternes, $dependances);
                 break;
             case 'modification':
                 $adresse = new archiAdresse();
                 //$html.=$adresse->afficheFormulaireModificationElementAdresse($parametres);
                 $html .= $generateur->afficheFormulaireModification($parametres, $liensExternes, $dependances);
                 break;
             case 'ajout':
                 $html .= $generateur->afficheFormulaireAjout($parametres, $liensExternes);
                 break;
         }
     }
     return $html;
 }