public function toCsv($filename = null)
    {

        // on set le nom du fichier
        if (!is_null($filename)) {
            $this->setFilename($filename);
        }

        // si pas de nom de fichier setté, on met celui par default
        if (!$this->hasFilename()) {
            $this->setFilename($this->filenameDefault);
        }

        // backup du renderer
        $renderer = $this->getRenderer();

        // render export
        $this->setRenderer(new Csv());

        // appel du collback
        if ($this->hasExport()){
            call_user_func($this->export, $this);
        }
        
        // rendu
        $this->render();

        // restore renderer
        $this->setRenderer($renderer);

        return $this;
    }