uploader.png La question revient régulièrement, nombreux sont les utilisateurs de Dotclear qui souhaiteraient pouvoir déposer plusieurs fichiers d'un coup dans le gestionnaire de média. C'était plus ou moins rendu possible par un bricolage consistant à ajouter dynamiquement des champs de sélection de fichiers. Cette méthode présentait un certain nombre d'inconvénients :

  • Ce n'était pas très beau
  • La taille totale des fichiers ne devait pas dépasser la limite autorisée
  • Envoyer trop d'images pouvait provoquer des erreurs du fait de traitements successifs sur celles-ci

Le choix multiple de fichiers a donc disparu et a été remplacé par un formulaire permettant de ne choisir qu'un seul fichier. Là, vous vous demandez où se trouve la nouveauté qui va changer votre quotidien. Et bien, à l'aide de jQuery, ce formulaire est supprimé puis remplacé par un sélecteur de fichiers, oui, avec un "s". Comment ça marche ?

Vous cliquez sur "choisir des fichier" puis sélectionnez un ou plusieurs fichiers. Vous pouvez ensuite recommencer, autant de fois que vous voulez. Ensuite, cliquez simplement sur "envoyer" et vos fichiers partent, un par un, dans le gestionnaire de média. Un indicateur de progression vous indique où en est chaque fichier. Une fois que chaque fichier a été envoyé, le contenu du répertoire dans lequel vous vous trouvez est rafraîchit.

Une nouvelle option a également été ajoutée, permettant de trier les fichiers par nom ou par date.

Tout ce système requiert que vous ayez Javascript et Flash 9 activés. Toute la mécanique permettant de sélectionner plusieurs fichiers et d'être informé de la progression d'un envoi de fichiers dépend, en effet, d'une animation faite avec Flash 9. Testé et fonctionne dans Firefox 2 et 3, Safari et Internet Explorer 6. Ça ne fonctionne pas (encore?) dans Opera, pour une raison qui m'échappe.

Un immense merci au projet SWFUpload sans lequel rien de tout ceci n'aurait été possible.

Vous êtes encouragés à tester ces nouveautés présentes depuis la révision 1884 et se trouvant dans les nightly.