Albums 3

Le plugin «Albums» évolue dans une version 3 pour SPIP 3.

Avant d’effectuer une mise à jour depuis la version 1 ou 2, consultez les notes sur la rétro-compatibilité. Les modèles, notamment, on reçut quelques changements pour la bonne cause.

En préambule, une courte vidéo de présentation.
Si vous rencontrez des difficultés pour la lecture, rendez vous sur medias.spip.net où le fichier source est téléchargeable.

Des albums, pour quoi faire ?

Dans sa première version, le plugin permettait d’insérer des galeries d’images au fil du texte, dans les articles.

Depuis la version 2, les albums sont des objets éditoriaux à part entière, aussi la portée du plugin est plus générale : il sert à la gestion de groupes de documents.

Des groupes de documents

Un album, c’est donc un conteneur pour une série de documents.
Précisons le bien, si le terme «album» évoque des albums d’images, il peut contenir tout type de document : images, bandes-son, vidéos et autres.
Un même document peut appartenir à plusieurs albums : toutes sortes de combinaisons sont envisageables.

Albums are groups of documents
Albums are groups of documents

Albums et documents liés à un objet

En SPIP 3, les documents liés à un objet sont présentés sous forme de 3 groupes : «illustrations», «portfolio» et «documents». Leur finalité est expliquée dans cet article, mais retenons qu’il s’agit d’une séparation arbitraire pensée pour les articles.
Dans cette documentation, on va se référer à ces documents comme des documents «individuels», par opposition au documents regroupés au sein d’albums.

Les documents individuels et les albums sont indépendants et n’ont pas d’incidence l’un sur l’autre : on peut continuer à gérer les documents individuels comme avant.
En pratique, vous avez le choix au moment d’ajouter des documents à un objet : ils peuvent être ajoutés individuellement, ou regroupés au sein d’albums.

Albums et documents liés
Albums et documents liés
Documents individuels et regroupés aux seins d’albums

Installation & configuration

L’installation se fait comme n’importe que plugin.
2 tables vont être ajoutées : spip_albums et spip_albums_liens.

Des plugins supplémentaires doivent être installés si vous souhaitez bénéficier du formulaire qui permet de personnaliser les balises <album> à insérer dans le texte. Il s’agit de dépendances optionnelles.

Une fois l’installation effectuée, un passage sur la page de configuration est ensuite nécessaire. Elle est constituée de 2 onglets.

Onglet «options»
L’option principale permet de définir sur quels objets les albums pourront être ajoutés.
2 autres options permettent de proposer un titre par défaut lorsqu’on ajoute un nouvel album à un objet, et d’activer le déplacement de documents par cliquer-glisser.

Onglet «outils»
Un formulaire permet de migrer des articles en albums.
Il est prévu dans le cas où l’on se servait d’articles comme de pseudo albums, et se charge de créer des vrais albums à l’identique à partir de ceux-ci.

Utilisation

Les albums peuvent être autonomes ou liés à d’autres objets éditoriaux.

⇒ Dans le cas d’albums autonomes, on les créera depuis la barre d’outil rapide ou depuis la page des albums, comme n’importe quel objet éditorial.

⇒ Dans le cas d’albums liés à des objet éditoriaux, leur gestion est assez similaire à celle des documents : on peut gérer les albums depuis la fiche d’un objet ou lorsque celui-ci est en cours d’édition.

Gestion des albums sur la fiche d’un objet

Sur la fiche d’un objet éditorial, les albums font suite aux documents. L’interface permet d’ajouter de nouveaux albums ou des albums existants, d’éditer leur texte et de manipuler leurs documents.

Albums et documents liés
Albums et documents liés
1) documents «individuels» 2) documents regroupés au sein d’albums

Ajouter des albums

Le bouton «Ajouter un album» fait apparaître un formulaire proposant deux méthodes [1] :

Créer et remplir un nouvel album. Titre et descriptif sont optionnels : laissé vide, le titre sera rempli à posteriori avec «Nouvel album N° X».

Choisir un ou plusieurs albums existants : on peut parcourir la liste, ou rentrer directement les numéros des albums.

Ajouter un album à un objet éditorial
Ajouter un album à un objet éditorial
1) Créer et remplir un nouvel album 2) Choisir un ou plusieurs albums existants

Editer un album sur place

Les albums peuvent être édités sur place. Pour l’édition complète (gestion des auteurs, des mots-clés etc.), on se rendra sur leur fiche.

Editer le texte : une icône apparaît au survol du header, elle permet d’afficher le formulaire d’édition du titre et du descriptif.

Ajouter des documents : un lien situé en bas fait apparaître le formulaire d’ajout de documents.

Manipuler les documents : les boutons d’édition apparaissent au survol de chaque document.

Il est également possible, sous certaines conditions, de déplacer des documents entre albums par cliquer-glisser.

Édition rapide d'un album
Édition rapide d’un album
1) Editer titre et descriptif 2) Ajouter des documents 3) Modifier les documents

Retirer des albums

Pour retirer un album, cliquer sur le bouton qui apparaît au survol, en bas de chaque album.
Lorsqu’il y a plusieurs albums, un bouton présent à la fin de la liste permet de tous les retirer d’un coup.

Gestion des albums lors de l’édition d’un objet

Pendant l’édition d’un objet, la gestion des albums s’opère au même endroit que celle des documents, dans la colonne de gauche.
Quand l’objet peut recevoir à la fois des documents et des albums, un menu permet de basculer entre les deux.

Albums et documents lors de l'édition d'un objet
Albums et documents lors de l’édition d’un objet
1) Gestion des documents 2) Gestion des albums

Ajouter, éditer et retirer les albums

On gère les albums de la même façon que lorsqu’on se trouve sur la fiche de l’objet : même formulaire pour ajouter des documents, mêmes possibilités pour éditer les albums et manipuler leur documents.


Insertion des balises <album> dans le texte

Les albums insérés dans le texte au moyen de la balise <albumX> seront automatiquement associés à l’objet : ce comportement est similaire à celui des balises <doc>, <img> et <emb> des documents.

Un formulaire permet de personnaliser les balises de chaque album : choix de la variante, alignement, paramètres des modèles, etc.

Important : pour bénéficier de cette fonctionnalité, des plugins supplémentaires doivent être installés. Consultez la section sur l’installation.

Personnaliser la balise d'un album
Personnaliser la balise d’un album
En mode édition, un formulaire permet de personnaliser la balise de chaque album en vue de l’insérer dans le texte.

Les modèles

L’apparence, la structure et certains paramètres évoluent par rapport aux versions 1 et 2. Consultez les notes sur la rétro-compatibilité.

2 modèles «album» sont proposés : le modèle de base est une vue en vignettes, complété d’une variante avec une vue en liste.
Par défaut, ces 2 modèles produisent un affichage minimaliste : titre, descriptif, et autres éléments “superflus” ne sont pas affichés à moins d’utiliser les paramètres adéquats (détaillés plus bas).
De même, la feuille de style chargée sur le site public ne contient que le strict minimum.

Ces 2 modèles ne prétendent pas répondre à tous les cas de figure. Les usages possibles sont trop vastes pour être tous pris en compte par un modèle générique : listes de lecture audio ou vidéo, diaporamas, etc.
Pour vos besoins spécifiques, ajoutez des variantes du modèle.

Modèle <album> : vue en vignettes

Modèle album par défaut : vue en vignettes
Modèle album par défaut : vue en vignettes

Ce modèle est prévu pour afficher des séries d’images : les documents sont affichés sous forme de vignettes cliquables.
Il est basé sur Tiny Typo, la base CSS de Romy Têtue.
Les images peuvent être retaillées et recadrées pour obtenir un affichage uniforme, par défaut elles sont retaillées selon une hauteur de 100 pixels.

La structure HTML de base est la suivante (avec #HTML5 activé) :

<figure class="album vignettes figure">
    <ul>
        <li>
            <a href="#"><img src="..."></a>
        </li>
    </ul>
    <figcaption>...</figcaption>
</figure>

Modèle <album|liste> : vue en liste

Modèle album, variante sous forme de liste
Modèle album, variante sous forme de liste

Cette variante affiche les documents sous forme d’une simple liste. Elle est donc adaptée à tout type de documents.

La structure HTML de base est la suivante :

<div class="album liste">
    <ul class="spip">
        <li>
            <a href="#">...</a>
        </li>
    </ul>
</div>


Paramètres des modèles

Paramètres communs aux 2 modèles
Paramètre Description
titre «oui» pour afficher le titre
N’importe quelle chaîne pour un titre personnalisé.
balise_titre Pour encapsuler le titre dans une balise, sans les chevrons.
→ strong, h4, etc.
descriptif «oui» pour afficher le descriptif
par Tri des documents, défaut : «titre»
→ date, titre, media, fichier, extension, taille
media Pour restreindre à un type de document
→ image, file, audio, video
Paramètres propres à la variante «vignettes»
Paramètre Description
largeur Largeur maximale des vignettes
hauteur Hauteur maximale des vignettes, défaut: 100 (pixels)
recadrer «oui» pour recadrer les images
label «oui» pour afficher le titre de chaque document
Paramètres propres à la variante «liste»
Paramètre Description
metas «oui» pour afficher les infos complémentaires de chaque fichier, ou une liste d’éléments séparés par des virgules :
→ extension, taille, dimensions


Ajouter des modèles

Pour que vos propres variantes du modèle soient prises en compte par le formulaire de personnalisation des balises, il faut créer un fichier YAML en plus du squelette HTML.

Ce fonctionnement est inspiré par celui du plugin Insérer Modèles : chaque fichier YAML décrit le modèle et ses paramètres, sous forme de saisies. La syntaxe est identique, avec toutefois 2 éléments supplémentaires :

  • alias : nom de la variante
  • description : description de la variante (optionnelle)

Pour assurer la compatibilité avec le plugin cité plus haut, 4 paramètres sont obligatoires : modele, id_modele, id_album et variante.
Les 3 premiers étant identiques pour toutes les variantes, ils sont regroupés dans un fichier inc-yaml/album-compat.yaml qu’il suffit d’inclure.

Pour les saisies, une option supplémentaire config permet d’avoir comme valeur par défaut un réglage stocké dans la table spip_meta.
Dans l’idée, config:'truc' revient à faire 'defaut'=>lire_config('truc') en php.

Exemple : Imaginons un plugin fournissant une variante «diaporama».
Ce modèle accepterait entre autre un paramètre vitesse dont la valeur par défaut serait enregistrée dans une méta du plugin. Le squelette HTML serait nommé album_diaporama.html et le fichier YAML album_diaporama.yaml.
Ce dernier ressemblerait à ça :

nom: 'un album (diaporama)'
logo: 'prive/themes/spip/images/album-24.png'
icone_barre: 'album-diaporama.png'
alias: 'Diaporama'
parametres:
  - 'inclure:inc-yaml/album-compat.yaml'
  -
    saisie: 'hidden'
    options:
      nom: 'variante'
      defaut: 'diaporama'
  -
    saisie: 'input'
    options:
      nom: 'vitesse'
      config: 'plugin/vitesse'
  - le reste des saisies...

En cas de doute, vous pouvez prendre la variante «liste» comme référence.

Albumothèque

Albumothèque
Albumothèque

L’albumothèque est l’équivalent de la médiathèque, pour les albums.

Les filtres situés dans la colonne de gauche sont prévus pour sélectionner les albums en fonction de leurs documents et de leurs liaisons avec les objets : articles, auteurs, mots-clés etc. Attention, il ne s’agit pas de menus, mais bien de filtres : un clic pour activer, un autre pour désactiver.

Des champs avec autocomplétion permettent de trouver un objet précis.
Par exemple, pour afficher les albums liés à un article en particulier, il faut cliquer sur l’icône à droite du filtre «articles», puis rentrer les premières lettres du titre ou son numéro : les articles correspondants vont apparaître dans une liste déroulante, cliquer sur un résultat va mettre à jour la liste des albums.
La fontion d’autocomplétion ne va chercher que les objets ayant un lien avec les albums.

Albumothèque : filtres
Albumothèque : filtres
Des champs avec autocomplétion permettent de trouver les objets liés aux albums.

Déplacer des documents entre albums par cliquer-glisser

Il est possible de déplacer les documents entre albums par cliquer-glisser. L’option doit être activée dans la page de configuration, et vous devez y être autorisé.
Gardez en tête qu’il s’agit d’une fonctionnalité un peu expérimentale !

Lorsqu’on entame le déplacement d’un document, les albums pouvant recevoir celui-ci sont surlignés d’une bordure verte, il suffit d’y relacher le document. Dès qu’un document à été déplacé, un formulaire apparaît en bas de la liste pour enregistrer les modifications. On peut cependant effectuer plusieurs déplacement d’affilée avant de les enregistrer.

Notez qu’il est possible de manipuler également les documents «individuels» liés aux objets.

Déplacer des documents entre albums par cliquer-glisser
Déplacer des documents entre albums par cliquer-glisser
1) Effectuer un ou plusieurs déplacements 2) Valider avec le formulaire qui apparaît en bas

Boucles & critères

Critère {orphelins}

Le critère {orphelins} permet de sélectionner les albums sans lien avec un objet éditorial (on qualifiait ces albums «d’autonomes» plus haut).

Jointures

Les albums ont une jointure automatique pour tous les objets (cf. déclaration de la base).

Dès qu’un qu’un id_xxx est présent dans l’environnement, on peut donc sélectionner les albums liés à l’objet sans avoir à faire de jointure explicite avec la table de liens :
<BOUCLE_albums(ALBUMS){id_xxx}>

Attention, pour {id_auteur}, le comportement est différent :

  • <BOUCLE_albums(ALBUMS){id_auteur}> sélectionne les albums de l’auteur (d’après la table spip_auteurs_liens).
  • <BOUCLE_albums(ALBUMS){objet=auteur}{id_objet=#ID_AUTEUR}> sélectionne les albums liés à l’auteur (d’après la table spip_albums_liens).


Sélectionner les albums en fonction de leurs documents

En faisant une jointure avec la table spip_documents, on peut utiliser certains critères des documents :
<BOUCLE_albums(ALBUMS documents){documents.critere=xxx}>
Quelques exemples avec les critères les plus utiles :

  • {documents.media IN image,audio} : albums contenant des images ou des bandes-sons.
  • {documents.id_document=x} : albums contenant le document n°x.
  • {documents.titre LIKE %truc%} : albums contenant des documents dont le titre ou le nom de fichier comprend le terme «truc».
  • {documents.extension == mp3|ogg|oga} : albums contenant des fichiers mp3 ou ogg audio.
  • {documents.taille > 1000000} : albums contenant des documents d’une taille supérieure à 1Mo [2].

Autorisations

Voici comment sont définies certaines autorisations particulières (les administrateurs complets peuvent tout faire).

  • Modifier un album : il faut être auteur de l’album et avoir le droit de modifier tous les objets auquel l’album est lié.
  • Ajouter un album à un objet : il faut que l’objet soit activé dans les options, et avoir le droit de le modifier.
  • Déplacer des documents entre albums : il faut que l’option soit activée, et dans le contexte d’un objet, avoir le droit de modifier tous les albums liés.
  • Supprimer un album : il faut qu’il soit vide, inutilisé et non publié.

Rétro-compatibilité

Modèles

La syntaxe de la version 1, qui avait disparu de la version 2, est à nouveau supportée dans cette version : <album|id_article=x> et <album|id=x,y,z>

La structure du modèle de base a changé, afin notamment de respecter l’usage des balises <figure> et <figcaption> en HTML5.

Visuellement, quelques altérations ont eu lieu :
-  par défaut, les titres sont cachés.
-  le titre et le descriptif du modèle de base passent en bas.

Changement de quelques paramètres :
-  vignettes & liste : titraille est supprimé
-  vignettes & liste : balise_titraille est déprécié au profit de balise_titre
-  liste : infos est déprécié au profit de metas

Divers

-  Le critère {contenu} apparu dans la version 2 est supprimé : on peut utiliser à la place le critère {documents.media == x} avec une jointure (ALBUMS documents) pour un résultat similaire.
Voir la section sur les jointures.

Paramétrage fin par les constantes

-  Constante _ALBUMS_TITRE_COURT : si vous insérez define('_ALBUMS_TITRE_COURT','oui'); dans votre mes_options.php, le titre des images sous les images sera réduit à leur titre et n’incluera pas les indications techniques.

Footnotes

[1Techniquement, le formulaire «ajouter_album» est une fusion des formulaires «editer_album» et «ajouter_document»

[21000000 octets = 975ko, mais on ne va pas chipoter


La version 2 du plugin est documentée ici.
Elle a en quelque sorte servi de transition entre la version 1 et la présente version, qui est la version «correcte» pour SPIP 3. La branche 2 n’est plus amenée à évoluer, et ne recevra que des corrections de bugs.
D’ailleurs, n’hésitez pas à signaler les bugs de la version 2 sur ce forum, en précisant bien quelle version est concernée.

updated on 2 October 2019

Discussion

81 discussions

  • 2

    Bonjour tcharlss,

    Je découvre seulement maintenant ton plugin, et me semble TRES interessant.
    Je vais très rapidement le mettre en place pour un nouveau site, mais surtout dans l’optique d’un trombinoscope, avec infos sur chaque personnes.

    1) J’aurais une question, est-il possible de créer nos propres types d’affichages (hors la version par défaut et la version liste) ? Exemple si je veux proposer à mes rédacteurs 4 ou 5 sortes de rendus visuel ?

    2) J’ai trouvé très sympa et ludique ta présentation visuelle, avec quel outil a t’elle été crée ?

    3) euh... non rien, mais très bonne continuation à toi.

    aRT

    • J’annule ma question concernant les types d’affichages, je vois que tu parles de modèles je vais regarder cette piste.

      aRT

    • Hello,
      1) Effectivement, le mieux est de créer des modèles, par exemple album_truc.html, album_machin.html, à insérer dans le texte ainsi : <albumN|truc>, <albumN|machin>
      2) L’naimation a été faite avec blender, c’est un programme formidable pour faire de la 3D, et il s’en sort bien pour les anims 2D.
      3) Ah ok, merci !

    Reply to this message

  • 2

    Bonjour,

    Je commence à utiliser la notion d’album avec SPIP.

    J’ai une rubrique à laquelle j’ai associé un album. Je n’ai pas d’article directement lié à cette rubrique, mais en revanche j’ai des sous rubriques. Donc pas de soucis, cette rubrique s’affiche bien.

    En revanche je n’arrive pas a afficher l’album lié à cette rubrique !

    Comment faire pour passer un argument du type “id_rubrique”, à la boucle
    du genre ……

    qui ne marche pas .

    merci de vos conseils

    • Hello,

      ceci devrait faire l’affaire :

      1. <BOUCLE_album(ALBUMS){objet=rubrique}{id_objet=#ID_RUBRIQUE}>

      et le plan B si jamais ça ne fonctionne pas :

      1. <BOUCLE_album(ALBUMS abums_liens){albums_liens.objet=rubrique}{albums_liens.id_objet=#ID_RUBRIQUE}>
    • génial !!!!!

      un grand merci

      ca va me simplifier la vie

    Reply to this message

  • Bonjour,
    il me semble que pour faire marcher le Top Album avec ce plugin sous SPIP 3.0.20 + sarkaspipr 4.5.1, il faut modifier plugins/auto/splickr/v0.4.6/modeles/splickrbox.html : ajouter “id_album?

    1. <BOUCLE_flickr(DOCUMENTS){par #ENV{tri, date}}{inverse #ENV{senstri, 1}}{extension==jpg|png|gif}{0,#ENV{taille,12}}{id_article?}{id_rubrique?}{id_album?}>

    Reply to this message

  • 1

    Bonjour,
    J’ai installé le plugin Album sur un SPIP 3.0.20 [22255] neuf puis les plugins :
    YAML
    Saisies
    Vérifier

    En mode modification de l’article j’ai l’erreur suivante dans la partie Album :

    Personnaliser la balise

    #ENV_saisies

    sous le nom de l’album.

    Quelque chose ne va pas ? Je n’ai pas accès aux réglages... Une idée du problème ?
    Merci
    GD

    • En reprenant aujourd’hui c’est rentré dans l’ordre... Un pb de cache...?

    Reply to this message

  • 4

    Bonjour,

    Dans l’espace privé sur la page d’un article avec un album j’ai le message d’erreur :

    1. Aucun squelette prive/squelettes/inclure/albums_modele_infos_prive n’est disponible...    ../plugins/auto/spipr_dist/v0.4.12/modeles/album.htm

    J’ai cherché dans les fichiers SPIPr mais je n’ai pas trouvé ce que je devais changé pour corriger.

    merci
    dd

    Reply to this message

  • GENIAL, le seul truc qui manque c’est de pouvoir ajouter des mots cle aux albums :)

    Reply to this message

  • Bonjour,

    Est-il possible de définir un album par défaut lors de l’insertion dans les articles ? Au lieu d’avoir <album13> avoir directement <album13|perso>.

    Merci!

    Reply to this message

  • 1

    Bonjour,

    J’utilise cet excellent plugin avec Insérer_modèles.

    Dans la barre typo du champ texte par exemple, lorsque je clique sur le bouton Insérer Modèles, 2 boutons permettent d’ouvrir une fenêtre modale menant vers le formulaire d’insertion des modèles:
    -  Album “vignette”
    -  ou Album “liste”.

    Dans les 2 cas, on me propose de sélectionner un id d’album en cliquant sur un bouton Parcourir les albums. Une autre fenêtre modale apparait listant les albums, et lorsque je choisis l’album... Pouf tout disparait ! Et je me retrouve dans le champ texte sans modèle inséré...

    Je précise que le formulaire d’insertion du modèle fonctionne très bien si je saisie directement l’id de l’album.

    A priori le retour entre les 2 modales ne se fait pas bien !

    Suis-je le seul à constater cela ?

    Merci !

    • Bonjour et merci pour le retour.
      Oups, désolé pour le délai de la réponse, les vacances ont été sans pitié !
      Je regarde ça dès que possible.

    Reply to this message

  • Un détail qui aiderait beaucoup des distraits comme moi qui s’était habitué à utiliser un SPIP réglé par défaut en génération automatique de vignettes il y a longtemps et s’est remis à SPIP récemment.

    Serait-il possible d’ajouter au début de la page de documentation d’Album (cette page) un avertissement du genre de celui-ci ?

    « Avant de continuer ce tutoriel, facilitez-vous la vie : n’oubliez-pas de demander à SPIP la génération automatique des miniatures en allant sur la page de configuration des Fonctions avancées de votre espace privé et en choisissant une méthode GD, Netpbm ou autre, si votre serveur le permet et si vous le désirez. La lecture de ce tutoriel en sera grandement facilité. »

    Ce serait génial ! ;)

    Reply to this message

  • 3

    Bonjour,
    Je viens de publier un album avec 2 documents mais lorsque je clique sur “voir en ligne” j’obtiens “Aucun squelette album.html n’est disponible...”

    Faut-il créer une page avec un modèle album ?

    merci
    dd

    • Bonjour,
      Pour l’instant le plugin ne propose pas de squelette côté public pour la page «album».
      C’est dans la todolist (soit enlever ce lien, soit ajouter un squelette).

    • Bonjour,

      Ce problème est très perturbant et fait perdre du temps pour comprendre d’où vient l’erreur. J’ai cherché avant de tomber sur ce commentaire. Je pense qu’il faudrait enlever le lien “Voir en ligne” en attendant que la fonction soit active.

      Merci quand même pour ce travail.

    • C’est juste, c’est corrigé dans la version 3.3.13
      Merci pour le retour.

    Reply to this message

Comment on this article

Who are you?
  • [Log in]

To show your avatar with your message, register it first on gravatar.com (free et painless) and don’t forget to indicate your Email addresse here.

Enter your comment here

This form accepts SPIP shortcuts {{bold}} {italic} -*list [text->url] <quote> <code> and HTML code <q> <del> <ins>. To create paragraphs, just leave empty lines.

Add a document

Follow the comments: RSS 2.0 | Atom