Plugin Encarts

Ce plugin permet d’ajouter des «encarts» [1] à vos articles SPIP. Les encarts sont de petits textes qui viennent compléter un article, et qui peuvent apparaitre, soit au cœur du texte, soit dans la marge [2].

Le plugin encarts coté rédacteur

Une fois le plugin installé, vous pouvez ajouter un ou plusieurs encarts à vos articles SPIP.

Vous disposez de 2 types d’encarts :
-  les encarts simples écrits directement à l’intérieur du texte (et qui ne pourront s’afficher qu’à l’intérieur du texte)
-  les encarts de type “objet SPIP” saisis depuis l’interface privée (qui pourront s’afficher, soit à l’intérieur du texte, soit dans la marge ou ailleurs, tel que défini par le graphiste dans le squelette)

Pour ajouter un nouvel encart simple, dans le corps du texte :
-  éditez le corps du texte de l’article
-  choisissez, au sein du texte, l’endroit où votre encart doit apparaître
-  rédigez y votre encart, puis entourez-le d’une balise <encart> et </encart>
-  ça doit donner quelque-chose semblable à ceci :

<encart>À lire dans la presse : «Biographie d'Adolphe Thiers, bourreau de la commune de Paris»</encart>


-  cliquez sur “enregistrer”
-  votre nouvel encart apparait au sein du texte de votre article !
-  vous pouvez ajouter autant d’encarts de ce type dans votre article
Attention ! cette balise <encart> sera remplacée par SPIP par une balise de type <span> afin de pouvoir être insérée dans les paragraphes de texte (balises <p>); ainsi, la mise en forme que vous mettrez dans ce type d’encart doit uniquement comporter des balises de type «en ligne»; vous devez donc éviter les balises de type titres <hx>, les doubles sauts de ligne, les notes de bas de page, les éléments <docxx>, <videoxx>...
Nota 1 : cette méthode diffère très peu de celle employée par d’autres plugins ajoutant des mises en forme au sein des textes d’article.
Nota 2: les encarts de type “simple” insérés dans votre article par cette méthode ne pourront pas apparaitre dans d’autres articles.

Pour ajouter un nouvel encart de type «objet SPIP»
Dans la partie privée de SPIP, en bas de chaque article, vous disposez d’un bouton nommé “Ajouter un encart” qui vous permet d’ajouter un nouvel encarts dans la base de donnée SPIP.

Chaque encart porte un identifiant unique (un numéro) permettant de le manipuler comme tout objet SPIP : on peut ainsi l’afficher et le placer dans les squelettes grâce aux boucles SPIP.
Mode opératoire pour ajouter un encart en base de données :
-  se déplacer à la fin de l’article
-  cliquer sur le bouton “ajouter un encart”


-  remplissez le titre (éventuellement) et le texte de l’encart
-  vous pouvez utiliser tous les raccourcis de SPIP pour la mise en forme du texte, y compris ajouter des liens ou des images
-  cliquez sur le bouton “enregistrer”
-  votre nouvel encart apparait au dessous de l’article, dans le bloc des encarts


-  vous pouvez ajouter autant d’encarts de ce type à un article
Nota : l’affichage de l’encadré sur le site public se gère dans le squelette ! Si le squelette ne prévoit pas explicitement l’affichage de l’encadré, celui-ci ne s’affichera pas !

Pour faire afficher un encart de type «objet SPIP» dans le corps du texte
Il est possible de faire afficher un encart provenant de la base de données SPIP, à l’intérieur du texte d’un article, grâce au modèle <encartXXX>, XXX étant l’identifiant de l’encart; voici la marche à suivre :
-  vous avez déjà saisi un encart, et connaissez son numéro (imaginons que vous souhaitiez placer l’encart N°159)
-  éditez le corps du texte de l’article
-  choisissez l’endroit où devra apparaître votre encart
-  insérez l’encart avec le code <encart159>


-  cliquez sur “enregistrer”
-  SPIP va remplacer ce code par un appel à l’encart qu’il ira chercher en base de données
Nota 1 : afin d’éviter qu’un encart soit présent par inadvertance, à la fois dans le corps du texte et ailleurs dans le squelette [3] les encarts déjà présents dans le corps du texte disposent d’un statut spécial; ce statut s’appelle “vu” et sa valeur passe à “oui” lorsque l’encart est appelé depuis le corps du texte; ainsi dans les squelettes on pourra choisir de n’afficher dans la marge que les encarts qui ne sont pas déjà présents dans le corps du texte, et dont le statut sera “vu=non”
Nota 2 : comme chaque encadré porte un numéro unique, il peut être inséré dans le corps d’un autre article que son article parent; l’encadré <encart63> peut ainsi être placé dans tout article du site avec ce code.

Le plugin encart coté intégrateur

Le plugin crée un nouvel objet SPIP de type encart. Cet objet est composé des champs suivants, qui pourront être récupérés dans des boucles <BOUCLE_encart(ENCARTS)> :
-  id_encart
-  date
-  titre
-  texte

Les encarts sont liés aux articles, et pour récupérer les encarts d’un article on utilise le critère {id_article} dans les boucles. Ce qui donne par exemple pour récupérer tous les encarts liés à l’article 876 : <BOUCLE_encarts(ENCARTS){id_article=876}>.

Comme on l’a vu, pour éviter d’afficher 2 fois un encart sur une page, si l’auteur a souhaité insérer son encart au sein du texte, SPIP attribue à l’encart en question le statut “vu” à “oui”. Il suffit donc d’ajouter ce critère dans la boucle, ce qui donne : <BOUCLE_encarts(ENCARTS){id_article=876}{vu=non}>.

Les encarts qui sont insérés par l’auteur dans son texte, possèdent la class interne, ce qui permet de styler ces encarts différemment des encarts placés dans un autre bloc par exemple.

Installation et dépendances

Le plugin Encarts s’installe depuis l’interface privée, de la manière classique :
-  configuration > Gestion des plugins
-  bouton “Ajouter des plugins”; vérifiez que vos listes de plugins soient bien à jour
-  descendre sur “Encarts”, cliquez sur la flèche pour télécharger
-  cliquez sur “suivant” pour installer et encore sur “suivant” pour activer
-  gogogo ! Les encarts sont disponibles pour votre site !

Nota : le plugin “Encarts” nécessite 2 plugins utilitaires pour fonctionner :
-  afficher objets, optimisant l’affichage des objets SPIP dans l’interface privée
-  saisies, facilitant l’écriture des formulaires SPIP

Limites & Évolutions

Le plugin insère un <span> s’il trouve le code <encart> dans le texte; cela évite l’ajoute de balises block dans les paragraphes SPIP du texte. A terme il faut remplacer cet inclusion de span par une inclusion de div, tout en détectant si on est pas déjà dans un paragraphe.

A terme, gérer le placement d’un encart par l’emploi éventuel de “left”, “center” ou "right en paramètre de la balise : <encart159| left>.

Footnotes

[1le terme employé dans le monde de l’édition papier serait plutôt «encadrés»

[2marge = colonne gauche ou droite; l’encart peut apparaitre aussi au dessus, au dessous, etc. comme l’a défini le webdesigner

[3dans une colonne ou un bandeau... ou tout autre endroit de la page choisi par le webdesigner pour faire apparaitre les éléments d’une boucle encarts

Discussion

15 discussions

  • Salut,

    Je viens d’installer le plugin Encart 1.3 (accompagné de saisie 1.14.0 et Afficher_object 1.2.0).

    J’ai un problème lors de l’affichage, le texte inclus entre mes balises d’encart n’apparait pas encadré ...

    Est-ce normale ?

    Les plugins dépendant ne sont peut-être pas à la bonne version ?

    D’avance merci de votre aide.

    Reply to this message

  • 6
    Haqqtiviste

    Ne pas oublier d’indiquer dans le tuto les dépendances aux plugins “Saisies” et “Afficher Objet”. Merci en tout cas

    • C’est fait, merci pour la suggestion pertinente !

    • bonjour
      ou est le plugin “afficher objets”

    • A cette adresse : http://svp.smellup.net/spip.php?plugin17

      Ce sera pour ceux qui viendront après moi et qui comme moi n’a pas pu faire fonctionner le plugins ENCARTS à cause des deux plugins dont il dépend !!

    • Mais finalement le fichier n’était pas là ou l’on m’a dirigé, alors il a fallu chercher encore et finalement je l’ai eu ici : http://www.codes-libres.org/zip-plugins/afficher_objets.zip

      à travers google qui m’a proposé ce site : http://www.findthatfile.com

      Franchement, pas évident les amis.

    • Pas évident ?

      Petit rappel :

      Les plugins SPIP sont, pour la plupart, développés sur «la Zone» SPIP, et documentés ici sur SPIP-contrib. Ils peuvent être récupérés par les développeurs avec Subversion, mais tout un chacun peut récupérer le zip qui est généré automatiquement toutes les heures dans le dossier des zips de la zone. Tu aurais donc pu facilement trouver AfficherObjets à cette adresse.

      D’autre part, les plugins s’installent facilement à partir de la page ecrire/?exec=admin_plugin de n’importe quel site SPIP; il faut simplement vérifier que les listes de plugins à télécharger soient à jour.

      Et ils s’installent encore plus facilement avec le plugin STEP, qui gère aussi les dépendances, comme celles de Encarts.

      En conclusion, on trouve tout sur la zone ou dans la galaxie SPIP, nul besoin d’interroger google et de risquer de tomber sur une version de plugin pas à jour.

    • Cool !! Merci pour la précision. Je prend note pour les prochaines fois.

    Reply to this message

  • 2
    Aurélien

    Possible de voir un exemple ?

    Reply to this message

  • Bien ça :-)

    Possible de gérer les encarts avec le Noizetier ou c’est pas prévu ? Ca pourrait limiter la manip des squelettes pour faire afficher les encarts :-)

    Reply to this message

  • 1

    Salut,

    Voici quelques remarques après une première série de test.

    Pourquoi un span ? Si on veut styler l’encart en background ou border on touche les lignes mais pas un bloc comme avec une div. L’encart n’est qu’un cadre ou un quote avec une largeur plus réduite que la div englobante.

    Pourquoi 2 modes de fabrication ? Si on fait la synthèse des 2 pourquoi ne pas avoir une balise calculée comme dans les notes de bas de page ? L’encart de type 1 peut très bien sortir du texte et de sa div, il suffit de jouer sur la marge et le float. Un encart hors de la div mère ça ressemble furieusement à une note de marge … non ?

    Remarque plus générale, il y a beaucoup d’occasion de mettre du texte hors texte, note de bas de page, de marge, citations, ref, index … d’autres plugins s’y attaquent en ce moment. Ne pourrait-on pas homogénéïser les traitements ?

    Un plugin à suivre, merci pour le travail.

    • Hello,

      Merci pour tes remarques.

      pour pouvoir mettre une balise bloc à la place du span, il faudrait s’inspirer du mode de fonctionnement du modèle <doc99|right> c’est à dire détecter avant l’insertion si le modèle a été appelé au sein d’un <p> ou pas, et si oui, fermer le <p> avant d’insérer la balise bloc, et le ré-ouvrir après; c’est une bonne idée, à mettre en oeuvre ;-)

      Les 2 modes permettent au rédacteur d’avoir le choix, qui peut se faire en fonction de la rapidité de rédaction, ou de la taille de l’encart.

      Le mode “objet SPIP” permet d’appeler un encart en dehors du contexte de l’article (dans un autre article par exemple) ce que ne permet pas une note de bas de page ou toute autre contenu du champ #TEXTE.

    Reply to this message

Add a comment

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 / PostgreSQL
  • 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 apparait.

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.

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