Pour déclencher un export, on effectue une requete POST visant une ApiResource de type ExportRequest
Toutes les ApiResource implémentant l'interface ExportRequestInterface sont traitées par le DataPersister
App\DataPersister\Export\LicenceCmf\ExportRequestDataPersister.
Le ExportRequestDataPersister utilise un pattern iterable, c'est-à-dire qu'il balaie (via la classe ExporterHandler)
tous les services implémentant ExporterInterface jusqu'à trouver un service qui supporte
l'ExportRequest passée en paramètre.
Une fois le bon service d'export trouvé, il appelle la méthode export($exportRequest) de ce service.
Les services d'export recoivent en paramètre une ExportRequest.
Ils vont ensuite effectuer les opérations suivantes:
ExportModel (qui peut être selon les cas objet ou une collection d'objets), qui
contiendra toutes les données nécessaires au rendu du template.EncoderHandler qui itère sur les encoders disponibles
jusqu'à trouver le premier qui supporte le format demandé dans l'ExportRequest, puis appelle la méthode encode($html)
de cet encoder, et enfin récupère le contenu final du fichierLocalStorage est utilisé pour créer le fichier d'export dans
un répertoire temporaire.File est enfin enregistré en base.