[SPIP Zone] Plugin Enluminures Typos V2 et Couteau Suisse

Je dois avouer que je suis ravi de voir le travail de séparation qui a été fait entre la barre typo V2 d'un coté et le plugin Enluminures Typograpiques de l'autre.

Cela permet de pouvoir installer la barre typo V2 sans rajouter de nouveaux raccourcis typographiques et, au besoin, installer les nouveaux raccourcis de Enluminures. On peut ainsi s'adapter aux besoins de chaque site.

J'aurais cependant quelques éléments de réflexion :

* Je suis personnellement un utilisateur des nouveaux raccourcis (en particulier les différents niveaux d'intertitre) car, sur certains sites, il me permettent d'écrire des articles plus structurés.
Cependant, si le fait de pouvoir disposer de nouveaux raccourcis est un plus lorsque cela est pertinent au contenu d'un site, le retour en arrière est difficile voir impossible. En cas de désinstallation définitive du plugin, il faut reprendre tous les articles pour traiter les raccourcis qui ne sont plus gérés par SPIP. Les plugins qui installent des nouvelles tables de données offrent en général une fonction SUPPRIMER TOUT qui permet de désinstaller définitivement le plugin en question et qui nettoient les tables de données. Il me semble que Enluminures Typo devrait également fournir un script de désinstallation totale qui supprimerait de la base de données les raccourcis typographiques du plugin. Par exemple, tous les {2{ }2} seraient transformés en {{{ }}}. etc.

* Ce problème se pose de la même manière avec les nouveaux raccourcis typographiques proposés par le couteau suisse. Il faudrait également pouvoir revenir en arrière sans casser le contenu des articles.

* L'ensemble des nouveaux raccourcis typographiques n'auraient-ils pas intérêt à être centralisés au même endroit. Autrement dit, les raccourcis typographiques proposés par le couteau suisse n'auraient-t-ils pas intérêt à être proposé via Enluminures Typo et non via le couteau suisse, d'autant plus que ce plugin utilise les pipelines de la barre typo V2 ? Bien sur, face à autant de nouveaux raccourcis typo, il serait pertinent que l'on puisse, via une page de config de Enluminures Typo, choisir les nouveaux raccourcis que l'on active ou non et que l'on propose ainsi aux rédacteurs, notamment via l'ajout d'icônes dans la barre typo.

* Si le webmaster d'un site est en général au courant des nouveaux raccourcis installés puisque que c'est lui qui installe les plugins, il n'en est pas de même pour les rédacteurs. D'ailleurs, pour ces derniers, il n'y a pas forcément de différence entre raccourcis standard de SPIP et ceux rajoutés par un plugin. Si un rédacteur clique sur l'icone d'aide, il ne verra que la doc propre à SPIP. Se pose donc la question d'une doc enligne uniforme pour les rédacteurs qui prenne en compte l'ensemble des raccourcis typographiques à leur disposition.
Cela passe-t-il par un système de pipeline dans la doc enligne ? Ou plus simple peut-être par un changement du lien de l'icône d'aide présent dans la barre typo V2 ? Ainsi, au lieu d'appeler la doc standard de SPIP, le lien pointerait vers une page de doc présentant les raccourcis typographiques standard mais également les nouveaux raccourcis typographiques activés. Ainsi, toute l'information serait au même endroit pour un rédacteur arrivant sur le site.
Au-delà du cas de Enluminure Typo, cela pose la question d'éventuels pipeline dans la doc utilisateur.

Voili voilou

en espérant que cela fera avancer la discussion sur ses outils.

Joseph

Joseph Larmarange a écrit :

Je dois avouer que je suis ravi de voir le travail de séparation qui a été fait entre la barre typo V2 d'un coté et le plugin Enluminures Typograpiques de l'autre.

Cela permet de pouvoir installer la barre typo V2 sans rajouter de nouveaux raccourcis typographiques et, au besoin, installer les nouveaux raccourcis de Enluminures. On peut ainsi s'adapter aux besoins de chaque site.

J'aurais cependant quelques éléments de réflexion :

* Je suis personnellement un utilisateur des nouveaux raccourcis (en particulier les différents niveaux d'intertitre) car, sur certains sites, il me permettent d'écrire des articles plus structurés.
Cependant, si le fait de pouvoir disposer de nouveaux raccourcis est un plus lorsque cela est pertinent au contenu d'un site, le retour en arrière est difficile voir impossible. En cas de désinstallation définitive du plugin, il faut reprendre tous les articles pour traiter les raccourcis qui ne sont plus gérés par SPIP. Les plugins qui installent des nouvelles tables de données offrent en général une fonction SUPPRIMER TOUT qui permet de désinstaller définitivement le plugin en question et qui nettoient les tables de données. Il me semble que Enluminures Typo devrait également fournir un script de désinstallation totale qui supprimerait de la base de données les raccourcis typographiques du plugin. Par exemple, tous les {2{ }2} seraient transformés en {{{ }}}. etc.

* Ce problème se pose de la même manière avec les nouveaux raccourcis typographiques proposés par le couteau suisse. Il faudrait également pouvoir revenir en arrière sans casser le contenu des articles.

Exact, c'est une bonne idée. Le couteau suisse ne propose pas à l'heure actuelle de suppression en base de donnée des raccourcis typographiques suplémentaires.
A mettre dans un TODO.
Spip-contrib possède encore plein de raccourcis du type {2{ }2}
Un petit nettoyage ne serait pas de trop.

* L'ensemble des nouveaux raccourcis typographiques n'auraient-ils pas intérêt à être centralisés au même endroit. Autrement dit, les raccourcis typographiques proposés par le couteau suisse n'auraient-t-ils pas intérêt à être proposé via Enluminures Typo et non via le couteau suisse, d'autant plus que ce plugin utilise les pipelines de la barre typo V2 ?

Ah tiens ? non, en fait pas encore... J'ai tenté de comprendre comment utiliser les pipelines de la barre typo V2, mais sans succès à ce jour. Aucune doc n'existe à ce jour, j'attends une réponse des auteurs.
Une passerelle entre les 2 plugins n'est pas inenvisageable. Le couteau Suisse propose en effet un certain nombre de raccourcis qu'il serait judicieux de transformer en boutons (seuls les smileys offrent une balise spip à insérer dans le squelette).
La barre typo semble cependant suivre une philosophie rédactionnelle qui lui est propre. J'aimerais que le couteau suisse soit un peu plus ouvert (voir par exemple la gestion des balises de couleurs...)

Bien sur, face à autant de nouveaux raccourcis

typo, il serait pertinent que l'on puisse, via une page de config de Enluminures Typo, choisir les nouveaux raccourcis que l'on active ou non et que l'on propose ainsi aux rédacteurs, notamment via l'ajout d'icônes dans la barre typo.

Le Couteau Suisse propose sur sa page d'admin un cadre à gauche comportant un récapitulatif de tous les raccourcis introduits par les outils activés. La fonction d'aide renvoyant ces raccourcis est déjà prête ($aide_racc = cs_aide_raccourcis();), elle manque peut-être un peu d'emballage...

Pat

* Pat tapotait, le 21/06/2007 04:17:

Ah tiens ? non, en fait pas encore... J'ai tenté de comprendre comment utiliser les pipelines de la barre typo V2, mais sans succès à ce jour. Aucune doc n'existe à ce jour, j'attends une réponse des auteurs.

La doc est quelque part dans les archives de cette liste, sous la plume de spipcarto.
C'est cette doc que j'ai utilisée sans la comprendre.

Une passerelle entre les 2 plugins n'est pas inenvisageable. Le couteau Suisse propose en effet un certain nombre de raccourcis qu'il serait judicieux de transformer en boutons (seuls les smileys offrent une balise spip à insérer dans le squelette).

Et ces smileys pourrait être dans un bouton qui déplirait leur liste.

La barre typo semble cependant suivre une philosophie rédactionnelle qui lui est propre. J'aimerais que le couteau suisse soit un peu plus ouvert (voir par exemple la gestion des balises de couleurs...)

La barre typo v2 est agnotisque en la matière (elle ne fait qu'améliorer les fonctionnalités de la barre typo native de SPIP).
C'est les enluminures typo qui ont une philosophie rédactionnelle !

Bien sur, face à autant de nouveaux raccourcis
typo, il serait pertinent que l'on puisse, via une page de config de Enluminures Typo, choisir les nouveaux raccourcis que l'on active ou non et que l'on propose ainsi aux rédacteurs, notamment via l'ajout d'icônes dans la barre typo.

Il serait peut-être temps d'appuyer le Couteau Suisse sur cfg, non ?

--
RealET

Le 21/06/07, RealET<real3t@gmail.com> a écrit :

* Pat tapotait, le 21/06/2007 04:17:

> Ah tiens ? non, en fait pas encore... J'ai tenté de comprendre comment
> utiliser les pipelines de la barre typo V2, mais sans succès à ce jour.
> Aucune doc n'existe à ce jour, j'attends une réponse des auteurs.
La doc est quelque part dans les archives de cette liste, sous la plume
de spipcarto.
C'est cette doc que j'ai utilisée sans la comprendre.

Salut,
J'ai retrouvé ceci dans les archives (je remet l'extrait car il y a
un diff complet) :
......
pour ajouter un bouton, j'ai donc juste à faire dans mon plugin :
function paginart3_BarreTypoEnrichie_avancees($paramArray){
$p=explode(basename(_DIR_PLUGINS)."/",str_replace('\\','/',realpath(dirname(__FILE__))));
   return "&nbsp;".bouton_barre_racc
("barre_raccourci('\n\n{p{','}p}\n\n',".$paramArray[0].")",
_DIR_PLUGINS.end($p).'/img_pack/icones_barre/intertitre_p.png',
_T('paginart3:barre_intertitre_p'), $paramArray[1])."&nbsp;";
}

et pour ajouter le traitement qui va avec :
tester_variable('BarreTypoEnrichie',
                   array(
                       'intertitre_p_debut'=>array(
                           "chercher"=>"/(^|[^{])\{p\{/S",
                           "remplacer"=>"\$1\n\n<h3 class=\"paginart3\">"),
                       'intertitre_p_fin'=>array(
                           "chercher"=>"/\}p\}($|[^}])/S",
                           "remplacer"=>"</h3>\n\n\$1")
                       )
                   );

et bien sur, ajouter la fonction nettoyer_raccourcis_typo qui va avec.
....

si ça peut aider
A+
--
Arnaud

RealET a écrit :

* Pat tapotait, le 21/06/2007 04:17:

La barre typo semble cependant suivre une philosophie rédactionnelle qui lui est propre. J'aimerais que le couteau suisse soit un peu plus ouvert (voir par exemple la gestion des balises de couleurs...)

La barre typo v2 est agnotisque en la matière (elle ne fait qu'améliorer les fonctionnalités de la barre typo native de SPIP).
C'est les enluminures typo qui ont une philosophie rédactionnelle !

Pardon pour l'amalgame :wink:

Bien sur, face à autant de nouveaux raccourcis
typo, il serait pertinent que l'on puisse, via une page de config de Enluminures Typo, choisir les nouveaux raccourcis que l'on active ou non et que l'on propose ainsi aux rédacteurs, notamment via l'ajout d'icônes dans la barre typo.

Il serait peut-être temps d'appuyer le Couteau Suisse sur cfg, non ?

Sans doute, mais, pour ceux qui connaissent bien cfg, quels seraient vraiment les avantages par rapport à l'existant?

J'avoue ne pas encore avoir décortiqué cfg, là j'ai pas mal de boulot en ce moment, mon temps de bénévolat se réduit temporairement...

Pat

* Pat tapotait, le 22/06/2007 03:25:

RealET a écrit :

Il serait peut-être temps d'appuyer le Couteau Suisse sur cfg, non ?

Sans doute, mais, pour ceux qui connaissent bien cfg, quels seraient vraiment les avantages par rapport à l'existant?

L'intérêt de cfg, c'est :
- une lecture écriture facilité dans la table spip_meta
- de manière compacte (serialisation dans une seule ligne de spip_meta par écran de confi)
- le rajout d'une option de config se fait facilement par un squeleette
- la lecture d'une option de config se fait facilement depuis un squelette
- cfg a vocation à être intégré dans le core

--
RealET

Le 22/06/07, RealET<real3t@gmail.com> a écrit :

* Pat tapotait, le 22/06/2007 03:25:
> RealET a écrit :
>> Il serait peut-être temps d'appuyer le Couteau Suisse sur cfg, non ?
> Sans doute, mais, pour ceux qui connaissent bien cfg, quels seraient
> vraiment les avantages par rapport à l'existant?
L'intérêt de cfg, c'est :
- une lecture écriture facilité dans la table spip_meta
- de manière compacte (serialisation dans une seule ligne de spip_meta
par écran de confi)
- le rajout d'une option de config se fait facilement par un squeleette
- la lecture d'une option de config se fait facilement depuis un squelette
- cfg a vocation à être intégré dans le core

Ca permet aussi d'harmoniser le paramétrage des plugins -> ergonomie
commune et maintenance/impact des évolutions simplifiés en général
a+
--
Arnaud

1/ Le Couteau Suisse a vocation a rassemblé plusieurs petits éléments de personnalisation de SPIP. Ne serait-ce pas pertinent de faire de même pour les raccourcis typographiques supplémentaires ? Ne devraient-ils pas êtres tous être réunis dans un même plugin, à l'administrateur du site de choisir ceux qu'il active ? Si tous les raccourcis typographiques supplémentaires sont réunis au même endroit, que vaut il mieux ? un plugin réservés uniquement aux raccourcis typographiques (donc dans Enluminures Typographiques) ou bien de tout réunir dans le Couteau Suisse ?

2/ Pouvoir désinstaller définitivement les nouveaux raccourcis de la base de données. Je ne m'y connais personnellement pas vraiment en SQL mais existe-t-il des requêtes SQL pour réaliser en bloc du "rechercher/remplacer" ?

Jo

* Joseph tapotait, le 23/06/2007 00:56:

1/ Le Couteau Suisse a vocation a rassemblé plusieurs petits éléments de personnalisation de SPIP. Ne serait-ce pas pertinent de faire de même pour les raccourcis typographiques supplémentaires ? Ne devraient-ils pas êtres tous être réunis dans un même plugin, à l'administrateur du site de choisir ceux qu'il active ? Si tous les raccourcis typographiques supplémentaires sont réunis au même endroit, que vaut il mieux ? un plugin réservés uniquement aux raccourcis typographiques (donc dans Enluminures Typographiques) ou bien de tout réunir dans le Couteau Suisse ?

La crainte que j'ai à tout réunir dans un seul plugin, c'est que des administrateurs du site se mettent à activer des raccourcis qui sortent de la charte graphique du site (je pense aux couleurs par exemple).
Il faudrait presque pouvoir protéger l'accès à la config (ID_WEBMESTRE ou mot de passe stocké dans une meta en clair ou non, ce n'est pas génant).

2/ Pouvoir désinstaller définitivement les nouveaux raccourcis de la base de données. Je ne m'y connais personnellement pas vraiment en SQL mais existe-t-il des requêtes SQL pour réaliser en bloc du "rechercher/remplacer" ?

Oui.
Par exemple, voici la requête pour supprimer les IMG/ au début des chemins des documents (j'en ai eu besoin lors d'une migration en 1.9.3 dev)

UPDATE spip_documents SET fichier=substring(fichier,5) WHERE fichier LIKE 'IMG/%'

SQL a aussi des regexp.

Mais la difficulté, c'est :
1/ de trouver des paires effectivement appariées
2/ de trouver par quoi les remplacer
Par exemple : {2{ }2} niveau de titre 2 devraient être remplacé par :
  - {{{ }}} : un niveau de titre supérieur
  - {{}} : comme le suggère la doc des raccourcis typo de SPIP (perte de la notion de plan de titres)
  - par la valeur stockée dans la config de la BTE (<h4 class="spip"> </h4>
  - par <html><!--{2{--></html> <html><!--}2}--></html> ce qui aurait le mérite de ne pas les perdre complètement, mais seulement les faire ignorer

Bref, c'est pas pour rien que l'article sur la BTE se terminait par l'essayer, c'est l'adopter *à vie !*
  -

--
RealET

RealET a écrit :

Bref, c'est pas pour rien que l'article sur la BTE se terminait par l'essayer, c'est l'adopter *à vie !*

Allez :wink: Jamais rien n'est inéluctable !

Pat

RealET a écrit :

Mais la difficulté, c'est :
1/ de trouver des paires effectivement appariées
2/ de trouver par quoi les remplacer
Par exemple : {2{ }2} niveau de titre 2 devraient être remplacé par :
  - {{{ }}} : un niveau de titre supérieur
  - {{}} : comme le suggère la doc des raccourcis typo de SPIP (perte de la notion de plan de titres)
  - par la valeur stockée dans la config de la BTE (<h4 class="spip"> </h4>
  - par <html><!--{2{--></html> <html><!--}2}--></html> ce qui aurait le mérite de ne pas les perdre complètement, mais seulement les faire ignorer

Bref, c'est pas pour rien que l'article sur la BTE se terminait par l'essayer, c'est l'adopter *à vie !*
  -

Et un script qui propose plusieurs possibilités :
  voulez vous les tranformer en intertitres de niveaux 1, en texte gras, ou supprimer les supprimer purement et simplement ?

Pour le texte centrée, voulez-vous supprimez purement et simplement la balise ou la remplacer par des <p align="center></p> ?

etc.

Ainsi, l'utilisateur a le choix et la désinstallation est possible.

:slight_smile:

* Joseph tapotait, le 23/06/2007 22:54:

RealET a écrit :

Mais la difficulté, c'est :
1/ de trouver des paires effectivement appariées
2/ de trouver par quoi les remplacer
Par exemple : {2{ }2} niveau de titre 2 devraient être remplacé par :
  - {{{ }}} : un niveau de titre supérieur
  - {{}} : comme le suggère la doc des raccourcis typo de SPIP (perte de la notion de plan de titres)
  - par la valeur stockée dans la config de la BTE (<h4 class="spip"> </h4>
  - par <html><!--{2{--></html> <html><!--}2}--></html> ce qui aurait le mérite de ne pas les perdre complètement, mais seulement les faire ignorer

Bref, c'est pas pour rien que l'article sur la BTE se terminait par l'essayer, c'est l'adopter *à vie !*
  -

Et un script qui propose plusieurs possibilités :
  voulez vous les tranformer en intertitres de niveaux 1, en texte gras, ou supprimer les supprimer purement et simplement ?

Pour le texte centrée, voulez-vous supprimez purement et simplement la balise ou la remplacer par des <p align="center></p> ?

etc.

Ainsi, l'utilisateur a le choix et la désinstallation est possible.

Certes, mais actuellement, l'accès à la désinstallation est possible aux admins du site. Et ceux-ci n'ont pas forcément la compétence pour savoir les implications de leur choix.
Toi-même, dans les exemples que tu viens de donner, tu as donné quelque chose de faux en xHTML 1.0 strict...

--
RealET

RealET a écrit :

* Joseph tapotait, le 23/06/2007 22:54:

RealET a écrit :

Mais la difficulté, c'est :
1/ de trouver des paires effectivement appariées
2/ de trouver par quoi les remplacer
Par exemple : {2{ }2} niveau de titre 2 devraient être remplacé par :
  - {{{ }}} : un niveau de titre supérieur
  - {{}} : comme le suggère la doc des raccourcis typo de SPIP (perte de la notion de plan de titres)
  - par la valeur stockée dans la config de la BTE (<h4 class="spip"> </h4>
  - par <html><!--{2{--></html> <html><!--}2}--></html> ce qui aurait le mérite de ne pas les perdre complètement, mais seulement les faire ignorer

Bref, c'est pas pour rien que l'article sur la BTE se terminait par l'essayer, c'est l'adopter *à vie !*
  -

Et un script qui propose plusieurs possibilités :
  voulez vous les tranformer en intertitres de niveaux 1, en texte gras, ou supprimer les supprimer purement et simplement ?

Pour le texte centrée, voulez-vous supprimez purement et simplement la balise ou la remplacer par des <p align="center></p> ?

etc.

Ainsi, l'utilisateur a le choix et la désinstallation est possible.

Certes, mais actuellement, l'accès à la désinstallation est possible aux admins du site. Et ceux-ci n'ont pas forcément la compétence pour savoir les implications de leur choix.
Toi-même, dans les exemples que tu viens de donner, tu as donné quelque chose de faux en xHTML 1.0 strict...

De manière générale, tout plugin devrait être installé ou désinstallé par un webmaster et on peut souhaiter que ce statut passe en standard dans le core. Car de la même manière, installer ce plugin entraine des répercussions avec la nécessité d'une mise à jour des CSS.

Ensuite, si tu proposes plusieurs choix aux individus, tu peux aussi donner les avantages et inconvénients de chacun d'eux.

Jo

Joseph a écrit :

De manière générale, tout plugin devrait être installé ou désinstallé par un webmaster et on peut souhaiter que ce statut passe en standard dans le core. Car de la même manière, installer ce plugin entraine des répercussions avec la nécessité d'une mise à jour des CSS.

Pour aller dans ton sens, installer un plugin nécessite de toute façon un accès ftp. La configuration du plugin devrait donc être faite par la même personne (le webmestre) ou éventuellement le même groupe de personne.

Pat