public function ImportServeurAction()
 {
     set_time_limit(0);
     $em = $this->getDoctrine()->getEntityManager();
     // $full_path = "//landesk-serveurs.intranet.cg59.fr/reports/";
     $precedent = "";
     $nouveau = 0;
     $maj = 0;
     $sanserial = 0;
     foreach (glob($full_path . "*.csv") as $csvfile) {
     }
     // $nomCsv = substr($csvfile,53);
     //+11
     $nomCsv = substr($csvfile, strripos($csvfile, '/', -1));
     $csv = new SplFileObject($csvfile, 'r');
     $csv->setFlags(SplFileObject::READ_CSV);
     $csv->setCsvControl(',', '"', '"');
     echo "Import du fichier " . $nomCsv . " <br><br>";
     $nouveauServeur = false;
     $stringListeNouveauServeur = '';
     $headers = '*****@*****.**';
     $resultat = '';
     $row = 1;
     foreach ($csv as $data) {
         if ($row == 1) {
             $eHost = 0;
             for ($i = 0; $i != 11; $i++) {
                 switch ($data[$i]) {
                     case "Service Pack":
                         $eServicePack = $i;
                         break;
                     case "Nom du périphérique":
                         $eHostname = $i;
                         break;
                     case "Nom d'OS":
                         $eOs = $i;
                         break;
                     case "Numéro de série":
                         $eNser = $i;
                         break;
                     case "Modèle":
                         $eModel = $i;
                         break;
                     case "Nombre de processeurs":
                         $eNbCpu = $i;
                         break;
                     case "Total d'octets":
                         $eRam = $i;
                         break;
                     case "Type":
                         $eTcpu = $i;
                         break;
                     case "Fabricant":
                         $eConstructeur = $i;
                         break;
                     case "Coeurs par Processeurs":
                         $eNbCoeurCpu = $i;
                         break;
                     case "Adresse":
                         $eAdresse = $i;
                         break;
                 }
             }
         }
         if ($data[$eHost] != null) {
             //si data[0] est pas null c'est a dir le hostname
             if ($data[$eHostname] != '' && $data[$eNser] != '') {
                 // si hostname ET numéro de serie existent ==> MAJ
                 $row++;
                 $hostname = strtoupper($data[$eHostname]);
                 $os = $data[$eOs];
                 $Nser = $data[$eNser];
                 $Model = $data[$eModel];
                 $Constructeur = $data[$eConstructeur];
                 $Ram = $data[$eRam];
                 $NbCpu = $data[$eNbCpu];
                 $ServicePack = $data[$eServicePack];
                 $Tcpu = $data[$eTcpu];
                 $adresse = $data[$eAdresse];
                 $nbCoeurCpu = $data[$eNbCoeurCpu];
                 //$Hostname = $data[$eHostname];
                 if ($row > 2) {
                     // pour passer l'entete du fichier
                     // récupération du serveur par Numero de série
                     if ($em->getRepository('DeveloppementCartopliBundle:Serveur')->getNumServeurByNser($Nser) != NULL) {
                         $serveur = $em->getRepository('DeveloppementCartopliBundle:Serveur')->find($em->getRepository('DeveloppementCartopliBundle:Serveur')->getNumServeurByNser($Nser));
                         if ($Tcpu != NULL) {
                             $serveur->setTypecpu($Tcpu);
                         } else {
                             $serveur->setTypecpu('Serveur Pas ou Plus dans Referentiel');
                             break;
                             // DVI erreur a corriger plus tard
                         }
                         // positionne le cycle de vie pour les serveur importé en masse, sinon le laisser tel quel
                         if (preg_match('#SRVSTOCK#i', $serveur->getHostname())) {
                             $serveur->setCycleDeVie($em->getRepository('DeveloppementCartopliBundle:ListesNew')->find(256));
                         }
                         $serveur->setHostname($hostname);
                         $serveur->setOs($os);
                         $serveur->setNbcpu($NbCpu);
                         $serveur->setModele($Model);
                         $serveur->setRam($Ram);
                         $serveur->setConstructeur($Constructeur);
                         $serveur->setSP($ServicePack);
                         //nouv fonctionnalite
                         $serveur->setadresseIP($adresse);
                         $serveur->setNbcoeur($nbCoeurCpu);
                         $em->persist($serveur);
                         $em->flush();
                         $precedent = $hostname;
                         $maj++;
                         echo "Serveur MAJ : " . $hostname . " <br>";
                     } else {
                         // numero de serie non trouvé
                         // Si Hostname existe et numero de serie différent ; MAJ
                         if ($em->getRepository('DeveloppementCartopliBundle:Serveur')->getNumServeurByHostname($hostname) != NULL) {
                             $serveur = $em->getRepository('DeveloppementCartopliBundle:Serveur')->find($em->getRepository('DeveloppementCartopliBundle:Serveur')->getNumServeurByHostname($hostname));
                             if ($Tcpu != NULL) {
                                 $serveur->setTypecpu($Tcpu);
                             } else {
                                 $serveur->setTypecpu('Serveur Pas ou Plus dans Referentiel');
                             }
                             $serveur->setNser($Nser);
                             $serveur->setOs($os);
                             $serveur->setNbcpu($NbCpu);
                             $serveur->setModele($Model);
                             $serveur->setRam($Ram);
                             $serveur->setConstructeur($Constructeur);
                             $serveur->setSP($ServicePack);
                             $serveur->setadresseIP($adresse);
                             $serveur->setNbcoeur($nbCoeurCpu);
                             $em->persist($serveur);
                             $em->flush();
                             $precedent = $hostname;
                             $maj++;
                             echo "Serveur MAJ par Hostname (NSerie posant pb): " . $hostname . " <br>";
                         } else {
                             // Sinon Nouveau serveur
                             // Si Nser et Hostname alors nouvreau serveur
                             $RackLocal = 128;
                             $nouveauServeur = true;
                             $serveur = new Serveur();
                             $serveur->setPerimetreCST($em->getRepository('DeveloppementCartopliBundle:ListesNew')->find(870));
                             $serveur->setcriticite($em->getRepository('DeveloppementCartopliBundle:ListesNew')->find(833));
                             $serveur->setcomplexite($em->getRepository('DeveloppementCartopliBundle:ListesNew')->find(829));
                             $serveur->setplageService($em->getRepository('DeveloppementCartopliBundle:ListesNew')->find(823));
                             $serveur->setCycledevie($em->getRepository('DeveloppementCartopliBundle:ListesNew')->find(371));
                             $serveur->setLocalisation($em->getRepository('DeveloppementCartopliBundle:ListesNew')->find(369));
                             $serveur->setType($em->getRepository('DeveloppementCartopliBundle:ListesNew')->find(366));
                             $serveur->setRackLocal($em->getRepository('DeveloppementCartopliBundle:Rack')->find(128));
                             $serveur->setOs($os);
                             $serveur->setNbcpu($NbCpu);
                             $serveur->setModele($Model);
                             $serveur->setRam($Ram);
                             $serveur->setConstructeur($Constructeur);
                             $serveur->setNser($Nser);
                             $serveur->setHostname($hostname);
                             $serveur->setSP($ServicePack);
                             //nouv fonctionnalite
                             $serveur->setadresseIP($adresse);
                             $serveur->setNbcoeur($nbCoeurCpu);
                             $serveur->setHost($em->getRepository('DeveloppementCartopliBundle:ListesNew')->find(805));
                             // nouv SM
                             $em->persist($serveur);
                             $em->flush();
                             $nouveau++;
                             echo "Nouveau Serveur : " . $hostname . " <br>";
                             $stringListeNouveauServeur = $stringListeNouveauServeur . $hostname . ", ";
                         }
                     }
                 }
                 // Row >2
             } else {
                 // Pas de Hostname ou Ner dans le fichier
                 // if ($data[2]==''){ echo "Serveur sans numero de série  : " . $hostname." <br>" ; }
                 if ($data[$eNser] != '') {
                     //// pas nser
                     echo "Serveur sans Numéro de serie : " . $data[$eHostname] . "<br>";
                     $sanserial++;
                 } else {
                     // pas de Hostname ?!
                 }
             }
         }
         // var_dump("Fichier imcomplet : Serveur ". $data[0] . " num ser ". $data[2] . " non trouvé <br>");
     }
     // foreach ligne du fichier
     $row = $row - 2;
     // enlever entete et dernière ligne
     echo "<br>Fin de Fichier. ligne:" . abs($row) . " , dernier serveur traité :" . $precedent . "<br>";
     echo $nouveau . " Nouveaux serveurs <br>";
     echo $maj . " Serveurs traités <br> dont " . $sanserial . " sans numémro de série <br>";
     foreach (glob($full_path . "*DVI - Export Serveur ID Landesk*.csv") as $csvfile) {
     }
     //$nomCsv = substr($csvfile,53);
     $nomCsv = substr($csvfile, strripos($csvfile, '/', -1));
     $csv = new SplFileObject($csvfile, 'r');
     $csv->setFlags(SplFileObject::READ_CSV);
     $csv->setCsvControl(',', '"', '"');
     echo "  <br><br> Import du fichier " . $nomCsv . " <br><br>";
     $nouveauServeur = false;
     $stringListeNouveauServeur = '';
     $headers = '*****@*****.**';
     $resultat = '';
     $row = 1;
     foreach ($csv as $data) {
         if ($row == 1) {
             $eHost = 0;
             for ($i = 0; $i != 9; $i++) {
                 switch ($data[$i]) {
                     case "Service Pack":
                         $eServicePack = $i;
                         break;
                     case "Nom du périphérique":
                         $eHostname = $i;
                         break;
                     case "Nom d'OS":
                         $eOs = $i;
                         break;
                     case "Numéro de série":
                         $eNser = $i;
                         break;
                     case "Modèle":
                         $eModel = $i;
                         break;
                     case "Nombre de processeurs":
                         $eNbCpu = $i;
                         break;
                     case "Total d'octets":
                         $eRam = $i;
                         break;
                     case "Type":
                         $eTcpu = $i;
                         break;
                     case "Fabricant":
                         $eConstructeur = $i;
                         break;
                 }
             }
         }
         if ($data[$eHost] != null) {
             //si data[0] est pas null c'est a dir le hostname
             if ($data[$eHostname] != '' && $data[$eNser] != '') {
                 // si hostname ET numéro de serie existent ==> MAJ
                 $row++;
                 $hostname = strtoupper($data[$eHostname]);
                 $os = $data[$eOs];
                 $Nser = $data[$eNser];
                 $Model = $data[$eModel];
                 $Constructeur = $data[$eConstructeur];
                 $Ram = $data[$eRam];
                 $NbCpu = $data[$eNbCpu];
                 $ServicePack = $data[$eServicePack];
                 $Tcpu = $data[$eTcpu];
                 //$Hostname = $data[$eHostname];
                 if ($row > 2) {
                     // pour passer l'entete du fichier
                     // récupération du serveur par Numero de série
                     if ($em->getRepository('DeveloppementCartopliBundle:Serveur')->getNumServeurByNser($Nser) != NULL) {
                         $serveur = $em->getRepository('DeveloppementCartopliBundle:Serveur')->find($em->getRepository('DeveloppementCartopliBundle:Serveur')->getNumServeurByNser($Nser));
                         if ($Tcpu != NULL) {
                             $serveur->setTypecpu($Tcpu);
                         } else {
                             $serveur->setTypecpu('Serveur Pas ou Plus dans Referentiel');
                             break;
                             // DVI erreur a corriger plus tard
                         }
                         // positionne le cycle de vie pour les serveur importé en masse, sinon le laisser tel quel
                         if (preg_match('#SRVSTOCK#i', $serveur->getHostname())) {
                             $serveur->setCycleDeVie($em->getRepository('DeveloppementCartopliBundle:ListesNew')->find(256));
                         }
                         $serveur->setHostname($hostname);
                         $serveur->setOs($os);
                         $serveur->setNbcpu($NbCpu);
                         $serveur->setModele($Model);
                         $serveur->setRam($Ram);
                         $serveur->setConstructeur($Constructeur);
                         $serveur->setSP($ServicePack);
                         //nouv fonctionnalite
                         $em->persist($serveur);
                         $em->flush();
                         $precedent = $hostname;
                         $maj++;
                         echo "Serveur MAJ : " . $hostname . " <br>";
                     } else {
                         // numero de serie non trouvé
                         // Si Hostname existe et numero de serie différent ; MAJ
                         if ($em->getRepository('DeveloppementCartopliBundle:Serveur')->getNumServeurByHostname($hostname) != NULL) {
                             $serveur = $em->getRepository('DeveloppementCartopliBundle:Serveur')->find($em->getRepository('DeveloppementCartopliBundle:Serveur')->getNumServeurByHostname($hostname));
                             if ($Tcpu != NULL) {
                                 $serveur->setTypecpu($Tcpu);
                             } else {
                                 $serveur->setTypecpu('Serveur Pas ou Plus dans Referentiel');
                             }
                             $serveur->setNser($Nser);
                             $serveur->setOs($os);
                             $serveur->setNbcpu($NbCpu);
                             $serveur->setModele($Model);
                             $serveur->setRam($Ram);
                             $serveur->setConstructeur($Constructeur);
                             $serveur->setSP($ServicePack);
                             $em->persist($serveur);
                             $em->flush();
                             $precedent = $hostname;
                             $maj++;
                             echo "Serveur MAJ par Hostname (NSerie posant pb): " . $hostname . " <br>";
                         } else {
                             // Sinon Nouveau serveur
                             // Si Nser et Hostname alors nouvreau serveur
                             $RackLocal = 128;
                             $nouveauServeur = true;
                             $serveur = new Serveur();
                             $serveur->setPerimetreCST($em->getRepository('DeveloppementCartopliBundle:ListesNew')->find(870));
                             $serveur->setcriticite($em->getRepository('DeveloppementCartopliBundle:ListesNew')->find(833));
                             $serveur->setcomplexite($em->getRepository('DeveloppementCartopliBundle:ListesNew')->find(829));
                             $serveur->setplageService($em->getRepository('DeveloppementCartopliBundle:ListesNew')->find(823));
                             $serveur->setCycledevie($em->getRepository('DeveloppementCartopliBundle:ListesNew')->find(371));
                             $serveur->setLocalisation($em->getRepository('DeveloppementCartopliBundle:ListesNew')->find(369));
                             $serveur->setType($em->getRepository('DeveloppementCartopliBundle:ListesNew')->find(366));
                             $serveur->setRackLocal($em->getRepository('DeveloppementCartopliBundle:Rack')->find(128));
                             $serveur->setOs($os);
                             $serveur->setNbcpu($NbCpu);
                             $serveur->setModele($Model);
                             $serveur->setRam($Ram);
                             $serveur->setConstructeur($Constructeur);
                             $serveur->setNser($Nser);
                             $serveur->setHostname($hostname);
                             $serveur->setSP($ServicePack);
                             //nouv fonctionnalite
                             $serveur->setHost($em->getRepository('DeveloppementCartopliBundle:ListesNew')->find(805));
                             // nouv SM
                             $em->persist($serveur);
                             $em->flush();
                             $nouveau++;
                             echo "Nouveau Serveur : " . $Hostname . " <br>";
                             $stringListeNouveauServeur = $stringListeNouveauServeur . $hostname . ", ";
                         }
                     }
                 }
                 // Row >2
             } else {
                 // Pas de Hostname ou Ner dans le fichier
                 // if ($data[2]==''){ echo "Serveur sans numero de série  : " . $hostname." <br>" ; }
                 if ($data[$eNser] != '') {
                     //// pas nser
                     echo "Serveur sans Numéro de serie : " . $data[$eHostname] . "<br>";
                     $sanserial++;
                 } else {
                     // pas de Hostname ?!
                 }
             }
         }
         // var_dump("Fichier imcomplet : Serveur ". $data[0] . " num ser ". $data[2] . " non trouvé <br>");
     }
     // foreach ligne du fichier
     $row = $row - 2;
     // enlever entete et dernière ligne
     echo "<br>Fin de Fichier. ligne:" . abs($row) . " , dernier serveur traité :" . $precedent . "<br>";
     echo $nouveau . " Nouveaux serveurs <br>";
     echo $maj . " Serveurs traités <br> dont " . $sanserial . " sans numémro de série <br>";
     ///RETOUR A LA POPUP/////
     return $this->render('DeveloppementCartopliBundle:Default:resultatImport.html.twig', array('resultat' => $resultat));
     ///FIN RETOUR/////
 }