Introduction
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épendances
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
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 |
|---|
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 |
|---|
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
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 |
|---|
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.
Liens externes - Plus d’Informations
Permet aux liens externes au site de s’ouvrir dans une nouvelle fenêtre extérieure. Activer cet outil revient à ajouter target="_blank" à toutes les balises <a> dotées par SPIP des classes spip_out et/ou spip_url. 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é.
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 : '  ;(...)’. 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" ou "imprimer.html" sont utilisés (donc ici : "page=print" ou "page=imprimer").
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.
Installation
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.
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 ?