Plugin Rédacteur Public

Attention, cette contribution est EN CHANTIER : elle n’est peut-être pas fonctionnelle.

Attention ! Cette contribution modifie des fichiers du noyau de SPIP !

Même si elle a été testée par plusieurs utilisateurs nous ne pouvons garantir qu’il n’y aura pas d’effets secondaires dommageables sur votre SPIP. Conservez toujours les fichiers d’origine pour pouvoir revenir au noyau originel.

De plus, elle n’est compatible qu’avec une version précise de SPIP et sera perdue à la prochaine mise à jour : vous devrez donc recommencer.

Ce plugin permet aux visiteurs du site dument enregistrés d’écrire un article depuis l’espace public (sans passer par l’espace privé) et de le valider par e-mail.

Quand il est activé, le plugin génère sur chaque page de rubrique :
-  un formulaire de saisie d’article si le visiteur est déjà identifié,
-  un formulaire d’identification invitant à écrire un article si le visiteur est anonyme.

Compatibilité :

Ce plugin fonctionne sur la version 1.9.2 beta 3 (8159) et a été testé
-  sous Mac OSX (Safari, Firefox, Flock, Opera).
-  sous Linux (Konqueror 3.5.5 et FF 1.5)

Merci aux windowsiens de nous dire s’ils ont d’éventuels soucis.

Il est compatible avec le multilinguisme (sous la réserve bien-sûr de traduire les textes dans la langue souhaitée).

L’objectif

-  Permettre aux visiteurs d’un site d’écrire un article sans passer par l’interface privée.
-  Permettre la publication immédiate de l’article par le visiteur/rédacteur grâce à une validation par mail de l’article.

Fichiers utilisés

formulaire/formulaire_redacteur.html et le fichier balise correspondant balise/formulaire_redacteur_php. Ils servent à gérer la nouvelle balise #FORMULAIRE_REDACTEUR placée dans le fichier rubrique.html inclus dans le plugin.

formulaire/formulaire_redacteur_previsu.html qui permet de prévisualiser l’article avant de l’envoyer au site. Des messages d’erreur existent, sur le même mode que pour les forums, dans la dist [1] de SPIP.

formulaire/formulaire_login.html qui remplace le fichier de même nom de la dist., uniquement pour des raisons de contenu des messages affichés.

public/assembler.php qui remplace le fichier de même nom de la dist, suite à l’ajout d’une variable $ecrire_confirm dans la fonction public_assembler_dist.

lang/spip.fr.php qui remplace le fichier de même nom de la dist., suite à la modification du texte de ’pass_forum_bla’.

lang/local.fr.php qui contient tous les messages propres au plugin.

plugin.xml...

Mise en place

Par ftp
-  Créez un répertoire « plugins » à la racine de votre site s’il n’en existe pas déjà un.
-  Placez le dossier redacteur_public (zip joint) dans le répertoire plugins.

Dans l’interface privée du site
-  Bouton Configuration>gestion des plugins : activer le plugin.
-  C’est tout.... et ça doit marcher. [2]

Tests

Ce plugin a été testé avec succès avec Safari et Firefox sur Mac. Merci de faire part via ce forum des problèmes rencontrés avec d’autres navigateurs (ou de l’absence de problème, ça fait toujours plaisir de savoir que ça marche).

Compléments d’infos suite aux premières remarques lues en espace privé

1. A quoi ça peut servir ? Le plugin permet, par exemple, à un site d’autoriser n’importe quel visiteur à écrire sans pour autant avoir accès à l’espace privé. L’article ne sera pas modéré à priori mais pourra toujours l’être à posteriori. L’obligation pour le rédacteur de s’identifier préalablement comme visiteur permet au site de conserver sa trace (au minimum par l’email). Cela permettra de le contacter si nécessaire. L’auteur validant lui-même son article par retour d’un mail qui lui est adressé par le site, la méthode permet d’être certain qu’il n’y a pas usurpation d’identité (l’auteur est nécessairement celui qui reçoit le mail de validation).?

2. Article publié ou article modéré ? En l’état du plugin, le retour de mail provoque, dans la table articles, la modification du champ statut en « publie ». Le retour pourrait aussi provoquer une modification du même champ en « prepa », auquel cas l’article serait proposé à la publication dans l’espace privé. On pourrait imaginer une option affichable dans l’espace privé pour choisir un mode de modération lors de la mise en place du plugin. Si quelqu’un veut le faire...

Notes

[1NDLR : la « dist » est le squelette par défaut de la distribution standard de SPIP

[2Pour mémoire la procédure complète d’installation du plugin : Comme tous les autres plugins, cf. http://www.spip.net/fr_article3396.html

Notas Spip-contrib: :
-  un plugin en phase de test comme il est précisé dans l’article, donc non complètement bordé, mais publié malgré tout justement pour faciliter sa mise au point ... cf. l’appel de l’auteur à utiliser ce forum.
-  Il est signalé que ce plugin « force » un fichier du cœur de SPIP (public/assembler.php) ce qui nécessite le suivi de celui-ci lors des mises à jour de SPIP, et de comprendre les éventuelles implications sur l’aspect sécurité... test

Discussion

16 discussions

  • 1
    Julien Redondo

    Bonjour,

    J’ai installé le plugin et tt fonctionne très bien.
    J’ai juste un problème.
    Quand je valide le mail pour publier l’article, j’obtiens bien la confirmation que mon article a été publié mais tant que je ne recalcule pas la page, l’article n’apparaît pas.

    Comment faire pour que l’article s’affiche directement sans avoir besoin de la recalculer.

    merci d’avance et bon boulot.

    • Je regrette d’être surbooké en ce moment et je n’ai pas de temps pour chercher la réponse. Regarde le code si tu peux t’en sortir. QUelle version de SPip utilises tu ? Le plugin a intialement été développé pour la 1.9.1 et il faudrait vérfier que la gestion du cache n’ait pas été modifiée depuis. Quand je testais le plugin, le raffrichissement de la page était automatique...

      Il doit être facile de forcer le recalcul de la page. SI quelqu’un veut s’y mettre, il est le bienvenu !

    Répondre à ce message

  • 1

    J’ai essayé la connexion. Son gentil. Il serait gentil si des documents pourraient également être téléchargés. Je l’ai employé avec Firefox et Windows. J’ai reçu un message « technique de probleme de redacteur » quand j’ai essayé d’envoyer un article.

    • Pourrais tu être plus clair... Je ne saisis pas ce que tu demandes...

      perig

    Répondre à ce message

  • 2

    Merci pour ce plugin, très interressant, mais existe-il une solution permettant à l’utilisateur d’insérer un logo d’article ?

    • Ce n’est pas intégré pour l’heure dans le plugin et je ne me suis pas penché sur la question. Ce serait utile, c’est évident. Si quelqu’un veut s’y mettre...

    • cecile

      Bonjour j’aimerai savoir si l’insertion du logo de l’article a été implémenté.
      merci

    Répondre à ce message

  • 2

    Bonjour,

    J ai installé le plugin .... tout va bien ... mais maintenant que faut-il ajouter aux squelletes ?

    Personnelement j’utilise un jeu de squelette perso dont les noms des fichiers ne correspondent pas à rubrique, article etc etc comme dans le repertoire DIST

    Je ne vois donc pas apparaître de formulaire ds l’espace public

    merci d’avance

    • Le plugin est conu pour fonctionner sur le pages rubriques. C’est pourquoi il est livré avec une page rubrique identique à celle de la DIST sauf que j’y ai ajouté la balise d’appel du formulaire : #FORMULAIRE_REDACTEUR.

      Dans votre cas personnel, il doit suffire de placer la balise #FORMULAIRE_REDACTEUR dans vos pages personelles correspondant à un appel de rubrique, et ça devrait fonctionner.

      Tenez moi au courant.

      PLF

      Un exemple de fonctionnement standard ici

    • Ne cliquez plus sur le lien ci-dessus car j’ai retiré le plugin de ce site après avoir consaté un bug.

      Après 2 publications sans problèmes depuis l’espace public, la publication d’un troisième article ne fonctionne plus... et les tentatives demeurent infructueuses à la suite.

      Je n’ai pas le temps pour l’instant de rechercher la cause du problème. Peut-être un souci lié au passage à la version 1.9.2 (le problème, à ma connaisaance, ne s’est pas posé avec la 1.9.1).

      Donc avis à tous : méfiez-vous avec la 1.9.2.. Si quelqu’un veut s’atteler à la résolution du bug, il est le bienvenu. Je m’y mettrais dès que possible...

      Perig

    Répondre à ce message

  • 5

    Je viens de le tester avec konqueror 3.5.5 et FF 1.5 dans un environnement Linux et cela fonctionne bien.

    Je suis vraiment intéressé par ce plugin car je met en place le site d’un réseau d’indivdus ( plus d’une centaine) où chacun pourra déposer des textes sans passer par l’espace privé et ces textes soient visible sur la partie publique directement. Ce plugin rempli vraiment toutes ces conditions.

    J’aimerais même le simplifier en me passant de la confirmation par mail, je vais donc me pencher sur le code même si je n’ai que de vague connaissance en php.
    Si tu pouvais m’indiquer comment faire cela car je crains de galérer un petit peu.

    Merci

    • Pour ne pas passer par une validation par mail, tout est dans le fichier balise.php.
      Pour faire au plus simple, si, dans la fonction test_pass(), si tu donnes à la variable $passw la valeur « publie », ton article sera immédiatement publié. Par contre l’envoi de la mail continuera de se faire. Tu pourrais dans ce cas modifier le contenu de la mail pour simplement informer l’auteur que son article a bien été publié... Est-ce utile ? Sans doute que non ! L’envoi de la mail doit pouvoir être inhibé en supprimant include_spip(’inc/mail’) ; (ligne 322). A toi de vérifier et d’affiner.

      Prends tout cela pour des indication rapides. Je n’ai pas trop le temps de regarder de plus près (d’autant que moi, je tiens à la mail). Pour autant, si tu fais quelque chose qui marche comme tu veux, fais en profiter les autres.

      Perig

    • Bonjour, et bravo pour cette contrib ! ;-)

      j ai essayé la manip dans la fonction test_pass, sans succés...
      j ai fait les modifs suivantes :

      function test_pass()
      include_spip(’inc/acces’) ;
      for ( ; ;)
      $passw = creer_pass_aleatoire() ;
      if (!spip_num_rows(spip_abstract_select(’statut’, ’spip_articles’, « statut=’$passw’ »)))
      return « propose » ;

      a noter que j’ai mis « propose » car je souhaite que l’article soit proposé a la publication et pas directement publié...

      Aurais tu une piste sur ce qui ne vas pas perig ?

      Merci d’avance

    • pour info, pour ne pas que l article soit publié de suite mais reste en statut propose, il faut modifier dans formulaire_redacteur.php cette ligne :

      spip_query(« UPDATE spip_articles SET statut=’prop’, date_redac=NOW() WHERE statut=’$ecrire_confirm’ ») ;

      j ai mis prop au lieu de publie tout simplement...

      je creuse pour eviter la confirmation par mail...

    • Si je te suis bien, tes modifs permettent donc de publier avec le statut « proposé ». Tout semble ok de ce côté là ?

      Désolé de surveiller ce forum avec un peu de décalage, mais j’ai un emploi du temps un peu chargé...

    • oui l’article se retrouve en statut « proposé » dans l’interface privé.
      je cherche maintenant un moyen que ceci se fasse sans la confirmation par mail...
      (si ta s une piste je veux bien, la suppression de inc-mail ne changeant rien..)

      enfin ma derniere modif souhaitée serait de donner la possibilité au redacteur de choisir la rubrique ou poster son message (via chois dans un menu déroulant..)

      et là j obtiendrai le plugin de « mes reves » ;-)
      je tiendrai biensur au courant des avancés ! merci pour ton plugin en tout cas

    Répondre à ce message

  • 2

    Bonjour,

    Est-il possible de ne donner la possibilité de rédiger de manière public, dans une seule rubrique du site ?

    @bientôt,
    Olivier

    • C’est sans problème et indépendant du plugin lui-même. Il te suffit de conserver la page rubrique.html de la dist pour tes pages habituelles (ou celles de ta propre maquette si tu en as une).

      La page rubrique.html livrée avec le plugin contient la balise d’appel du formulaire. Tu la renommes rubrique-XX.html et le tour est joué (XX étant le numéro de la rubrique où tu veux utiliser le plugin). Merci spip.

    • Bonjour,

      Merci pour la réponse ... rapide et précise.
      C’est génial, ce plugin va beaucoup me plaire.

      Bonne continuation et à bientôt,
      Olivier

    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