<commit_before># I/ PROCESS D'UPLOAD ET DE REDIMMENSIONNEMENT

Les images contribuées dans la médiathèque peuvent être disponibles en front sous plusieurs formats/ratios. Cependant les contributeurs n'ont pas à uploader toutes ces variantes, celles-ci sont automatiquement générées par Orchestra à partir de l'unique média uploadé par le contributeur.
Pour celà l'intégrateur peut spécifier dans la conf d'Orchestra *(conf à décrire)* les différents formats dont le front a besoin.

Si certaines variantes générées ne sont pas satisfaisantes, le contributeur peut utiliser à posteriori l'outil de cropping pour générer lui-même la variante.

Le process de base est le suivant :
* 1/ Upload et paramètrage du media depuis la médiathèque
* 2/ A la réception du média, Orchestra génère les différentes variantes paramétrées en conf (via Imagik)
* 3/ Les varaiantes ainsi que l'originale sont déplacées dans leur répertoire de stockage, là où elles pourront être consultées par le web
* 4/ Ultérieurement et en dehors de cette séquence, un contributeur peut utiliser l'outil de cropping de la médiathèque pour surcharger une ou plusieurs des variantes automatiquement générées par Orchestra.

# II/ Stockage des médias
Basiquement le stockage des médias se fait sur le serveur web. Cependant pour des usages plus avancés (stockage externe dans le cloud par exemple (Amazon S3 ou autre)) le bundle KNPGaufrette peut être activé. Une conf spécifique dans MediaBundle permet d'indiquer si oui ou non le Bundle doit-être activé pour la médiathèque. Dans ce cas la conf de MediaBundle indique également quel adapteur doit être utilisé. L'adapteur lui est configuré dans le app/config.

Le process de contribution des médias décrit en I est alors altéré : si gaufrette est activé, les médias ne sont plus déplacés en local, mais via l'adapteur sélectionné.<commit_msg>Update doc<commit_after># I/ PROCESS D'UPLOAD ET DE REDIMMENSIONNEMENT

Les images contribuées dans la médiathèque peuvent être disponibles en front sous plusieurs formats/ratios. Cependant les contributeurs n'ont pas à uploader toutes ces variantes, celles-ci sont automatiquement générées par Orchestra à partir de l'unique média uploadé par le contributeur.
Pour celà l'intégrateur peut spécifier dans la conf d'Orchestra *(conf à décrire)* les différents formats dont le front a besoin.

Si certaines variantes générées ne sont pas satisfaisantes, le contributeur peut utiliser à posteriori l'outil de cropping pour générer lui-même la variante.

Le process de base est le suivant :
* 1/ Upload et paramètrage du média depuis la médiathèque
* 2/ A la réception du média, Orchestra génère les différentes variantes paramétrées en conf (via Imagik)
* 3/ Les variantes ainsi que l'originale sont déplacées dans leur répertoire de stockage, là où elles pourront être consultées par le web
* 4/ Ultérieurement et en dehors de cette séquence, un contributeur peut utiliser l'outil de cropping de la médiathèque pour surcharger une ou plusieurs des variantes automatiquement générées par Orchestra.

# II/ Stockage des médias
Basiquement le stockage des médias se fait sur le serveur web. Cependant pour des usages plus avancés (stockage externe dans le cloud par exemple (Amazon S3 ou autre)) le bundle KNPGaufrette est utilisé. Une conf spécifique dans MediaBundle permet d'indiquer le filesystem utilisé pour la médiathèque. Par défaut Orchestra utilise l'adapter local filesystem.
Dans la mesure où les médias peuvent potentiellement être stockés ailleurs qu'en local, l'utilisation de la fonctionnalité de crop commence par le rappatriement en local du fichier via la méthode read($key) des adapters.

Il reste à étudier le cas de l'affichage des médias, Gaufrette ne fournissant pas de méthode générique pour retrouver l'url à une ressource uploadée.
{'fraction_non_alphanumeric': 0.03279979008134348, 'fraction_numerical': 0.0026239832065074785, 'mean_word_length': 5.0894568690095845, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3826025', 'n_tokens_mistral': 1121, 'n_tokens_neox': 1140, 'n_words': 561}