Nouvelle version du plugin fckeditor-spip

une meilleure intégration à SPIP

Attention, page complètement obsolète, qui devrait être dépubliée : liens brisés, etc.

Dans l’article « Encore une intégration de FCKeditor » vous trouverez une présentation du plugin.

Les améliorations de cette version sont :

  • insertions de liens vers des articles ou des rubriques SPIP depuis fckeditor, icône (dans la barre d’outils liens) :

    ce qui ouvre la boîte :

  • insertions des documents et images SPIP depuis fckeditor (leur téléchargement utilise le mécanisme classique de SPIP), icônes (dans la barre d’outils images) :

    qui ouvre la boîte :

    et

    qui ouvre la boîte :

  • possibilité d’utiliser les modèles SPIP (genre : <modele|parametres> ou <modeleXX|parametres>
  • compatible installation mutualisée
  • possibilité d’utiliser des barres d’outils plus configurable :
  • possibilité de modifier la CSS utilisée par l’éditeur (modifie la CSS de SPIP en conséquence) :
  • des corrections de bug (essentiellement dans les chemins des noms de fichier)
  • MàJ : correction d’un bug avec les insertions d’images
  • MàJ : possibilité d’insérer des liens vers les auteurs, les mots clés, les sites syndiqués, les articles et les rubriques
  • MàJ : passage à fckeditor 2.6.4 Beta
  • MàJ 2 : correction d’un bug (typo) empêchant l’accés aux images via le mécanisme de fckeditor
  • MàJ 2 : ouverture d’une boite d’avertissement en cas de changement de mode (c’est un pis-aller mais ça évitera des pertes d’information)
  • MàJ 3 : correction du bug empêchant la modification des informations de documents

Merci à tous ceux qui ont testé le plugin et qui ont fait remonter les problèmes. C’est vraiment un plaisir de travailler dans ces conditions.

EDIT : en raison d’une faille de sécurité sur cette vieille version du plugin, celui-ci n’est plus disponible au téléchargement.

Discussion

65 discussions

  • 1

    Pour revenir sur ce problème...

    En fait j’ai SPIP 2.0.3 et CFG 1.10.5

    et c’est tout !

    Quand j’installe FCKeditor (la dernière version 2.12) il n’apparait même pas dans les plugins

    J’en conclus que FCKeditor 2.12 entre en conflit avec SPIP 2.0.3

    (je n’ai même pas Sarka)

    Comment se fait il qu’il n’apparaît même pas dans la liste ? Y a-t-il une vérification de code avant de pouvoir apparaître dans la liste ?

    • moi aussi je suis en spip 2.0.3 + cfg 1.10.5 donc ce n’est pas le problème. S’il n’apparaît pas dans la liste des plugins ... a mon avis, il y a deux possibilités :
      soit : le plugin fckeditor-spip-2 n’est pas dans $SPIP_ROOT/plugins/ ou $SPIP_ROOT/plugins/auto/,
      soit : le répertoire fckeditor-spip-2 (et tout ce qu’il y a dedans) n’est pas lisible (et accessible en écriture) par le serveur : apache.

      Sinon, je ne comprends pas ou est le problème.

    Répondre à ce message

  • 9
    Jean-Michel FREDERIC

    Bonsoir

    J’adore ce plugin et je l’utilise depuis longtemps. Je teste actuellement la version 2 de SPIP :

    -  En local, l’intégration du plugin FCK ne pose aucun problème

    -  Sur mon nouveau site www.loucastendet.com, dès que j’active le plugin, j’ai une page blanche, le site n’est plus accessible, ni en partie publique, ni en partie privée. Il suffit que je renomme le plugin FCK pour que le site réapparaisse.

    Les autres plugins installés sont : couteau suisse et cfg.

    Le chemin (server_root) est : /var/www/html/virtualdomains/12345/loucastendet.com/www

    1) Pensez vous que ce soit le « virtualdomains » qui pose problème ?

    2) Ou puis-je trouver une solution ? (j’ai longtemps et vainement cherché)

    Merci pour votre plugin qui offre beaucoup de souplesse

    jmfre

    • Jean-Michel FREDERIC

      Le problème n’est pas lié à FCK, mais à CFG

      Je viens d’avoir le même problème lors de l’installation du plugin Sarka Spip.

      Si je trouve la solution, je l’indiquerais en modifiant cette réponse afin de ne pas surcharger.
      (j’ai aperçu les crayons)

      jmfre

    • Jean-Michel FREDERIC

      Désolé, je ne peux plus ré écrire dans mon précédent post.

      Voici la solution au problème rencontré précédemment :
      -  re-téléchargement de CFG
      -  Installation du plugin sur le site

      Tout fonctionne :
      -  FCKéditor
      -  Sarka-Spip (nécessite quelques modifs pour fonctionner correctement avec FCKéditor)

      Merci encore pour ce précieux plugin

      jmfre

    • Bonjour,

      Je rencontre un problème d’installation sur un site ne local basé sur SPIP 2.0.3 + SarkaSPIP3 (et quelques autres plugins).
      La version 2.6 du plugin FCKEditor fonctionnait (même si quelques fausses manip m’ont ruiné quelques articles), j’ai donc voulu installer la 2.12 pour profiter des améliorations, notamment la gestion des documents spip <documentXXX|param>.

      J’ai voulu faire les choses proprement :
      désactivation du plugin 2.6
      remplacement par la 2.12
      réactivation ... eh ben non il n’apparait pas, snif.

      J’ai donc tenté une approche plus brutale :
      remise en place de la 2.6
      réactivation, tout se passe bien
      écrasement de la 2.6 par la 2.12 en gardant le plugin activé => « echec sur ../plugins/auto/fckeditor-spip-2/fckeditor_fonctions.php »

      J’ai récupéré la 2.8 sur l’ancien article : même chose, impossible à installer

      version de cfg : 1.10.5

      Même avec tous les plugins désactivés à l’exception de ce dernier, le plugin v2.12 n’apparait pas dans la liste. Certainement une erreur quelque part mais je ne sais même pas où on peut trouver des logs plus détaillés que dans tmp/spip.log et prive_spip.log

    • Bonjour

      Le plugin fonctionne parfaitement sur mon poste en local.

      Voici ma configuration, dans l’ordre d’installation

      -  WampServer - Spip 2 - Couteau Suisse - CFG Version : 1.10.5 [26224] - Sarka-Spip 3 - FCKéditor 2-12

      Suggestion :
      -  Désactiver tous les plugins ; Renommer CFG et FCK (en les faisant précéder de 000 par exemple)
      -  Télécharger CFG et FCK, Activer CFG, Activer FCK
      -  Dans la configuration de FCK, activer « Articles »
      -  Dans Spip, en modification d’article, vérifier la présence de FCK
      -  Si FCK fonctionne, Activer Sarka
      -  Si FCK ne fonctionne pas, tenter une install de Spip en paralelle et voir si cela fonctionne.

      Je vous souhaite bon courage.

      jmfre

      .

    • Bonjour,

      J’avais déjà essayé ça (plus ou moins dans cet ordre) mais pour être sûr je viens de le refaire.
      Résultat : je vais avoir du mal à « activer FCK » puisqu’il n’apparait pas dans les plugins. Même si je ne garde que CFG d’activé (et même de réinstallé pour être tranquille).
      CFG 1.10.5 (rev26465).

      Il ne me reste qu’à tester sur une nouvelle installation.

    • Résultat de l’essai sur une install toute neuve : plugin toujours non visible

      SPIP 2.0.3 (rev13596), tous les répertoires en chmod 777
      CFG 1.10.5 (rev 26465)
      Et c’est tout !

      Le tout sur un serveur qui n’est autre que mon poste principal qui fonctionne très bien pour d’autres sites et même du WebDav.
      Fedora 10 x86_64
      Apache 2.2.10
      PHP 5.2.6-5
      MySQL 5.0.67-2

    • Chez moi en local même problème sur SPIP 2.0.3. Le plugin FCK n’apparaît pas ? Je n’ai même pas Sarka

    • Visiblement, fckeditor et sarka entrent en conflit. Mais comme je n’utilises pas sarka, je ne vois pas quel peut-être le problème. S’il n’y a aucun message d’erreur ... je ne peux pas aider.

    • Je viens de procéder à l’installation de SarkaSPIP3 (dans plugins à la main) + fckeditor-spip-2 (en mode auto)

      Chez moi ça marche (TM).

    Répondre à ce message

  • 1

    Bonjour , j’utilise ce plug-in pour la premiere fois. Super .

    Parcontre les texte des boites de dialogue sont tous en Anglais , quel parametrage dois-je changer ?

    Merci

    • En éditant fckeditor_fonctions.php

      J’ai remplacé la ligne

      $oFCKeditor->Config[’DefaultLanguage’] =$GLOBALS[’auteur_session’][’lang’] ; // spip language

      par

      $oFCKeditor->Config[’DefaultLanguage’] = ’fr’ ;

    Répondre à ce message

  • 1

    Bonjour
    le plugin est superbe en espace privé.

    Est-il possible qu’il fonctionne avec les Crayons, qui sont extrèmement utiles (en particulier avec Gribouille) ?

    Merci

    • Il va d’abord falloir que j’apprenne à utiliser jQuery. Techniquement c’est certainement possible. Mais pour l’instant je ne sais pas si je saurais le faire.

    Répondre à ce message

  • 3

    Ce plugin permet-il de faire de l’upload de document ou image via FCKeditor et de les retrouver dans la liste des documents d’un article ?

    Sinon, je ne vois pas vraiment l’intérêt.

    Aller parcourir simplement le répertoire IMG déjà alimenté par les formulaires SPIP je fais ça depuis longtemps (mais pas sous forme de plugin en effet).

    • non, l’idée est plutôt exactement le contraire : se passer ce formulaire d’upload de fckeditor, pour ne conserver que l’upload de spip et donc la séparation par article des documents/images. Que tu n’en voit pas l’intérêt, montre juste que tu n’en a pas besoin : ne l’utilise pas.

      L’intérêt du plugin c’est de pouvoir utiliser fckeditor, les plugins n’ont été développés que pour le site de mon collège (les enfants qui éditent le site sont perdus par la multitudes des possibilités et moi j’aime pas l’effet souk de mettre toutes les images à diposition de tous les articles : avec ces plugins que je peux supprimer l’upload fckeditor et avoir le classement par articles des documents sans que les élèves aient à le faire : par expérience, faut toujours aller faire le ménage derrière eux. Et comme l’objectif n’est pas le classement, je préfère leur faciliter la tâche.

    • En effet, ce plugin n’intéresse donc pas.

      Dommage qu’il ne puisse pas le faire en option, car je trouve l’utilisation de CFG pratique pour ce module.

      Mes demandes sont plutôt inverse, c’est à dire n’uploader qu’une fois un document pour plusieurs articles par exemple.

      Juste une dernière remarque, les phrases d’introduction de cet article peuvent preter à confusion ... la preuve...

      Merci
      Mathieu

    • pour l’upload pour plusieurs articles, il est toujours disponible via fckeditor (le plugin habituel de fckeditor) mais il ne mets pas à jour la db spip (je mets ça sur ma todolist).

    Répondre à ce message

  • Tu as parfaitement pour la première partie. Si le site est dans un sous dossier, tous les liens deviennent invalides.

    Ensuite ton chemin relatif <path|img> semble être la bonne solution, si tu peux contourner ce problème pour les Flash, ce sera grandiose !

    Je me dis que quand même, le dossier /IMG est soit à la racine, soit dans le dossier d’installation de SPIP, donc 2 choix au plus. Il n’y a t il pas un moyen simple de définir cette variable en utilisant une condition comme par exemple

    S'il existe /IMG donc <path|img>= /IMG 
    Sinon <path|img> = /(dossier install)/IMG

    heuh... je suis pas programmeur alors je tente ;)

    Répondre à ce message

  • 5

    Merci pour ta réponse rapide, mais hélas, cela ne change rien.
    J’ai testé SPIP (v2.0.3) en désactivant tous les plugins, en ne laissant que CFG (v1.10.5) et FckEditor (v2.6.4b)
    Tout fonctionne parfaitement, sauf le chemin retourné.
    En ce qui me concerne, en plançant un fichier php contenant une erreur dans le dossier IMG, j’obtiens le chemin absolu suivant :

    /home/_sa/stipa/pub/www.monsite.com/IMG
     

    je suis donc un peu dérouté de voir un .gsys/ apparaitre qui ne correspond pas visiblement à un dossier, cela te parlera sûrement plus qu’à moi.

    As-tu encore une idée ?
    Edit : Voici le phpinfo() de mon hébergeur, il y a peut être une piste...
    http://phpinfo.galacsys.com/

    • En réfléchissant mieux l’erreur ne peut pas se trouver à l’endroit que je t’ai dit de modifier le source ...

      Encore une fois, je ne peux reproduire ton bug, donc on navigue à l’aveugle ... pas facile.

      Je pense que le problème vient du faire que fckeditor étant appelé d’un contexte différent de celui dans lequel seront affichée les page spip, il faut que fckeditor ai le chemin absolue vers les images.

      La peste soit ! Les pièces jointes ne fonctionnent pas !

      Dans, fckeditor_fonctions.php, trouve la ligne :

      // on essaie de trouver les différents chemin d'accès à fckeditor

      Avant cette ligne, ajoute :

      $config = $GLOBALS['contexte_inclus']['config'] ;                                                                      
      $config_plugin = unserialize($config['plugin']) ;                                                                      
      $plugin_path = dirname(__FILE__) ;                                                                                     
      $site_path = preg_replace("~".preg_quote('/plugins/'.$config_plugin['FCKEDITOR']['dir'],'~')."$~","",dirname(__FILE__)) ;

      Puis supprime tout le ’if () { } else {} (jusqu’à : $file = @fopen(_DIR_PLUGIN_FCKEDITOR.'fckeditor_define.php','w') ; mais laisse cette dernière ligne) qui suit cette même ligne et remplace le par :

                              if (lire_config('fckeditor/userfiles') == 'spip') {
                                      define('FCKEDITOR_UserFilesAbsolutePath',$site_path.'/'.rtrim($config['dir_img'],'/')) ;
                                      define('FCKEDITOR_UserFilesPath',$config['adresse_site'].'/'.rtrim($config['dir_img'],'/')) ;
                              } else {
                                      define('FCKEDITOR_UserFilesAbsolutePath',$plugin_path.'/userfiles') ;
                                      define('FCKEDITOR_UserFilesPath',$config['adresse_site'].'/'.$plugin_path.'/userfiles') ;
                              }
    • Merci Fréderic,

      J’ai recopié ton code donné précédemment, et ça fonctionne, grand merci !

      Dans le champ URL l’adresse est du type :

      http://www.monsite.com/IMG/image/mon_image.jpg

      Je dirais que c’est ok donc, tant que je ne change pas de nom de domaine ;)

      Merci

    • oui, il faudrait que je fasse qqc pour ça : c’est dans ma todo-list.

      Le problème est celui annoncé dans mon précédent message : fckeditor ne fonctionne pas au même niveau d’arborescence que spip ... si je mets des lien relatifs valides dans fckeditor ; il ne le sont plus dans spip et réciproquement ...

    • Je comprends, mais ne serait il pas plus simple d’ajouter le chemin manuellement dans un fichier de configuration, ou ajouter un champ dans le paramétrage du plugin qui permette de spécifier un répertoire de base (si vide alors ta méthode de reconnaissance de l’arborescence, sinon suivre le chemin indiqué / ) ?

    • Admettons que je fasse ce que tu proposes (aucun problème technique), tu rédiges un article avec un chemin vers les images du type /IMG
      tu déménages ton site, et tu le places ailleurs qu’à la racine du nouveau site, le répertoire des images devient /sous-site/IMG et hop tous les liens deviennent autant invalide que ceux que j’obtiens à l’heure actuel. Bref : ce n’est pas une solution générique.

      Une solution à laquelle j’ai pensé c’est de créer un modele qu’on apellerait par : <path|img> à la sauvegarde d’un article on remplace tous les chemin absolu vers le site par ce : <path|img> et à l’édition, on replace tous les <path|img> par un chemin absolu. De cette façon, le chemin réel est calculé par spip pour la préview et la publication. Le chemin absolue pour fckeditor est calculé à l’édition. Ça fonctionne. Mais il reste un problème, spip n’interprête pas toujours le modèle, en particulier pas dans <obect src="...."> bref ça empêche de fonctionner les insertions de flash et autres ’object’

      Bref : je cherche toujours une bonne solution

    Répondre à ce message

  • 1

    Bonjour et un grand merci pour ce super travail d’adaptation.

    J’ai tout de même un petit souci de localisation des images.
    Lorsque j’upload une image, j’utilise « Parcourir le serveur ». J’upload mon image, elle apparaît bien. Je clique dessus. L’adresse de l’image se copie bien dans le champ URL de la boîte de dialogue, sauf qu’au lieu d’avoir :

    /IMG/image/mon_image_test.jpg

    j’ai

    /.gsys/IMG/image/mon_image_test.jpg

    Ce qui empêche bien sûr l’image de s’afficher.

    Ce .gsys est probablement en rapport avec mon hébergeur GALACSYS, mais je ne sais pas comment corriger le chemin dans les fichiers de configuration de fckeditor.

    Merci pour votre aide.

    • Bon je fais deux réponses à la fois :

      • le coup du ’autodetect’ = true, des fois ça marche, des fois ça marche pas, donc ce n’est pas une solution générique, la solution serait de récupérer la langue donnée par SPIP, mais je n’y arrive manifestement pas (je pense que j’ai une solution pour la version suivante)
      • pour le gsys, je n’ai pas la solution, mais tu peux essayer de remplacer (dans fckeditor_fonctions.php) :

      $oFCKeditor->Config['SiteSPIPImg'] = $flux['args']['contexte']['config']['adresse_site'].fckeditor_canonize_path('/ecrire/'._DIR_IMG) ;

      par

      $oFCKeditor->Config['SiteSPIPImg'] = $flux['args']['contexte']['config']['adresse_site'].'/'.$flux['args']['contexte']['config']['dir_img'] ;

      et me dire si cela foncitonne : je mettrais cette modification dans la prochaine version.

    Répondre à ce message

  • 3

    Bonjour,

    Ce plugin est vraiment fabuleux ! Néanmoins, une question me taraude :

    Dans les capture d’écran de votre article, les boîte de dialogue sont en français, or toutes mes boîtes sont en anglais. Par ailleurs, je n’ai pas trouvé d’option permettant de changer la langue.

    Je construis le site d’une école avec des élèves de Cm1 et Cm2, cela m’arrangerait d’avoir les menus en français pour leur facilité la tâche.

    Quelqu’un peut-il m’aider ?

    Merci d’avance.

    Ma config : SPIP 2.0.2 [13532], squelette EVA-Web 4.0 beta 2.

    • Normalement, la langue est choisie automatiquement en fonction de la langue de l’auteur.

      ça se passe dans le fichier : fckeditor_fonctions.php sur la ligne :

      $oFCKeditor->Config['DefaultLanguage'] = $GLOBALS['auteur_session']['lang'] ; // spip language

      Si ça ne marche pas, tu peux toujours modifier cette ligne en :

      $oFCKeditor->Config['DefaultLanguage'] = 'fr' ;

    • J’ai effectué la modification comme tu me l’as indiqué : ça marche !

      Merci beaucoup !

    • FckEditor 6.4b se met en Anglais par défaut à cause de la ligne du dessus, il suffit de remettre à ’true’ pour avoir l’intrface en Français.

      $oFCKeditor->Config[’AutoDetectLanguage’] = false ;

      $oFCKeditor->Config[’DefaultLanguage’] = $GLOBALS[’auteur_session’][’lang’] ; // spip language

    Répondre à ce message

  • 3

    Merci pour le fix !

    Une amélioration (ambitieuse) de ce plugin serait de créer une compatibilité entre les raccourcis Spip et l’affichage Wysiwyg — par exemple un lien spip serait affiché comme une URL, de même pour le gras & Italique. Enfin de toutes manières, l’approche Wysiwyg et l’approche de typographie Spip seront toujours un peu antagonistes, mais ce plugin a au moins le mérite de proposer une alternative aux fans de ces deux approches !

    Merci,

    Edouard

    • Je ne suis pas sur de comprendre ce que tu voudrais...

      Tu voudrais, taper dans l’éditeur xhtml, de liens sous la forme : [titre->lien] et qu’ils soient correctement interprété ?

    • non, je pense qu’il parle de ré-interprétation de l’affichage.
      que les raccourcis spip s’affichent comme fck les affichent par défaut

      enfin c’est mon interprétation

    • Mais ce problème ne se pose que pour les liens entrés via l’éditeur SPIP et modifiés dans l’éditeurs xHTML (pour les autres, il me semble plus pratique d’utiliser la boite de dialogue de spip-fck), donc normalement pas souvent. Je pense qu’il vaudrai mieux quand on utilise l’éditeur xhtml pour éditer une page contenant des raccourcis spip, la traduire en xhtml et l’éditer ensuite via fck.

    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