Filets de Séparation

Une lame du Couteau Suisse pour insérer des filets de séparation dans les textes...

Outil du Couteau Suisse permettant d’insérer des filets de séparation personnalisés dans les textes de SPIP

Les possibilités de formatage du texte par défaut proposées par Spip couvrent l’ensemble des besoins en général, mais parfois, on souhaiterait disposer d’un formatage particulier pour une utilisation plus étendue...

Présentation

Cet outil est une fonctionnalité du plugin Le Couteau Suisse que vous pouvez trouver ici : Le Couteau Suisse. Pour avoir accès aux filets de séparations, il vous faut donc avoir préalablement installé ce plugin.

Ensuite, une fois l’outil Filets de séparations activé sur la page d’administration du plugin en espace privé, vous avez donc la possibilité d’insérer des filets de séparation, personnalisables par des feuilles de style, dans le corps des textes, aussi bien pour les articles, les brèves, ... Bref, tous les textes de SPIP.

Le but est d’offrir un moyen simple et rapide pour structurer et visualiser les niveaux d’imbrication des différents textes a l’intérieur des différentes parties et chapitres qui composent un article ou brève.

Cette fonctionnalité est un complément plus riche et plus souple que le filet de séparation par défaut produit par SPIP lors de l’insertion des 4 tirets normaux (----) ou des 4 tirets bas (____).

Utilisation

-  Version prédéfinie
Les balises s’inscrivent toujours en utilisant 4 tirets bas (4 tirets en souligné), séparés, deux à deux, par un chiffre correspondant au type de filet à insérer dans le texte. Cette fonctionnalité est distribuée avec 7 styles pré-formatés, qu’on peut obtenir en insérant des balises __0__ jusqu’à __6__ dans le corps des articles par exemple.
-  Version image
Les balises s’inscrivent toujours en utilisant 4 tirets bas (4 tirets en souligné), séparés, deux à deux, par un nom de fichier que l’on peut trouver dans le dossier : img/filets/

Cet outil du Couteau Suisse permet donc d’adapter n’importe quelle image en insérant des balises du genre __exemple.png__ dans un texte. Seules les images au format png, gif ou jpg sont reconnues et il reste préférable d’utiliser les minuscules seules.

Notes
-  les balises (prédéfinies ou images) doivent être insérées dans une ligne isolée pour être valides.
-  le texte situé entre les balises <html> et </html>, <code> et </code>, <cadre> et </cadre>, <frame> et </frame> ou <script> et </script> est protégé : aucun filet de séparation n’y sera inséré.

Exemples

Pour vous donner une idée des filets qu’on peut obtenir, voici quelques captures d’écran à titre d’exemple :

Tous ces différents filets ont été obtenus uniquement en jouant avec les feuilles de style... Comme vous pouvez le constater, une fois l’outil activé et les styles éventuellement paramétrés selon vos besoins, il devient très facile de créer des séparations personnalisées dans vos textes...

Paramétrage de l’aspect des filets

Cet outil du Couteau Suisse remplace les différentes balises insérées par des paragraphes Html vides ressemblant à ceci : <p class="filet_sep_unstyle"></p>.

Chaque filet prédéfini a son style spécifique, par exemple : <p class="filet_sep_1"></p> pour le filet représenté par la balise __1__. Ces styles sont définis dans le fichier "outils/filets_sep.css". Il y a donc 7 styles pré-formatés qui sont séparés en deux groupes : "Filets" qui produisent des filets simples et "Blocs" qui produisent des blocs avec des fonds et filets différents.

Tous ces filets sont évidemment personnalisables suivant vos goûts et besoins. Vous pouvez aussi ajouter autant de styles supplémentaires que nécessaire, mais en respectant la convention de nommage suivante pour les nouveaux styles : ".filet_sep_N", où "N" est le numéro que vous aurez décidé d’attribuer au style.

En ce qui concerne les filets en image, leur aspect est paramétrable grâce au style ".filet_sep_image" que l’on peut trouver dans le même fichier "outils/filets_sep.css". Cependant, la hauteur du filet choisi correspond toujours à la hauteur réelle de l’image.

Attention : seuls les chiffres sont autorisés pour identifier les styles prédéfinis.

Surcharges des CSS

Vos propres styles CSS doivent être ajoutés dans le fichier habituel de vos squelettes. En ce qui concerne la dist SVN de SPIP, il s’agit du fichier « habillage.css ». On le surcharge souvent à la racine du squelette utilisé pour le site.

Il y a une autre possibilité encore, celle de surcharger directement le fichier plugins/couteau_suisse/outils/filets_sep.css en le recopiant dans monsquelette/outils/filets_sep.css et en y modifiant les styles proposés ou en y ajoutant vos propres styles.

Attention : toute modification d’un fichier surchargé nécessite une recompilation des outils du Couteau suisse, obtenue en se rendant simplement sur la page de configuration du plugin ou en réaffichant celle-ci.

Surcharges des images

Si vous utilisez des filets en images, il est préférable de recopier le dossier img/filets/ directement dans votre squelette. En effet, SPIP va d’abord chercher le dossier en question dans votre squelette avant d’aller explorer les répertoires du plugin : c’est le mécanisme des surcharges. Du coup, vous pouvez créer un dossier monsquelette/img/filets/ afin de remplacer celui du Couteau Suisse et y mettre tous vos filets de séparation. Ainsi, la mise à jour de votre plugin helvétique préféré pourra se faire sans crainte de perdre votre personnalisation.

Attention : toute modification d’un fichier ou d’un dossier surchargé nécessite une recompilation des outils du Couteau suisse, obtenue en se rendant simplement sur la page de configuration du plugin ou en réaffichant celle-ci.

Compléments

Pour les spécialistes :
-  Le pipeline utilisé est : pre_typo
-  Le fichier inclus est : outils/filets_sep.php
-  Les styles sont dans : outils/filets_sep.css
-  Le dossier des images est : img/filets

Historique :

Cette contrib est une amélioration et une adaptation au Couteau Suisse de la contribution originale Filtre Filets de Séparation 1.2 de Fredo.

Discussion

13 discussions

  • 2

    il serait plus que bien de laisser la possibilité que cette lame génère des hr ou p hr /p ou div hr /div car sémantiquement utiliser un p pour faire un séparation n’est pas correcte. Typiquement une personne ayant un lecteur d’écran ou ayant désactivé les images ne sera pas informé de la séparation

    • Qd on désactive les images, les backgrounds disparaissent aussi ? Je ne vois pas comment s’en sortir car un hr invisible c’est comme si yavait rien... quel code proposes-tu ? Pour l’instant, c’est vrai, ce sont des paragraphes vides, mais stylés.

    • je propose de laisser le choix de générer des div vide (ça serait déjà moins dramatique en terme de sens voir un span vide en display block. Sinon une div avec un hr dedans positionné en dehors de l’écran (ça résoudra pas le problème de la désactivation des images mais au moins sémantiquement on sera correcte et pour un lecteur d’écran aussi)

    Répondre à ce message

  • 12

    Bonjour,

    Filet de séparation est il valide avec la 2. Bêta ???
    Je n’arrive pas à faire fonctionner meme avec les raccourcis de base, ou alors je n’ai rien compris.

    quand dans un article sous mon texte le place « __5__ » ou un autre chiffre ou « ornement.png » rien n’apparait. en regardant le source de ma page, je vois là ou devrais être ce code :

    <p><html></p>
    
    <p>&nbsp;&nbsp;&nbsp;</p>
    
    <p></html></p>

    Avec mes remerciements.

    Eric

    • Bien vu. SPIP 2.0 réduit à néant le style des paragraphes. Je viens de déposer un correctif.

    • Merci, ça fonctionne ....
      Sauf que ...
      j’ai un site avec les plugins suivant :
      -  cfg
      -  Crayons
      -  Couteau Suisse
      -  Google sitemap
      -  Grenouille
      -  Thickbox v2

      Sur celui là nickel

      Sur une autre, les plgins suivant :
      -  cfg
      -  Crayons
      -  Couteau Suisse
      -  Google sitemap
      -  Grenouille
      -  Thickbox v2
      -  Lecteur Flash pour MP3
      -  Barre Typo V2 pour 1.9.2 et suivantes

      et là qd j’effectue la mise à jour du couteau ....
      Paf le chien !!! j’ai une page blanche ... plus d’accès en privé plus rien ...

      diverses tentatives pour remettre en ordre rien ... J’enleve tout vis ftp, réinstalle tous (spip 2 + plugins aciens) cela refonctionne.

      Une incompatibilité surement ? doc Dites moi tout !

      Cordialement

      Eric

    • t’as mis a jour la barre typo aussi ?

    • ... Même punition avec la mise à jour de la barre typo V2 ...

    • POur retrouver mon site, j’effectue la manip suivante via ftp

      je zappe la mise à jour

      je réinstalle mon repertoire « tmp » à la racine et toute revient dans l’ordre

      je remets les versions précédentes de barre typo et couteau suisse et les ré active

      Eric

    • POur infos ... en voulant changer de repertoire « chemin » ou dossier squelette j’ai eu ce message d’erreur

      Fatal error: Call to undefined function: code_echappement() in /mnt/114/sdc/9/5/letsgodancing/plugins/auto/couteau_suisse/outils/filets_sep.php on line 24

      si cela peut te donner une piste ...

      eric

    • Merci, je viens de corriger cette erreur.

      Pour le reste, c’est trop vague, je ne reproduis pas...

      On peut avoir parfois un peu plus d’infos en ajoutant : cs=reportall à l’adresse de la fameuse page blanche...

    • Ok noté, je viens de reprendre la manip ...
      Désolé ... page blanche, avec cs=reportall, j’ai les infos suivantes :

      Notice: Undefined index: log_couteau_suisse in cout_options.php on line 41
      
      COUTEAU-SUISSE. [#5B3F0416]. --------------------------------------------------------------------------------
      COUTEAU-SUISSE. [#5B3F0416]. INIT : cout_options, /ecrire/?exec=admin_plugin&cs=reportall
      Notice: Undefined index: spip_cache in cout_options.php on line 50
      
      COUTEAU-SUISSE. [#5B3F0416]. inclusion des fonctions de cout_lancement.php pour initialisation
      Notice: Undefined index: spip_version in cout_lancement.php on line 43
      
      COUTEAU-SUISSE. [#5B3F0416]. #### 1er PASSAGE [#54d25bfe] ################################# - $forcer = 0 [#54d25bfe] PHP v4.4.8-1 - MYSQL v5.0.45 - base SPIP v - code SPIP v12691
      COUTEAU-SUISSE. [#5B3F0416]. [#54d25bfe] cs_initialisation() : Passage #1
      COUTEAU-SUISSE. [#5B3F0416]. [#54d25bfe] -- cs_metas_pipelines = header, post_typo, pre_typo, BT_toolbox, post_propre
      Notice: Undefined index: actif in cout_lancement.php on line 54
      
      COUTEAU-SUISSE. [#5B3F0416]. [#54d25bfe] -- 7 outil(s) actif(s) = dossier_squelettes, spam, insertions, guillemets, mailcrypt, filets_sep, supprimer_numero
      COUTEAU-SUISSE. [#5B3F0416]. [#54d25bfe] cs_initialisation() : Sortie car les metas sont presents
      COUTEAU-SUISSE. [#5B3F0416]. PUIS : cout_options, initialisation terminee
      Notice: Undefined variable: f_mso in cout_options.php on line 85
      
      COUTEAU-SUISSE. [#5B3F0416]. -- fichier '' deja inclu par config/mes_options.php
      COUTEAU-SUISSE. [#5B3F0416]. -- inclusion de '../tmp/couteau-suisse/mes_options.php'
      COUTEAU-SUISSE. [#5B3F0416]. FIN : cout_options, cs_spip_options = 1, cs_options = 1, cs_fonctions_essai = 0
      Fatal error: Cannot redeclare execute_pipeline_bt_gadgets() (previously declared in /tmp/charger_pipelines.php:411) in charger_pipelines.php on line 416

      Avec ma sympathie pour le travail que je te donne, une bonne soirée à toi ... bravo qd meme pour le travail réalisé ...

      « It’s à good job !!! »

      Eric

    • Re moi ... la curiosité n’etant pas le moindre de mes défauts, une fois tout remis comme avant sur la page « Gestion des plugins », j’ai ajouté « cs=reportall » et là j’obtiens :

      Notice: Undefined index: log_couteau_suisse in cout_options.php on line 59
      
      COUTEAU-SUISSE. [#307CA9AF]. --------------------------------------------------------------------------------
      COUTEAU-SUISSE. [#307CA9AF]. INIT : cout_options, /ecrire/?exec=admin_plugin&cs=reportall
      Notice: Undefined index: spip_cache in cout_options.php on line 71
      
      COUTEAU-SUISSE. [#307CA9AF]. inclusion des fonctions de cout_lancement.php pour initialisation
      Notice: Undefined index: spip_version in cout_lancement.php on line 43
      
      COUTEAU-SUISSE. [#307CA9AF]. #### 1er PASSAGE [#948c809] ################################# - $forcer = 0 [#948c809] PHP v4.4.8-1 - MYSQL v5.0.45 - base SPIP v - code SPIP v12691
      COUTEAU-SUISSE. [#307CA9AF]. [#948c809] cs_initialisation() : Passage #1
      COUTEAU-SUISSE. [#307CA9AF]. [#948c809] -- cs_metas_pipelines = header, post_typo, pre_typo, BT_toolbox, post_propre
      Notice: Undefined index: actif in cout_lancement.php on line 54
      
      COUTEAU-SUISSE. [#307CA9AF]. [#948c809] -- 7 outil(s) actif(s) = dossier_squelettes, spam, insertions, guillemets, mailcrypt, filets_sep, supprimer_numero
      COUTEAU-SUISSE. [#307CA9AF]. [#948c809] cs_initialisation() : Sortie car les metas sont presents
      COUTEAU-SUISSE. [#307CA9AF]. PUIS : cout_options, initialisation terminee
      Notice: Undefined variable: f_mco in cout_options.php on line 110
      
      COUTEAU-SUISSE. [#307CA9AF]. -- fichier '' deja inclu par config/mes_options.php
      COUTEAU-SUISSE. [#307CA9AF]. -- inclusion de '../tmp/couteau-suisse/mes_options.php'
      Notice: Undefined index: cs_utils in cout_options.php on line 127
      
      COUTEAU-SUISSE. [#307CA9AF]. FIN : cout_options, cs_options = 1, cs_fonctions_essai = 0
      COUTEAU-SUISSE. [#307CA9AF]. inclusion de cout_pipelines.php 

      si cela peut servir ...?

      eric

    • effectivement, il me semblait que cette erreur avait été corrigée ! tous les pipelines ont été réécrits en minuscule... as-tu vraiment mis à jour la barre typo ?

      Aucun pipeline, dans tous les plugins, ne devrait figurer comme « BT_gadgets » mais pluto : « bt_gadgets »

    • ok je regarde cela de près ... et tiens informé..

      Merci pour la piste ...

      Eric

    • Je devais avoir un truc qui trainer dans un cache, le problème est résolu.

      J’ai pratiqué de la façon suivante :
      -  Effacement de mon rep « plugins » sur le site
      -  Vider le cache complet
      -  effacement du rep « tmp » à la racine du site
      -  repris tous les plugins sur la zone
      -  reinstaller ces plugins sur le site
      -  réactivé les plugins un à un

      C’est tout bon et j’ai de beaux filets.

      Merci Patrice ...

      Cordialement

      Eric

    Répondre à ce message

  • 1

    Bonjour,

    Tout d’abord merci pour cette fonction et son implémentation au sein du génial Couteau Suisse.
    J’ai cependant un petit souci concernant le Validateur XML (activé aussi dans le Couteau Suisse) qui me signale une erreur de type :

    validation : Mismatched tag 106 (boucle _article_principal ligne 98) 618
    dernière balise non refermée : html Ligne106

    et plus bas dans le code on a ce genre de balisage imbriqué :

    <p class=« spip »><html></p>

    <p class=« spip filet_sep filet_sep_0 »> </p>

    <p class=« spip »></html>
    <html></p>

    <p class=« spip filet_sep filet_sep_1 »> </p>

    <p class=« spip »></html>
    <html></p>

    Apparemment, mais je ne suis pas spécialiste, ce genre d’imbrication n’est pas trop aux normes W3C et semble provoquer l’alerte.
    Ce que je ne comprends pas vraiment c’est l’utilité de la balise <html> ouvrante et fermante. Quelle en est l’utilité ?

    D’ailleurs si l’on supprime ces 2 balises dans « filets_sep.php » (ligne 24 et 49), le validateur à l’air satisfait.

    Faut-il modifier le code ?

    Ma config est : SPIP 1.9.2a
    Couteau Suisse : Version : 1.7.2.20

    Merci.

    MF

    • Ah oui, mais la version de votre plugin est trop ancienne, elle date du 23 mai 2007. Hors, cette balise <html> a été supprimée 4 jours plus tard !!

      Autant mettre à jour le plugin, qui a pas mal évolué depuis. La version à ce jour est 1.7.5.7.

    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