Via celui-ci, on peut importer des archives (au format ZIP) contenant des images ou des images seules. Dans ce dernier cas, le formulaire d”upload est le suivant :
Comme on peut le voir, chaque image doit posséder au minimum un titre et peut posséder une légende, qui sera employée par la suite. Il est donc conseillé de remplir également ce second champ, bien que ce ne soit pas obligatoire. Quant à l’image elle-même, sa taille ne peut pas excéder 1024 Kio.
Attention
Le titre de l’image n’entre pas en compte dans le nommage de l’image une fois cette dernière téléchargée. Afin de réduire le risque de rencontrer des conflits de noms de fichiers, ces derniers sont hashés.
Une fois l’image uploadée, il est possible d’y effectuer différentes actions sur la page qui lui est spécifique :
En modifier le titre, la légende ou encore l’image en elle-même. À noter que le titre et la légende peuvent être modifiés sans qu’il ne soit nécessaire d’uploader une nouvelle image. Si une nouvelle version de l’image est uploadée, l’ancienne version de l’image n’est pas supprimée du serveur et reste accessible depuis son URL ; un nouvel identifiant (et donc une nouvelle URL) sera attribué à la nouvelle version de l’image. Cela signifie notamment que mettre à jour une image ne changera pas l’image là où elle a déjà été utilisée (tutoriel, article, message, …). Ce comportement permet d’éviter que les images utilisées dans des contenus validés soient changées sans repasser par une validation.
Obtenir le code à insérer dans un champ de texte acceptant le Markdown pour l’image en elle-même, sa miniature ou encore la miniature accompagnée du lien vers l’image en taille réelle.
Lors d’un clic sur « Ajouter un utilisateur », une fenêtre modale s’ouvre :
Choix de l’utilisateur et sélection de ses droits
Il est alors possible de rajouter un nouvel utilisateur dans la galerie. Les droits de celui-ci peuvent être les suivants :
Lecture : (zds.gallery.models.GALLERY_READ) l’utilisateur a seulement le droit de consulter les images existantes dans la galerie sans pouvoir apporter de modifications ;
Écriture : (zds.gallery.models.GALLERY_WRITE), inclut Lecture, l’utilisateur peut modifier ou supprimer des images existantes, en rajouter des nouvelles et changer les attributs de la galerie (y compris y ajouter de nouveaux utilisateurs);
Il n’est actuellement pas possible de modifier les droits d’un utilisateur après son ajout à la galerie.
Attention : aucune confirmation n’est demandée lors de la suppression d’une image.
Une galerie peut quant à elle être supprimée via la page de gestion des galeries (/galerie/) en cochant la case de celle-ci et en cliquant sur « Supprimer les galeries sélectionnées » dans le menu de gauche :
Chaque galerie (classe Gallery) est stockée en base de données avec son titre, son sous-titre et son slug (ainsi que la date de création et de dernière modification). Une galerie est associée à l’utilisateur via la classe UserGallery, qui reprend un lien vers l’utilisateur, la galerie, mais également les droits qu’il possède sur cette dernière, sous la forme d’une constante : GALLERY_READ pour le droit de lecture ou GALLERY_WRITE pour le droit d’écriture.
Une image (classe Image) est renseignée en base de données avec son titre, sa légende, un lien vers la galerie qui la contient, son slug et un lien physique vers le fichier image (ainsi que la date de création et de dernière modification).
Les images sont stockées dans le dossier renseigné par la variable MEDIA_URL (dans le fichier settings.py), dans un sous-dossier dont le nom correspond au pk de la galerie. C’est la librairie easy_thumbnails qui gère la génération des miniatures correspondantes aux images uploadées, à la demande du back.