Fichiers & Médias

Par médias, on entend à la fois :

  • les fichiers
  • les images
  • les vidéos
  • les sons

Il y aune grande diversité de formats à gérer. Et ils peuvent être hébergés aussi bien localement, que sur des serveurs spécialisés ou sur un service web public ou privé. Pour répondre à cette problématique, l’expérience a montré qu’il est important de disposer d’un niveau intermédiaire générique : c’est le rôle de modules comme Media, Scald ou Asset.

File

Ce module gère les fichiers dans Drupal. Les fichiers concernés sont les fichiers locaux hors image, vidéos, player embarqué, etc.

Ce module est partie intégrante du Core de Drupal 7 : pour créer un champ, allez sur la page Gérer les champs et ajouter un champ de type Fichier avec le widget Fichier. Vous pouvez chosir si, par défaut, un fichier sera présenté dans une liste.

Pour les fichiers, on active généralement cette option : le champ Image étant fondé sur le champ fichier, on désactive cette option généralement pour les images qui sont présentées différemment.

Si vous avez paramétrer un système de fichier privé à côté du système de fichier public, vous pouvez choisir que les fichiers seront stockés dans la partie privée : ceci impacte un peu les performances mais permet de sécuriser l’accès aux fichiers.

Vous devez lister toutes les extensions autorisées : seule l’extension est vérifiée, pas le code binaire du fichier ou les méta-données du fichier. Définissez aussi le répertoire dans lequel sont placés les fichiers pour ce champ, ainsi que la taille maximale du fichier autorisée. Celle-ci ne peut excéder les limites physiques et logicielles du serveur utilisé. Vous pouvez enfin activer le champ description pour le contributeur.

Cliquez sur Enregistrer et sur l’ongler Afficher les champs, vous allez pouvoir choisir le formatteur qui vous convient :

  • Sous forme de liste
  • Sous forme de tableau
  • Simplement l’url du fichier

En créant un contenu et après ajout du fichier, vous allez voir appraître une icone qui aide à identifier le type de fichier enregistré. Si vous utilisez le formatteur Fichier générique sour forme de liste, vous verrez apparaître la même icone.

Image

Le module Image et la gestion des style est intégré au Core depuis Drupal 7. Une image affichée peut être locale ou distante, mais si l’on souhaite faire un traitement sur une image : l’image générée est enregistrée dans l’un des répertoires locaux — files pour les fichiers publics, et private pour les fichiers sécurisés.

Comme vous le verrez un peu plus loin dans ce chapitre, la capacité à manipuler industriellement des images est une autre force de Drupal : elle permet de n’avoir à téléverser qu’une seule fois une image qui sera ensuite adaptée.

Faites attention à choisir une image de qualité supérieure à la qualité maximale dont vous aurez besoin.

Pour créer un nouveau champ image sur votre Article, par exemple pour une bannière placée au-dessus du corps de texte, rendez-vous sur la page Gérer les champs et ajouter un champ de type Image avec le widget Image. Si vous avez paramétré plusieurs systèmes de fichiers, vous avez la possibilité de choisir celui que vous souhaitez utilise pour ce champ. cliquez sur Enregistrer pour passer à l’écran suivant.

Vous reconnaissez des options similaires à celle du champ Fichier : choisissez le répertoire à utiliser pour les images de ce champ, et modifiez la liste des extensions pour vos images, par exemple si le champ ne doit recevoir que des images JPEG. Les contraintes techniques des images permettent de définir des minima et des maxima en nombre de pixels, et vosu pouvez toujours définir le poids maximal en octets.

Pour vous permettre d’avoir un site conforme aux règles d’accessibilité, vous devez activer les champs Alt et Title. Le style à appliquer pour la prévisualisation vous permet de déterminer la taille de l’image qui apparaîtra dans le formulaire d’édition pour le champ image.

Pour modifier le formatteur de l’image, rendez-vous sur l’onglet Afficher les champs, et modifier les options afin de choisir le style d’image qui vous convient.

Quelle médiathèque choisir ?

Une médiathèque est un outil qui va regrouper tous vos médias, qu’ils soient locaux ou distants :

  • Images : sur serveur local ou spécialisé, sur Flickr, Picasa, etc.
  • Vidéos : stocké localement ou chez un hébergeur spécialisé en mode service privé (ex : Brightcove) ou public (ex : YouTube, Dailymotion).
  • Sons : sur vos disques durs ou des ressources présentes par exemple sur SoundCloud.
  • Fichiers bureautiques : OpenOffice, MS Office, Keynote, Page, etc.
  • Fichiers PDF : stocké localement ou sur des serveurs distants, voire des services web.

Les fichiers d’archives de type Zip ou Tar.gz ne sont généralement pas traités par la médiathèque, mais rien ne l’empêche.

En-deça d’une centaine de ressources, utiliser une approche médiathèque ne se justifie pas : ni en termes d’organisation des fichiers, ni sur le plan de l’ergonomie. Une conception plus simple fait parfaitement l’affaire.

Pour choisir le bon outil, vous allez notamment regarder :

  • les formats de ressources utilisable,
  • l’ergonomie,
  • la performance ou son équivalent : les ressources nécessaires.

Image styles

Le module Image field du Core de Drupal 7 gère les images et intègre nativement une gestion des styles d’images qui trouve ses origines dans le module ImageCache de Drupal 6. Dans la culture Drupal, cette référence reste forte et plusieurs modules ont conservé ce nom pour leur version D7.

La gestion des Styles a deux impacts principaux :

  • La modification esthétique de l’image.
  • L’optimisation du fichier image afin qu’il soit le plus léger possible tout en conservant une bonne qualité de rendu à l’affichage.

Dans l’espace d’administration, cliquez sur le lien Image styles : trois styles par défaut sont présentés. Vous allez aussi pouvoir créer les vôtres.

  • En cliquant sur le nom, vous allez pouvoir éditer le Style.
  • La colonne Paramétrages précise si la définition est dans le code d’un module (défaut), a été supplanté en bases de données, ou est un style personnalisé créé par vous et uniquement enregistré dans la base de données.
  • Les liens d’opérations permettent d’éditer le Style. Si vous avez supplanté un style, vous allez aussi pouvoir le réinitialiser, si vous l’avez créé vous-même vous pourrez le suprimer.

En éditant un style défini par un module, vous devez cliquer sur le bouton Supplanter avant de pouvoir faire la moindre modification : cette action déclenche une copie du style en base de données.

Pour un style, vous pouvez modifier son nom d’interface et son nom machine.

Si des effets ont déjà été paramétrés, vous pouvez en modifier les options en cliquant sur éditer.

En fonction des modules activés, vous aurez un plus ou moins grand nombre de traitement qui vont venir enrichir le menu déroulant vous invitant à “sélectionner un nouvel effet”. Les effets par défaut permettent de :

  • Couper : l’image sera découpée à une taille donnée, et les distances sont calculées à partir d’une ancre.
  • Mettre à l’échelle : modifie la taille de l’image dans le respect des proportions.
  • Couper et mettre à l’échelle : le traitement le plus couramment utilisé puisqu’il évite les coupes plus hasardeuses.
  • Redimensionner : ne respecte pas les proportion et déforme l’image.
  • Désaturer : transforme votre image en “noir et blanc”, autrement dit en niveaux de gris.
  • Tourner : choisissez un angle, la couleur à utiliser pour le fond (vide pour laisser transparent). Une option Hasard est aussi disponible : elle sera borner par la valeur choisie pour l’angle.

En définissant un Style, vous créez de facto un formatteur pour tous les champs images de votre site. Il est immédiatement disponible sur toutes les interfaces qui utilisent des formatteurs : les modes d’affichages des bundles, Views, Panels, etc. Y compris certains formatteurs qui utilisent ce formatteur comme l’une de leurs options.

De nombreux modules viennent enrichir les traitements d’images dans Drupal, tant sur le plan de l’esthétique que de l’optimisation. Par exemple, ImageCache External permet d’appliquer ces styles à des images dont on ne fournit que l’URL distante.