Modèle <doc> unifié

Patch unifiant le comportement et la syntaxe d’insertion des documents, pour soigner l’inconstance d’affichage dont souffrent les documents de SPIP. Désormais, c’est vous qui choisissez !

Corriger l’inconstance d’affichage

Le comportement des modèles d’insertion des images et documents est actuellement inconstant dans SPIP, car il varie en fonction du « mode d’insertion » (« image » ou « document »), lequel dépend du « portfolio »… Il en résulte que l’affichage d’une image change dès qu’on la dépose ou retire du portfolio.
Il y a une raison à cela, historique, mais on a fini par l’oublier.

C’est ainsi qu’une image insérée en grand format dans l’article 46, par exemple, est soudain transformée, sans prévenir, en vignette cliquable dès qu’elle est utilisée dans le portfolio de l’article 527. Il n’est pas possible, dans un site SPIP natif, d’avoir ces deux affichages en même temps.

Ce plugin corrige ce problème de SPIP : l’affichage d’une image est désormais indépendant du portfolio et donc constant. Désormais, c’est vous qui décidez !

Depuis la V2.0, une page de démo dans l’espace privé (ecrire/ ?exec=configurer_medoc) vous permet de voir l’effet de ce plugin sur vos images et documents.

Vignette cliquable, avec titre et infobulle

Avec ce plugin, l’affichage standard de <doc> est légèrement différent d’un SPIP natif vierge, précisément parce qu’il est constant et unifié — c’est le but !

Par défaut, <doc> affiche une vignette cliquable, avec titre et infobulle informant du poids et du format du fichier, quelque soit le mode d’insertion. Lorsqu’aucun titre n’est renseigné, c’est le nom du fichier qui est utilisé.

Les images web (jpg, gif et png) sont un cas particulier : elles s’affichent en vignette, cliquable si celle-ci est plus petite que l’image originale, et sans titre.

Syntaxe simplifiée : <doc> partout !

Plus besoin de connaître tous les cas de figure et pas de nouvelle syntaxe à apprendre, puisqu’avec ce plugin on utilise le raccourci <doc> dans tous les cas.

Cette syntaxe simplifiée accepte les alignements habituels, avec quelques variantes (ci-dessous), qui permettent de reproduire tous les cas habituels d’affichage d’un SPIP natif. Notez qu’elle peut être étendue par d’autres plugins.

La syntaxe d’appel du modèle dans les articles est <docXX|modèle|alignement|paramètres...> où « XX » est le numéro identifiant du document. L’ordre des paramètres est important.

2. Modèle

|img appelle le modèle « img » natif en mode « image » forcé, ce qui corrige l’inconstance d’affichage et affiche l’image seule, en pleine largeur, de façon constante, indépendamment du portfolio.

|emb appelle le modèle « emb » natif, sans en changer l’affichage, constant, et incruste donc le document avec sa légende. L’incrustation dépend du type du document : si c’est une image, elle sera affichée en pleine largeur, avec sa légende ; si c’est une vidéo, et qu’un lecteur adéquat est disponible, elle sera incrustée dans la page, avec sa légende ; etc.

Notez que ces modèles peuvent être surchargés par d’autres plugins et produire des affichages différents.

3. Alignement

L’alignement se précise comme d’habitude avec |left, |center et |right.

Rétrocompatibilité SPIP

Vous pouvez utiliser ce plugin sur un site existant, car les modèles natifs de SPIP ne sont pas modifiés (à l’exception de <doc>). Les raccourcis historiques <img> et <emb> restent fonctionnels, de façon inchangée, c’est-à-dire avec leurs inconstances. Sauf si vous en ressentez l’envie, il n’est pas nécessaire de corriger les articles qui les utilisent déjà.

Dans tous les cas, site existant ou nouveau, ces raccourcis historiques ne sont plus utiles : ils peuvent donc être ignorés, ce qui simplifie la vie des rédacteurices.

Complétez par d’autres modèles

Ce plugin n’est qu’une rustine qui uniformise le comportement et la syntaxe d’appel des documents dans SPIP, sans proposer de nouveau modèle d’insertion. Il satisfait pleinement un usage ordinaire.

Vous pouvez le compléter par tout autre plugin qui ajoute des modèles d’insertion (ne surchargeant pas le fichier doc.html), comme :

-  Video Accessible
-  Lecteur pdf javascript pdf.js
-  Plugin Google Viewer
-  Modèles media
-  etc.

Attention, dès que vous utilisez un autre plugin surchargeant le fichier doc.html, vous perdez le bénéfice de celui-ci !

Rendre votre plugin compatible avec celui-ci

Petit souci : si le plugin que vous développez surcharge le fichier doc.html, il n’est pas compatible avec Medoc. Amies développeures, il vous faut donc adapter votre plugin, comme suit (depuis la V2.1) :

1) renommez votre fichier doc.html, en « toto.html » pour l’exemple ;
2) copier le fichier doc.html du plugin Medoc, dans votre plugin ;
3) dans ce fichier copié, remplacez « toto » par le nom de votre modèle.

Dans le plugin Medoc, le fichier doc.html se contente de ré-orienter vers le bon modèle d’affichage. Il y joue le rôle central, et doit être préservé, pour ne pas perdre tout le bénéfice de ce plugin. C’est le fichier homonyme medoc.html qui assure l’affichage unifié du raccourci <doc>. Il ne vous est pas nécessaire de surcharger ce dernier.

Discussion

2 discussions

  • 2

    Bonjour,
    j’ai pas mal de pages ( (SPIP 3.2.11 ) avec des images sous le raccourci de type

    <docXXX>

    , qui n’ont donc pas de balise ’alt’ (nécessaire au référencement) : est-ce que ce plugin permet d’ajouter cette balise ’alt’ à partir du titre de l’image svp ? Sinon ce serait une superbe idée d’amélioration !

    merci

    • merci de vos réponses par avance

    • Oui, à la lecture du code, l’attribut alt est bien généré à partir du titre attribué au document

    Répondre à ce message

  • 4

    Bonjour,

    merci pour ce plugin qui apporte une uniformisation au grandement appréciable !

    Petite question sur la gestion du crédit photo comment insérer proprement #CREDITS avec ce plugin ?

    Antony

    • Il te faut modifier les modèles de documents de SPIP en ajoutant par exemple Plugin Figure.

    • tetue, merci de la réactivité et de l’info c’est exactement mon besoin :)

    • Avec plaisir :)

    • Filipe

      Bonjour. En profitant de cette conversation, on peut alors utiliser les plugins medoc et figure comme complement l’un de l’autre. C’est bien ça ?

    Répondre à ce message

Ajouter un commentaire

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

Merci d’avance pour les personnes qui vous aideront !

Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.

Qui êtes-vous ?
[Se connecter]

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom