SPIP - Contrib

[ar] [en] [es] [fr] [it]



Accueil du site > Administration > Le Couteau Suisse

Le Couteau Suisse

... ou plus de fonctionnalités pour SPIP !

vendredi 4 mai 2007, par Patrice Vanneufville. Dernier ajout mercredi 2 avril 2008

Toutes les versions de cet article :


Ce plugin propose d’introduire facilement de simples fonctionnalités supplémentaires à SPIP et qui s’avèrent rapidement indispensables ! Par exemple : des filtres supplémentaires, des balises pratiques, des facilités typographiques, le contrôle de certaines variables « cachées », etc.

Voir en ligne : Téléchargement


Introduction

Accès direct aux forums

Le plugin « Le Couteau Suisse » propose d’introduire facilement de simples fonctionnalités supplémentaire à SPIP (que l’on pourra appeler « des outils » ou même « des lames ») sans pour autant alourdir le core. Par exemple : des filtres supplémentaires, des balises pratiques, des facilités typographiques, le contrôle de certaines variables « cachées », etc. Ma constatation est de voir que les utilisateurs (dont moi-même !) font souvent les mêmes installations de plugins dont certains ne font qu’une ligne ou deux. Il devient également plus facile de gérer les différentes variables de SPIP cachées à l’utilisateur lambda. L’idée est partie d’un message sur la liste spip.zone de Pierre Andrews (mes hommages, Pierre !) posté le dimanche 17 décembre 2006 19:16, suite à une plainte d’Olivier G. qui déplorait la création d’un plugin entier autour de l’utilisation d’une simple variable.

Le but est donc de réunir toutes ces fonctionnalités, petites mais pratiques, en un seul plugin et d’ajouter dans l’espace d’administration une page de configuration où il suffira de cocher les outils voulus. Le gain en performances et en clarté est non négligeable : le plugin précompile les fonctionnalités lors de l’installation et permet ensuite une navigation plus fluide. Les débutants qui ne connaissent rien au php, html ou à SPIP, seront les premiers servis dans ce projet. Rien de plus facile pour moi ou pour la plupart d’entre vous d’ajouter une ligne de code qui va bien ... Mais ce n’est pas le cas de tout le monde !!

Attention, un plugin encore mouvant...

Le plugin, bien qu’il soit stable, est encore en mouvance. Après s’être appelé Tweak SPIP..., il cherche encore son identité et la place qui lui revient dans le monde spipien. Il convient donc pour l’instant de procéder à des mises à jour régulières. De nouveaux outils peuvent arriver à tout moment !

Dépendance à jQuery

La nouvelle interface de configuration ainsi que quelques outils du plugin requierent la librairie jQuery. Le site officiel (en anglais) est : http://jquery.com/. D’autres informations sont disponibles en français ici : http://www.jquery.info/. Cette librairie de fonctions Javascript a été complètement intégrée dans SPIP à partir de la version 1.92. Pour les versions antérieures, il vous faudra installer un plugin spécifique que vous pouvez télécharger ici : http://files.spip.org/spip-zone/jqu....

Fonctionnalités

Voici un peu en vrac les outils réunis pour l’instant :

Administration

- SPIP et le cache…
- Désactiver le cache  : Par défaut, SPIP calcule toutes les pages publiques et les place dans le cache afin d’en accélérer la consultation. Désactiver temporairement le cache peut aider au développement du site.
- Valeur du quota  : Le cache occupe un certain espace disque et SPIP peut en limiter l’importance. Une valeur vide ou égale à 0 signifie qu’aucun quota ne s’applique.
- Durée du cache local  : Si la balise #CACHE n’est pas trouvée dans vos squelettes locaux, SPIP considère par défaut que le cache d’une page a une durée de vie de 24 heures avant de la recalculer. Afin de mieux gérer la charge de votre serveur, vous pouvez ici modifier cette valeur.
- Durée du cache en mutualisation :Si vous avez plusieurs sites en mutualisation, vous pouvez spécifier ici la valeur par défaut prise en compte par tous les sites locaux (SPIP 1.93).
- Dossier du squelette
Modifie le dossier du squelette utilisé. Par exemple : « squelettes/monsquelette ». En laissant la case vide, c’est le squelette original « dist » fourni par SPIP qui sera utilisé.
- Paragrapher
Applique la fonction SPIP paragrapher() aux textes qui sont dépourvus de paragraphes en insérant des balises <p>.
- Type d’interface privée
Sélectionne d’office le type d’interface privée (simplifiée ou avancée) pour tous les rédacteurs déjà existants ou à venir et supprime le bouton correspondant du bandeau des petites icônes (version 1.9.2 maxi).
- Allègement de l’interface privée
Désactive le menu de changement rapide de statut d’un article au survol de sa puce colorée. Cela est utile si vous cherchez à obtenir une interface privée la plus dépouillée possible afin d’optimiser les performances client (version 1.9.3 mini).
- Gestion du javascript
Pour gérer le javascript dans les articles, trois modes sont disponibles :
- jamais : le javascript est refusé partout
- défaut : le javascript est signalé en rouge dans l’espace privé
- toujours : le javascript est accepté partout.
Attention : dans les forums, pétitions, flux syndiqués, etc., la gestion du javascript est toujours sécurisée.
- Limite la taille des forums
Par défaut les messages de forum ne sont pas limités en taille. Si cet outil est activé, un message d’erreur s’affichera lorsque quelqu’un voudra poster un message d’une taille supérieure à la valeur spécifiée, et le message sera refusé.
- Pas de forums anonymes
Incite tous les auteurs de messages publics à remplir (d’au moins d’une lettre !) le champ « Votre nom (ou pseudonyme) :» afin d’éviter les contributions totalement anonymes.
Cette fonctionnalité utilise la librairie jQuery.
- Suivi des forums
Un auteur d’article est toujours informé lorsqu’un message est publié dans le forum associé. Mais il est aussi possible d’avertir en plus : tous les participants au forum ou seulement les auteurs de messages en amont.
- Pas de stockage IP
Désactive le mécanisme d’enregistrement automatique des adresses IP des visiteurs de votre site par soucis de confidentialité : SPIP ne conservera alors plus aucun numéro IP, ni temporairement lors des visites (pour gérer les statistiques ou alimenter spip.log), ni dans les forums (responsabilité).
- Pas de verrouillage de fichiers
Désactive le système de verrouillage de fichiers en neutralisant la fonction PHP flock(). Certains hébergements posent en effet des problèmes graves suite à un système de fichiers inadapté ou à un manque de synchronisation. N’activez pas cet outil si votre site fonctionne normalement.
- Site en travaux
Permet d’afficher un message personalisable pendant une phase de maintenance sur tout le site public.
- Boîtes privées - Plus d’Informations
Toutes les boîtes décrites ci-dessous apparaissent dans la partie privée.
- Les révisions du Couteau Suisse  : un cadre sur la présente page de configuration, indiquant les dernières modifications apportées au code du plugin (Source).
- Les articles au format SPIP  : un cadre repliable supplémentaire pour vos articles afin de connaître le code source utilisé par leurs auteurs.
- Les auteurs en stat  : un cadre supplémentaires sur la page des auteurs indiquant les 10 derniers connectés et les inscriptions non confirmées. Seuls les administrateurs voient ces informations.
Vous pouvez éagalement définir le nombre maximal d’auteurs à afficher sur le cadre central de cette page.

Améliorations Typographiques
(Les outils suivants modifient juste l’apparence de vos textes, sans en modifier la source)

- Belles puces
Remplace les puces « - » (tiret simple) des articles par des listes notées « -* » (traduites en HTML par : <ul><li>…</li></ul>) et dont le style peut être personnalisé par css.
- Les exposants - Plus d’Informations
Textes français : améliore le rendu typographique des abréviations courantes, en mettant en exposant les éléments nécessaires. Ainsi, Mme devient Mme et en corrigeant les erreurs courantes 2ème ou 2me, par exemple, deviennent 2e, seule abréviation correcte.
- Guillemets typographiques - Plus d’Informations
Remplace automatiquement les guillemets droits (") par les guillemets typographiques de la langue de composition. Le remplacement, transparent pour l’utilisateur, ne modifie pas le texte mais seulement l’affichage final.
- Belles URLs - Plus d’Informations
- Liens corrects  : SPIP a pour habitude d’insérer un espace avant les points d’interrogation ou d’exclamation, typo française oblige. Voici un outil qui protège le point d’interrogation dans les URLs de vos textes.
- Liens orphelins  : Remplace systématiquement toutes les URLs laissées en texte par les utilisateurs (notamment dans les forums) et qui ne sont donc pas cliquables, par des liens hypertextes au format SPIP. Voici un test : www.spip.net est remplacé par www.spip.net.
Vous pouvez choisir le type de remplacement :
- basique : sont remplacés les liens du type http://spip.net (tout protocole) ou www.spip.net.
- étendu : sont remplacés en plus les liens du type moi@spip.net, mailto:monmail ou news:mesnews.
- Smileys - Plus d’Informations
Remplace tous les smileys écrits « en texte » par l’image souriante correspondante. Outil très utile pour les forums.
Une balise est disponible pour aficher un tableau de smileys dans vos squelettes : #SMILEYS.
- MailCrypt - Plus d’Informations
Masque tous les liens de courriels présents dans vos textes en les remplaçant par un lien Javascript permettant quand même d’activer la messagerie du lecteur. Cet outil antispam tente d’empêcher les robots de collecter les adresses électroniques laissées en clair dans les forums ou dans les balises de vos squelettes.

Raccourcis typographiques
(Les outils suivants introduisent de nouveaux raccourcis pour la rédaction de vos textes)

- Découpe en pages et onglets - Plus d’Informations
Découpe l’affichage public d’un article en plusieurs pages grâce à une pagination automatique. placez simplement dans votre article quatre signes plus consécutifs (++++) à l’endroit qui doit recevoir la coupure.
Si vous utilisez ce séparateur à l’intérieur des balises <onglets> et </onglets> alors vous obtiendrez un jeu d’onglets.
Dans les squelettes : vous avez à votre disposition les nouvelles balises #ONGLETS_DEBUT, #ONGLETS_TITRE et #ONGLETS_FIN.
- Blocs multilingues
Introduit le raccourci <:un_texte:> pour introduire librement des blocs multi-langues dans un article. La fonction SPIP utilisée est : _T(’un_texte’, $flux).
N’oubliez pas de vérifier que ’un_texte’ est bien défini dans les fichiers de langue.
- Décoration - Plus d’Informations
De nouveaux styles (classes ou langues) paramétrables pour vos textes et accessibles grâce à des balises à chevrons. Exemple : <mabalise>texte</mabalise> ou : <mabalise/>.
Exemples fournis : <sc>capitales</sc>, <souligne>souligné</souligne>, <barre>barré</barre>, <dessus>dessus</dessus>, <clignote>clignote</clignote> <surgris>gris</surgris> et <surfluo>fluo</surfluo>
- Tout en couleurs - Plus d’Informations
Permet d’appliquer facilement des couleurs (toutes éventuellement paramétrables) à tous les textes du site (articles, brèves, titres, forum, ...) en utilisant des balises en raccourcis (anglais ou français).
Deux exemples identiques : Lorem ipsum [rouge]dolor[/rouge] sit amet et Lorem ipsum [red]dolor[/red] sit amet.
- Chatons Insère des images (ou chatons pour les tchats) dans tous les textes où apparaît une chaîne du genre :nom. Comme pour les smileys, cet outil remplace les raccourcis en texte par les images du même nom qu’il trouve dans le répertoire plugins/couteau_suisse/img/chatons/ ou squelettes/mon_squelette/img/chatons/.
- Filets de Séparation - Plus d’Informations
Permet d’insérer très facilement des filets de séparation personnalisés dans les textes, comme des styles purs ou des images à placer dans le répertoire plugins/couteau_suisse/img/filets.
- Blocs Dépliables - Plus d’Informations
Vous permet de créer des blocs dont le titre cliquable peut les rendre visibles ou invisibles.
Dans les textes SPIP : les rédacteurs ont à disposition les nouvelles balises <bloc> (ou <invisible>) et <visible> à utiliser dans leurs textes.
Dans les squelettes : vous avez à votre disposition les nouvelles balises #BLOC_TITRE, #BLOC_DEBUT et #BLOC_FIN.

Affichage public
(Les outils suivants modifient juste l’apparence des pages publiques)

- Supprime le numéro des titres
Applique la fonction SPIP supprimer_numero() à l’ensemble des titres ou des noms du site public, sans qu’elle soit présente dans les squelettes.
- Forcer langue
Force le contexte de langue pour les jeux de squelettes multilingues disposant d’un formulaire ou d’un menu de langues sachant gérer le cookie de langues.
- Style des paragraphes
Jusqu’à la version 1.92 de SPIP, les paragraphes html (marqués par la balise <p>) étaient systématiquement affublés du style class="spip". Cet outil vous permet de définir le style de vos paragraphes en fonction de vos feuilles de style.
- Activer le validateur xml
Active le validateur xml pour l’espace public tel qu’il est décrit dans la documentation.
- Désactive les objets flash
Supprime les objets flash des pages de votre site et les remplace par le contenu alternatif associé. Nécessite le plugin jQuery ou une version de SPIP supérieure à 1.9.2.
- SPIP et les liens… externes - Plus d’Informations
- Liens externes  : permet aux liens externes au site de s’ouvrir dans une nouvelle fenêtre extérieure. Activer cet outil revient à ajouter automatiquement target="_blank" à toutes les balises <a> dotées par SPIP des classes spip_out, spip_url et/ou spip_glossaire. Il est parfois nécessaire d’ajouter l’une de ces classes aux liens du squelette du site (fichiers html) afin d’étendre au maximum cette fonctionnalité.
- Glossaire externe  : SPIP permet de relier des mots à leur définition grâce au raccourci typographique [?mot]. Par défaut, le glossaire externe renvoie vers l’encyclopédie libre wikipedia.org. À vous de choisir l’adresse à utiliser. Exemple : SPIP.
- Désactive jQuery
Empêche l’installation de jQuery dans la partie publique. Cette librairie (http://jquery.com/) apporte de nombreuses commodités dans la programmation de Javascript et peut être utilisée par certains plugins. SPIP l’utilise dans sa partie privée.
- Sommaire pour les articles - Plus d’Informations
Construit un sommaire en début d’article afin d’accéder rapidement aux gros titres (balises <h3>Un titre</h3>

ou raccourcis SPIP {{{Un autre titre}}}.
- Glossaire interne - Plus d’Informations
Gestion d’un glossaire interne lié à un groupe de mots-clés nommé « Glossaire ». Pour chaque mot, vous avez la possibilité de choisir le nombre maximal de liens créés dans vos textes.

Balises, filtres, critères

- Orientation des images
Ajoute les critères {portrait}, {carre} et {paysage} dans vos squelettes pour le classement des photos.
Idée d’origine
- Version texte
2 filtres pour vos squelettes.
version_texte : extrait le contenu texte d’une page html à l’exclusion de quelques balises élémentaires.
version_plein_texte : extrait le contenu texte d’une page html pour rendre du texte plein.
- Balise #INSERT_HEAD
Active #INSERT_HEAD sur tous les squelettes, qu’ils aient ou non cette balise entre <head> et </head>. Grâce à cette option, les plugins pourront insérer du javascript (.js) ou des feuilles de style (.css).
- Balise #INTRODUCTION - Plus d’Informations
- Longueur du résumé  : vous pouvez préciser (en pourcentage par rapport à la valeur utilisée par défaut) la longueur du texte renvoyé par balise #INTRODUCTION. Une valeur nulle ou égale à 100 ne modifie pas l’aspect de l’introduction et utilise donc les valeurs par défaut suivantes : 500 caractères pour les articles, 300 pour les brèves et 600 pour les forums ou les rubriques.
- Points de suite  : par défaut, les points de suite ajoutés au résultat de la balise #INTRODUCTION sont : '&nbsp ;(...)’. Cette balise à placer dans les squelettes sert en général à la une ou dans les rubriques afin d’introduire les articles, les brèves, etc.. Vous pouvez donc préciser votre propre chaîne de caractère indiquant à l’utilisateur que le texte tronqué a bien une suite.
- Points de suite cliquables  : si la balise #INTRODUCTION est utilisée pour résumer un article, alors le Couteau Suisse peut fabriquer un lien hypertexte sur les points de suite définis ci-dessus afin de mener le lecteur vers le texte original. Par exemple : « Lire la suite de l’article… »
- Liens en clair - Plus d’Informations
Met à votre disposition le filtre : ’liens_en_clair’. Votre texte contient probablement des liens hypertexte qui ne sont pas visibles lors d’une impression. Ce filtre ajoute entre crochets la destination de chaque lien cliquable (liens externes ou mails).
Attention : En mode impression (parametre ’cs=print’ dans l’url de la page), cette fonctionnalité est appliquée automatiquement.

Divers

- Log détaillé du Couteau Suisse
Inscrit de nombreux renseignements à propos du fonctionnement du plugin « Le Couteau Suisse » dans les fichiers spip.log que l’on peut trouver dans le répertoire temporaire (/tmp à partir de SPIP v1.9.2)


J’espère que la liste pourra s’allonger et gagner en qualité. Cette contrib faite pour vous. N’hésitez pas à l’alimenter : les idées lumineuses et les documentations détaillées sont toujours les bienvenues. Il est par exemple possible de réunir ici la gestion de toutes les variables ou définitions prévues pour mes_options.php ou mes_fonctions.php.

Je me suis permis de réunir tous ces plugins en un seul parce qu’ils ont très peu de lignes de code, qu’ils ne manipulent que le fichier mes_options.php, ou qu’ils n’utilisent qu’un seul pipeline. le Couteau Suisse accepte les fonctionnalités « multi-pipeline », mais sont but est bien sûr de réunir toutes les « petites » améliorations de SPIP qui ne sont pas strictement nécessaires mais utiles au plus grand nombre.

Particularités

Le Couteau Suisse offre un mode utile pour l’impression en plaçant le paramètre "cs=print" dans le lien d’appel de la page. Ce mode est automatiquement activé si les squelettes "print.html", "imprimer.html", "imprimir_articulo.html", "imprimir_breve.html" ou "article_pdf.html" sont utilisés (donc ici : "page=print", "page=imprimer", etc.).

Exemples d’appel :
- Dans un navigateur : www.monsite.ici/spip?article999&cs=print.
- Dans un squelette : [(#SELF|parametre_url{cs,print})]
- En PHP : parametre_url(self(), 'cs', 'print')

En mode impression, trois outils réagissent actuellement :
- Découpe en page : l’article est imprimé en intégralité sans découpage (juste un filet discret entre les pages), tout comme les onglets, représentés dans un léger cadre pointillé.
- Sommaire automatique : les ancres ne sont pas placées sur les intertitres.
- Liens en clair : les liens invisibles (liens externes ou mails) sont affichés entre crochets.

Comme vous pouvez le voir trois paragraphes plus haut, un système de compatibilité a été instauré avec les plugins Imprimir Documento et Article PDF.

Attention : Si votre fichier article.html utilise une balise INCLURE pour traiter le corps de l’article, pensez bien à transmettre les paramètres du Couteau Suisse au fond inclus, sous peine de voir le cache dysfonctionner. En effet, SPIP ne transmettant pas automatiquement les parametres d’url aux fonds inclus, le cache sera le même quelque soit la valeur du paramètre ’cs’.

Voici un exemple d’inclusion que l’on peut faire dans le fichier article.html. Il transmet deux paramètres du Couteau Suisse : ’artpage’ pour la découpe en page des articles et ’cs’ pour avoir accès au mode impression du plugin.

[(#REM) Contenu principal : contenu de l'article ]
<INCLURE{fond=inc-corps-article}{id_article=#ID_ARTICLE}{artpage=#ENV{artpage,1}}{cs=#ENV{cs}}>

Installation du Couteau Suisse

- Téléchargement : sur la zone [1]
- Installation : comme tous les autres plugins. Voir : http://www.spip.net/fr_article3396.html
- Configuration : rendez vous sur la page d’administration du plugin en cliquant sur l’icône « Configuration », puis sur l’onglet « Le Couteau Suisse ». Vous arrivez donc ici : ecrire/?exec=admin_couteau_suisse

Mise à jour

Le fichier accessible en téléchargement ci-dessus est régulièrement mis à jour : les petits bugs sont corrigés, des améliorations y sont apportées, de nouveaux outils y sont ajoutés, etc. Il est recommandé de mettre le régulièrement à jour afin de bénéficier des dernières avancées du plugin. Notez bien qu’il faut toujours revalider la page des plugins lorsqu’on met à jour un dossier de plugin. Techniquement, cela permet entre autre de réinitialiser les pipelines et donc les procédures et fonctions utilisées. Ensuite, n’hésitez pas à consulter la page d’administration du plugin lui-même afin de vérifiez vos précédentes options et considérer l’utilité des nouveaux outils éventuellement disponibles.

Un fichier retraçant l’historique n’existe pas actuellement. Je fais appel aux courageuses bonnes volontés qui me lisent à cet instant précis pour cette tâche qui pourrait les intéresser ! Cependant, il vous est possible de consulter les logs de développement ici, ou directement sur la page de configuration du plugin, après avoir activé l’outil : « Les révisions du Couteau Suisse ». Le plugin est en effet développé grâce au système de suivi des version « SVN » [2]. Je cite à ce sujet Alexandra [3] :

La fonction principale d’un système de suivi de versions est de permettre l’édition collaborative et le partage de données. C’est grâce à cet outil que bien des œuvres, des plugins et choses diverses se développent sur spip-zone, où tout le monde peut déposer son bout de code, récuper celui d’un autre, améliorer tel projet commencé, sans que cela ne crée de conflits liés à des modifications simultanées.

Toutes les modifications sont enregistrées sur un serveur unique. Celles-ci sont alors gérées localement sur chaque poste utilisateur par un programme spécifique, qui s’assure que les modifications faites localement ne sont pas incompatibles avec la dernière version en ligne. Il permet aussi à chacun d’effectuer des mises à jour rapides en ne récupérant que les éléments modifiés.

Pour mettre à jour le plugin, la procédure par FTP est en quatre points :

  1. Supprimez tous les fichiers du dossier plugins/couteau_suisse/
  2. Transférez-y les nouveaux fichiers téléchargés sur la zone
  3. Rendez-vous sur la page de gestion des plugins (ou procédez à son réaffichage) : ecrire/?exec=admin_plugin
  4. Rendez-vous sur la page de gestion du Couteau Suisse (ou procédez à son réaffichage) : ecrire/?exec=admin_couteau_suisse

Procédure d’urgence

Si un outil semble incompatible avec son environnement (PHP, SQL, un autre plugin, le squelette, etc.), alors n’hésitez pas à supprimer totalement le répertoire temporaire du plugin : « ecrire/data/couteau-suisse » pour SPIP 1.91 et « tmp/couteau-suisse » pour les suivantes. Les fichiers se reconstruiront automatiquement.

Il existe aussi un lien permettant de réinitialiser complètement le plugin, en désactivant l’ensemble des outils et en supprimant toutes les variables stockées dans la base de donnée. Voici ce lien : ecrire/?exec=admin_couteau_suisse&cmd=resetall

Vous utiliserez ce lien si une page blanche surgit ou si une erreur empêche le bon fonctionnement de votre site, et cela juste après l’activation d’un outil. A l’installation du plugin, il est donc fortement conseillé d’activer les outils un par un, histoire de repérer les éventuels conflits qui pourraient survenir. le monde PHP évolue, SPIP évolue, .... On n’est jamais trop prudent !

Pour les plus curieux et avertis d’entre vous, le Couteau Suisse offre aussi une page de test privée accessible grâce à ce lien : ecrire/?exec=test_couteau_suisse

Et dans tous les cas, le forum ci-dessous est fait pour vous pour les soucis que vous pourriez rencontrer.

Comment piloter la configuration du Couteau Suisse et lui ajouter des lames à la volée...

Ce paragraphe est disponible ici : Le Couteau Suisse à piloter

Quelques informations techniques pour les curieux développeurs

Ce paragraphe est maintenant disponible ici : Le Couteau Suisse pour les développeurs

Compatibilité avec les squelettes ou d’autres plugins

En tout premier lieu, il est déconseillé aux squelettes d’utiliser des balises étoilées (comme #TEXTE*) car elles renvoient le texte brut stocké en base de donnée sans aucun traitement possible. Hors, SPIP laisse la possibilité à un plugin ou un squelette d’appliquer un traitement sur une balise particulière afin de mieux cibler une action donnée sur un objet donné.

Un code de ce genre (balise #TEXTE*) a été détectée dans le squelette Alternatives sur la page article.html. Les outils suivants, bien qu’activés, ne seront donc pas reconnus :
- Les découpes et onglets, Le sommaire automatique, Le Glossaire interne, Les corrections automatiques.
Afin de remédier au problème, vous devez remplacer TOUT le code suivant :

        [<div id="sommaire">
                <h4><:icone_brouteur:></h4>
                (#TEXTE*|sommaire_article|propre)
        </div>]
        [<div class="#EDIT{texte} texte">(#TEXTE*|decouper_en_page{#ID_ARTICLE}|propre|reduire_image{440,0})</div>]

par celui-ci :

        [<div class="#EDIT{texte} texte">(#TEXTE|reduire_image{440,0})</div>]

Pour comprendre les traitements, le meilleur exemple est la suppression du numéro dans les titres. Si vous stockez un titre sous la forme "1. mon titre", vous allez pouvoir ensuite trier vos articles en fonction du titre. Mais si vous ne voulez pas que ce numéro apparaisse sur vos pages publiques, alors deux solutions s’offrent à vous :
- soit vous appliquez un filtre partout : [(#TITRE|supprimer_numero)]
- soit vous ajoutez un traitement : $table_des_traitements['TITRE'][]= 'typo(supprimer_numero(%s))';

Il faut savoir qu’à ce jour, SPIP permet difficilement (à ce jour) d’agir à plusieurs sur les traitements de balises. Le code ci-dessus écrase obligatoirement le code qu’un plugin aurait pu précédemment tenter d’appliquer.
Certains outils du Couteau Suisse risque donc d’être incompatible avec (entre autres) les plugins suivants :
- Table des matières, Pagination articles, Découpe en pages.
L’outil "suppression du numéro des titres" est inutile dans les squelettes suivants (entre autres) :
- Alternatives, forum spipBB, multisaisons, techno_blog.

Dysfonctionnements

N’hésitez pas à remonter tout type de dysfonctionnement du plugin, nous essaierons d’y répondre, dans la mesure du possible. Dans un premier temps, tentez quand même de chercher les causes de vos soucis et soyez méthodiques. Le code est gratuit et améliorable ; chacun peut apporter une pierre à l’édifice.

Dans vos messages, soyez précis. Indiquez bien les différentes versions des éléments que vous utilisez : plugin, squelette, SPIP, PHP, etc. Pour débusquer un bug et trouver la source, il faut d’abord isoler le Couteau Suisse en désactivant les autres plugins, puis isoler l’outil défaillant. Désactiver temporairement son squelette et réutiliser le squelette source de SPIP ("dist") peut également donner des informations utiles.

3 moyens de contact :
- Mail direct, si par hasard vous savez à qui vous adresser
- Le forum ci-après, histoire que tout le monde en profite
- Les listes de diffusion comme spip.zone, sur gmane.org

Avant toute chose, assurez-vous d’avoir :
- la toute dernière version du plugin
- validé la page des plugins (admin_plugin)
- validé la page du couteau suisse (admin_couteau_suisse)
- vidé le cache
- supprimé le dossier tmp/couteau-suisse

Débats

A ce sujet, j’ai tenté de lancer les débats suivants :

Un premier débat qui peut être lancé concerne donc la répartition entre les fonctionnalités du core et celles qui peuvent être placées dans ce plugin que l’utilisateur est libre d’installer ou non. Chaque fonctionnalité peut elle aussi être activée ou désactivée par l’utilisateur. SPIP « gonfle » de jour en jour et la souplesse introduite par les plugins peut permettre un gonflage maîtrisé...

Par exemple, un antispam n’est peut-être pas nécessaire dans le core (utilisé aussi en intranet) mais pourrait trouver une meilleure place dans le Couteau Suisse.

Le second débat, c’est celui de savoir ce qu’il faut mettre dans le Couteau Suisseou non ! Doit-il rassembler diverses corrections typographiques et remplacements graphiques ? Doit-il ajouter de nouvelles balises pour les squelettes ? Doit-il ajouter de nouveaux filtres pour ces balises ?

- De ceci émerge déjà une première réponse : le Couteau Suisse doit pouvoir contrôler les variables « cachées » de SPIP et habituellement placées dans « mes_options.php ».
- Ensuite et à mon sens, les remplacements et améliorations typographiques ont besoin d’un cadre sécurisant unifié. Il est déjà apporté par exemple par les fonctions « monoutil_installe() » et « cs_echappe_balises() » ou les paramètres « version-min » ou « version-max ».
- De même, la compilation des traitements favorise un ciblage plus précis des actions sur les différents textes de SPIP.
- Enfin, le Couteau Suisse doit également pouvoir assurer une compatibilité sans faille entre tous les outils et avec les différentes versions de SPIP.

Qu’en pensez-vous ?

P.-S.

Le logo de cet article a été créé par Kavel : http://www.armatronic.com/

Notes

[1] Téléchargement du Plugin, liens complémentaires : Récupérer le zip sur l’espace de téléchargement, ou le(s) miroir(s), de spip-zone, cf. rubrique Produits finis

[2] http://trac.rezo.net/trac/spip-zone/

[3] Article : http://zine.spip.org/spip.php ?article44


Répondre à cet article

  • Le Couteau Suisse

    13 mai 2008 21:25, par Eric

    Bonjour,

    Juste pour préciser que la barre des smileys n’est plus compatible avec les nouveaux forums de la SVN.

    Quand à la lame "pas de forum anonyme" elle ne fonctionne plus étant donné que l’on ne peut plus entrer de nom ou d’adresse mail avec cette nouvelle version de forum.

    Mais ça je pense que cela va évoluer.

    Merci

    Répondre à ce message

    Retour au début des forums

  • Le Couteau Suisse

    10 mai 2008 23:23, par Osbern

    Juste un message pour vous remercier de ce superbe plugin. J’ai réalisé un site d’histoire et j’ai donc beaucoup apprécié l’option qui met automatiquement en exposant les numéros de siècle. J’aime aussi le glossaire interne pour expliquer les mots difficiles ou pour préciser la localisation d’un lieu.

    Répondre à ce message

    Retour au début des forums

  • Le Couteau Suisse

    9 mai 2008 10:23, par Eric

    Bonjour,

    Les dernière SVN semblent avoir cassées quelques lames.

    Comme les smiley, le sommaire pour les articles, les points de suite cliquables, ...

    Merci

    Répondre à ce message

    • Le Couteau Suisse 9 mai 2008 11:38, par Eric

      Bon ben je me suis encore fait avoir certainement par une histoire de cache.

      Et pourtant j’ai quand même attendu 2 jours pour poster ce message.

      J’ai bien vidé le cache et cela ne fonctionnait pas.

      Et puis d’un coup c’est revenu tout seul.

      Bon la prochaine fois j’attendrais encore un peu plus longtemps avant de venir vous embêter.

      Répondre à ce message

    Retour au début des forums

  • Le Couteau Suisse

    30 avril 2008 09:21, par er

    bj, merci de votre couteau.

    Cependant...j’ai un leger pb, j’utilise la version de spip1.9.3, et quand j’insere des onglets, dans l’affichage privée cela fonctionne normalement, mais dans l’affichage public les onglets se positionnent en vertical au dessus des boites.

    De plus avec le plugin boite a outils ( envoyer mail, aggrandir texte etc)la barre à outil s’affiche elle aussi en vertical et non pas en horizontal... Ce la doit peut etre venir des styles...en fait je cherche, je cherche mais je trouve pas.

    Sinon tout le reste tourne bien et je vous en remercie.

    j’ai essayé plusieurs trucs mais aucun effets sur le pbs. Alors si quelqu’un a qui cela est deja arrivé peut m’aiguiller, cela me rendrait beaucoup service.

    Actuellement je fais tourner en local.

    merci de votre coopération et de votre travail.

    Répondre à ce message

    • Le Couteau Suisse (suite) 5 mai 2008 15:45, par er

      de plus j’utilise le plugin, squelette_multiflex31.

      j’ai regardé dans la construction des articles si il ne trainait pas *( si ce n’était pas le même pb que sur alternative, mais j’ai pas trouvé...)

      si cela est déjà arrivé a quelqu’un,ce serait bien qu’il en fasse part.

      merci er

      Répondre à ce message

      • Le Couteau Suisse (suite) 5 mai 2008 21:20, par Pat

        tu as un lien public peut-être ? là c pas évident de voir le pb...

        Répondre à ce message

        • Le Couteau Suisse (suite) 6 mai 2008 09:58, par er

          rebj,

          en fait je travaille en local,mais j’ai fai une capture d’ecran ou on voit nettement le pb.

          merci encore

          Répondre à ce message

          • Le Couteau Suisse (suite) 7 mai 2008 02:08, par Pat

            Je pense que les CSS sont coupables. Je te conseille d’utiliser Firefox et l’extension Firebug pour traquer toutes les subtilités des CSS et remédier à la situation.

            Répondre à ce message

            • Le Couteau Suisse (suite) 8 mai 2008 11:58, par er

              re,

              un tru cterrible... je recupere le fichier css " decoupe.css" du couteau suisse. je supprime tout le contenu,donc je n’ai plus de feuille de style, et la rien ne change... je stoppe easy php, je relance je recontrole, et tjs pareil... il semblerait que le fichier "decoupe en js" ne prenne pas comme feuille de style le decoupe.css !!! c’est possible ca ??? bon je continu... eric

              Répondre à ce message

    Retour au début des forums

  • Le Couteau Suisse

    29 avril 2008 13:01, par Alfred Sawaya

    Bonjour,

    Je voudrais savoir comment faire pour ajouter les ’++++’ automatiquement (par exemple tous les 1000 caractères, à la fin d’un mot, avec un wordwarp) juste avant que le couteau suisse ne pagine mon texte ? Plus particulièrement, j’aimerais savoir où mettre mon code php qui le fait ?

    Merci beaucoup :)

    Librement,

    Alfred.

    Répondre à ce message

    Retour au début des forums

  • Le Couteau Suisse

    25 avril 2008 18:17, par asso.bachant

    Voici donc le résultat du travail de Patrice sur les onglets ; Suite a mes différentes solicitation.

    Les onglets dans le texte ce code de la maniére suivante :

    <onglets>premier

    ++++deuxiéme

    ++++troisiéme
    </onglets>

    Pour notre site, je me suis retrouvé confronté a devoir insérer des onglets dans les onglets, une modification du code a été necessaire ; modification réalisé par patrice (merci) ; Donc pour insérer des onglets dans un onglet il suffit de numeroté l’onglet ce qui donne.

    <onglets>premier


    bla bla bla

    ++++deuxiéme


    bla bla bla

    <onglets1>premier_du_deuxiéme


    bla bla bla

    ++++deuxiéme_du_deuxiéme


    bla bla bla

    ++++troiséme_du_deuxiéme


    bla bla bla
    </onglets1>

    bla bla bla

    ++++troisiéme

    bla bla bla
    </onglets>

    De plus il me fallait pouvoir utiliser le code des onglets dans le "PS" ; mais comme m’a justemment fait remarqué patrice je cite :

    "ben je sais pas.. je vois pas trop l’interet là, si on le met dans le ps (que très peu de monde utilise) alors il faudrait aussi le mettre dans le chapo, la bio et tout le reste ! autant pour toi d’utiliser un filtre dans ton squelette "

    Donc le fameux filtre c’est :

    - [(#PS*|cs_onglets|propre)] a inserer dans article.html

    et puis il vous ext possible de faire un lien qui mêne directemement dans un Onglet

    - avec onglet=XX dans l’url

    et la je me dit comment je trouve le numero de l’onglet pour faire le lien ; ben tu calcules à partir de zéro.. pas dur ! lol il faut mettre : http://www_ton_site/spip.php ?article_ton_N°&artpage=ton_numero_de_page(si utilisé)&onglet=Ton_numero_d’onglet#outil_sommaire_Ton_numero_dans_ton_sommaire

    comme un exemple c’est mieux : http://www.bachant.info/spip.php ?article603&artpage=2&onglet=6#outil_sommaire_4

    Article exemple utilisant les onglets ; des onglets dans les onglets ; des onglets dans le PS http://www.bachant.info/spip.php ?article603

    ps :/ @llez hop un fricandelle a prévoir ; moi

    Répondre à ce message

    Retour au début des forums

  • Le Couteau Suisse

    18 avril 2008 12:54, par Florent

    1) Les balises html sont également recherchées !

    Ex. Je défini le mot "p" ou "table" dans les mots clés du Glossaire. Alors J’obtiens des trucs comme ça (code source) :

    &lt;<a name="mot1246" href="+-Table-+.html" class="cs_glossaire"><span class="gl_mot">table</span><span class="gl_js" title="Table"></span><span title="terme de musique"></span></a> class="spip" summary=""&gt;
    Institut Médecine des Arts, travaux 2004

    <!--<a name="mot1246" href="+-Table-+.html" class="cs_glossaire"--><span class="gl_mot">table</span><span class="gl_js" title="Table"></span><span title="terme de musique"></span>&gt;

    2) Les accents posent visiblement des problèmes :

    Ex. Si je défini le mot clé "Ré" alors le moteur crée un lien vers ce mot quand il rencontre, par exemple, "Carré".

    Idem dans l’autre sens. On défini "appel" et le moteur fait un lien quand il croise "appelé"

    Répondre à ce message

    • Le Couteau Suisse 18 avril 2008 13:53, par Pat

      1) Le glossaire est plutôt réservé aux mots difficiles... Pkoi voudrais-tu mettre "p" ou "table" ? De plus, les balises html dans les articles SPIP sont rares et peu conseillées...

      2) Quelle version de SPIP as-tu ? Quel Charset choisi pour le site ? Quelle façon de rédiger l’article (copier-coller/clavier/etc.) ? Code source de l’article ? Le Couteau Suisse est-il à jour ?

      Répondre à ce message

      • Le Couteau Suisse 18 avril 2008 14:12, par Florent

        1) Ce n’est pas directement pour moi mais pour un client... :


        P

        dictionnaire de musique, Rougnon, 1935.

        1. Lettre abréviative, employée pour le terme italien piano, qui indique un esonorité douce et faible. 2. V. Notations boécienne.


        Table

        Nom féminin.

        Dictionnaire d’instrumentation et d’orchestration, Rougnon, 1935. Nom donné aux deux parties en bois verni qui forment la caisse sonore dans les instruments à cordes et à archet,dans la guitare, la mandoline. La table supérieure est celle sur laquelle les cordes sont tendues. L’inférieur est appelée table de fond.


        Les balises HTML ne sont pas saisies en dur dans l’article mais avec la syntaxe spip appropriée. Exemple pour un tableau |Cell1|Cell2|. Idem, les paragraphes ne sont pas créés par le rédacteur mais par les filtres spip (saut de ligne => <p>)

        2)

        • SPIP 1.9.2c [10268]
        • Couteau suisse dernière version (1.7.17.03)
        • Charset : UTF-8
        • Les articles sont rédigés avec la syntaxe SPIP uniquement
        • Code source de l’article : http://pastie.caboo.se/182891 (vers la ligne 380)

        Répondre à ce message

        • Le Couteau Suisse 18 avril 2008 14:20, par Florent

          PS : Les <p> ne posent pas vraiment problème car j’ai modifié la requête sql comme suit :

          --- glossaire_fonctions.php
          +++ (clipboard)
          @@ -62,7 +62,7 @@
                  static $accents;
                  if(!isset($accents)) $accents = cs_glossaire_accents();
                  $limit = defined('_GLOSSAIRE_LIMITE')?_GLOSSAIRE_LIMITE:-1;
          -        $r = spip_query("SELECT id_mot, titre, texte, descriptif FROM spip_mots WHERE " . $GLOBALS['glossaire_groupes_type']);
          +        $r = spip_query("SELECT id_mot, titre, texte, descriptif FROM spip_mots WHERE " . $GLOBALS['glossaire_groupes_type']." and LENGTH(titre) > 2");
                  // compatibilite SPIP 1.92
                  $fetch = function_exists('sql_fetch')?'sql_fetch':'spip_fetch_array';
                  // protection des liens SPIP

          Répondre à ce message

        • Le Couteau Suisse 18 avril 2008 14:38, par Pat

          La seule solution serait donc de protéger avant tout traitement du glossaire toutes les balises html : <[a-z][a-z0-9]* [^>]> et </[a-z][a-z0-9]*>

          Répondre à ce message

        • Le Couteau Suisse 18 avril 2008 14:40, par Pat

          (je parlais du code de l’article lui-même en format SPIP, non de la page HTML finale)

          Répondre à ce message

          • Le Couteau Suisse 18 avril 2008 14:48, par Florent

            Heu... je suis loin d’être un spécialiste des RegExp ... et pour tout dire, je n’ai pas compris quelle était la solution (sachant qu’il y a 2 problèmes : balises html et accents) ?

            Merci

            Répondre à ce message

            • Le Couteau Suisse 19 avril 2008 01:42, par Pat

              Je viens de retravailler un peu le code. La version 1.7.17.04 du plugin résout-elle ces 2 pbs ? (sans en créer de nouveaux...)

              Répondre à ce message

              • Le Couteau Suisse 21 avril 2008 08:32, par Florent

                En un mot : Wonderful !

                • Problème 1 sur les balises html : réglé
                • Problème 2 sur les accents : (visiblement) réglé
                • Pas de nouveau problème.

                Mille merci.

                Répondre à ce message

    Retour au début des forums

  • Le Couteau Suisse Problème d’installation

    4 avril 2008 02:20, par Fred

    Apres avoir installé le couteau suisse sous 1.9.2. Je vais dans Configuration, les outils m’apparaissent tous comme inactifs mais je ne peux pas cliquer dessus pour les activer. Où est le problème ? (Ca ne marche pas non plus avec l’ancienne interface)

    Répondre à ce message

    • Le Couteau Suisse Problème d’installation 18 avril 2008 13:55, par Pat

      En cliquant sur les outils, la description s’affiche-t-elle bien ? Dans cette description il y a un lien pour activer l’outil.

      Sinon, y a-t-il des erreurs Javascript ? Que te dit le couple Firefox/Firebug ? Le Couteau Suisse est-il à jour ? Il ne te délivre aucun message particulier sur sa page d’admin ?

      Répondre à ce message

    Retour au début des forums

  • Le Couteau Suisse : mise a jour du plugin

    2 avril 2008 09:31, par DadaMuse

    bonjour, je me demande comment on fait pour mettre a jour le plugin couteau suisse ?

    Je suis sous spip 192b et j’ai actuellement le plugin Version : 1.7.2.12 et je souhaite le remplacer par le plugin Version : 1.7.17.03 que j’ai sur un autre site et qui est meilleur ??

    merci pour vos éclairages !

    Répondre à ce message

    • Le Couteau Suisse : mise a jour du plugin 2 avril 2008 17:11, par Patrice Vanneufville

      Je viens de compléter l’article en ce qui concerne la mise à jour. Un conseil : passez également SPIP à la version 1.92d.

      Pour mettre à jour le Couteau Suisse, la procédure par FTP est en quatre points :

      1. Supprimez tous les fichiers du dossier plugins/couteau_suisse/
      2. Transférez-y les nouveaux fichiers téléchargés sur la zone
      3. Rendez-vous sur la page de gestion des plugins (ou procédez à son réaffichage) : ecrire/?exec=admin_plugin
      4. Rendez-vous sur la page de gestion du Couteau Suisse (ou procédez à son réaffichage) : ecrire/?exec=admin_couteau_suisse

      Répondre à ce message

    Retour au début des forums

0 | 25 | 50 | 75 | 100 | 125 | 150 | 175 | 200 |...



Suivre la vie du site RSS 2.0 | Plan du site | Espace privé | Charte et vie SPIP-Contrib | SPIP | L'autre.net