public function createFromImport($ligne, $output)
 {
     $societe = $this->sm->getRepository()->findOneBy(array('identifiantReprise' => $ligne[self::CSV_ID_SOCIETE]));
     if (!$societe) {
         $output->writeln(sprintf("<error>La société %s n'existe pas</error>", $ligne[self::CSV_ID_SOCIETE]));
         return;
     }
     $etablissement = $this->em->getRepository()->findOneBy(array('identifiantReprise', $ligne[self::CSV_ID_ADRESSE]));
     if (!$etablissement) {
         $etablissement = new Etablissement();
     }
     $etablissement->setSociete($societe);
     $etablissement->setIdentifiant($societe->getIdentifiant());
     $etablissement->setIdentifiantReprise($ligne[self::CSV_ID_ADRESSE]);
     $etablissement->setNom($ligne[self::CSV_NOM_ETB]);
     $adresse_str = $ligne[self::CSV_ADRESS_1];
     if ($ligne[self::CSV_ADRESS_2]) {
         $adresse_str .= ', ' . $ligne[self::CSV_ADRESS_2];
     }
     $etablissement->setCommentaire(str_replace('#', "\n", $ligne[self::CSV_CMT]));
     $etablissement->setRaisonSociale($ligne[self::CSV_RAISON_SOCIALE]);
     $adresse = new Adresse();
     $adresse->setAdresse($adresse_str);
     $adresse->setCodePostal($ligne[self::CSV_CP]);
     $adresse->setCommune($ligne[self::CSV_VILLE]);
     $adresse->setCoordonnees(new Coordonnees());
     if (isset($ligne[self::CSV_COORD_LAT]) && isset($ligne[self::CSV_COORD_LON]) && $ligne[self::CSV_COORD_LAT] && $ligne[self::CSV_COORD_LON]) {
         $lat = $ligne[self::CSV_COORD_LAT];
         $lon = $ligne[self::CSV_COORD_LON];
         $adresse->getCoordonnees()->setLat($lat);
         $adresse->getCoordonnees()->setLon($lon);
         //echo "lat=$lat lon=$lon déjà enregistré \n";
     } else {
         $msg = $this->em->getOSMAdresse()->calculCoordonnees($adresse);
         sleep(0.5);
         if ($msg && is_string($msg)) {
             //echo $msg . "\n";
         }
     }
     $etablissement->setAdresse($adresse);
     $contactCoordonnee = new ContactCoordonnee();
     $contactCoordonnee->setTelephoneFixe($ligne[self::CSV_TEL_FIXE]);
     $contactCoordonnee->setTelephoneMobile($ligne[self::CSV_TEL_MOBILE]);
     $contactCoordonnee->setFax($ligne[self::CSV_FAX]);
     $contactCoordonnee->setSiteInternet($ligne[self::CSV_SITE_WEB]);
     $contactCoordonnee->setEmail($ligne[self::CSV_EMAIL]);
     $etablissement->setContactCoordonnee($contactCoordonnee);
     if ($ligne[self::CSV_TYPE_ETABLISSEMENT] == "") {
         $etablissement->setType(EtablissementManager::TYPE_ETB_NON_SPECIFIE);
     } else {
         $types_etablissements = EtablissementManager::$type_libelles;
         $types_etb_keys = array_keys($types_etablissements);
         $etablissement->setType($types_etb_keys[intval($ligne[self::CSV_TYPE_ETABLISSEMENT]) - 1]);
     }
     return $etablissement;
 }